X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Ftactics%2FequalityTactics.ml;h=5a091b7ad895cb196243c9d96c0394e8330fe1f3;hb=db57b08d789de234c152c3f2a665000311b7335d;hp=94cb0624bacd7911e184631750ef5fb97b7bc3a4;hpb=d1126c6b78a3333bbf415daf027004496b77c2f4;p=helm.git diff --git a/helm/ocaml/tactics/equalityTactics.ml b/helm/ocaml/tactics/equalityTactics.ml index 94cb0624b..5a091b7ad 100644 --- a/helm/ocaml/tactics/equalityTactics.ml +++ b/helm/ocaml/tactics/equalityTactics.ml @@ -47,7 +47,7 @@ let rewrite_tac ~direction ~pattern equality = CicUniv.empty_ugraph in let (ty_eq,metasenv',arguments,fresh_meta) = ProofEngineHelpers.saturate_term - (ProofEngineHelpers.new_meta_of_proof proof) metasenv context ty_eq in + (ProofEngineHelpers.new_meta_of_proof proof) metasenv context ty_eq 0 in let equality = if List.length arguments = 0 then equality @@ -62,7 +62,7 @@ let rewrite_tac ~direction ~pattern equality = in let eq_ind = C.Const (ind_uri uri,[]) in if_right_to_left (eq_ind, ty, t2, t1) (eq_ind, ty, t1, t2) - | _ -> raise (PET.Fail "Rewrite: argument is not a proof of an equality") in + | _ -> raise (PET.Fail (lazy "Rewrite: argument is not a proof of an equality")) in (* now we always do as if direction was `LeftToRight *) let fresh_name = FreshNamesGenerator.mk_fresh_name @@ -152,7 +152,7 @@ let replace_tac ~pattern ~with_what = metasenv context with_what CicUniv.empty_ugraph in let whats = match selected_terms_with_context with - [] -> raise (ProofEngineTypes.Fail "Replace: no term selected") + [] -> raise (ProofEngineTypes.Fail (lazy "Replace: no term selected")) | l -> List.map (fun (context_of_t,t) -> @@ -173,7 +173,7 @@ let replace_tac ~pattern ~with_what = (*CSC: we could implement something stronger by completely changing the semantics of the tactic *) raise (ProofEngineTypes.Fail - "Replace: one of the selected terms is not closed") in + (lazy "Replace: one of the selected terms is not closed")) in let ty_of_t_in_context,u = (* TASSI: FIXME *) CicTypeChecker.type_of_aux' metasenv context t_in_context CicUniv.empty_ugraph in @@ -186,7 +186,7 @@ let replace_tac ~pattern ~with_what = else raise (ProofEngineTypes.Fail - "Replace: one of the selected terms and the term to be replaced with have not convertible types") + (lazy "Replace: one of the selected terms and the term to be replaced with have not convertible types")) ) l in let rec aux n whats status = match whats with @@ -255,7 +255,7 @@ let symmetry_tac = ~term: (C.Const (LibraryObjects.sym_eq_URI uri, []))) (proof,goal) - | _ -> raise (ProofEngineTypes.Fail "Symmetry failed") + | _ -> raise (ProofEngineTypes.Fail (lazy "Symmetry failed")) in ProofEngineTypes.mk_tactic symmetry_tac ;; @@ -280,7 +280,7 @@ let transitivity_tac ~term = [PrimitiveTactics.exact_tac ~term ; T.id_tac ; T.id_tac]) status - | _ -> raise (ProofEngineTypes.Fail "Transitivity failed") + | _ -> raise (ProofEngineTypes.Fail (lazy "Transitivity failed")) in ProofEngineTypes.mk_tactic (transitivity_tac ~term) ;;