use structure Same;
authorwenzelm
Thu, 16 Jul 2009 21:28:09 +0200
changeset 32021d7f58d97fa96
parent 32020 9abf5d66606e
child 32022 c2f4ee07647f
use structure Same;
src/HOL/Tools/Function/fundef_core.ML
     1.1 --- a/src/HOL/Tools/Function/fundef_core.ML	Thu Jul 16 21:00:09 2009 +0200
     1.2 +++ b/src/HOL/Tools/Function/fundef_core.ML	Thu Jul 16 21:28:09 2009 +0200
     1.3 @@ -179,16 +179,17 @@
     1.4  (* lowlevel term function *)
     1.5  fun abstract_over_list vs body =
     1.6    let
     1.7 -    exception SAME;
     1.8      fun abs lev v tm =
     1.9        if v aconv tm then Bound lev
    1.10        else
    1.11          (case tm of
    1.12            Abs (a, T, t) => Abs (a, T, abs (lev + 1) v t)
    1.13 -        | t $ u => (abs lev v t $ (abs lev v u handle SAME => u) handle SAME => t $ abs lev v u)
    1.14 -        | _ => raise SAME);
    1.15 +        | t $ u =>
    1.16 +            (abs lev v t $ (abs lev v u handle Same.SAME => u)
    1.17 +              handle Same.SAME => t $ abs lev v u)
    1.18 +        | _ => raise Same.SAME);
    1.19    in
    1.20 -    fold_index (fn (i,v) => fn t => abs i v t handle SAME => t) vs body
    1.21 +    fold_index (fn (i, v) => fn t => abs i v t handle Same.SAME => t) vs body
    1.22    end
    1.23  
    1.24