X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Ftactics%2FprimitiveTactics.ml;h=326d9e2c28a882c6eb4f5dcb1a398318d9b2636e;hb=b38de2d3fa8bbe346c59c18bbeb889f29e493f63;hp=2b505b79de725cdb87974c4d4d8622d3773f7fb6;hpb=7b922ad1f9832c1edb3acea8f0c910fa2c0c20e5;p=helm.git diff --git a/helm/ocaml/tactics/primitiveTactics.ml b/helm/ocaml/tactics/primitiveTactics.ml index 2b505b79d..326d9e2c2 100644 --- a/helm/ocaml/tactics/primitiveTactics.ml +++ b/helm/ocaml/tactics/primitiveTactics.ml @@ -37,13 +37,13 @@ exception WrongUriToVariable of string (* and [bo] = Lambda/LetIn [context].(Meta [newmeta]) *) (* So, lambda_abstract is the core of the implementation of *) (* the Intros tactic. *) -let lambda_abstract context newmeta ty mk_fresh_name = +let lambda_abstract metasenv context newmeta ty mk_fresh_name = let module C = Cic in let rec collect_context context = function C.Cast (te,_) -> collect_context context te | C.Prod (n,s,t) -> - let n' = mk_fresh_name context n ~typ:s in + let n' = mk_fresh_name metasenv context n ~typ:s in let (context',ty,bo) = collect_context ((Some (n',(C.Decl s)))::context) t in @@ -74,7 +74,7 @@ let eta_expand metasenv context t arg = C.Var (uri,exp_named_subst') | C.Meta _ | C.Sort _ - | C.Implicit as t -> t + | C.Implicit _ as t -> t | C.Cast (te,ty) -> C.Cast (aux n te, aux n ty) | C.Prod (nn,s,t) -> C.Prod (nn, aux n s, aux (n+1) t) | C.Lambda (nn,s,t) -> C.Lambda (nn, aux n s, aux (n+1) t) @@ -115,7 +115,8 @@ let eta_expand metasenv context t arg = T.type_of_aux' metasenv context arg in let fresh_name = - FreshNamesGenerator.mk_fresh_name context (Cic.Name "Heta") ~typ:argty + FreshNamesGenerator.mk_fresh_name + metasenv context (Cic.Name "Heta") ~typ:argty in (C.Appl [C.Lambda (fresh_name,argty,aux 0 t) ; arg]) @@ -321,7 +322,7 @@ let intros_tac let metano,context,ty = CicUtil.lookup_meta goal metasenv in let newmeta = new_meta_of_proof ~proof in let (context',ty',bo') = - lambda_abstract context newmeta ty mk_fresh_name_callback + lambda_abstract metasenv context newmeta ty mk_fresh_name_callback in let (newproof, _) = subst_meta_in_proof proof metano bo' [newmeta,context',ty'] @@ -338,7 +339,7 @@ let cut_tac let newmeta1 = new_meta_of_proof ~proof in let newmeta2 = newmeta1 + 1 in let fresh_name = - mk_fresh_name_callback context (Cic.Name "Hcut") ~typ:term in + mk_fresh_name_callback metasenv context (Cic.Name "Hcut") ~typ:term in let context_for_newmeta1 = (Some (fresh_name,C.Decl term))::context in let irl1 = @@ -370,7 +371,7 @@ let letin_tac let _ = CicTypeChecker.type_of_aux' metasenv context term in let newmeta = new_meta_of_proof ~proof in let fresh_name = - mk_fresh_name_callback context (Cic.Name "Hletin") ~typ:term in + mk_fresh_name_callback metasenv context (Cic.Name "Hletin") ~typ:term in let context_for_newmeta = (Some (fresh_name,C.Def (term,None)))::context in let irl =