X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Ftactics%2FvariousTactics.ml;h=5563f206b057956509a4e973adfbabda1f907e66;hb=ac31c84bb9bcf327554976d4296d787853fc8db5;hp=bc7b52200fccd8b99961dd3a80f534b1cc849a4e;hpb=55b82bd235d82ff7f0a40d980effe1efde1f5073;p=helm.git diff --git a/helm/software/components/tactics/variousTactics.ml b/helm/software/components/tactics/variousTactics.ml index bc7b52200..5563f206b 100644 --- a/helm/software/components/tactics/variousTactics.ml +++ b/helm/software/components/tactics/variousTactics.ml @@ -38,7 +38,7 @@ let assumption_tac = let module R = CicReduction in let module S = CicSubstitution in let module PT = PrimitiveTactics in - let _,metasenv,_,_ = proof in + let _,metasenv,_subst,_,_, _ = proof in let _,context,ty = CicUtil.lookup_meta goal metasenv in let rec find n = function hd::tl -> @@ -46,15 +46,9 @@ let assumption_tac = (Some (_, C.Decl t)) when fst (R.are_convertible context (S.lift n t) ty CicUniv.empty_ugraph) -> n - | (Some (_, C.Def (_,Some ty'))) when + | (Some (_, C.Def (_,ty'))) when fst (R.are_convertible context (S.lift n ty') ty CicUniv.empty_ugraph) -> n - | (Some (_, C.Def (t,None))) -> - let ty_t, u = (* TASSI: FIXME *) - CicTypeChecker.type_of_aux' metasenv context (S.lift n t) - CicUniv.empty_ugraph in - let b,_ = R.are_convertible context ty_t ty u in - if b then n else find (n+1) tl | _ -> find (n+1) tl ) | [] -> raise (PET.Fail (lazy "Assumption: No such assumption")) @@ -83,7 +77,7 @@ let generalize_tac let module C = Cic in let module P = PrimitiveTactics in let module T = Tacticals in - let uri,metasenv,pbo,pty = proof in + let uri,metasenv,_subst,pbo,pty, attrs = proof in let (_,context,ty) as conjecture = CicUtil.lookup_meta goal metasenv in let subst,metasenv,u,selected_hyps,terms_with_context = ProofEngineHelpers.select ~metasenv ~ugraph:CicUniv.empty_ugraph @@ -157,7 +151,7 @@ let generalize_tac else u1 ) u terms_with_context) ; - let status = (uri,metasenv',pbo,pty),goal in + let status = (uri,metasenv',_subst,pbo,pty, attrs),goal in let proof,goals = PET.apply_tactic (T.thens @@ -177,7 +171,7 @@ let generalize_tac T.id_tac]) status in - let _,metasenv'',_,_ = proof in + let _,metasenv'',_subst,_,_, _ = proof in (* CSC: the following is just a bad approximation since a meta can be closed and then re-opened! *) (proof,