]> matita.cs.unibo.it Git - helm.git/blob - helm/software/components/ng_tactics/nTacStatus.mli
Some quick patch to fix elimination that used to look for
[helm.git] / helm / software / components / ng_tactics / nTacStatus.mli
1 (*
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.                     
5     ||I||                                                                
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_______________________________________________________________ *)
11
12 (* $Id: nCic.ml 9058 2008-10-13 17:42:30Z tassi $ *)
13
14 exception Error of string lazy_t * exn option
15 val fail: ?exn:exn -> string lazy_t -> 'a
16
17 class pstatus :
18  NCic.obj ->
19   object ('self)
20    inherit NEstatus.status
21    method obj: NCic.obj
22    method set_obj: NCic.obj -> 'self
23   end
24
25 type tactic_term = CicNotationPt.term Disambiguate.disambiguator_input
26 type tactic_pattern = GrafiteAst.npattern Disambiguate.disambiguator_input
27
28 type cic_term 
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
32
33 val mk_cic_term : NCic.context -> NCic.term -> cic_term
34 val disambiguate:
35  #pstatus as 'status -> tactic_term -> cic_term option -> NCic.context -> 
36   'status * cic_term (* * cic_term XXX *)
37
38 val analyse_indty: 
39  #pstatus as 'status -> cic_term -> 
40   'status * (NReference.reference * int * NCic.term list * NCic.term list)
41
42 val ppterm: #pstatus -> cic_term -> string
43 val whd: 
44  #pstatus as 'status -> ?delta:int -> NCic.context -> cic_term -> 
45   'status * cic_term 
46 val normalize: 
47  #pstatus as 'status -> ?delta:int -> NCic.context -> cic_term ->
48   'status * cic_term 
49 val typeof: 
50  #pstatus as 'status -> NCic.context -> cic_term -> 'status * cic_term
51 val unify: 
52  #pstatus as 'status -> NCic.context -> cic_term -> cic_term -> 'status
53 val refine: 
54  #pstatus as 'status -> NCic.context -> cic_term -> cic_term option -> 
55   'status * cic_term * cic_term (* status, term, type *)
56 val apply_subst:
57  #pstatus as 'status -> NCic.context -> cic_term -> 'status * cic_term
58 val fix_sorts: cic_term -> cic_term
59
60 val get_goalty: #pstatus -> int -> cic_term
61 val mk_meta: 
62  #pstatus as 'status -> ?name:string -> NCic.context ->
63    [ `Decl of cic_term | `Def of cic_term ] ->
64      'status * cic_term
65 val instantiate: #pstatus as 'status -> int -> cic_term -> 'status
66
67 val select_term:
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 ->
72     'status * cic_term
73
74 val mk_in_scope: #pstatus as 'status -> cic_term -> 'status * cic_term
75 val mk_out_scope:
76  int -> (#pstatus as 'status) -> cic_term -> 'status * cic_term
77
78 val pp_status: #pstatus -> unit
79
80 class ['stack] status :
81  NCic.obj -> 'stack ->
82   object ('self)
83    inherit pstatus
84    method stack: 'stack
85    method set_stack: 'stack -> 'self
86   end
87
88 class type lowtac_status = [unit] status
89
90 type 'status lowtactic = #lowtac_status as 'status -> int -> 'status
91
92 class type tac_status = [Continuationals.Stack.t] status
93
94 type 'status tactic = #tac_status as 'status -> 'status
95
96 (* end *)