]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/components/ng_refiner/nCicCoercion.mli
Use of standard OCaml syntax
[helm.git] / matita / components / ng_refiner / nCicCoercion.mli
index 1094753cfb1ed5b3c942ceef1c2fc88d37a63d84..d2b3c7ae22ac660939d6ebd75e4fc1dd8517a81a 100644 (file)
 
 type db
 
-val set_convert_term:
- (UriManager.uri -> Cic.term -> NCic.term * NCic.obj list) -> unit
-
 class type g_status =
  object
   inherit NCicUnifHint.g_status
   method coerc_db: db
  end
 
-class status :
+class virtual status :
  object ('self)
-  inherit NCicUnifHint.status
   inherit g_status
-  method coerc_db: db
+  inherit NCicUnifHint.status
   method set_coerc_db: db -> 'self
   method set_coercion_status: #g_status -> 'self
  end
@@ -37,9 +33,12 @@ val empty_db: db
    index_coercion db c A B \arity_left(c ??x??) \position(x,??x??) 
 *)
 val index_coercion: 
-  #status as 'status -> string ->
+  (#status as 'status) -> string ->
    NCic.term -> NCic.term -> NCic.term -> int -> int -> 'status
 
+(* NOTE: the name of the coercion is used to sort coercions, thus 
+ * two coercions matching the same number of symbols are sorted 
+ * according to their name *)
 val look_for_coercion:
     #status ->
     NCic.metasenv -> NCic.substitution -> NCic.context ->