]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/tactics/equalityTactics.ml
s/List.find.../CicUtil.lookup_meta/
[helm.git] / helm / ocaml / tactics / equalityTactics.ml
index 3af6b861dd4ddafc15c18b0e8aff8d43ecba6bc6..48d5ea9a63e705780a49784989a59148d852c0b6 100644 (file)
@@ -28,7 +28,7 @@ let rewrite_tac ~term:equality ~status:(proof,goal) =
  let module C = Cic in
  let module U = UriManager in
   let curi,metasenv,pbo,pty = proof in
-  let metano,context,gty = List.find (function (m,_,_) -> m=goal) metasenv in
+  let metano,context,gty = CicUtil.lookup_meta goal metasenv in
    let eq_ind_r,ty,t1,t2 =
     match CicTypeChecker.type_of_aux' metasenv context equality with
        C.Appl [C.MutInd (uri,0,[]) ; ty ; t1 ; t2]
@@ -89,7 +89,7 @@ let rewrite_back_tac ~term:equality ~status:(proof,goal) =
  let module C = Cic in
  let module U = UriManager in
   let curi,metasenv,pbo,pty = proof in
-  let metano,context,gty = List.find (function (m,_,_) -> m=goal) metasenv in
+  let metano,context,gty = CicUtil.lookup_meta goal metasenv in
    let eq_ind_r,ty,t1,t2 =
     match CicTypeChecker.type_of_aux' metasenv context equality with
        C.Appl [C.MutInd (uri,0,[]) ; ty ; t1 ; t2]
@@ -154,7 +154,7 @@ let replace_tac ~what ~with_what ~status:((proof, goal) as status) =
   let module P = PrimitiveTactics in
   let module T = Tacticals in
    let _,metasenv,_,_ = proof in
-    let _,context,_ = List.find (function (m,_,_) -> m=goal) metasenv in
+    let _,context,_ = CicUtil.lookup_meta goal metasenv in
      let wty = CicTypeChecker.type_of_aux' metasenv context what in
       try
       if (wty = (CicTypeChecker.type_of_aux' metasenv context with_what))
@@ -200,7 +200,7 @@ let symmetry_tac ~status:(proof, goal) =
   let module R = CicReduction in
   let module U = UriManager in
    let (_,metasenv,_,_) = proof in
-    let metano,context,ty = List.find (function (m,_,_) -> m=goal) metasenv in
+    let metano,context,ty = CicUtil.lookup_meta goal metasenv in
      match (R.whd context ty) with
         (C.Appl [(C.MutInd (uri, 0, [])); _; _; _]) when (U.eq uri (U.uri_of_string "cic:/Coq/Init/Logic/eq.ind")) ->
          PrimitiveTactics.apply_tac ~status:(proof,goal)
@@ -220,7 +220,7 @@ let transitivity_tac ~term ~status:((proof, goal) as status) =
   let module U = UriManager in
   let module T = Tacticals in
    let (_,metasenv,_,_) = proof in
-    let metano,context,ty = List.find (function (m,_,_) -> m=goal) metasenv in
+    let metano,context,ty = CicUtil.lookup_meta goal metasenv in
      match (R.whd context ty) with
         (C.Appl [(C.MutInd (uri, 0, [])); _; _; _]) when (uri = (U.uri_of_string "cic:/Coq/Init/Logic/eq.ind")) ->
          T.thens