equal
deleted
inserted
replaced
6 |
6 |
7 signature TRANSFER_PRINCIPLE = |
7 signature TRANSFER_PRINCIPLE = |
8 sig |
8 sig |
9 val transfer_tac: Proof.context -> thm list -> int -> tactic |
9 val transfer_tac: Proof.context -> thm list -> int -> tactic |
10 val add_const: string -> theory -> theory |
10 val add_const: string -> theory -> theory |
11 val setup: theory -> theory |
|
12 end; |
11 end; |
13 |
12 |
14 structure Transfer_Principle: TRANSFER_PRINCIPLE = |
13 structure Transfer_Principle: TRANSFER_PRINCIPLE = |
15 struct |
14 struct |
16 |
15 |
104 |
103 |
105 fun add_const c = Context.theory_map (TransferData.map |
104 fun add_const c = Context.theory_map (TransferData.map |
106 (fn {intros,unfolds,refolds,consts} => |
105 (fn {intros,unfolds,refolds,consts} => |
107 {intros=intros, unfolds=unfolds, refolds=refolds, consts=c::consts})) |
106 {intros=intros, unfolds=unfolds, refolds=refolds, consts=c::consts})) |
108 |
107 |
109 val setup = |
108 val _ = |
110 Attrib.setup @{binding transfer_intro} (Attrib.add_del intro_add intro_del) |
109 Theory.setup |
111 "declaration of transfer introduction rule" #> |
110 (Attrib.setup @{binding transfer_intro} (Attrib.add_del intro_add intro_del) |
112 Attrib.setup @{binding transfer_unfold} (Attrib.add_del unfold_add unfold_del) |
111 "declaration of transfer introduction rule" #> |
113 "declaration of transfer unfolding rule" #> |
112 Attrib.setup @{binding transfer_unfold} (Attrib.add_del unfold_add unfold_del) |
114 Attrib.setup @{binding transfer_refold} (Attrib.add_del refold_add refold_del) |
113 "declaration of transfer unfolding rule" #> |
115 "declaration of transfer refolding rule" |
114 Attrib.setup @{binding transfer_refold} (Attrib.add_del refold_add refold_del) |
|
115 "declaration of transfer refolding rule") |
116 |
116 |
117 end; |
117 end; |