X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_tactics%2FnTacStatus.mli;h=416306c021f3021638d437361ddb4c81db1fd19b;hb=e8164f9de889435794efac0fa83fc7b9b766428f;hp=c7e3ea75e509f2c9290f5046aae8be14e5d811d9;hpb=f00757144b2cd7e6457fed55dbc1309d11a542dc;p=helm.git diff --git a/helm/software/components/ng_tactics/nTacStatus.mli b/helm/software/components/ng_tactics/nTacStatus.mli index c7e3ea75e..416306c02 100644 --- a/helm/software/components/ng_tactics/nTacStatus.mli +++ b/helm/software/components/ng_tactics/nTacStatus.mli @@ -14,12 +14,19 @@ 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 @@ -32,7 +39,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 +47,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,16 +63,24 @@ 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: cic_term -> 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 ] -> + [ `Decl of cic_term | `Def of cic_term ] -> NCicUntrusted.meta_kind -> 'status * cic_term -val instantiate: #pstatus as 'status -> int -> cic_term -> 'status + +(* default value for refine: true; you can use false if the term has already been refined with + the expected type for the meta (e.g. after a reduction tactic) *) +val instantiate: #pstatus as 'status -> ?refine:bool -> int -> cic_term -> 'status +val instantiate_with_ast: #pstatus as 'status -> int -> tactic_term -> 'status val select_term: #pstatus as 'status -> @@ -77,7 +93,11 @@ 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_status: #pstatus -> unit +class type ['stack] g_status = + object + inherit g_pstatus + method stack: 'stack + end class ['stack] status : NCic.obj -> 'stack -> @@ -85,6 +105,7 @@ class ['stack] status : inherit pstatus method stack: 'stack method set_stack: 'stack -> 'self + method set_status: 'stack #g_status -> 'self end class type lowtac_status = [unit] status @@ -93,6 +114,8 @@ 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 *)