197 #> Sign.add_consts |
197 #> Sign.add_consts |
198 [(Binding.name "==", typ "'a => 'a => prop", Infix ("==", 2)), |
198 [(Binding.name "==", typ "'a => 'a => prop", Infix ("==", 2)), |
199 (Binding.name "==>", typ "prop => prop => prop", Mixfix ("(_/ ==> _)", [2, 1], 1)), |
199 (Binding.name "==>", typ "prop => prop => prop", Mixfix ("(_/ ==> _)", [2, 1], 1)), |
200 (Binding.name "all", typ "('a => prop) => prop", Binder ("!!", 0, 0)), |
200 (Binding.name "all", typ "('a => prop) => prop", Binder ("!!", 0, 0)), |
201 (Binding.name "prop", typ "prop => prop", NoSyn), |
201 (Binding.name "prop", typ "prop => prop", NoSyn), |
202 (Binding.name "TYPE", typ "'a itself", NoSyn), |
202 (qualify (Binding.name "type"), typ "'a itself", NoSyn), |
203 (qualify (Binding.name "dummy_pattern"), typ "'a", Delimfix "'_")] |
203 (qualify (Binding.name "dummy_pattern"), typ "'a", Delimfix "'_")] |
204 #> Theory.add_deps_global "==" ("==", typ "'a => 'a => prop") [] |
204 #> Theory.add_deps_global "==" ("==", typ "'a => 'a => prop") [] |
205 #> Theory.add_deps_global "==>" ("==>", typ "prop => prop => prop") [] |
205 #> Theory.add_deps_global "==>" ("==>", typ "prop => prop => prop") [] |
206 #> Theory.add_deps_global "all" ("all", typ "('a => prop) => prop") [] |
206 #> Theory.add_deps_global "all" ("all", typ "('a => prop) => prop") [] |
207 #> Theory.add_deps_global "TYPE" ("TYPE", typ "'a itself") [] |
207 #> Theory.add_deps_global "Pure.type" ("Pure.type", typ "'a itself") [] |
208 #> Theory.add_deps_global "Pure.dummy_pattern" ("Pure.dummy_pattern", typ "'a") [] |
208 #> Theory.add_deps_global "Pure.dummy_pattern" ("Pure.dummy_pattern", typ "'a") [] |
209 #> Sign.parse_ast_translation Syntax_Trans.pure_parse_ast_translation |
209 #> Sign.parse_ast_translation Syntax_Trans.pure_parse_ast_translation |
210 #> Sign.parse_translation Syntax_Trans.pure_parse_translation |
210 #> Sign.parse_translation Syntax_Trans.pure_parse_translation |
211 #> Sign.print_ast_translation Syntax_Trans.pure_print_ast_translation |
211 #> Sign.print_ast_translation Syntax_Trans.pure_print_ast_translation |
212 #> Sign.add_consts |
212 #> Sign.add_consts |
216 #> Sign.local_path |
216 #> Sign.local_path |
217 #> (Global_Theory.add_defs false o map Thm.no_attributes) |
217 #> (Global_Theory.add_defs false o map Thm.no_attributes) |
218 [(Binding.name "prop_def", prop "(CONST prop :: prop => prop) (A::prop) == A::prop"), |
218 [(Binding.name "prop_def", prop "(CONST prop :: prop => prop) (A::prop) == A::prop"), |
219 (Binding.name "term_def", prop "(CONST Pure.term :: 'a => prop) (x::'a) == (!!A::prop. A ==> A)"), |
219 (Binding.name "term_def", prop "(CONST Pure.term :: 'a => prop) (x::'a) == (!!A::prop. A ==> A)"), |
220 (Binding.name "sort_constraint_def", |
220 (Binding.name "sort_constraint_def", |
221 prop "(CONST Pure.sort_constraint :: 'a itself => prop) (CONST TYPE :: 'a itself) ==\ |
221 prop "(CONST Pure.sort_constraint :: 'a itself => prop) (CONST Pure.type :: 'a itself) ==\ |
222 \ (CONST Pure.term :: 'a itself => prop) (CONST TYPE :: 'a itself)"), |
222 \ (CONST Pure.term :: 'a itself => prop) (CONST Pure.type :: 'a itself)"), |
223 (Binding.name "conjunction_def", prop "(A &&& B) == (!!C::prop. (A ==> B ==> C) ==> C)")] #> snd |
223 (Binding.name "conjunction_def", prop "(A &&& B) == (!!C::prop. (A ==> B ==> C) ==> C)")] #> snd |
224 #> Global_Theory.add_thmss [((Binding.name "nothing", []), [])] #> snd |
224 #> Global_Theory.add_thmss [((Binding.name "nothing", []), [])] #> snd |
225 #> fold (fn (a, prop) => |
225 #> fold (fn (a, prop) => |
226 snd o Thm.add_axiom_global (Binding.name a, prop)) Proofterm.equality_axms); |
226 snd o Thm.add_axiom_global (Binding.name a, prop)) Proofterm.equality_axms); |
227 |
227 |