95 val of_class: ctyp * class -> thm |
95 val of_class: ctyp * class -> thm |
96 val unconstrainT: ctyp -> thm -> thm |
96 val unconstrainT: ctyp -> thm -> thm |
97 val dest_state: thm * int -> (term * term) list * term list * term * term |
97 val dest_state: thm * int -> (term * term) list * term list * term * term |
98 val lift_rule: cterm -> thm -> thm |
98 val lift_rule: cterm -> thm -> thm |
99 val incr_indexes: int -> thm -> thm |
99 val incr_indexes: int -> thm -> thm |
100 val assumption: int -> thm -> thm Seq.seq |
|
101 val eq_assumption: int -> thm -> thm |
|
102 val rotate_rule: int -> int -> thm -> thm |
|
103 val permute_prems: int -> int -> thm -> thm |
|
104 val rename_params_rule: string list * int -> thm -> thm |
|
105 val compose_no_flatten: bool -> thm * int -> int -> thm -> thm Seq.seq |
|
106 val bicompose: bool -> bool * thm * int -> int -> thm -> thm Seq.seq |
|
107 val biresolution: bool -> (bool * thm) list -> int -> thm -> thm Seq.seq |
|
108 end; |
100 end; |
109 |
101 |
110 signature THM = |
102 signature THM = |
111 sig |
103 sig |
112 include BASIC_THM |
104 include BASIC_THM |
115 val dest_fun: cterm -> cterm |
107 val dest_fun: cterm -> cterm |
116 val dest_arg: cterm -> cterm |
108 val dest_arg: cterm -> cterm |
117 val dest_fun2: cterm -> cterm |
109 val dest_fun2: cterm -> cterm |
118 val dest_arg1: cterm -> cterm |
110 val dest_arg1: cterm -> cterm |
119 val dest_abs: string option -> cterm -> cterm * cterm |
111 val dest_abs: string option -> cterm -> cterm * cterm |
120 val adjust_maxidx_cterm: int -> cterm -> cterm |
|
121 val capply: cterm -> cterm -> cterm |
112 val capply: cterm -> cterm -> cterm |
122 val cabs: cterm -> cterm -> cterm |
113 val cabs: cterm -> cterm -> cterm |
123 val major_prem_of: thm -> term |
114 val adjust_maxidx_cterm: int -> cterm -> cterm |
124 val no_prems: thm -> bool |
115 val incr_indexes_cterm: int -> cterm -> cterm |
|
116 val match: cterm * cterm -> (ctyp * ctyp) list * (cterm * cterm) list |
|
117 val first_order_match: cterm * cterm -> (ctyp * ctyp) list * (cterm * cterm) list |
125 val terms_of_tpairs: (term * term) list -> term list |
118 val terms_of_tpairs: (term * term) list -> term list |
|
119 val full_prop_of: thm -> term |
126 val maxidx_of: thm -> int |
120 val maxidx_of: thm -> int |
127 val maxidx_thm: thm -> int -> int |
121 val maxidx_thm: thm -> int -> int |
128 val hyps_of: thm -> term list |
122 val hyps_of: thm -> term list |
129 val full_prop_of: thm -> term |
123 val no_prems: thm -> bool |
|
124 val major_prem_of: thm -> term |
130 val axiom: theory -> string -> thm |
125 val axiom: theory -> string -> thm |
131 val axioms_of: theory -> (string * thm) list |
126 val axioms_of: theory -> (string * thm) list |
132 val get_name: thm -> string |
|
133 val put_name: string -> thm -> thm |
|
134 val get_tags: thm -> Properties.T |
127 val get_tags: thm -> Properties.T |
135 val map_tags: (Properties.T -> Properties.T) -> thm -> thm |
128 val map_tags: (Properties.T -> Properties.T) -> thm -> thm |
136 val norm_proof: thm -> thm |
129 val norm_proof: thm -> thm |
137 val adjust_maxidx_thm: int -> thm -> thm |
130 val adjust_maxidx_thm: int -> thm -> thm |
138 val rename_boundvars: term -> term -> thm -> thm |
|
139 val match: cterm * cterm -> (ctyp * ctyp) list * (cterm * cterm) list |
|
140 val first_order_match: cterm * cterm -> (ctyp * ctyp) list * (cterm * cterm) list |
|
141 val incr_indexes_cterm: int -> cterm -> cterm |
|
142 val varifyT: thm -> thm |
131 val varifyT: thm -> thm |
143 val varifyT': (string * sort) list -> thm -> ((string * sort) * indexname) list * thm |
132 val varifyT': (string * sort) list -> thm -> ((string * sort) * indexname) list * thm |
144 val freezeT: thm -> thm |
133 val freezeT: thm -> thm |
|
134 val assumption: int -> thm -> thm Seq.seq |
|
135 val eq_assumption: int -> thm -> thm |
|
136 val rotate_rule: int -> int -> thm -> thm |
|
137 val permute_prems: int -> int -> thm -> thm |
|
138 val rename_params_rule: string list * int -> thm -> thm |
|
139 val compose_no_flatten: bool -> thm * int -> int -> thm -> thm Seq.seq |
|
140 val bicompose: bool -> bool * thm * int -> int -> thm -> thm Seq.seq |
|
141 val biresolution: bool -> (bool * thm) list -> int -> thm -> thm Seq.seq |
|
142 val rename_boundvars: term -> term -> thm -> thm |
145 val future: thm future -> cterm -> thm |
143 val future: thm future -> cterm -> thm |
146 val pending_groups: thm -> Task_Queue.group list -> Task_Queue.group list |
144 val pending_groups: thm -> Task_Queue.group list -> Task_Queue.group list |
147 val status_of: thm -> {oracle: bool, unfinished: bool, failed: bool} |
145 val status_of: thm -> {oracle: bool, unfinished: bool, failed: bool} |
148 val proof_body_of: thm -> proof_body |
146 val proof_body_of: thm -> proof_body |
149 val proof_of: thm -> proof |
147 val proof_of: thm -> proof |
150 val join_proof: thm -> unit |
148 val join_proof: thm -> unit |
|
149 val get_name: thm -> string |
|
150 val put_name: string -> thm -> thm |
151 val extern_oracles: theory -> xstring list |
151 val extern_oracles: theory -> xstring list |
152 val add_oracle: binding * ('a -> cterm) -> theory -> (string * ('a -> thm)) * theory |
152 val add_oracle: binding * ('a -> cterm) -> theory -> (string * ('a -> thm)) * theory |
153 end; |
153 end; |
154 |
154 |
155 structure Thm:> THM = |
155 structure Thm:> THM = |