src/HOL/Lambda/Eta.thy
changeset 9827 ce6e22ff89c3
parent 9811 39ffdb8cab03
child 9858 c3ac6128b649
equal deleted inserted replaced
9826:5b5d9ee742ca 9827:ce6e22ff89c3
    24 syntax 
    24 syntax 
    25   "_eta" :: "[dB, dB] => bool"   (infixl "-e>" 50)
    25   "_eta" :: "[dB, dB] => bool"   (infixl "-e>" 50)
    26   "_eta_rtrancl" :: "[dB, dB] => bool"   (infixl "-e>>" 50)
    26   "_eta_rtrancl" :: "[dB, dB] => bool"   (infixl "-e>>" 50)
    27   "_eta_reflcl" :: "[dB, dB] => bool"   (infixl "-e>=" 50)
    27   "_eta_reflcl" :: "[dB, dB] => bool"   (infixl "-e>=" 50)
    28 translations
    28 translations
    29   "s -e> t" == "(s,t) \<in> eta"
    29   "s -e> t" == "(s, t) \<in> eta"
    30   "s -e>> t" == "(s,t) \<in> eta^*"
    30   "s -e>> t" == "(s, t) \<in> eta^*"
    31   "s -e>= t" == "(s,t) \<in> eta^="
    31   "s -e>= t" == "(s, t) \<in> eta^="
    32 
    32 
    33 inductive eta
    33 inductive eta
    34   intros [simp, intro]
    34   intros [simp, intro]
    35     eta: "\<not> free s 0 ==> Abs (s $ Var 0) -e> s[dummy/0]"
    35     eta: "\<not> free s 0 ==> Abs (s $ Var 0) -e> s[dummy/0]"
    36     appL: "s -e> t ==> s $ u -e> t $ u"
    36     appL: "s -e> t ==> s $ u -e> t $ u"