2 ||M|| This file is part of HELM, an Hypertextual, Electronic
3 ||A|| Library of Mathematics, developed at the Computer Science
4 ||T|| Department, University of Bologna, Italy.
6 ||T|| HELM is free software; you can redistribute it and/or
7 ||A|| modify it under the terms of the GNU General Public License
8 \ / version 2 or (at your option) any later version.
9 \ / This software is distributed as is, NO WARRANTY.
10 V_______________________________________________________________ *)
12 (* $Id: nCic.ml 9058 2008-10-13 17:42:30Z tassi $ *)
14 exception Error of string lazy_t * exn option
15 val fail: ?exn:exn -> string lazy_t -> 'a
20 inherit NEstatus.status
22 method set_obj: NCic.obj -> 'self
25 type tactic_term = CicNotationPt.term Disambiguate.disambiguator_input
26 type tactic_pattern = GrafiteAst.npattern Disambiguate.disambiguator_input
29 val ctx_of : cic_term -> NCic.context
30 val term_of_cic_term :
31 #pstatus as 'status -> cic_term -> NCic.context -> 'status * NCic.term
33 val mk_cic_term : NCic.context -> NCic.term -> cic_term
35 #pstatus as 'status -> tactic_term -> cic_term option -> NCic.context ->
36 'status * cic_term (* * cic_term XXX *)
39 #pstatus as 'status -> cic_term ->
40 'status * (NReference.reference * int * NCic.term list * NCic.term list)
42 val ppterm: #pstatus -> cic_term -> string
44 #pstatus as 'status -> ?delta:int -> NCic.context -> cic_term ->
47 #pstatus as 'status -> ?delta:int -> NCic.context -> cic_term ->
50 #pstatus as 'status -> NCic.context -> cic_term -> 'status * cic_term
52 #pstatus as 'status -> NCic.context -> cic_term -> cic_term -> 'status
54 #pstatus as 'status -> NCic.context -> cic_term -> cic_term option ->
55 'status * cic_term * cic_term (* status, term, type *)
57 #pstatus as 'status -> NCic.context -> cic_term -> 'status * cic_term
58 val fix_sorts: cic_term -> cic_term
60 val get_goalty: #pstatus -> int -> cic_term
62 #pstatus as 'status -> ?name:string -> NCic.context ->
63 [ `Decl of cic_term | `Def of cic_term ] ->
65 val instantiate: #pstatus as 'status -> int -> cic_term -> 'status
68 #pstatus as 'status ->
69 found: ('status -> cic_term -> 'status * cic_term) ->
70 postprocess: ('status -> cic_term -> 'status * cic_term) ->
71 cic_term -> tactic_term option * NCic.term ->
74 val mk_in_scope: #pstatus as 'status -> cic_term -> 'status * cic_term
76 int -> (#pstatus as 'status) -> cic_term -> 'status * cic_term
78 val pp_status: #pstatus -> unit
80 class ['stack] status :
85 method set_stack: 'stack -> 'self
88 class type lowtac_status = [unit] status
90 type 'status lowtactic = #lowtac_status as 'status -> int -> 'status
92 class type tac_status = [Continuationals.Stack.t] status
94 type 'status tactic = #tac_status as 'status -> 'status