X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Ftactics%2FnegationTactics.ml;h=65fe892fa61a09aa161226ddc135708ff0a52d21;hb=a6fc115fd7d4cfba94a43f001f4c27322d3db1a8;hp=fc21ec4052e1348be930f66520740d6241d34410;hpb=d651bf2e3d560e194fbe948dd950dd600a40eab6;p=helm.git diff --git a/helm/ocaml/tactics/negationTactics.ml b/helm/ocaml/tactics/negationTactics.ml index fc21ec405..65fe892fa 100644 --- a/helm/ocaml/tactics/negationTactics.ml +++ b/helm/ocaml/tactics/negationTactics.ml @@ -24,7 +24,8 @@ *) -let absurd_tac ~term ~status:((proof,goal) as status) = +let absurd_tac ~term status = + let (proof, goal) = status in let module C = Cic in let module U = UriManager in let module P = PrimitiveTactics in @@ -32,12 +33,12 @@ let absurd_tac ~term ~status:((proof,goal) as status) = let _,context,ty = CicUtil.lookup_meta goal metasenv in if ((CicTypeChecker.type_of_aux' metasenv context term) = (C.Sort C.Prop)) (* ma questo controllo serve?? *) then P.apply_tac - ~term:(C.Appl [(C.Const (HelmLibraryObjects.Logic.absurd_URI , [] )) ; term ; ty]) ~status + ~term:(C.Appl [(C.Const (HelmLibraryObjects.Logic.absurd_URI , [] )) ; term ; ty]) status else raise (ProofEngineTypes.Fail "Absurd: Not a Proposition") ;; -let contradiction_tac ~status = +let contradiction_tac status = let module C = Cic in let module U = UriManager in let module P = PrimitiveTactics in @@ -52,7 +53,7 @@ let contradiction_tac ~status = ~term: (C.MutInd (HelmLibraryObjects.Logic.false_URI, 0, []))) ~continuation: VariousTactics.assumption_tac) - ~status + status with (ProofEngineTypes.Fail "Assumption: No such assumption") -> raise (ProofEngineTypes.Fail "Contradiction: No such assumption") (* sarebbe piu' elegante se Assumtion sollevasse un'eccezione tutta sua che questa cattura, magari con l'aiuto di try_tactics *) @@ -60,13 +61,13 @@ let contradiction_tac ~status = (* Questa era in fourierR.ml (* !!!!! fix !!!!!!!!!! *) -let contradiction_tac ~status:(proof,goal)= +let contradiction_tac (proof,goal)= Tacticals.then_ ~start:(PrimitiveTactics.intros_tac ~name:"bo?" ) (*inutile sia questo che quello prima della chiamata*) ~continuation:(Tacticals.then_ ~start:(VariousTactics.elim_type_tac ~term:_False) ~continuation:(assumption_tac)) - ~status:(proof,goal) + (proof,goal) ;; *)