]> matita.cs.unibo.it Git - helm.git/blobdiff - components/tactics/proofEngineTypes.ml
added support for "polymorphic" coercions
[helm.git] / components / tactics / proofEngineTypes.ml
index 68ea561f97988aa81c1cd614d66476971c227111..4eb043ca8aad49ad63754c8abf2c4e17f14bbc9b 100644 (file)
@@ -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,bo,ty,[],[]))
+  with
+  | Cic.CurrentProof (_,metasenv,bo,ty,_,_) -> 
+      (uri,metasenv,bo,ty), gl
+  | _ -> assert false
+;;
 
   (** constraint: the returned value will always be constructed by Cic.Name **)
 type mk_fresh_name_type =