]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/components/ng_cic_content/interpretations.mli
Use of standard OCaml syntax
[helm.git] / matita / components / ng_cic_content / interpretations.mli
index 4b9fdae768c7e64385dbb71996535fce907a2795..b7114903976f38a117eec635a174e45f30b8a034 100644 (file)
@@ -36,16 +36,16 @@ class type g_status =
     method interp_db: db
   end
 
-class status :
+class virtual status :
   object ('self)
+    inherit g_status
     inherit NCicCoercion.status
-    method interp_db: db
     method set_interp_db: db -> 'self
     method set_interp_status: #g_status -> 'self
   end
 
 val add_interpretation:
-  #status as 'status ->
+  (#status as 'status) ->
   string ->                                       (* id / description *)
   string * NotationPt.argument_pattern list -> (* symbol, level 2 pattern *)
   NotationPt.cic_appl_pattern ->               (* level 3 pattern *)
@@ -62,7 +62,7 @@ val lookup_interpretations:
 
   (** {3 Interpretations toggling} *)
 
-val toggle_active_interpretations: #status as 'status -> bool -> 'status
+val toggle_active_interpretations: (#status as 'status) -> bool -> 'status
 
   (** {2 content -> cic} *)
 
@@ -75,13 +75,32 @@ val instantiate_appl_pattern:
   (string * 'term) list -> NotationPt.cic_appl_pattern ->
     'term
 
+val nmap_term:
+ #status ->
+  metasenv:NCic.metasenv -> subst:NCic.substitution -> context:NCic.context ->
+  NCic.term ->
+   NotationPt.term *
+   (Content.id, NReference.reference) Hashtbl.t    (* id -> reference *)
+
+val nmap_context:
+ #status ->
+  metasenv:NCic.metasenv -> subst:NCic.substitution ->
+  NCic.context ->
+   NotationPt.term Content.context *
+   (Content.id, NReference.reference) Hashtbl.t    (* id -> reference *)
+
 val nmap_sequent:
  #status -> metasenv:NCic.metasenv -> subst:NCic.substitution ->
   int * NCic.conjecture ->
    NotationPt.term Content.conjecture *
     (Content.id, NReference.reference) Hashtbl.t    (* id -> reference *)
 
-val nmap_obj:
+val nmap_cobj:
  #status -> NCic.obj ->
   NotationPt.term Content.cobj *
    (Content.id, NReference.reference) Hashtbl.t    (* id -> reference *)
+
+val nmap_obj:
+ #status -> NCic.obj ->
+  NotationPt.term NotationPt.obj *
+   (Content.id, NReference.reference) Hashtbl.t    (* id -> reference *)