src/HOL/HOL.thy
changeset 13763 f94b569cd610
parent 13723 c7d104550205
child 13764 3e180bf68496
     1.1 --- a/src/HOL/HOL.thy	Sun Dec 22 10:42:09 2002 +0100
     1.2 +++ b/src/HOL/HOL.thy	Sun Dec 22 10:43:43 2002 +0100
     1.3 @@ -71,10 +71,17 @@
     1.4  
     1.5  translations
     1.6    "x ~= y"                == "~ (x = y)"
     1.7 -  "THE x. P"              == "The (%x. P)"
     1.8 +  "THE x. P"              => "The (%x. P)"
     1.9    "_Let (_binds b bs) e"  == "_Let b (_Let bs e)"
    1.10    "let x = a in e"        == "Let a (%x. e)"
    1.11  
    1.12 +print_translation {*
    1.13 +(* To avoid eta-contraction of body: *)
    1.14 +[("The", fn [Abs abs] =>
    1.15 +     let val (x,t) = atomic_abs_tr' abs
    1.16 +     in Syntax.const "_The" $ x $ t end)]
    1.17 +*}
    1.18 +
    1.19  syntax (output)
    1.20    "="           :: "['a, 'a] => bool"                    (infix 50)
    1.21    "_not_equal"  :: "['a, 'a] => bool"                    (infix "~=" 50)