equal
deleted
inserted
replaced
89 val trans_del_local = mk_att LocalCalculation.map (Library.apfst o NetRules.delete); |
89 val trans_del_local = mk_att LocalCalculation.map (Library.apfst o NetRules.delete); |
90 |
90 |
91 |
91 |
92 (* concrete syntax *) |
92 (* concrete syntax *) |
93 |
93 |
94 val transN = "trans"; |
|
95 val addN = "add"; |
|
96 val delN = "del"; |
|
97 |
|
98 fun trans_att add del = |
|
99 Attrib.syntax (Scan.lift (Args.$$$ addN >> K add || Args.$$$ delN >> K del || Scan.succeed add)); |
|
100 |
|
101 val trans_attr = |
94 val trans_attr = |
102 (trans_att trans_add_global trans_del_global, trans_att trans_add_local trans_del_local); |
95 (Attrib.add_del_args trans_add_global trans_del_global, |
|
96 Attrib.add_del_args trans_add_local trans_del_local); |
103 |
97 |
104 |
98 |
105 |
99 |
106 (** proof commands **) |
100 (** proof commands **) |
107 |
101 |
179 |
173 |
180 |
174 |
181 (** theory setup **) |
175 (** theory setup **) |
182 |
176 |
183 val setup = [GlobalCalculation.init, LocalCalculation.init, |
177 val setup = [GlobalCalculation.init, LocalCalculation.init, |
184 Attrib.add_attributes [(transN, trans_attr, "declare transitivity rule")]]; |
178 Attrib.add_attributes [("trans", trans_attr, "declare transitivity rule")]]; |
185 |
179 |
186 |
180 |
187 end; |
181 end; |