]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_disambiguation/disambiguate.mli
added support for multi-aliases in disambiguation environment(s)
[helm.git] / helm / ocaml / cic_disambiguation / disambiguate.mli
index 6f74c23c0ab674bcf213a60992e4544c0574ff55..10b1c7633dfede3a24ebe3b8d8f51496f334e712 100644 (file)
@@ -29,33 +29,43 @@ exception NoWellTypedInterpretation
 exception PathNotWellFormed
 
 val interpretate_path :
-  context:Cic.name list -> env:DisambiguateTypes.environment ->
-  DisambiguateTypes.term ->
+  context:Cic.name list -> DisambiguateTypes.term ->
     Cic.term
 
+  (** @param multi true if multi aliases are used, false otherwise *)
+type aliases = bool * DisambiguateTypes.environment
+
 module type Disambiguator =
 sig
+  (** @param fresh_instances when set to true fresh instances will be generated
+   * for each number _and_ symbol in the disambiguation domain. Instances of the
+   * input AST will be ignored. Defaults to false. *)
   val disambiguate_term :
+    ?fresh_instances:bool ->
     dbd:Mysql.dbd ->
     context:Cic.context ->
     metasenv:Cic.metasenv ->
     ?initial_ugraph:CicUniv.universe_graph -> 
-    aliases:DisambiguateTypes.environment ->(* previous interpretation status *)
+    aliases:aliases ->               (* previous interpretation status *)
     DisambiguateTypes.term ->
     (DisambiguateTypes.environment * (* new interpretation status *)
      Cic.metasenv *                  (* new metasenv *)
      Cic.term *
-     CicUniv.universe_graph) list    (* disambiguated term *)
+     CicUniv.universe_graph) list *  (* disambiguated term *)
+    bool  (* has interactive_interpretation_choice been invoked? *)
 
+  (** @param fresh_instances as per disambiguate_term *)
   val disambiguate_obj :
+    ?fresh_instances:bool ->
     dbd:Mysql.dbd ->
-    aliases:DisambiguateTypes.environment ->(* previous interpretation status *)
+    aliases:aliases ->               (* previous interpretation status *)
     uri:UriManager.uri option ->     (* required only for inductive types *)
     GrafiteAst.obj ->
     (DisambiguateTypes.environment * (* new interpretation status *)
      Cic.metasenv *                  (* new metasenv *)
      Cic.obj *
-     CicUniv.universe_graph) list    (* disambiguated obj *)
+     CicUniv.universe_graph) list *  (* disambiguated obj *)
+    bool  (* has interactive_interpretation_choice been invoked? *)
 end
 
 module Make (C : DisambiguateTypes.Callbacks) : Disambiguator