equal
deleted
inserted
replaced
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 |
35 eta: "\<not> free s 0 ==> Abs (s $ Var 0) -e> s[dummy/0]" |
35 eta [simp, intro]: "\<not> free s 0 ==> Abs (s $ Var 0) -e> s[dummy/0]" |
36 appL: "s -e> t ==> s $ u -e> t $ u" |
36 appL [simp, intro]: "s -e> t ==> s $ u -e> t $ u" |
37 appR: "s -e> t ==> u $ s -e> u $ t" |
37 appR [simp, intro]: "s -e> t ==> u $ s -e> u $ t" |
38 abs: "s -e> t ==> Abs s -e> Abs t" |
38 abs [simp, intro]: "s -e> t ==> Abs s -e> Abs t" |
39 |
39 |
40 inductive_cases eta_cases [elim!]: |
40 inductive_cases eta_cases [elim!]: |
41 "Abs s -e> z" |
41 "Abs s -e> z" |
42 "s $ t -e> u" |
42 "s $ t -e> u" |
43 "Var i -e> t" |
43 "Var i -e> t" |