]> matita.cs.unibo.it Git - helm.git/blobdiff - components/tactics/equalityTactics.ml
added a (for the moment) dummy field _subst to ProofengineTypes.proof.
[helm.git] / components / tactics / equalityTactics.ml
index f284a2d1d145dbdb6d2c49c6885098ae19904e9c..bd73865af94ffcf050498704a9be1be71543ff23 100644 (file)
@@ -44,7 +44,7 @@ let rec rewrite_tac ~direction ~pattern:(wanted,hyps_pat,concl_pat) equality =
  let _rewrite_tac status =
   assert (wanted = None);   (* this should be checked syntactically *)
   let proof,goal = status in
-  let curi, metasenv, pbo, pty, attrs = proof in
+  let curi, metasenv, _subst, pbo, pty, attrs = proof in
   let (metano,context,gty) = CicUtil.lookup_meta goal metasenv in
   let gsort,_ =
    CicTypeChecker.type_of_aux' metasenv context gty CicUniv.oblivion_ugraph in
@@ -196,7 +196,7 @@ let rec rewrite_tac ~direction ~pattern:(wanted,hyps_pat,concl_pat) equality =
   try 
     let (proof',goals) =
       PET.apply_tactic 
-        (tac ~term:exact_proof newtyp) ((curi,metasenv',pbo,pty, attrs),goal)
+        (tac ~term:exact_proof newtyp) ((curi,metasenv',_subst,pbo,pty, attrs),goal)
     in
     let goals =
      goals@(ProofEngineHelpers.compare_metasenvs ~oldmetasenv:metasenv
@@ -229,7 +229,7 @@ let replace_tac ~(pattern: ProofEngineTypes.lazy_pattern) ~with_what =
  let replace_tac ~(pattern: ProofEngineTypes.lazy_pattern) ~with_what status =
   let _wanted, hyps_pat, concl_pat = pattern in
   let (proof, goal) = status in
-  let uri,metasenv,pbo,pty, attrs = proof in
+  let uri,metasenv,_subst,pbo,pty, attrs = proof in
   let (_,context,ty) as conjecture = CicUtil.lookup_meta goal metasenv in
   assert (hyps_pat = []); (*CSC: not implemented yet *)
   let eq_URI =
@@ -246,7 +246,7 @@ let replace_tac ~(pattern: ProofEngineTypes.lazy_pattern) ~with_what =
   let with_what = CicMetaSubst.apply_subst subst with_what in
   let pbo = CicMetaSubst.apply_subst subst pbo in
   let pty = CicMetaSubst.apply_subst subst pty in
-  let status = (uri,metasenv,pbo,pty, attrs),goal in
+  let status = (uri,metasenv,_subst,pbo,pty, attrs),goal in
   let ty_of_with_what,u =
    CicTypeChecker.type_of_aux'
     metasenv context with_what CicUniv.empty_ugraph in
@@ -288,7 +288,7 @@ let replace_tac ~(pattern: ProofEngineTypes.lazy_pattern) ~with_what =
            (ProofEngineTypes.Fail
              (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 =
+  let rec aux n whats (status : ProofEngineTypes.status) =
    match whats with
       [] -> ProofEngineTypes.apply_tactic T.id_tac status
     | (what,lazy_pattern)::tl ->
@@ -313,7 +313,7 @@ let replace_tac ~(pattern: ProofEngineTypes.lazy_pattern) ~with_what =
                     ~start:(
                       ProofEngineTypes.mk_tactic
                        (function ((proof,goal) as status) ->
-                         let _,metasenv,_,_, _ = proof in
+                         let _,metasenv,_subst,_,_, _ = proof in
                          let _,context,_ = CicUtil.lookup_meta goal metasenv in
                          let hyps =
                           try
@@ -328,7 +328,7 @@ let replace_tac ~(pattern: ProofEngineTypes.lazy_pattern) ~with_what =
               T.id_tac])
          status
   and aux_tac n tl = ProofEngineTypes.mk_tactic (aux n tl) in
-   aux 0 whats status
+   aux 0 whats (status : ProofEngineTypes.status)
  in
    ProofEngineTypes.mk_tactic (replace_tac ~pattern ~with_what)
 ;;
@@ -342,7 +342,7 @@ let reflexivity_tac =
 
 let symmetry_tac =
  let symmetry_tac (proof, goal) =
-   let (_,metasenv,_,_, _) = proof in
+   let (_,metasenv,_subst,_,_, _) = proof in
     let metano,context,ty = CicUtil.lookup_meta goal metasenv in
      match (R.whd context ty) with
         (C.Appl [(C.MutInd (uri, 0, [])); _; _; _])
@@ -360,7 +360,7 @@ let symmetry_tac =
 let transitivity_tac ~term =
  let transitivity_tac ~term status =
   let (proof, goal) = status in
-   let (_,metasenv,_,_, _) = proof in
+   let (_,metasenv,_subst,_,_, _) = proof in
     let metano,context,ty = CicUtil.lookup_meta goal metasenv in
      match (R.whd context ty) with
         (C.Appl [(C.MutInd (uri, 0, [])); _; _; _])