--- a/src/HOL/Tools/split_rule.ML Wed Mar 25 21:35:49 2009 +0100
+++ b/src/HOL/Tools/split_rule.ML Thu Mar 26 14:14:02 2009 +0100
@@ -141,18 +141,18 @@
|> RuleCases.save rl
end;
+
(* attribute syntax *)
(* FIXME dynamically scoped due to Args.name_source/pair_tac *)
-val split_format = Scan.lift
- (Args.parens (Args.$$$ "complete") >> K (Thm.rule_attribute (K complete_split_rule)) ||
- OuterParse.and_list1 (Scan.repeat Args.name_source)
- >> (fn xss => Thm.rule_attribute (fn context =>
- split_rule_goal (Context.proof_of context) xss)));
-
val setup =
- Attrib.setup @{binding split_format} split_format
+ Attrib.setup @{binding split_format}
+ (Scan.lift
+ (Args.parens (Args.$$$ "complete") >> K (Thm.rule_attribute (K complete_split_rule)) ||
+ OuterParse.and_list1 (Scan.repeat Args.name_source)
+ >> (fn xss => Thm.rule_attribute (fn context =>
+ split_rule_goal (Context.proof_of context) xss))))
"split pair-typed subterms in premises, or function arguments" #>
Attrib.setup @{binding split_rule} (Scan.succeed (Thm.rule_attribute (K split_rule)))
"curries ALL function variables occurring in a rule's conclusion";