]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/cic_unification/coercGraph.mli
added a duplicated implementation of replace lifting
[helm.git] / helm / software / components / cic_unification / coercGraph.mli
index 62e4844997e72f73bc02ae8e0c99fecaaee7f264..711a1527d940c17fdb66b2c0acabc85c5eb1d967 100644 (file)
@@ -32,6 +32,7 @@ type coercion_search_result =
      (* to apply the coercion it is sufficient to unify the last coercion
         argument (that is a Meta) with the term to be coerced *)
   | SomeCoercion of (Cic.metasenv * Cic.term * Cic.term) list
+  | SomeCoercionToTgt of (Cic.metasenv * Cic.term * Cic.term) list
   | NoCoercion
   | NotMetaClosed
   | NotHandled of string Lazy.t
@@ -52,7 +53,13 @@ val source_of: Cic.term -> Cic.term
 
 val generate_dot_file: unit -> string
 
+(* given the Appl contents returns the argument of the head coercion *)
+val coerced_arg: Cic.term list -> Cic.term option
+
+(* returns: (carr,menv,(saturated coercion,last arg)option,idem) list *)
 val meets : 
+  Cic.metasenv -> Cic.substitution -> Cic.context ->
   CoercDb.coerc_carr -> CoercDb.coerc_carr -> 
-    CoercDb.coerc_carr list
+    (CoercDb.coerc_carr * Cic.metasenv * 
+      (Cic.term * Cic.term) option * (Cic.term * Cic.term) option) list