X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Ftactics%2FequalityTactics.ml;h=48d5ea9a63e705780a49784989a59148d852c0b6;hb=97790db29ad0dc3d31e61acc69894aa5e6109a9e;hp=3af6b861dd4ddafc15c18b0e8aff8d43ecba6bc6;hpb=17f33fa8cb65de1f3edcba6ac750bbdb4d061117;p=helm.git diff --git a/helm/ocaml/tactics/equalityTactics.ml b/helm/ocaml/tactics/equalityTactics.ml index 3af6b861d..48d5ea9a6 100644 --- a/helm/ocaml/tactics/equalityTactics.ml +++ b/helm/ocaml/tactics/equalityTactics.ml @@ -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