equal
deleted
inserted
replaced
38 val forall_elim_vars: int -> thm -> thm |
38 val forall_elim_vars: int -> thm -> thm |
39 val unvarify: thm -> thm |
39 val unvarify: thm -> thm |
40 val close_derivation: thm -> thm |
40 val close_derivation: thm -> thm |
41 val add_axiom: binding * term -> theory -> thm * theory |
41 val add_axiom: binding * term -> theory -> thm * theory |
42 val add_def: bool -> bool -> binding * term -> theory -> thm * theory |
42 val add_def: bool -> bool -> binding * term -> theory -> thm * theory |
|
43 type binding = binding * attribute list |
|
44 val empty_binding: binding |
43 val rule_attribute: (Context.generic -> thm -> thm) -> attribute |
45 val rule_attribute: (Context.generic -> thm -> thm) -> attribute |
44 val declaration_attribute: (thm -> Context.generic -> Context.generic) -> attribute |
46 val declaration_attribute: (thm -> Context.generic -> Context.generic) -> attribute |
45 val theory_attributes: attribute list -> theory * thm -> theory * thm |
47 val theory_attributes: attribute list -> theory * thm -> theory * thm |
46 val proof_attributes: attribute list -> Proof.context * thm -> Proof.context * thm |
48 val proof_attributes: attribute list -> Proof.context * thm -> Proof.context * thm |
47 val no_attributes: 'a -> 'a * 'b list |
49 val no_attributes: 'a -> 'a * 'b list |
299 |
301 |
300 |
302 |
301 |
303 |
302 (** attributes **) |
304 (** attributes **) |
303 |
305 |
|
306 type binding = binding * attribute list; |
|
307 val empty_binding: binding = (Binding.empty, []); |
|
308 |
304 fun rule_attribute f (x, th) = (x, f x th); |
309 fun rule_attribute f (x, th) = (x, f x th); |
305 fun declaration_attribute f (x, th) = (f th x, th); |
310 fun declaration_attribute f (x, th) = (f th x, th); |
306 |
311 |
307 fun apply_attributes mk dest = |
312 fun apply_attributes mk dest = |
308 let |
313 let |