src/HOL/Tools/split_rule.ML
changeset 18050 652c95961a8b
parent 15661 9ef583b08647
child 18629 bdf01da93ed4
     1.1 --- a/src/HOL/Tools/split_rule.ML	Mon Oct 31 01:43:22 2005 +0100
     1.2 +++ b/src/HOL/Tools/split_rule.ML	Mon Oct 31 16:00:15 2005 +0100
     1.3 @@ -120,14 +120,16 @@
     1.4  
     1.5  fun split_rule_goal xss rl =
     1.6    let
     1.7 -    fun one_split i (th, s) = Tactic.rule_by_tactic (pair_tac s i) th;
     1.8 -    fun one_goal (xs, i) th = Library.foldl (one_split i) (th, xs);
     1.9 +    fun one_split i s = Tactic.rule_by_tactic (pair_tac s i);
    1.10 +    fun one_goal (i, xs) = fold (one_split (i+1)) xs;
    1.11    in
    1.12 -    Drule.standard (Simplifier.full_simplify split_rule_ss (Library.foldln one_goal xss rl))
    1.13 +    rl
    1.14 +    |> Library.fold_index one_goal xss
    1.15 +    |> Simplifier.full_simplify split_rule_ss
    1.16 +    |> Drule.standard 
    1.17      |> RuleCases.save rl
    1.18    end;
    1.19  
    1.20 -
    1.21  (* attribute syntax *)
    1.22  
    1.23  (* FIXME dynamically scoped due to Args.name/pair_tac *)