X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Ftactics%2FprimitiveTactics.ml;h=e318bd87c562c31547208b944565c1200a1cee1c;hb=a864255e782859e2b3b7da08297f5d3fe2ee710d;hp=2d741f1d1c317a72cfcf62d9b25be6f4cf88f496;hpb=2697b6b76d4a2449ac9ad6657128c0cc3d90ac65;p=helm.git diff --git a/helm/ocaml/tactics/primitiveTactics.ml b/helm/ocaml/tactics/primitiveTactics.ml index 2d741f1d1..e318bd87c 100644 --- a/helm/ocaml/tactics/primitiveTactics.ml +++ b/helm/ocaml/tactics/primitiveTactics.ml @@ -72,7 +72,11 @@ let eta_expand metasenv context t arg = | C.Var (uri,exp_named_subst) -> let exp_named_subst' = aux_exp_named_subst n exp_named_subst in C.Var (uri,exp_named_subst') - | C.Meta _ + | C.Meta (i,l) -> + let l' = + List.map (function None -> None | Some t -> Some (aux n t)) l + in + C.Meta (i, l') | C.Sort _ | C.Implicit _ as t -> t | C.Cast (te,ty) -> C.Cast (aux n te, aux n ty) @@ -326,7 +330,9 @@ let apply_tac ~term (proof, goal) = in let newmetasenv'' = new_uninstantiatedmetas@old_uninstantiatedmetas in let (newproof, newmetasenv''') = - let subst_in = CicMetaSubst.apply_subst ((metano,bo')::subst) in + let subst_in = + CicMetaSubst.apply_subst ((metano,(context, bo'))::subst) + in subst_meta_and_metasenv_in_proof proof metano subst_in newmetasenv'' in @@ -501,7 +507,7 @@ let elim_tac ~term = C.Appl (eliminator_ref :: make_tl term (args_no - 1)) in let metasenv', term_to_refine' = - CicMkImplicit.expand_implicits metasenv context term_to_refine in + CicMkImplicit.expand_implicits metasenv [] context term_to_refine in let refined_term,_,metasenv'' = CicRefine.type_of_aux' metasenv' context term_to_refine' in