X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Ftactics%2FnegationTactics.ml;h=8f05ae436bc450d4697cf4afc69e652b1db8c2dd;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=ee76921b23ff0729649bed6030e1fedeffae67a6;hpb=a9af753c66a80cb4f50f32e63272f3830cba306c;p=helm.git diff --git a/helm/ocaml/tactics/negationTactics.ml b/helm/ocaml/tactics/negationTactics.ml index ee76921b2..8f05ae436 100644 --- a/helm/ocaml/tactics/negationTactics.ml +++ b/helm/ocaml/tactics/negationTactics.ml @@ -41,11 +41,12 @@ let absurd_tac ~term = term ; ty]) ) status - else raise (ProofEngineTypes.Fail "Absurd: Not a Proposition") + else raise (ProofEngineTypes.Fail (lazy "Absurd: Not a Proposition")) in ProofEngineTypes.mk_tactic (absurd_tac ~term) ;; +(* FG: METTERE I NOMI ANCHE QUI? CSC: in teoria si', per la intros*) let contradiction_tac = let contradiction_tac status = let module C = Cic in @@ -60,12 +61,11 @@ let contradiction_tac = T.then_ ~start: (EliminationTactics.elim_type_tac - ~term: - (C.MutInd (LibraryObjects.false_URI (), 0, []))) + (C.MutInd (LibraryObjects.false_URI (), 0, []))) ~continuation: VariousTactics.assumption_tac)) status with - (ProofEngineTypes.Fail "Assumption: No such assumption") -> raise (ProofEngineTypes.Fail "Contradiction: No such assumption") + ProofEngineTypes.Fail msg when Lazy.force msg = "Assumption: No such assumption" -> raise (ProofEngineTypes.Fail (lazy "Contradiction: No such assumption")) (* sarebbe piu' elegante se Assumtion sollevasse un'eccezione tutta sua che questa cattura, magari con l'aiuto di try_tactics *) in ProofEngineTypes.mk_tactic contradiction_tac