equal
deleted
inserted
replaced
91 with eq have "(Var x \<degree>\<degree> [])[u/i] \<rightarrow>\<^sub>\<beta>\<^sup>* u" by simp |
91 with eq have "(Var x \<degree>\<degree> [])[u/i] \<rightarrow>\<^sub>\<beta>\<^sup>* u" by simp |
92 with Nil and uNF show ?thesis by simp iprover |
92 with Nil and uNF show ?thesis by simp iprover |
93 next |
93 next |
94 case (Cons a as) |
94 case (Cons a as) |
95 with argsT obtain T'' Ts where Us: "Us = T'' # Ts" |
95 with argsT obtain T'' Ts where Us: "Us = T'' # Ts" |
96 by (cases Us) (rule FalseE, simp+, erule that) |
96 by (cases Us) (rule FalseE, simp) |
97 from varT and Us have varT: "e\<langle>i:T\<rangle> \<turnstile> Var x : T'' \<Rightarrow> Ts \<Rrightarrow> T'" |
97 from varT and Us have varT: "e\<langle>i:T\<rangle> \<turnstile> Var x : T'' \<Rightarrow> Ts \<Rrightarrow> T'" |
98 by simp |
98 by simp |
99 from varT eq have T: "T = T'' \<Rightarrow> Ts \<Rrightarrow> T'" by cases auto |
99 from varT eq have T: "T = T'' \<Rightarrow> Ts \<Rrightarrow> T'" by cases auto |
100 with uT have uT': "e \<turnstile> u : T'' \<Rightarrow> Ts \<Rrightarrow> T'" by simp |
100 with uT have uT': "e \<turnstile> u : T'' \<Rightarrow> Ts \<Rrightarrow> T'" by simp |
101 from argsT Us Cons have argsT': "e\<langle>i:T\<rangle> \<tturnstile> as : Ts" by simp |
101 from argsT Us Cons have argsT': "e\<langle>i:T\<rangle> \<tturnstile> as : Ts" by simp |