equal
deleted
inserted
replaced
142 |> RuleCases.save rl |
142 |> RuleCases.save rl |
143 end; |
143 end; |
144 |
144 |
145 (* attribute syntax *) |
145 (* attribute syntax *) |
146 |
146 |
147 (* FIXME dynamically scoped due to Args.name/pair_tac *) |
147 (* FIXME dynamically scoped due to Args.name_source/pair_tac *) |
148 |
148 |
149 val split_format = Attrib.syntax (Scan.lift |
149 val split_format = Attrib.syntax (Scan.lift |
150 (Args.parens (Args.$$$ "complete") >> K (Thm.rule_attribute (K complete_split_rule)) || |
150 (Args.parens (Args.$$$ "complete") >> K (Thm.rule_attribute (K complete_split_rule)) || |
151 OuterParse.and_list1 (Scan.repeat Args.name) |
151 OuterParse.and_list1 (Scan.repeat Args.name_source) |
152 >> (fn xss => Thm.rule_attribute (fn context => |
152 >> (fn xss => Thm.rule_attribute (fn context => |
153 split_rule_goal (Context.proof_of context) xss)))); |
153 split_rule_goal (Context.proof_of context) xss)))); |
154 |
154 |
155 val setup = |
155 val setup = |
156 Attrib.add_attributes |
156 Attrib.add_attributes |