X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Ftactics%2FproofEngineTypes.ml;h=b887c4bcd9a4ad03348d717d3c51dc4421be371e;hb=f191d93bf9aedec0b57ce1a452cab8d5d9abbd12;hp=68ea561f97988aa81c1cd614d66476971c227111;hpb=55b82bd235d82ff7f0a40d980effe1efde1f5073;p=helm.git diff --git a/helm/software/components/tactics/proofEngineTypes.ml b/helm/software/components/tactics/proofEngineTypes.ml index 68ea561f9..b887c4bcd 100644 --- a/helm/software/components/tactics/proofEngineTypes.ml +++ b/helm/software/components/tactics/proofEngineTypes.ml @@ -79,7 +79,7 @@ let conclusion_pattern t = let t' = match t with | None -> None - | Some t -> Some (fun _ m u -> t, m, u) + | Some t -> Some (const_lazy_term t) in t',[],Some (Cic.Implicit (Some `Hole)) @@ -87,11 +87,18 @@ let conclusion_pattern t = exception Fail of string Lazy.t (** - calls the opaque tactic on the status, restoring the original - universe graph if the tactic Fails + calls the opaque tactic on the status *) let apply_tactic t status = - t status + let (uri,metasenv,bo,ty), gl = t status in + match + CicRefine.pack_coercion_obj + (Cic.CurrentProof ("",metasenv,Cic.Rel ~-1,ty,[],[])) + with + | Cic.CurrentProof (_,metasenv,_,ty,_,_) -> + (uri,metasenv,bo,ty), gl + | _ -> assert false +;; (** constraint: the returned value will always be constructed by Cic.Name **) type mk_fresh_name_type =