]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/ng_tactics/nTacStatus.mli
Bug fixed: restrict used to take the list of positions to be restricted, but
[helm.git] / helm / software / components / ng_tactics / nTacStatus.mli
index f32511265b3cd4c5c624e5317646fed2a1da31e4..ec9f7738aac7314fad72944c0d43a7cf145aacf7 100644 (file)
@@ -11,8 +11,8 @@
 
 (* $Id: nCic.ml 9058 2008-10-13 17:42:30Z tassi $ *)
 
-exception Error of string lazy_t
-val fail: string lazy_t -> 'a
+exception Error of string lazy_t * exn option
+val fail: ?exn:exn -> string lazy_t -> 'a
 
 class pstatus :
  NCic.obj ->
@@ -32,7 +32,7 @@ val term_of_cic_term :
 
 val mk_cic_term : NCic.context -> NCic.term -> cic_term
 val disambiguate:
- #pstatus as 'status -> tactic_term -> cic_term option -> NCic.context -> 
+ #pstatus as 'status -> NCic.context -> tactic_term -> cic_term option ->
   'status * cic_term (* * cic_term XXX *)
 
 val analyse_indty: 
@@ -40,6 +40,7 @@ val analyse_indty:
   '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 
@@ -55,13 +56,18 @@ val refine:
   'status * cic_term * cic_term (* status, term, type *)
 val apply_subst:
  #pstatus as 'status -> NCic.context -> cic_term -> 'status * cic_term
+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 mk_meta: 
- #pstatus as 'status -> ?name:string -> NCic.context ->
-   [ `Decl of cic_term | `Def of cic_term ] ->
+ #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 -> 
@@ -74,7 +80,7 @@ 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
 
-val pp_tac_status: #pstatus -> unit
+val pp_status: #pstatus -> unit
 
 class ['stack] status :
  NCic.obj -> 'stack ->
@@ -92,4 +98,18 @@ class type tac_status = [Continuationals.Stack.t] status
 
 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 *)