]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/components/ng_tactics/nTacStatus.mli
Stuff moved from old Matita.
[helm.git] / matita / components / ng_tactics / nTacStatus.mli
diff --git a/matita/components/ng_tactics/nTacStatus.mli b/matita/components/ng_tactics/nTacStatus.mli
new file mode 100644 (file)
index 0000000..5616794
--- /dev/null
@@ -0,0 +1,132 @@
+(*
+    ||M||  This file is part of HELM, an Hypertextual, Electronic        
+    ||A||  Library of Mathematics, developed at the Computer Science     
+    ||T||  Department, University of Bologna, Italy.                     
+    ||I||                                                                
+    ||T||  HELM is free software; you can redistribute it and/or         
+    ||A||  modify it under the terms of the GNU General Public License   
+    \   /  version 2 or (at your option) any later version.      
+     \ /   This software is distributed as is, NO WARRANTY.     
+      V_______________________________________________________________ *)
+
+(* $Id: nCic.ml 9058 2008-10-13 17:42:30Z tassi $ *)
+
+exception Error of string lazy_t * exn option
+val fail: ?exn:exn -> string lazy_t -> 'a
+
+class type g_pstatus =
+ object
+  inherit NEstatus.g_status
+  method obj: NCic.obj
+ end
+
+class pstatus :
+ NCic.obj ->
+  object ('self)
+   inherit NEstatus.status
+   method obj: NCic.obj
+   method set_obj: NCic.obj -> 'self
+   method set_pstatus: #g_pstatus -> 'self
+  end
+
+type tactic_term = CicNotationPt.term Disambiguate.disambiguator_input
+type tactic_pattern = GrafiteAst.npattern Disambiguate.disambiguator_input
+
+type cic_term 
+val ctx_of : cic_term -> NCic.context
+val term_of_cic_term : 
+ #pstatus as 'status -> cic_term -> NCic.context -> 'status * NCic.term
+
+val mk_cic_term : NCic.context -> NCic.term -> cic_term
+val disambiguate:
+ #pstatus as 'status -> NCic.context -> tactic_term -> cic_term option ->
+  'status * cic_term (* * cic_term XXX *)
+
+val analyse_indty: 
+ #pstatus as 'status -> cic_term -> 
+  'status * (NReference.reference * int * NCic.term list * NCic.term list)
+
+val ppterm: #pstatus -> cic_term -> string
+val ppcontext: #pstatus -> NCic.context -> string
+val whd: 
+ #pstatus as 'status -> ?delta:int -> NCic.context -> cic_term -> 
+  'status * cic_term 
+val normalize: 
+ #pstatus as 'status -> ?delta:int -> NCic.context -> cic_term ->
+  'status * cic_term 
+val typeof: 
+ #pstatus as 'status -> NCic.context -> cic_term -> 'status * cic_term
+val unify: 
+ #pstatus as 'status -> NCic.context -> cic_term -> cic_term -> 'status
+val refine: 
+ #pstatus as 'status -> NCic.context -> cic_term -> cic_term option -> 
+  'status * cic_term * cic_term (* status, term, type *)
+val apply_subst:
+ #pstatus as 'status -> NCic.context -> cic_term -> 'status * cic_term
+val apply_subst_context :
+  #pstatus -> fix_projections:bool -> NCic.context -> NCic.context
+val fix_sorts: #pstatus as 'status -> cic_term -> 'status * cic_term
+val saturate :
+ #pstatus as 'status -> ?delta:int -> cic_term -> 'status * cic_term * cic_term list
+val metas_of_term : #pstatus as 'status -> cic_term -> int list
+
+val get_goalty: #pstatus -> int -> cic_term
+val get_subst: #pstatus -> NCic.substitution
+val mk_meta: 
+ #pstatus as 'status -> ?attrs:NCic.meta_attrs -> NCic.context ->
+   [ `Decl of cic_term | `Def of cic_term ] -> NCicUntrusted.meta_kind ->
+     'status * cic_term
+val instantiate: #pstatus as 'status -> int -> cic_term -> 'status
+val instantiate_with_ast: #pstatus as 'status -> int -> tactic_term -> 'status
+
+val select_term:
+ #pstatus as 'status -> 
+  found: ('status -> cic_term -> 'status * cic_term) ->
+  postprocess: ('status -> cic_term -> 'status * cic_term) ->
+  cic_term -> tactic_term option * NCic.term ->
+    'status * cic_term
+
+val mk_in_scope: #pstatus as 'status -> cic_term -> 'status * cic_term
+val mk_out_scope:
+ int -> (#pstatus as 'status) -> cic_term -> 'status * cic_term
+
+class type ['stack] g_status =
+ object
+  inherit g_pstatus
+  method stack: 'stack
+ end
+
+class ['stack] status :
+ NCic.obj -> 'stack ->
+  object ('self)
+   inherit pstatus
+   method stack: 'stack
+   method set_stack: 'stack -> 'self
+   method set_status: 'stack #g_status -> 'self
+  end
+
+class type lowtac_status = [unit] status
+
+type 'status lowtactic = #lowtac_status as 'status -> int -> 'status
+
+class type tac_status = [Continuationals.Stack.t] status
+
+val pp_tac_status: #tac_status -> unit
+
+type 'status tactic = #tac_status as 'status -> 'status
+
+(* indexing facilities over cic_term based on inverse De Bruijn indexes *)
+
+module NCicInverseRelIndexable : Discrimination_tree.Indexable
+with type input = cic_term and type constant_name = NUri.uri 
+
+module Ncic_termSet : Set.S with type elt = cic_term
+
+module InvRelDiscriminationTree : Discrimination_tree.DiscriminationTree 
+with type constant_name = NCicInverseRelIndexable.constant_name
+and type input = NCicInverseRelIndexable.input
+and type data = Ncic_termSet.elt and type dataset = Ncic_termSet.t
+
+val debug : bool ref
+
+(* end *)