]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/tactics/proofEngineTypes.ml
parameter sintax added to axiom statement
[helm.git] / helm / software / components / tactics / proofEngineTypes.ml
index abe460775b935a5271a6cda8a5deb8e1ac5a879f..c60b6fdc0080ae6fbbecfa238a2c215267d31c83 100644 (file)
@@ -28,7 +28,8 @@
   (**
     current proof (proof uri * metas * (in)complete proof * term to be prooved)
   *)
-type proof = UriManager.uri option * Cic.metasenv * Cic.substitution * Cic.term * Cic.term * Cic.attribute list
+type proof = 
+  UriManager.uri option * Cic.metasenv * Cic.substitution * Cic.term Lazy.t * Cic.term * Cic.attribute list
   (** current goal, integer index *)
 type goal = int
 type status = proof * goal
@@ -45,7 +46,8 @@ let initial_status ty metasenv attrs =
   let newmeta_idx = aux 0 metasenv in
   let _subst = [] in
   let proof =
-    None, (newmeta_idx, [], ty) :: metasenv, _subst, Cic.Meta (newmeta_idx, []), ty, attrs
+    None, (newmeta_idx, [], ty) :: metasenv, _subst, 
+    lazy (Cic.Meta (newmeta_idx, [])), ty, attrs
   in
   (proof, newmeta_idx)
 
@@ -76,13 +78,15 @@ type ('term, 'lazy_term) pattern =
 
 type lazy_pattern = (Cic.term, Cic.lazy_term) pattern
 
+let hole = Cic.Implicit (Some `Hole)
+
 let conclusion_pattern t =
   let t' = 
     match t with
     | None -> None
     | Some t -> Some (const_lazy_term t)
   in
-  t',[],Some (Cic.Implicit (Some `Hole))
+  t',[], Some hole
 
   (** tactic failure *)
 exception Fail of string Lazy.t