equal
deleted
inserted
replaced
23 val theory: (theory -> theory) -> local_theory -> local_theory |
23 val theory: (theory -> theory) -> local_theory -> local_theory |
24 val target_result: (Proof.context -> 'a * Proof.context) -> local_theory -> 'a * local_theory |
24 val target_result: (Proof.context -> 'a * Proof.context) -> local_theory -> 'a * local_theory |
25 val target: (Proof.context -> Proof.context) -> local_theory -> local_theory |
25 val target: (Proof.context -> Proof.context) -> local_theory -> local_theory |
26 val affirm: local_theory -> local_theory |
26 val affirm: local_theory -> local_theory |
27 val pretty: local_theory -> Pretty.T list |
27 val pretty: local_theory -> Pretty.T list |
28 val axioms: string -> |
|
29 ((Name.binding * typ) * mixfix) list * (Attrib.binding * term list) list -> local_theory |
|
30 -> (term list * (string * thm list) list) * local_theory |
|
31 val abbrev: Syntax.mode -> (Name.binding * mixfix) * term -> local_theory -> |
28 val abbrev: Syntax.mode -> (Name.binding * mixfix) * term -> local_theory -> |
32 (term * term) * local_theory |
29 (term * term) * local_theory |
33 val define: string -> (Name.binding * mixfix) * (Attrib.binding * term) -> local_theory -> |
30 val define: string -> (Name.binding * mixfix) * (Attrib.binding * term) -> local_theory -> |
34 (term * (string * thm)) * local_theory |
31 (term * (string * thm)) * local_theory |
35 val note: string -> Attrib.binding * thm list -> local_theory -> (string * thm list) * local_theory |
32 val note: string -> Attrib.binding * thm list -> local_theory -> (string * thm list) * local_theory |
53 |
50 |
54 (* type lthy *) |
51 (* type lthy *) |
55 |
52 |
56 type operations = |
53 type operations = |
57 {pretty: local_theory -> Pretty.T list, |
54 {pretty: local_theory -> Pretty.T list, |
58 axioms: string -> |
|
59 ((Name.binding * typ) * mixfix) list * (Attrib.binding * term list) list -> local_theory -> |
|
60 (term list * (string * thm list) list) * local_theory, |
|
61 abbrev: Syntax.mode -> (Name.binding * mixfix) * term -> local_theory -> |
55 abbrev: Syntax.mode -> (Name.binding * mixfix) * term -> local_theory -> |
62 (term * term) * local_theory, |
56 (term * term) * local_theory, |
63 define: string -> |
57 define: string -> |
64 (Name.binding * mixfix) * (Attrib.binding * term) -> local_theory -> |
58 (Name.binding * mixfix) * (Attrib.binding * term) -> local_theory -> |
65 (term * (string * thm)) * local_theory, |
59 (term * (string * thm)) * local_theory, |
169 fun operation f lthy = f (#operations (get_lthy lthy)) lthy; |
163 fun operation f lthy = f (#operations (get_lthy lthy)) lthy; |
170 fun operation1 f x = operation (fn ops => f ops x); |
164 fun operation1 f x = operation (fn ops => f ops x); |
171 fun operation2 f x y lthy = operation (fn ops => f ops x y) lthy; |
165 fun operation2 f x y lthy = operation (fn ops => f ops x y) lthy; |
172 |
166 |
173 val pretty = operation #pretty; |
167 val pretty = operation #pretty; |
174 val axioms = operation2 #axioms; |
|
175 val abbrev = operation2 #abbrev; |
168 val abbrev = operation2 #abbrev; |
176 val define = operation2 #define; |
169 val define = operation2 #define; |
177 val notes = operation2 #notes; |
170 val notes = operation2 #notes; |
178 val type_syntax = operation1 #type_syntax; |
171 val type_syntax = operation1 #type_syntax; |
179 val term_syntax = operation1 #term_syntax; |
172 val term_syntax = operation1 #term_syntax; |