]> matita.cs.unibo.it Git - helm.git/blob - matita/contribs/LAMBDA-TYPES/Level-1/LambdaDelta/csubst0/drop.ma
14e0bb2c8eb808542166a230782204bc1bb7f0f9
[helm.git] / matita / contribs / LAMBDA-TYPES / Level-1 / LambdaDelta / csubst0 / drop.ma
1 (**************************************************************************)
2 (*       ___                                                              *)
3 (*      ||M||                                                             *)
4 (*      ||A||       A project by Andrea Asperti                           *)
5 (*      ||T||                                                             *)
6 (*      ||I||       Developers:                                           *)
7 (*      ||T||         The HELM team.                                      *)
8 (*      ||A||         http://helm.cs.unibo.it                             *)
9 (*      \   /                                                             *)
10 (*       \ /        This file is distributed under the terms of the       *)
11 (*        v         GNU General Public License Version 2                  *)
12 (*                                                                        *)
13 (**************************************************************************)
14
15 (* This file was automatically generated: do not edit *********************)
16
17 set "baseuri" "cic:/matita/LAMBDA-TYPES/Level-1/LambdaDelta/csubst0/drop".
18
19 include "csubst0/fwd.ma".
20
21 include "drop/fwd.ma".
22
23 include "s/props.ma".
24
25 theorem csubst0_drop_gt:
26  \forall (n: nat).(\forall (i: nat).((lt i n) \to (\forall (c1: C).(\forall 
27 (c2: C).(\forall (v: T).((csubst0 i v c1 c2) \to (\forall (e: C).((drop n O 
28 c1 e) \to (drop n O c2 e)))))))))
29 \def
30  \lambda (n: nat).(nat_ind (\lambda (n0: nat).(\forall (i: nat).((lt i n0) 
31 \to (\forall (c1: C).(\forall (c2: C).(\forall (v: T).((csubst0 i v c1 c2) 
32 \to (\forall (e: C).((drop n0 O c1 e) \to (drop n0 O c2 e)))))))))) (\lambda 
33 (i: nat).(\lambda (H: (lt i O)).(\lambda (c1: C).(\lambda (c2: C).(\lambda 
34 (v: T).(\lambda (_: (csubst0 i v c1 c2)).(\lambda (e: C).(\lambda (_: (drop O 
35 O c1 e)).(let H2 \def (match H in le return (\lambda (n: nat).(\lambda (_: 
36 (le ? n)).((eq nat n O) \to (drop O O c2 e)))) with [le_n \Rightarrow 
37 (\lambda (H2: (eq nat (S i) O)).(let H3 \def (eq_ind nat (S i) (\lambda (e0: 
38 nat).(match e0 in nat return (\lambda (_: nat).Prop) with [O \Rightarrow 
39 False | (S _) \Rightarrow True])) I O H2) in (False_ind (drop O O c2 e) H3))) 
40 | (le_S m H2) \Rightarrow (\lambda (H3: (eq nat (S m) O)).((let H4 \def 
41 (eq_ind nat (S m) (\lambda (e0: nat).(match e0 in nat return (\lambda (_: 
42 nat).Prop) with [O \Rightarrow False | (S _) \Rightarrow True])) I O H3) in 
43 (False_ind ((le (S i) m) \to (drop O O c2 e)) H4)) H2))]) in (H2 (refl_equal 
44 nat O))))))))))) (\lambda (n0: nat).(\lambda (H: ((\forall (i: nat).((lt i 
45 n0) \to (\forall (c1: C).(\forall (c2: C).(\forall (v: T).((csubst0 i v c1 
46 c2) \to (\forall (e: C).((drop n0 O c1 e) \to (drop n0 O c2 
47 e))))))))))).(\lambda (i: nat).(\lambda (H0: (lt i (S n0))).(\lambda (c1: 
48 C).(C_ind (\lambda (c: C).(\forall (c2: C).(\forall (v: T).((csubst0 i v c 
49 c2) \to (\forall (e: C).((drop (S n0) O c e) \to (drop (S n0) O c2 e))))))) 
50 (\lambda (n1: nat).(\lambda (c2: C).(\lambda (v: T).(\lambda (_: (csubst0 i v 
51 (CSort n1) c2)).(\lambda (e: C).(\lambda (H2: (drop (S n0) O (CSort n1) 
52 e)).(and3_ind (eq C e (CSort n1)) (eq nat (S n0) O) (eq nat O O) (drop (S n0) 
53 O c2 e) (\lambda (H3: (eq C e (CSort n1))).(\lambda (H4: (eq nat (S n0) 
54 O)).(\lambda (_: (eq nat O O)).(eq_ind_r C (CSort n1) (\lambda (c: C).(drop 
55 (S n0) O c2 c)) (let H6 \def (eq_ind nat (S n0) (\lambda (ee: nat).(match ee 
56 in nat return (\lambda (_: nat).Prop) with [O \Rightarrow False | (S _) 
57 \Rightarrow True])) I O H4) in (False_ind (drop (S n0) O c2 (CSort n1)) H6)) 
58 e H3)))) (drop_gen_sort n1 (S n0) O e H2)))))))) (\lambda (c: C).(\lambda 
59 (H1: ((\forall (c2: C).(\forall (v: T).((csubst0 i v c c2) \to (\forall (e: 
60 C).((drop (S n0) O c e) \to (drop (S n0) O c2 e)))))))).(\lambda (k: 
61 K).(\lambda (t: T).(\lambda (c2: C).(\lambda (v: T).(\lambda (H2: (csubst0 i 
62 v (CHead c k t) c2)).(\lambda (e: C).(\lambda (H3: (drop (S n0) O (CHead c k 
63 t) e)).(or3_ind (ex3_2 T nat (\lambda (_: T).(\lambda (j: nat).(eq nat i (s k 
64 j)))) (\lambda (u2: T).(\lambda (_: nat).(eq C c2 (CHead c k u2)))) (\lambda 
65 (u2: T).(\lambda (j: nat).(subst0 j v t u2)))) (ex3_2 C nat (\lambda (_: 
66 C).(\lambda (j: nat).(eq nat i (s k j)))) (\lambda (c3: C).(\lambda (_: 
67 nat).(eq C c2 (CHead c3 k t)))) (\lambda (c3: C).(\lambda (j: nat).(csubst0 j 
68 v c c3)))) (ex4_3 T C nat (\lambda (_: T).(\lambda (_: C).(\lambda (j: 
69 nat).(eq nat i (s k j))))) (\lambda (u2: T).(\lambda (c3: C).(\lambda (_: 
70 nat).(eq C c2 (CHead c3 k u2))))) (\lambda (u2: T).(\lambda (_: C).(\lambda 
71 (j: nat).(subst0 j v t u2)))) (\lambda (_: T).(\lambda (c3: C).(\lambda (j: 
72 nat).(csubst0 j v c c3))))) (drop (S n0) O c2 e) (\lambda (H4: (ex3_2 T nat 
73 (\lambda (_: T).(\lambda (j: nat).(eq nat i (s k j)))) (\lambda (u2: 
74 T).(\lambda (_: nat).(eq C c2 (CHead c k u2)))) (\lambda (u2: T).(\lambda (j: 
75 nat).(subst0 j v t u2))))).(ex3_2_ind T nat (\lambda (_: T).(\lambda (j: 
76 nat).(eq nat i (s k j)))) (\lambda (u2: T).(\lambda (_: nat).(eq C c2 (CHead 
77 c k u2)))) (\lambda (u2: T).(\lambda (j: nat).(subst0 j v t u2))) (drop (S 
78 n0) O c2 e) (\lambda (x0: T).(\lambda (x1: nat).(\lambda (H5: (eq nat i (s k 
79 x1))).(\lambda (H6: (eq C c2 (CHead c k x0))).(\lambda (_: (subst0 x1 v t 
80 x0)).(eq_ind_r C (CHead c k x0) (\lambda (c0: C).(drop (S n0) O c0 e)) (let 
81 H8 \def (eq_ind nat i (\lambda (n: nat).(\forall (c2: C).(\forall (v: 
82 T).((csubst0 n v c c2) \to (\forall (e: C).((drop (S n0) O c e) \to (drop (S 
83 n0) O c2 e))))))) H1 (s k x1) H5) in (let H9 \def (eq_ind nat i (\lambda (n: 
84 nat).(lt n (S n0))) H0 (s k x1) H5) in ((match k in K return (\lambda (k0: 
85 K).((drop (r k0 n0) O c e) \to (((\forall (c2: C).(\forall (v: T).((csubst0 
86 (s k0 x1) v c c2) \to (\forall (e: C).((drop (S n0) O c e) \to (drop (S n0) O 
87 c2 e))))))) \to ((lt (s k0 x1) (S n0)) \to (drop (S n0) O (CHead c k0 x0) 
88 e))))) with [(Bind b) \Rightarrow (\lambda (H10: (drop (r (Bind b) n0) O c 
89 e)).(\lambda (_: ((\forall (c2: C).(\forall (v: T).((csubst0 (s (Bind b) x1) 
90 v c c2) \to (\forall (e: C).((drop (S n0) O c e) \to (drop (S n0) O c2 
91 e)))))))).(\lambda (_: (lt (s (Bind b) x1) (S n0))).(drop_drop (Bind b) n0 c 
92 e H10 x0)))) | (Flat f) \Rightarrow (\lambda (H10: (drop (r (Flat f) n0) O c 
93 e)).(\lambda (_: ((\forall (c2: C).(\forall (v: T).((csubst0 (s (Flat f) x1) 
94 v c c2) \to (\forall (e: C).((drop (S n0) O c e) \to (drop (S n0) O c2 
95 e)))))))).(\lambda (H12: (lt (s (Flat f) x1) (S n0))).(or_ind (eq nat x1 O) 
96 (ex2 nat (\lambda (m: nat).(eq nat x1 (S m))) (\lambda (m: nat).(lt m n0))) 
97 (drop (S n0) O (CHead c (Flat f) x0) e) (\lambda (_: (eq nat x1 
98 O)).(drop_drop (Flat f) n0 c e H10 x0)) (\lambda (H13: (ex2 nat (\lambda (m: 
99 nat).(eq nat x1 (S m))) (\lambda (m: nat).(lt m n0)))).(ex2_ind nat (\lambda 
100 (m: nat).(eq nat x1 (S m))) (\lambda (m: nat).(lt m n0)) (drop (S n0) O 
101 (CHead c (Flat f) x0) e) (\lambda (x: nat).(\lambda (_: (eq nat x1 (S 
102 x))).(\lambda (_: (lt x n0)).(drop_drop (Flat f) n0 c e H10 x0)))) H13)) 
103 (lt_gen_xS x1 n0 H12)))))]) (drop_gen_drop k c e t n0 H3) H8 H9))) c2 
104 H6)))))) H4)) (\lambda (H4: (ex3_2 C nat (\lambda (_: C).(\lambda (j: 
105 nat).(eq nat i (s k j)))) (\lambda (c3: C).(\lambda (_: nat).(eq C c2 (CHead 
106 c3 k t)))) (\lambda (c2: C).(\lambda (j: nat).(csubst0 j v c 
107 c2))))).(ex3_2_ind C nat (\lambda (_: C).(\lambda (j: nat).(eq nat i (s k 
108 j)))) (\lambda (c3: C).(\lambda (_: nat).(eq C c2 (CHead c3 k t)))) (\lambda 
109 (c3: C).(\lambda (j: nat).(csubst0 j v c c3))) (drop (S n0) O c2 e) (\lambda 
110 (x0: C).(\lambda (x1: nat).(\lambda (H5: (eq nat i (s k x1))).(\lambda (H6: 
111 (eq C c2 (CHead x0 k t))).(\lambda (H7: (csubst0 x1 v c x0)).(eq_ind_r C 
112 (CHead x0 k t) (\lambda (c0: C).(drop (S n0) O c0 e)) (let H8 \def (eq_ind 
113 nat i (\lambda (n: nat).(\forall (c2: C).(\forall (v: T).((csubst0 n v c c2) 
114 \to (\forall (e: C).((drop (S n0) O c e) \to (drop (S n0) O c2 e))))))) H1 (s 
115 k x1) H5) in (let H9 \def (eq_ind nat i (\lambda (n: nat).(lt n (S n0))) H0 
116 (s k x1) H5) in ((match k in K return (\lambda (k0: K).((drop (r k0 n0) O c 
117 e) \to (((\forall (c2: C).(\forall (v: T).((csubst0 (s k0 x1) v c c2) \to 
118 (\forall (e: C).((drop (S n0) O c e) \to (drop (S n0) O c2 e))))))) \to ((lt 
119 (s k0 x1) (S n0)) \to (drop (S n0) O (CHead x0 k0 t) e))))) with [(Bind b) 
120 \Rightarrow (\lambda (H10: (drop (r (Bind b) n0) O c e)).(\lambda (_: 
121 ((\forall (c2: C).(\forall (v: T).((csubst0 (s (Bind b) x1) v c c2) \to 
122 (\forall (e: C).((drop (S n0) O c e) \to (drop (S n0) O c2 e)))))))).(\lambda 
123 (H12: (lt (s (Bind b) x1) (S n0))).(drop_drop (Bind b) n0 x0 e (H x1 (lt_S_n 
124 x1 n0 H12) c x0 v H7 e H10) t)))) | (Flat f) \Rightarrow (\lambda (H10: (drop 
125 (r (Flat f) n0) O c e)).(\lambda (H11: ((\forall (c2: C).(\forall (v: 
126 T).((csubst0 (s (Flat f) x1) v c c2) \to (\forall (e: C).((drop (S n0) O c e) 
127 \to (drop (S n0) O c2 e)))))))).(\lambda (H12: (lt (s (Flat f) x1) (S 
128 n0))).(or_ind (eq nat x1 O) (ex2 nat (\lambda (m: nat).(eq nat x1 (S m))) 
129 (\lambda (m: nat).(lt m n0))) (drop (S n0) O (CHead x0 (Flat f) t) e) 
130 (\lambda (_: (eq nat x1 O)).(drop_drop (Flat f) n0 x0 e (H11 x0 v H7 e H10) 
131 t)) (\lambda (H13: (ex2 nat (\lambda (m: nat).(eq nat x1 (S m))) (\lambda (m: 
132 nat).(lt m n0)))).(ex2_ind nat (\lambda (m: nat).(eq nat x1 (S m))) (\lambda 
133 (m: nat).(lt m n0)) (drop (S n0) O (CHead x0 (Flat f) t) e) (\lambda (x: 
134 nat).(\lambda (_: (eq nat x1 (S x))).(\lambda (_: (lt x n0)).(drop_drop (Flat 
135 f) n0 x0 e (H11 x0 v H7 e H10) t)))) H13)) (lt_gen_xS x1 n0 H12)))))]) 
136 (drop_gen_drop k c e t n0 H3) H8 H9))) c2 H6)))))) H4)) (\lambda (H4: (ex4_3 
137 T C nat (\lambda (_: T).(\lambda (_: C).(\lambda (j: nat).(eq nat i (s k 
138 j))))) (\lambda (u2: T).(\lambda (c3: C).(\lambda (_: nat).(eq C c2 (CHead c3 
139 k u2))))) (\lambda (u2: T).(\lambda (_: C).(\lambda (j: nat).(subst0 j v t 
140 u2)))) (\lambda (_: T).(\lambda (c2: C).(\lambda (j: nat).(csubst0 j v c 
141 c2)))))).(ex4_3_ind T C nat (\lambda (_: T).(\lambda (_: C).(\lambda (j: 
142 nat).(eq nat i (s k j))))) (\lambda (u2: T).(\lambda (c3: C).(\lambda (_: 
143 nat).(eq C c2 (CHead c3 k u2))))) (\lambda (u2: T).(\lambda (_: C).(\lambda 
144 (j: nat).(subst0 j v t u2)))) (\lambda (_: T).(\lambda (c3: C).(\lambda (j: 
145 nat).(csubst0 j v c c3)))) (drop (S n0) O c2 e) (\lambda (x0: T).(\lambda 
146 (x1: C).(\lambda (x2: nat).(\lambda (H5: (eq nat i (s k x2))).(\lambda (H6: 
147 (eq C c2 (CHead x1 k x0))).(\lambda (_: (subst0 x2 v t x0)).(\lambda (H8: 
148 (csubst0 x2 v c x1)).(eq_ind_r C (CHead x1 k x0) (\lambda (c0: C).(drop (S 
149 n0) O c0 e)) (let H9 \def (eq_ind nat i (\lambda (n: nat).(\forall (c2: 
150 C).(\forall (v: T).((csubst0 n v c c2) \to (\forall (e: C).((drop (S n0) O c 
151 e) \to (drop (S n0) O c2 e))))))) H1 (s k x2) H5) in (let H10 \def (eq_ind 
152 nat i (\lambda (n: nat).(lt n (S n0))) H0 (s k x2) H5) in ((match k in K 
153 return (\lambda (k0: K).((drop (r k0 n0) O c e) \to (((\forall (c2: 
154 C).(\forall (v: T).((csubst0 (s k0 x2) v c c2) \to (\forall (e: C).((drop (S 
155 n0) O c e) \to (drop (S n0) O c2 e))))))) \to ((lt (s k0 x2) (S n0)) \to 
156 (drop (S n0) O (CHead x1 k0 x0) e))))) with [(Bind b) \Rightarrow (\lambda 
157 (H11: (drop (r (Bind b) n0) O c e)).(\lambda (_: ((\forall (c2: C).(\forall 
158 (v: T).((csubst0 (s (Bind b) x2) v c c2) \to (\forall (e: C).((drop (S n0) O 
159 c e) \to (drop (S n0) O c2 e)))))))).(\lambda (H13: (lt (s (Bind b) x2) (S 
160 n0))).(drop_drop (Bind b) n0 x1 e (H x2 (lt_S_n x2 n0 H13) c x1 v H8 e H11) 
161 x0)))) | (Flat f) \Rightarrow (\lambda (H11: (drop (r (Flat f) n0) O c 
162 e)).(\lambda (H12: ((\forall (c2: C).(\forall (v: T).((csubst0 (s (Flat f) 
163 x2) v c c2) \to (\forall (e: C).((drop (S n0) O c e) \to (drop (S n0) O c2 
164 e)))))))).(\lambda (H13: (lt (s (Flat f) x2) (S n0))).(or_ind (eq nat x2 O) 
165 (ex2 nat (\lambda (m: nat).(eq nat x2 (S m))) (\lambda (m: nat).(lt m n0))) 
166 (drop (S n0) O (CHead x1 (Flat f) x0) e) (\lambda (_: (eq nat x2 
167 O)).(drop_drop (Flat f) n0 x1 e (H12 x1 v H8 e H11) x0)) (\lambda (H14: (ex2 
168 nat (\lambda (m: nat).(eq nat x2 (S m))) (\lambda (m: nat).(lt m 
169 n0)))).(ex2_ind nat (\lambda (m: nat).(eq nat x2 (S m))) (\lambda (m: 
170 nat).(lt m n0)) (drop (S n0) O (CHead x1 (Flat f) x0) e) (\lambda (x: 
171 nat).(\lambda (_: (eq nat x2 (S x))).(\lambda (_: (lt x n0)).(drop_drop (Flat 
172 f) n0 x1 e (H12 x1 v H8 e H11) x0)))) H14)) (lt_gen_xS x2 n0 H13)))))]) 
173 (drop_gen_drop k c e t n0 H3) H9 H10))) c2 H6)))))))) H4)) (csubst0_gen_head 
174 k c c2 t v i H2))))))))))) c1)))))) n).
175
176 theorem csubst0_drop_gt_back:
177  \forall (n: nat).(\forall (i: nat).((lt i n) \to (\forall (c1: C).(\forall 
178 (c2: C).(\forall (v: T).((csubst0 i v c1 c2) \to (\forall (e: C).((drop n O 
179 c2 e) \to (drop n O c1 e)))))))))
180 \def
181  \lambda (n: nat).(nat_ind (\lambda (n0: nat).(\forall (i: nat).((lt i n0) 
182 \to (\forall (c1: C).(\forall (c2: C).(\forall (v: T).((csubst0 i v c1 c2) 
183 \to (\forall (e: C).((drop n0 O c2 e) \to (drop n0 O c1 e)))))))))) (\lambda 
184 (i: nat).(\lambda (H: (lt i O)).(\lambda (c1: C).(\lambda (c2: C).(\lambda 
185 (v: T).(\lambda (_: (csubst0 i v c1 c2)).(\lambda (e: C).(\lambda (_: (drop O 
186 O c2 e)).(let H2 \def (match H in le return (\lambda (n: nat).(\lambda (_: 
187 (le ? n)).((eq nat n O) \to (drop O O c1 e)))) with [le_n \Rightarrow 
188 (\lambda (H2: (eq nat (S i) O)).(let H3 \def (eq_ind nat (S i) (\lambda (e0: 
189 nat).(match e0 in nat return (\lambda (_: nat).Prop) with [O \Rightarrow 
190 False | (S _) \Rightarrow True])) I O H2) in (False_ind (drop O O c1 e) H3))) 
191 | (le_S m H2) \Rightarrow (\lambda (H3: (eq nat (S m) O)).((let H4 \def 
192 (eq_ind nat (S m) (\lambda (e0: nat).(match e0 in nat return (\lambda (_: 
193 nat).Prop) with [O \Rightarrow False | (S _) \Rightarrow True])) I O H3) in 
194 (False_ind ((le (S i) m) \to (drop O O c1 e)) H4)) H2))]) in (H2 (refl_equal 
195 nat O))))))))))) (\lambda (n0: nat).(\lambda (H: ((\forall (i: nat).((lt i 
196 n0) \to (\forall (c1: C).(\forall (c2: C).(\forall (v: T).((csubst0 i v c1 
197 c2) \to (\forall (e: C).((drop n0 O c2 e) \to (drop n0 O c1 
198 e))))))))))).(\lambda (i: nat).(\lambda (H0: (lt i (S n0))).(\lambda (c1: 
199 C).(C_ind (\lambda (c: C).(\forall (c2: C).(\forall (v: T).((csubst0 i v c 
200 c2) \to (\forall (e: C).((drop (S n0) O c2 e) \to (drop (S n0) O c e))))))) 
201 (\lambda (n1: nat).(\lambda (c2: C).(\lambda (v: T).(\lambda (H1: (csubst0 i 
202 v (CSort n1) c2)).(\lambda (e: C).(\lambda (_: (drop (S n0) O c2 
203 e)).(csubst0_gen_sort c2 v i n1 H1 (drop (S n0) O (CSort n1) e)))))))) 
204 (\lambda (c: C).(\lambda (H1: ((\forall (c2: C).(\forall (v: T).((csubst0 i v 
205 c c2) \to (\forall (e: C).((drop (S n0) O c2 e) \to (drop (S n0) O c 
206 e)))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (c2: C).(\lambda (v: 
207 T).(\lambda (H2: (csubst0 i v (CHead c k t) c2)).(\lambda (e: C).(\lambda 
208 (H3: (drop (S n0) O c2 e)).(or3_ind (ex3_2 T nat (\lambda (_: T).(\lambda (j: 
209 nat).(eq nat i (s k j)))) (\lambda (u2: T).(\lambda (_: nat).(eq C c2 (CHead 
210 c k u2)))) (\lambda (u2: T).(\lambda (j: nat).(subst0 j v t u2)))) (ex3_2 C 
211 nat (\lambda (_: C).(\lambda (j: nat).(eq nat i (s k j)))) (\lambda (c3: 
212 C).(\lambda (_: nat).(eq C c2 (CHead c3 k t)))) (\lambda (c3: C).(\lambda (j: 
213 nat).(csubst0 j v c c3)))) (ex4_3 T C nat (\lambda (_: T).(\lambda (_: 
214 C).(\lambda (j: nat).(eq nat i (s k j))))) (\lambda (u2: T).(\lambda (c3: 
215 C).(\lambda (_: nat).(eq C c2 (CHead c3 k u2))))) (\lambda (u2: T).(\lambda 
216 (_: C).(\lambda (j: nat).(subst0 j v t u2)))) (\lambda (_: T).(\lambda (c3: 
217 C).(\lambda (j: nat).(csubst0 j v c c3))))) (drop (S n0) O (CHead c k t) e) 
218 (\lambda (H4: (ex3_2 T nat (\lambda (_: T).(\lambda (j: nat).(eq nat i (s k 
219 j)))) (\lambda (u2: T).(\lambda (_: nat).(eq C c2 (CHead c k u2)))) (\lambda 
220 (u2: T).(\lambda (j: nat).(subst0 j v t u2))))).(ex3_2_ind T nat (\lambda (_: 
221 T).(\lambda (j: nat).(eq nat i (s k j)))) (\lambda (u2: T).(\lambda (_: 
222 nat).(eq C c2 (CHead c k u2)))) (\lambda (u2: T).(\lambda (j: nat).(subst0 j 
223 v t u2))) (drop (S n0) O (CHead c k t) e) (\lambda (x0: T).(\lambda (x1: 
224 nat).(\lambda (H5: (eq nat i (s k x1))).(\lambda (H6: (eq C c2 (CHead c k 
225 x0))).(\lambda (_: (subst0 x1 v t x0)).(let H8 \def (eq_ind C c2 (\lambda (c: 
226 C).(drop (S n0) O c e)) H3 (CHead c k x0) H6) in (let H9 \def (eq_ind nat i 
227 (\lambda (n: nat).(\forall (c2: C).(\forall (v: T).((csubst0 n v c c2) \to 
228 (\forall (e: C).((drop (S n0) O c2 e) \to (drop (S n0) O c e))))))) H1 (s k 
229 x1) H5) in (let H10 \def (eq_ind nat i (\lambda (n: nat).(lt n (S n0))) H0 (s 
230 k x1) H5) in ((match k in K return (\lambda (k0: K).(((\forall (c2: 
231 C).(\forall (v: T).((csubst0 (s k0 x1) v c c2) \to (\forall (e: C).((drop (S 
232 n0) O c2 e) \to (drop (S n0) O c e))))))) \to ((lt (s k0 x1) (S n0)) \to 
233 ((drop (r k0 n0) O c e) \to (drop (S n0) O (CHead c k0 t) e))))) with [(Bind 
234 b) \Rightarrow (\lambda (_: ((\forall (c2: C).(\forall (v: T).((csubst0 (s 
235 (Bind b) x1) v c c2) \to (\forall (e: C).((drop (S n0) O c2 e) \to (drop (S 
236 n0) O c e)))))))).(\lambda (_: (lt (s (Bind b) x1) (S n0))).(\lambda (H13: 
237 (drop (r (Bind b) n0) O c e)).(drop_drop (Bind b) n0 c e H13 t)))) | (Flat f) 
238 \Rightarrow (\lambda (_: ((\forall (c2: C).(\forall (v: T).((csubst0 (s (Flat 
239 f) x1) v c c2) \to (\forall (e: C).((drop (S n0) O c2 e) \to (drop (S n0) O c 
240 e)))))))).(\lambda (H12: (lt (s (Flat f) x1) (S n0))).(\lambda (H13: (drop (r 
241 (Flat f) n0) O c e)).(or_ind (eq nat x1 O) (ex2 nat (\lambda (m: nat).(eq nat 
242 x1 (S m))) (\lambda (m: nat).(lt m n0))) (drop (S n0) O (CHead c (Flat f) t) 
243 e) (\lambda (_: (eq nat x1 O)).(drop_drop (Flat f) n0 c e H13 t)) (\lambda 
244 (H14: (ex2 nat (\lambda (m: nat).(eq nat x1 (S m))) (\lambda (m: nat).(lt m 
245 n0)))).(ex2_ind nat (\lambda (m: nat).(eq nat x1 (S m))) (\lambda (m: 
246 nat).(lt m n0)) (drop (S n0) O (CHead c (Flat f) t) e) (\lambda (x: 
247 nat).(\lambda (_: (eq nat x1 (S x))).(\lambda (_: (lt x n0)).(drop_drop (Flat 
248 f) n0 c e H13 t)))) H14)) (lt_gen_xS x1 n0 H12)))))]) H9 H10 (drop_gen_drop k 
249 c e x0 n0 H8)))))))))) H4)) (\lambda (H4: (ex3_2 C nat (\lambda (_: 
250 C).(\lambda (j: nat).(eq nat i (s k j)))) (\lambda (c3: C).(\lambda (_: 
251 nat).(eq C c2 (CHead c3 k t)))) (\lambda (c2: C).(\lambda (j: nat).(csubst0 j 
252 v c c2))))).(ex3_2_ind C nat (\lambda (_: C).(\lambda (j: nat).(eq nat i (s k 
253 j)))) (\lambda (c3: C).(\lambda (_: nat).(eq C c2 (CHead c3 k t)))) (\lambda 
254 (c3: C).(\lambda (j: nat).(csubst0 j v c c3))) (drop (S n0) O (CHead c k t) 
255 e) (\lambda (x0: C).(\lambda (x1: nat).(\lambda (H5: (eq nat i (s k 
256 x1))).(\lambda (H6: (eq C c2 (CHead x0 k t))).(\lambda (H7: (csubst0 x1 v c 
257 x0)).(let H8 \def (eq_ind C c2 (\lambda (c: C).(drop (S n0) O c e)) H3 (CHead 
258 x0 k t) H6) in (let H9 \def (eq_ind nat i (\lambda (n: nat).(\forall (c2: 
259 C).(\forall (v: T).((csubst0 n v c c2) \to (\forall (e: C).((drop (S n0) O c2 
260 e) \to (drop (S n0) O c e))))))) H1 (s k x1) H5) in (let H10 \def (eq_ind nat 
261 i (\lambda (n: nat).(lt n (S n0))) H0 (s k x1) H5) in ((match k in K return 
262 (\lambda (k0: K).(((\forall (c2: C).(\forall (v: T).((csubst0 (s k0 x1) v c 
263 c2) \to (\forall (e: C).((drop (S n0) O c2 e) \to (drop (S n0) O c e))))))) 
264 \to ((lt (s k0 x1) (S n0)) \to ((drop (r k0 n0) O x0 e) \to (drop (S n0) O 
265 (CHead c k0 t) e))))) with [(Bind b) \Rightarrow (\lambda (_: ((\forall (c2: 
266 C).(\forall (v: T).((csubst0 (s (Bind b) x1) v c c2) \to (\forall (e: 
267 C).((drop (S n0) O c2 e) \to (drop (S n0) O c e)))))))).(\lambda (H12: (lt (s 
268 (Bind b) x1) (S n0))).(\lambda (H13: (drop (r (Bind b) n0) O x0 
269 e)).(drop_drop (Bind b) n0 c e (H x1 (lt_S_n x1 n0 H12) c x0 v H7 e H13) 
270 t)))) | (Flat f) \Rightarrow (\lambda (H11: ((\forall (c2: C).(\forall (v: 
271 T).((csubst0 (s (Flat f) x1) v c c2) \to (\forall (e: C).((drop (S n0) O c2 
272 e) \to (drop (S n0) O c e)))))))).(\lambda (H12: (lt (s (Flat f) x1) (S 
273 n0))).(\lambda (H13: (drop (r (Flat f) n0) O x0 e)).(or_ind (eq nat x1 O) 
274 (ex2 nat (\lambda (m: nat).(eq nat x1 (S m))) (\lambda (m: nat).(lt m n0))) 
275 (drop (S n0) O (CHead c (Flat f) t) e) (\lambda (_: (eq nat x1 O)).(drop_drop 
276 (Flat f) n0 c e (H11 x0 v H7 e H13) t)) (\lambda (H14: (ex2 nat (\lambda (m: 
277 nat).(eq nat x1 (S m))) (\lambda (m: nat).(lt m n0)))).(ex2_ind nat (\lambda 
278 (m: nat).(eq nat x1 (S m))) (\lambda (m: nat).(lt m n0)) (drop (S n0) O 
279 (CHead c (Flat f) t) e) (\lambda (x: nat).(\lambda (_: (eq nat x1 (S 
280 x))).(\lambda (_: (lt x n0)).(drop_drop (Flat f) n0 c e (H11 x0 v H7 e H13) 
281 t)))) H14)) (lt_gen_xS x1 n0 H12)))))]) H9 H10 (drop_gen_drop k x0 e t n0 
282 H8)))))))))) H4)) (\lambda (H4: (ex4_3 T C nat (\lambda (_: T).(\lambda (_: 
283 C).(\lambda (j: nat).(eq nat i (s k j))))) (\lambda (u2: T).(\lambda (c3: 
284 C).(\lambda (_: nat).(eq C c2 (CHead c3 k u2))))) (\lambda (u2: T).(\lambda 
285 (_: C).(\lambda (j: nat).(subst0 j v t u2)))) (\lambda (_: T).(\lambda (c2: 
286 C).(\lambda (j: nat).(csubst0 j v c c2)))))).(ex4_3_ind T C nat (\lambda (_: 
287 T).(\lambda (_: C).(\lambda (j: nat).(eq nat i (s k j))))) (\lambda (u2: 
288 T).(\lambda (c3: C).(\lambda (_: nat).(eq C c2 (CHead c3 k u2))))) (\lambda 
289 (u2: T).(\lambda (_: C).(\lambda (j: nat).(subst0 j v t u2)))) (\lambda (_: 
290 T).(\lambda (c3: C).(\lambda (j: nat).(csubst0 j v c c3)))) (drop (S n0) O 
291 (CHead c k t) e) (\lambda (x0: T).(\lambda (x1: C).(\lambda (x2: 
292 nat).(\lambda (H5: (eq nat i (s k x2))).(\lambda (H6: (eq C c2 (CHead x1 k 
293 x0))).(\lambda (_: (subst0 x2 v t x0)).(\lambda (H8: (csubst0 x2 v c 
294 x1)).(let H9 \def (eq_ind C c2 (\lambda (c: C).(drop (S n0) O c e)) H3 (CHead 
295 x1 k x0) H6) in (let H10 \def (eq_ind nat i (\lambda (n: nat).(\forall (c2: 
296 C).(\forall (v: T).((csubst0 n v c c2) \to (\forall (e: C).((drop (S n0) O c2 
297 e) \to (drop (S n0) O c e))))))) H1 (s k x2) H5) in (let H11 \def (eq_ind nat 
298 i (\lambda (n: nat).(lt n (S n0))) H0 (s k x2) H5) in ((match k in K return 
299 (\lambda (k0: K).(((\forall (c2: C).(\forall (v: T).((csubst0 (s k0 x2) v c 
300 c2) \to (\forall (e: C).((drop (S n0) O c2 e) \to (drop (S n0) O c e))))))) 
301 \to ((lt (s k0 x2) (S n0)) \to ((drop (r k0 n0) O x1 e) \to (drop (S n0) O 
302 (CHead c k0 t) e))))) with [(Bind b) \Rightarrow (\lambda (_: ((\forall (c2: 
303 C).(\forall (v: T).((csubst0 (s (Bind b) x2) v c c2) \to (\forall (e: 
304 C).((drop (S n0) O c2 e) \to (drop (S n0) O c e)))))))).(\lambda (H13: (lt (s 
305 (Bind b) x2) (S n0))).(\lambda (H14: (drop (r (Bind b) n0) O x1 
306 e)).(drop_drop (Bind b) n0 c e (H x2 (lt_S_n x2 n0 H13) c x1 v H8 e H14) 
307 t)))) | (Flat f) \Rightarrow (\lambda (H12: ((\forall (c2: C).(\forall (v: 
308 T).((csubst0 (s (Flat f) x2) v c c2) \to (\forall (e: C).((drop (S n0) O c2 
309 e) \to (drop (S n0) O c e)))))))).(\lambda (H13: (lt (s (Flat f) x2) (S 
310 n0))).(\lambda (H14: (drop (r (Flat f) n0) O x1 e)).(or_ind (eq nat x2 O) 
311 (ex2 nat (\lambda (m: nat).(eq nat x2 (S m))) (\lambda (m: nat).(lt m n0))) 
312 (drop (S n0) O (CHead c (Flat f) t) e) (\lambda (_: (eq nat x2 O)).(drop_drop 
313 (Flat f) n0 c e (H12 x1 v H8 e H14) t)) (\lambda (H15: (ex2 nat (\lambda (m: 
314 nat).(eq nat x2 (S m))) (\lambda (m: nat).(lt m n0)))).(ex2_ind nat (\lambda 
315 (m: nat).(eq nat x2 (S m))) (\lambda (m: nat).(lt m n0)) (drop (S n0) O 
316 (CHead c (Flat f) t) e) (\lambda (x: nat).(\lambda (_: (eq nat x2 (S 
317 x))).(\lambda (_: (lt x n0)).(drop_drop (Flat f) n0 c e (H12 x1 v H8 e H14) 
318 t)))) H15)) (lt_gen_xS x2 n0 H13)))))]) H10 H11 (drop_gen_drop k x1 e x0 n0 
319 H9)))))))))))) H4)) (csubst0_gen_head k c c2 t v i H2))))))))))) c1)))))) n).
320
321 theorem csubst0_drop_lt:
322  \forall (n: nat).(\forall (i: nat).((lt n i) \to (\forall (c1: C).(\forall 
323 (c2: C).(\forall (v: T).((csubst0 i v c1 c2) \to (\forall (e: C).((drop n O 
324 c1 e) \to (or4 (drop n O c2 e) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: 
325 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k u)))))) (\lambda (k: 
326 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop n O c2 (CHead e0 k 
327 w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
328 T).(subst0 (minus i (s k n)) v u w)))))) (ex3_4 K C C T (\lambda (k: 
329 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k 
330 u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
331 T).(drop n O c2 (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
332 (e2: C).(\lambda (_: T).(csubst0 (minus i (s k n)) v e1 e2)))))) (ex4_5 K C C 
333 T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda 
334 (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda 
335 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop n O c2 (CHead e2 k w))))))) 
336 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
337 T).(subst0 (minus i (s k n)) v u w)))))) (\lambda (k: K).(\lambda (e1: 
338 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i (s k 
339 n)) v e1 e2))))))))))))))))
340 \def
341  \lambda (n: nat).(nat_ind (\lambda (n0: nat).(\forall (i: nat).((lt n0 i) 
342 \to (\forall (c1: C).(\forall (c2: C).(\forall (v: T).((csubst0 i v c1 c2) 
343 \to (\forall (e: C).((drop n0 O c1 e) \to (or4 (drop n0 O c2 e) (ex3_4 K C T 
344 T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
345 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda 
346 (w: T).(drop n0 O c2 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
347 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i (s k n0)) v u w)))))) 
348 (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
349 T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
350 C).(\lambda (u: T).(drop n0 O c2 (CHead e2 k u)))))) (\lambda (k: K).(\lambda 
351 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i (s k n0)) v e1 
352 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
353 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: 
354 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop n0 
355 O c2 (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: 
356 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i (s k n0)) v u w)))))) 
357 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
358 (_: T).(csubst0 (minus i (s k n0)) v e1 e2))))))))))))))))) (\lambda (i: 
359 nat).(\lambda (_: (lt O i)).(\lambda (c1: C).(\lambda (c2: C).(\lambda (v: 
360 T).(\lambda (H0: (csubst0 i v c1 c2)).(\lambda (e: C).(\lambda (H1: (drop O O 
361 c1 e)).(eq_ind C c1 (\lambda (c: C).(or4 (drop O O c2 c) (ex3_4 K C T T 
362 (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c 
363 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda 
364 (w: T).(drop O O c2 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
365 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i (s k O)) v u w)))))) 
366 (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
367 T).(eq C c (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
368 C).(\lambda (u: T).(drop O O c2 (CHead e2 k u)))))) (\lambda (k: K).(\lambda 
369 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i (s k O)) v e1 
370 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
371 C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e1 k u))))))) (\lambda (k: 
372 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O 
373 c2 (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: 
374 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i (s k O)) v u w)))))) 
375 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
376 (_: T).(csubst0 (minus i (s k O)) v e1 e2))))))))) (csubst0_ind (\lambda (n0: 
377 nat).(\lambda (t: T).(\lambda (c: C).(\lambda (c0: C).(or4 (drop O O c0 c) 
378 (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: 
379 T).(eq C c (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
380 T).(\lambda (w: T).(drop O O c0 (CHead e0 k w)))))) (\lambda (k: K).(\lambda 
381 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus n0 (s k O)) t u w)))))) 
382 (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
383 T).(eq C c (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
384 C).(\lambda (u: T).(drop O O c0 (CHead e2 k u)))))) (\lambda (k: K).(\lambda 
385 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus n0 (s k O)) t e1 
386 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
387 C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e1 k u))))))) (\lambda (k: 
388 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O 
389 c0 (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: 
390 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus n0 (s k O)) t u w)))))) 
391 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
392 (_: T).(csubst0 (minus n0 (s k O)) t e1 e2)))))))))))) (\lambda (k: 
393 K).(\lambda (i0: nat).(\lambda (v0: T).(\lambda (u1: T).(\lambda (u2: 
394 T).(\lambda (H2: (subst0 i0 v0 u1 u2)).(\lambda (c: C).(let H3 \def (eq_ind_r 
395 nat i0 (\lambda (n: nat).(subst0 n v0 u1 u2)) H2 (minus (s k i0) (s k O)) 
396 (s_arith0 k i0)) in (or4_intro1 (drop O O (CHead c k u2) (CHead c k u1)) 
397 (ex3_4 K C T T (\lambda (k0: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: 
398 T).(eq C (CHead c k u1) (CHead e0 k0 u)))))) (\lambda (k0: K).(\lambda (e0: 
399 C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c k u2) (CHead e0 k0 
400 w)))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
401 T).(subst0 (minus (s k i0) (s k0 O)) v0 u w)))))) (ex3_4 K C C T (\lambda 
402 (k0: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead c k u1) 
403 (CHead e1 k0 u)))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (e2: 
404 C).(\lambda (u: T).(drop O O (CHead c k u2) (CHead e2 k0 u)))))) (\lambda 
405 (k0: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s 
406 k i0) (s k0 O)) v0 e1 e2)))))) (ex4_5 K C C T T (\lambda (k0: K).(\lambda 
407 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c k u1) 
408 (CHead e1 k0 u))))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (e2: 
409 C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c k u2) (CHead e2 k0 
410 w))))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
411 T).(\lambda (w: T).(subst0 (minus (s k i0) (s k0 O)) v0 u w)))))) (\lambda 
412 (k0: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: 
413 T).(csubst0 (minus (s k i0) (s k0 O)) v0 e1 e2))))))) (ex3_4_intro K C T T 
414 (\lambda (k0: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C 
415 (CHead c k u1) (CHead e0 k0 u)))))) (\lambda (k0: K).(\lambda (e0: 
416 C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c k u2) (CHead e0 k0 
417 w)))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
418 T).(subst0 (minus (s k i0) (s k0 O)) v0 u w))))) k c u1 u2 (refl_equal C 
419 (CHead c k u1)) (drop_refl (CHead c k u2)) H3)))))))))) (\lambda (k: 
420 K).(\lambda (i0: nat).(\lambda (c3: C).(\lambda (c4: C).(\lambda (v0: 
421 T).(\lambda (H2: (csubst0 i0 v0 c3 c4)).(\lambda (H3: (or4 (drop O O c4 c3) 
422 (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: 
423 T).(eq C c3 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
424 T).(\lambda (w: T).(drop O O c4 (CHead e0 k w)))))) (\lambda (k: K).(\lambda 
425 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i0 (s k O)) v0 u 
426 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
427 C).(\lambda (u: T).(eq C c3 (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: 
428 C).(\lambda (e2: C).(\lambda (u: T).(drop O O c4 (CHead e2 k u)))))) (\lambda 
429 (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i0 
430 (s k O)) v0 e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: 
431 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e1 k 
432 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
433 T).(\lambda (w: T).(drop O O c4 (CHead e2 k w))))))) (\lambda (k: K).(\lambda 
434 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i0 (s k 
435 O)) v0 u w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
436 (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k O)) v0 e1 e2))))))))).(\lambda 
437 (u: T).(let H4 \def (eq_ind_r nat i0 (\lambda (n: nat).(csubst0 n v0 c3 c4)) 
438 H2 (minus (s k i0) (s k O)) (s_arith0 k i0)) in (let H5 \def (eq_ind_r nat i0 
439 (\lambda (n: nat).(or4 (drop O O c4 c3) (ex3_4 K C T T (\lambda (k: 
440 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e0 k 
441 u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
442 T).(drop O O c4 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda 
443 (u: T).(\lambda (w: T).(subst0 (minus n (s k O)) v0 u w)))))) (ex3_4 K C C T 
444 (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C c3 
445 (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda 
446 (u: T).(drop O O c4 (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: 
447 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus n (s k O)) v0 e1 e2)))))) 
448 (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda 
449 (u: T).(\lambda (_: T).(eq C c3 (CHead e1 k u))))))) (\lambda (k: K).(\lambda 
450 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O c4 (CHead 
451 e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
452 T).(\lambda (w: T).(subst0 (minus n (s k O)) v0 u w)))))) (\lambda (k: 
453 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
454 (minus n (s k O)) v0 e1 e2))))))))) H3 (minus (s k i0) (s k O)) (s_arith0 k 
455 i0)) in (or4_intro2 (drop O O (CHead c4 k u) (CHead c3 k u)) (ex3_4 K C T T 
456 (\lambda (k0: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C 
457 (CHead c3 k u) (CHead e0 k0 u0)))))) (\lambda (k0: K).(\lambda (e0: 
458 C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c4 k u) (CHead e0 k0 
459 w)))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
460 T).(subst0 (minus (s k i0) (s k0 O)) v0 u0 w)))))) (ex3_4 K C C T (\lambda 
461 (k0: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead c3 k 
462 u) (CHead e1 k0 u0)))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (e2: 
463 C).(\lambda (u0: T).(drop O O (CHead c4 k u) (CHead e2 k0 u0)))))) (\lambda 
464 (k0: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s 
465 k i0) (s k0 O)) v0 e1 e2)))))) (ex4_5 K C C T T (\lambda (k0: K).(\lambda 
466 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead c3 k u) 
467 (CHead e1 k0 u0))))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (e2: 
468 C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c4 k u) (CHead e2 k0 
469 w))))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: 
470 T).(\lambda (w: T).(subst0 (minus (s k i0) (s k0 O)) v0 u0 w)))))) (\lambda 
471 (k0: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: 
472 T).(csubst0 (minus (s k i0) (s k0 O)) v0 e1 e2))))))) (ex3_4_intro K C C T 
473 (\lambda (k0: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C 
474 (CHead c3 k u) (CHead e1 k0 u0)))))) (\lambda (k0: K).(\lambda (_: 
475 C).(\lambda (e2: C).(\lambda (u0: T).(drop O O (CHead c4 k u) (CHead e2 k0 
476 u0)))))) (\lambda (k0: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
477 T).(csubst0 (minus (s k i0) (s k0 O)) v0 e1 e2))))) k c3 c4 u (refl_equal C 
478 (CHead c3 k u)) (drop_refl (CHead c4 k u)) H4)))))))))))) (\lambda (k: 
479 K).(\lambda (i0: nat).(\lambda (v0: T).(\lambda (u1: T).(\lambda (u2: 
480 T).(\lambda (H2: (subst0 i0 v0 u1 u2)).(\lambda (c3: C).(\lambda (c4: 
481 C).(\lambda (H3: (csubst0 i0 v0 c3 c4)).(\lambda (_: (or4 (drop O O c4 c3) 
482 (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: 
483 T).(eq C c3 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
484 T).(\lambda (w: T).(drop O O c4 (CHead e0 k w)))))) (\lambda (k: K).(\lambda 
485 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i0 (s k O)) v0 u 
486 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
487 C).(\lambda (u: T).(eq C c3 (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: 
488 C).(\lambda (e2: C).(\lambda (u: T).(drop O O c4 (CHead e2 k u)))))) (\lambda 
489 (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i0 
490 (s k O)) v0 e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: 
491 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e1 k 
492 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
493 T).(\lambda (w: T).(drop O O c4 (CHead e2 k w))))))) (\lambda (k: K).(\lambda 
494 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i0 (s k 
495 O)) v0 u w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
496 (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k O)) v0 e1 e2))))))))).(let H5 
497 \def (eq_ind_r nat i0 (\lambda (n: nat).(subst0 n v0 u1 u2)) H2 (minus (s k 
498 i0) (s k O)) (s_arith0 k i0)) in (let H6 \def (eq_ind_r nat i0 (\lambda (n: 
499 nat).(csubst0 n v0 c3 c4)) H3 (minus (s k i0) (s k O)) (s_arith0 k i0)) in 
500 (or4_intro3 (drop O O (CHead c4 k u2) (CHead c3 k u1)) (ex3_4 K C T T 
501 (\lambda (k0: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C 
502 (CHead c3 k u1) (CHead e0 k0 u)))))) (\lambda (k0: K).(\lambda (e0: 
503 C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c4 k u2) (CHead e0 k0 
504 w)))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
505 T).(subst0 (minus (s k i0) (s k0 O)) v0 u w)))))) (ex3_4 K C C T (\lambda 
506 (k0: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead c3 k 
507 u1) (CHead e1 k0 u)))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (e2: 
508 C).(\lambda (u: T).(drop O O (CHead c4 k u2) (CHead e2 k0 u)))))) (\lambda 
509 (k0: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s 
510 k i0) (s k0 O)) v0 e1 e2)))))) (ex4_5 K C C T T (\lambda (k0: K).(\lambda 
511 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c3 k u1) 
512 (CHead e1 k0 u))))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (e2: 
513 C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c4 k u2) (CHead e2 k0 
514 w))))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
515 T).(\lambda (w: T).(subst0 (minus (s k i0) (s k0 O)) v0 u w)))))) (\lambda 
516 (k0: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: 
517 T).(csubst0 (minus (s k i0) (s k0 O)) v0 e1 e2))))))) (ex4_5_intro K C C T T 
518 (\lambda (k0: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda 
519 (_: T).(eq C (CHead c3 k u1) (CHead e1 k0 u))))))) (\lambda (k0: K).(\lambda 
520 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c4 k 
521 u2) (CHead e2 k0 w))))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (_: 
522 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k i0) (s k0 O)) v0 u 
523 w)))))) (\lambda (k0: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
524 T).(\lambda (_: T).(csubst0 (minus (s k i0) (s k0 O)) v0 e1 e2)))))) k c3 c4 
525 u1 u2 (refl_equal C (CHead c3 k u1)) (drop_refl (CHead c4 k u2)) H5 
526 H6)))))))))))))) i v c1 c2 H0) e (drop_gen_refl c1 e H1)))))))))) (\lambda 
527 (n0: nat).(\lambda (IHn: ((\forall (i: nat).((lt n0 i) \to (\forall (c1: 
528 C).(\forall (c2: C).(\forall (v: T).((csubst0 i v c1 c2) \to (\forall (e: 
529 C).((drop n0 O c1 e) \to (or4 (drop n0 O c2 e) (ex3_4 K C T T (\lambda (k: 
530 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k 
531 u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
532 T).(drop n0 O c2 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda 
533 (u: T).(\lambda (w: T).(subst0 (minus i (s k n0)) v u w)))))) (ex3_4 K C C T 
534 (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e 
535 (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda 
536 (u: T).(drop n0 O c2 (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: 
537 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i (s k n0)) v e1 e2)))))) 
538 (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda 
539 (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: K).(\lambda 
540 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c2 (CHead 
541 e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
542 T).(\lambda (w: T).(subst0 (minus i (s k n0)) v u w)))))) (\lambda (k: 
543 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
544 (minus i (s k n0)) v e1 e2)))))))))))))))))).(\lambda (i: nat).(\lambda (H: 
545 (lt (S n0) i)).(\lambda (c1: C).(C_ind (\lambda (c: C).(\forall (c2: 
546 C).(\forall (v: T).((csubst0 i v c c2) \to (\forall (e: C).((drop (S n0) O c 
547 e) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: 
548 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k u)))))) (\lambda (k: 
549 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead 
550 e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
551 T).(subst0 (minus i (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: 
552 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k 
553 u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
554 T).(drop (S n0) O c2 (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: 
555 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i (s k (S n0))) v e1 
556 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
557 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: 
558 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
559 n0) O c2 (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: 
560 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i (s k (S n0))) v u w)))))) 
561 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
562 (_: T).(csubst0 (minus i (s k (S n0))) v e1 e2)))))))))))))) (\lambda (n1: 
563 nat).(\lambda (c2: C).(\lambda (v: T).(\lambda (_: (csubst0 i v (CSort n1) 
564 c2)).(\lambda (e: C).(\lambda (H1: (drop (S n0) O (CSort n1) e)).(and3_ind 
565 (eq C e (CSort n1)) (eq nat (S n0) O) (eq nat O O) (or4 (drop (S n0) O c2 e) 
566 (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: 
567 T).(eq C e (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
568 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k: 
569 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i (s k (S 
570 n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda 
571 (_: C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda 
572 (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k u)))))) 
573 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
574 (minus i (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: 
575 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
576 (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
577 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) 
578 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
579 T).(subst0 (minus i (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: 
580 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i (s k (S 
581 n0))) v e1 e2)))))))) (\lambda (H2: (eq C e (CSort n1))).(\lambda (H3: (eq 
582 nat (S n0) O)).(\lambda (_: (eq nat O O)).(eq_ind_r C (CSort n1) (\lambda (c: 
583 C).(or4 (drop (S n0) O c2 c) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: 
584 C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e0 k u)))))) (\lambda (k: 
585 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead 
586 e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
587 T).(subst0 (minus i (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: 
588 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C c (CHead e1 k 
589 u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
590 T).(drop (S n0) O c2 (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: 
591 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i (s k (S n0))) v e1 
592 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
593 C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e1 k u))))))) (\lambda (k: 
594 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
595 n0) O c2 (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: 
596 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i (s k (S n0))) v u w)))))) 
597 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
598 (_: T).(csubst0 (minus i (s k (S n0))) v e1 e2))))))))) (let H5 \def (eq_ind 
599 nat (S n0) (\lambda (ee: nat).(match ee in nat return (\lambda (_: nat).Prop) 
600 with [O \Rightarrow False | (S _) \Rightarrow True])) I O H3) in (False_ind 
601 (or4 (drop (S n0) O c2 (CSort n1)) (ex3_4 K C T T (\lambda (k: K).(\lambda 
602 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C (CSort n1) (CHead e0 k u)))))) 
603 (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) 
604 O c2 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u: 
605 T).(\lambda (w: T).(subst0 (minus i (s k (S n0))) v u w)))))) (ex3_4 K C C T 
606 (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CSort 
607 n1) (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
608 C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k u)))))) (\lambda (k: 
609 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i (s k 
610 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: 
611 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C (CSort n1) (CHead e1 
612 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
613 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) (\lambda (k: 
614 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 
615 (minus i (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
616 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i (s k (S n0))) v e1 
617 e2)))))))) H5)) e H2)))) (drop_gen_sort n1 (S n0) O e H1)))))))) (\lambda (c: 
618 C).(\lambda (H0: ((\forall (c2: C).(\forall (v: T).((csubst0 i v c c2) \to 
619 (\forall (e: C).((drop (S n0) O c e) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C 
620 T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
621 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda 
622 (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
623 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i (s k (S n0))) v u w)))))) 
624 (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
625 T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
626 C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k u)))))) (\lambda (k: 
627 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i (s k 
628 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: 
629 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k 
630 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
631 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) (\lambda (k: 
632 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 
633 (minus i (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
634 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i (s k (S n0))) v e1 
635 e2))))))))))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (c2: C).(\lambda 
636 (v: T).(\lambda (H1: (csubst0 i v (CHead c k t) c2)).(\lambda (e: C).(\lambda 
637 (H2: (drop (S n0) O (CHead c k t) e)).(let H3 \def (match H1 in csubst0 
638 return (\lambda (n: nat).(\lambda (t0: T).(\lambda (c0: C).(\lambda (c1: 
639 C).(\lambda (_: (csubst0 n t0 c0 c1)).((eq nat n i) \to ((eq T t0 v) \to ((eq 
640 C c0 (CHead c k t)) \to ((eq C c1 c2) \to (or4 (drop (S n0) O c2 e) (ex3_4 K 
641 C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C 
642 e (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
643 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k: 
644 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i (s k (S 
645 n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda 
646 (_: C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda 
647 (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k u)))))) 
648 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
649 (minus i (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: 
650 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
651 (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
652 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) 
653 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
654 T).(subst0 (minus i (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: 
655 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i (s k (S 
656 n0))) v e1 e2))))))))))))))))) with [(csubst0_snd k0 i0 v0 u1 u2 H3 c0) 
657 \Rightarrow (\lambda (H4: (eq nat (s k0 i0) i)).(\lambda (H5: (eq T v0 
658 v)).(\lambda (H6: (eq C (CHead c0 k0 u1) (CHead c k t))).(\lambda (H7: (eq C 
659 (CHead c0 k0 u2) c2)).(eq_ind nat (s k0 i0) (\lambda (n: nat).((eq T v0 v) 
660 \to ((eq C (CHead c0 k0 u1) (CHead c k t)) \to ((eq C (CHead c0 k0 u2) c2) 
661 \to ((subst0 i0 v0 u1 u2) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T 
662 (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
663 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda 
664 (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
665 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus n (s k (S n0))) v u w)))))) 
666 (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
667 T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
668 C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k u)))))) (\lambda (k: 
669 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus n (s k 
670 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: 
671 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k 
672 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
673 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) (\lambda (k: 
674 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 
675 (minus n (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
676 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus n (s k (S n0))) v e1 
677 e2))))))))))))) (\lambda (H8: (eq T v0 v)).(eq_ind T v (\lambda (t0: T).((eq 
678 C (CHead c0 k0 u1) (CHead c k t)) \to ((eq C (CHead c0 k0 u2) c2) \to 
679 ((subst0 i0 t0 u1 u2) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda 
680 (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k 
681 u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
682 T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
683 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k0 i0) (s k (S n0))) v u 
684 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
685 C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: 
686 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k u)))))) 
687 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
688 (minus (s k0 i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: 
689 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
690 (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
691 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) 
692 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
693 T).(subst0 (minus (s k0 i0) (s k (S n0))) v u w)))))) (\lambda (k: 
694 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
695 (minus (s k0 i0) (s k (S n0))) v e1 e2)))))))))))) (\lambda (H9: (eq C (CHead 
696 c0 k0 u1) (CHead c k t))).(let H10 \def (f_equal C T (\lambda (e0: C).(match 
697 e0 in C return (\lambda (_: C).T) with [(CSort _) \Rightarrow u1 | (CHead _ _ 
698 t) \Rightarrow t])) (CHead c0 k0 u1) (CHead c k t) H9) in ((let H11 \def 
699 (f_equal C K (\lambda (e0: C).(match e0 in C return (\lambda (_: C).K) with 
700 [(CSort _) \Rightarrow k0 | (CHead _ k _) \Rightarrow k])) (CHead c0 k0 u1) 
701 (CHead c k t) H9) in ((let H12 \def (f_equal C C (\lambda (e0: C).(match e0 
702 in C return (\lambda (_: C).C) with [(CSort _) \Rightarrow c0 | (CHead c _ _) 
703 \Rightarrow c])) (CHead c0 k0 u1) (CHead c k t) H9) in (eq_ind C c (\lambda 
704 (c: C).((eq K k0 k) \to ((eq T u1 t) \to ((eq C (CHead c k0 u2) c2) \to 
705 ((subst0 i0 v u1 u2) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda 
706 (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k 
707 u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
708 T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
709 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k0 i0) (s k (S n0))) v u 
710 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
711 C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: 
712 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k u)))))) 
713 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
714 (minus (s k0 i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: 
715 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
716 (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
717 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) 
718 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
719 T).(subst0 (minus (s k0 i0) (s k (S n0))) v u w)))))) (\lambda (k: 
720 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
721 (minus (s k0 i0) (s k (S n0))) v e1 e2))))))))))))) (\lambda (H13: (eq K k0 
722 k)).(eq_ind K k (\lambda (k: K).((eq T u1 t) \to ((eq C (CHead c k u2) c2) 
723 \to ((subst0 i0 v u1 u2) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T 
724 (\lambda (k1: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
725 (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: 
726 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k1 w)))))) (\lambda (k1: 
727 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k i0) (s 
728 k1 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: 
729 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k1 u)))))) (\lambda (k1: 
730 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead 
731 e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
732 T).(csubst0 (minus (s k i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T 
733 (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda 
734 (_: T).(eq C e (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_: 
735 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead 
736 e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
737 T).(\lambda (w: T).(subst0 (minus (s k i0) (s k1 (S n0))) v u w)))))) 
738 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
739 (_: T).(csubst0 (minus (s k i0) (s k1 (S n0))) v e1 e2)))))))))))) (\lambda 
740 (H14: (eq T u1 t)).(eq_ind T t (\lambda (t: T).((eq C (CHead c k u2) c2) \to 
741 ((subst0 i0 v t u2) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda (k: 
742 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k 
743 u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
744 T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k1: K).(\lambda (_: 
745 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k i0) (s k1 (S n0))) v u 
746 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
747 C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: 
748 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k u)))))) 
749 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
750 (minus (s k i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: 
751 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
752 (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
753 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) 
754 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
755 T).(subst0 (minus (s k i0) (s k1 (S n0))) v u w)))))) (\lambda (k1: 
756 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
757 (minus (s k i0) (s k1 (S n0))) v e1 e2))))))))))) (\lambda (H15: (eq C (CHead 
758 c k u2) c2)).(eq_ind C (CHead c k u2) (\lambda (c: C).((subst0 i0 v t u2) \to 
759 (or4 (drop (S n0) O c e) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: 
760 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k u)))))) (\lambda (k: 
761 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c (CHead 
762 e0 k w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
763 T).(subst0 (minus (s k i0) (s k1 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda 
764 (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k 
765 u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
766 T).(drop (S n0) O c (CHead e2 k u)))))) (\lambda (k1: K).(\lambda (e1: 
767 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s k i0) (s k1 (S n0))) v 
768 e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
769 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: 
770 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
771 n0) O c (CHead e2 k w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_: 
772 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k i0) (s k1 (S n0))) v u 
773 w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
774 T).(\lambda (_: T).(csubst0 (minus (s k i0) (s k1 (S n0))) v e1 e2)))))))))) 
775 (\lambda (_: (subst0 i0 v t u2)).(let H1 \def (eq_ind K k0 (\lambda (k: 
776 K).(eq nat (s k i0) i)) H4 k H13) in (let H17 \def (eq_ind_r nat i (\lambda 
777 (n: nat).(\forall (c2: C).(\forall (v: T).((csubst0 n v c c2) \to (\forall 
778 (e: C).((drop (S n0) O c e) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T 
779 (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
780 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda 
781 (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
782 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus n (s k (S n0))) v u w)))))) 
783 (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
784 T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
785 C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k u)))))) (\lambda (k: 
786 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus n (s k 
787 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: 
788 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k 
789 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
790 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) (\lambda (k: 
791 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 
792 (minus n (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
793 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus n (s k (S n0))) v e1 
794 e2)))))))))))))) H0 (s k i0) H1) in (let H18 \def (eq_ind_r nat i (\lambda 
795 (n: nat).(lt (S n0) n)) H (s k i0) H1) in (K_ind (\lambda (k: K).((drop (r k 
796 n0) O c e) \to (((\forall (c2: C).(\forall (v: T).((csubst0 (s k i0) v c c2) 
797 \to (\forall (e: C).((drop (S n0) O c e) \to (or4 (drop (S n0) O c2 e) (ex3_4 
798 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq 
799 C e (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
800 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k0: 
801 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k i0) (s 
802 k0 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
803 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: 
804 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead 
805 e2 k u)))))) (\lambda (k0: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
806 T).(csubst0 (minus (s k i0) (s k0 (S n0))) v e1 e2)))))) (ex4_5 K C C T T 
807 (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: 
808 T).(eq C e (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
809 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) 
810 (\lambda (k0: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
811 T).(subst0 (minus (s k i0) (s k0 (S n0))) v u w)))))) (\lambda (k0: 
812 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
813 (minus (s k i0) (s k0 (S n0))) v e1 e2)))))))))))))) \to ((lt (S n0) (s k 
814 i0)) \to (or4 (drop (S n0) O (CHead c k u2) e) (ex3_4 K C T T (\lambda (k1: 
815 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k1 
816 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
817 T).(drop (S n0) O (CHead c k u2) (CHead e0 k1 w)))))) (\lambda (k1: 
818 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k i0) (s 
819 k1 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: 
820 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k1 u)))))) (\lambda (k1: 
821 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c k 
822 u2) (CHead e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: 
823 C).(\lambda (_: T).(csubst0 (minus (s k i0) (s k1 (S n0))) v e1 e2)))))) 
824 (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda 
825 (u: T).(\lambda (_: T).(eq C e (CHead e1 k1 u))))))) (\lambda (k1: 
826 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
827 n0) O (CHead c k u2) (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: 
828 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k i0) (s 
829 k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: 
830 C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s k i0) (s k1 (S n0))) v 
831 e1 e2)))))))))))) (\lambda (b: B).(\lambda (H2: (drop (r (Bind b) n0) O c 
832 e)).(\lambda (_: ((\forall (c2: C).(\forall (v: T).((csubst0 (s (Bind b) i0) 
833 v c c2) \to (\forall (e: C).((drop (S n0) O c e) \to (or4 (drop (S n0) O c2 
834 e) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda 
835 (_: T).(eq C e (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda 
836 (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k: 
837 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) 
838 i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
839 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: 
840 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead 
841 e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
842 T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T 
843 T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda 
844 (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda 
845 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k 
846 w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
847 T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u w)))))) 
848 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
849 (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
850 e2))))))))))))))).(\lambda (_: (lt (S n0) (s (Bind b) i0))).(or4_intro0 (drop 
851 (S n0) O (CHead c (Bind b) u2) e) (ex3_4 K C T T (\lambda (k: K).(\lambda 
852 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k u)))))) (\lambda 
853 (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead 
854 c (Bind b) u2) (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda 
855 (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u 
856 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
857 C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: 
858 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c (Bind b) u2) 
859 (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: 
860 C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
861 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
862 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: 
863 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
864 n0) O (CHead c (Bind b) u2) (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: 
865 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) 
866 i0) (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: 
867 C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S 
868 n0))) v e1 e2))))))) (drop_drop (Bind b) n0 c e H2 u2)))))) (\lambda (f: 
869 F).(\lambda (H2: (drop (r (Flat f) n0) O c e)).(\lambda (_: ((\forall (c2: 
870 C).(\forall (v: T).((csubst0 (s (Flat f) i0) v c c2) \to (\forall (e: 
871 C).((drop (S n0) O c e) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda 
872 (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k 
873 u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
874 T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
875 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k (S 
876 n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda 
877 (_: C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda 
878 (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k u)))))) 
879 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
880 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda 
881 (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C 
882 e (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
883 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) 
884 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
885 T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u w)))))) (\lambda (k: 
886 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
887 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2))))))))))))))).(\lambda (_: (lt 
888 (S n0) (s (Flat f) i0))).(or4_intro0 (drop (S n0) O (CHead c (Flat f) u2) e) 
889 (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: 
890 T).(eq C e (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
891 T).(\lambda (w: T).(drop (S n0) O (CHead c (Flat f) u2) (CHead e0 k w)))))) 
892 (\lambda (k: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 
893 (minus (s (Flat f) i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: 
894 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k 
895 u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
896 T).(drop (S n0) O (CHead c (Flat f) u2) (CHead e2 k u)))))) (\lambda (k: 
897 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat 
898 f) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda 
899 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k 
900 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
901 T).(\lambda (w: T).(drop (S n0) O (CHead c (Flat f) u2) (CHead e2 k w))))))) 
902 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
903 T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u w)))))) (\lambda (k: 
904 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
905 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2))))))) (drop_drop (Flat f) n0 c 
906 e H2 u2)))))) k (drop_gen_drop k c e t n0 H2) H17 H18))))) c2 H15)) u1 
907 (sym_eq T u1 t H14))) k0 (sym_eq K k0 k H13))) c0 (sym_eq C c0 c H12))) H11)) 
908 H10))) v0 (sym_eq T v0 v H8))) i H4 H5 H6 H7 H3))))) | (csubst0_fst k0 i0 c1 
909 c0 v0 H3 u) \Rightarrow (\lambda (H4: (eq nat (s k0 i0) i)).(\lambda (H5: (eq 
910 T v0 v)).(\lambda (H6: (eq C (CHead c1 k0 u) (CHead c k t))).(\lambda (H7: 
911 (eq C (CHead c0 k0 u) c2)).(eq_ind nat (s k0 i0) (\lambda (n: nat).((eq T v0 
912 v) \to ((eq C (CHead c1 k0 u) (CHead c k t)) \to ((eq C (CHead c0 k0 u) c2) 
913 \to ((csubst0 i0 v0 c1 c0) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T 
914 (\lambda (k: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e 
915 (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
916 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k: 
917 K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus n (s k (S 
918 n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda 
919 (_: C).(\lambda (u0: T).(eq C e (CHead e1 k u0)))))) (\lambda (k: K).(\lambda 
920 (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O c2 (CHead e2 k 
921 u0)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
922 T).(csubst0 (minus n (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda 
923 (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq 
924 C e (CHead e1 k u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
925 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) 
926 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
927 T).(subst0 (minus n (s k (S n0))) v u0 w)))))) (\lambda (k: K).(\lambda (e1: 
928 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus n (s k (S 
929 n0))) v e1 e2))))))))))))) (\lambda (H8: (eq T v0 v)).(eq_ind T v (\lambda 
930 (t0: T).((eq C (CHead c1 k0 u) (CHead c k t)) \to ((eq C (CHead c0 k0 u) c2) 
931 \to ((csubst0 i0 t0 c1 c0) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T 
932 (\lambda (k: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e 
933 (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
934 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k: 
935 K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s k0 i0) 
936 (s k (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
937 C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k u0)))))) (\lambda (k: 
938 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O c2 (CHead 
939 e2 k u0)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
940 T).(csubst0 (minus (s k0 i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T 
941 (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda 
942 (_: T).(eq C e (CHead e1 k u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda 
943 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k 
944 w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: 
945 T).(\lambda (w: T).(subst0 (minus (s k0 i0) (s k (S n0))) v u0 w)))))) 
946 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
947 (_: T).(csubst0 (minus (s k0 i0) (s k (S n0))) v e1 e2)))))))))))) (\lambda 
948 (H9: (eq C (CHead c1 k0 u) (CHead c k t))).(let H10 \def (f_equal C T 
949 (\lambda (e0: C).(match e0 in C return (\lambda (_: C).T) with [(CSort _) 
950 \Rightarrow u | (CHead _ _ t) \Rightarrow t])) (CHead c1 k0 u) (CHead c k t) 
951 H9) in ((let H11 \def (f_equal C K (\lambda (e0: C).(match e0 in C return 
952 (\lambda (_: C).K) with [(CSort _) \Rightarrow k0 | (CHead _ k _) \Rightarrow 
953 k])) (CHead c1 k0 u) (CHead c k t) H9) in ((let H12 \def (f_equal C C 
954 (\lambda (e0: C).(match e0 in C return (\lambda (_: C).C) with [(CSort _) 
955 \Rightarrow c1 | (CHead c _ _) \Rightarrow c])) (CHead c1 k0 u) (CHead c k t) 
956 H9) in (eq_ind C c (\lambda (c: C).((eq K k0 k) \to ((eq T u t) \to ((eq C 
957 (CHead c0 k0 u) c2) \to ((csubst0 i0 v c c0) \to (or4 (drop (S n0) O c2 e) 
958 (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: 
959 T).(eq C e (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
960 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k: 
961 K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s k0 i0) 
962 (s k (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
963 C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k u0)))))) (\lambda (k: 
964 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O c2 (CHead 
965 e2 k u0)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
966 T).(csubst0 (minus (s k0 i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T 
967 (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda 
968 (_: T).(eq C e (CHead e1 k u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda 
969 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k 
970 w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: 
971 T).(\lambda (w: T).(subst0 (minus (s k0 i0) (s k (S n0))) v u0 w)))))) 
972 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
973 (_: T).(csubst0 (minus (s k0 i0) (s k (S n0))) v e1 e2))))))))))))) (\lambda 
974 (H13: (eq K k0 k)).(eq_ind K k (\lambda (k: K).((eq T u t) \to ((eq C (CHead 
975 c0 k u) c2) \to ((csubst0 i0 v c c0) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C 
976 T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C 
977 e (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: 
978 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k1 w)))))) (\lambda (k1: 
979 K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s k i0) 
980 (s k1 (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: 
981 C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k1 u0)))))) (\lambda 
982 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O c2 
983 (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: 
984 C).(\lambda (_: T).(csubst0 (minus (s k i0) (s k1 (S n0))) v e1 e2)))))) 
985 (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda 
986 (u0: T).(\lambda (_: T).(eq C e (CHead e1 k1 u0))))))) (\lambda (k1: 
987 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
988 n0) O c2 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_: 
989 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s k i0) (s k1 (S n0))) v 
990 u0 w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
991 T).(\lambda (_: T).(csubst0 (minus (s k i0) (s k1 (S n0))) v e1 
992 e2)))))))))))) (\lambda (H14: (eq T u t)).(eq_ind T t (\lambda (t: T).((eq C 
993 (CHead c0 k t) c2) \to ((csubst0 i0 v c c0) \to (or4 (drop (S n0) O c2 e) 
994 (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: 
995 T).(eq C e (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
996 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k1: 
997 K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s k i0) 
998 (s k1 (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
999 C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k u0)))))) (\lambda (k: 
1000 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O c2 (CHead 
1001 e2 k u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
1002 T).(csubst0 (minus (s k i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T 
1003 (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda 
1004 (_: T).(eq C e (CHead e1 k u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda 
1005 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k 
1006 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: 
1007 T).(\lambda (w: T).(subst0 (minus (s k i0) (s k1 (S n0))) v u0 w)))))) 
1008 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
1009 (_: T).(csubst0 (minus (s k i0) (s k1 (S n0))) v e1 e2))))))))))) (\lambda 
1010 (H15: (eq C (CHead c0 k t) c2)).(eq_ind C (CHead c0 k t) (\lambda (c2: 
1011 C).((csubst0 i0 v c c0) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda 
1012 (k: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 k 
1013 u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
1014 T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k1: K).(\lambda (_: 
1015 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s k i0) (s k1 (S n0))) v 
1016 u0 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
1017 C).(\lambda (u0: T).(eq C e (CHead e1 k u0)))))) (\lambda (k: K).(\lambda (_: 
1018 C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O c2 (CHead e2 k u0)))))) 
1019 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
1020 (minus (s k i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: 
1021 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e 
1022 (CHead e1 k u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1023 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) 
1024 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda 
1025 (w: T).(subst0 (minus (s k i0) (s k1 (S n0))) v u0 w)))))) (\lambda (k1: 
1026 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1027 (minus (s k i0) (s k1 (S n0))) v e1 e2)))))))))) (\lambda (H16: (csubst0 i0 v 
1028 c c0)).(let H1 \def (eq_ind K k0 (\lambda (k: K).(eq nat (s k i0) i)) H4 k 
1029 H13) in (let H17 \def (eq_ind_r nat i (\lambda (n: nat).(\forall (c2: 
1030 C).(\forall (v: T).((csubst0 n v c c2) \to (\forall (e: C).((drop (S n0) O c 
1031 e) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: 
1032 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k u)))))) (\lambda (k: 
1033 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead 
1034 e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
1035 T).(subst0 (minus n (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: 
1036 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k 
1037 u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
1038 T).(drop (S n0) O c2 (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: 
1039 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus n (s k (S n0))) v e1 
1040 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
1041 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: 
1042 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
1043 n0) O c2 (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: 
1044 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus n (s k (S n0))) v u w)))))) 
1045 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
1046 (_: T).(csubst0 (minus n (s k (S n0))) v e1 e2)))))))))))))) H0 (s k i0) H1) 
1047 in (let H18 \def (eq_ind_r nat i (\lambda (n: nat).(lt (S n0) n)) H (s k i0) 
1048 H1) in (K_ind (\lambda (k: K).((drop (r k n0) O c e) \to (((\forall (c2: 
1049 C).(\forall (v: T).((csubst0 (s k i0) v c c2) \to (\forall (e: C).((drop (S 
1050 n0) O c e) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda (k: 
1051 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k 
1052 u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
1053 T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k0: K).(\lambda (_: 
1054 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k i0) (s k0 (S n0))) v u 
1055 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
1056 C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: 
1057 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k u)))))) 
1058 (\lambda (k0: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
1059 (minus (s k i0) (s k0 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: 
1060 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
1061 (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1062 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) 
1063 (\lambda (k0: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
1064 T).(subst0 (minus (s k i0) (s k0 (S n0))) v u w)))))) (\lambda (k0: 
1065 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1066 (minus (s k i0) (s k0 (S n0))) v e1 e2)))))))))))))) \to ((lt (S n0) (s k 
1067 i0)) \to (or4 (drop (S n0) O (CHead c0 k t) e) (ex3_4 K C T T (\lambda (k1: 
1068 K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 k1 
1069 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
1070 T).(drop (S n0) O (CHead c0 k t) (CHead e0 k1 w)))))) (\lambda (k1: 
1071 K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s k i0) 
1072 (s k1 (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: 
1073 C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k1 u0)))))) (\lambda 
1074 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O 
1075 (CHead c0 k t) (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda (e1: 
1076 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s k i0) (s k1 (S n0))) v 
1077 e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: 
1078 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k1 u0))))))) (\lambda 
1079 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: 
1080 T).(drop (S n0) O (CHead c0 k t) (CHead e2 k1 w))))))) (\lambda (k1: 
1081 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 
1082 (minus (s k i0) (s k1 (S n0))) v u0 w)))))) (\lambda (k1: K).(\lambda (e1: 
1083 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s k i0) 
1084 (s k1 (S n0))) v e1 e2)))))))))))) (\lambda (b: B).(\lambda (H2: (drop (r 
1085 (Bind b) n0) O c e)).(\lambda (_: ((\forall (c2: C).(\forall (v: T).((csubst0 
1086 (s (Bind b) i0) v c c2) \to (\forall (e: C).((drop (S n0) O c e) \to (or4 
1087 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda 
1088 (u: T).(\lambda (_: T).(eq C e (CHead e0 k u)))))) (\lambda (k: K).(\lambda 
1089 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) 
1090 (\lambda (k: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 
1091 (minus (s (Bind b) i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: 
1092 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k 
1093 u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
1094 T).(drop (S n0) O c2 (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: 
1095 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S 
1096 n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: 
1097 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k 
1098 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1099 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) (\lambda (k: 
1100 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 
1101 (minus (s (Bind b) i0) (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda 
1102 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s 
1103 (Bind b) i0) (s k (S n0))) v e1 e2))))))))))))))).(\lambda (H: (lt (S n0) (s 
1104 (Bind b) i0))).(let H19 \def (IHn i0 (le_S_n (S n0) i0 H) c c0 v H16 e H2) in 
1105 (or4_ind (drop n0 O c0 e) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: 
1106 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 k u0)))))) (\lambda (k: 
1107 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c0 (CHead e0 k 
1108 w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
1109 T).(subst0 (minus i0 (s k n0)) v u0 w)))))) (ex3_4 K C C T (\lambda (k: 
1110 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k 
1111 u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: 
1112 T).(drop n0 O c0 (CHead e2 k u0)))))) (\lambda (k: K).(\lambda (e1: 
1113 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i0 (s k n0)) v e1 
1114 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
1115 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k u0))))))) (\lambda 
1116 (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop 
1117 n0 O c0 (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: 
1118 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus i0 (s k n0)) v u0 w)))))) 
1119 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
1120 (_: T).(csubst0 (minus i0 (s k n0)) v e1 e2))))))) (or4 (drop (S n0) O (CHead 
1121 c0 (Bind b) t) e) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda 
1122 (u0: T).(\lambda (_: T).(eq C e (CHead e0 k u0)))))) (\lambda (k: K).(\lambda 
1123 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) t) 
1124 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda 
1125 (w: T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C 
1126 T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e 
1127 (CHead e1 k u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1128 C).(\lambda (u0: T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e2 k u0)))))) 
1129 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
1130 (minus (s (Bind b) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda 
1131 (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq 
1132 C e (CHead e1 k u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1133 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) t) 
1134 (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda 
1135 (u0: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u0 
1136 w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
1137 T).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
1138 e2)))))))) (\lambda (H20: (drop n0 O c0 e)).(or4_intro0 (drop (S n0) O (CHead 
1139 c0 (Bind b) t) e) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda 
1140 (u0: T).(\lambda (_: T).(eq C e (CHead e0 k u0)))))) (\lambda (k: K).(\lambda 
1141 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) t) 
1142 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda 
1143 (w: T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C 
1144 T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e 
1145 (CHead e1 k u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1146 C).(\lambda (u0: T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e2 k u0)))))) 
1147 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
1148 (minus (s (Bind b) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda 
1149 (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq 
1150 C e (CHead e1 k u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1151 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) t) 
1152 (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda 
1153 (u0: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u0 
1154 w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
1155 T).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
1156 e2))))))) (drop_drop (Bind b) n0 c0 e H20 t))) (\lambda (H20: (ex3_4 K C T T 
1157 (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
1158 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda 
1159 (w: T).(drop n0 O c0 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
1160 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i0 (s k n0)) v u 
1161 w))))))).(ex3_4_ind K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u0: 
1162 T).(\lambda (_: T).(eq C e (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: 
1163 C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c0 (CHead e0 k w)))))) (\lambda 
1164 (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus i0 (s 
1165 k n0)) v u0 w))))) (or4 (drop (S n0) O (CHead c0 (Bind b) t) e) (ex3_4 K C T 
1166 T (\lambda (k: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e 
1167 (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
1168 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e0 k w)))))) 
1169 (\lambda (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 
1170 (minus (s (Bind b) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: 
1171 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k 
1172 u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: 
1173 T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e2 k u0)))))) (\lambda (k: 
1174 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind 
1175 b) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda 
1176 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k 
1177 u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1178 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e2 k w))))))) 
1179 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
1180 T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u0 w)))))) (\lambda (k: 
1181 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1182 (minus (s (Bind b) i0) (s k (S n0))) v e1 e2)))))))) (\lambda (x0: 
1183 K).(\lambda (x1: C).(\lambda (x2: T).(\lambda (x3: T).(\lambda (H21: (eq C e 
1184 (CHead x1 x0 x2))).(\lambda (H22: (drop n0 O c0 (CHead x1 x0 x3))).(\lambda 
1185 (H23: (subst0 (minus i0 (s x0 n0)) v x2 x3)).(eq_ind_r C (CHead x1 x0 x2) 
1186 (\lambda (c: C).(or4 (drop (S n0) O (CHead c0 (Bind b) t) c) (ex3_4 K C T T 
1187 (\lambda (k: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C c 
1188 (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
1189 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e0 k w)))))) 
1190 (\lambda (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 
1191 (minus (s (Bind b) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: 
1192 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C c (CHead e1 k 
1193 u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: 
1194 T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e2 k u0)))))) (\lambda (k: 
1195 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind 
1196 b) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda 
1197 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C c (CHead e1 k 
1198 u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1199 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e2 k w))))))) 
1200 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
1201 T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u0 w)))))) (\lambda (k: 
1202 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1203 (minus (s (Bind b) i0) (s k (S n0))) v e1 e2))))))))) (or4_intro1 (drop (S 
1204 n0) O (CHead c0 (Bind b) t) (CHead x1 x0 x2)) (ex3_4 K C T T (\lambda (k: 
1205 K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 x0 x2) 
1206 (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
1207 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e0 k w)))))) 
1208 (\lambda (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 
1209 (minus (s (Bind b) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: 
1210 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1 x0 x2) 
1211 (CHead e1 k u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1212 C).(\lambda (u0: T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e2 k u0)))))) 
1213 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
1214 (minus (s (Bind b) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda 
1215 (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq 
1216 C (CHead x1 x0 x2) (CHead e1 k u0))))))) (\lambda (k: K).(\lambda (_: 
1217 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c0 
1218 (Bind b) t) (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: 
1219 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k (S 
1220 n0))) v u0 w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
1221 (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
1222 e2))))))) (ex3_4_intro K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u0: 
1223 T).(\lambda (_: T).(eq C (CHead x1 x0 x2) (CHead e0 k u0)))))) (\lambda (k: 
1224 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c0 
1225 (Bind b) t) (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u0: 
1226 T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u0 w))))) 
1227 x0 x1 x2 x3 (refl_equal C (CHead x1 x0 x2)) (drop_drop (Bind b) n0 c0 (CHead 
1228 x1 x0 x3) H22 t) (eq_ind_r nat (S (s x0 n0)) (\lambda (n: nat).(subst0 (minus 
1229 (s (Bind b) i0) n) v x2 x3)) H23 (s x0 (S n0)) (s_S x0 n0)))) e H21)))))))) 
1230 H20)) (\lambda (H20: (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda 
1231 (_: C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda 
1232 (_: C).(\lambda (e2: C).(\lambda (u: T).(drop n0 O c0 (CHead e2 k u)))))) 
1233 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
1234 (minus i0 (s k n0)) v e1 e2))))))).(ex3_4_ind K C C T (\lambda (k: 
1235 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k 
1236 u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: 
1237 T).(drop n0 O c0 (CHead e2 k u0)))))) (\lambda (k: K).(\lambda (e1: 
1238 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i0 (s k n0)) v e1 e2))))) 
1239 (or4 (drop (S n0) O (CHead c0 (Bind b) t) e) (ex3_4 K C T T (\lambda (k: 
1240 K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 k 
1241 u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
1242 T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e0 k w)))))) (\lambda (k: 
1243 K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Bind 
1244 b) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda 
1245 (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k u0)))))) 
1246 (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S 
1247 n0) O (CHead c0 (Bind b) t) (CHead e2 k u0)))))) (\lambda (k: K).(\lambda 
1248 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k 
1249 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: 
1250 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k 
1251 u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1252 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e2 k w))))))) 
1253 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
1254 T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u0 w)))))) (\lambda (k: 
1255 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1256 (minus (s (Bind b) i0) (s k (S n0))) v e1 e2)))))))) (\lambda (x0: 
1257 K).(\lambda (x1: C).(\lambda (x2: C).(\lambda (x3: T).(\lambda (H21: (eq C e 
1258 (CHead x1 x0 x3))).(\lambda (H22: (drop n0 O c0 (CHead x2 x0 x3))).(\lambda 
1259 (H23: (csubst0 (minus i0 (s x0 n0)) v x1 x2)).(eq_ind_r C (CHead x1 x0 x3) 
1260 (\lambda (c: C).(or4 (drop (S n0) O (CHead c0 (Bind b) t) c) (ex3_4 K C T T 
1261 (\lambda (k: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C c 
1262 (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
1263 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e0 k w)))))) 
1264 (\lambda (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 
1265 (minus (s (Bind b) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: 
1266 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C c (CHead e1 k 
1267 u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: 
1268 T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e2 k u0)))))) (\lambda (k: 
1269 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind 
1270 b) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda 
1271 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C c (CHead e1 k 
1272 u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1273 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e2 k w))))))) 
1274 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
1275 T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u0 w)))))) (\lambda (k: 
1276 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1277 (minus (s (Bind b) i0) (s k (S n0))) v e1 e2))))))))) (or4_intro2 (drop (S 
1278 n0) O (CHead c0 (Bind b) t) (CHead x1 x0 x3)) (ex3_4 K C T T (\lambda (k: 
1279 K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) 
1280 (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
1281 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e0 k w)))))) 
1282 (\lambda (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 
1283 (minus (s (Bind b) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: 
1284 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1 x0 x3) 
1285 (CHead e1 k u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1286 C).(\lambda (u0: T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e2 k u0)))))) 
1287 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
1288 (minus (s (Bind b) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda 
1289 (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq 
1290 C (CHead x1 x0 x3) (CHead e1 k u0))))))) (\lambda (k: K).(\lambda (_: 
1291 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c0 
1292 (Bind b) t) (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: 
1293 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k (S 
1294 n0))) v u0 w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
1295 (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
1296 e2))))))) (ex3_4_intro K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
1297 C).(\lambda (u0: T).(eq C (CHead x1 x0 x3) (CHead e1 k u0)))))) (\lambda (k: 
1298 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O (CHead c0 
1299 (Bind b) t) (CHead e2 k u0)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
1300 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
1301 e2))))) x0 x1 x2 x3 (refl_equal C (CHead x1 x0 x3)) (drop_drop (Bind b) n0 c0 
1302 (CHead x2 x0 x3) H22 t) (eq_ind_r nat (S (s x0 n0)) (\lambda (n: 
1303 nat).(csubst0 (minus (s (Bind b) i0) n) v x1 x2)) H23 (s x0 (S n0)) (s_S x0 
1304 n0)))) e H21)))))))) H20)) (\lambda (H20: (ex4_5 K C C T T (\lambda (k: 
1305 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
1306 (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1307 C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c0 (CHead e2 k w))))))) 
1308 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
1309 T).(subst0 (minus i0 (s k n0)) v u w)))))) (\lambda (k: K).(\lambda (e1: 
1310 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k 
1311 n0)) v e1 e2)))))))).(ex4_5_ind K C C T T (\lambda (k: K).(\lambda (e1: 
1312 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k 
1313 u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1314 T).(\lambda (w: T).(drop n0 O c0 (CHead e2 k w))))))) (\lambda (k: 
1315 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 
1316 (minus i0 (s k n0)) v u0 w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
1317 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k n0)) v e1 
1318 e2)))))) (or4 (drop (S n0) O (CHead c0 (Bind b) t) e) (ex3_4 K C T T (\lambda 
1319 (k: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 k 
1320 u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
1321 T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e0 k w)))))) (\lambda (k: 
1322 K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Bind 
1323 b) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda 
1324 (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k u0)))))) 
1325 (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S 
1326 n0) O (CHead c0 (Bind b) t) (CHead e2 k u0)))))) (\lambda (k: K).(\lambda 
1327 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k 
1328 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: 
1329 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k 
1330 u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1331 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e2 k w))))))) 
1332 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
1333 T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u0 w)))))) (\lambda (k: 
1334 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1335 (minus (s (Bind b) i0) (s k (S n0))) v e1 e2)))))))) (\lambda (x0: 
1336 K).(\lambda (x1: C).(\lambda (x2: C).(\lambda (x3: T).(\lambda (x4: 
1337 T).(\lambda (H21: (eq C e (CHead x1 x0 x3))).(\lambda (H22: (drop n0 O c0 
1338 (CHead x2 x0 x4))).(\lambda (H23: (subst0 (minus i0 (s x0 n0)) v x3 
1339 x4)).(\lambda (H24: (csubst0 (minus i0 (s x0 n0)) v x1 x2)).(eq_ind_r C 
1340 (CHead x1 x0 x3) (\lambda (c: C).(or4 (drop (S n0) O (CHead c0 (Bind b) t) c) 
1341 (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: 
1342 T).(eq C c (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
1343 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e0 k w)))))) 
1344 (\lambda (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 
1345 (minus (s (Bind b) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: 
1346 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C c (CHead e1 k 
1347 u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: 
1348 T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e2 k u0)))))) (\lambda (k: 
1349 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind 
1350 b) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda 
1351 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C c (CHead e1 k 
1352 u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1353 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e2 k w))))))) 
1354 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
1355 T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u0 w)))))) (\lambda (k: 
1356 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1357 (minus (s (Bind b) i0) (s k (S n0))) v e1 e2))))))))) (or4_intro3 (drop (S 
1358 n0) O (CHead c0 (Bind b) t) (CHead x1 x0 x3)) (ex3_4 K C T T (\lambda (k: 
1359 K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) 
1360 (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
1361 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e0 k w)))))) 
1362 (\lambda (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 
1363 (minus (s (Bind b) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: 
1364 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1 x0 x3) 
1365 (CHead e1 k u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1366 C).(\lambda (u0: T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e2 k u0)))))) 
1367 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
1368 (minus (s (Bind b) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda 
1369 (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq 
1370 C (CHead x1 x0 x3) (CHead e1 k u0))))))) (\lambda (k: K).(\lambda (_: 
1371 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c0 
1372 (Bind b) t) (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: 
1373 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k (S 
1374 n0))) v u0 w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
1375 (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
1376 e2))))))) (ex4_5_intro K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda 
1377 (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e1 k 
1378 u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1379 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) t) (CHead e2 k w))))))) 
1380 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
1381 T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u0 w)))))) (\lambda (k: 
1382 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1383 (minus (s (Bind b) i0) (s k (S n0))) v e1 e2)))))) x0 x1 x2 x3 x4 (refl_equal 
1384 C (CHead x1 x0 x3)) (drop_drop (Bind b) n0 c0 (CHead x2 x0 x4) H22 t) 
1385 (eq_ind_r nat (S (s x0 n0)) (\lambda (n: nat).(subst0 (minus (s (Bind b) i0) 
1386 n) v x3 x4)) H23 (s x0 (S n0)) (s_S x0 n0)) (eq_ind_r nat (S (s x0 n0)) 
1387 (\lambda (n: nat).(csubst0 (minus (s (Bind b) i0) n) v x1 x2)) H24 (s x0 (S 
1388 n0)) (s_S x0 n0)))) e H21)))))))))) H20)) H19)))))) (\lambda (f: F).(\lambda 
1389 (H2: (drop (r (Flat f) n0) O c e)).(\lambda (H0: ((\forall (c2: C).(\forall 
1390 (v: T).((csubst0 (s (Flat f) i0) v c c2) \to (\forall (e: C).((drop (S n0) O 
1391 c e) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda (k: K).(\lambda 
1392 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k u)))))) (\lambda 
1393 (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 
1394 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u: T).(\lambda 
1395 (w: T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u w)))))) (ex3_4 K C C 
1396 T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e 
1397 (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda 
1398 (u: T).(drop (S n0) O c2 (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: 
1399 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k (S 
1400 n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: 
1401 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k 
1402 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1403 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) (\lambda (k: 
1404 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 
1405 (minus (s (Flat f) i0) (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda 
1406 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s 
1407 (Flat f) i0) (s k (S n0))) v e1 e2))))))))))))))).(\lambda (_: (lt (S n0) (s 
1408 (Flat f) i0))).(let H19 \def (H0 c0 v H16 e H2) in (or4_ind (drop (S n0) O c0 
1409 e) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda 
1410 (_: T).(eq C e (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda 
1411 (_: T).(\lambda (w: T).(drop (S n0) O c0 (CHead e0 k w)))))) (\lambda (k: 
1412 K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus i0 (s k (S 
1413 n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda 
1414 (_: C).(\lambda (u0: T).(eq C e (CHead e1 k u0)))))) (\lambda (k: K).(\lambda 
1415 (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O c0 (CHead e2 k 
1416 u0)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
1417 T).(csubst0 (minus i0 (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda 
1418 (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq 
1419 C e (CHead e1 k u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1420 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c0 (CHead e2 k w))))))) 
1421 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
1422 T).(subst0 (minus i0 (s k (S n0))) v u0 w)))))) (\lambda (k: K).(\lambda (e1: 
1423 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k 
1424 (S n0))) v e1 e2))))))) (or4 (drop (S n0) O (CHead c0 (Flat f) t) e) (ex3_4 K 
1425 C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C 
1426 e (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
1427 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e0 k w)))))) 
1428 (\lambda (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 
1429 (minus (s (Flat f) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: 
1430 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k 
1431 u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: 
1432 T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e2 k u0)))))) (\lambda (k: 
1433 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat 
1434 f) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda 
1435 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k 
1436 u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1437 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e2 k w))))))) 
1438 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
1439 T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u0 w)))))) (\lambda (k: 
1440 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1441 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2)))))))) (\lambda (H20: (drop (S 
1442 n0) O c0 e)).(or4_intro0 (drop (S n0) O (CHead c0 (Flat f) t) e) (ex3_4 K C T 
1443 T (\lambda (k: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e 
1444 (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
1445 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e0 k w)))))) 
1446 (\lambda (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 
1447 (minus (s (Flat f) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: 
1448 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k 
1449 u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: 
1450 T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e2 k u0)))))) (\lambda (k: 
1451 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat 
1452 f) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda 
1453 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k 
1454 u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1455 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e2 k w))))))) 
1456 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
1457 T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u0 w)))))) (\lambda (k: 
1458 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1459 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2))))))) (drop_drop (Flat f) n0 c0 
1460 e H20 t))) (\lambda (H20: (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: 
1461 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k u)))))) (\lambda (k: 
1462 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c0 (CHead 
1463 e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
1464 T).(subst0 (minus i0 (s k (S n0))) v u w))))))).(ex3_4_ind K C T T (\lambda 
1465 (k: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 k 
1466 u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
1467 T).(drop (S n0) O c0 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
1468 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus i0 (s k (S n0))) v u0 
1469 w))))) (or4 (drop (S n0) O (CHead c0 (Flat f) t) e) (ex3_4 K C T T (\lambda 
1470 (k: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 k 
1471 u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
1472 T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e0 k w)))))) (\lambda (k: 
1473 K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Flat 
1474 f) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda 
1475 (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k u0)))))) 
1476 (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S 
1477 n0) O (CHead c0 (Flat f) t) (CHead e2 k u0)))))) (\lambda (k: K).(\lambda 
1478 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k 
1479 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: 
1480 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k 
1481 u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1482 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e2 k w))))))) 
1483 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
1484 T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u0 w)))))) (\lambda (k: 
1485 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1486 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2)))))))) (\lambda (x0: 
1487 K).(\lambda (x1: C).(\lambda (x2: T).(\lambda (x3: T).(\lambda (H21: (eq C e 
1488 (CHead x1 x0 x2))).(\lambda (H22: (drop (S n0) O c0 (CHead x1 x0 
1489 x3))).(\lambda (H23: (subst0 (minus i0 (s x0 (S n0))) v x2 x3)).(eq_ind_r C 
1490 (CHead x1 x0 x2) (\lambda (c: C).(or4 (drop (S n0) O (CHead c0 (Flat f) t) c) 
1491 (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: 
1492 T).(eq C c (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
1493 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e0 k w)))))) 
1494 (\lambda (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 
1495 (minus (s (Flat f) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: 
1496 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C c (CHead e1 k 
1497 u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: 
1498 T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e2 k u0)))))) (\lambda (k: 
1499 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat 
1500 f) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda 
1501 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C c (CHead e1 k 
1502 u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1503 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e2 k w))))))) 
1504 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
1505 T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u0 w)))))) (\lambda (k: 
1506 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1507 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2))))))))) (or4_intro1 (drop (S 
1508 n0) O (CHead c0 (Flat f) t) (CHead x1 x0 x2)) (ex3_4 K C T T (\lambda (k: 
1509 K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 x0 x2) 
1510 (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
1511 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e0 k w)))))) 
1512 (\lambda (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 
1513 (minus (s (Flat f) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: 
1514 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1 x0 x2) 
1515 (CHead e1 k u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1516 C).(\lambda (u0: T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e2 k u0)))))) 
1517 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
1518 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda 
1519 (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq 
1520 C (CHead x1 x0 x2) (CHead e1 k u0))))))) (\lambda (k: K).(\lambda (_: 
1521 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c0 
1522 (Flat f) t) (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: 
1523 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k (S 
1524 n0))) v u0 w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
1525 (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k (S n0))) v e1 
1526 e2))))))) (ex3_4_intro K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u0: 
1527 T).(\lambda (_: T).(eq C (CHead x1 x0 x2) (CHead e0 k u0)))))) (\lambda (k: 
1528 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c0 
1529 (Flat f) t) (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u0: 
1530 T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u0 w))))) 
1531 x0 x1 x2 x3 (refl_equal C (CHead x1 x0 x2)) (drop_drop (Flat f) n0 c0 (CHead 
1532 x1 x0 x3) H22 t) H23)) e H21)))))))) H20)) (\lambda (H20: (ex3_4 K C C T 
1533 (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e 
1534 (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda 
1535 (u: T).(drop (S n0) O c0 (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: 
1536 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i0 (s k (S n0))) v e1 
1537 e2))))))).(ex3_4_ind K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
1538 C).(\lambda (u0: T).(eq C e (CHead e1 k u0)))))) (\lambda (k: K).(\lambda (_: 
1539 C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O c0 (CHead e2 k u0)))))) 
1540 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
1541 (minus i0 (s k (S n0))) v e1 e2))))) (or4 (drop (S n0) O (CHead c0 (Flat f) 
1542 t) e) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u0: 
1543 T).(\lambda (_: T).(eq C e (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: 
1544 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) t) 
1545 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda 
1546 (w: T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C 
1547 T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e 
1548 (CHead e1 k u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1549 C).(\lambda (u0: T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e2 k u0)))))) 
1550 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
1551 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda 
1552 (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq 
1553 C e (CHead e1 k u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1554 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) t) 
1555 (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda 
1556 (u0: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u0 
1557 w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
1558 T).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k (S n0))) v e1 
1559 e2)))))))) (\lambda (x0: K).(\lambda (x1: C).(\lambda (x2: C).(\lambda (x3: 
1560 T).(\lambda (H21: (eq C e (CHead x1 x0 x3))).(\lambda (H22: (drop (S n0) O c0 
1561 (CHead x2 x0 x3))).(\lambda (H23: (csubst0 (minus i0 (s x0 (S n0))) v x1 
1562 x2)).(eq_ind_r C (CHead x1 x0 x3) (\lambda (c: C).(or4 (drop (S n0) O (CHead 
1563 c0 (Flat f) t) c) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda 
1564 (u0: T).(\lambda (_: T).(eq C c (CHead e0 k u0)))))) (\lambda (k: K).(\lambda 
1565 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) t) 
1566 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda 
1567 (w: T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C 
1568 T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C c 
1569 (CHead e1 k u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1570 C).(\lambda (u0: T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e2 k u0)))))) 
1571 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
1572 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda 
1573 (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq 
1574 C c (CHead e1 k u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1575 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) t) 
1576 (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda 
1577 (u0: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u0 
1578 w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
1579 T).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k (S n0))) v e1 
1580 e2))))))))) (or4_intro2 (drop (S n0) O (CHead c0 (Flat f) t) (CHead x1 x0 
1581 x3)) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u0: 
1582 T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e0 k u0)))))) (\lambda (k: 
1583 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c0 
1584 (Flat f) t) (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u0: 
1585 T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u0 w)))))) 
1586 (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: 
1587 T).(eq C (CHead x1 x0 x3) (CHead e1 k u0)))))) (\lambda (k: K).(\lambda (_: 
1588 C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O (CHead c0 (Flat f) t) 
1589 (CHead e2 k u0)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: 
1590 C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k (S n0))) v e1 
1591 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
1592 C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e1 k 
1593 u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1594 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e2 k w))))))) 
1595 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
1596 T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u0 w)))))) (\lambda (k: 
1597 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1598 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2))))))) (ex3_4_intro K C C T 
1599 (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C 
1600 (CHead x1 x0 x3) (CHead e1 k u0)))))) (\lambda (k: K).(\lambda (_: 
1601 C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O (CHead c0 (Flat f) t) 
1602 (CHead e2 k u0)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: 
1603 C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2))))) 
1604 x0 x1 x2 x3 (refl_equal C (CHead x1 x0 x3)) (drop_drop (Flat f) n0 c0 (CHead 
1605 x2 x0 x3) H22 t) H23)) e H21)))))))) H20)) (\lambda (H20: (ex4_5 K C C T T 
1606 (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: 
1607 T).(eq C e (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1608 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c0 (CHead e2 k w))))))) 
1609 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
1610 T).(subst0 (minus i0 (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: 
1611 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k 
1612 (S n0))) v e1 e2)))))))).(ex4_5_ind K C C T T (\lambda (k: K).(\lambda (e1: 
1613 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k 
1614 u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1615 T).(\lambda (w: T).(drop (S n0) O c0 (CHead e2 k w))))))) (\lambda (k: 
1616 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 
1617 (minus i0 (s k (S n0))) v u0 w)))))) (\lambda (k: K).(\lambda (e1: 
1618 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k 
1619 (S n0))) v e1 e2)))))) (or4 (drop (S n0) O (CHead c0 (Flat f) t) e) (ex3_4 K 
1620 C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C 
1621 e (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
1622 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e0 k w)))))) 
1623 (\lambda (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 
1624 (minus (s (Flat f) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: 
1625 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k 
1626 u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: 
1627 T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e2 k u0)))))) (\lambda (k: 
1628 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat 
1629 f) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda 
1630 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k 
1631 u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1632 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e2 k w))))))) 
1633 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
1634 T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u0 w)))))) (\lambda (k: 
1635 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1636 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2)))))))) (\lambda (x0: 
1637 K).(\lambda (x1: C).(\lambda (x2: C).(\lambda (x3: T).(\lambda (x4: 
1638 T).(\lambda (H21: (eq C e (CHead x1 x0 x3))).(\lambda (H22: (drop (S n0) O c0 
1639 (CHead x2 x0 x4))).(\lambda (H23: (subst0 (minus i0 (s x0 (S n0))) v x3 
1640 x4)).(\lambda (H24: (csubst0 (minus i0 (s x0 (S n0))) v x1 x2)).(eq_ind_r C 
1641 (CHead x1 x0 x3) (\lambda (c: C).(or4 (drop (S n0) O (CHead c0 (Flat f) t) c) 
1642 (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: 
1643 T).(eq C c (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
1644 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e0 k w)))))) 
1645 (\lambda (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 
1646 (minus (s (Flat f) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: 
1647 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C c (CHead e1 k 
1648 u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: 
1649 T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e2 k u0)))))) (\lambda (k: 
1650 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat 
1651 f) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda 
1652 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C c (CHead e1 k 
1653 u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1654 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e2 k w))))))) 
1655 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
1656 T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u0 w)))))) (\lambda (k: 
1657 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1658 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2))))))))) (or4_intro3 (drop (S 
1659 n0) O (CHead c0 (Flat f) t) (CHead x1 x0 x3)) (ex3_4 K C T T (\lambda (k: 
1660 K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) 
1661 (CHead e0 k u0)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
1662 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e0 k w)))))) 
1663 (\lambda (k: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 
1664 (minus (s (Flat f) i0) (s k (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k: 
1665 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1 x0 x3) 
1666 (CHead e1 k u0)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1667 C).(\lambda (u0: T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e2 k u0)))))) 
1668 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
1669 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda 
1670 (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq 
1671 C (CHead x1 x0 x3) (CHead e1 k u0))))))) (\lambda (k: K).(\lambda (_: 
1672 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c0 
1673 (Flat f) t) (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: 
1674 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k (S 
1675 n0))) v u0 w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
1676 (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k (S n0))) v e1 
1677 e2))))))) (ex4_5_intro K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda 
1678 (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e1 k 
1679 u0))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1680 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) t) (CHead e2 k w))))))) 
1681 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
1682 T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u0 w)))))) (\lambda (k: 
1683 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1684 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2)))))) x0 x1 x2 x3 x4 (refl_equal 
1685 C (CHead x1 x0 x3)) (drop_drop (Flat f) n0 c0 (CHead x2 x0 x4) H22 t) H23 
1686 H24)) e H21)))))))))) H20)) H19)))))) k (drop_gen_drop k c e t n0 H2) H17 
1687 H18))))) c2 H15)) u (sym_eq T u t H14))) k0 (sym_eq K k0 k H13))) c1 (sym_eq 
1688 C c1 c H12))) H11)) H10))) v0 (sym_eq T v0 v H8))) i H4 H5 H6 H7 H3))))) | 
1689 (csubst0_both k0 i0 v0 u1 u2 H3 c1 c0 H4) \Rightarrow (\lambda (H5: (eq nat 
1690 (s k0 i0) i)).(\lambda (H6: (eq T v0 v)).(\lambda (H7: (eq C (CHead c1 k0 u1) 
1691 (CHead c k t))).(\lambda (H8: (eq C (CHead c0 k0 u2) c2)).(eq_ind nat (s k0 
1692 i0) (\lambda (n: nat).((eq T v0 v) \to ((eq C (CHead c1 k0 u1) (CHead c k t)) 
1693 \to ((eq C (CHead c0 k0 u2) c2) \to ((subst0 i0 v0 u1 u2) \to ((csubst0 i0 v0 
1694 c1 c0) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda (k: K).(\lambda 
1695 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k u)))))) (\lambda 
1696 (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 
1697 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u: T).(\lambda 
1698 (w: T).(subst0 (minus n (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: 
1699 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k 
1700 u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
1701 T).(drop (S n0) O c2 (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: 
1702 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus n (s k (S n0))) v e1 
1703 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
1704 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: 
1705 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
1706 n0) O c2 (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: 
1707 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus n (s k (S n0))) v u w)))))) 
1708 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
1709 (_: T).(csubst0 (minus n (s k (S n0))) v e1 e2)))))))))))))) (\lambda (H9: 
1710 (eq T v0 v)).(eq_ind T v (\lambda (t0: T).((eq C (CHead c1 k0 u1) (CHead c k 
1711 t)) \to ((eq C (CHead c0 k0 u2) c2) \to ((subst0 i0 t0 u1 u2) \to ((csubst0 
1712 i0 t0 c1 c0) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda (k: 
1713 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k 
1714 u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
1715 T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
1716 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k0 i0) (s k (S n0))) v u 
1717 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
1718 C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: 
1719 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k u)))))) 
1720 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
1721 (minus (s k0 i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: 
1722 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
1723 (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1724 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) 
1725 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
1726 T).(subst0 (minus (s k0 i0) (s k (S n0))) v u w)))))) (\lambda (k: 
1727 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1728 (minus (s k0 i0) (s k (S n0))) v e1 e2))))))))))))) (\lambda (H10: (eq C 
1729 (CHead c1 k0 u1) (CHead c k t))).(let H11 \def (f_equal C T (\lambda (e0: 
1730 C).(match e0 in C return (\lambda (_: C).T) with [(CSort _) \Rightarrow u1 | 
1731 (CHead _ _ t) \Rightarrow t])) (CHead c1 k0 u1) (CHead c k t) H10) in ((let 
1732 H12 \def (f_equal C K (\lambda (e0: C).(match e0 in C return (\lambda (_: 
1733 C).K) with [(CSort _) \Rightarrow k0 | (CHead _ k _) \Rightarrow k])) (CHead 
1734 c1 k0 u1) (CHead c k t) H10) in ((let H13 \def (f_equal C C (\lambda (e0: 
1735 C).(match e0 in C return (\lambda (_: C).C) with [(CSort _) \Rightarrow c1 | 
1736 (CHead c _ _) \Rightarrow c])) (CHead c1 k0 u1) (CHead c k t) H10) in (eq_ind 
1737 C c (\lambda (c: C).((eq K k0 k) \to ((eq T u1 t) \to ((eq C (CHead c0 k0 u2) 
1738 c2) \to ((subst0 i0 v u1 u2) \to ((csubst0 i0 v c c0) \to (or4 (drop (S n0) O 
1739 c2 e) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: 
1740 T).(\lambda (_: T).(eq C e (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: 
1741 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) 
1742 (\lambda (k: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 
1743 (minus (s k0 i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: 
1744 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k 
1745 u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
1746 T).(drop (S n0) O c2 (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: 
1747 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s k0 i0) (s k (S n0))) v 
1748 e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
1749 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: 
1750 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
1751 n0) O c2 (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: 
1752 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k0 i0) (s k (S n0))) v u 
1753 w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
1754 T).(\lambda (_: T).(csubst0 (minus (s k0 i0) (s k (S n0))) v e1 
1755 e2)))))))))))))) (\lambda (H14: (eq K k0 k)).(eq_ind K k (\lambda (k: K).((eq 
1756 T u1 t) \to ((eq C (CHead c0 k u2) c2) \to ((subst0 i0 v u1 u2) \to ((csubst0 
1757 i0 v c c0) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda (k1: 
1758 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k1 
1759 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
1760 T).(drop (S n0) O c2 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: 
1761 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k i0) (s k1 (S n0))) v u 
1762 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: 
1763 C).(\lambda (u: T).(eq C e (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_: 
1764 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k1 u)))))) 
1765 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
1766 (minus (s k i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: 
1767 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
1768 (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: 
1769 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k1 w))))))) 
1770 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
1771 T).(subst0 (minus (s k i0) (s k1 (S n0))) v u w)))))) (\lambda (k1: 
1772 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1773 (minus (s k i0) (s k1 (S n0))) v e1 e2))))))))))))) (\lambda (H15: (eq T u1 
1774 t)).(eq_ind T t (\lambda (t: T).((eq C (CHead c0 k u2) c2) \to ((subst0 i0 v 
1775 t u2) \to ((csubst0 i0 v c c0) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T 
1776 (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
1777 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda 
1778 (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k1: K).(\lambda (_: 
1779 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k i0) (s k1 (S n0))) v u 
1780 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
1781 C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: 
1782 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k u)))))) 
1783 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
1784 (minus (s k i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: 
1785 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
1786 (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1787 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) 
1788 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
1789 T).(subst0 (minus (s k i0) (s k1 (S n0))) v u w)))))) (\lambda (k1: 
1790 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1791 (minus (s k i0) (s k1 (S n0))) v e1 e2)))))))))))) (\lambda (H16: (eq C 
1792 (CHead c0 k u2) c2)).(eq_ind C (CHead c0 k u2) (\lambda (c2: C).((subst0 i0 v 
1793 t u2) \to ((csubst0 i0 v c c0) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T 
1794 (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
1795 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda 
1796 (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k1: K).(\lambda (_: 
1797 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k i0) (s k1 (S n0))) v u 
1798 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
1799 C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: 
1800 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k u)))))) 
1801 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
1802 (minus (s k i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: 
1803 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
1804 (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1805 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) 
1806 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
1807 T).(subst0 (minus (s k i0) (s k1 (S n0))) v u w)))))) (\lambda (k1: 
1808 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1809 (minus (s k i0) (s k1 (S n0))) v e1 e2))))))))))) (\lambda (_: (subst0 i0 v t 
1810 u2)).(\lambda (H18: (csubst0 i0 v c c0)).(let H1 \def (eq_ind K k0 (\lambda 
1811 (k: K).(eq nat (s k i0) i)) H5 k H14) in (let H19 \def (eq_ind_r nat i 
1812 (\lambda (n: nat).(\forall (c2: C).(\forall (v: T).((csubst0 n v c c2) \to 
1813 (\forall (e: C).((drop (S n0) O c e) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C 
1814 T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
1815 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda 
1816 (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
1817 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus n (s k (S n0))) v u w)))))) 
1818 (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
1819 T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1820 C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k u)))))) (\lambda (k: 
1821 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus n (s k 
1822 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: 
1823 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k 
1824 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1825 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) (\lambda (k: 
1826 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 
1827 (minus n (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
1828 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus n (s k (S n0))) v e1 
1829 e2)))))))))))))) H0 (s k i0) H1) in (let H20 \def (eq_ind_r nat i (\lambda 
1830 (n: nat).(lt (S n0) n)) H (s k i0) H1) in (K_ind (\lambda (k: K).((drop (r k 
1831 n0) O c e) \to (((\forall (c2: C).(\forall (v: T).((csubst0 (s k i0) v c c2) 
1832 \to (\forall (e: C).((drop (S n0) O c e) \to (or4 (drop (S n0) O c2 e) (ex3_4 
1833 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq 
1834 C e (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
1835 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k0: 
1836 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k i0) (s 
1837 k0 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
1838 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: 
1839 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead 
1840 e2 k u)))))) (\lambda (k0: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
1841 T).(csubst0 (minus (s k i0) (s k0 (S n0))) v e1 e2)))))) (ex4_5 K C C T T 
1842 (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: 
1843 T).(eq C e (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
1844 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) 
1845 (\lambda (k0: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
1846 T).(subst0 (minus (s k i0) (s k0 (S n0))) v u w)))))) (\lambda (k0: 
1847 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1848 (minus (s k i0) (s k0 (S n0))) v e1 e2)))))))))))))) \to ((lt (S n0) (s k 
1849 i0)) \to (or4 (drop (S n0) O (CHead c0 k u2) e) (ex3_4 K C T T (\lambda (k1: 
1850 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k1 
1851 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
1852 T).(drop (S n0) O (CHead c0 k u2) (CHead e0 k1 w)))))) (\lambda (k1: 
1853 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k i0) (s 
1854 k1 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: 
1855 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k1 u)))))) (\lambda (k1: 
1856 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c0 
1857 k u2) (CHead e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: 
1858 C).(\lambda (_: T).(csubst0 (minus (s k i0) (s k1 (S n0))) v e1 e2)))))) 
1859 (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda 
1860 (u: T).(\lambda (_: T).(eq C e (CHead e1 k1 u))))))) (\lambda (k1: 
1861 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
1862 n0) O (CHead c0 k u2) (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: 
1863 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k i0) (s 
1864 k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: 
1865 C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s k i0) (s k1 (S n0))) v 
1866 e1 e2)))))))))))) (\lambda (b: B).(\lambda (H2: (drop (r (Bind b) n0) O c 
1867 e)).(\lambda (_: ((\forall (c2: C).(\forall (v: T).((csubst0 (s (Bind b) i0) 
1868 v c c2) \to (\forall (e: C).((drop (S n0) O c e) \to (or4 (drop (S n0) O c2 
1869 e) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda 
1870 (_: T).(eq C e (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda 
1871 (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k: 
1872 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) 
1873 i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
1874 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: 
1875 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead 
1876 e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
1877 T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T 
1878 T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda 
1879 (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda 
1880 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k 
1881 w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
1882 T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u w)))))) 
1883 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
1884 (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
1885 e2))))))))))))))).(\lambda (H: (lt (S n0) (s (Bind b) i0))).(let H21 \def 
1886 (IHn i0 (le_S_n (S n0) i0 H) c c0 v H18 e H2) in (or4_ind (drop n0 O c0 e) 
1887 (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: 
1888 T).(eq C e (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
1889 T).(\lambda (w: T).(drop n0 O c0 (CHead e0 k w)))))) (\lambda (k: K).(\lambda 
1890 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i0 (s k n0)) v u 
1891 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
1892 C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: 
1893 C).(\lambda (e2: C).(\lambda (u: T).(drop n0 O c0 (CHead e2 k u)))))) 
1894 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
1895 (minus i0 (s k n0)) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda 
1896 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k 
1897 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1898 T).(\lambda (w: T).(drop n0 O c0 (CHead e2 k w))))))) (\lambda (k: 
1899 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 
1900 (minus i0 (s k n0)) v u w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
1901 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k n0)) v e1 
1902 e2))))))) (or4 (drop (S n0) O (CHead c0 (Bind b) u2) e) (ex3_4 K C T T 
1903 (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
1904 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda 
1905 (w: T).(drop (S n0) O (CHead c0 (Bind b) u2) (CHead e0 k w)))))) (\lambda (k: 
1906 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) 
1907 i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
1908 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: 
1909 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c0 
1910 (Bind b) u2) (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
1911 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
1912 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
1913 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: 
1914 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
1915 n0) O (CHead c0 (Bind b) u2) (CHead e2 k w))))))) (\lambda (k: K).(\lambda 
1916 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s 
1917 (Bind b) i0) (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: 
1918 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind 
1919 b) i0) (s k (S n0))) v e1 e2)))))))) (\lambda (H22: (drop n0 O c0 
1920 e)).(or4_intro0 (drop (S n0) O (CHead c0 (Bind b) u2) e) (ex3_4 K C T T 
1921 (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
1922 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda 
1923 (w: T).(drop (S n0) O (CHead c0 (Bind b) u2) (CHead e0 k w)))))) (\lambda (k: 
1924 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) 
1925 i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
1926 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: 
1927 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c0 
1928 (Bind b) u2) (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
1929 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
1930 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
1931 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: 
1932 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
1933 n0) O (CHead c0 (Bind b) u2) (CHead e2 k w))))))) (\lambda (k: K).(\lambda 
1934 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s 
1935 (Bind b) i0) (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: 
1936 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind 
1937 b) i0) (s k (S n0))) v e1 e2))))))) (drop_drop (Bind b) n0 c0 e H22 u2))) 
1938 (\lambda (H22: (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: 
1939 T).(\lambda (_: T).(eq C e (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: 
1940 C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c0 (CHead e0 k w)))))) (\lambda 
1941 (k: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i0 (s k 
1942 n0)) v u w))))))).(ex3_4_ind K C T T (\lambda (k: K).(\lambda (e0: 
1943 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k u)))))) (\lambda (k: 
1944 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c0 (CHead e0 k 
1945 w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
1946 T).(subst0 (minus i0 (s k n0)) v u w))))) (or4 (drop (S n0) O (CHead c0 (Bind 
1947 b) u2) e) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: 
1948 T).(\lambda (_: T).(eq C e (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: 
1949 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) u2) 
1950 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u: T).(\lambda 
1951 (w: T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u w)))))) (ex3_4 K C C 
1952 T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e 
1953 (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda 
1954 (u: T).(drop (S n0) O (CHead c0 (Bind b) u2) (CHead e2 k u)))))) (\lambda (k: 
1955 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind 
1956 b) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda 
1957 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k 
1958 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1959 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) u2) (CHead e2 k w))))))) 
1960 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
1961 T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u w)))))) (\lambda (k: 
1962 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
1963 (minus (s (Bind b) i0) (s k (S n0))) v e1 e2)))))))) (\lambda (x0: 
1964 K).(\lambda (x1: C).(\lambda (x2: T).(\lambda (x3: T).(\lambda (H23: (eq C e 
1965 (CHead x1 x0 x2))).(\lambda (H24: (drop n0 O c0 (CHead x1 x0 x3))).(\lambda 
1966 (H25: (subst0 (minus i0 (s x0 n0)) v x2 x3)).(eq_ind_r C (CHead x1 x0 x2) 
1967 (\lambda (c: C).(or4 (drop (S n0) O (CHead c0 (Bind b) u2) c) (ex3_4 K C T T 
1968 (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c 
1969 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda 
1970 (w: T).(drop (S n0) O (CHead c0 (Bind b) u2) (CHead e0 k w)))))) (\lambda (k: 
1971 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) 
1972 i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
1973 C).(\lambda (_: C).(\lambda (u: T).(eq C c (CHead e1 k u)))))) (\lambda (k: 
1974 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c0 
1975 (Bind b) u2) (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
1976 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
1977 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
1978 C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e1 k u))))))) (\lambda (k: 
1979 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
1980 n0) O (CHead c0 (Bind b) u2) (CHead e2 k w))))))) (\lambda (k: K).(\lambda 
1981 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s 
1982 (Bind b) i0) (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: 
1983 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind 
1984 b) i0) (s k (S n0))) v e1 e2))))))))) (or4_intro1 (drop (S n0) O (CHead c0 
1985 (Bind b) u2) (CHead x1 x0 x2)) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: 
1986 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x2) (CHead e0 k u)))))) 
1987 (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) 
1988 O (CHead c0 (Bind b) u2) (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
1989 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k (S 
1990 n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda 
1991 (_: C).(\lambda (u: T).(eq C (CHead x1 x0 x2) (CHead e1 k u)))))) (\lambda 
1992 (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead 
1993 c0 (Bind b) u2) (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
1994 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
1995 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
1996 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x2) (CHead e1 k 
1997 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
1998 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) u2) (CHead e2 k w))))))) 
1999 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
2000 T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u w)))))) (\lambda (k: 
2001 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
2002 (minus (s (Bind b) i0) (s k (S n0))) v e1 e2))))))) (ex3_4_intro K C T T 
2003 (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead 
2004 x1 x0 x2) (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
2005 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) u2) (CHead e0 k w)))))) 
2006 (\lambda (k: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 
2007 (minus (s (Bind b) i0) (s k (S n0))) v u w))))) x0 x1 x2 x3 (refl_equal C 
2008 (CHead x1 x0 x2)) (drop_drop (Bind b) n0 c0 (CHead x1 x0 x3) H24 u2) 
2009 (eq_ind_r nat (S (s x0 n0)) (\lambda (n: nat).(subst0 (minus (s (Bind b) i0) 
2010 n) v x2 x3)) H25 (s x0 (S n0)) (s_S x0 n0)))) e H23)))))))) H22)) (\lambda 
2011 (H22: (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2012 C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: 
2013 C).(\lambda (e2: C).(\lambda (u: T).(drop n0 O c0 (CHead e2 k u)))))) 
2014 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
2015 (minus i0 (s k n0)) v e1 e2))))))).(ex3_4_ind K C C T (\lambda (k: 
2016 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k 
2017 u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
2018 T).(drop n0 O c0 (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: 
2019 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i0 (s k n0)) v e1 e2))))) 
2020 (or4 (drop (S n0) O (CHead c0 (Bind b) u2) e) (ex3_4 K C T T (\lambda (k: 
2021 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k 
2022 u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
2023 T).(drop (S n0) O (CHead c0 (Bind b) u2) (CHead e0 k w)))))) (\lambda (k: 
2024 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) 
2025 i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
2026 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: 
2027 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c0 
2028 (Bind b) u2) (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
2029 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
2030 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2031 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: 
2032 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
2033 n0) O (CHead c0 (Bind b) u2) (CHead e2 k w))))))) (\lambda (k: K).(\lambda 
2034 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s 
2035 (Bind b) i0) (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: 
2036 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind 
2037 b) i0) (s k (S n0))) v e1 e2)))))))) (\lambda (x0: K).(\lambda (x1: 
2038 C).(\lambda (x2: C).(\lambda (x3: T).(\lambda (H23: (eq C e (CHead x1 x0 
2039 x3))).(\lambda (H24: (drop n0 O c0 (CHead x2 x0 x3))).(\lambda (H25: (csubst0 
2040 (minus i0 (s x0 n0)) v x1 x2)).(eq_ind_r C (CHead x1 x0 x3) (\lambda (c: 
2041 C).(or4 (drop (S n0) O (CHead c0 (Bind b) u2) c) (ex3_4 K C T T (\lambda (k: 
2042 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e0 k 
2043 u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
2044 T).(drop (S n0) O (CHead c0 (Bind b) u2) (CHead e0 k w)))))) (\lambda (k: 
2045 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) 
2046 i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
2047 C).(\lambda (_: C).(\lambda (u: T).(eq C c (CHead e1 k u)))))) (\lambda (k: 
2048 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c0 
2049 (Bind b) u2) (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
2050 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
2051 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2052 C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e1 k u))))))) (\lambda (k: 
2053 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
2054 n0) O (CHead c0 (Bind b) u2) (CHead e2 k w))))))) (\lambda (k: K).(\lambda 
2055 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s 
2056 (Bind b) i0) (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: 
2057 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind 
2058 b) i0) (s k (S n0))) v e1 e2))))))))) (or4_intro2 (drop (S n0) O (CHead c0 
2059 (Bind b) u2) (CHead x1 x0 x3)) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: 
2060 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e0 k u)))))) 
2061 (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) 
2062 O (CHead c0 (Bind b) u2) (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
2063 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k (S 
2064 n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda 
2065 (_: C).(\lambda (u: T).(eq C (CHead x1 x0 x3) (CHead e1 k u)))))) (\lambda 
2066 (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead 
2067 c0 (Bind b) u2) (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
2068 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
2069 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2070 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e1 k 
2071 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
2072 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) u2) (CHead e2 k w))))))) 
2073 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
2074 T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u w)))))) (\lambda (k: 
2075 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
2076 (minus (s (Bind b) i0) (s k (S n0))) v e1 e2))))))) (ex3_4_intro K C C T 
2077 (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead 
2078 x1 x0 x3) (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
2079 C).(\lambda (u: T).(drop (S n0) O (CHead c0 (Bind b) u2) (CHead e2 k u)))))) 
2080 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
2081 (minus (s (Bind b) i0) (s k (S n0))) v e1 e2))))) x0 x1 x2 x3 (refl_equal C 
2082 (CHead x1 x0 x3)) (drop_drop (Bind b) n0 c0 (CHead x2 x0 x3) H24 u2) 
2083 (eq_ind_r nat (S (s x0 n0)) (\lambda (n: nat).(csubst0 (minus (s (Bind b) i0) 
2084 n) v x1 x2)) H25 (s x0 (S n0)) (s_S x0 n0)))) e H23)))))))) H22)) (\lambda 
2085 (H22: (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2086 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: 
2087 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop n0 
2088 O c0 (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: 
2089 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i0 (s k n0)) v u w)))))) 
2090 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
2091 (_: T).(csubst0 (minus i0 (s k n0)) v e1 e2)))))))).(ex4_5_ind K C C T T 
2092 (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: 
2093 T).(eq C e (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
2094 C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c0 (CHead e2 k w))))))) 
2095 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
2096 T).(subst0 (minus i0 (s k n0)) v u w)))))) (\lambda (k: K).(\lambda (e1: 
2097 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k 
2098 n0)) v e1 e2)))))) (or4 (drop (S n0) O (CHead c0 (Bind b) u2) e) (ex3_4 K C T 
2099 T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
2100 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda 
2101 (w: T).(drop (S n0) O (CHead c0 (Bind b) u2) (CHead e0 k w)))))) (\lambda (k: 
2102 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) 
2103 i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
2104 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: 
2105 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c0 
2106 (Bind b) u2) (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
2107 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
2108 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2109 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: 
2110 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
2111 n0) O (CHead c0 (Bind b) u2) (CHead e2 k w))))))) (\lambda (k: K).(\lambda 
2112 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s 
2113 (Bind b) i0) (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: 
2114 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind 
2115 b) i0) (s k (S n0))) v e1 e2)))))))) (\lambda (x0: K).(\lambda (x1: 
2116 C).(\lambda (x2: C).(\lambda (x3: T).(\lambda (x4: T).(\lambda (H23: (eq C e 
2117 (CHead x1 x0 x3))).(\lambda (H24: (drop n0 O c0 (CHead x2 x0 x4))).(\lambda 
2118 (H25: (subst0 (minus i0 (s x0 n0)) v x3 x4)).(\lambda (H26: (csubst0 (minus 
2119 i0 (s x0 n0)) v x1 x2)).(eq_ind_r C (CHead x1 x0 x3) (\lambda (c: C).(or4 
2120 (drop (S n0) O (CHead c0 (Bind b) u2) c) (ex3_4 K C T T (\lambda (k: 
2121 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e0 k 
2122 u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
2123 T).(drop (S n0) O (CHead c0 (Bind b) u2) (CHead e0 k w)))))) (\lambda (k: 
2124 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) 
2125 i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
2126 C).(\lambda (_: C).(\lambda (u: T).(eq C c (CHead e1 k u)))))) (\lambda (k: 
2127 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c0 
2128 (Bind b) u2) (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
2129 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
2130 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2131 C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e1 k u))))))) (\lambda (k: 
2132 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
2133 n0) O (CHead c0 (Bind b) u2) (CHead e2 k w))))))) (\lambda (k: K).(\lambda 
2134 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s 
2135 (Bind b) i0) (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: 
2136 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind 
2137 b) i0) (s k (S n0))) v e1 e2))))))))) (or4_intro3 (drop (S n0) O (CHead c0 
2138 (Bind b) u2) (CHead x1 x0 x3)) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: 
2139 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e0 k u)))))) 
2140 (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) 
2141 O (CHead c0 (Bind b) u2) (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
2142 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k (S 
2143 n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda 
2144 (_: C).(\lambda (u: T).(eq C (CHead x1 x0 x3) (CHead e1 k u)))))) (\lambda 
2145 (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead 
2146 c0 (Bind b) u2) (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
2147 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
2148 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2149 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e1 k 
2150 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
2151 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Bind b) u2) (CHead e2 k w))))))) 
2152 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
2153 T).(subst0 (minus (s (Bind b) i0) (s k (S n0))) v u w)))))) (\lambda (k: 
2154 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
2155 (minus (s (Bind b) i0) (s k (S n0))) v e1 e2))))))) (ex4_5_intro K C C T T 
2156 (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: 
2157 T).(eq C (CHead x1 x0 x3) (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: 
2158 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c0 
2159 (Bind b) u2) (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda 
2160 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k (S 
2161 n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
2162 (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k (S n0))) v e1 
2163 e2)))))) x0 x1 x2 x3 x4 (refl_equal C (CHead x1 x0 x3)) (drop_drop (Bind b) 
2164 n0 c0 (CHead x2 x0 x4) H24 u2) (eq_ind_r nat (S (s x0 n0)) (\lambda (n: 
2165 nat).(subst0 (minus (s (Bind b) i0) n) v x3 x4)) H25 (s x0 (S n0)) (s_S x0 
2166 n0)) (eq_ind_r nat (S (s x0 n0)) (\lambda (n: nat).(csubst0 (minus (s (Bind 
2167 b) i0) n) v x1 x2)) H26 (s x0 (S n0)) (s_S x0 n0)))) e H23)))))))))) H22)) 
2168 H21)))))) (\lambda (f: F).(\lambda (H2: (drop (r (Flat f) n0) O c 
2169 e)).(\lambda (H0: ((\forall (c2: C).(\forall (v: T).((csubst0 (s (Flat f) i0) 
2170 v c c2) \to (\forall (e: C).((drop (S n0) O c e) \to (or4 (drop (S n0) O c2 
2171 e) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda 
2172 (_: T).(eq C e (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda 
2173 (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k: 
2174 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) 
2175 i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
2176 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: 
2177 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead 
2178 e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
2179 T).(csubst0 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T 
2180 T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda 
2181 (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda 
2182 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k 
2183 w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
2184 T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u w)))))) 
2185 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
2186 (_: T).(csubst0 (minus (s (Flat f) i0) (s k (S n0))) v e1 
2187 e2))))))))))))))).(\lambda (_: (lt (S n0) (s (Flat f) i0))).(let H21 \def (H0 
2188 c0 v H18 e H2) in (or4_ind (drop (S n0) O c0 e) (ex3_4 K C T T (\lambda (k: 
2189 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k 
2190 u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
2191 T).(drop (S n0) O c0 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
2192 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i0 (s k (S n0))) v u 
2193 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2194 C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: 
2195 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c0 (CHead e2 k u)))))) 
2196 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
2197 (minus i0 (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: 
2198 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
2199 (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
2200 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c0 (CHead e2 k w))))))) 
2201 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
2202 T).(subst0 (minus i0 (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: 
2203 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k 
2204 (S n0))) v e1 e2))))))) (or4 (drop (S n0) O (CHead c0 (Flat f) u2) e) (ex3_4 
2205 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq 
2206 C e (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
2207 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) u2) (CHead e0 k w)))))) 
2208 (\lambda (k: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 
2209 (minus (s (Flat f) i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: 
2210 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k 
2211 u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
2212 T).(drop (S n0) O (CHead c0 (Flat f) u2) (CHead e2 k u)))))) (\lambda (k: 
2213 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat 
2214 f) i0) (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda 
2215 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k 
2216 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
2217 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) u2) (CHead e2 k w))))))) 
2218 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
2219 T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u w)))))) (\lambda (k: 
2220 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
2221 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2)))))))) (\lambda (H22: (drop (S 
2222 n0) O c0 e)).(or4_intro0 (drop (S n0) O (CHead c0 (Flat f) u2) e) (ex3_4 K C 
2223 T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
2224 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda 
2225 (w: T).(drop (S n0) O (CHead c0 (Flat f) u2) (CHead e0 k w)))))) (\lambda (k: 
2226 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) 
2227 i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
2228 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: 
2229 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c0 
2230 (Flat f) u2) (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
2231 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k (S n0))) v e1 
2232 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2233 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: 
2234 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
2235 n0) O (CHead c0 (Flat f) u2) (CHead e2 k w))))))) (\lambda (k: K).(\lambda 
2236 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s 
2237 (Flat f) i0) (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: 
2238 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat 
2239 f) i0) (s k (S n0))) v e1 e2))))))) (drop_drop (Flat f) n0 c0 e H22 u2))) 
2240 (\lambda (H22: (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: 
2241 T).(\lambda (_: T).(eq C e (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: 
2242 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c0 (CHead e0 k w)))))) 
2243 (\lambda (k: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 
2244 (minus i0 (s k (S n0))) v u w))))))).(ex3_4_ind K C T T (\lambda (k: 
2245 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k 
2246 u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
2247 T).(drop (S n0) O c0 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
2248 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i0 (s k (S n0))) v u w))))) 
2249 (or4 (drop (S n0) O (CHead c0 (Flat f) u2) e) (ex3_4 K C T T (\lambda (k: 
2250 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k 
2251 u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
2252 T).(drop (S n0) O (CHead c0 (Flat f) u2) (CHead e0 k w)))))) (\lambda (k: 
2253 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) 
2254 i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
2255 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: 
2256 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c0 
2257 (Flat f) u2) (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
2258 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k (S n0))) v e1 
2259 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2260 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: 
2261 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
2262 n0) O (CHead c0 (Flat f) u2) (CHead e2 k w))))))) (\lambda (k: K).(\lambda 
2263 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s 
2264 (Flat f) i0) (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: 
2265 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat 
2266 f) i0) (s k (S n0))) v e1 e2)))))))) (\lambda (x0: K).(\lambda (x1: 
2267 C).(\lambda (x2: T).(\lambda (x3: T).(\lambda (H23: (eq C e (CHead x1 x0 
2268 x2))).(\lambda (H24: (drop (S n0) O c0 (CHead x1 x0 x3))).(\lambda (H25: 
2269 (subst0 (minus i0 (s x0 (S n0))) v x2 x3)).(eq_ind_r C (CHead x1 x0 x2) 
2270 (\lambda (c: C).(or4 (drop (S n0) O (CHead c0 (Flat f) u2) c) (ex3_4 K C T T 
2271 (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c 
2272 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda 
2273 (w: T).(drop (S n0) O (CHead c0 (Flat f) u2) (CHead e0 k w)))))) (\lambda (k: 
2274 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) 
2275 i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
2276 C).(\lambda (_: C).(\lambda (u: T).(eq C c (CHead e1 k u)))))) (\lambda (k: 
2277 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c0 
2278 (Flat f) u2) (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
2279 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k (S n0))) v e1 
2280 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2281 C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e1 k u))))))) (\lambda (k: 
2282 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
2283 n0) O (CHead c0 (Flat f) u2) (CHead e2 k w))))))) (\lambda (k: K).(\lambda 
2284 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s 
2285 (Flat f) i0) (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: 
2286 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat 
2287 f) i0) (s k (S n0))) v e1 e2))))))))) (or4_intro1 (drop (S n0) O (CHead c0 
2288 (Flat f) u2) (CHead x1 x0 x2)) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: 
2289 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x2) (CHead e0 k u)))))) 
2290 (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) 
2291 O (CHead c0 (Flat f) u2) (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
2292 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k (S 
2293 n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda 
2294 (_: C).(\lambda (u: T).(eq C (CHead x1 x0 x2) (CHead e1 k u)))))) (\lambda 
2295 (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead 
2296 c0 (Flat f) u2) (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
2297 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k (S n0))) v e1 
2298 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2299 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x2) (CHead e1 k 
2300 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
2301 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) u2) (CHead e2 k w))))))) 
2302 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
2303 T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u w)))))) (\lambda (k: 
2304 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
2305 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2))))))) (ex3_4_intro K C T T 
2306 (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead 
2307 x1 x0 x2) (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: 
2308 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) u2) (CHead e0 k w)))))) 
2309 (\lambda (k: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 
2310 (minus (s (Flat f) i0) (s k (S n0))) v u w))))) x0 x1 x2 x3 (refl_equal C 
2311 (CHead x1 x0 x2)) (drop_drop (Flat f) n0 c0 (CHead x1 x0 x3) H24 u2) H25)) e 
2312 H23)))))))) H22)) (\lambda (H22: (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
2313 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: 
2314 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c0 (CHead 
2315 e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
2316 T).(csubst0 (minus i0 (s k (S n0))) v e1 e2))))))).(ex3_4_ind K C C T 
2317 (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e 
2318 (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda 
2319 (u: T).(drop (S n0) O c0 (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: 
2320 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i0 (s k (S n0))) v e1 
2321 e2))))) (or4 (drop (S n0) O (CHead c0 (Flat f) u2) e) (ex3_4 K C T T (\lambda 
2322 (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k 
2323 u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
2324 T).(drop (S n0) O (CHead c0 (Flat f) u2) (CHead e0 k w)))))) (\lambda (k: 
2325 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) 
2326 i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
2327 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: 
2328 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c0 
2329 (Flat f) u2) (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
2330 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k (S n0))) v e1 
2331 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2332 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: 
2333 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
2334 n0) O (CHead c0 (Flat f) u2) (CHead e2 k w))))))) (\lambda (k: K).(\lambda 
2335 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s 
2336 (Flat f) i0) (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: 
2337 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat 
2338 f) i0) (s k (S n0))) v e1 e2)))))))) (\lambda (x0: K).(\lambda (x1: 
2339 C).(\lambda (x2: C).(\lambda (x3: T).(\lambda (H23: (eq C e (CHead x1 x0 
2340 x3))).(\lambda (H24: (drop (S n0) O c0 (CHead x2 x0 x3))).(\lambda (H25: 
2341 (csubst0 (minus i0 (s x0 (S n0))) v x1 x2)).(eq_ind_r C (CHead x1 x0 x3) 
2342 (\lambda (c: C).(or4 (drop (S n0) O (CHead c0 (Flat f) u2) c) (ex3_4 K C T T 
2343 (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c 
2344 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda 
2345 (w: T).(drop (S n0) O (CHead c0 (Flat f) u2) (CHead e0 k w)))))) (\lambda (k: 
2346 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) 
2347 i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
2348 C).(\lambda (_: C).(\lambda (u: T).(eq C c (CHead e1 k u)))))) (\lambda (k: 
2349 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c0 
2350 (Flat f) u2) (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
2351 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k (S n0))) v e1 
2352 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2353 C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e1 k u))))))) (\lambda (k: 
2354 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
2355 n0) O (CHead c0 (Flat f) u2) (CHead e2 k w))))))) (\lambda (k: K).(\lambda 
2356 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s 
2357 (Flat f) i0) (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: 
2358 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat 
2359 f) i0) (s k (S n0))) v e1 e2))))))))) (or4_intro2 (drop (S n0) O (CHead c0 
2360 (Flat f) u2) (CHead x1 x0 x3)) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: 
2361 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e0 k u)))))) 
2362 (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) 
2363 O (CHead c0 (Flat f) u2) (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
2364 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k (S 
2365 n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda 
2366 (_: C).(\lambda (u: T).(eq C (CHead x1 x0 x3) (CHead e1 k u)))))) (\lambda 
2367 (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead 
2368 c0 (Flat f) u2) (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
2369 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k (S n0))) v e1 
2370 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2371 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e1 k 
2372 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
2373 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) u2) (CHead e2 k w))))))) 
2374 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
2375 T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u w)))))) (\lambda (k: 
2376 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
2377 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2))))))) (ex3_4_intro K C C T 
2378 (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead 
2379 x1 x0 x3) (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: 
2380 C).(\lambda (u: T).(drop (S n0) O (CHead c0 (Flat f) u2) (CHead e2 k u)))))) 
2381 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 
2382 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2))))) x0 x1 x2 x3 (refl_equal C 
2383 (CHead x1 x0 x3)) (drop_drop (Flat f) n0 c0 (CHead x2 x0 x3) H24 u2) H25)) e 
2384 H23)))))))) H22)) (\lambda (H22: (ex4_5 K C C T T (\lambda (k: K).(\lambda 
2385 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k 
2386 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
2387 T).(\lambda (w: T).(drop (S n0) O c0 (CHead e2 k w))))))) (\lambda (k: 
2388 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 
2389 (minus i0 (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
2390 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k (S n0))) v e1 
2391 e2)))))))).(ex4_5_ind K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2392 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: 
2393 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
2394 n0) O c0 (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: 
2395 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i0 (s k (S n0))) v u 
2396 w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
2397 T).(\lambda (_: T).(csubst0 (minus i0 (s k (S n0))) v e1 e2)))))) (or4 (drop 
2398 (S n0) O (CHead c0 (Flat f) u2) e) (ex3_4 K C T T (\lambda (k: K).(\lambda 
2399 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k u)))))) (\lambda 
2400 (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead 
2401 c0 (Flat f) u2) (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda 
2402 (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u 
2403 w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2404 C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: 
2405 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c0 (Flat f) u2) 
2406 (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: 
2407 C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k (S n0))) v e1 
2408 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2409 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: 
2410 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
2411 n0) O (CHead c0 (Flat f) u2) (CHead e2 k w))))))) (\lambda (k: K).(\lambda 
2412 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s 
2413 (Flat f) i0) (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: 
2414 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat 
2415 f) i0) (s k (S n0))) v e1 e2)))))))) (\lambda (x0: K).(\lambda (x1: 
2416 C).(\lambda (x2: C).(\lambda (x3: T).(\lambda (x4: T).(\lambda (H23: (eq C e 
2417 (CHead x1 x0 x3))).(\lambda (H24: (drop (S n0) O c0 (CHead x2 x0 
2418 x4))).(\lambda (H25: (subst0 (minus i0 (s x0 (S n0))) v x3 x4)).(\lambda 
2419 (H26: (csubst0 (minus i0 (s x0 (S n0))) v x1 x2)).(eq_ind_r C (CHead x1 x0 
2420 x3) (\lambda (c: C).(or4 (drop (S n0) O (CHead c0 (Flat f) u2) c) (ex3_4 K C 
2421 T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c 
2422 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda 
2423 (w: T).(drop (S n0) O (CHead c0 (Flat f) u2) (CHead e0 k w)))))) (\lambda (k: 
2424 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) 
2425 i0) (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: 
2426 C).(\lambda (_: C).(\lambda (u: T).(eq C c (CHead e1 k u)))))) (\lambda (k: 
2427 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c0 
2428 (Flat f) u2) (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
2429 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k (S n0))) v e1 
2430 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2431 C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e1 k u))))))) (\lambda (k: 
2432 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
2433 n0) O (CHead c0 (Flat f) u2) (CHead e2 k w))))))) (\lambda (k: K).(\lambda 
2434 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s 
2435 (Flat f) i0) (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: 
2436 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat 
2437 f) i0) (s k (S n0))) v e1 e2))))))))) (or4_intro3 (drop (S n0) O (CHead c0 
2438 (Flat f) u2) (CHead x1 x0 x3)) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: 
2439 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e0 k u)))))) 
2440 (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) 
2441 O (CHead c0 (Flat f) u2) (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: 
2442 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k (S 
2443 n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda 
2444 (_: C).(\lambda (u: T).(eq C (CHead x1 x0 x3) (CHead e1 k u)))))) (\lambda 
2445 (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead 
2446 c0 (Flat f) u2) (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda 
2447 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k (S n0))) v e1 
2448 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: 
2449 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e1 k 
2450 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
2451 T).(\lambda (w: T).(drop (S n0) O (CHead c0 (Flat f) u2) (CHead e2 k w))))))) 
2452 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
2453 T).(subst0 (minus (s (Flat f) i0) (s k (S n0))) v u w)))))) (\lambda (k: 
2454 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
2455 (minus (s (Flat f) i0) (s k (S n0))) v e1 e2))))))) (ex4_5_intro K C C T T 
2456 (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: 
2457 T).(eq C (CHead x1 x0 x3) (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: 
2458 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c0 
2459 (Flat f) u2) (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda 
2460 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k (S 
2461 n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
2462 (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k (S n0))) v e1 
2463 e2)))))) x0 x1 x2 x3 x4 (refl_equal C (CHead x1 x0 x3)) (drop_drop (Flat f) 
2464 n0 c0 (CHead x2 x0 x4) H24 u2) H25 H26)) e H23)))))))))) H22)) H21)))))) k 
2465 (drop_gen_drop k c e t n0 H2) H19 H20)))))) c2 H16)) u1 (sym_eq T u1 t H15))) 
2466 k0 (sym_eq K k0 k H14))) c1 (sym_eq C c1 c H13))) H12)) H11))) v0 (sym_eq T 
2467 v0 v H9))) i H5 H6 H7 H8 H3 H4)))))]) in (H3 (refl_equal nat i) (refl_equal T 
2468 v) (refl_equal C (CHead c k t)) (refl_equal C c2)))))))))))) c1)))))) n).
2469
2470 theorem csubst0_drop_eq:
2471  \forall (n: nat).(\forall (c1: C).(\forall (c2: C).(\forall (v: T).((csubst0 
2472 n v c1 c2) \to (\forall (e: C).((drop n O c1 e) \to (or4 (drop n O c2 e) 
2473 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: 
2474 T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: 
2475 C).(\lambda (_: T).(\lambda (w: T).(drop n O c2 (CHead e0 (Flat f) w)))))) 
2476 (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u 
2477 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
2478 C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: 
2479 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop n O c2 (CHead e2 
2480 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
2481 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda 
2482 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 
2483 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
2484 (_: T).(\lambda (w: T).(drop n O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: 
2485 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O 
2486 v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
2487 T).(\lambda (_: T).(csubst0 O v e1 e2))))))))))))))
2488 \def
2489  \lambda (n: nat).(nat_ind (\lambda (n0: nat).(\forall (c1: C).(\forall (c2: 
2490 C).(\forall (v: T).((csubst0 n0 v c1 c2) \to (\forall (e: C).((drop n0 O c1 
2491 e) \to (or4 (drop n0 O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
2492 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) 
2493 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop n0 O 
2494 c2 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: 
2495 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: 
2496 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat 
2497 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
2498 T).(drop n0 O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
2499 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
2500 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: 
2501 T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: 
2502 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c2 (CHead e2 
2503 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
2504 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
2505 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
2506 e2))))))))))))))) (\lambda (c1: C).(\lambda (c2: C).(\lambda (v: T).(\lambda 
2507 (H: (csubst0 O v c1 c2)).(\lambda (e: C).(\lambda (H0: (drop O O c1 
2508 e)).(eq_ind C c1 (\lambda (c: C).(or4 (drop O O c2 c) (ex3_4 F C T T (\lambda 
2509 (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e0 
2510 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda 
2511 (w: T).(drop O O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: 
2512 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T 
2513 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C c 
2514 (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
2515 C).(\lambda (u: T).(drop O O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: 
2516 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
2517 (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
2518 (u: T).(\lambda (_: T).(eq C c (CHead e1 (Flat f) u))))))) (\lambda (f: 
2519 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O 
2520 c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
2521 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: 
2522 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
2523 O v e1 e2))))))))) (insert_eq nat O (\lambda (n0: nat).(csubst0 n0 v c1 c2)) 
2524 (or4 (drop O O c2 c1) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
2525 C).(\lambda (u: T).(\lambda (_: T).(eq C c1 (CHead e0 (Flat f) u)))))) 
2526 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O c2 
2527 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: 
2528 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: 
2529 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C c1 (CHead e1 (Flat 
2530 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
2531 T).(drop O O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
2532 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
2533 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: 
2534 T).(eq C c1 (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: 
2535 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O c2 (CHead e2 
2536 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
2537 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
2538 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
2539 e2)))))))) (\lambda (y: nat).(\lambda (H1: (csubst0 y v c1 c2)).(csubst0_ind 
2540 (\lambda (n0: nat).(\lambda (t: T).(\lambda (c: C).(\lambda (c0: C).((eq nat 
2541 n0 O) \to (or4 (drop O O c0 c) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
2542 C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e0 (Flat f) u)))))) 
2543 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O c0 
2544 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: 
2545 T).(\lambda (w: T).(subst0 O t u w)))))) (ex3_4 F C C T (\lambda (f: 
2546 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C c (CHead e1 (Flat 
2547 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
2548 T).(drop O O c0 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
2549 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O t e1 e2)))))) (ex4_5 F C C T T 
2550 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: 
2551 T).(eq C c (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: 
2552 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O c0 (CHead e2 
2553 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
2554 (u: T).(\lambda (w: T).(subst0 O t u w)))))) (\lambda (_: F).(\lambda (e1: 
2555 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O t e1 
2556 e2))))))))))))) (\lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: 
2557 nat).(\forall (v0: T).(\forall (u1: T).(\forall (u2: T).((subst0 i v0 u1 u2) 
2558 \to (\forall (c: C).((eq nat (s k0 i) O) \to (or4 (drop O O (CHead c k0 u2) 
2559 (CHead c k0 u1)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: 
2560 T).(\lambda (_: T).(eq C (CHead c k0 u1) (CHead e0 (Flat f) u)))))) (\lambda 
2561 (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c k0 
2562 u2) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: 
2563 T).(\lambda (w: T).(subst0 O v0 u w)))))) (ex3_4 F C C T (\lambda (f: 
2564 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead c k0 u1) 
2565 (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
2566 C).(\lambda (u: T).(drop O O (CHead c k0 u2) (CHead e2 (Flat f) u)))))) 
2567 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
2568 v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
2569 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c k0 u1) (CHead e1 (Flat f) 
2570 u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
2571 T).(\lambda (w: T).(drop O O (CHead c k0 u2) (CHead e2 (Flat f) w))))))) 
2572 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
2573 T).(subst0 O v0 u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
2574 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2)))))))))))))))) 
2575 (\lambda (b: B).(\lambda (i: nat).(\lambda (v0: T).(\lambda (u1: T).(\lambda 
2576 (u2: T).(\lambda (_: (subst0 i v0 u1 u2)).(\lambda (c: C).(\lambda (H3: (eq 
2577 nat (S i) O)).(let H4 \def (eq_ind nat (S i) (\lambda (ee: nat).(match ee in 
2578 nat return (\lambda (_: nat).Prop) with [O \Rightarrow False | (S _) 
2579 \Rightarrow True])) I O H3) in (False_ind (or4 (drop O O (CHead c (Bind b) 
2580 u2) (CHead c (Bind b) u1)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
2581 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c (Bind b) u1) (CHead e0 
2582 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda 
2583 (w: T).(drop O O (CHead c (Bind b) u2) (CHead e0 (Flat f) w)))))) (\lambda 
2584 (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w)))))) 
2585 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
2586 T).(eq C (CHead c (Bind b) u1) (CHead e1 (Flat f) u)))))) (\lambda (f: 
2587 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop O O (CHead c (Bind 
2588 b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
2589 (e2: C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda 
2590 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C 
2591 (CHead c (Bind b) u1) (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda 
2592 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c 
2593 (Bind b) u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: 
2594 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w)))))) 
2595 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
2596 (_: T).(csubst0 O v0 e1 e2)))))))) H4)))))))))) (\lambda (f: F).(\lambda (i: 
2597 nat).(\lambda (v0: T).(\lambda (u1: T).(\lambda (u2: T).(\lambda (H2: (subst0 
2598 i v0 u1 u2)).(\lambda (c: C).(\lambda (H3: (eq nat i O)).(let H4 \def (eq_ind 
2599 nat i (\lambda (n: nat).(subst0 n v0 u1 u2)) H2 O H3) in (or4_intro1 (drop O 
2600 O (CHead c (Flat f) u2) (CHead c (Flat f) u1)) (ex3_4 F C T T (\lambda (f0: 
2601 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c (Flat f) 
2602 u1) (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda 
2603 (_: T).(\lambda (w: T).(drop O O (CHead c (Flat f) u2) (CHead e0 (Flat f0) 
2604 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
2605 T).(subst0 O v0 u w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: 
2606 C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead c (Flat f) u1) (CHead e1 
2607 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
2608 (u: T).(drop O O (CHead c (Flat f) u2) (CHead e2 (Flat f0) u)))))) (\lambda 
2609 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1 
2610 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
2611 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c (Flat f) u1) (CHead e1 
2612 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
2613 (_: T).(\lambda (w: T).(drop O O (CHead c (Flat f) u2) (CHead e2 (Flat f0) 
2614 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
2615 T).(\lambda (w: T).(subst0 O v0 u w)))))) (\lambda (_: F).(\lambda (e1: 
2616 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 
2617 e2))))))) (ex3_4_intro F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: 
2618 T).(\lambda (_: T).(eq C (CHead c (Flat f) u1) (CHead e0 (Flat f0) u)))))) 
2619 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O 
2620 (CHead c (Flat f) u2) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda 
2621 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w))))) f c u1 u2 
2622 (refl_equal C (CHead c (Flat f) u1)) (drop_refl (CHead c (Flat f) u2)) 
2623 H4))))))))))) k)) (\lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: 
2624 nat).(\forall (c3: C).(\forall (c4: C).(\forall (v0: T).((csubst0 i v0 c3 c4) 
2625 \to ((((eq nat i O) \to (or4 (drop O O c4 c3) (ex3_4 F C T T (\lambda (f: 
2626 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e0 (Flat 
2627 f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
2628 T).(drop O O c4 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: 
2629 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w)))))) (ex3_4 F C C T 
2630 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C c3 
2631 (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
2632 C).(\lambda (u: T).(drop O O c4 (CHead e2 (Flat f) u)))))) (\lambda (_: 
2633 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1 
2634 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
2635 C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e1 (Flat f) u))))))) 
2636 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: 
2637 T).(drop O O c4 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: 
2638 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w)))))) 
2639 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
2640 (_: T).(csubst0 O v0 e1 e2)))))))))) \to (\forall (u: T).((eq nat (s k0 i) O) 
2641 \to (or4 (drop O O (CHead c4 k0 u) (CHead c3 k0 u)) (ex3_4 F C T T (\lambda 
2642 (f: F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead c3 k0 
2643 u) (CHead e0 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
2644 T).(\lambda (w: T).(drop O O (CHead c4 k0 u) (CHead e0 (Flat f) w)))))) 
2645 (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v0 
2646 u0 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
2647 C).(\lambda (u0: T).(eq C (CHead c3 k0 u) (CHead e1 (Flat f) u0)))))) 
2648 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop O O 
2649 (CHead c4 k0 u) (CHead e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: 
2650 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T 
2651 T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda 
2652 (_: T).(eq C (CHead c3 k0 u) (CHead e1 (Flat f) u0))))))) (\lambda (f: 
2653 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O 
2654 (CHead c4 k0 u) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: 
2655 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v0 u0 w)))))) 
2656 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
2657 (_: T).(csubst0 O v0 e1 e2))))))))))))))))) (\lambda (b: B).(\lambda (i: 
2658 nat).(\lambda (c3: C).(\lambda (c4: C).(\lambda (v0: T).(\lambda (_: (csubst0 
2659 i v0 c3 c4)).(\lambda (_: (((eq nat i O) \to (or4 (drop O O c4 c3) (ex3_4 F C 
2660 T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c3 
2661 (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
2662 T).(\lambda (w: T).(drop O O c4 (CHead e0 (Flat f) w)))))) (\lambda (_: 
2663 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w)))))) 
2664 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
2665 T).(eq C c3 (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: 
2666 C).(\lambda (e2: C).(\lambda (u: T).(drop O O c4 (CHead e2 (Flat f) u)))))) 
2667 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
2668 v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
2669 C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e1 (Flat f) u))))))) 
2670 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: 
2671 T).(drop O O c4 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: 
2672 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w)))))) 
2673 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
2674 (_: T).(csubst0 O v0 e1 e2))))))))))).(\lambda (u: T).(\lambda (H4: (eq nat 
2675 (S i) O)).(let H5 \def (eq_ind nat (S i) (\lambda (ee: nat).(match ee in nat 
2676 return (\lambda (_: nat).Prop) with [O \Rightarrow False | (S _) \Rightarrow 
2677 True])) I O H4) in (False_ind (or4 (drop O O (CHead c4 (Bind b) u) (CHead c3 
2678 (Bind b) u)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u0: 
2679 T).(\lambda (_: T).(eq C (CHead c3 (Bind b) u) (CHead e0 (Flat f) u0)))))) 
2680 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O 
2681 (CHead c4 (Bind b) u) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: 
2682 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v0 u0 w)))))) (ex3_4 F C C T 
2683 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C 
2684 (CHead c3 (Bind b) u) (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda 
2685 (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop O O (CHead c4 (Bind b) u) 
2686 (CHead e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
2687 C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: 
2688 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C 
2689 (CHead c3 (Bind b) u) (CHead e1 (Flat f) u0))))))) (\lambda (f: F).(\lambda 
2690 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c4 
2691 (Bind b) u) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: 
2692 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v0 u0 w)))))) 
2693 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
2694 (_: T).(csubst0 O v0 e1 e2)))))))) H5))))))))))) (\lambda (f: F).(\lambda (i: 
2695 nat).(\lambda (c3: C).(\lambda (c4: C).(\lambda (v0: T).(\lambda (H2: 
2696 (csubst0 i v0 c3 c4)).(\lambda (H3: (((eq nat i O) \to (or4 (drop O O c4 c3) 
2697 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: 
2698 T).(eq C c3 (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: 
2699 C).(\lambda (_: T).(\lambda (w: T).(drop O O c4 (CHead e0 (Flat f) w)))))) 
2700 (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 
2701 u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
2702 C).(\lambda (u: T).(eq C c3 (CHead e1 (Flat f) u)))))) (\lambda (f: 
2703 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop O O c4 (CHead e2 
2704 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
2705 (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda 
2706 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e1 
2707 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
2708 (_: T).(\lambda (w: T).(drop O O c4 (CHead e2 (Flat f) w))))))) (\lambda (_: 
2709 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O 
2710 v0 u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
2711 T).(\lambda (_: T).(csubst0 O v0 e1 e2))))))))))).(\lambda (u: T).(\lambda 
2712 (H4: (eq nat i O)).(let H5 \def (eq_ind nat i (\lambda (n: nat).((eq nat n O) 
2713 \to (or4 (drop O O c4 c3) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
2714 C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e0 (Flat f) u)))))) 
2715 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O c4 
2716 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: 
2717 T).(\lambda (w: T).(subst0 O v0 u w)))))) (ex3_4 F C C T (\lambda (f: 
2718 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C c3 (CHead e1 (Flat 
2719 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
2720 T).(drop O O c4 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
2721 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T 
2722 T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda 
2723 (_: T).(eq C c3 (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: 
2724 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O c4 (CHead e2 
2725 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
2726 (u: T).(\lambda (w: T).(subst0 O v0 u w)))))) (\lambda (_: F).(\lambda (e1: 
2727 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 
2728 e2)))))))))) H3 O H4) in (let H6 \def (eq_ind nat i (\lambda (n: 
2729 nat).(csubst0 n v0 c3 c4)) H2 O H4) in (or4_intro2 (drop O O (CHead c4 (Flat 
2730 f) u) (CHead c3 (Flat f) u)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: 
2731 C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead c3 (Flat f) u) (CHead e0 
2732 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda 
2733 (w: T).(drop O O (CHead c4 (Flat f) u) (CHead e0 (Flat f0) w)))))) (\lambda 
2734 (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v0 u0 
2735 w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
2736 C).(\lambda (u0: T).(eq C (CHead c3 (Flat f) u) (CHead e1 (Flat f0) u0)))))) 
2737 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop O O 
2738 (CHead c4 (Flat f) u) (CHead e2 (Flat f0) u0)))))) (\lambda (_: F).(\lambda 
2739 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C 
2740 C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: 
2741 T).(\lambda (_: T).(eq C (CHead c3 (Flat f) u) (CHead e1 (Flat f0) u0))))))) 
2742 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
2743 (w: T).(drop O O (CHead c4 (Flat f) u) (CHead e2 (Flat f0) w))))))) (\lambda 
2744 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
2745 T).(subst0 O v0 u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
2746 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2))))))) (ex3_4_intro F 
2747 C C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq 
2748 C (CHead c3 (Flat f) u) (CHead e1 (Flat f0) u0)))))) (\lambda (f0: 
2749 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop O O (CHead c4 
2750 (Flat f) u) (CHead e2 (Flat f0) u0)))))) (\lambda (_: F).(\lambda (e1: 
2751 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1 e2))))) f c3 c4 u 
2752 (refl_equal C (CHead c3 (Flat f) u)) (drop_refl (CHead c4 (Flat f) u)) 
2753 H6))))))))))))) k)) (\lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: 
2754 nat).(\forall (v0: T).(\forall (u1: T).(\forall (u2: T).((subst0 i v0 u1 u2) 
2755 \to (\forall (c3: C).(\forall (c4: C).((csubst0 i v0 c3 c4) \to ((((eq nat i 
2756 O) \to (or4 (drop O O c4 c3) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
2757 C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e0 (Flat f) u)))))) 
2758 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O c4 
2759 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: 
2760 T).(\lambda (w: T).(subst0 O v0 u w)))))) (ex3_4 F C C T (\lambda (f: 
2761 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C c3 (CHead e1 (Flat 
2762 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
2763 T).(drop O O c4 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
2764 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T 
2765 T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda 
2766 (_: T).(eq C c3 (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: 
2767 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O c4 (CHead e2 
2768 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
2769 (u: T).(\lambda (w: T).(subst0 O v0 u w)))))) (\lambda (_: F).(\lambda (e1: 
2770 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 
2771 e2)))))))))) \to ((eq nat (s k0 i) O) \to (or4 (drop O O (CHead c4 k0 u2) 
2772 (CHead c3 k0 u1)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda 
2773 (u: T).(\lambda (_: T).(eq C (CHead c3 k0 u1) (CHead e0 (Flat f) u)))))) 
2774 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O 
2775 (CHead c4 k0 u2) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: 
2776 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w)))))) (ex3_4 F C C T 
2777 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead 
2778 c3 k0 u1) (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda 
2779 (e2: C).(\lambda (u: T).(drop O O (CHead c4 k0 u2) (CHead e2 (Flat f) u)))))) 
2780 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
2781 v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
2782 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c3 k0 u1) (CHead e1 (Flat f) 
2783 u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
2784 T).(\lambda (w: T).(drop O O (CHead c4 k0 u2) (CHead e2 (Flat f) w))))))) 
2785 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
2786 T).(subst0 O v0 u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
2787 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2))))))))))))))))))) 
2788 (\lambda (b: B).(\lambda (i: nat).(\lambda (v0: T).(\lambda (u1: T).(\lambda 
2789 (u2: T).(\lambda (_: (subst0 i v0 u1 u2)).(\lambda (c3: C).(\lambda (c4: 
2790 C).(\lambda (_: (csubst0 i v0 c3 c4)).(\lambda (_: (((eq nat i O) \to (or4 
2791 (drop O O c4 c3) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: 
2792 T).(\lambda (_: T).(eq C c3 (CHead e0 (Flat f) u)))))) (\lambda (f: 
2793 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O c4 (CHead e0 
2794 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
2795 T).(subst0 O v0 u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: 
2796 C).(\lambda (_: C).(\lambda (u: T).(eq C c3 (CHead e1 (Flat f) u)))))) 
2797 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop O O c4 
2798 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
2799 C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: 
2800 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C c3 
2801 (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
2802 C).(\lambda (_: T).(\lambda (w: T).(drop O O c4 (CHead e2 (Flat f) w))))))) 
2803 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
2804 T).(subst0 O v0 u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
2805 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2))))))))))).(\lambda 
2806 (H5: (eq nat (S i) O)).(let H6 \def (eq_ind nat (S i) (\lambda (ee: 
2807 nat).(match ee in nat return (\lambda (_: nat).Prop) with [O \Rightarrow 
2808 False | (S _) \Rightarrow True])) I O H5) in (False_ind (or4 (drop O O (CHead 
2809 c4 (Bind b) u2) (CHead c3 (Bind b) u1)) (ex3_4 F C T T (\lambda (f: 
2810 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c3 (Bind b) 
2811 u1) (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
2812 T).(\lambda (w: T).(drop O O (CHead c4 (Bind b) u2) (CHead e0 (Flat f) 
2813 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
2814 T).(subst0 O v0 u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: 
2815 C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead c3 (Bind b) u1) (CHead e1 
2816 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
2817 (u: T).(drop O O (CHead c4 (Bind b) u2) (CHead e2 (Flat f) u)))))) (\lambda 
2818 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1 
2819 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
2820 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c3 (Bind b) u1) (CHead e1 
2821 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
2822 (_: T).(\lambda (w: T).(drop O O (CHead c4 (Bind b) u2) (CHead e2 (Flat f) 
2823 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
2824 T).(\lambda (w: T).(subst0 O v0 u w)))))) (\lambda (_: F).(\lambda (e1: 
2825 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 
2826 e2)))))))) H6))))))))))))) (\lambda (f: F).(\lambda (i: nat).(\lambda (v0: 
2827 T).(\lambda (u1: T).(\lambda (u2: T).(\lambda (H2: (subst0 i v0 u1 
2828 u2)).(\lambda (c3: C).(\lambda (c4: C).(\lambda (H3: (csubst0 i v0 c3 
2829 c4)).(\lambda (H4: (((eq nat i O) \to (or4 (drop O O c4 c3) (ex3_4 F C T T 
2830 (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c3 
2831 (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
2832 T).(\lambda (w: T).(drop O O c4 (CHead e0 (Flat f) w)))))) (\lambda (_: 
2833 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w)))))) 
2834 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
2835 T).(eq C c3 (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: 
2836 C).(\lambda (e2: C).(\lambda (u: T).(drop O O c4 (CHead e2 (Flat f) u)))))) 
2837 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
2838 v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
2839 C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e1 (Flat f) u))))))) 
2840 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: 
2841 T).(drop O O c4 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: 
2842 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w)))))) 
2843 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
2844 (_: T).(csubst0 O v0 e1 e2))))))))))).(\lambda (H5: (eq nat i O)).(let H6 
2845 \def (eq_ind nat i (\lambda (n: nat).((eq nat n O) \to (or4 (drop O O c4 c3) 
2846 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: 
2847 T).(eq C c3 (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: 
2848 C).(\lambda (_: T).(\lambda (w: T).(drop O O c4 (CHead e0 (Flat f) w)))))) 
2849 (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 
2850 u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
2851 C).(\lambda (u: T).(eq C c3 (CHead e1 (Flat f) u)))))) (\lambda (f: 
2852 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop O O c4 (CHead e2 
2853 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
2854 (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda 
2855 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e1 
2856 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
2857 (_: T).(\lambda (w: T).(drop O O c4 (CHead e2 (Flat f) w))))))) (\lambda (_: 
2858 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O 
2859 v0 u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
2860 T).(\lambda (_: T).(csubst0 O v0 e1 e2)))))))))) H4 O H5) in (let H7 \def 
2861 (eq_ind nat i (\lambda (n: nat).(csubst0 n v0 c3 c4)) H3 O H5) in (let H8 
2862 \def (eq_ind nat i (\lambda (n: nat).(subst0 n v0 u1 u2)) H2 O H5) in 
2863 (or4_intro3 (drop O O (CHead c4 (Flat f) u2) (CHead c3 (Flat f) u1)) (ex3_4 F 
2864 C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C 
2865 (CHead c3 (Flat f) u1) (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda 
2866 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c4 (Flat f) u2) 
2867 (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: 
2868 T).(\lambda (w: T).(subst0 O v0 u w)))))) (ex3_4 F C C T (\lambda (f0: 
2869 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead c3 (Flat f) 
2870 u1) (CHead e1 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda 
2871 (e2: C).(\lambda (u: T).(drop O O (CHead c4 (Flat f) u2) (CHead e2 (Flat f0) 
2872 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
2873 T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: 
2874 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c3 (Flat f) 
2875 u1) (CHead e1 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda 
2876 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c4 (Flat f) u2) 
2877 (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
2878 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w)))))) (\lambda (_: 
2879 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
2880 O v0 e1 e2))))))) (ex4_5_intro F C C T T (\lambda (f0: F).(\lambda (e1: 
2881 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c3 (Flat f) 
2882 u1) (CHead e1 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda 
2883 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c4 (Flat f) u2) 
2884 (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
2885 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w)))))) (\lambda (_: 
2886 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
2887 O v0 e1 e2)))))) f c3 c4 u1 u2 (refl_equal C (CHead c3 (Flat f) u1)) 
2888 (drop_refl (CHead c4 (Flat f) u2)) H8 H7)))))))))))))))) k)) y v c1 c2 H1))) 
2889 H) e (drop_gen_refl c1 e H0)))))))) (\lambda (n0: nat).(\lambda (IHn: 
2890 ((\forall (c1: C).(\forall (c2: C).(\forall (v: T).((csubst0 n0 v c1 c2) \to 
2891 (\forall (e: C).((drop n0 O c1 e) \to (or4 (drop n0 O c2 e) (ex3_4 F C T T 
2892 (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
2893 (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
2894 T).(\lambda (w: T).(drop n0 O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: 
2895 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
2896 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
2897 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: 
2898 C).(\lambda (e2: C).(\lambda (u: T).(drop n0 O c2 (CHead e2 (Flat f) u)))))) 
2899 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
2900 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
2901 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u))))))) 
2902 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: 
2903 T).(drop n0 O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: 
2904 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
2905 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
2906 (_: T).(csubst0 O v e1 e2)))))))))))))))).(\lambda (c1: C).(C_ind (\lambda 
2907 (c: C).(\forall (c2: C).(\forall (v: T).((csubst0 (S n0) v c c2) \to (\forall 
2908 (e: C).((drop (S n0) O c e) \to (or4 (drop (S n0) O c2 e) (ex3_4 F C T T 
2909 (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
2910 (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
2911 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: 
2912 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
2913 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
2914 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: 
2915 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 (Flat f) 
2916 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
2917 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: 
2918 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) 
2919 u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
2920 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: 
2921 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O 
2922 v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
2923 T).(\lambda (_: T).(csubst0 O v e1 e2)))))))))))))) (\lambda (n1: 
2924 nat).(\lambda (c2: C).(\lambda (v: T).(\lambda (_: (csubst0 (S n0) v (CSort 
2925 n1) c2)).(\lambda (e: C).(\lambda (H0: (drop (S n0) O (CSort n1) 
2926 e)).(and3_ind (eq C e (CSort n1)) (eq nat (S n0) O) (eq nat O O) (or4 (drop 
2927 (S n0) O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: 
2928 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f: 
2929 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead 
2930 e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda 
2931 (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: 
2932 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u)))))) 
2933 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) 
2934 O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
2935 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda 
2936 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C 
2937 e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
2938 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 (Flat f) 
2939 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
2940 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
2941 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
2942 e2)))))))) (\lambda (H1: (eq C e (CSort n1))).(\lambda (H2: (eq nat (S n0) 
2943 O)).(\lambda (_: (eq nat O O)).(eq_ind_r C (CSort n1) (\lambda (c: C).(or4 
2944 (drop (S n0) O c2 c) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda 
2945 (u: T).(\lambda (_: T).(eq C c (CHead e0 (Flat f) u)))))) (\lambda (f: 
2946 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead 
2947 e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda 
2948 (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: 
2949 C).(\lambda (_: C).(\lambda (u: T).(eq C c (CHead e1 (Flat f) u)))))) 
2950 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) 
2951 O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
2952 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda 
2953 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C 
2954 c (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
2955 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 (Flat f) 
2956 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
2957 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
2958 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
2959 e2))))))))) (let H4 \def (eq_ind nat (S n0) (\lambda (ee: nat).(match ee in 
2960 nat return (\lambda (_: nat).Prop) with [O \Rightarrow False | (S _) 
2961 \Rightarrow True])) I O H2) in (False_ind (or4 (drop (S n0) O c2 (CSort n1)) 
2962 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: 
2963 T).(eq C (CSort n1) (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: 
2964 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 (Flat f) 
2965 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
2966 T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: 
2967 C).(\lambda (_: C).(\lambda (u: T).(eq C (CSort n1) (CHead e1 (Flat f) 
2968 u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
2969 T).(drop (S n0) O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
2970 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
2971 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: 
2972 T).(eq C (CSort n1) (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: 
2973 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead 
2974 e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
2975 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
2976 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
2977 e2)))))))) H4)) e H1)))) (drop_gen_sort n1 (S n0) O e H0)))))))) (\lambda (c: 
2978 C).(\lambda (H: ((\forall (c2: C).(\forall (v: T).((csubst0 (S n0) v c c2) 
2979 \to (\forall (e: C).((drop (S n0) O c e) \to (or4 (drop (S n0) O c2 e) (ex3_4 
2980 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq 
2981 C e (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
2982 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: 
2983 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
2984 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
2985 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: 
2986 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 (Flat f) 
2987 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
2988 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: 
2989 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) 
2990 u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
2991 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: 
2992 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O 
2993 v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
2994 T).(\lambda (_: T).(csubst0 O v e1 e2))))))))))))))).(\lambda (k: K).(\lambda 
2995 (t: T).(\lambda (c2: C).(\lambda (v: T).(\lambda (H0: (csubst0 (S n0) v 
2996 (CHead c k t) c2)).(\lambda (e: C).(\lambda (H1: (drop (S n0) O (CHead c k t) 
2997 e)).(let H2 \def (match H0 in csubst0 return (\lambda (n: nat).(\lambda (t0: 
2998 T).(\lambda (c0: C).(\lambda (c1: C).(\lambda (_: (csubst0 n t0 c0 c1)).((eq 
2999 nat n (S n0)) \to ((eq T t0 v) \to ((eq C c0 (CHead c k t)) \to ((eq C c1 c2) 
3000 \to (or4 (drop (S n0) O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
3001 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) 
3002 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) 
3003 O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: 
3004 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: 
3005 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat 
3006 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
3007 T).(drop (S n0) O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
3008 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
3009 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: 
3010 T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: 
3011 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead 
3012 e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
3013 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
3014 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
3015 e2))))))))))))))))) with [(csubst0_snd k0 i v0 u1 u2 H2 c0) \Rightarrow 
3016 (\lambda (H3: (eq nat (s k0 i) (S n0))).(\lambda (H4: (eq T v0 v)).(\lambda 
3017 (H5: (eq C (CHead c0 k0 u1) (CHead c k t))).(\lambda (H6: (eq C (CHead c0 k0 
3018 u2) c2)).((let H7 \def (f_equal nat nat (\lambda (e0: nat).e0) (s k0 i) (S 
3019 n0) H3) in (eq_ind nat (s k0 i) (\lambda (n: nat).((eq T v0 v) \to ((eq C 
3020 (CHead c0 k0 u1) (CHead c k t)) \to ((eq C (CHead c0 k0 u2) c2) \to ((subst0 
3021 i v0 u1 u2) \to (or4 (drop n O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda 
3022 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) 
3023 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop n O c2 
3024 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: 
3025 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: 
3026 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat 
3027 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
3028 T).(drop n O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
3029 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
3030 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: 
3031 T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: 
3032 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop n O c2 (CHead e2 
3033 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
3034 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
3035 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
3036 e2))))))))))))) (\lambda (H8: (eq T v0 v)).(eq_ind T v (\lambda (t0: T).((eq 
3037 C (CHead c0 k0 u1) (CHead c k t)) \to ((eq C (CHead c0 k0 u2) c2) \to 
3038 ((subst0 i t0 u1 u2) \to (or4 (drop (s k0 i) O c2 e) (ex3_4 F C T T (\lambda 
3039 (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 
3040 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda 
3041 (w: T).(drop (s k0 i) O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: 
3042 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
3043 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
3044 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: 
3045 C).(\lambda (e2: C).(\lambda (u: T).(drop (s k0 i) O c2 (CHead e2 (Flat f) 
3046 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
3047 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: 
3048 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) 
3049 u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
3050 T).(\lambda (w: T).(drop (s k0 i) O c2 (CHead e2 (Flat f) w))))))) (\lambda 
3051 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
3052 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
3053 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))))))) (\lambda 
3054 (H9: (eq C (CHead c0 k0 u1) (CHead c k t))).(let H10 \def (f_equal C T 
3055 (\lambda (e0: C).(match e0 in C return (\lambda (_: C).T) with [(CSort _) 
3056 \Rightarrow u1 | (CHead _ _ t) \Rightarrow t])) (CHead c0 k0 u1) (CHead c k 
3057 t) H9) in ((let H11 \def (f_equal C K (\lambda (e0: C).(match e0 in C return 
3058 (\lambda (_: C).K) with [(CSort _) \Rightarrow k0 | (CHead _ k _) \Rightarrow 
3059 k])) (CHead c0 k0 u1) (CHead c k t) H9) in ((let H12 \def (f_equal C C 
3060 (\lambda (e0: C).(match e0 in C return (\lambda (_: C).C) with [(CSort _) 
3061 \Rightarrow c0 | (CHead c _ _) \Rightarrow c])) (CHead c0 k0 u1) (CHead c k 
3062 t) H9) in (eq_ind C c (\lambda (c: C).((eq K k0 k) \to ((eq T u1 t) \to ((eq 
3063 C (CHead c k0 u2) c2) \to ((subst0 i v u1 u2) \to (or4 (drop (s k0 i) O c2 e) 
3064 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: 
3065 T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: 
3066 C).(\lambda (_: T).(\lambda (w: T).(drop (s k0 i) O c2 (CHead e0 (Flat f) 
3067 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
3068 T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: 
3069 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u)))))) 
3070 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s k0 
3071 i) O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
3072 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda 
3073 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C 
3074 e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
3075 C).(\lambda (_: T).(\lambda (w: T).(drop (s k0 i) O c2 (CHead e2 (Flat f) 
3076 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
3077 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
3078 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
3079 e2))))))))))))) (\lambda (H13: (eq K k0 k)).(eq_ind K k (\lambda (k: K).((eq 
3080 T u1 t) \to ((eq C (CHead c k u2) c2) \to ((subst0 i v u1 u2) \to (or4 (drop 
3081 (s k i) O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: 
3082 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f: 
3083 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s k i) O c2 (CHead 
3084 e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda 
3085 (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: 
3086 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u)))))) 
3087 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s k 
3088 i) O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
3089 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda 
3090 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C 
3091 e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
3092 C).(\lambda (_: T).(\lambda (w: T).(drop (s k i) O c2 (CHead e2 (Flat f) 
3093 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
3094 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
3095 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
3096 e2)))))))))))) (\lambda (H14: (eq T u1 t)).(eq_ind T t (\lambda (t: T).((eq C 
3097 (CHead c k u2) c2) \to ((subst0 i v t u2) \to (or4 (drop (s k i) O c2 e) 
3098 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: 
3099 T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: 
3100 C).(\lambda (_: T).(\lambda (w: T).(drop (s k i) O c2 (CHead e0 (Flat f) 
3101 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
3102 T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: 
3103 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u)))))) 
3104 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s k 
3105 i) O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
3106 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda 
3107 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C 
3108 e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
3109 C).(\lambda (_: T).(\lambda (w: T).(drop (s k i) O c2 (CHead e2 (Flat f) 
3110 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
3111 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
3112 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
3113 e2))))))))))) (\lambda (H15: (eq C (CHead c k u2) c2)).(eq_ind C (CHead c k 
3114 u2) (\lambda (c: C).((subst0 i v t u2) \to (or4 (drop (s k i) O c e) (ex3_4 F 
3115 C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C 
3116 e (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
3117 T).(\lambda (w: T).(drop (s k i) O c (CHead e0 (Flat f) w)))))) (\lambda (_: 
3118 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
3119 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
3120 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: 
3121 C).(\lambda (e2: C).(\lambda (u: T).(drop (s k i) O c (CHead e2 (Flat f) 
3122 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
3123 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: 
3124 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) 
3125 u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
3126 T).(\lambda (w: T).(drop (s k i) O c (CHead e2 (Flat f) w))))))) (\lambda (_: 
3127 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O 
3128 v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
3129 T).(\lambda (_: T).(csubst0 O v e1 e2)))))))))) (\lambda (H16: (subst0 i v t 
3130 u2)).(let H0 \def (eq_ind K k0 (\lambda (k: K).(eq nat (s k i) (S n0))) H7 k 
3131 H13) in (K_ind (\lambda (k: K).((drop (r k n0) O c e) \to ((eq nat (s k i) (S 
3132 n0)) \to (or4 (drop (s k i) O (CHead c k u2) e) (ex3_4 F C T T (\lambda (f: 
3133 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat 
3134 f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
3135 T).(drop (s k i) O (CHead c k u2) (CHead e0 (Flat f) w)))))) (\lambda (_: 
3136 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
3137 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
3138 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: 
3139 C).(\lambda (e2: C).(\lambda (u: T).(drop (s k i) O (CHead c k u2) (CHead e2 
3140 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
3141 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda 
3142 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 
3143 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
3144 (_: T).(\lambda (w: T).(drop (s k i) O (CHead c k u2) (CHead e2 (Flat f) 
3145 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
3146 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
3147 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
3148 e2))))))))))) (\lambda (b: B).(\lambda (H1: (drop (r (Bind b) n0) O c 
3149 e)).(\lambda (H17: (eq nat (s (Bind b) i) (S n0))).(let H18 \def (f_equal nat 
3150 nat (\lambda (e0: nat).(match e0 in nat return (\lambda (_: nat).nat) with [O 
3151 \Rightarrow i | (S n) \Rightarrow n])) (S i) (S n0) H17) in (let H19 \def 
3152 (eq_ind nat i (\lambda (n: nat).(subst0 n v t u2)) H16 n0 H18) in (eq_ind_r 
3153 nat n0 (\lambda (n: nat).(or4 (drop (s (Bind b) n) O (CHead c (Bind b) u2) e) 
3154 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: 
3155 T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: 
3156 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n) O (CHead c (Bind b) 
3157 u2) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: 
3158 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: 
3159 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat 
3160 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
3161 T).(drop (s (Bind b) n) O (CHead c (Bind b) u2) (CHead e2 (Flat f) u)))))) 
3162 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
3163 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
3164 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u))))))) 
3165 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: 
3166 T).(drop (s (Bind b) n) O (CHead c (Bind b) u2) (CHead e2 (Flat f) w))))))) 
3167 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
3168 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
3169 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))))) (or4_intro0 
3170 (drop (s (Bind b) n0) O (CHead c (Bind b) u2) e) (ex3_4 F C T T (\lambda (f: 
3171 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat 
3172 f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
3173 T).(drop (s (Bind b) n0) O (CHead c (Bind b) u2) (CHead e0 (Flat f) w)))))) 
3174 (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u 
3175 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
3176 C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: 
3177 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Bind b) n0) O 
3178 (CHead c (Bind b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda 
3179 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C 
3180 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
3181 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f: 
3182 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
3183 (Bind b) n0) O (CHead c (Bind b) u2) (CHead e2 (Flat f) w))))))) (\lambda (_: 
3184 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O 
3185 v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
3186 T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (drop_drop (Bind b) n0 c e H1 
3187 u2)) i H18)))))) (\lambda (f: F).(\lambda (H1: (drop (r (Flat f) n0) O c 
3188 e)).(\lambda (H17: (eq nat (s (Flat f) i) (S n0))).(let H18 \def (f_equal nat 
3189 nat (\lambda (e0: nat).e0) i (S n0) H17) in (let H19 \def (eq_ind nat i 
3190 (\lambda (n: nat).(subst0 n v t u2)) H16 (S n0) H18) in (eq_ind_r nat (S n0) 
3191 (\lambda (n: nat).(or4 (drop (s (Flat f) n) O (CHead c (Flat f) u2) e) (ex3_4 
3192 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq 
3193 C e (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda 
3194 (_: T).(\lambda (w: T).(drop (s (Flat f) n) O (CHead c (Flat f) u2) (CHead e0 
3195 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda 
3196 (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: 
3197 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat f0) u)))))) 
3198 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s 
3199 (Flat f) n) O (CHead c (Flat f) u2) (CHead e2 (Flat f0) u)))))) (\lambda (_: 
3200 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
3201 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
3202 (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u))))))) (\lambda (f0: 
3203 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
3204 (Flat f) n) O (CHead c (Flat f) u2) (CHead e2 (Flat f0) w))))))) (\lambda (_: 
3205 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O 
3206 v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
3207 T).(\lambda (_: T).(csubst0 O v e1 e2))))))))) (or4_intro0 (drop (s (Flat f) 
3208 (S n0)) O (CHead c (Flat f) u2) e) (ex3_4 F C T T (\lambda (f0: F).(\lambda 
3209 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u)))))) 
3210 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
3211 (Flat f) (S n0)) O (CHead c (Flat f) u2) (CHead e0 (Flat f0) w)))))) (\lambda 
3212 (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
3213 (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
3214 T).(eq C e (CHead e1 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: 
3215 C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Flat f) (S n0)) O (CHead c 
3216 (Flat f) u2) (CHead e2 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: 
3217 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
3218 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda 
3219 (_: T).(eq C e (CHead e1 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: 
3220 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) 
3221 O (CHead c (Flat f) u2) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda 
3222 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
3223 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
3224 (_: T).(csubst0 O v e1 e2))))))) (drop_drop (Flat f) n0 c e H1 u2)) i 
3225 H18)))))) k (drop_gen_drop k c e t n0 H1) H0))) c2 H15)) u1 (sym_eq T u1 t 
3226 H14))) k0 (sym_eq K k0 k H13))) c0 (sym_eq C c0 c H12))) H11)) H10))) v0 
3227 (sym_eq T v0 v H8))) (S n0) H7)) H4 H5 H6 H2))))) | (csubst0_fst k0 i c1 c0 
3228 v0 H2 u) \Rightarrow (\lambda (H3: (eq nat (s k0 i) (S n0))).(\lambda (H4: 
3229 (eq T v0 v)).(\lambda (H5: (eq C (CHead c1 k0 u) (CHead c k t))).(\lambda 
3230 (H6: (eq C (CHead c0 k0 u) c2)).((let H7 \def (f_equal nat nat (\lambda (e0: 
3231 nat).e0) (s k0 i) (S n0) H3) in (eq_ind nat (s k0 i) (\lambda (n: nat).((eq T 
3232 v0 v) \to ((eq C (CHead c1 k0 u) (CHead c k t)) \to ((eq C (CHead c0 k0 u) 
3233 c2) \to ((csubst0 i v0 c1 c0) \to (or4 (drop n O c2 e) (ex3_4 F C T T 
3234 (\lambda (f: F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e 
3235 (CHead e0 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
3236 T).(\lambda (w: T).(drop n O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: 
3237 F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) 
3238 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: 
3239 T).(eq C e (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_: 
3240 C).(\lambda (e2: C).(\lambda (u0: T).(drop n O c2 (CHead e2 (Flat f) u0)))))) 
3241 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
3242 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
3243 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u0))))))) 
3244 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: 
3245 T).(drop n O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: 
3246 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) 
3247 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
3248 (_: T).(csubst0 O v e1 e2))))))))))))) (\lambda (H8: (eq T v0 v)).(eq_ind T v 
3249 (\lambda (t0: T).((eq C (CHead c1 k0 u) (CHead c k t)) \to ((eq C (CHead c0 
3250 k0 u) c2) \to ((csubst0 i t0 c1 c0) \to (or4 (drop (s k0 i) O c2 e) (ex3_4 F 
3251 C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C 
3252 e (CHead e0 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
3253 T).(\lambda (w: T).(drop (s k0 i) O c2 (CHead e0 (Flat f) w)))))) (\lambda 
3254 (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 
3255 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
3256 C).(\lambda (u0: T).(eq C e (CHead e1 (Flat f) u0)))))) (\lambda (f: 
3257 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s k0 i) O c2 
3258 (CHead e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
3259 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: 
3260 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e 
3261 (CHead e1 (Flat f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
3262 C).(\lambda (_: T).(\lambda (w: T).(drop (s k0 i) O c2 (CHead e2 (Flat f) 
3263 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: 
3264 T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: 
3265 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
3266 e2)))))))))))) (\lambda (H9: (eq C (CHead c1 k0 u) (CHead c k t))).(let H10 
3267 \def (f_equal C T (\lambda (e0: C).(match e0 in C return (\lambda (_: C).T) 
3268 with [(CSort _) \Rightarrow u | (CHead _ _ t) \Rightarrow t])) (CHead c1 k0 
3269 u) (CHead c k t) H9) in ((let H11 \def (f_equal C K (\lambda (e0: C).(match 
3270 e0 in C return (\lambda (_: C).K) with [(CSort _) \Rightarrow k0 | (CHead _ k 
3271 _) \Rightarrow k])) (CHead c1 k0 u) (CHead c k t) H9) in ((let H12 \def 
3272 (f_equal C C (\lambda (e0: C).(match e0 in C return (\lambda (_: C).C) with 
3273 [(CSort _) \Rightarrow c1 | (CHead c _ _) \Rightarrow c])) (CHead c1 k0 u) 
3274 (CHead c k t) H9) in (eq_ind C c (\lambda (c: C).((eq K k0 k) \to ((eq T u t) 
3275 \to ((eq C (CHead c0 k0 u) c2) \to ((csubst0 i v c c0) \to (or4 (drop (s k0 
3276 i) O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u0: 
3277 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u0)))))) (\lambda (f: 
3278 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s k0 i) O c2 
3279 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: 
3280 T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f: 
3281 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 (Flat 
3282 f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: 
3283 T).(drop (s k0 i) O c2 (CHead e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda 
3284 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C 
3285 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: 
3286 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u0))))))) (\lambda (f: 
3287 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
3288 k0 i) O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: 
3289 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) 
3290 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
3291 (_: T).(csubst0 O v e1 e2))))))))))))) (\lambda (H13: (eq K k0 k)).(eq_ind K 
3292 k (\lambda (k: K).((eq T u t) \to ((eq C (CHead c0 k u) c2) \to ((csubst0 i v 
3293 c c0) \to (or4 (drop (s k i) O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda 
3294 (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u0)))))) 
3295 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s k 
3296 i) O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda 
3297 (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f: 
3298 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 (Flat 
3299 f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: 
3300 T).(drop (s k i) O c2 (CHead e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda 
3301 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C 
3302 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: 
3303 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u0))))))) (\lambda (f: 
3304 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
3305 k i) O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: 
3306 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) 
3307 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
3308 (_: T).(csubst0 O v e1 e2)))))))))))) (\lambda (H14: (eq T u t)).(eq_ind T t 
3309 (\lambda (t: T).((eq C (CHead c0 k t) c2) \to ((csubst0 i v c c0) \to (or4 
3310 (drop (s k i) O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
3311 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u0)))))) 
3312 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s k 
3313 i) O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda 
3314 (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f: 
3315 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 (Flat 
3316 f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: 
3317 T).(drop (s k i) O c2 (CHead e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda 
3318 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C 
3319 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: 
3320 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u0))))))) (\lambda (f: 
3321 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
3322 k i) O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: 
3323 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) 
3324 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
3325 (_: T).(csubst0 O v e1 e2))))))))))) (\lambda (H15: (eq C (CHead c0 k t) 
3326 c2)).(eq_ind C (CHead c0 k t) (\lambda (c2: C).((csubst0 i v c c0) \to (or4 
3327 (drop (s k i) O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
3328 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u0)))))) 
3329 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s k 
3330 i) O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda 
3331 (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f: 
3332 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 (Flat 
3333 f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: 
3334 T).(drop (s k i) O c2 (CHead e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda 
3335 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C 
3336 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: 
3337 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u0))))))) (\lambda (f: 
3338 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
3339 k i) O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: 
3340 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) 
3341 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
3342 (_: T).(csubst0 O v e1 e2)))))))))) (\lambda (H16: (csubst0 i v c c0)).(let 
3343 H0 \def (eq_ind K k0 (\lambda (k: K).(eq nat (s k i) (S n0))) H7 k H13) in 
3344 (K_ind (\lambda (k: K).((drop (r k n0) O c e) \to ((eq nat (s k i) (S n0)) 
3345 \to (or4 (drop (s k i) O (CHead c0 k t) e) (ex3_4 F C T T (\lambda (f: 
3346 F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat 
3347 f) u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
3348 T).(drop (s k i) O (CHead c0 k t) (CHead e0 (Flat f) w)))))) (\lambda (_: 
3349 F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) 
3350 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: 
3351 T).(eq C e (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_: 
3352 C).(\lambda (e2: C).(\lambda (u0: T).(drop (s k i) O (CHead c0 k t) (CHead e2 
3353 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
3354 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda 
3355 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 
3356 (Flat f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
3357 (_: T).(\lambda (w: T).(drop (s k i) O (CHead c0 k t) (CHead e2 (Flat f) 
3358 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: 
3359 T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: 
3360 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
3361 e2))))))))))) (\lambda (b: B).(\lambda (H1: (drop (r (Bind b) n0) O c 
3362 e)).(\lambda (H17: (eq nat (s (Bind b) i) (S n0))).(let H18 \def (f_equal nat 
3363 nat (\lambda (e0: nat).(match e0 in nat return (\lambda (_: nat).nat) with [O 
3364 \Rightarrow i | (S n) \Rightarrow n])) (S i) (S n0) H17) in (let H19 \def 
3365 (eq_ind nat i (\lambda (n: nat).(csubst0 n v c c0)) H16 n0 H18) in (eq_ind_r 
3366 nat n0 (\lambda (n: nat).(or4 (drop (s (Bind b) n) O (CHead c0 (Bind b) t) e) 
3367 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: 
3368 T).(eq C e (CHead e0 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e0: 
3369 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n) O (CHead c0 (Bind b) 
3370 t) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: 
3371 T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f: 
3372 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 (Flat 
3373 f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: 
3374 T).(drop (s (Bind b) n) O (CHead c0 (Bind b) t) (CHead e2 (Flat f) u0)))))) 
3375 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
3376 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
3377 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u0))))))) 
3378 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: 
3379 T).(drop (s (Bind b) n) O (CHead c0 (Bind b) t) (CHead e2 (Flat f) w))))))) 
3380 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
3381 T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
3382 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))))) (let H \def 
3383 (IHn c c0 v H19 e H1) in (or4_ind (drop n0 O c0 e) (ex3_4 F C T T (\lambda 
3384 (f: F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 
3385 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda 
3386 (w: T).(drop n0 O c0 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: 
3387 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T 
3388 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e 
3389 (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
3390 C).(\lambda (u0: T).(drop n0 O c0 (CHead e2 (Flat f) u0)))))) (\lambda (_: 
3391 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
3392 (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
3393 (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u0))))))) (\lambda (f: 
3394 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop n0 
3395 O c0 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
3396 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: 
3397 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
3398 O v e1 e2))))))) (or4 (drop (s (Bind b) n0) O (CHead c0 (Bind b) t) e) (ex3_4 
3399 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq 
3400 C e (CHead e0 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
3401 T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e0 
3402 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda 
3403 (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: 
3404 C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 (Flat f) u0)))))) 
3405 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s 
3406 (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e2 (Flat f) u0)))))) (\lambda (_: 
3407 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
3408 (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
3409 (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u0))))))) (\lambda (f: 
3410 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
3411 (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e2 (Flat f) w))))))) (\lambda (_: 
3412 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O 
3413 v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
3414 T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda (H20: (drop n0 O c0 
3415 e)).(or4_intro0 (drop (s (Bind b) n0) O (CHead c0 (Bind b) t) e) (ex3_4 F C T 
3416 T (\lambda (f: F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e 
3417 (CHead e0 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
3418 T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e0 
3419 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda 
3420 (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: 
3421 C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 (Flat f) u0)))))) 
3422 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s 
3423 (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e2 (Flat f) u0)))))) (\lambda (_: 
3424 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
3425 (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
3426 (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u0))))))) (\lambda (f: 
3427 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
3428 (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e2 (Flat f) w))))))) (\lambda (_: 
3429 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O 
3430 v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
3431 T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (drop_drop (Bind b) n0 c0 e H20 
3432 t))) (\lambda (H20: (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda 
3433 (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f: 
3434 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c0 (CHead e0 
3435 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
3436 T).(subst0 O v u w))))))).(ex3_4_ind F C T T (\lambda (f: F).(\lambda (e0: 
3437 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u0)))))) 
3438 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop n0 O 
3439 c0 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: 
3440 T).(\lambda (w: T).(subst0 O v u0 w))))) (or4 (drop (s (Bind b) n0) O (CHead 
3441 c0 (Bind b) t) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda 
3442 (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u0)))))) (\lambda (f: 
3443 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O 
3444 (CHead c0 (Bind b) t) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: 
3445 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T 
3446 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e 
3447 (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
3448 C).(\lambda (u0: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e2 
3449 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
3450 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda 
3451 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 
3452 (Flat f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
3453 (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) t) (CHead 
3454 e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
3455 (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: 
3456 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
3457 e2)))))))) (\lambda (x0: F).(\lambda (x1: C).(\lambda (x2: T).(\lambda (x3: 
3458 T).(\lambda (H21: (eq C e (CHead x1 (Flat x0) x2))).(\lambda (H22: (drop n0 O 
3459 c0 (CHead x1 (Flat x0) x3))).(\lambda (H23: (subst0 O v x2 x3)).(eq_ind_r C 
3460 (CHead x1 (Flat x0) x2) (\lambda (c: C).(or4 (drop (s (Bind b) n0) O (CHead 
3461 c0 (Bind b) t) c) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda 
3462 (u0: T).(\lambda (_: T).(eq C c (CHead e0 (Flat f) u0)))))) (\lambda (f: 
3463 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O 
3464 (CHead c0 (Bind b) t) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: 
3465 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T 
3466 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C c 
3467 (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
3468 C).(\lambda (u0: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e2 
3469 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
3470 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda 
3471 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C c (CHead e1 
3472 (Flat f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
3473 (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) t) (CHead 
3474 e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
3475 (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: 
3476 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
3477 e2))))))))) (or4_intro1 (drop (s (Bind b) n0) O (CHead c0 (Bind b) t) (CHead 
3478 x1 (Flat x0) x2)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda 
3479 (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x2) (CHead e0 (Flat f) 
3480 u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
3481 T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e0 (Flat f) w)))))) 
3482 (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v 
3483 u0 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
3484 C).(\lambda (u0: T).(eq C (CHead x1 (Flat x0) x2) (CHead e1 (Flat f) u0)))))) 
3485 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s 
3486 (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e2 (Flat f) u0)))))) (\lambda (_: 
3487 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
3488 (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
3489 (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x2) (CHead e1 (Flat f) 
3490 u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
3491 T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e2 
3492 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
3493 (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: 
3494 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) 
3495 (ex3_4_intro F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u0: 
3496 T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x2) (CHead e0 (Flat f) u0)))))) 
3497 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
3498 (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e0 (Flat f) w)))))) (\lambda (_: 
3499 F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))) x0 
3500 x1 x2 x3 (refl_equal C (CHead x1 (Flat x0) x2)) (drop_drop (Bind b) n0 c0 
3501 (CHead x1 (Flat x0) x3) H22 t) H23)) e H21)))))))) H20)) (\lambda (H20: 
3502 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
3503 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: 
3504 C).(\lambda (e2: C).(\lambda (u: T).(drop n0 O c0 (CHead e2 (Flat f) u)))))) 
3505 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
3506 v e1 e2))))))).(ex3_4_ind F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda 
3507 (_: C).(\lambda (u0: T).(eq C e (CHead e1 (Flat f) u0)))))) (\lambda (f: 
3508 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop n0 O c0 (CHead e2 
3509 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
3510 (_: T).(csubst0 O v e1 e2))))) (or4 (drop (s (Bind b) n0) O (CHead c0 (Bind 
3511 b) t) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u0: 
3512 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u0)))))) (\lambda (f: 
3513 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O 
3514 (CHead c0 (Bind b) t) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: 
3515 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T 
3516 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e 
3517 (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
3518 C).(\lambda (u0: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e2 
3519 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
3520 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda 
3521 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 
3522 (Flat f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
3523 (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) t) (CHead 
3524 e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
3525 (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: 
3526 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
3527 e2)))))))) (\lambda (x0: F).(\lambda (x1: C).(\lambda (x2: C).(\lambda (x3: 
3528 T).(\lambda (H21: (eq C e (CHead x1 (Flat x0) x3))).(\lambda (H22: (drop n0 O 
3529 c0 (CHead x2 (Flat x0) x3))).(\lambda (H23: (csubst0 O v x1 x2)).(eq_ind_r C 
3530 (CHead x1 (Flat x0) x3) (\lambda (c: C).(or4 (drop (s (Bind b) n0) O (CHead 
3531 c0 (Bind b) t) c) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda 
3532 (u0: T).(\lambda (_: T).(eq C c (CHead e0 (Flat f) u0)))))) (\lambda (f: 
3533 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O 
3534 (CHead c0 (Bind b) t) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: 
3535 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T 
3536 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C c 
3537 (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
3538 C).(\lambda (u0: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e2 
3539 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
3540 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda 
3541 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C c (CHead e1 
3542 (Flat f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
3543 (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) t) (CHead 
3544 e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
3545 (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: 
3546 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
3547 e2))))))))) (or4_intro2 (drop (s (Bind b) n0) O (CHead c0 (Bind b) t) (CHead 
3548 x1 (Flat x0) x3)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda 
3549 (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x3) (CHead e0 (Flat f) 
3550 u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
3551 T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e0 (Flat f) w)))))) 
3552 (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v 
3553 u0 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
3554 C).(\lambda (u0: T).(eq C (CHead x1 (Flat x0) x3) (CHead e1 (Flat f) u0)))))) 
3555 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s 
3556 (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e2 (Flat f) u0)))))) (\lambda (_: 
3557 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
3558 (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
3559 (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x3) (CHead e1 (Flat f) 
3560 u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
3561 T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e2 
3562 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
3563 (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: 
3564 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) 
3565 (ex3_4_intro F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
3566 C).(\lambda (u0: T).(eq C (CHead x1 (Flat x0) x3) (CHead e1 (Flat f) u0)))))) 
3567 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s 
3568 (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e2 (Flat f) u0)))))) (\lambda (_: 
3569 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))) 
3570 x0 x1 x2 x3 (refl_equal C (CHead x1 (Flat x0) x3)) (drop_drop (Bind b) n0 c0 
3571 (CHead x2 (Flat x0) x3) H22 t) H23)) e H21)))))))) H20)) (\lambda (H20: 
3572 (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
3573 (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f: 
3574 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop n0 
3575 O c0 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
3576 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: 
3577 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
3578 O v e1 e2)))))))).(ex4_5_ind F C C T T (\lambda (f: F).(\lambda (e1: 
3579 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat 
3580 f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
3581 T).(\lambda (w: T).(drop n0 O c0 (CHead e2 (Flat f) w))))))) (\lambda (_: 
3582 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O 
3583 v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
3584 T).(\lambda (_: T).(csubst0 O v e1 e2)))))) (or4 (drop (s (Bind b) n0) O 
3585 (CHead c0 (Bind b) t) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
3586 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u0)))))) 
3587 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
3588 (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e0 (Flat f) w)))))) (\lambda (_: 
3589 F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) 
3590 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: 
3591 T).(eq C e (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_: 
3592 C).(\lambda (e2: C).(\lambda (u0: T).(drop (s (Bind b) n0) O (CHead c0 (Bind 
3593 b) t) (CHead e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
3594 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda 
3595 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq 
3596 C e (CHead e1 (Flat f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda 
3597 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 
3598 (Bind b) t) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: 
3599 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) 
3600 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
3601 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x0: F).(\lambda (x1: C).(\lambda 
3602 (x2: C).(\lambda (x3: T).(\lambda (x4: T).(\lambda (H21: (eq C e (CHead x1 
3603 (Flat x0) x3))).(\lambda (H22: (drop n0 O c0 (CHead x2 (Flat x0) 
3604 x4))).(\lambda (H23: (subst0 O v x3 x4)).(\lambda (H24: (csubst0 O v x1 
3605 x2)).(eq_ind_r C (CHead x1 (Flat x0) x3) (\lambda (c: C).(or4 (drop (s (Bind 
3606 b) n0) O (CHead c0 (Bind b) t) c) (ex3_4 F C T T (\lambda (f: F).(\lambda 
3607 (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C c (CHead e0 (Flat f) u0)))))) 
3608 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
3609 (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e0 (Flat f) w)))))) (\lambda (_: 
3610 F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) 
3611 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: 
3612 T).(eq C c (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_: 
3613 C).(\lambda (e2: C).(\lambda (u0: T).(drop (s (Bind b) n0) O (CHead c0 (Bind 
3614 b) t) (CHead e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
3615 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda 
3616 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq 
3617 C c (CHead e1 (Flat f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda 
3618 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 
3619 (Bind b) t) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: 
3620 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) 
3621 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
3622 (_: T).(csubst0 O v e1 e2))))))))) (or4_intro3 (drop (s (Bind b) n0) O (CHead 
3623 c0 (Bind b) t) (CHead x1 (Flat x0) x3)) (ex3_4 F C T T (\lambda (f: 
3624 F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat 
3625 x0) x3) (CHead e0 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda 
3626 (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) t) (CHead 
3627 e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda 
3628 (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: 
3629 C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1 (Flat x0) x3) (CHead e1 
3630 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
3631 (u0: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) t) (CHead e2 (Flat f) 
3632 u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
3633 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: 
3634 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) 
3635 x3) (CHead e1 (Flat f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda 
3636 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 
3637 (Bind b) t) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: 
3638 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) 
3639 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
3640 (_: T).(csubst0 O v e1 e2))))))) (ex4_5_intro F C C T T (\lambda (f: 
3641 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C 
3642 (CHead x1 (Flat x0) x3) (CHead e1 (Flat f) u0))))))) (\lambda (f: F).(\lambda 
3643 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) 
3644 O (CHead c0 (Bind b) t) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda 
3645 (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 
3646 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
3647 T).(\lambda (_: T).(csubst0 O v e1 e2)))))) x0 x1 x2 x3 x4 (refl_equal C 
3648 (CHead x1 (Flat x0) x3)) (drop_drop (Bind b) n0 c0 (CHead x2 (Flat x0) x4) 
3649 H22 t) H23 H24)) e H21)))))))))) H20)) H)) i H18)))))) (\lambda (f: 
3650 F).(\lambda (H1: (drop (r (Flat f) n0) O c e)).(\lambda (H17: (eq nat (s 
3651 (Flat f) i) (S n0))).(let H18 \def (f_equal nat nat (\lambda (e0: nat).e0) i 
3652 (S n0) H17) in (let H19 \def (eq_ind nat i (\lambda (n: nat).(csubst0 n v c 
3653 c0)) H16 (S n0) H18) in (eq_ind_r nat (S n0) (\lambda (n: nat).(or4 (drop (s 
3654 (Flat f) n) O (CHead c0 (Flat f) t) e) (ex3_4 F C T T (\lambda (f0: 
3655 F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat 
3656 f0) u0)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
3657 T).(drop (s (Flat f) n) O (CHead c0 (Flat f) t) (CHead e0 (Flat f0) w)))))) 
3658 (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v 
3659 u0 w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
3660 C).(\lambda (u0: T).(eq C e (CHead e1 (Flat f0) u0)))))) (\lambda (f0: 
3661 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s (Flat f) n) O 
3662 (CHead c0 (Flat f) t) (CHead e2 (Flat f0) u0)))))) (\lambda (_: F).(\lambda 
3663 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C 
3664 C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: 
3665 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u0))))))) (\lambda (f0: 
3666 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
3667 (Flat f) n) O (CHead c0 (Flat f) t) (CHead e2 (Flat f0) w))))))) (\lambda (_: 
3668 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O 
3669 v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
3670 T).(\lambda (_: T).(csubst0 O v e1 e2))))))))) (let H20 \def (H c0 v H19 e 
3671 H1) in (or4_ind (drop (S n0) O c0 e) (ex3_4 F C T T (\lambda (f0: F).(\lambda 
3672 (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u0)))))) 
3673 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
3674 n0) O c0 (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda 
3675 (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f0: 
3676 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 (Flat 
3677 f0) u0)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: 
3678 T).(drop (S n0) O c0 (CHead e2 (Flat f0) u0)))))) (\lambda (_: F).(\lambda 
3679 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C 
3680 C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: 
3681 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u0))))))) (\lambda (f0: 
3682 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S 
3683 n0) O c0 (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: 
3684 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) 
3685 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
3686 (_: T).(csubst0 O v e1 e2))))))) (or4 (drop (s (Flat f) (S n0)) O (CHead c0 
3687 (Flat f) t) e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u0: 
3688 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u0)))))) (\lambda (f0: 
3689 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) 
3690 O (CHead c0 (Flat f) t) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda 
3691 (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T 
3692 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e 
3693 (CHead e1 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
3694 C).(\lambda (u0: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead 
3695 e2 (Flat f0) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
3696 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: 
3697 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e 
3698 (CHead e1 (Flat f0) u0))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
3699 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 
3700 (Flat f) t) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: 
3701 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) 
3702 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
3703 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (H21: (drop (S n0) O c0 
3704 e)).(or4_intro0 (drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) e) (ex3_4 F 
3705 C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq 
3706 C e (CHead e0 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda 
3707 (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) 
3708 (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: 
3709 T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f0: 
3710 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 (Flat 
3711 f0) u0)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: 
3712 T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead e2 (Flat f0) 
3713 u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
3714 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: 
3715 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat 
3716 f0) u0))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
3717 T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead 
3718 e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
3719 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: 
3720 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
3721 O v e1 e2))))))) (drop_drop (Flat f) n0 c0 e H21 t))) (\lambda (H21: (ex3_4 F 
3722 C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C 
3723 e (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
3724 T).(\lambda (w: T).(drop (S n0) O c0 (CHead e0 (Flat f) w)))))) (\lambda (_: 
3725 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u 
3726 w))))))).(ex3_4_ind F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u0: 
3727 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u0)))))) (\lambda (f0: 
3728 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c0 (CHead 
3729 e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: 
3730 T).(\lambda (w: T).(subst0 O v u0 w))))) (or4 (drop (s (Flat f) (S n0)) O 
3731 (CHead c0 (Flat f) t) e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: 
3732 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u0)))))) 
3733 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
3734 (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead e0 (Flat f0) w)))))) (\lambda 
3735 (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 
3736 w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
3737 C).(\lambda (u0: T).(eq C e (CHead e1 (Flat f0) u0)))))) (\lambda (f0: 
3738 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s (Flat f) (S 
3739 n0)) O (CHead c0 (Flat f) t) (CHead e2 (Flat f0) u0)))))) (\lambda (_: 
3740 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
3741 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
3742 (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u0))))))) (\lambda (f0: 
3743 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
3744 (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead e2 (Flat f0) w))))))) 
3745 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
3746 T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
3747 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x0: 
3748 F).(\lambda (x1: C).(\lambda (x2: T).(\lambda (x3: T).(\lambda (H22: (eq C e 
3749 (CHead x1 (Flat x0) x2))).(\lambda (H23: (drop (S n0) O c0 (CHead x1 (Flat 
3750 x0) x3))).(\lambda (H24: (subst0 O v x2 x3)).(eq_ind_r C (CHead x1 (Flat x0) 
3751 x2) (\lambda (c: C).(or4 (drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) c) 
3752 (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u0: T).(\lambda 
3753 (_: T).(eq C c (CHead e0 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (e0: 
3754 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 
3755 (Flat f) t) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: 
3756 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T 
3757 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C c 
3758 (CHead e1 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
3759 C).(\lambda (u0: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead 
3760 e2 (Flat f0) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
3761 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: 
3762 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C c 
3763 (CHead e1 (Flat f0) u0))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
3764 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 
3765 (Flat f) t) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: 
3766 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) 
3767 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
3768 (_: T).(csubst0 O v e1 e2))))))))) (or4_intro1 (drop (s (Flat f) (S n0)) O 
3769 (CHead c0 (Flat f) t) (CHead x1 (Flat x0) x2)) (ex3_4 F C T T (\lambda (f0: 
3770 F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat 
3771 x0) x2) (CHead e0 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (e0: 
3772 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 
3773 (Flat f) t) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: 
3774 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T 
3775 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C 
3776 (CHead x1 (Flat x0) x2) (CHead e1 (Flat f0) u0)))))) (\lambda (f0: 
3777 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s (Flat f) (S 
3778 n0)) O (CHead c0 (Flat f) t) (CHead e2 (Flat f0) u0)))))) (\lambda (_: 
3779 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
3780 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
3781 (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x2) (CHead e1 (Flat f0) 
3782 u0))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
3783 T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead 
3784 e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
3785 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: 
3786 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
3787 O v e1 e2))))))) (ex3_4_intro F C T T (\lambda (f0: F).(\lambda (e0: 
3788 C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x2) (CHead e0 
3789 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda 
3790 (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead e0 (Flat f0) 
3791 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
3792 T).(subst0 O v u0 w))))) x0 x1 x2 x3 (refl_equal C (CHead x1 (Flat x0) x2)) 
3793 (drop_drop (Flat f) n0 c0 (CHead x1 (Flat x0) x3) H23 t) H24)) e H22)))))))) 
3794 H21)) (\lambda (H21: (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda 
3795 (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: 
3796 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c0 (CHead 
3797 e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
3798 C).(\lambda (_: T).(csubst0 O v e1 e2))))))).(ex3_4_ind F C C T (\lambda (f0: 
3799 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 (Flat 
3800 f0) u0)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: 
3801 T).(drop (S n0) O c0 (CHead e2 (Flat f0) u0)))))) (\lambda (_: F).(\lambda 
3802 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))) (or4 (drop 
3803 (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) e) (ex3_4 F C T T (\lambda (f0: 
3804 F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat 
3805 f0) u0)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
3806 T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead e0 (Flat f0) 
3807 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
3808 T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: 
3809 C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 (Flat f0) u0)))))) 
3810 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s 
3811 (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead e2 (Flat f0) u0)))))) 
3812 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
3813 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
3814 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u0))))))) 
3815 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
3816 (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead e2 (Flat f0) 
3817 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: 
3818 T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: 
3819 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
3820 e2)))))))) (\lambda (x0: F).(\lambda (x1: C).(\lambda (x2: C).(\lambda (x3: 
3821 T).(\lambda (H22: (eq C e (CHead x1 (Flat x0) x3))).(\lambda (H23: (drop (S 
3822 n0) O c0 (CHead x2 (Flat x0) x3))).(\lambda (H24: (csubst0 O v x1 
3823 x2)).(eq_ind_r C (CHead x1 (Flat x0) x3) (\lambda (c: C).(or4 (drop (s (Flat 
3824 f) (S n0)) O (CHead c0 (Flat f) t) c) (ex3_4 F C T T (\lambda (f0: 
3825 F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C c (CHead e0 (Flat 
3826 f0) u0)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
3827 T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead e0 (Flat f0) 
3828 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
3829 T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: 
3830 C).(\lambda (_: C).(\lambda (u0: T).(eq C c (CHead e1 (Flat f0) u0)))))) 
3831 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s 
3832 (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead e2 (Flat f0) u0)))))) 
3833 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
3834 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
3835 C).(\lambda (u0: T).(\lambda (_: T).(eq C c (CHead e1 (Flat f0) u0))))))) 
3836 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
3837 (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead e2 (Flat f0) 
3838 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: 
3839 T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: 
3840 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
3841 e2))))))))) (or4_intro2 (drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) 
3842 (CHead x1 (Flat x0) x3)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: 
3843 C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x3) (CHead e0 
3844 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda 
3845 (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead e0 (Flat f0) 
3846 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
3847 T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: 
3848 C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1 (Flat x0) x3) (CHead e1 
3849 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
3850 (u0: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead e2 (Flat f0) 
3851 u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
3852 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: 
3853 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) 
3854 x3) (CHead e1 (Flat f0) u0))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda 
3855 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 
3856 (Flat f) t) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: 
3857 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) 
3858 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
3859 (_: T).(csubst0 O v e1 e2))))))) (ex3_4_intro F C C T (\lambda (f0: 
3860 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1 (Flat 
3861 x0) x3) (CHead e1 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (_: 
3862 C).(\lambda (e2: C).(\lambda (u0: T).(drop (s (Flat f) (S n0)) O (CHead c0 
3863 (Flat f) t) (CHead e2 (Flat f0) u0)))))) (\lambda (_: F).(\lambda (e1: 
3864 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))) x0 x1 x2 x3 
3865 (refl_equal C (CHead x1 (Flat x0) x3)) (drop_drop (Flat f) n0 c0 (CHead x2 
3866 (Flat x0) x3) H23 t) H24)) e H22)))))))) H21)) (\lambda (H21: (ex4_5 F C C T 
3867 T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda 
3868 (_: T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: 
3869 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c0 (CHead 
3870 e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
3871 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
3872 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
3873 e2)))))))).(ex4_5_ind F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda 
3874 (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u0))))))) 
3875 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
3876 (w: T).(drop (S n0) O c0 (CHead e2 (Flat f0) w))))))) (\lambda (_: 
3877 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O 
3878 v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
3879 T).(\lambda (_: T).(csubst0 O v e1 e2)))))) (or4 (drop (s (Flat f) (S n0)) O 
3880 (CHead c0 (Flat f) t) e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: 
3881 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u0)))))) 
3882 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
3883 (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead e0 (Flat f0) w)))))) (\lambda 
3884 (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 
3885 w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
3886 C).(\lambda (u0: T).(eq C e (CHead e1 (Flat f0) u0)))))) (\lambda (f0: 
3887 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s (Flat f) (S 
3888 n0)) O (CHead c0 (Flat f) t) (CHead e2 (Flat f0) u0)))))) (\lambda (_: 
3889 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
3890 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
3891 (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u0))))))) (\lambda (f0: 
3892 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
3893 (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead e2 (Flat f0) w))))))) 
3894 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: 
3895 T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
3896 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x0: 
3897 F).(\lambda (x1: C).(\lambda (x2: C).(\lambda (x3: T).(\lambda (x4: 
3898 T).(\lambda (H22: (eq C e (CHead x1 (Flat x0) x3))).(\lambda (H23: (drop (S 
3899 n0) O c0 (CHead x2 (Flat x0) x4))).(\lambda (H24: (subst0 O v x3 
3900 x4)).(\lambda (H25: (csubst0 O v x1 x2)).(eq_ind_r C (CHead x1 (Flat x0) x3) 
3901 (\lambda (c: C).(or4 (drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) c) 
3902 (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u0: T).(\lambda 
3903 (_: T).(eq C c (CHead e0 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (e0: 
3904 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 
3905 (Flat f) t) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: 
3906 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T 
3907 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C c 
3908 (CHead e1 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
3909 C).(\lambda (u0: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead 
3910 e2 (Flat f0) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
3911 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: 
3912 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C c 
3913 (CHead e1 (Flat f0) u0))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
3914 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 
3915 (Flat f) t) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: 
3916 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) 
3917 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
3918 (_: T).(csubst0 O v e1 e2))))))))) (or4_intro3 (drop (s (Flat f) (S n0)) O 
3919 (CHead c0 (Flat f) t) (CHead x1 (Flat x0) x3)) (ex3_4 F C T T (\lambda (f0: 
3920 F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat 
3921 x0) x3) (CHead e0 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (e0: 
3922 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 
3923 (Flat f) t) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: 
3924 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T 
3925 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C 
3926 (CHead x1 (Flat x0) x3) (CHead e1 (Flat f0) u0)))))) (\lambda (f0: 
3927 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s (Flat f) (S 
3928 n0)) O (CHead c0 (Flat f) t) (CHead e2 (Flat f0) u0)))))) (\lambda (_: 
3929 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
3930 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
3931 (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x3) (CHead e1 (Flat f0) 
3932 u0))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
3933 T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) t) (CHead 
3934 e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
3935 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: 
3936 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
3937 O v e1 e2))))))) (ex4_5_intro F C C T T (\lambda (f0: F).(\lambda (e1: 
3938 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) 
3939 x3) (CHead e1 (Flat f0) u0))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda 
3940 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 
3941 (Flat f) t) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: 
3942 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) 
3943 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
3944 (_: T).(csubst0 O v e1 e2)))))) x0 x1 x2 x3 x4 (refl_equal C (CHead x1 (Flat 
3945 x0) x3)) (drop_drop (Flat f) n0 c0 (CHead x2 (Flat x0) x4) H23 t) H24 H25)) e 
3946 H22)))))))))) H21)) H20)) i H18)))))) k (drop_gen_drop k c e t n0 H1) H0))) 
3947 c2 H15)) u (sym_eq T u t H14))) k0 (sym_eq K k0 k H13))) c1 (sym_eq C c1 c 
3948 H12))) H11)) H10))) v0 (sym_eq T v0 v H8))) (S n0) H7)) H4 H5 H6 H2))))) | 
3949 (csubst0_both k0 i v0 u1 u2 H2 c1 c0 H3) \Rightarrow (\lambda (H4: (eq nat (s 
3950 k0 i) (S n0))).(\lambda (H5: (eq T v0 v)).(\lambda (H6: (eq C (CHead c1 k0 
3951 u1) (CHead c k t))).(\lambda (H7: (eq C (CHead c0 k0 u2) c2)).((let H8 \def 
3952 (f_equal nat nat (\lambda (e0: nat).e0) (s k0 i) (S n0) H4) in (eq_ind nat (s 
3953 k0 i) (\lambda (n: nat).((eq T v0 v) \to ((eq C (CHead c1 k0 u1) (CHead c k 
3954 t)) \to ((eq C (CHead c0 k0 u2) c2) \to ((subst0 i v0 u1 u2) \to ((csubst0 i 
3955 v0 c1 c0) \to (or4 (drop n O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda 
3956 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) 
3957 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop n O c2 
3958 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: 
3959 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: 
3960 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat 
3961 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
3962 T).(drop n O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
3963 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
3964 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: 
3965 T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: 
3966 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop n O c2 (CHead e2 
3967 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
3968 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
3969 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
3970 e2)))))))))))))) (\lambda (H9: (eq T v0 v)).(eq_ind T v (\lambda (t0: T).((eq 
3971 C (CHead c1 k0 u1) (CHead c k t)) \to ((eq C (CHead c0 k0 u2) c2) \to 
3972 ((subst0 i t0 u1 u2) \to ((csubst0 i t0 c1 c0) \to (or4 (drop (s k0 i) O c2 
3973 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda 
3974 (_: T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: 
3975 C).(\lambda (_: T).(\lambda (w: T).(drop (s k0 i) O c2 (CHead e0 (Flat f) 
3976 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
3977 T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: 
3978 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u)))))) 
3979 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s k0 
3980 i) O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
3981 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda 
3982 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C 
3983 e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
3984 C).(\lambda (_: T).(\lambda (w: T).(drop (s k0 i) O c2 (CHead e2 (Flat f) 
3985 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
3986 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
3987 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
3988 e2))))))))))))) (\lambda (H10: (eq C (CHead c1 k0 u1) (CHead c k t))).(let 
3989 H11 \def (f_equal C T (\lambda (e0: C).(match e0 in C return (\lambda (_: 
3990 C).T) with [(CSort _) \Rightarrow u1 | (CHead _ _ t) \Rightarrow t])) (CHead 
3991 c1 k0 u1) (CHead c k t) H10) in ((let H12 \def (f_equal C K (\lambda (e0: 
3992 C).(match e0 in C return (\lambda (_: C).K) with [(CSort _) \Rightarrow k0 | 
3993 (CHead _ k _) \Rightarrow k])) (CHead c1 k0 u1) (CHead c k t) H10) in ((let 
3994 H13 \def (f_equal C C (\lambda (e0: C).(match e0 in C return (\lambda (_: 
3995 C).C) with [(CSort _) \Rightarrow c1 | (CHead c _ _) \Rightarrow c])) (CHead 
3996 c1 k0 u1) (CHead c k t) H10) in (eq_ind C c (\lambda (c: C).((eq K k0 k) \to 
3997 ((eq T u1 t) \to ((eq C (CHead c0 k0 u2) c2) \to ((subst0 i v u1 u2) \to 
3998 ((csubst0 i v c c0) \to (or4 (drop (s k0 i) O c2 e) (ex3_4 F C T T (\lambda 
3999 (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 
4000 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda 
4001 (w: T).(drop (s k0 i) O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: 
4002 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
4003 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
4004 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: 
4005 C).(\lambda (e2: C).(\lambda (u: T).(drop (s k0 i) O c2 (CHead e2 (Flat f) 
4006 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
4007 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: 
4008 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) 
4009 u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
4010 T).(\lambda (w: T).(drop (s k0 i) O c2 (CHead e2 (Flat f) w))))))) (\lambda 
4011 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
4012 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
4013 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))))))))) (\lambda 
4014 (H14: (eq K k0 k)).(eq_ind K k (\lambda (k: K).((eq T u1 t) \to ((eq C (CHead 
4015 c0 k u2) c2) \to ((subst0 i v u1 u2) \to ((csubst0 i v c c0) \to (or4 (drop 
4016 (s k i) O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: 
4017 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f: 
4018 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s k i) O c2 (CHead 
4019 e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda 
4020 (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: 
4021 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u)))))) 
4022 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s k 
4023 i) O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
4024 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda 
4025 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C 
4026 e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
4027 C).(\lambda (_: T).(\lambda (w: T).(drop (s k i) O c2 (CHead e2 (Flat f) 
4028 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
4029 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
4030 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
4031 e2))))))))))))) (\lambda (H15: (eq T u1 t)).(eq_ind T t (\lambda (t: T).((eq 
4032 C (CHead c0 k u2) c2) \to ((subst0 i v t u2) \to ((csubst0 i v c c0) \to (or4 
4033 (drop (s k i) O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
4034 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) 
4035 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s k 
4036 i) O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda 
4037 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: 
4038 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat 
4039 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
4040 T).(drop (s k i) O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda 
4041 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C 
4042 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
4043 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f: 
4044 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
4045 k i) O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: 
4046 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
4047 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4048 (_: T).(csubst0 O v e1 e2)))))))))))) (\lambda (H16: (eq C (CHead c0 k u2) 
4049 c2)).(eq_ind C (CHead c0 k u2) (\lambda (c2: C).((subst0 i v t u2) \to 
4050 ((csubst0 i v c c0) \to (or4 (drop (s k i) O c2 e) (ex3_4 F C T T (\lambda 
4051 (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 
4052 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda 
4053 (w: T).(drop (s k i) O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda 
4054 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T 
4055 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e 
4056 (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
4057 C).(\lambda (u: T).(drop (s k i) O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: 
4058 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
4059 (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
4060 (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f: 
4061 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
4062 k i) O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: 
4063 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
4064 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4065 (_: T).(csubst0 O v e1 e2))))))))))) (\lambda (H17: (subst0 i v t 
4066 u2)).(\lambda (H18: (csubst0 i v c c0)).(let H0 \def (eq_ind K k0 (\lambda 
4067 (k: K).(eq nat (s k i) (S n0))) H8 k H14) in (K_ind (\lambda (k: K).((drop (r 
4068 k n0) O c e) \to ((eq nat (s k i) (S n0)) \to (or4 (drop (s k i) O (CHead c0 
4069 k u2) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: 
4070 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f: 
4071 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s k i) O (CHead c0 
4072 k u2) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: 
4073 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: 
4074 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat 
4075 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
4076 T).(drop (s k i) O (CHead c0 k u2) (CHead e2 (Flat f) u)))))) (\lambda (_: 
4077 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
4078 (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
4079 (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f: 
4080 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
4081 k i) O (CHead c0 k u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda 
4082 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
4083 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4084 (_: T).(csubst0 O v e1 e2))))))))))) (\lambda (b: B).(\lambda (H1: (drop (r 
4085 (Bind b) n0) O c e)).(\lambda (H19: (eq nat (s (Bind b) i) (S n0))).(let H20 
4086 \def (f_equal nat nat (\lambda (e0: nat).(match e0 in nat return (\lambda (_: 
4087 nat).nat) with [O \Rightarrow i | (S n) \Rightarrow n])) (S i) (S n0) H19) in 
4088 (let H21 \def (eq_ind nat i (\lambda (n: nat).(csubst0 n v c c0)) H18 n0 H20) 
4089 in (let H22 \def (eq_ind nat i (\lambda (n: nat).(subst0 n v t u2)) H17 n0 
4090 H20) in (eq_ind_r nat n0 (\lambda (n: nat).(or4 (drop (s (Bind b) n) O (CHead 
4091 c0 (Bind b) u2) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda 
4092 (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f: 
4093 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n) O 
4094 (CHead c0 (Bind b) u2) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda 
4095 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T 
4096 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e 
4097 (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
4098 C).(\lambda (u: T).(drop (s (Bind b) n) O (CHead c0 (Bind b) u2) (CHead e2 
4099 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
4100 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda 
4101 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 
4102 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
4103 (_: T).(\lambda (w: T).(drop (s (Bind b) n) O (CHead c0 (Bind b) u2) (CHead 
4104 e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
4105 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
4106 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
4107 e2))))))))) (let H \def (IHn c c0 v H21 e H1) in (or4_ind (drop n0 O c0 e) 
4108 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: 
4109 T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: 
4110 C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c0 (CHead e0 (Flat f) w)))))) 
4111 (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u 
4112 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
4113 C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: 
4114 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop n0 O c0 (CHead e2 
4115 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
4116 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda 
4117 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 
4118 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
4119 (_: T).(\lambda (w: T).(drop n0 O c0 (CHead e2 (Flat f) w))))))) (\lambda (_: 
4120 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O 
4121 v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
4122 T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (or4 (drop (s (Bind b) n0) O 
4123 (CHead c0 (Bind b) u2) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
4124 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) 
4125 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
4126 (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead e0 (Flat f) w)))))) (\lambda (_: 
4127 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
4128 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
4129 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: 
4130 C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Bind b) n0) O (CHead c0 (Bind 
4131 b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
4132 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda 
4133 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C 
4134 e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
4135 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) 
4136 u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
4137 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: 
4138 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
4139 O v e1 e2)))))))) (\lambda (H23: (drop n0 O c0 e)).(or4_intro0 (drop (s (Bind 
4140 b) n0) O (CHead c0 (Bind b) u2) e) (ex3_4 F C T T (\lambda (f: F).(\lambda 
4141 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) 
4142 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
4143 (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead e0 (Flat f) w)))))) (\lambda (_: 
4144 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
4145 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
4146 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: 
4147 C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Bind b) n0) O (CHead c0 (Bind 
4148 b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
4149 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda 
4150 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C 
4151 e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
4152 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) 
4153 u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
4154 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: 
4155 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
4156 O v e1 e2))))))) (drop_drop (Bind b) n0 c0 e H23 u2))) (\lambda (H23: (ex3_4 
4157 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq 
4158 C e (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
4159 T).(\lambda (w: T).(drop n0 O c0 (CHead e0 (Flat f) w)))))) (\lambda (_: 
4160 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u 
4161 w))))))).(ex3_4_ind F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: 
4162 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f: 
4163 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c0 (CHead e0 
4164 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
4165 T).(subst0 O v u w))))) (or4 (drop (s (Bind b) n0) O (CHead c0 (Bind b) u2) 
4166 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda 
4167 (_: T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: 
4168 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) 
4169 u2) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: 
4170 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: 
4171 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat 
4172 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
4173 T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead e2 (Flat f) u)))))) 
4174 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
4175 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
4176 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u))))))) 
4177 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: 
4178 T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead e2 (Flat f) w))))))) 
4179 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
4180 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
4181 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x0: 
4182 F).(\lambda (x1: C).(\lambda (x2: T).(\lambda (x3: T).(\lambda (H24: (eq C e 
4183 (CHead x1 (Flat x0) x2))).(\lambda (H25: (drop n0 O c0 (CHead x1 (Flat x0) 
4184 x3))).(\lambda (H26: (subst0 O v x2 x3)).(eq_ind_r C (CHead x1 (Flat x0) x2) 
4185 (\lambda (c: C).(or4 (drop (s (Bind b) n0) O (CHead c0 (Bind b) u2) c) (ex3_4 
4186 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq 
4187 C c (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
4188 T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead e0 
4189 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
4190 T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: 
4191 C).(\lambda (_: C).(\lambda (u: T).(eq C c (CHead e1 (Flat f) u)))))) 
4192 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s 
4193 (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: 
4194 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
4195 (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
4196 (u: T).(\lambda (_: T).(eq C c (CHead e1 (Flat f) u))))))) (\lambda (f: 
4197 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
4198 (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead e2 (Flat f) w))))))) (\lambda 
4199 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
4200 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
4201 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))))) (or4_intro1 
4202 (drop (s (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead x1 (Flat x0) x2)) 
4203 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: 
4204 T).(eq C (CHead x1 (Flat x0) x2) (CHead e0 (Flat f) u)))))) (\lambda (f: 
4205 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O 
4206 (CHead c0 (Bind b) u2) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda 
4207 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T 
4208 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead 
4209 x1 (Flat x0) x2) (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: 
4210 C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Bind b) n0) O (CHead c0 (Bind 
4211 b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
4212 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda 
4213 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C 
4214 (CHead x1 (Flat x0) x2) (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda 
4215 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) 
4216 O (CHead c0 (Bind b) u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda 
4217 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
4218 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4219 (_: T).(csubst0 O v e1 e2))))))) (ex3_4_intro F C T T (\lambda (f: 
4220 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) 
4221 x2) (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
4222 T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead e0 
4223 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
4224 T).(subst0 O v u w))))) x0 x1 x2 x3 (refl_equal C (CHead x1 (Flat x0) x2)) 
4225 (drop_drop (Bind b) n0 c0 (CHead x1 (Flat x0) x3) H25 u2) H26)) e H24)))))))) 
4226 H23)) (\lambda (H23: (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda 
4227 (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: 
4228 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop n0 O c0 (CHead e2 
4229 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
4230 (_: T).(csubst0 O v e1 e2))))))).(ex3_4_ind F C C T (\lambda (f: F).(\lambda 
4231 (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u)))))) 
4232 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop n0 O 
4233 c0 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
4234 C).(\lambda (_: T).(csubst0 O v e1 e2))))) (or4 (drop (s (Bind b) n0) O 
4235 (CHead c0 (Bind b) u2) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
4236 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) 
4237 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
4238 (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead e0 (Flat f) w)))))) (\lambda (_: 
4239 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
4240 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
4241 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: 
4242 C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Bind b) n0) O (CHead c0 (Bind 
4243 b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
4244 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda 
4245 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C 
4246 e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
4247 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) 
4248 u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
4249 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: 
4250 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
4251 O v e1 e2)))))))) (\lambda (x0: F).(\lambda (x1: C).(\lambda (x2: C).(\lambda 
4252 (x3: T).(\lambda (H24: (eq C e (CHead x1 (Flat x0) x3))).(\lambda (H25: (drop 
4253 n0 O c0 (CHead x2 (Flat x0) x3))).(\lambda (H26: (csubst0 O v x1 
4254 x2)).(eq_ind_r C (CHead x1 (Flat x0) x3) (\lambda (c: C).(or4 (drop (s (Bind 
4255 b) n0) O (CHead c0 (Bind b) u2) c) (ex3_4 F C T T (\lambda (f: F).(\lambda 
4256 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e0 (Flat f) u)))))) 
4257 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
4258 (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead e0 (Flat f) w)))))) (\lambda (_: 
4259 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
4260 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
4261 T).(eq C c (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: 
4262 C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Bind b) n0) O (CHead c0 (Bind 
4263 b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
4264 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda 
4265 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C 
4266 c (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
4267 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) 
4268 u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
4269 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: 
4270 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
4271 O v e1 e2))))))))) (or4_intro2 (drop (s (Bind b) n0) O (CHead c0 (Bind b) u2) 
4272 (CHead x1 (Flat x0) x3)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
4273 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x3) (CHead e0 
4274 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda 
4275 (w: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead e0 (Flat f) 
4276 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
4277 T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: 
4278 C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead x1 (Flat x0) x3) (CHead e1 
4279 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
4280 (u: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead e2 (Flat f) 
4281 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
4282 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: 
4283 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) 
4284 x3) (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
4285 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) 
4286 u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
4287 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: 
4288 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
4289 O v e1 e2))))))) (ex3_4_intro F C C T (\lambda (f: F).(\lambda (e1: 
4290 C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead x1 (Flat x0) x3) (CHead e1 
4291 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
4292 (u: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead e2 (Flat f) 
4293 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
4294 T).(csubst0 O v e1 e2))))) x0 x1 x2 x3 (refl_equal C (CHead x1 (Flat x0) x3)) 
4295 (drop_drop (Bind b) n0 c0 (CHead x2 (Flat x0) x3) H25 u2) H26)) e H24)))))))) 
4296 H23)) (\lambda (H23: (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: 
4297 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) 
4298 u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
4299 T).(\lambda (w: T).(drop n0 O c0 (CHead e2 (Flat f) w))))))) (\lambda (_: 
4300 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O 
4301 v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
4302 T).(\lambda (_: T).(csubst0 O v e1 e2)))))))).(ex4_5_ind F C C T T (\lambda 
4303 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C 
4304 e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
4305 C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c0 (CHead e2 (Flat f) w))))))) 
4306 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
4307 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
4308 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))) (or4 (drop (s 
4309 (Bind b) n0) O (CHead c0 (Bind b) u2) e) (ex3_4 F C T T (\lambda (f: 
4310 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat 
4311 f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
4312 T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead e0 (Flat f) w)))))) 
4313 (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u 
4314 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
4315 C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: 
4316 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Bind b) n0) O 
4317 (CHead c0 (Bind b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda 
4318 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C 
4319 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
4320 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f: 
4321 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
4322 (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead e2 (Flat f) w))))))) (\lambda 
4323 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
4324 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
4325 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x0: 
4326 F).(\lambda (x1: C).(\lambda (x2: C).(\lambda (x3: T).(\lambda (x4: 
4327 T).(\lambda (H24: (eq C e (CHead x1 (Flat x0) x3))).(\lambda (H25: (drop n0 O 
4328 c0 (CHead x2 (Flat x0) x4))).(\lambda (H26: (subst0 O v x3 x4)).(\lambda 
4329 (H27: (csubst0 O v x1 x2)).(eq_ind_r C (CHead x1 (Flat x0) x3) (\lambda (c: 
4330 C).(or4 (drop (s (Bind b) n0) O (CHead c0 (Bind b) u2) c) (ex3_4 F C T T 
4331 (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c 
4332 (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
4333 T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead e0 
4334 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
4335 T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: 
4336 C).(\lambda (_: C).(\lambda (u: T).(eq C c (CHead e1 (Flat f) u)))))) 
4337 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s 
4338 (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: 
4339 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
4340 (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
4341 (u: T).(\lambda (_: T).(eq C c (CHead e1 (Flat f) u))))))) (\lambda (f: 
4342 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
4343 (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead e2 (Flat f) w))))))) (\lambda 
4344 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
4345 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
4346 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))))) (or4_intro3 
4347 (drop (s (Bind b) n0) O (CHead c0 (Bind b) u2) (CHead x1 (Flat x0) x3)) 
4348 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: 
4349 T).(eq C (CHead x1 (Flat x0) x3) (CHead e0 (Flat f) u)))))) (\lambda (f: 
4350 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O 
4351 (CHead c0 (Bind b) u2) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda 
4352 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T 
4353 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead 
4354 x1 (Flat x0) x3) (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: 
4355 C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Bind b) n0) O (CHead c0 (Bind 
4356 b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
4357 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda 
4358 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C 
4359 (CHead x1 (Flat x0) x3) (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda 
4360 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) 
4361 O (CHead c0 (Bind b) u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda 
4362 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
4363 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4364 (_: T).(csubst0 O v e1 e2))))))) (ex4_5_intro F C C T T (\lambda (f: 
4365 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C 
4366 (CHead x1 (Flat x0) x3) (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda 
4367 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) 
4368 O (CHead c0 (Bind b) u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda 
4369 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
4370 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4371 (_: T).(csubst0 O v e1 e2)))))) x0 x1 x2 x3 x4 (refl_equal C (CHead x1 (Flat 
4372 x0) x3)) (drop_drop (Bind b) n0 c0 (CHead x2 (Flat x0) x4) H25 u2) H26 H27)) 
4373 e H24)))))))))) H23)) H)) i H20))))))) (\lambda (f: F).(\lambda (H1: (drop (r 
4374 (Flat f) n0) O c e)).(\lambda (H19: (eq nat (s (Flat f) i) (S n0))).(let H20 
4375 \def (f_equal nat nat (\lambda (e0: nat).e0) i (S n0) H19) in (let H21 \def 
4376 (eq_ind nat i (\lambda (n: nat).(csubst0 n v c c0)) H18 (S n0) H20) in (let 
4377 H22 \def (eq_ind nat i (\lambda (n: nat).(subst0 n v t u2)) H17 (S n0) H20) 
4378 in (eq_ind_r nat (S n0) (\lambda (n: nat).(or4 (drop (s (Flat f) n) O (CHead 
4379 c0 (Flat f) u2) e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda 
4380 (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u)))))) (\lambda (f0: 
4381 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) n) O 
4382 (CHead c0 (Flat f) u2) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda 
4383 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T 
4384 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e 
4385 (CHead e1 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
4386 C).(\lambda (u: T).(drop (s (Flat f) n) O (CHead c0 (Flat f) u2) (CHead e2 
4387 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
4388 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda 
4389 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 
4390 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
4391 (_: T).(\lambda (w: T).(drop (s (Flat f) n) O (CHead c0 (Flat f) u2) (CHead 
4392 e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
4393 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: 
4394 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
4395 O v e1 e2))))))))) (let H23 \def (H c0 v H21 e H1) in (or4_ind (drop (S n0) O 
4396 c0 e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: 
4397 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u)))))) (\lambda (f0: 
4398 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c0 (CHead 
4399 e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda 
4400 (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: 
4401 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat f0) u)))))) 
4402 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S 
4403 n0) O c0 (CHead e2 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: 
4404 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
4405 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda 
4406 (_: T).(eq C e (CHead e1 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: 
4407 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c0 (CHead 
4408 e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
4409 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: 
4410 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
4411 O v e1 e2))))))) (or4 (drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) e) 
4412 (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: 
4413 T).(eq C e (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: 
4414 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 
4415 (Flat f) u2) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: 
4416 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T 
4417 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e 
4418 (CHead e1 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
4419 C).(\lambda (u: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead 
4420 e2 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
4421 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: 
4422 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
4423 (CHead e1 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
4424 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 
4425 (Flat f) u2) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: 
4426 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
4427 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4428 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (H24: (drop (S n0) O c0 
4429 e)).(or4_intro0 (drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) e) (ex3_4 
4430 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq 
4431 C e (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda 
4432 (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) 
4433 (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: 
4434 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f0: 
4435 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat 
4436 f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
4437 T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead e2 (Flat f0) 
4438 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
4439 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: 
4440 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat 
4441 f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
4442 T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead 
4443 e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
4444 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: 
4445 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
4446 O v e1 e2))))))) (drop_drop (Flat f) n0 c0 e H24 u2))) (\lambda (H24: (ex3_4 
4447 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq 
4448 C e (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
4449 T).(\lambda (w: T).(drop (S n0) O c0 (CHead e0 (Flat f) w)))))) (\lambda (_: 
4450 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u 
4451 w))))))).(ex3_4_ind F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: 
4452 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u)))))) (\lambda (f0: 
4453 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c0 (CHead 
4454 e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda 
4455 (w: T).(subst0 O v u w))))) (or4 (drop (s (Flat f) (S n0)) O (CHead c0 (Flat 
4456 f) u2) e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: 
4457 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u)))))) (\lambda (f0: 
4458 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) 
4459 O (CHead c0 (Flat f) u2) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda 
4460 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T 
4461 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e 
4462 (CHead e1 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
4463 C).(\lambda (u: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead 
4464 e2 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
4465 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: 
4466 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
4467 (CHead e1 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
4468 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 
4469 (Flat f) u2) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: 
4470 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
4471 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4472 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x0: F).(\lambda (x1: C).(\lambda 
4473 (x2: T).(\lambda (x3: T).(\lambda (H25: (eq C e (CHead x1 (Flat x0) 
4474 x2))).(\lambda (H26: (drop (S n0) O c0 (CHead x1 (Flat x0) x3))).(\lambda 
4475 (H27: (subst0 O v x2 x3)).(eq_ind_r C (CHead x1 (Flat x0) x2) (\lambda (c: 
4476 C).(or4 (drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) c) (ex3_4 F C T T 
4477 (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c 
4478 (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: 
4479 T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead 
4480 e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda 
4481 (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: 
4482 C).(\lambda (_: C).(\lambda (u: T).(eq C c (CHead e1 (Flat f0) u)))))) 
4483 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s 
4484 (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead e2 (Flat f0) u)))))) 
4485 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
4486 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
4487 C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e1 (Flat f0) u))))))) 
4488 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4489 (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead e2 (Flat f0) 
4490 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
4491 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
4492 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
4493 e2))))))))) (or4_intro1 (drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) 
4494 (CHead x1 (Flat x0) x2)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: 
4495 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x2) (CHead e0 
4496 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda 
4497 (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead e0 (Flat f0) 
4498 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
4499 T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: 
4500 C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead x1 (Flat x0) x2) (CHead e1 
4501 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
4502 (u: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead e2 (Flat f0) 
4503 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
4504 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: 
4505 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) 
4506 x2) (CHead e1 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda 
4507 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 
4508 (Flat f) u2) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: 
4509 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
4510 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4511 (_: T).(csubst0 O v e1 e2))))))) (ex3_4_intro F C T T (\lambda (f0: 
4512 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) 
4513 x2) (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda 
4514 (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) 
4515 (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: 
4516 T).(\lambda (w: T).(subst0 O v u w))))) x0 x1 x2 x3 (refl_equal C (CHead x1 
4517 (Flat x0) x2)) (drop_drop (Flat f) n0 c0 (CHead x1 (Flat x0) x3) H26 u2) 
4518 H27)) e H25)))))))) H24)) (\lambda (H24: (ex3_4 F C C T (\lambda (f: 
4519 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat 
4520 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
4521 T).(drop (S n0) O c0 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
4522 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))).(ex3_4_ind F C 
4523 C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e 
4524 (CHead e1 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
4525 C).(\lambda (u: T).(drop (S n0) O c0 (CHead e2 (Flat f0) u)))))) (\lambda (_: 
4526 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))) 
4527 (or4 (drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) e) (ex3_4 F C T T 
4528 (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
4529 (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: 
4530 T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead 
4531 e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda 
4532 (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: 
4533 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat f0) u)))))) 
4534 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s 
4535 (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead e2 (Flat f0) u)))))) 
4536 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
4537 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
4538 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u))))))) 
4539 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4540 (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead e2 (Flat f0) 
4541 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
4542 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
4543 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
4544 e2)))))))) (\lambda (x0: F).(\lambda (x1: C).(\lambda (x2: C).(\lambda (x3: 
4545 T).(\lambda (H25: (eq C e (CHead x1 (Flat x0) x3))).(\lambda (H26: (drop (S 
4546 n0) O c0 (CHead x2 (Flat x0) x3))).(\lambda (H27: (csubst0 O v x1 
4547 x2)).(eq_ind_r C (CHead x1 (Flat x0) x3) (\lambda (c: C).(or4 (drop (s (Flat 
4548 f) (S n0)) O (CHead c0 (Flat f) u2) c) (ex3_4 F C T T (\lambda (f0: 
4549 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e0 (Flat 
4550 f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: 
4551 T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead e0 (Flat f0) 
4552 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
4553 T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: 
4554 C).(\lambda (_: C).(\lambda (u: T).(eq C c (CHead e1 (Flat f0) u)))))) 
4555 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s 
4556 (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead e2 (Flat f0) u)))))) 
4557 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
4558 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
4559 C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e1 (Flat f0) u))))))) 
4560 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4561 (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead e2 (Flat f0) 
4562 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
4563 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
4564 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
4565 e2))))))))) (or4_intro2 (drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) 
4566 (CHead x1 (Flat x0) x3)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: 
4567 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x3) (CHead e0 
4568 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda 
4569 (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead e0 (Flat f0) 
4570 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
4571 T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: 
4572 C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead x1 (Flat x0) x3) (CHead e1 
4573 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
4574 (u: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead e2 (Flat f0) 
4575 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
4576 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: 
4577 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) 
4578 x3) (CHead e1 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda 
4579 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 
4580 (Flat f) u2) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: 
4581 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
4582 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4583 (_: T).(csubst0 O v e1 e2))))))) (ex3_4_intro F C C T (\lambda (f0: 
4584 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead x1 (Flat x0) 
4585 x3) (CHead e1 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda 
4586 (e2: C).(\lambda (u: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) 
4587 (CHead e2 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
4588 C).(\lambda (_: T).(csubst0 O v e1 e2))))) x0 x1 x2 x3 (refl_equal C (CHead 
4589 x1 (Flat x0) x3)) (drop_drop (Flat f) n0 c0 (CHead x2 (Flat x0) x3) H26 u2) 
4590 H27)) e H25)))))))) H24)) (\lambda (H24: (ex4_5 F C C T T (\lambda (f: 
4591 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e 
4592 (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
4593 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c0 (CHead e2 (Flat f) 
4594 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
4595 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
4596 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
4597 e2)))))))).(ex4_5_ind F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda 
4598 (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u))))))) 
4599 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4600 (w: T).(drop (S n0) O c0 (CHead e2 (Flat f0) w))))))) (\lambda (_: 
4601 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O 
4602 v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
4603 T).(\lambda (_: T).(csubst0 O v e1 e2)))))) (or4 (drop (s (Flat f) (S n0)) O 
4604 (CHead c0 (Flat f) u2) e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: 
4605 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u)))))) 
4606 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
4607 (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead e0 (Flat f0) w)))))) 
4608 (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u 
4609 w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
4610 C).(\lambda (u: T).(eq C e (CHead e1 (Flat f0) u)))))) (\lambda (f0: 
4611 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Flat f) (S n0)) 
4612 O (CHead c0 (Flat f) u2) (CHead e2 (Flat f0) u)))))) (\lambda (_: F).(\lambda 
4613 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C 
4614 C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
4615 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u))))))) (\lambda (f0: 
4616 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
4617 (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead e2 (Flat f0) w))))))) 
4618 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
4619 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
4620 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x0: 
4621 F).(\lambda (x1: C).(\lambda (x2: C).(\lambda (x3: T).(\lambda (x4: 
4622 T).(\lambda (H25: (eq C e (CHead x1 (Flat x0) x3))).(\lambda (H26: (drop (S 
4623 n0) O c0 (CHead x2 (Flat x0) x4))).(\lambda (H27: (subst0 O v x3 
4624 x4)).(\lambda (H28: (csubst0 O v x1 x2)).(eq_ind_r C (CHead x1 (Flat x0) x3) 
4625 (\lambda (c: C).(or4 (drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) c) 
4626 (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: 
4627 T).(eq C c (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: 
4628 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 
4629 (Flat f) u2) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: 
4630 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T 
4631 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C c 
4632 (CHead e1 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
4633 C).(\lambda (u: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead 
4634 e2 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
4635 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: 
4636 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C c 
4637 (CHead e1 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
4638 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 
4639 (Flat f) u2) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: 
4640 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) 
4641 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4642 (_: T).(csubst0 O v e1 e2))))))))) (or4_intro3 (drop (s (Flat f) (S n0)) O 
4643 (CHead c0 (Flat f) u2) (CHead x1 (Flat x0) x3)) (ex3_4 F C T T (\lambda (f0: 
4644 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) 
4645 x3) (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda 
4646 (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) 
4647 (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: 
4648 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f0: 
4649 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead x1 (Flat x0) 
4650 x3) (CHead e1 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda 
4651 (e2: C).(\lambda (u: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) 
4652 (CHead e2 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
4653 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: 
4654 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C 
4655 (CHead x1 (Flat x0) x3) (CHead e1 (Flat f0) u))))))) (\lambda (f0: 
4656 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s 
4657 (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead e2 (Flat f0) w))))))) 
4658 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: 
4659 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
4660 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (ex4_5_intro F C 
4661 C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
4662 T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x3) (CHead e1 (Flat f0) u))))))) 
4663 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4664 (w: T).(drop (s (Flat f) (S n0)) O (CHead c0 (Flat f) u2) (CHead e2 (Flat f0) 
4665 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: 
4666 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: 
4667 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
4668 x0 x1 x2 x3 x4 (refl_equal C (CHead x1 (Flat x0) x3)) (drop_drop (Flat f) n0 
4669 c0 (CHead x2 (Flat x0) x4) H26 u2) H27 H28)) e H25)))))))))) H24)) H23)) i 
4670 H20))))))) k (drop_gen_drop k c e t n0 H1) H0)))) c2 H16)) u1 (sym_eq T u1 t 
4671 H15))) k0 (sym_eq K k0 k H14))) c1 (sym_eq C c1 c H13))) H12)) H11))) v0 
4672 (sym_eq T v0 v H9))) (S n0) H8)) H5 H6 H7 H2 H3)))))]) in (H2 (refl_equal nat 
4673 (S n0)) (refl_equal T v) (refl_equal C (CHead c k t)) (refl_equal C 
4674 c2)))))))))))) c1)))) n).
4675
4676 theorem csubst0_drop_eq_back:
4677  \forall (n: nat).(\forall (c1: C).(\forall (c2: C).(\forall (v: T).((csubst0 
4678 n v c1 c2) \to (\forall (e: C).((drop n O c2 e) \to (or4 (drop n O c1 e) 
4679 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: 
4680 T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: 
4681 C).(\lambda (u1: T).(\lambda (_: T).(drop n O c1 (CHead e0 (Flat f) u1)))))) 
4682 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v 
4683 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
4684 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f: 
4685 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop n O c1 (CHead e1 
4686 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
4687 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: 
4688 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat 
4689 f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: 
4690 T).(\lambda (_: T).(drop n O c1 (CHead e1 (Flat f) u1))))))) (\lambda (_: 
4691 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 
4692 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
4693 (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))))))))))
4694 \def
4695  \lambda (n: nat).(nat_ind (\lambda (n0: nat).(\forall (c1: C).(\forall (c2: 
4696 C).(\forall (v: T).((csubst0 n0 v c1 c2) \to (\forall (e: C).((drop n0 O c2 
4697 e) \to (or4 (drop n0 O c1 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
4698 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2)))))) 
4699 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop n0 O 
4700 c1 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: 
4701 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f: 
4702 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat 
4703 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
4704 T).(drop n0 O c1 (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
4705 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
4706 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4707 (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: 
4708 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop n0 O c1 (CHead e1 
4709 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
4710 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda 
4711 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
4712 e2))))))))))))))) (\lambda (c1: C).(\lambda (c2: C).(\lambda (v: T).(\lambda 
4713 (H: (csubst0 O v c1 c2)).(\lambda (e: C).(\lambda (H0: (drop O O c2 
4714 e)).(eq_ind C c2 (\lambda (c: C).(or4 (drop O O c1 c) (ex3_4 F C T T (\lambda 
4715 (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c (CHead e0 
4716 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda 
4717 (_: T).(drop O O c1 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: 
4718 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T 
4719 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C c 
4720 (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
4721 C).(\lambda (u: T).(drop O O c1 (CHead e1 (Flat f) u)))))) (\lambda (_: 
4722 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
4723 (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
4724 (_: T).(\lambda (u2: T).(eq C c (CHead e2 (Flat f) u2))))))) (\lambda (f: 
4725 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop O 
4726 O c1 (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda 
4727 (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: 
4728 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
4729 O v e1 e2))))))))) (insert_eq nat O (\lambda (n0: nat).(csubst0 n0 v c1 c2)) 
4730 (or4 (drop O O c1 c2) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
4731 C).(\lambda (_: T).(\lambda (u2: T).(eq C c2 (CHead e0 (Flat f) u2)))))) 
4732 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop O O 
4733 c1 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: 
4734 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f: 
4735 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C c2 (CHead e2 (Flat 
4736 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
4737 T).(drop O O c1 (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
4738 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
4739 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4740 (u2: T).(eq C c2 (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: 
4741 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop O O c1 (CHead e1 
4742 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
4743 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda 
4744 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
4745 e2)))))))) (\lambda (y: nat).(\lambda (H1: (csubst0 y v c1 c2)).(csubst0_ind 
4746 (\lambda (n0: nat).(\lambda (t: T).(\lambda (c: C).(\lambda (c0: C).((eq nat 
4747 n0 O) \to (or4 (drop O O c c0) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
4748 C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat f) u2)))))) 
4749 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop O O c 
4750 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: 
4751 T).(\lambda (u2: T).(subst0 O t u1 u2)))))) (ex3_4 F C C T (\lambda (f: 
4752 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C c0 (CHead e2 (Flat 
4753 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
4754 T).(drop O O c (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
4755 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O t e1 e2)))))) (ex4_5 F C C T T 
4756 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4757 (u2: T).(eq C c0 (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: 
4758 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop O O c (CHead e1 
4759 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
4760 (u1: T).(\lambda (u2: T).(subst0 O t u1 u2)))))) (\lambda (_: F).(\lambda 
4761 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O t e1 
4762 e2))))))))))))) (\lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: 
4763 nat).(\forall (v0: T).(\forall (u1: T).(\forall (u2: T).((subst0 i v0 u1 u2) 
4764 \to (\forall (c: C).((eq nat (s k0 i) O) \to (or4 (drop O O (CHead c k0 u1) 
4765 (CHead c k0 u2)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
4766 T).(\lambda (u4: T).(eq C (CHead c k0 u2) (CHead e0 (Flat f) u4)))))) 
4767 (\lambda (f: F).(\lambda (e0: C).(\lambda (u3: T).(\lambda (_: T).(drop O O 
4768 (CHead c k0 u1) (CHead e0 (Flat f) u3)))))) (\lambda (_: F).(\lambda (_: 
4769 C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4)))))) (ex3_4 F C C T 
4770 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C (CHead 
4771 c k0 u2) (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda 
4772 (_: C).(\lambda (u: T).(drop O O (CHead c k0 u1) (CHead e1 (Flat f) u)))))) 
4773 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
4774 v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
4775 C).(\lambda (_: T).(\lambda (u4: T).(eq C (CHead c k0 u2) (CHead e2 (Flat f) 
4776 u4))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u3: 
4777 T).(\lambda (_: T).(drop O O (CHead c k0 u1) (CHead e1 (Flat f) u3))))))) 
4778 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u3: T).(\lambda 
4779 (u4: T).(subst0 O v0 u3 u4)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
4780 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2)))))))))))))))) 
4781 (\lambda (b: B).(\lambda (i: nat).(\lambda (v0: T).(\lambda (u1: T).(\lambda 
4782 (u2: T).(\lambda (_: (subst0 i v0 u1 u2)).(\lambda (c: C).(\lambda (H3: (eq 
4783 nat (S i) O)).(let H4 \def (eq_ind nat (S i) (\lambda (ee: nat).(match ee in 
4784 nat return (\lambda (_: nat).Prop) with [O \Rightarrow False | (S _) 
4785 \Rightarrow True])) I O H3) in (False_ind (or4 (drop O O (CHead c (Bind b) 
4786 u1) (CHead c (Bind b) u2)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
4787 C).(\lambda (_: T).(\lambda (u4: T).(eq C (CHead c (Bind b) u2) (CHead e0 
4788 (Flat f) u4)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u3: T).(\lambda 
4789 (_: T).(drop O O (CHead c (Bind b) u1) (CHead e0 (Flat f) u3)))))) (\lambda 
4790 (_: F).(\lambda (_: C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 
4791 u4)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
4792 C).(\lambda (u: T).(eq C (CHead c (Bind b) u2) (CHead e2 (Flat f) u)))))) 
4793 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop O O 
4794 (CHead c (Bind b) u1) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda 
4795 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C 
4796 C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
4797 T).(\lambda (u4: T).(eq C (CHead c (Bind b) u2) (CHead e2 (Flat f) u4))))))) 
4798 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u3: T).(\lambda 
4799 (_: T).(drop O O (CHead c (Bind b) u1) (CHead e1 (Flat f) u3))))))) (\lambda 
4800 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u3: T).(\lambda (u4: 
4801 T).(subst0 O v0 u3 u4)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
4802 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2)))))))) H4)))))))))) 
4803 (\lambda (f: F).(\lambda (i: nat).(\lambda (v0: T).(\lambda (u1: T).(\lambda 
4804 (u2: T).(\lambda (H2: (subst0 i v0 u1 u2)).(\lambda (c: C).(\lambda (H3: (eq 
4805 nat i O)).(let H4 \def (eq_ind nat i (\lambda (n: nat).(subst0 n v0 u1 u2)) 
4806 H2 O H3) in (or4_intro1 (drop O O (CHead c (Flat f) u1) (CHead c (Flat f) 
4807 u2)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: 
4808 T).(\lambda (u4: T).(eq C (CHead c (Flat f) u2) (CHead e0 (Flat f0) u4)))))) 
4809 (\lambda (f0: F).(\lambda (e0: C).(\lambda (u3: T).(\lambda (_: T).(drop O O 
4810 (CHead c (Flat f) u1) (CHead e0 (Flat f0) u3)))))) (\lambda (_: F).(\lambda 
4811 (_: C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4)))))) (ex3_4 F C 
4812 C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C 
4813 (CHead c (Flat f) u2) (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda 
4814 (e1: C).(\lambda (_: C).(\lambda (u: T).(drop O O (CHead c (Flat f) u1) 
4815 (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
4816 C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: 
4817 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u4: T).(eq C 
4818 (CHead c (Flat f) u2) (CHead e2 (Flat f0) u4))))))) (\lambda (f0: F).(\lambda 
4819 (e1: C).(\lambda (_: C).(\lambda (u3: T).(\lambda (_: T).(drop O O (CHead c 
4820 (Flat f) u1) (CHead e1 (Flat f0) u3))))))) (\lambda (_: F).(\lambda (_: 
4821 C).(\lambda (_: C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4)))))) 
4822 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4823 (_: T).(csubst0 O v0 e1 e2))))))) (ex3_4_intro F C T T (\lambda (f0: 
4824 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u4: T).(eq C (CHead c (Flat f) 
4825 u2) (CHead e0 (Flat f0) u4)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda 
4826 (u3: T).(\lambda (_: T).(drop O O (CHead c (Flat f) u1) (CHead e0 (Flat f0) 
4827 u3)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u3: T).(\lambda (u4: 
4828 T).(subst0 O v0 u3 u4))))) f c u1 u2 (refl_equal C (CHead c (Flat f) u2)) 
4829 (drop_refl (CHead c (Flat f) u1)) H4))))))))))) k)) (\lambda (k: K).(K_ind 
4830 (\lambda (k0: K).(\forall (i: nat).(\forall (c3: C).(\forall (c4: C).(\forall 
4831 (v0: T).((csubst0 i v0 c3 c4) \to ((((eq nat i O) \to (or4 (drop O O c3 c4) 
4832 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: 
4833 T).(eq C c4 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: 
4834 C).(\lambda (u1: T).(\lambda (_: T).(drop O O c3 (CHead e0 (Flat f) u1)))))) 
4835 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O 
4836 v0 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
4837 C).(\lambda (u: T).(eq C c4 (CHead e2 (Flat f) u)))))) (\lambda (f: 
4838 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop O O c3 (CHead e1 
4839 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
4840 (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda 
4841 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C c4 (CHead e2 
4842 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
4843 (u1: T).(\lambda (_: T).(drop O O c3 (CHead e1 (Flat f) u1))))))) (\lambda 
4844 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: 
4845 T).(subst0 O v0 u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
4846 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2)))))))))) \to (\forall 
4847 (u: T).((eq nat (s k0 i) O) \to (or4 (drop O O (CHead c3 k0 u) (CHead c4 k0 
4848 u)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda 
4849 (u2: T).(eq C (CHead c4 k0 u) (CHead e0 (Flat f) u2)))))) (\lambda (f: 
4850 F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop O O (CHead c3 k0 
4851 u) (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: 
4852 T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) (ex3_4 F C C T (\lambda (f: 
4853 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(eq C (CHead c4 k0 u) 
4854 (CHead e2 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
4855 C).(\lambda (u0: T).(drop O O (CHead c3 k0 u) (CHead e1 (Flat f) u0)))))) 
4856 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
4857 v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
4858 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead c4 k0 u) (CHead e2 (Flat f) 
4859 u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: 
4860 T).(\lambda (_: T).(drop O O (CHead c3 k0 u) (CHead e1 (Flat f) u1))))))) 
4861 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
4862 (u2: T).(subst0 O v0 u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
4863 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2))))))))))))))))) 
4864 (\lambda (b: B).(\lambda (i: nat).(\lambda (c3: C).(\lambda (c4: C).(\lambda 
4865 (v0: T).(\lambda (_: (csubst0 i v0 c3 c4)).(\lambda (_: (((eq nat i O) \to 
4866 (or4 (drop O O c3 c4) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
4867 C).(\lambda (_: T).(\lambda (u2: T).(eq C c4 (CHead e0 (Flat f) u2)))))) 
4868 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop O O 
4869 c3 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: 
4870 T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) (ex3_4 F C C T (\lambda (f: 
4871 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C c4 (CHead e2 (Flat 
4872 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
4873 T).(drop O O c3 (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
4874 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T 
4875 T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4876 (u2: T).(eq C c4 (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: 
4877 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop O O c3 (CHead e1 
4878 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
4879 (u1: T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) (\lambda (_: F).(\lambda 
4880 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 
4881 e2))))))))))).(\lambda (u: T).(\lambda (H4: (eq nat (S i) O)).(let H5 \def 
4882 (eq_ind nat (S i) (\lambda (ee: nat).(match ee in nat return (\lambda (_: 
4883 nat).Prop) with [O \Rightarrow False | (S _) \Rightarrow True])) I O H4) in 
4884 (False_ind (or4 (drop O O (CHead c3 (Bind b) u) (CHead c4 (Bind b) u)) (ex3_4 
4885 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq 
4886 C (CHead c4 (Bind b) u) (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda 
4887 (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop O O (CHead c3 (Bind b) u) 
4888 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: 
4889 T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) (ex3_4 F C C T (\lambda (f: 
4890 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(eq C (CHead c4 (Bind b) 
4891 u) (CHead e2 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
4892 C).(\lambda (u0: T).(drop O O (CHead c3 (Bind b) u) (CHead e1 (Flat f) 
4893 u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
4894 T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: 
4895 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead c4 (Bind b) 
4896 u) (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
4897 C).(\lambda (u1: T).(\lambda (_: T).(drop O O (CHead c3 (Bind b) u) (CHead e1 
4898 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
4899 (u1: T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) (\lambda (_: F).(\lambda 
4900 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 
4901 e2)))))))) H5))))))))))) (\lambda (f: F).(\lambda (i: nat).(\lambda (c3: 
4902 C).(\lambda (c4: C).(\lambda (v0: T).(\lambda (H2: (csubst0 i v0 c3 
4903 c4)).(\lambda (H3: (((eq nat i O) \to (or4 (drop O O c3 c4) (ex3_4 F C T T 
4904 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c4 
4905 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: 
4906 T).(\lambda (_: T).(drop O O c3 (CHead e0 (Flat f) u1)))))) (\lambda (_: 
4907 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) 
4908 (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
4909 T).(eq C c4 (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: 
4910 C).(\lambda (_: C).(\lambda (u: T).(drop O O c3 (CHead e1 (Flat f) u)))))) 
4911 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
4912 v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
4913 C).(\lambda (_: T).(\lambda (u2: T).(eq C c4 (CHead e2 (Flat f) u2))))))) 
4914 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
4915 (_: T).(drop O O c3 (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: 
4916 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) 
4917 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4918 (_: T).(csubst0 O v0 e1 e2))))))))))).(\lambda (u: T).(\lambda (H4: (eq nat i 
4919 O)).(let H5 \def (eq_ind nat i (\lambda (n: nat).((eq nat n O) \to (or4 (drop 
4920 O O c3 c4) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
4921 T).(\lambda (u2: T).(eq C c4 (CHead e0 (Flat f) u2)))))) (\lambda (f: 
4922 F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop O O c3 (CHead e0 
4923 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda 
4924 (u2: T).(subst0 O v0 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: 
4925 C).(\lambda (e2: C).(\lambda (u: T).(eq C c4 (CHead e2 (Flat f) u)))))) 
4926 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop O O c3 
4927 (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
4928 C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: 
4929 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C c4 
4930 (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
4931 C).(\lambda (u1: T).(\lambda (_: T).(drop O O c3 (CHead e1 (Flat f) u1))))))) 
4932 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
4933 (u2: T).(subst0 O v0 u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
4934 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2)))))))))) H3 O 
4935 H4) in (let H6 \def (eq_ind nat i (\lambda (n: nat).(csubst0 n v0 c3 c4)) H2 
4936 O H4) in (or4_intro2 (drop O O (CHead c3 (Flat f) u) (CHead c4 (Flat f) u)) 
4937 (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda 
4938 (u2: T).(eq C (CHead c4 (Flat f) u) (CHead e0 (Flat f0) u2)))))) (\lambda 
4939 (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop O O (CHead c3 
4940 (Flat f) u) (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_: 
4941 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) (ex3_4 F C C T 
4942 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(eq C 
4943 (CHead c4 (Flat f) u) (CHead e2 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda 
4944 (e1: C).(\lambda (_: C).(\lambda (u0: T).(drop O O (CHead c3 (Flat f) u) 
4945 (CHead e1 (Flat f0) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
4946 C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: 
4947 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C 
4948 (CHead c4 (Flat f) u) (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda 
4949 (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop O O (CHead c3 
4950 (Flat f) u) (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: 
4951 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) 
4952 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4953 (_: T).(csubst0 O v0 e1 e2))))))) (ex3_4_intro F C C T (\lambda (f0: 
4954 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(eq C (CHead c4 (Flat f) 
4955 u) (CHead e2 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda 
4956 (_: C).(\lambda (u0: T).(drop O O (CHead c3 (Flat f) u) (CHead e1 (Flat f0) 
4957 u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
4958 T).(csubst0 O v0 e1 e2))))) f c3 c4 u (refl_equal C (CHead c4 (Flat f) u)) 
4959 (drop_refl (CHead c3 (Flat f) u)) H6))))))))))))) k)) (\lambda (k: K).(K_ind 
4960 (\lambda (k0: K).(\forall (i: nat).(\forall (v0: T).(\forall (u1: T).(\forall 
4961 (u2: T).((subst0 i v0 u1 u2) \to (\forall (c3: C).(\forall (c4: C).((csubst0 
4962 i v0 c3 c4) \to ((((eq nat i O) \to (or4 (drop O O c3 c4) (ex3_4 F C T T 
4963 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c4 
4964 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: 
4965 T).(\lambda (_: T).(drop O O c3 (CHead e0 (Flat f) u1)))))) (\lambda (_: 
4966 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) 
4967 (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
4968 T).(eq C c4 (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: 
4969 C).(\lambda (_: C).(\lambda (u: T).(drop O O c3 (CHead e1 (Flat f) u)))))) 
4970 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
4971 v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
4972 C).(\lambda (_: T).(\lambda (u2: T).(eq C c4 (CHead e2 (Flat f) u2))))))) 
4973 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
4974 (_: T).(drop O O c3 (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: 
4975 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) 
4976 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
4977 (_: T).(csubst0 O v0 e1 e2)))))))))) \to ((eq nat (s k0 i) O) \to (or4 (drop 
4978 O O (CHead c3 k0 u1) (CHead c4 k0 u2)) (ex3_4 F C T T (\lambda (f: 
4979 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u4: T).(eq C (CHead c4 k0 u2) 
4980 (CHead e0 (Flat f) u4)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u3: 
4981 T).(\lambda (_: T).(drop O O (CHead c3 k0 u1) (CHead e0 (Flat f) u3)))))) 
4982 (\lambda (_: F).(\lambda (_: C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O 
4983 v0 u3 u4)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
4984 C).(\lambda (u: T).(eq C (CHead c4 k0 u2) (CHead e2 (Flat f) u)))))) (\lambda 
4985 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop O O (CHead c3 
4986 k0 u1) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
4987 (e2: C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda 
4988 (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u4: T).(eq 
4989 C (CHead c4 k0 u2) (CHead e2 (Flat f) u4))))))) (\lambda (f: F).(\lambda (e1: 
4990 C).(\lambda (_: C).(\lambda (u3: T).(\lambda (_: T).(drop O O (CHead c3 k0 
4991 u1) (CHead e1 (Flat f) u3))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
4992 C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4)))))) (\lambda (_: 
4993 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
4994 O v0 e1 e2))))))))))))))))))) (\lambda (b: B).(\lambda (i: nat).(\lambda (v0: 
4995 T).(\lambda (u1: T).(\lambda (u2: T).(\lambda (_: (subst0 i v0 u1 
4996 u2)).(\lambda (c3: C).(\lambda (c4: C).(\lambda (_: (csubst0 i v0 c3 
4997 c4)).(\lambda (_: (((eq nat i O) \to (or4 (drop O O c3 c4) (ex3_4 F C T T 
4998 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c4 
4999 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: 
5000 T).(\lambda (_: T).(drop O O c3 (CHead e0 (Flat f) u1)))))) (\lambda (_: 
5001 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) 
5002 (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
5003 T).(eq C c4 (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: 
5004 C).(\lambda (_: C).(\lambda (u: T).(drop O O c3 (CHead e1 (Flat f) u)))))) 
5005 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
5006 v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
5007 C).(\lambda (_: T).(\lambda (u2: T).(eq C c4 (CHead e2 (Flat f) u2))))))) 
5008 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
5009 (_: T).(drop O O c3 (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: 
5010 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) 
5011 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5012 (_: T).(csubst0 O v0 e1 e2))))))))))).(\lambda (H5: (eq nat (S i) O)).(let H6 
5013 \def (eq_ind nat (S i) (\lambda (ee: nat).(match ee in nat return (\lambda 
5014 (_: nat).Prop) with [O \Rightarrow False | (S _) \Rightarrow True])) I O H5) 
5015 in (False_ind (or4 (drop O O (CHead c3 (Bind b) u1) (CHead c4 (Bind b) u2)) 
5016 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u4: 
5017 T).(eq C (CHead c4 (Bind b) u2) (CHead e0 (Flat f) u4)))))) (\lambda (f: 
5018 F).(\lambda (e0: C).(\lambda (u3: T).(\lambda (_: T).(drop O O (CHead c3 
5019 (Bind b) u1) (CHead e0 (Flat f) u3)))))) (\lambda (_: F).(\lambda (_: 
5020 C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4)))))) (ex3_4 F C C T 
5021 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C (CHead 
5022 c4 (Bind b) u2) (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: 
5023 C).(\lambda (_: C).(\lambda (u: T).(drop O O (CHead c3 (Bind b) u1) (CHead e1 
5024 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
5025 (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda 
5026 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u4: T).(eq C (CHead c4 
5027 (Bind b) u2) (CHead e2 (Flat f) u4))))))) (\lambda (f: F).(\lambda (e1: 
5028 C).(\lambda (_: C).(\lambda (u3: T).(\lambda (_: T).(drop O O (CHead c3 (Bind 
5029 b) u1) (CHead e1 (Flat f) u3))))))) (\lambda (_: F).(\lambda (_: C).(\lambda 
5030 (_: C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4)))))) (\lambda 
5031 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: 
5032 T).(csubst0 O v0 e1 e2)))))))) H6))))))))))))) (\lambda (f: F).(\lambda (i: 
5033 nat).(\lambda (v0: T).(\lambda (u1: T).(\lambda (u2: T).(\lambda (H2: (subst0 
5034 i v0 u1 u2)).(\lambda (c3: C).(\lambda (c4: C).(\lambda (H3: (csubst0 i v0 c3 
5035 c4)).(\lambda (H4: (((eq nat i O) \to (or4 (drop O O c3 c4) (ex3_4 F C T T 
5036 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c4 
5037 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: 
5038 T).(\lambda (_: T).(drop O O c3 (CHead e0 (Flat f) u1)))))) (\lambda (_: 
5039 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) 
5040 (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
5041 T).(eq C c4 (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: 
5042 C).(\lambda (_: C).(\lambda (u: T).(drop O O c3 (CHead e1 (Flat f) u)))))) 
5043 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
5044 v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
5045 C).(\lambda (_: T).(\lambda (u2: T).(eq C c4 (CHead e2 (Flat f) u2))))))) 
5046 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
5047 (_: T).(drop O O c3 (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: 
5048 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) 
5049 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5050 (_: T).(csubst0 O v0 e1 e2))))))))))).(\lambda (H5: (eq nat i O)).(let H6 
5051 \def (eq_ind nat i (\lambda (n: nat).((eq nat n O) \to (or4 (drop O O c3 c4) 
5052 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: 
5053 T).(eq C c4 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: 
5054 C).(\lambda (u1: T).(\lambda (_: T).(drop O O c3 (CHead e0 (Flat f) u1)))))) 
5055 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O 
5056 v0 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
5057 C).(\lambda (u: T).(eq C c4 (CHead e2 (Flat f) u)))))) (\lambda (f: 
5058 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop O O c3 (CHead e1 
5059 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
5060 (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda 
5061 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C c4 (CHead e2 
5062 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
5063 (u1: T).(\lambda (_: T).(drop O O c3 (CHead e1 (Flat f) u1))))))) (\lambda 
5064 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: 
5065 T).(subst0 O v0 u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
5066 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2)))))))))) H4 O H5) in 
5067 (let H7 \def (eq_ind nat i (\lambda (n: nat).(csubst0 n v0 c3 c4)) H3 O H5) 
5068 in (let H8 \def (eq_ind nat i (\lambda (n: nat).(subst0 n v0 u1 u2)) H2 O H5) 
5069 in (or4_intro3 (drop O O (CHead c3 (Flat f) u1) (CHead c4 (Flat f) u2)) 
5070 (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda 
5071 (u4: T).(eq C (CHead c4 (Flat f) u2) (CHead e0 (Flat f0) u4)))))) (\lambda 
5072 (f0: F).(\lambda (e0: C).(\lambda (u3: T).(\lambda (_: T).(drop O O (CHead c3 
5073 (Flat f) u1) (CHead e0 (Flat f0) u3)))))) (\lambda (_: F).(\lambda (_: 
5074 C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4)))))) (ex3_4 F C C T 
5075 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C 
5076 (CHead c4 (Flat f) u2) (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda 
5077 (e1: C).(\lambda (_: C).(\lambda (u: T).(drop O O (CHead c3 (Flat f) u1) 
5078 (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
5079 C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: 
5080 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u4: T).(eq C 
5081 (CHead c4 (Flat f) u2) (CHead e2 (Flat f0) u4))))))) (\lambda (f0: 
5082 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u3: T).(\lambda (_: T).(drop O 
5083 O (CHead c3 (Flat f) u1) (CHead e1 (Flat f0) u3))))))) (\lambda (_: 
5084 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u3: T).(\lambda (u4: T).(subst0 
5085 O v0 u3 u4)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
5086 (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2))))))) (ex4_5_intro F C C T T 
5087 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5088 (u4: T).(eq C (CHead c4 (Flat f) u2) (CHead e2 (Flat f0) u4))))))) (\lambda 
5089 (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u3: T).(\lambda (_: 
5090 T).(drop O O (CHead c3 (Flat f) u1) (CHead e1 (Flat f0) u3))))))) (\lambda 
5091 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u3: T).(\lambda (u4: 
5092 T).(subst0 O v0 u3 u4)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
5093 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) f c3 c4 u1 u2 
5094 (refl_equal C (CHead c4 (Flat f) u2)) (drop_refl (CHead c3 (Flat f) u1)) H8 
5095 H7)))))))))))))))) k)) y v c1 c2 H1))) H) e (drop_gen_refl c2 e H0)))))))) 
5096 (\lambda (n0: nat).(\lambda (IHn: ((\forall (c1: C).(\forall (c2: C).(\forall 
5097 (v: T).((csubst0 n0 v c1 c2) \to (\forall (e: C).((drop n0 O c2 e) \to (or4 
5098 (drop n0 O c1 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
5099 T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: 
5100 F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop n0 O c1 (CHead e0 
5101 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda 
5102 (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: 
5103 C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u)))))) 
5104 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop n0 O 
5105 c1 (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
5106 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: 
5107 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C e 
5108 (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
5109 C).(\lambda (u1: T).(\lambda (_: T).(drop n0 O c1 (CHead e1 (Flat f) 
5110 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: 
5111 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: 
5112 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
5113 e2)))))))))))))))).(\lambda (c1: C).(C_ind (\lambda (c: C).(\forall (c2: 
5114 C).(\forall (v: T).((csubst0 (S n0) v c c2) \to (\forall (e: C).((drop (S n0) 
5115 O c2 e) \to (or4 (drop (S n0) O c e) (ex3_4 F C T T (\lambda (f: F).(\lambda 
5116 (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2)))))) 
5117 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
5118 n0) O c (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda 
5119 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f: 
5120 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat 
5121 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
5122 T).(drop (S n0) O c (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
5123 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
5124 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5125 (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: 
5126 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O c (CHead 
5127 e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
5128 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: 
5129 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
5130 O v e1 e2)))))))))))))) (\lambda (n1: nat).(\lambda (c2: C).(\lambda (v: 
5131 T).(\lambda (H: (csubst0 (S n0) v (CSort n1) c2)).(\lambda (e: C).(\lambda 
5132 (_: (drop (S n0) O c2 e)).(csubst0_gen_sort c2 v (S n0) n1 H (or4 (drop (S 
5133 n0) O (CSort n1) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda 
5134 (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: 
5135 F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CSort 
5136 n1) (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: 
5137 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f: 
5138 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat 
5139 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
5140 T).(drop (S n0) O (CSort n1) (CHead e1 (Flat f) u)))))) (\lambda (_: 
5141 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
5142 (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
5143 (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: 
5144 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
5145 n0) O (CSort n1) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: 
5146 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5147 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5148 (_: T).(csubst0 O v e1 e2))))))))))))))) (\lambda (c: C).(\lambda (H: 
5149 ((\forall (c2: C).(\forall (v: T).((csubst0 (S n0) v c c2) \to (\forall (e: 
5150 C).((drop (S n0) O c2 e) \to (or4 (drop (S n0) O c e) (ex3_4 F C T T (\lambda 
5151 (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 
5152 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda 
5153 (_: T).(drop (S n0) O c (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda 
5154 (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C 
5155 T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e 
5156 (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
5157 C).(\lambda (u: T).(drop (S n0) O c (CHead e1 (Flat f) u)))))) (\lambda (_: 
5158 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
5159 (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
5160 (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: 
5161 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
5162 n0) O c (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda 
5163 (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: 
5164 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
5165 O v e1 e2))))))))))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (c2: 
5166 C).(\lambda (v: T).(\lambda (H0: (csubst0 (S n0) v (CHead c k t) 
5167 c2)).(\lambda (e: C).(\lambda (H1: (drop (S n0) O c2 e)).(or3_ind (ex3_2 T 
5168 nat (\lambda (_: T).(\lambda (j: nat).(eq nat (S n0) (s k j)))) (\lambda (u2: 
5169 T).(\lambda (_: nat).(eq C c2 (CHead c k u2)))) (\lambda (u2: T).(\lambda (j: 
5170 nat).(subst0 j v t u2)))) (ex3_2 C nat (\lambda (_: C).(\lambda (j: nat).(eq 
5171 nat (S n0) (s k j)))) (\lambda (c3: C).(\lambda (_: nat).(eq C c2 (CHead c3 k 
5172 t)))) (\lambda (c3: C).(\lambda (j: nat).(csubst0 j v c c3)))) (ex4_3 T C nat 
5173 (\lambda (_: T).(\lambda (_: C).(\lambda (j: nat).(eq nat (S n0) (s k j))))) 
5174 (\lambda (u2: T).(\lambda (c3: C).(\lambda (_: nat).(eq C c2 (CHead c3 k 
5175 u2))))) (\lambda (u2: T).(\lambda (_: C).(\lambda (j: nat).(subst0 j v t 
5176 u2)))) (\lambda (_: T).(\lambda (c3: C).(\lambda (j: nat).(csubst0 j v c 
5177 c3))))) (or4 (drop (S n0) O (CHead c k t) e) (ex3_4 F C T T (\lambda (f: 
5178 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat 
5179 f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
5180 T).(drop (S n0) O (CHead c k t) (CHead e0 (Flat f) u1)))))) (\lambda (_: 
5181 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5182 (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
5183 T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: 
5184 C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c k t) (CHead e1 
5185 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
5186 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: 
5187 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat 
5188 f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: 
5189 T).(\lambda (_: T).(drop (S n0) O (CHead c k t) (CHead e1 (Flat f) u1))))))) 
5190 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
5191 (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
5192 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda 
5193 (H2: (ex3_2 T nat (\lambda (_: T).(\lambda (j: nat).(eq nat (S n0) (s k j)))) 
5194 (\lambda (u2: T).(\lambda (_: nat).(eq C c2 (CHead c k u2)))) (\lambda (u2: 
5195 T).(\lambda (j: nat).(subst0 j v t u2))))).(ex3_2_ind T nat (\lambda (_: 
5196 T).(\lambda (j: nat).(eq nat (S n0) (s k j)))) (\lambda (u2: T).(\lambda (_: 
5197 nat).(eq C c2 (CHead c k u2)))) (\lambda (u2: T).(\lambda (j: nat).(subst0 j 
5198 v t u2))) (or4 (drop (S n0) O (CHead c k t) e) (ex3_4 F C T T (\lambda (f: 
5199 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat 
5200 f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
5201 T).(drop (S n0) O (CHead c k t) (CHead e0 (Flat f) u1)))))) (\lambda (_: 
5202 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5203 (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
5204 T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: 
5205 C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c k t) (CHead e1 
5206 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
5207 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: 
5208 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat 
5209 f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: 
5210 T).(\lambda (_: T).(drop (S n0) O (CHead c k t) (CHead e1 (Flat f) u1))))))) 
5211 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
5212 (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
5213 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda 
5214 (x0: T).(\lambda (x1: nat).(\lambda (H3: (eq nat (S n0) (s k x1))).(\lambda 
5215 (H4: (eq C c2 (CHead c k x0))).(\lambda (H5: (subst0 x1 v t x0)).(let H6 \def 
5216 (eq_ind C c2 (\lambda (c: C).(drop (S n0) O c e)) H1 (CHead c k x0) H4) in 
5217 ((match k in K return (\lambda (k0: K).((eq nat (S n0) (s k0 x1)) \to ((drop 
5218 (r k0 n0) O c e) \to (or4 (drop (S n0) O (CHead c k0 t) e) (ex3_4 F C T T 
5219 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e 
5220 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: 
5221 T).(\lambda (_: T).(drop (S n0) O (CHead c k0 t) (CHead e0 (Flat f) u1)))))) 
5222 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v 
5223 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
5224 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f: 
5225 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c 
5226 k0 t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
5227 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda 
5228 (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq 
5229 C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda 
5230 (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c k0 t) (CHead 
5231 e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
5232 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: 
5233 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
5234 O v e1 e2))))))))))) with [(Bind b) \Rightarrow (\lambda (H7: (eq nat (S n0) 
5235 (s (Bind b) x1))).(\lambda (H8: (drop (r (Bind b) n0) O c e)).(let H9 \def 
5236 (f_equal nat nat (\lambda (e0: nat).(match e0 in nat return (\lambda (_: 
5237 nat).nat) with [O \Rightarrow n0 | (S n) \Rightarrow n])) (S n0) (S x1) H7) 
5238 in (let H10 \def (eq_ind_r nat x1 (\lambda (n: nat).(subst0 n v t x0)) H5 n0 
5239 H9) in (or4_intro0 (drop (S n0) O (CHead c (Bind b) t) e) (ex3_4 F C T T 
5240 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e 
5241 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: 
5242 T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) 
5243 u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: 
5244 T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: 
5245 C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u)))))) 
5246 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) 
5247 O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda 
5248 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C 
5249 C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
5250 T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: 
5251 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
5252 n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda (_: 
5253 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 
5254 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
5255 (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (drop_drop (Bind b) n0 c e 
5256 H8 t)))))) | (Flat f) \Rightarrow (\lambda (H7: (eq nat (S n0) (s (Flat f) 
5257 x1))).(\lambda (H8: (drop (r (Flat f) n0) O c e)).(let H9 \def (f_equal nat 
5258 nat (\lambda (e0: nat).e0) (S n0) x1 H7) in (let H10 \def (eq_ind_r nat x1 
5259 (\lambda (n: nat).(subst0 n v t x0)) H5 (S n0) H9) in (or4_intro0 (drop (S 
5260 n0) O (CHead c (Flat f) t) e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: 
5261 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f0) u2)))))) 
5262 (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
5263 n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda (_: 
5264 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5265 (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
5266 T).(eq C e (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: 
5267 C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c (Flat f) t) (CHead 
5268 e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
5269 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: 
5270 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C e 
5271 (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
5272 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) 
5273 (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
5274 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: 
5275 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
5276 O v e1 e2))))))) (drop_drop (Flat f) n0 c e H8 t))))))]) H3 (drop_gen_drop k 
5277 c e x0 n0 H6)))))))) H2)) (\lambda (H2: (ex3_2 C nat (\lambda (_: C).(\lambda 
5278 (j: nat).(eq nat (S n0) (s k j)))) (\lambda (c3: C).(\lambda (_: nat).(eq C 
5279 c2 (CHead c3 k t)))) (\lambda (c2: C).(\lambda (j: nat).(csubst0 j v c 
5280 c2))))).(ex3_2_ind C nat (\lambda (_: C).(\lambda (j: nat).(eq nat (S n0) (s 
5281 k j)))) (\lambda (c3: C).(\lambda (_: nat).(eq C c2 (CHead c3 k t)))) 
5282 (\lambda (c3: C).(\lambda (j: nat).(csubst0 j v c c3))) (or4 (drop (S n0) O 
5283 (CHead c k t) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
5284 T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: 
5285 F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
5286 k t) (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda 
5287 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f: 
5288 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat 
5289 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
5290 T).(drop (S n0) O (CHead c k t) (CHead e1 (Flat f) u)))))) (\lambda (_: 
5291 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
5292 (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
5293 (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: 
5294 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
5295 n0) O (CHead c k t) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: 
5296 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5297 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5298 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x0: C).(\lambda (x1: 
5299 nat).(\lambda (H3: (eq nat (S n0) (s k x1))).(\lambda (H4: (eq C c2 (CHead x0 
5300 k t))).(\lambda (H5: (csubst0 x1 v c x0)).(let H6 \def (eq_ind C c2 (\lambda 
5301 (c: C).(drop (S n0) O c e)) H1 (CHead x0 k t) H4) in ((match k in K return 
5302 (\lambda (k0: K).((eq nat (S n0) (s k0 x1)) \to ((drop (r k0 n0) O x0 e) \to 
5303 (or4 (drop (S n0) O (CHead c k0 t) e) (ex3_4 F C T T (\lambda (f: F).(\lambda 
5304 (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2)))))) 
5305 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
5306 n0) O (CHead c k0 t) (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: 
5307 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T 
5308 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e 
5309 (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
5310 C).(\lambda (u: T).(drop (S n0) O (CHead c k0 t) (CHead e1 (Flat f) u)))))) 
5311 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
5312 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
5313 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) 
5314 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
5315 (_: T).(drop (S n0) O (CHead c k0 t) (CHead e1 (Flat f) u1))))))) (\lambda 
5316 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: 
5317 T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
5318 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))))))) with [(Bind 
5319 b) \Rightarrow (\lambda (H7: (eq nat (S n0) (s (Bind b) x1))).(\lambda (H8: 
5320 (drop (r (Bind b) n0) O x0 e)).(let H9 \def (f_equal nat nat (\lambda (e0: 
5321 nat).(match e0 in nat return (\lambda (_: nat).nat) with [O \Rightarrow n0 | 
5322 (S n) \Rightarrow n])) (S n0) (S x1) H7) in (let H10 \def (eq_ind_r nat x1 
5323 (\lambda (n: nat).(csubst0 n v c x0)) H5 n0 H9) in (let H11 \def (IHn c x0 v 
5324 H10 e H8) in (or4_ind (drop n0 O c e) (ex3_4 F C T T (\lambda (f: F).(\lambda 
5325 (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2)))))) 
5326 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop n0 O 
5327 c (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: 
5328 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f: 
5329 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat 
5330 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
5331 T).(drop n0 O c (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
5332 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
5333 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5334 (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: 
5335 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop n0 O c (CHead e1 
5336 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
5337 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda 
5338 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
5339 e2))))))) (or4 (drop (S n0) O (CHead c (Bind b) t) e) (ex3_4 F C T T (\lambda 
5340 (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 
5341 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda 
5342 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) 
5343 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v 
5344 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
5345 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f: 
5346 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c 
5347 (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
5348 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
5349 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5350 (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: 
5351 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
5352 (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: 
5353 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5354 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5355 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (H12: (drop n0 O c e)).(or4_intro0 
5356 (drop (S n0) O (CHead c (Bind b) t) e) (ex3_4 F C T T (\lambda (f: 
5357 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat 
5358 f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
5359 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda 
5360 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 
5361 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
5362 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f: 
5363 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c 
5364 (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
5365 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
5366 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5367 (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: 
5368 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
5369 (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: 
5370 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5371 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5372 (_: T).(csubst0 O v e1 e2))))))) (drop_drop (Bind b) n0 c e H12 t))) (\lambda 
5373 (H12: (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
5374 T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: 
5375 F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop n0 O c (CHead e0 
5376 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda 
5377 (u2: T).(subst0 O v u1 u2))))))).(ex3_4_ind F C T T (\lambda (f: F).(\lambda 
5378 (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2)))))) 
5379 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop n0 O 
5380 c (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: 
5381 T).(\lambda (u2: T).(subst0 O v u1 u2))))) (or4 (drop (S n0) O (CHead c (Bind 
5382 b) t) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
5383 T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: 
5384 F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
5385 (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: 
5386 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T 
5387 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e 
5388 (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
5389 C).(\lambda (u: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) 
5390 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
5391 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: 
5392 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat 
5393 f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: 
5394 T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) 
5395 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: 
5396 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: 
5397 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
5398 e2)))))))) (\lambda (x2: F).(\lambda (x3: C).(\lambda (x4: T).(\lambda (x5: 
5399 T).(\lambda (H13: (eq C e (CHead x3 (Flat x2) x5))).(\lambda (H14: (drop n0 O 
5400 c (CHead x3 (Flat x2) x4))).(\lambda (H15: (subst0 O v x4 x5)).(eq_ind_r C 
5401 (CHead x3 (Flat x2) x5) (\lambda (c0: C).(or4 (drop (S n0) O (CHead c (Bind 
5402 b) t) c0) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
5403 T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat f) u2)))))) (\lambda (f: 
5404 F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
5405 (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: 
5406 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T 
5407 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C c0 
5408 (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
5409 C).(\lambda (u: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) 
5410 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
5411 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: 
5412 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e2 (Flat 
5413 f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: 
5414 T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) 
5415 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: 
5416 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: 
5417 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
5418 e2))))))))) (or4_intro1 (drop (S n0) O (CHead c (Bind b) t) (CHead x3 (Flat 
5419 x2) x5)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
5420 T).(\lambda (u2: T).(eq C (CHead x3 (Flat x2) x5) (CHead e0 (Flat f) u2)))))) 
5421 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
5422 n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda (_: 
5423 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5424 (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
5425 T).(eq C (CHead x3 (Flat x2) x5) (CHead e2 (Flat f) u)))))) (\lambda (f: 
5426 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c 
5427 (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
5428 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
5429 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5430 (u2: T).(eq C (CHead x3 (Flat x2) x5) (CHead e2 (Flat f) u2))))))) (\lambda 
5431 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: 
5432 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda 
5433 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: 
5434 T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
5435 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (ex3_4_intro F C 
5436 T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C 
5437 (CHead x3 (Flat x2) x5) (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda 
5438 (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) 
5439 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: 
5440 T).(\lambda (u2: T).(subst0 O v u1 u2))))) x2 x3 x4 x5 (refl_equal C (CHead 
5441 x3 (Flat x2) x5)) (drop_drop (Bind b) n0 c (CHead x3 (Flat x2) x4) H14 t) 
5442 H15)) e H13)))))))) H12)) (\lambda (H12: (ex3_4 F C C T (\lambda (f: 
5443 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat 
5444 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
5445 T).(drop n0 O c (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
5446 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))).(ex3_4_ind F C 
5447 C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e 
5448 (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
5449 C).(\lambda (u: T).(drop n0 O c (CHead e1 (Flat f) u)))))) (\lambda (_: 
5450 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))) 
5451 (or4 (drop (S n0) O (CHead c (Bind b) t) e) (ex3_4 F C T T (\lambda (f: 
5452 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat 
5453 f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
5454 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda 
5455 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 
5456 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
5457 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f: 
5458 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c 
5459 (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
5460 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
5461 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5462 (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: 
5463 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
5464 (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: 
5465 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5466 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5467 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x2: F).(\lambda (x3: C).(\lambda 
5468 (x4: C).(\lambda (x5: T).(\lambda (H13: (eq C e (CHead x4 (Flat x2) 
5469 x5))).(\lambda (H14: (drop n0 O c (CHead x3 (Flat x2) x5))).(\lambda (H15: 
5470 (csubst0 O v x3 x4)).(eq_ind_r C (CHead x4 (Flat x2) x5) (\lambda (c0: 
5471 C).(or4 (drop (S n0) O (CHead c (Bind b) t) c0) (ex3_4 F C T T (\lambda (f: 
5472 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat 
5473 f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
5474 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda 
5475 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 
5476 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
5477 C).(\lambda (u: T).(eq C c0 (CHead e2 (Flat f) u)))))) (\lambda (f: 
5478 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c 
5479 (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
5480 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
5481 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5482 (u2: T).(eq C c0 (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: 
5483 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
5484 (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: 
5485 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5486 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5487 (_: T).(csubst0 O v e1 e2))))))))) (or4_intro2 (drop (S n0) O (CHead c (Bind 
5488 b) t) (CHead x4 (Flat x2) x5)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
5489 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat x2) x5) (CHead e0 
5490 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda 
5491 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) 
5492 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v 
5493 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
5494 C).(\lambda (u: T).(eq C (CHead x4 (Flat x2) x5) (CHead e2 (Flat f) u)))))) 
5495 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) 
5496 O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda 
5497 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C 
5498 C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
5499 T).(\lambda (u2: T).(eq C (CHead x4 (Flat x2) x5) (CHead e2 (Flat f) 
5500 u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: 
5501 T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) 
5502 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: 
5503 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: 
5504 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) 
5505 (ex3_4_intro F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
5506 C).(\lambda (u: T).(eq C (CHead x4 (Flat x2) x5) (CHead e2 (Flat f) u)))))) 
5507 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) 
5508 O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda 
5509 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))) x2 x3 x4 x5 
5510 (refl_equal C (CHead x4 (Flat x2) x5)) (drop_drop (Bind b) n0 c (CHead x3 
5511 (Flat x2) x5) H14 t) H15)) e H13)))))))) H12)) (\lambda (H12: (ex4_5 F C C T 
5512 T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5513 (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: 
5514 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop n0 O c (CHead e1 
5515 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
5516 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda 
5517 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
5518 e2)))))))).(ex4_5_ind F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
5519 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) 
5520 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
5521 (_: T).(drop n0 O c (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: 
5522 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5523 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5524 (_: T).(csubst0 O v e1 e2)))))) (or4 (drop (S n0) O (CHead c (Bind b) t) e) 
5525 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: 
5526 T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: 
5527 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) 
5528 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: 
5529 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f: 
5530 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat 
5531 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
5532 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda 
5533 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 
5534 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
5535 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) 
5536 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
5537 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u1))))))) 
5538 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
5539 (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
5540 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda 
5541 (x2: F).(\lambda (x3: C).(\lambda (x4: C).(\lambda (x5: T).(\lambda (x6: 
5542 T).(\lambda (H13: (eq C e (CHead x4 (Flat x2) x6))).(\lambda (H14: (drop n0 O 
5543 c (CHead x3 (Flat x2) x5))).(\lambda (H15: (subst0 O v x5 x6)).(\lambda (H16: 
5544 (csubst0 O v x3 x4)).(eq_ind_r C (CHead x4 (Flat x2) x6) (\lambda (c0: 
5545 C).(or4 (drop (S n0) O (CHead c (Bind b) t) c0) (ex3_4 F C T T (\lambda (f: 
5546 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat 
5547 f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
5548 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda 
5549 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 
5550 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
5551 C).(\lambda (u: T).(eq C c0 (CHead e2 (Flat f) u)))))) (\lambda (f: 
5552 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c 
5553 (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
5554 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
5555 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5556 (u2: T).(eq C c0 (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: 
5557 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
5558 (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: 
5559 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5560 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5561 (_: T).(csubst0 O v e1 e2))))))))) (or4_intro3 (drop (S n0) O (CHead c (Bind 
5562 b) t) (CHead x4 (Flat x2) x6)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
5563 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat x2) x6) (CHead e0 
5564 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda 
5565 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) 
5566 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v 
5567 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
5568 C).(\lambda (u: T).(eq C (CHead x4 (Flat x2) x6) (CHead e2 (Flat f) u)))))) 
5569 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) 
5570 O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda 
5571 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C 
5572 C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
5573 T).(\lambda (u2: T).(eq C (CHead x4 (Flat x2) x6) (CHead e2 (Flat f) 
5574 u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: 
5575 T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) 
5576 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: 
5577 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: 
5578 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) 
5579 (ex4_5_intro F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
5580 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat x2) x6) (CHead e2 
5581 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
5582 (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat 
5583 f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: 
5584 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: 
5585 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
5586 x2 x3 x4 x5 x6 (refl_equal C (CHead x4 (Flat x2) x6)) (drop_drop (Bind b) n0 
5587 c (CHead x3 (Flat x2) x5) H14 t) H15 H16)) e H13)))))))))) H12)) H11)))))) | 
5588 (Flat f) \Rightarrow (\lambda (H7: (eq nat (S n0) (s (Flat f) x1))).(\lambda 
5589 (H8: (drop (r (Flat f) n0) O x0 e)).(let H9 \def (f_equal nat nat (\lambda 
5590 (e0: nat).e0) (S n0) x1 H7) in (let H10 \def (eq_ind_r nat x1 (\lambda (n: 
5591 nat).(csubst0 n v c x0)) H5 (S n0) H9) in (let H11 \def (H x0 v H10 e H8) in 
5592 (or4_ind (drop (S n0) O c e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: 
5593 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f0) u2)))))) 
5594 (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
5595 n0) O c (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda 
5596 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0: 
5597 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat 
5598 f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
5599 T).(drop (S n0) O c (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: 
5600 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
5601 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5602 (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: 
5603 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O c (CHead 
5604 e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
5605 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: 
5606 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
5607 O v e1 e2))))))) (or4 (drop (S n0) O (CHead c (Flat f) t) e) (ex3_4 F C T T 
5608 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e 
5609 (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: 
5610 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) 
5611 u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: 
5612 T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: 
5613 C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat f0) u)))))) 
5614 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S 
5615 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_: 
5616 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
5617 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
5618 (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) (\lambda (f0: 
5619 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
5620 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_: 
5621 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 
5622 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
5623 (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda (H12: (drop (S n0) 
5624 O c e)).(or4_intro0 (drop (S n0) O (CHead c (Flat f) t) e) (ex3_4 F C T T 
5625 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e 
5626 (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: 
5627 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) 
5628 u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: 
5629 T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: 
5630 C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat f0) u)))))) 
5631 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S 
5632 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_: 
5633 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
5634 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
5635 (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) (\lambda (f0: 
5636 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
5637 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_: 
5638 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 
5639 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
5640 (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (drop_drop (Flat f) n0 c e 
5641 H12 t))) (\lambda (H12: (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
5642 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2)))))) 
5643 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
5644 n0) O c (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda 
5645 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))).(ex3_4_ind F C T T (\lambda 
5646 (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 
5647 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: 
5648 T).(\lambda (_: T).(drop (S n0) O c (CHead e0 (Flat f0) u1)))))) (\lambda (_: 
5649 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))) 
5650 (or4 (drop (S n0) O (CHead c (Flat f) t) e) (ex3_4 F C T T (\lambda (f0: 
5651 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat 
5652 f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
5653 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda 
5654 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 
5655 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
5656 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f0) u)))))) (\lambda (f0: 
5657 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c 
5658 (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: 
5659 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
5660 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5661 (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: 
5662 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
5663 (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: 
5664 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5665 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5666 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x2: F).(\lambda (x3: C).(\lambda 
5667 (x4: T).(\lambda (x5: T).(\lambda (H13: (eq C e (CHead x3 (Flat x2) 
5668 x5))).(\lambda (H14: (drop (S n0) O c (CHead x3 (Flat x2) x4))).(\lambda 
5669 (H15: (subst0 O v x4 x5)).(eq_ind_r C (CHead x3 (Flat x2) x5) (\lambda (c0: 
5670 C).(or4 (drop (S n0) O (CHead c (Flat f) t) c0) (ex3_4 F C T T (\lambda (f0: 
5671 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat 
5672 f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
5673 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda 
5674 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 
5675 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
5676 C).(\lambda (u: T).(eq C c0 (CHead e2 (Flat f0) u)))))) (\lambda (f0: 
5677 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c 
5678 (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: 
5679 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
5680 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5681 (u2: T).(eq C c0 (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: 
5682 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
5683 (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: 
5684 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5685 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5686 (_: T).(csubst0 O v e1 e2))))))))) (or4_intro1 (drop (S n0) O (CHead c (Flat 
5687 f) t) (CHead x3 (Flat x2) x5)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: 
5688 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x3 (Flat x2) x5) (CHead e0 
5689 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: 
5690 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) 
5691 u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: 
5692 T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: 
5693 C).(\lambda (e2: C).(\lambda (u: T).(eq C (CHead x3 (Flat x2) x5) (CHead e2 
5694 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
5695 (u: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) 
5696 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
5697 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
5698 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x3 (Flat x2) x5) (CHead e2 
5699 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
5700 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) 
5701 (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
5702 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: 
5703 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
5704 O v e1 e2))))))) (ex3_4_intro F C T T (\lambda (f0: F).(\lambda (e0: 
5705 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x3 (Flat x2) x5) (CHead e0 
5706 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: 
5707 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) 
5708 u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: 
5709 T).(subst0 O v u1 u2))))) x2 x3 x4 x5 (refl_equal C (CHead x3 (Flat x2) x5)) 
5710 (drop_drop (Flat f) n0 c (CHead x3 (Flat x2) x4) H14 t) H15)) e H13)))))))) 
5711 H12)) (\lambda (H12: (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda 
5712 (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f: 
5713 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O c (CHead 
5714 e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
5715 C).(\lambda (_: T).(csubst0 O v e1 e2))))))).(ex3_4_ind F C C T (\lambda (f0: 
5716 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat 
5717 f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
5718 T).(drop (S n0) O c (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: 
5719 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))) (or4 (drop (S n0) 
5720 O (CHead c (Flat f) t) e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: 
5721 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f0) u2)))))) 
5722 (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
5723 n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda (_: 
5724 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5725 (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
5726 T).(eq C e (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: 
5727 C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c (Flat f) t) (CHead 
5728 e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
5729 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: 
5730 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C e 
5731 (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
5732 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) 
5733 (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
5734 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: 
5735 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
5736 O v e1 e2)))))))) (\lambda (x2: F).(\lambda (x3: C).(\lambda (x4: C).(\lambda 
5737 (x5: T).(\lambda (H13: (eq C e (CHead x4 (Flat x2) x5))).(\lambda (H14: (drop 
5738 (S n0) O c (CHead x3 (Flat x2) x5))).(\lambda (H15: (csubst0 O v x3 
5739 x4)).(eq_ind_r C (CHead x4 (Flat x2) x5) (\lambda (c0: C).(or4 (drop (S n0) O 
5740 (CHead c (Flat f) t) c0) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: 
5741 C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat f0) u2)))))) 
5742 (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
5743 n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda (_: 
5744 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5745 (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
5746 T).(eq C c0 (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: 
5747 C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c (Flat f) t) (CHead 
5748 e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
5749 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: 
5750 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 
5751 (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
5752 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) 
5753 (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
5754 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: 
5755 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
5756 O v e1 e2))))))))) (or4_intro2 (drop (S n0) O (CHead c (Flat f) t) (CHead x4 
5757 (Flat x2) x5)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: 
5758 T).(\lambda (u2: T).(eq C (CHead x4 (Flat x2) x5) (CHead e0 (Flat f0) 
5759 u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
5760 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda 
5761 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 
5762 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
5763 C).(\lambda (u: T).(eq C (CHead x4 (Flat x2) x5) (CHead e2 (Flat f0) u)))))) 
5764 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S 
5765 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_: 
5766 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
5767 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
5768 (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat x2) x5) (CHead e2 (Flat f0) 
5769 u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: 
5770 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) 
5771 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: 
5772 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: 
5773 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) 
5774 (ex3_4_intro F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
5775 C).(\lambda (u: T).(eq C (CHead x4 (Flat x2) x5) (CHead e2 (Flat f0) u)))))) 
5776 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S 
5777 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_: 
5778 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))) 
5779 x2 x3 x4 x5 (refl_equal C (CHead x4 (Flat x2) x5)) (drop_drop (Flat f) n0 c 
5780 (CHead x3 (Flat x2) x5) H14 t) H15)) e H13)))))))) H12)) (\lambda (H12: 
5781 (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
5782 (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: 
5783 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
5784 n0) O c (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda 
5785 (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: 
5786 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
5787 O v e1 e2)))))))).(ex4_5_ind F C C T T (\lambda (f0: F).(\lambda (_: 
5788 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat 
5789 f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: 
5790 T).(\lambda (_: T).(drop (S n0) O c (CHead e1 (Flat f0) u1))))))) (\lambda 
5791 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: 
5792 T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
5793 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))) (or4 (drop (S n0) 
5794 O (CHead c (Flat f) t) e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: 
5795 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f0) u2)))))) 
5796 (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
5797 n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda (_: 
5798 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5799 (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
5800 T).(eq C e (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: 
5801 C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c (Flat f) t) (CHead 
5802 e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
5803 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: 
5804 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C e 
5805 (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
5806 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) 
5807 (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
5808 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: 
5809 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
5810 O v e1 e2)))))))) (\lambda (x2: F).(\lambda (x3: C).(\lambda (x4: C).(\lambda 
5811 (x5: T).(\lambda (x6: T).(\lambda (H13: (eq C e (CHead x4 (Flat x2) 
5812 x6))).(\lambda (H14: (drop (S n0) O c (CHead x3 (Flat x2) x5))).(\lambda 
5813 (H15: (subst0 O v x5 x6)).(\lambda (H16: (csubst0 O v x3 x4)).(eq_ind_r C 
5814 (CHead x4 (Flat x2) x6) (\lambda (c0: C).(or4 (drop (S n0) O (CHead c (Flat 
5815 f) t) c0) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: 
5816 T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat f0) u2)))))) (\lambda (f0: 
5817 F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
5818 (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_: 
5819 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T 
5820 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C c0 
5821 (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
5822 C).(\lambda (u: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) 
5823 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
5824 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: 
5825 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e2 (Flat 
5826 f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: 
5827 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) 
5828 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: 
5829 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: 
5830 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
5831 e2))))))))) (or4_intro3 (drop (S n0) O (CHead c (Flat f) t) (CHead x4 (Flat 
5832 x2) x6)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: 
5833 T).(\lambda (u2: T).(eq C (CHead x4 (Flat x2) x6) (CHead e0 (Flat f0) 
5834 u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
5835 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda 
5836 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 
5837 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
5838 C).(\lambda (u: T).(eq C (CHead x4 (Flat x2) x6) (CHead e2 (Flat f0) u)))))) 
5839 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S 
5840 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_: 
5841 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
5842 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
5843 (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat x2) x6) (CHead e2 (Flat f0) 
5844 u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: 
5845 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) 
5846 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: 
5847 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: 
5848 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) 
5849 (ex4_5_intro F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
5850 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat x2) x6) (CHead e2 
5851 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
5852 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) 
5853 (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
5854 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: 
5855 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
5856 O v e1 e2)))))) x2 x3 x4 x5 x6 (refl_equal C (CHead x4 (Flat x2) x6)) 
5857 (drop_drop (Flat f) n0 c (CHead x3 (Flat x2) x5) H14 t) H15 H16)) e 
5858 H13)))))))))) H12)) H11))))))]) H3 (drop_gen_drop k x0 e t n0 H6)))))))) H2)) 
5859 (\lambda (H2: (ex4_3 T C nat (\lambda (_: T).(\lambda (_: C).(\lambda (j: 
5860 nat).(eq nat (S n0) (s k j))))) (\lambda (u2: T).(\lambda (c3: C).(\lambda 
5861 (_: nat).(eq C c2 (CHead c3 k u2))))) (\lambda (u2: T).(\lambda (_: 
5862 C).(\lambda (j: nat).(subst0 j v t u2)))) (\lambda (_: T).(\lambda (c2: 
5863 C).(\lambda (j: nat).(csubst0 j v c c2)))))).(ex4_3_ind T C nat (\lambda (_: 
5864 T).(\lambda (_: C).(\lambda (j: nat).(eq nat (S n0) (s k j))))) (\lambda (u2: 
5865 T).(\lambda (c3: C).(\lambda (_: nat).(eq C c2 (CHead c3 k u2))))) (\lambda 
5866 (u2: T).(\lambda (_: C).(\lambda (j: nat).(subst0 j v t u2)))) (\lambda (_: 
5867 T).(\lambda (c3: C).(\lambda (j: nat).(csubst0 j v c c3)))) (or4 (drop (S n0) 
5868 O (CHead c k t) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda 
5869 (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: 
5870 F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
5871 k t) (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda 
5872 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f: 
5873 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat 
5874 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
5875 T).(drop (S n0) O (CHead c k t) (CHead e1 (Flat f) u)))))) (\lambda (_: 
5876 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
5877 (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
5878 (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: 
5879 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
5880 n0) O (CHead c k t) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: 
5881 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5882 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5883 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x0: T).(\lambda (x1: C).(\lambda 
5884 (x2: nat).(\lambda (H3: (eq nat (S n0) (s k x2))).(\lambda (H4: (eq C c2 
5885 (CHead x1 k x0))).(\lambda (H5: (subst0 x2 v t x0)).(\lambda (H6: (csubst0 x2 
5886 v c x1)).(let H7 \def (eq_ind C c2 (\lambda (c: C).(drop (S n0) O c e)) H1 
5887 (CHead x1 k x0) H4) in ((match k in K return (\lambda (k0: K).((eq nat (S n0) 
5888 (s k0 x2)) \to ((drop (r k0 n0) O x1 e) \to (or4 (drop (S n0) O (CHead c k0 
5889 t) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
5890 T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: 
5891 F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
5892 k0 t) (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda 
5893 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f: 
5894 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat 
5895 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
5896 T).(drop (S n0) O (CHead c k0 t) (CHead e1 (Flat f) u)))))) (\lambda (_: 
5897 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
5898 (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
5899 (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: 
5900 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
5901 n0) O (CHead c k0 t) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda 
5902 (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 
5903 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
5904 T).(\lambda (_: T).(csubst0 O v e1 e2))))))))))) with [(Bind b) \Rightarrow 
5905 (\lambda (H8: (eq nat (S n0) (s (Bind b) x2))).(\lambda (H9: (drop (r (Bind 
5906 b) n0) O x1 e)).(let H10 \def (f_equal nat nat (\lambda (e0: nat).(match e0 
5907 in nat return (\lambda (_: nat).nat) with [O \Rightarrow n0 | (S n) 
5908 \Rightarrow n])) (S n0) (S x2) H8) in (let H11 \def (eq_ind_r nat x2 (\lambda 
5909 (n: nat).(csubst0 n v c x1)) H6 n0 H10) in (let H12 \def (eq_ind_r nat x2 
5910 (\lambda (n: nat).(subst0 n v t x0)) H5 n0 H10) in (let H13 \def (IHn c x1 v 
5911 H11 e H9) in (or4_ind (drop n0 O c e) (ex3_4 F C T T (\lambda (f: F).(\lambda 
5912 (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2)))))) 
5913 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop n0 O 
5914 c (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: 
5915 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f: 
5916 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat 
5917 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
5918 T).(drop n0 O c (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
5919 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
5920 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5921 (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: 
5922 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop n0 O c (CHead e1 
5923 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
5924 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda 
5925 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
5926 e2))))))) (or4 (drop (S n0) O (CHead c (Bind b) t) e) (ex3_4 F C T T (\lambda 
5927 (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 
5928 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda 
5929 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) 
5930 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v 
5931 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
5932 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f: 
5933 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c 
5934 (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
5935 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
5936 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5937 (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: 
5938 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
5939 (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: 
5940 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5941 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5942 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (H14: (drop n0 O c e)).(or4_intro0 
5943 (drop (S n0) O (CHead c (Bind b) t) e) (ex3_4 F C T T (\lambda (f: 
5944 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat 
5945 f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
5946 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda 
5947 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 
5948 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
5949 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f: 
5950 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c 
5951 (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
5952 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
5953 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5954 (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: 
5955 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
5956 (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: 
5957 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
5958 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
5959 (_: T).(csubst0 O v e1 e2))))))) (drop_drop (Bind b) n0 c e H14 t))) (\lambda 
5960 (H14: (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
5961 T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: 
5962 F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop n0 O c (CHead e0 
5963 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda 
5964 (u2: T).(subst0 O v u1 u2))))))).(ex3_4_ind F C T T (\lambda (f: F).(\lambda 
5965 (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2)))))) 
5966 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop n0 O 
5967 c (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: 
5968 T).(\lambda (u2: T).(subst0 O v u1 u2))))) (or4 (drop (S n0) O (CHead c (Bind 
5969 b) t) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
5970 T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: 
5971 F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
5972 (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: 
5973 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T 
5974 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e 
5975 (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
5976 C).(\lambda (u: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) 
5977 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
5978 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: 
5979 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat 
5980 f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: 
5981 T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) 
5982 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: 
5983 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: 
5984 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
5985 e2)))))))) (\lambda (x3: F).(\lambda (x4: C).(\lambda (x5: T).(\lambda (x6: 
5986 T).(\lambda (H15: (eq C e (CHead x4 (Flat x3) x6))).(\lambda (H16: (drop n0 O 
5987 c (CHead x4 (Flat x3) x5))).(\lambda (H17: (subst0 O v x5 x6)).(eq_ind_r C 
5988 (CHead x4 (Flat x3) x6) (\lambda (c0: C).(or4 (drop (S n0) O (CHead c (Bind 
5989 b) t) c0) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
5990 T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat f) u2)))))) (\lambda (f: 
5991 F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
5992 (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: 
5993 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T 
5994 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C c0 
5995 (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
5996 C).(\lambda (u: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) 
5997 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
5998 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: 
5999 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e2 (Flat 
6000 f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: 
6001 T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) 
6002 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: 
6003 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: 
6004 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
6005 e2))))))))) (or4_intro1 (drop (S n0) O (CHead c (Bind b) t) (CHead x4 (Flat 
6006 x3) x6)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: 
6007 T).(\lambda (u2: T).(eq C (CHead x4 (Flat x3) x6) (CHead e0 (Flat f) u2)))))) 
6008 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
6009 n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda (_: 
6010 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
6011 (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
6012 T).(eq C (CHead x4 (Flat x3) x6) (CHead e2 (Flat f) u)))))) (\lambda (f: 
6013 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c 
6014 (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
6015 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
6016 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
6017 (u2: T).(eq C (CHead x4 (Flat x3) x6) (CHead e2 (Flat f) u2))))))) (\lambda 
6018 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: 
6019 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda 
6020 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: 
6021 T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
6022 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (ex3_4_intro F C 
6023 T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C 
6024 (CHead x4 (Flat x3) x6) (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda 
6025 (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) 
6026 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: 
6027 T).(\lambda (u2: T).(subst0 O v u1 u2))))) x3 x4 x5 x6 (refl_equal C (CHead 
6028 x4 (Flat x3) x6)) (drop_drop (Bind b) n0 c (CHead x4 (Flat x3) x5) H16 t) 
6029 H17)) e H15)))))))) H14)) (\lambda (H14: (ex3_4 F C C T (\lambda (f: 
6030 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat 
6031 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
6032 T).(drop n0 O c (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
6033 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))).(ex3_4_ind F C 
6034 C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e 
6035 (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: 
6036 C).(\lambda (u: T).(drop n0 O c (CHead e1 (Flat f) u)))))) (\lambda (_: 
6037 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))) 
6038 (or4 (drop (S n0) O (CHead c (Bind b) t) e) (ex3_4 F C T T (\lambda (f: 
6039 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat 
6040 f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
6041 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda 
6042 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 
6043 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
6044 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f: 
6045 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c 
6046 (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
6047 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
6048 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
6049 (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: 
6050 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
6051 (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: 
6052 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
6053 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
6054 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x3: F).(\lambda (x4: C).(\lambda 
6055 (x5: C).(\lambda (x6: T).(\lambda (H15: (eq C e (CHead x5 (Flat x3) 
6056 x6))).(\lambda (H16: (drop n0 O c (CHead x4 (Flat x3) x6))).(\lambda (H17: 
6057 (csubst0 O v x4 x5)).(eq_ind_r C (CHead x5 (Flat x3) x6) (\lambda (c0: 
6058 C).(or4 (drop (S n0) O (CHead c (Bind b) t) c0) (ex3_4 F C T T (\lambda (f: 
6059 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat 
6060 f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
6061 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda 
6062 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 
6063 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
6064 C).(\lambda (u: T).(eq C c0 (CHead e2 (Flat f) u)))))) (\lambda (f: 
6065 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c 
6066 (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
6067 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
6068 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
6069 (u2: T).(eq C c0 (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: 
6070 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
6071 (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: 
6072 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
6073 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
6074 (_: T).(csubst0 O v e1 e2))))))))) (or4_intro2 (drop (S n0) O (CHead c (Bind 
6075 b) t) (CHead x5 (Flat x3) x6)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
6076 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x5 (Flat x3) x6) (CHead e0 
6077 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda 
6078 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) 
6079 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v 
6080 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
6081 C).(\lambda (u: T).(eq C (CHead x5 (Flat x3) x6) (CHead e2 (Flat f) u)))))) 
6082 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) 
6083 O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda 
6084 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C 
6085 C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
6086 T).(\lambda (u2: T).(eq C (CHead x5 (Flat x3) x6) (CHead e2 (Flat f) 
6087 u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: 
6088 T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) 
6089 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: 
6090 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: 
6091 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) 
6092 (ex3_4_intro F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
6093 C).(\lambda (u: T).(eq C (CHead x5 (Flat x3) x6) (CHead e2 (Flat f) u)))))) 
6094 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) 
6095 O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda 
6096 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))) x3 x4 x5 x6 
6097 (refl_equal C (CHead x5 (Flat x3) x6)) (drop_drop (Bind b) n0 c (CHead x4 
6098 (Flat x3) x6) H16 t) H17)) e H15)))))))) H14)) (\lambda (H14: (ex4_5 F C C T 
6099 T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
6100 (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: 
6101 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop n0 O c (CHead e1 
6102 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda 
6103 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda 
6104 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 
6105 e2)))))))).(ex4_5_ind F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
6106 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) 
6107 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
6108 (_: T).(drop n0 O c (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: 
6109 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
6110 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
6111 (_: T).(csubst0 O v e1 e2)))))) (or4 (drop (S n0) O (CHead c (Bind b) t) e) 
6112 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: 
6113 T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: 
6114 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) 
6115 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: 
6116 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f: 
6117 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat 
6118 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
6119 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda 
6120 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 
6121 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
6122 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) 
6123 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
6124 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u1))))))) 
6125 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
6126 (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
6127 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda 
6128 (x3: F).(\lambda (x4: C).(\lambda (x5: C).(\lambda (x6: T).(\lambda (x7: 
6129 T).(\lambda (H15: (eq C e (CHead x5 (Flat x3) x7))).(\lambda (H16: (drop n0 O 
6130 c (CHead x4 (Flat x3) x6))).(\lambda (H17: (subst0 O v x6 x7)).(\lambda (H18: 
6131 (csubst0 O v x4 x5)).(eq_ind_r C (CHead x5 (Flat x3) x7) (\lambda (c0: 
6132 C).(or4 (drop (S n0) O (CHead c (Bind b) t) c0) (ex3_4 F C T T (\lambda (f: 
6133 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat 
6134 f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
6135 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda 
6136 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 
6137 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
6138 C).(\lambda (u: T).(eq C c0 (CHead e2 (Flat f) u)))))) (\lambda (f: 
6139 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c 
6140 (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
6141 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
6142 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
6143 (u2: T).(eq C c0 (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: 
6144 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
6145 (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: 
6146 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
6147 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
6148 (_: T).(csubst0 O v e1 e2))))))))) (or4_intro3 (drop (S n0) O (CHead c (Bind 
6149 b) t) (CHead x5 (Flat x3) x7)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: 
6150 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x5 (Flat x3) x7) (CHead e0 
6151 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda 
6152 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) 
6153 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v 
6154 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
6155 C).(\lambda (u: T).(eq C (CHead x5 (Flat x3) x7) (CHead e2 (Flat f) u)))))) 
6156 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) 
6157 O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda 
6158 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C 
6159 C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: 
6160 T).(\lambda (u2: T).(eq C (CHead x5 (Flat x3) x7) (CHead e2 (Flat f) 
6161 u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: 
6162 T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) 
6163 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: 
6164 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: 
6165 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) 
6166 (ex4_5_intro F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
6167 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x5 (Flat x3) x7) (CHead e2 
6168 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
6169 (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat 
6170 f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: 
6171 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: 
6172 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
6173 x3 x4 x5 x6 x7 (refl_equal C (CHead x5 (Flat x3) x7)) (drop_drop (Bind b) n0 
6174 c (CHead x4 (Flat x3) x6) H16 t) H17 H18)) e H15)))))))))) H14)) H13))))))) | 
6175 (Flat f) \Rightarrow (\lambda (H8: (eq nat (S n0) (s (Flat f) x2))).(\lambda 
6176 (H9: (drop (r (Flat f) n0) O x1 e)).(let H10 \def (f_equal nat nat (\lambda 
6177 (e0: nat).e0) (S n0) x2 H8) in (let H11 \def (eq_ind_r nat x2 (\lambda (n: 
6178 nat).(csubst0 n v c x1)) H6 (S n0) H10) in (let H12 \def (eq_ind_r nat x2 
6179 (\lambda (n: nat).(subst0 n v t x0)) H5 (S n0) H10) in (let H13 \def (H x1 v 
6180 H11 e H9) in (or4_ind (drop (S n0) O c e) (ex3_4 F C T T (\lambda (f0: 
6181 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat 
6182 f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
6183 T).(drop (S n0) O c (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_: 
6184 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T 
6185 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e 
6186 (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
6187 C).(\lambda (u: T).(drop (S n0) O c (CHead e1 (Flat f0) u)))))) (\lambda (_: 
6188 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
6189 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
6190 (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) (\lambda (f0: 
6191 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
6192 n0) O c (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: 
6193 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
6194 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
6195 (_: T).(csubst0 O v e1 e2))))))) (or4 (drop (S n0) O (CHead c (Flat f) t) e) 
6196 (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda 
6197 (u2: T).(eq C e (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: 
6198 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) 
6199 (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: 
6200 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0: 
6201 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat 
6202 f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
6203 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda 
6204 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 
6205 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
6206 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) 
6207 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
6208 (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u1))))))) 
6209 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
6210 (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
6211 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda 
6212 (H14: (drop (S n0) O c e)).(or4_intro0 (drop (S n0) O (CHead c (Flat f) t) e) 
6213 (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda 
6214 (u2: T).(eq C e (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: 
6215 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) 
6216 (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: 
6217 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0: 
6218 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat 
6219 f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
6220 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda 
6221 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 
6222 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
6223 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) 
6224 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
6225 (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u1))))))) 
6226 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
6227 (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda 
6228 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (drop_drop 
6229 (Flat f) n0 c e H14 t))) (\lambda (H14: (ex3_4 F C T T (\lambda (f: 
6230 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat 
6231 f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
6232 T).(drop (S n0) O c (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: 
6233 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))).(ex3_4_ind F C 
6234 T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C 
6235 e (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda 
6236 (u1: T).(\lambda (_: T).(drop (S n0) O c (CHead e0 (Flat f0) u1)))))) 
6237 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v 
6238 u1 u2))))) (or4 (drop (S n0) O (CHead c (Flat f) t) e) (ex3_4 F C T T 
6239 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e 
6240 (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: 
6241 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) 
6242 u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: 
6243 T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: 
6244 C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat f0) u)))))) 
6245 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S 
6246 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_: 
6247 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
6248 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
6249 (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) (\lambda (f0: 
6250 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
6251 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_: 
6252 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 
6253 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
6254 (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x3: F).(\lambda 
6255 (x4: C).(\lambda (x5: T).(\lambda (x6: T).(\lambda (H15: (eq C e (CHead x4 
6256 (Flat x3) x6))).(\lambda (H16: (drop (S n0) O c (CHead x4 (Flat x3) 
6257 x5))).(\lambda (H17: (subst0 O v x5 x6)).(eq_ind_r C (CHead x4 (Flat x3) x6) 
6258 (\lambda (c0: C).(or4 (drop (S n0) O (CHead c (Flat f) t) c0) (ex3_4 F C T T 
6259 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 
6260 (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: 
6261 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) 
6262 u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: 
6263 T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: 
6264 C).(\lambda (e2: C).(\lambda (u: T).(eq C c0 (CHead e2 (Flat f0) u)))))) 
6265 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S 
6266 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_: 
6267 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
6268 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
6269 (_: T).(\lambda (u2: T).(eq C c0 (CHead e2 (Flat f0) u2))))))) (\lambda (f0: 
6270 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
6271 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_: 
6272 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 
6273 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda 
6274 (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))))) (or4_intro1 (drop (S n0) O 
6275 (CHead c (Flat f) t) (CHead x4 (Flat x3) x6)) (ex3_4 F C T T (\lambda (f0: 
6276 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat 
6277 x3) x6) (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: 
6278 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) 
6279 (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: 
6280 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0: 
6281 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C (CHead x4 (Flat x3) 
6282 x6) (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda 
6283 (_: C).(\lambda (u: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat 
6284 f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
6285 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: 
6286 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat 
6287 x3) x6) (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: 
6288 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
6289 (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: 
6290 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
6291 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
6292 (_: T).(csubst0 O v e1 e2))))))) (ex3_4_intro F C T T (\lambda (f0: 
6293 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat 
6294 x3) x6) (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: 
6295 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) 
6296 (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: 
6297 T).(\lambda (u2: T).(subst0 O v u1 u2))))) x3 x4 x5 x6 (refl_equal C (CHead 
6298 x4 (Flat x3) x6)) (drop_drop (Flat f) n0 c (CHead x4 (Flat x3) x5) H16 t) 
6299 H17)) e H15)))))))) H14)) (\lambda (H14: (ex3_4 F C C T (\lambda (f: 
6300 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat 
6301 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: 
6302 T).(drop (S n0) O c (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: 
6303 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))).(ex3_4_ind F C 
6304 C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e 
6305 (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
6306 C).(\lambda (u: T).(drop (S n0) O c (CHead e1 (Flat f0) u)))))) (\lambda (_: 
6307 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))) 
6308 (or4 (drop (S n0) O (CHead c (Flat f) t) e) (ex3_4 F C T T (\lambda (f0: 
6309 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat 
6310 f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
6311 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda 
6312 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 
6313 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
6314 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f0) u)))))) (\lambda (f0: 
6315 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c 
6316 (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: 
6317 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
6318 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
6319 (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: 
6320 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
6321 (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: 
6322 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
6323 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
6324 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x3: F).(\lambda (x4: C).(\lambda 
6325 (x5: C).(\lambda (x6: T).(\lambda (H15: (eq C e (CHead x5 (Flat x3) 
6326 x6))).(\lambda (H16: (drop (S n0) O c (CHead x4 (Flat x3) x6))).(\lambda 
6327 (H17: (csubst0 O v x4 x5)).(eq_ind_r C (CHead x5 (Flat x3) x6) (\lambda (c0: 
6328 C).(or4 (drop (S n0) O (CHead c (Flat f) t) c0) (ex3_4 F C T T (\lambda (f0: 
6329 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat 
6330 f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
6331 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda 
6332 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 
6333 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
6334 C).(\lambda (u: T).(eq C c0 (CHead e2 (Flat f0) u)))))) (\lambda (f0: 
6335 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c 
6336 (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: 
6337 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
6338 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
6339 (u2: T).(eq C c0 (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: 
6340 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
6341 (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: 
6342 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
6343 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
6344 (_: T).(csubst0 O v e1 e2))))))))) (or4_intro2 (drop (S n0) O (CHead c (Flat 
6345 f) t) (CHead x5 (Flat x3) x6)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: 
6346 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x5 (Flat x3) x6) (CHead e0 
6347 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: 
6348 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) 
6349 u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: 
6350 T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: 
6351 C).(\lambda (e2: C).(\lambda (u: T).(eq C (CHead x5 (Flat x3) x6) (CHead e2 
6352 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
6353 (u: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) 
6354 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
6355 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
6356 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x5 (Flat x3) x6) (CHead e2 
6357 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
6358 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) 
6359 (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
6360 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: 
6361 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
6362 O v e1 e2))))))) (ex3_4_intro F C C T (\lambda (f0: F).(\lambda (_: 
6363 C).(\lambda (e2: C).(\lambda (u: T).(eq C (CHead x5 (Flat x3) x6) (CHead e2 
6364 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda 
6365 (u: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) 
6366 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O 
6367 v e1 e2))))) x3 x4 x5 x6 (refl_equal C (CHead x5 (Flat x3) x6)) (drop_drop 
6368 (Flat f) n0 c (CHead x4 (Flat x3) x6) H16 t) H17)) e H15)))))))) H14)) 
6369 (\lambda (H14: (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: 
6370 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) 
6371 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda 
6372 (_: T).(drop (S n0) O c (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda 
6373 (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 
6374 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: 
6375 T).(\lambda (_: T).(csubst0 O v e1 e2)))))))).(ex4_5_ind F C C T T (\lambda 
6376 (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq 
6377 C e (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda 
6378 (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O c (CHead e1 (Flat f0) 
6379 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: 
6380 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: 
6381 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
6382 (or4 (drop (S n0) O (CHead c (Flat f) t) e) (ex3_4 F C T T (\lambda (f0: 
6383 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat 
6384 f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
6385 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda 
6386 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 
6387 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
6388 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f0) u)))))) (\lambda (f0: 
6389 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c 
6390 (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: 
6391 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T 
6392 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
6393 (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: 
6394 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c 
6395 (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: 
6396 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
6397 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda 
6398 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x3: F).(\lambda (x4: C).(\lambda 
6399 (x5: C).(\lambda (x6: T).(\lambda (x7: T).(\lambda (H15: (eq C e (CHead x5 
6400 (Flat x3) x7))).(\lambda (H16: (drop (S n0) O c (CHead x4 (Flat x3) 
6401 x6))).(\lambda (H17: (subst0 O v x6 x7)).(\lambda (H18: (csubst0 O v x4 
6402 x5)).(eq_ind_r C (CHead x5 (Flat x3) x7) (\lambda (c0: C).(or4 (drop (S n0) O 
6403 (CHead c (Flat f) t) c0) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: 
6404 C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat f0) u2)))))) 
6405 (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S 
6406 n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda (_: 
6407 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) 
6408 (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: 
6409 T).(eq C c0 (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: 
6410 C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c (Flat f) t) (CHead 
6411 e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: 
6412 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: 
6413 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 
6414 (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
6415 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) 
6416 (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
6417 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: 
6418 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
6419 O v e1 e2))))))))) (or4_intro3 (drop (S n0) O (CHead c (Flat f) t) (CHead x5 
6420 (Flat x3) x7)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: 
6421 T).(\lambda (u2: T).(eq C (CHead x5 (Flat x3) x7) (CHead e0 (Flat f0) 
6422 u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: 
6423 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda 
6424 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 
6425 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
6426 C).(\lambda (u: T).(eq C (CHead x5 (Flat x3) x7) (CHead e2 (Flat f0) u)))))) 
6427 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S 
6428 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_: 
6429 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) 
6430 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda 
6431 (_: T).(\lambda (u2: T).(eq C (CHead x5 (Flat x3) x7) (CHead e2 (Flat f0) 
6432 u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: 
6433 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) 
6434 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: 
6435 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: 
6436 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) 
6437 (ex4_5_intro F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: 
6438 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x5 (Flat x3) x7) (CHead e2 
6439 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: 
6440 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) 
6441 (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: 
6442 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: 
6443 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 
6444 O v e1 e2)))))) x3 x4 x5 x6 x7 (refl_equal C (CHead x5 (Flat x3) x7)) 
6445 (drop_drop (Flat f) n0 c (CHead x4 (Flat x3) x6) H16 t) H17 H18)) e 
6446 H15)))))))))) H14)) H13)))))))]) H3 (drop_gen_drop k x1 e x0 n0 H7)))))))))) 
6447 H2)) (csubst0_gen_head k c c2 t v (S n0) H0))))))))))) c1)))) n).
6448