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:
'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
'status * cic_term * cic_term (* status, term, type *)
val apply_subst:
#pstatus as 'status -> NCic.context -> cic_term -> 'status * cic_term
-val fix_sorts: cic_term -> 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 ->
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 *)