1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
15 (* This file was automatically generated: do not edit *********************)
17 set "baseuri" "cic:/matita/LAMBDA-TYPES/LambdaDelta-1/csubst0/drop".
19 include "csubst0/fwd.ma".
21 include "drop/fwd.ma".
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)))))))))
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 (n0: nat).(\lambda (_:
36 (le ? n0)).((eq nat n0 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 (n1: nat).(\forall (c3: C).(\forall (v0:
82 T).((csubst0 n1 v0 c c3) \to (\forall (e0: C).((drop (S n0) O c e0) \to (drop
83 (S n0) O c3 e0))))))) H1 (s k x1) H5) in (let H9 \def (eq_ind nat i (\lambda
84 (n1: nat).(lt n1 (S n0))) H0 (s k x1) H5) in (K_ind (\lambda (k0: K).((drop
85 (r k0 n0) O c e) \to (((\forall (c3: C).(\forall (v0: T).((csubst0 (s k0 x1)
86 v0 c c3) \to (\forall (e0: C).((drop (S n0) O c e0) \to (drop (S n0) O c3
87 e0))))))) \to ((lt (s k0 x1) (S n0)) \to (drop (S n0) O (CHead c k0 x0)
88 e))))) (\lambda (b: B).(\lambda (H10: (drop (r (Bind b) n0) O c e)).(\lambda
89 (_: ((\forall (c3: C).(\forall (v0: T).((csubst0 (s (Bind b) x1) v0 c c3) \to
90 (\forall (e0: C).((drop (S n0) O c e0) \to (drop (S n0) O c3
91 e0)))))))).(\lambda (_: (lt (s (Bind b) x1) (S n0))).(drop_drop (Bind b) n0 c
92 e H10 x0))))) (\lambda (f: F).(\lambda (H10: (drop (r (Flat f) n0) O c
93 e)).(\lambda (_: ((\forall (c3: C).(\forall (v0: T).((csubst0 (s (Flat f) x1)
94 v0 c c3) \to (\forall (e0: C).((drop (S n0) O c e0) \to (drop (S n0) O c3
95 e0)))))))).(\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)))))) k (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 (c3: C).(\lambda (j: nat).(csubst0 j v c
107 c3))))).(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 (n1: nat).(\forall (c3: C).(\forall (v0: T).((csubst0 n1 v0 c
114 c3) \to (\forall (e0: C).((drop (S n0) O c e0) \to (drop (S n0) O c3
115 e0))))))) H1 (s k x1) H5) in (let H9 \def (eq_ind nat i (\lambda (n1:
116 nat).(lt n1 (S n0))) H0 (s k x1) H5) in (K_ind (\lambda (k0: K).((drop (r k0
117 n0) O c e) \to (((\forall (c3: C).(\forall (v0: T).((csubst0 (s k0 x1) v0 c
118 c3) \to (\forall (e0: C).((drop (S n0) O c e0) \to (drop (S n0) O c3
119 e0))))))) \to ((lt (s k0 x1) (S n0)) \to (drop (S n0) O (CHead x0 k0 t)
120 e))))) (\lambda (b: B).(\lambda (H10: (drop (r (Bind b) n0) O c e)).(\lambda
121 (_: ((\forall (c3: C).(\forall (v0: T).((csubst0 (s (Bind b) x1) v0 c c3) \to
122 (\forall (e0: C).((drop (S n0) O c e0) \to (drop (S n0) O c3
123 e0)))))))).(\lambda (H12: (lt (s (Bind b) x1) (S n0))).(drop_drop (Bind b) n0
124 x0 e (H x1 (lt_S_n x1 n0 H12) c x0 v H7 e H10) t))))) (\lambda (f:
125 F).(\lambda (H10: (drop (r (Flat f) n0) O c e)).(\lambda (H11: ((\forall (c3:
126 C).(\forall (v0: T).((csubst0 (s (Flat f) x1) v0 c c3) \to (\forall (e0:
127 C).((drop (S n0) O c e0) \to (drop (S n0) O c3 e0)))))))).(\lambda (H12: (lt
128 (s (Flat f) x1) (S n0))).(or_ind (eq nat x1 O) (ex2 nat (\lambda (m: nat).(eq
129 nat x1 (S m))) (\lambda (m: nat).(lt m n0))) (drop (S n0) O (CHead x0 (Flat
130 f) t) e) (\lambda (_: (eq nat x1 O)).(drop_drop (Flat f) n0 x0 e (H11 x0 v H7
131 e H10) t)) (\lambda (H13: (ex2 nat (\lambda (m: nat).(eq nat x1 (S m)))
132 (\lambda (m: nat).(lt m n0)))).(ex2_ind nat (\lambda (m: nat).(eq nat x1 (S
133 m))) (\lambda (m: nat).(lt m n0)) (drop (S n0) O (CHead x0 (Flat f) t) e)
134 (\lambda (x: nat).(\lambda (_: (eq nat x1 (S x))).(\lambda (_: (lt x
135 n0)).(drop_drop (Flat f) n0 x0 e (H11 x0 v H7 e H10) t)))) H13)) (lt_gen_xS
136 x1 n0 H12)))))) k (drop_gen_drop k c e t n0 H3) H8 H9))) c2 H6)))))) H4))
137 (\lambda (H4: (ex4_3 T C nat (\lambda (_: T).(\lambda (_: C).(\lambda (j:
138 nat).(eq nat i (s k j))))) (\lambda (u2: T).(\lambda (c3: C).(\lambda (_:
139 nat).(eq C c2 (CHead c3 k u2))))) (\lambda (u2: T).(\lambda (_: C).(\lambda
140 (j: nat).(subst0 j v t u2)))) (\lambda (_: T).(\lambda (c3: C).(\lambda (j:
141 nat).(csubst0 j v c c3)))))).(ex4_3_ind T C nat (\lambda (_: T).(\lambda (_:
142 C).(\lambda (j: nat).(eq nat i (s k j))))) (\lambda (u2: T).(\lambda (c3:
143 C).(\lambda (_: nat).(eq C c2 (CHead c3 k u2))))) (\lambda (u2: T).(\lambda
144 (_: C).(\lambda (j: nat).(subst0 j v t u2)))) (\lambda (_: T).(\lambda (c3:
145 C).(\lambda (j: nat).(csubst0 j v c c3)))) (drop (S n0) O c2 e) (\lambda (x0:
146 T).(\lambda (x1: C).(\lambda (x2: nat).(\lambda (H5: (eq nat i (s k
147 x2))).(\lambda (H6: (eq C c2 (CHead x1 k x0))).(\lambda (_: (subst0 x2 v t
148 x0)).(\lambda (H8: (csubst0 x2 v c x1)).(eq_ind_r C (CHead x1 k x0) (\lambda
149 (c0: C).(drop (S n0) O c0 e)) (let H9 \def (eq_ind nat i (\lambda (n1:
150 nat).(\forall (c3: C).(\forall (v0: T).((csubst0 n1 v0 c c3) \to (\forall
151 (e0: C).((drop (S n0) O c e0) \to (drop (S n0) O c3 e0))))))) H1 (s k x2) H5)
152 in (let H10 \def (eq_ind nat i (\lambda (n1: nat).(lt n1 (S n0))) H0 (s k x2)
153 H5) in (K_ind (\lambda (k0: K).((drop (r k0 n0) O c e) \to (((\forall (c3:
154 C).(\forall (v0: T).((csubst0 (s k0 x2) v0 c c3) \to (\forall (e0: C).((drop
155 (S n0) O c e0) \to (drop (S n0) O c3 e0))))))) \to ((lt (s k0 x2) (S n0)) \to
156 (drop (S n0) O (CHead x1 k0 x0) e))))) (\lambda (b: B).(\lambda (H11: (drop
157 (r (Bind b) n0) O c e)).(\lambda (_: ((\forall (c3: C).(\forall (v0:
158 T).((csubst0 (s (Bind b) x2) v0 c c3) \to (\forall (e0: C).((drop (S n0) O c
159 e0) \to (drop (S n0) O c3 e0)))))))).(\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))))) (\lambda (f: F).(\lambda (H11: (drop (r (Flat f) n0) O c e)).(\lambda
162 (H12: ((\forall (c3: C).(\forall (v0: T).((csubst0 (s (Flat f) x2) v0 c c3)
163 \to (\forall (e0: C).((drop (S n0) O c e0) \to (drop (S n0) O c3
164 e0)))))))).(\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)))))) k
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).
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)))))))))
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 (n0: nat).(\lambda (_:
187 (le ? n0)).((eq nat n0 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
226 (c0: C).(drop (S n0) O c0 e)) H3 (CHead c k x0) H6) in (let H9 \def (eq_ind
227 nat i (\lambda (n1: nat).(\forall (c3: C).(\forall (v0: T).((csubst0 n1 v0 c
228 c3) \to (\forall (e0: C).((drop (S n0) O c3 e0) \to (drop (S n0) O c
229 e0))))))) H1 (s k x1) H5) in (let H10 \def (eq_ind nat i (\lambda (n1:
230 nat).(lt n1 (S n0))) H0 (s k x1) H5) in (K_ind (\lambda (k0: K).(((\forall
231 (c3: C).(\forall (v0: T).((csubst0 (s k0 x1) v0 c c3) \to (\forall (e0:
232 C).((drop (S n0) O c3 e0) \to (drop (S n0) O c e0))))))) \to ((lt (s k0 x1)
233 (S n0)) \to ((drop (r k0 n0) O c e) \to (drop (S n0) O (CHead c k0 t) e)))))
234 (\lambda (b: B).(\lambda (_: ((\forall (c3: C).(\forall (v0: T).((csubst0 (s
235 (Bind b) x1) v0 c c3) \to (\forall (e0: C).((drop (S n0) O c3 e0) \to (drop
236 (S n0) O c e0)))))))).(\lambda (_: (lt (s (Bind b) x1) (S n0))).(\lambda
237 (H13: (drop (r (Bind b) n0) O c e)).(drop_drop (Bind b) n0 c e H13 t)))))
238 (\lambda (f: F).(\lambda (_: ((\forall (c3: C).(\forall (v0: T).((csubst0 (s
239 (Flat f) x1) v0 c c3) \to (\forall (e0: C).((drop (S n0) O c3 e0) \to (drop
240 (S n0) O c e0)))))))).(\lambda (H12: (lt (s (Flat f) x1) (S n0))).(\lambda
241 (H13: (drop (r (Flat f) n0) O c e)).(or_ind (eq nat x1 O) (ex2 nat (\lambda
242 (m: nat).(eq nat x1 (S m))) (\lambda (m: nat).(lt m n0))) (drop (S n0) O
243 (CHead c (Flat f) t) e) (\lambda (_: (eq nat x1 O)).(drop_drop (Flat f) n0 c
244 e H13 t)) (\lambda (H14: (ex2 nat (\lambda (m: nat).(eq nat x1 (S m)))
245 (\lambda (m: nat).(lt m n0)))).(ex2_ind nat (\lambda (m: nat).(eq nat x1 (S
246 m))) (\lambda (m: nat).(lt m n0)) (drop (S n0) O (CHead c (Flat f) t) e)
247 (\lambda (x: nat).(\lambda (_: (eq nat x1 (S x))).(\lambda (_: (lt x
248 n0)).(drop_drop (Flat f) n0 c e H13 t)))) H14)) (lt_gen_xS x1 n0 H12)))))) k
249 H9 H10 (drop_gen_drop k c e x0 n0 H8)))))))))) H4)) (\lambda (H4: (ex3_2 C
250 nat (\lambda (_: C).(\lambda (j: nat).(eq nat i (s k j)))) (\lambda (c3:
251 C).(\lambda (_: nat).(eq C c2 (CHead c3 k t)))) (\lambda (c3: C).(\lambda (j:
252 nat).(csubst0 j v c c3))))).(ex3_2_ind C nat (\lambda (_: C).(\lambda (j:
253 nat).(eq nat i (s k j)))) (\lambda (c3: C).(\lambda (_: nat).(eq C c2 (CHead
254 c3 k t)))) (\lambda (c3: C).(\lambda (j: nat).(csubst0 j v c c3))) (drop (S
255 n0) O (CHead c k t) e) (\lambda (x0: C).(\lambda (x1: nat).(\lambda (H5: (eq
256 nat i (s k x1))).(\lambda (H6: (eq C c2 (CHead x0 k t))).(\lambda (H7:
257 (csubst0 x1 v c x0)).(let H8 \def (eq_ind C c2 (\lambda (c0: C).(drop (S n0)
258 O c0 e)) H3 (CHead x0 k t) H6) in (let H9 \def (eq_ind nat i (\lambda (n1:
259 nat).(\forall (c3: C).(\forall (v0: T).((csubst0 n1 v0 c c3) \to (\forall
260 (e0: C).((drop (S n0) O c3 e0) \to (drop (S n0) O c e0))))))) H1 (s k x1) H5)
261 in (let H10 \def (eq_ind nat i (\lambda (n1: nat).(lt n1 (S n0))) H0 (s k x1)
262 H5) in (K_ind (\lambda (k0: K).(((\forall (c3: C).(\forall (v0: T).((csubst0
263 (s k0 x1) v0 c c3) \to (\forall (e0: C).((drop (S n0) O c3 e0) \to (drop (S
264 n0) O c e0))))))) \to ((lt (s k0 x1) (S n0)) \to ((drop (r k0 n0) O x0 e) \to
265 (drop (S n0) O (CHead c k0 t) e))))) (\lambda (b: B).(\lambda (_: ((\forall
266 (c3: C).(\forall (v0: T).((csubst0 (s (Bind b) x1) v0 c c3) \to (\forall (e0:
267 C).((drop (S n0) O c3 e0) \to (drop (S n0) O c e0)))))))).(\lambda (H12: (lt
268 (s (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))))) (\lambda (f: F).(\lambda (H11: ((\forall (c3: C).(\forall (v0:
271 T).((csubst0 (s (Flat f) x1) v0 c c3) \to (\forall (e0: C).((drop (S n0) O c3
272 e0) \to (drop (S n0) O c e0)))))))).(\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)))))) k 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 (c3:
286 C).(\lambda (j: nat).(csubst0 j v c c3)))))).(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 (c0: C).(drop (S n0) O c0 e)) H3
295 (CHead x1 k x0) H6) in (let H10 \def (eq_ind nat i (\lambda (n1:
296 nat).(\forall (c3: C).(\forall (v0: T).((csubst0 n1 v0 c c3) \to (\forall
297 (e0: C).((drop (S n0) O c3 e0) \to (drop (S n0) O c e0))))))) H1 (s k x2) H5)
298 in (let H11 \def (eq_ind nat i (\lambda (n1: nat).(lt n1 (S n0))) H0 (s k x2)
299 H5) in (K_ind (\lambda (k0: K).(((\forall (c3: C).(\forall (v0: T).((csubst0
300 (s k0 x2) v0 c c3) \to (\forall (e0: C).((drop (S n0) O c3 e0) \to (drop (S
301 n0) O c e0))))))) \to ((lt (s k0 x2) (S n0)) \to ((drop (r k0 n0) O x1 e) \to
302 (drop (S n0) O (CHead c k0 t) e))))) (\lambda (b: B).(\lambda (_: ((\forall
303 (c3: C).(\forall (v0: T).((csubst0 (s (Bind b) x2) v0 c c3) \to (\forall (e0:
304 C).((drop (S n0) O c3 e0) \to (drop (S n0) O c e0)))))))).(\lambda (H13: (lt
305 (s (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))))) (\lambda (f: F).(\lambda (H12: ((\forall (c3: C).(\forall (v0:
308 T).((csubst0 (s (Flat f) x2) v0 c c3) \to (\forall (e0: C).((drop (S n0) O c3
309 e0) \to (drop (S n0) O c e0)))))))).(\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)))))) k 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).
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))))))))))))))))
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 (n0: nat).(subst0 n0 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 (k0: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_:
423 T).(eq C c3 (CHead e0 k0 u)))))) (\lambda (k0: K).(\lambda (e0: C).(\lambda
424 (_: T).(\lambda (w: T).(drop O O c4 (CHead e0 k0 w)))))) (\lambda (k0:
425 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i0 (s k0
426 O)) v0 u w)))))) (ex3_4 K C C T (\lambda (k0: K).(\lambda (e1: C).(\lambda
427 (_: C).(\lambda (u: T).(eq C c3 (CHead e1 k0 u)))))) (\lambda (k0:
428 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop O O c4 (CHead e2 k0
429 u)))))) (\lambda (k0: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
430 T).(csubst0 (minus i0 (s k0 O)) v0 e1 e2)))))) (ex4_5 K C C T T (\lambda (k0:
431 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C c3
432 (CHead e1 k0 u))))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (e2:
433 C).(\lambda (_: T).(\lambda (w: T).(drop O O c4 (CHead e2 k0 w)))))))
434 (\lambda (k0: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
435 T).(subst0 (minus i0 (s k0 O)) v0 u w)))))) (\lambda (k0: K).(\lambda (e1:
436 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k0
437 O)) v0 e1 e2))))))))).(\lambda (u: T).(let H4 \def (eq_ind_r nat i0 (\lambda
438 (n0: nat).(csubst0 n0 v0 c3 c4)) H2 (minus (s k i0) (s k O)) (s_arith0 k i0))
439 in (let H5 \def (eq_ind_r nat i0 (\lambda (n0: nat).(or4 (drop O O c4 c3)
440 (ex3_4 K C T T (\lambda (k0: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda
441 (_: T).(eq C c3 (CHead e0 k0 u0)))))) (\lambda (k0: K).(\lambda (e0:
442 C).(\lambda (_: T).(\lambda (w: T).(drop O O c4 (CHead e0 k0 w)))))) (\lambda
443 (k0: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus n0 (s
444 k0 O)) v0 u0 w)))))) (ex3_4 K C C T (\lambda (k0: K).(\lambda (e1:
445 C).(\lambda (_: C).(\lambda (u0: T).(eq C c3 (CHead e1 k0 u0)))))) (\lambda
446 (k0: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop O O c4 (CHead
447 e2 k0 u0)))))) (\lambda (k0: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda
448 (_: T).(csubst0 (minus n0 (s k0 O)) v0 e1 e2)))))) (ex4_5 K C C T T (\lambda
449 (k0: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq
450 C c3 (CHead e1 k0 u0))))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (e2:
451 C).(\lambda (_: T).(\lambda (w: T).(drop O O c4 (CHead e2 k0 w)))))))
452 (\lambda (k0: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda
453 (w: T).(subst0 (minus n0 (s k0 O)) v0 u0 w)))))) (\lambda (k0: K).(\lambda
454 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus n0
455 (s k0 O)) v0 e1 e2))))))))) H3 (minus (s k i0) (s k O)) (s_arith0 k i0)) in
456 (or4_intro2 (drop O O (CHead c4 k u) (CHead c3 k u)) (ex3_4 K C T T (\lambda
457 (k0: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead c3 k
458 u) (CHead e0 k0 u0)))))) (\lambda (k0: K).(\lambda (e0: C).(\lambda (_:
459 T).(\lambda (w: T).(drop O O (CHead c4 k u) (CHead e0 k0 w)))))) (\lambda
460 (k0: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s k
461 i0) (s k0 O)) v0 u0 w)))))) (ex3_4 K C C T (\lambda (k0: K).(\lambda (e1:
462 C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead c3 k u) (CHead e1 k0
463 u0)))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0:
464 T).(drop O O (CHead c4 k u) (CHead e2 k0 u0)))))) (\lambda (k0: K).(\lambda
465 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s k i0) (s k0 O))
466 v0 e1 e2)))))) (ex4_5 K C C T T (\lambda (k0: K).(\lambda (e1: C).(\lambda
467 (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead c3 k u) (CHead e1 k0
468 u0))))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
469 T).(\lambda (w: T).(drop O O (CHead c4 k u) (CHead e2 k0 w))))))) (\lambda
470 (k0: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
471 T).(subst0 (minus (s k i0) (s k0 O)) v0 u0 w)))))) (\lambda (k0: K).(\lambda
472 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s k
473 i0) (s k0 O)) v0 e1 e2))))))) (ex3_4_intro K C C T (\lambda (k0: K).(\lambda
474 (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead c3 k u) (CHead e1 k0
475 u0)))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0:
476 T).(drop O O (CHead c4 k u) (CHead e2 k0 u0)))))) (\lambda (k0: K).(\lambda
477 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s k i0) (s k0 O))
478 v0 e1 e2))))) k c3 c4 u (refl_equal C (CHead c3 k u)) (drop_refl (CHead c4 k
479 u)) H4)))))))))))) (\lambda (k: K).(\lambda (i0: nat).(\lambda (v0:
480 T).(\lambda (u1: T).(\lambda (u2: T).(\lambda (H2: (subst0 i0 v0 u1
481 u2)).(\lambda (c3: C).(\lambda (c4: C).(\lambda (H3: (csubst0 i0 v0 c3
482 c4)).(\lambda (_: (or4 (drop O O c4 c3) (ex3_4 K C T T (\lambda (k0:
483 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e0 k0
484 u)))))) (\lambda (k0: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
485 T).(drop O O c4 (CHead e0 k0 w)))))) (\lambda (k0: K).(\lambda (_:
486 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i0 (s k0 O)) v0 u w))))))
487 (ex3_4 K C C T (\lambda (k0: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
488 T).(eq C c3 (CHead e1 k0 u)))))) (\lambda (k0: K).(\lambda (_: C).(\lambda
489 (e2: C).(\lambda (u: T).(drop O O c4 (CHead e2 k0 u)))))) (\lambda (k0:
490 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i0 (s k0
491 O)) v0 e1 e2)))))) (ex4_5 K C C T T (\lambda (k0: K).(\lambda (e1:
492 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e1 k0
493 u))))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
494 T).(\lambda (w: T).(drop O O c4 (CHead e2 k0 w))))))) (\lambda (k0:
495 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
496 (minus i0 (s k0 O)) v0 u w)))))) (\lambda (k0: K).(\lambda (e1: C).(\lambda
497 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k0 O)) v0 e1
498 e2))))))))).(let H5 \def (eq_ind_r nat i0 (\lambda (n0: nat).(subst0 n0 v0 u1
499 u2)) H2 (minus (s k i0) (s k O)) (s_arith0 k i0)) in (let H6 \def (eq_ind_r
500 nat i0 (\lambda (n0: nat).(csubst0 n0 v0 c3 c4)) H3 (minus (s k i0) (s k O))
501 (s_arith0 k i0)) in (or4_intro3 (drop O O (CHead c4 k u2) (CHead c3 k u1))
502 (ex3_4 K C T T (\lambda (k0: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_:
503 T).(eq C (CHead c3 k u1) (CHead e0 k0 u)))))) (\lambda (k0: K).(\lambda (e0:
504 C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c4 k u2) (CHead e0 k0
505 w)))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
506 T).(subst0 (minus (s k i0) (s k0 O)) v0 u w)))))) (ex3_4 K C C T (\lambda
507 (k0: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead c3 k
508 u1) (CHead e1 k0 u)))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (e2:
509 C).(\lambda (u: T).(drop O O (CHead c4 k u2) (CHead e2 k0 u)))))) (\lambda
510 (k0: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s
511 k i0) (s k0 O)) v0 e1 e2)))))) (ex4_5 K C C T T (\lambda (k0: K).(\lambda
512 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c3 k u1)
513 (CHead e1 k0 u))))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (e2:
514 C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c4 k u2) (CHead e2 k0
515 w))))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
516 T).(\lambda (w: T).(subst0 (minus (s k i0) (s k0 O)) v0 u w)))))) (\lambda
517 (k0: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_:
518 T).(csubst0 (minus (s k i0) (s k0 O)) v0 e1 e2))))))) (ex4_5_intro K C C T T
519 (\lambda (k0: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda
520 (_: T).(eq C (CHead c3 k u1) (CHead e1 k0 u))))))) (\lambda (k0: K).(\lambda
521 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c4 k
522 u2) (CHead e2 k0 w))))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (_:
523 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k i0) (s k0 O)) v0 u
524 w)))))) (\lambda (k0: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
525 T).(\lambda (_: T).(csubst0 (minus (s k i0) (s k0 O)) v0 e1 e2)))))) k c3 c4
526 u1 u2 (refl_equal C (CHead c3 k u1)) (drop_refl (CHead c4 k u2)) H5
527 H6)))))))))))))) i v c1 c2 H0) e (drop_gen_refl c1 e H1)))))))))) (\lambda
528 (n0: nat).(\lambda (IHn: ((\forall (i: nat).((lt n0 i) \to (\forall (c1:
529 C).(\forall (c2: C).(\forall (v: T).((csubst0 i v c1 c2) \to (\forall (e:
530 C).((drop n0 O c1 e) \to (or4 (drop n0 O c2 e) (ex3_4 K C T T (\lambda (k:
531 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k
532 u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
533 T).(drop n0 O c2 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda
534 (u: T).(\lambda (w: T).(subst0 (minus i (s k n0)) v u w)))))) (ex3_4 K C C T
535 (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e
536 (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda
537 (u: T).(drop n0 O c2 (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1:
538 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i (s k n0)) v e1 e2))))))
539 (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda
540 (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k: K).(\lambda
541 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c2 (CHead
542 e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
543 T).(\lambda (w: T).(subst0 (minus i (s k n0)) v u w)))))) (\lambda (k:
544 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
545 (minus i (s k n0)) v e1 e2)))))))))))))))))).(\lambda (i: nat).(\lambda (H:
546 (lt (S n0) i)).(\lambda (c1: C).(C_ind (\lambda (c: C).(\forall (c2:
547 C).(\forall (v: T).((csubst0 i v c c2) \to (\forall (e: C).((drop (S n0) O c
548 e) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0:
549 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k u)))))) (\lambda (k:
550 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead
551 e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
552 T).(subst0 (minus i (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k:
553 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k
554 u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
555 T).(drop (S n0) O c2 (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1:
556 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i (s k (S n0))) v e1
557 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_:
558 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k u))))))) (\lambda (k:
559 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S
560 n0) O c2 (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_:
561 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i (s k (S n0))) v u w))))))
562 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
563 (_: T).(csubst0 (minus i (s k (S n0))) v e1 e2)))))))))))))) (\lambda (n1:
564 nat).(\lambda (c2: C).(\lambda (v: T).(\lambda (_: (csubst0 i v (CSort n1)
565 c2)).(\lambda (e: C).(\lambda (H1: (drop (S n0) O (CSort n1) e)).(and3_ind
566 (eq C e (CSort n1)) (eq nat (S n0) O) (eq nat O O) (or4 (drop (S n0) O c2 e)
567 (ex3_4 K C T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_:
568 T).(eq C e (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_:
569 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k:
570 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i (s k (S
571 n0))) v u w)))))) (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda
572 (_: C).(\lambda (u: T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda
573 (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k u))))))
574 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0
575 (minus i (s k (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k:
576 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e
577 (CHead e1 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2:
578 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w)))))))
579 (\lambda (k: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
580 T).(subst0 (minus i (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1:
581 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i (s k (S
582 n0))) v e1 e2)))))))) (\lambda (H2: (eq C e (CSort n1))).(\lambda (H3: (eq
583 nat (S n0) O)).(\lambda (_: (eq nat O O)).(eq_ind_r C (CSort n1) (\lambda (c:
584 C).(or4 (drop (S n0) O c2 c) (ex3_4 K C T T (\lambda (k: K).(\lambda (e0:
585 C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e0 k u)))))) (\lambda (k:
586 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead
587 e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
588 T).(subst0 (minus i (s k (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k:
589 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C c (CHead e1 k
590 u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
591 T).(drop (S n0) O c2 (CHead e2 k u)))))) (\lambda (k: K).(\lambda (e1:
592 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i (s k (S n0))) v e1
593 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1: C).(\lambda (_:
594 C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e1 k u))))))) (\lambda (k:
595 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S
596 n0) O c2 (CHead e2 k w))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (_:
597 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i (s k (S n0))) v u w))))))
598 (\lambda (k: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
599 (_: T).(csubst0 (minus i (s k (S n0))) v e1 e2))))))))) (let H5 \def (eq_ind
600 nat (S n0) (\lambda (ee: nat).(match ee in nat return (\lambda (_: nat).Prop)
601 with [O \Rightarrow False | (S _) \Rightarrow True])) I O H3) in (False_ind
602 (or4 (drop (S n0) O c2 (CSort n1)) (ex3_4 K C T T (\lambda (k: K).(\lambda
603 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C (CSort n1) (CHead e0 k u))))))
604 (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0)
605 O c2 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (u:
606 T).(\lambda (w: T).(subst0 (minus i (s k (S n0))) v u w)))))) (ex3_4 K C C T
607 (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CSort
608 n1) (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2:
609 C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k u)))))) (\lambda (k:
610 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i (s k
611 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1:
612 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C (CSort n1) (CHead e1
613 k u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
614 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) (\lambda (k:
615 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
616 (minus i (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda
617 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i (s k (S n0))) v e1
618 e2)))))))) H5)) e H2)))) (drop_gen_sort n1 (S n0) O e H1)))))))) (\lambda (c:
619 C).(\lambda (H0: ((\forall (c2: C).(\forall (v: T).((csubst0 i v c c2) \to
620 (\forall (e: C).((drop (S n0) O c e) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C
621 T T (\lambda (k: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e
622 (CHead e0 k u)))))) (\lambda (k: K).(\lambda (e0: C).(\lambda (_: T).(\lambda
623 (w: T).(drop (S n0) O c2 (CHead e0 k w)))))) (\lambda (k: K).(\lambda (_:
624 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i (s k (S n0))) v u w))))))
625 (ex3_4 K C C T (\lambda (k: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
626 T).(eq C e (CHead e1 k u)))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2:
627 C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k u)))))) (\lambda (k:
628 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i (s k
629 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k: K).(\lambda (e1:
630 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k
631 u))))))) (\lambda (k: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
632 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k w))))))) (\lambda (k:
633 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
634 (minus i (s k (S n0))) v u w)))))) (\lambda (k: K).(\lambda (e1: C).(\lambda
635 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i (s k (S n0))) v e1
636 e2))))))))))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (c2: C).(\lambda
637 (v: T).(\lambda (H1: (csubst0 i v (CHead c k t) c2)).(\lambda (e: C).(\lambda
638 (H2: (drop (S n0) O (CHead c k t) e)).(let H3 \def (match H1 in csubst0
639 return (\lambda (n1: nat).(\lambda (t0: T).(\lambda (c0: C).(\lambda (c3:
640 C).(\lambda (_: (csubst0 n1 t0 c0 c3)).((eq nat n1 i) \to ((eq T t0 v) \to
641 ((eq C c0 (CHead c k t)) \to ((eq C c3 c2) \to (or4 (drop (S n0) O c2 e)
642 (ex3_4 K C T T (\lambda (k0: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_:
643 T).(eq C e (CHead e0 k0 u)))))) (\lambda (k0: K).(\lambda (e0: C).(\lambda
644 (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k0 w)))))) (\lambda (k0:
645 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i (s k0 (S
646 n0))) v u w)))))) (ex3_4 K C C T (\lambda (k0: K).(\lambda (e1: C).(\lambda
647 (_: C).(\lambda (u: T).(eq C e (CHead e1 k0 u)))))) (\lambda (k0: K).(\lambda
648 (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k0
649 u)))))) (\lambda (k0: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
650 T).(csubst0 (minus i (s k0 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda
651 (k0: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq
652 C e (CHead e1 k0 u))))))) (\lambda (k0: K).(\lambda (_: C).(\lambda (e2:
653 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k0 w)))))))
654 (\lambda (k0: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
655 T).(subst0 (minus i (s k0 (S n0))) v u w)))))) (\lambda (k0: K).(\lambda (e1:
656 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i (s k0
657 (S n0))) v e1 e2))))))))))))))))) with [(csubst0_snd k0 i0 v0 u1 u2 H3 c0)
658 \Rightarrow (\lambda (H4: (eq nat (s k0 i0) i)).(\lambda (H5: (eq T v0
659 v)).(\lambda (H6: (eq C (CHead c0 k0 u1) (CHead c k t))).(\lambda (H7: (eq C
660 (CHead c0 k0 u2) c2)).(eq_ind nat (s k0 i0) (\lambda (n1: nat).((eq T v0 v)
661 \to ((eq C (CHead c0 k0 u1) (CHead c k t)) \to ((eq C (CHead c0 k0 u2) c2)
662 \to ((subst0 i0 v0 u1 u2) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T
663 (\lambda (k1: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e
664 (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_:
665 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k1 w)))))) (\lambda (k1:
666 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus n1 (s k1 (S
667 n0))) v u w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda
668 (_: C).(\lambda (u: T).(eq C e (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda
669 (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k1
670 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
671 T).(csubst0 (minus n1 (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda
672 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq
673 C e (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
674 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k1 w)))))))
675 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
676 T).(subst0 (minus n1 (s k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda
677 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus n1
678 (s k1 (S n0))) v e1 e2))))))))))))) (\lambda (H8: (eq T v0 v)).(eq_ind T v
679 (\lambda (t0: T).((eq C (CHead c0 k0 u1) (CHead c k t)) \to ((eq C (CHead c0
680 k0 u2) c2) \to ((subst0 i0 t0 u1 u2) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C
681 T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e
682 (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_:
683 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k1 w)))))) (\lambda (k1:
684 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k0 i0)
685 (s k1 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1:
686 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k1 u)))))) (\lambda (k1:
687 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead
688 e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
689 T).(csubst0 (minus (s k0 i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T
690 (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda
691 (_: T).(eq C e (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_:
692 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead
693 e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
694 T).(\lambda (w: T).(subst0 (minus (s k0 i0) (s k1 (S n0))) v u w))))))
695 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
696 (_: T).(csubst0 (minus (s k0 i0) (s k1 (S n0))) v e1 e2)))))))))))) (\lambda
697 (H9: (eq C (CHead c0 k0 u1) (CHead c k t))).(let H10 \def (f_equal C T
698 (\lambda (e0: C).(match e0 in C return (\lambda (_: C).T) with [(CSort _)
699 \Rightarrow u1 | (CHead _ _ t0) \Rightarrow t0])) (CHead c0 k0 u1) (CHead c k
700 t) H9) in ((let H11 \def (f_equal C K (\lambda (e0: C).(match e0 in C return
701 (\lambda (_: C).K) with [(CSort _) \Rightarrow k0 | (CHead _ k1 _)
702 \Rightarrow k1])) (CHead c0 k0 u1) (CHead c k t) H9) in ((let H12 \def
703 (f_equal C C (\lambda (e0: C).(match e0 in C return (\lambda (_: C).C) with
704 [(CSort _) \Rightarrow c0 | (CHead c3 _ _) \Rightarrow c3])) (CHead c0 k0 u1)
705 (CHead c k t) H9) in (eq_ind C c (\lambda (c3: C).((eq K k0 k) \to ((eq T u1
706 t) \to ((eq C (CHead c3 k0 u2) c2) \to ((subst0 i0 v u1 u2) \to (or4 (drop (S
707 n0) O c2 e) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u:
708 T).(\lambda (_: T).(eq C e (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda
709 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k1
710 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
711 T).(subst0 (minus (s k0 i0) (s k1 (S n0))) v u w)))))) (ex3_4 K C C T
712 (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e
713 (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
714 C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k1 u)))))) (\lambda (k1:
715 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s k0
716 i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda
717 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k1
718 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
719 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k1 w))))))) (\lambda (k1:
720 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
721 (minus (s k0 i0) (s k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1:
722 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s k0 i0)
723 (s k1 (S n0))) v e1 e2))))))))))))) (\lambda (H13: (eq K k0 k)).(eq_ind K k
724 (\lambda (k1: K).((eq T u1 t) \to ((eq C (CHead c k1 u2) c2) \to ((subst0 i0
725 v u1 u2) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda (k2:
726 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k2
727 u)))))) (\lambda (k2: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
728 T).(drop (S n0) O c2 (CHead e0 k2 w)))))) (\lambda (k2: K).(\lambda (_:
729 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k1 i0) (s k2 (S n0))) v
730 u w)))))) (ex3_4 K C C T (\lambda (k2: K).(\lambda (e1: C).(\lambda (_:
731 C).(\lambda (u: T).(eq C e (CHead e1 k2 u)))))) (\lambda (k2: K).(\lambda (_:
732 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k2 u))))))
733 (\lambda (k2: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0
734 (minus (s k1 i0) (s k2 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k2:
735 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e
736 (CHead e1 k2 u))))))) (\lambda (k2: K).(\lambda (_: C).(\lambda (e2:
737 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k2 w)))))))
738 (\lambda (k2: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
739 T).(subst0 (minus (s k1 i0) (s k2 (S n0))) v u w)))))) (\lambda (k2:
740 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
741 (minus (s k1 i0) (s k2 (S n0))) v e1 e2)))))))))))) (\lambda (H14: (eq T u1
742 t)).(eq_ind T t (\lambda (t0: T).((eq C (CHead c k u2) c2) \to ((subst0 i0 v
743 t0 u2) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda (k1: K).(\lambda
744 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k1 u)))))) (\lambda
745 (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2
746 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u:
747 T).(\lambda (w: T).(subst0 (minus (s k i0) (s k1 (S n0))) v u w)))))) (ex3_4
748 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq
749 C e (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
750 C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k1 u)))))) (\lambda (k1:
751 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s k i0)
752 (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1:
753 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k1
754 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
755 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k1 w))))))) (\lambda (k1:
756 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
757 (minus (s k i0) (s k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1:
758 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s k i0)
759 (s k1 (S n0))) v e1 e2))))))))))) (\lambda (H15: (eq C (CHead c k u2)
760 c2)).(eq_ind C (CHead c k u2) (\lambda (c3: C).((subst0 i0 v t u2) \to (or4
761 (drop (S n0) O c3 e) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0:
762 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k1 u)))))) (\lambda (k1:
763 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c3 (CHead
764 e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
765 T).(subst0 (minus (s k i0) (s k1 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda
766 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k1
767 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
768 T).(drop (S n0) O c3 (CHead e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1:
769 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s k i0) (s k1 (S n0))) v
770 e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
771 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k1 u))))))) (\lambda
772 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
773 T).(drop (S n0) O c3 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_:
774 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k i0) (s
775 k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
776 C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s k i0) (s k1 (S n0))) v
777 e1 e2)))))))))) (\lambda (_: (subst0 i0 v t u2)).(let H17 \def (eq_ind K k0
778 (\lambda (k1: K).(eq nat (s k1 i0) i)) H4 k H13) in (let H18 \def (eq_ind_r
779 nat i (\lambda (n1: nat).(\forall (c3: C).(\forall (v1: T).((csubst0 n1 v1 c
780 c3) \to (\forall (e0: C).((drop (S n0) O c e0) \to (or4 (drop (S n0) O c3 e0)
781 (ex3_4 K C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (u: T).(\lambda (_:
782 T).(eq C e0 (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
783 (_: T).(\lambda (w: T).(drop (S n0) O c3 (CHead e1 k1 w)))))) (\lambda (k1:
784 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus n1 (s k1 (S
785 n0))) v1 u w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda
786 (_: C).(\lambda (u: T).(eq C e0 (CHead e1 k1 u)))))) (\lambda (k1:
787 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c3 (CHead
788 e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
789 T).(csubst0 (minus n1 (s k1 (S n0))) v1 e1 e2)))))) (ex4_5 K C C T T (\lambda
790 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq
791 C e0 (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
792 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c3 (CHead e2 k1 w)))))))
793 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
794 T).(subst0 (minus n1 (s k1 (S n0))) v1 u w)))))) (\lambda (k1: K).(\lambda
795 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus n1
796 (s k1 (S n0))) v1 e1 e2)))))))))))))) H0 (s k i0) H17) in (let H19 \def
797 (eq_ind_r nat i (\lambda (n1: nat).(lt (S n0) n1)) H (s k i0) H17) in (K_ind
798 (\lambda (k1: K).((drop (r k1 n0) O c e) \to (((\forall (c3: C).(\forall (v1:
799 T).((csubst0 (s k1 i0) v1 c c3) \to (\forall (e0: C).((drop (S n0) O c e0)
800 \to (or4 (drop (S n0) O c3 e0) (ex3_4 K C T T (\lambda (k2: K).(\lambda (e1:
801 C).(\lambda (u: T).(\lambda (_: T).(eq C e0 (CHead e1 k2 u)))))) (\lambda
802 (k2: K).(\lambda (e1: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c3
803 (CHead e1 k2 w)))))) (\lambda (k2: K).(\lambda (_: C).(\lambda (u:
804 T).(\lambda (w: T).(subst0 (minus (s k1 i0) (s k2 (S n0))) v1 u w))))))
805 (ex3_4 K C C T (\lambda (k2: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
806 T).(eq C e0 (CHead e1 k2 u)))))) (\lambda (k2: K).(\lambda (_: C).(\lambda
807 (e2: C).(\lambda (u: T).(drop (S n0) O c3 (CHead e2 k2 u)))))) (\lambda (k2:
808 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s k1
809 i0) (s k2 (S n0))) v1 e1 e2)))))) (ex4_5 K C C T T (\lambda (k2: K).(\lambda
810 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e0 (CHead e1 k2
811 u))))))) (\lambda (k2: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
812 T).(\lambda (w: T).(drop (S n0) O c3 (CHead e2 k2 w))))))) (\lambda (k2:
813 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
814 (minus (s k1 i0) (s k2 (S n0))) v1 u w)))))) (\lambda (k2: K).(\lambda (e1:
815 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s k1 i0)
816 (s k2 (S n0))) v1 e1 e2)))))))))))))) \to ((lt (S n0) (s k1 i0)) \to (or4
817 (drop (S n0) O (CHead c k1 u2) e) (ex3_4 K C T T (\lambda (k2: K).(\lambda
818 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k2 u)))))) (\lambda
819 (k2: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O
820 (CHead c k1 u2) (CHead e0 k2 w)))))) (\lambda (k2: K).(\lambda (_:
821 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k1 i0) (s k2 (S n0))) v
822 u w)))))) (ex3_4 K C C T (\lambda (k2: K).(\lambda (e1: C).(\lambda (_:
823 C).(\lambda (u: T).(eq C e (CHead e1 k2 u)))))) (\lambda (k2: K).(\lambda (_:
824 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c k1 u2) (CHead e2
825 k2 u)))))) (\lambda (k2: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
826 T).(csubst0 (minus (s k1 i0) (s k2 (S n0))) v e1 e2)))))) (ex4_5 K C C T T
827 (\lambda (k2: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda
828 (_: T).(eq C e (CHead e1 k2 u))))))) (\lambda (k2: K).(\lambda (_:
829 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c
830 k1 u2) (CHead e2 k2 w))))))) (\lambda (k2: K).(\lambda (_: C).(\lambda (_:
831 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k1 i0) (s k2 (S n0))) v
832 u w)))))) (\lambda (k2: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
833 T).(\lambda (_: T).(csubst0 (minus (s k1 i0) (s k2 (S n0))) v e1
834 e2)))))))))))) (\lambda (b: B).(\lambda (H20: (drop (r (Bind b) n0) O c
835 e)).(\lambda (_: ((\forall (c3: C).(\forall (v1: T).((csubst0 (s (Bind b) i0)
836 v1 c c3) \to (\forall (e0: C).((drop (S n0) O c e0) \to (or4 (drop (S n0) O
837 c3 e0) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (u:
838 T).(\lambda (_: T).(eq C e0 (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda
839 (e1: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c3 (CHead e1 k1
840 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
841 T).(subst0 (minus (s (Bind b) i0) (s k1 (S n0))) v1 u w)))))) (ex3_4 K C C T
842 (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e0
843 (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
844 C).(\lambda (u: T).(drop (S n0) O c3 (CHead e2 k1 u)))))) (\lambda (k1:
845 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind
846 b) i0) (s k1 (S n0))) v1 e1 e2)))))) (ex4_5 K C C T T (\lambda (k1:
847 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e0
848 (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
849 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c3 (CHead e2 k1 w)))))))
850 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
851 T).(subst0 (minus (s (Bind b) i0) (s k1 (S n0))) v1 u w)))))) (\lambda (k1:
852 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
853 (minus (s (Bind b) i0) (s k1 (S n0))) v1 e1 e2))))))))))))))).(\lambda (_:
854 (lt (S n0) (s (Bind b) i0))).(or4_intro0 (drop (S n0) O (CHead c (Bind b) u2)
855 e) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u: T).(\lambda
856 (_: T).(eq C e (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda (e0:
857 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c (Bind b) u2)
858 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u:
859 T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S n0))) v u w))))))
860 (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
861 T).(eq C e (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda
862 (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c (Bind b) u2) (CHead e2 k1
863 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
864 T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C
865 T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
866 T).(\lambda (_: T).(eq C e (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda
867 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead
868 c (Bind b) u2) (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_:
869 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b)
870 i0) (s k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
871 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1
872 (S n0))) v e1 e2))))))) (drop_drop (Bind b) n0 c e H20 u2)))))) (\lambda (f:
873 F).(\lambda (H20: (drop (r (Flat f) n0) O c e)).(\lambda (_: ((\forall (c3:
874 C).(\forall (v1: T).((csubst0 (s (Flat f) i0) v1 c c3) \to (\forall (e0:
875 C).((drop (S n0) O c e0) \to (or4 (drop (S n0) O c3 e0) (ex3_4 K C T T
876 (\lambda (k1: K).(\lambda (e1: C).(\lambda (u: T).(\lambda (_: T).(eq C e0
877 (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
878 T).(\lambda (w: T).(drop (S n0) O c3 (CHead e1 k1 w)))))) (\lambda (k1:
879 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f)
880 i0) (s k1 (S n0))) v1 u w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1:
881 C).(\lambda (_: C).(\lambda (u: T).(eq C e0 (CHead e1 k1 u)))))) (\lambda
882 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c3
883 (CHead e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
884 C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v1 e1
885 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
886 C).(\lambda (u: T).(\lambda (_: T).(eq C e0 (CHead e1 k1 u))))))) (\lambda
887 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
888 T).(drop (S n0) O c3 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_:
889 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f)
890 i0) (s k1 (S n0))) v1 u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
891 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1
892 (S n0))) v1 e1 e2))))))))))))))).(\lambda (_: (lt (S n0) (s (Flat f)
893 i0))).(or4_intro0 (drop (S n0) O (CHead c (Flat f) u2) e) (ex3_4 K C T T
894 (\lambda (k1: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e
895 (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_:
896 T).(\lambda (w: T).(drop (S n0) O (CHead c (Flat f) u2) (CHead e0 k1 w))))))
897 (\lambda (k1: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
898 (minus (s (Flat f) i0) (s k1 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda
899 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k1
900 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
901 T).(drop (S n0) O (CHead c (Flat f) u2) (CHead e2 k1 u)))))) (\lambda (k1:
902 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat
903 f) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1:
904 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e
905 (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
906 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c (Flat f) u2)
907 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_:
908 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S
909 n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda
910 (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1
911 e2))))))) (drop_drop (Flat f) n0 c e H20 u2)))))) k (drop_gen_drop k c e t n0
912 H2) H18 H19))))) c2 H15)) u1 (sym_eq T u1 t H14))) k0 (sym_eq K k0 k H13)))
913 c0 (sym_eq C c0 c H12))) H11)) H10))) v0 (sym_eq T v0 v H8))) i H4 H5 H6 H7
914 H3))))) | (csubst0_fst k0 i0 c0 c3 v0 H3 u) \Rightarrow (\lambda (H4: (eq nat
915 (s k0 i0) i)).(\lambda (H5: (eq T v0 v)).(\lambda (H6: (eq C (CHead c0 k0 u)
916 (CHead c k t))).(\lambda (H7: (eq C (CHead c3 k0 u) c2)).(eq_ind nat (s k0
917 i0) (\lambda (n1: nat).((eq T v0 v) \to ((eq C (CHead c0 k0 u) (CHead c k t))
918 \to ((eq C (CHead c3 k0 u) c2) \to ((csubst0 i0 v0 c0 c3) \to (or4 (drop (S
919 n0) O c2 e) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u0:
920 T).(\lambda (_: T).(eq C e (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda
921 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k1
922 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
923 T).(subst0 (minus n1 (s k1 (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k1:
924 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k1
925 u0)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0:
926 T).(drop (S n0) O c2 (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda (e1:
927 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus n1 (s k1 (S n0))) v e1
928 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
929 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k1 u0))))))) (\lambda
930 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
931 T).(drop (S n0) O c2 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_:
932 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus n1 (s k1
933 (S n0))) v u0 w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
934 C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus n1 (s k1 (S n0))) v e1
935 e2))))))))))))) (\lambda (H8: (eq T v0 v)).(eq_ind T v (\lambda (t0: T).((eq
936 C (CHead c0 k0 u) (CHead c k t)) \to ((eq C (CHead c3 k0 u) c2) \to ((csubst0
937 i0 t0 c0 c3) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda (k1:
938 K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 k1
939 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
940 T).(drop (S n0) O c2 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_:
941 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s k0 i0) (s k1 (S n0))) v
942 u0 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
943 C).(\lambda (u0: T).(eq C e (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda
944 (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O c2 (CHead e2 k1
945 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
946 T).(csubst0 (minus (s k0 i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T
947 (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda
948 (_: T).(eq C e (CHead e1 k1 u0))))))) (\lambda (k1: K).(\lambda (_:
949 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead
950 e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0:
951 T).(\lambda (w: T).(subst0 (minus (s k0 i0) (s k1 (S n0))) v u0 w))))))
952 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
953 (_: T).(csubst0 (minus (s k0 i0) (s k1 (S n0))) v e1 e2)))))))))))) (\lambda
954 (H9: (eq C (CHead c0 k0 u) (CHead c k t))).(let H10 \def (f_equal C T
955 (\lambda (e0: C).(match e0 in C return (\lambda (_: C).T) with [(CSort _)
956 \Rightarrow u | (CHead _ _ t0) \Rightarrow t0])) (CHead c0 k0 u) (CHead c k
957 t) H9) in ((let H11 \def (f_equal C K (\lambda (e0: C).(match e0 in C return
958 (\lambda (_: C).K) with [(CSort _) \Rightarrow k0 | (CHead _ k1 _)
959 \Rightarrow k1])) (CHead c0 k0 u) (CHead c k t) H9) in ((let H12 \def
960 (f_equal C C (\lambda (e0: C).(match e0 in C return (\lambda (_: C).C) with
961 [(CSort _) \Rightarrow c0 | (CHead c4 _ _) \Rightarrow c4])) (CHead c0 k0 u)
962 (CHead c k t) H9) in (eq_ind C c (\lambda (c4: C).((eq K k0 k) \to ((eq T u
963 t) \to ((eq C (CHead c3 k0 u) c2) \to ((csubst0 i0 v c4 c3) \to (or4 (drop (S
964 n0) O c2 e) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u0:
965 T).(\lambda (_: T).(eq C e (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda
966 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k1
967 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
968 T).(subst0 (minus (s k0 i0) (s k1 (S n0))) v u0 w)))))) (ex3_4 K C C T
969 (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e
970 (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
971 C).(\lambda (u0: T).(drop (S n0) O c2 (CHead e2 k1 u0)))))) (\lambda (k1:
972 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s k0
973 i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda
974 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k1
975 u0))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
976 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k1 w))))))) (\lambda (k1:
977 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
978 (minus (s k0 i0) (s k1 (S n0))) v u0 w)))))) (\lambda (k1: K).(\lambda (e1:
979 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s k0 i0)
980 (s k1 (S n0))) v e1 e2))))))))))))) (\lambda (H13: (eq K k0 k)).(eq_ind K k
981 (\lambda (k1: K).((eq T u t) \to ((eq C (CHead c3 k1 u) c2) \to ((csubst0 i0
982 v c c3) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda (k2:
983 K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 k2
984 u0)))))) (\lambda (k2: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
985 T).(drop (S n0) O c2 (CHead e0 k2 w)))))) (\lambda (k2: K).(\lambda (_:
986 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s k1 i0) (s k2 (S n0))) v
987 u0 w)))))) (ex3_4 K C C T (\lambda (k2: K).(\lambda (e1: C).(\lambda (_:
988 C).(\lambda (u0: T).(eq C e (CHead e1 k2 u0)))))) (\lambda (k2: K).(\lambda
989 (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O c2 (CHead e2 k2
990 u0)))))) (\lambda (k2: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
991 T).(csubst0 (minus (s k1 i0) (s k2 (S n0))) v e1 e2)))))) (ex4_5 K C C T T
992 (\lambda (k2: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda
993 (_: T).(eq C e (CHead e1 k2 u0))))))) (\lambda (k2: K).(\lambda (_:
994 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead
995 e2 k2 w))))))) (\lambda (k2: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0:
996 T).(\lambda (w: T).(subst0 (minus (s k1 i0) (s k2 (S n0))) v u0 w))))))
997 (\lambda (k2: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
998 (_: T).(csubst0 (minus (s k1 i0) (s k2 (S n0))) v e1 e2)))))))))))) (\lambda
999 (H14: (eq T u t)).(eq_ind T t (\lambda (t0: T).((eq C (CHead c3 k t0) c2) \to
1000 ((csubst0 i0 v c c3) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda
1001 (k1: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0
1002 k1 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
1003 T).(drop (S n0) O c2 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_:
1004 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s k i0) (s k1 (S n0))) v
1005 u0 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1006 C).(\lambda (u0: T).(eq C e (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda
1007 (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O c2 (CHead e2 k1
1008 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
1009 T).(csubst0 (minus (s k i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T
1010 (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda
1011 (_: T).(eq C e (CHead e1 k1 u0))))))) (\lambda (k1: K).(\lambda (_:
1012 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead
1013 e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0:
1014 T).(\lambda (w: T).(subst0 (minus (s k i0) (s k1 (S n0))) v u0 w))))))
1015 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
1016 (_: T).(csubst0 (minus (s k i0) (s k1 (S n0))) v e1 e2))))))))))) (\lambda
1017 (H15: (eq C (CHead c3 k t) c2)).(eq_ind C (CHead c3 k t) (\lambda (c4:
1018 C).((csubst0 i0 v c c3) \to (or4 (drop (S n0) O c4 e) (ex3_4 K C T T (\lambda
1019 (k1: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0
1020 k1 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
1021 T).(drop (S n0) O c4 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_:
1022 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s k i0) (s k1 (S n0))) v
1023 u0 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1024 C).(\lambda (u0: T).(eq C e (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda
1025 (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O c4 (CHead e2 k1
1026 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
1027 T).(csubst0 (minus (s k i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T
1028 (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda
1029 (_: T).(eq C e (CHead e1 k1 u0))))))) (\lambda (k1: K).(\lambda (_:
1030 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c4 (CHead
1031 e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0:
1032 T).(\lambda (w: T).(subst0 (minus (s k i0) (s k1 (S n0))) v u0 w))))))
1033 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
1034 (_: T).(csubst0 (minus (s k i0) (s k1 (S n0))) v e1 e2)))))))))) (\lambda
1035 (H16: (csubst0 i0 v c c3)).(let H17 \def (eq_ind K k0 (\lambda (k1: K).(eq
1036 nat (s k1 i0) i)) H4 k H13) in (let H18 \def (eq_ind_r nat i (\lambda (n1:
1037 nat).(\forall (c4: C).(\forall (v1: T).((csubst0 n1 v1 c c4) \to (\forall
1038 (e0: C).((drop (S n0) O c e0) \to (or4 (drop (S n0) O c4 e0) (ex3_4 K C T T
1039 (\lambda (k1: K).(\lambda (e1: C).(\lambda (u0: T).(\lambda (_: T).(eq C e0
1040 (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1041 T).(\lambda (w: T).(drop (S n0) O c4 (CHead e1 k1 w)))))) (\lambda (k1:
1042 K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus n1 (s k1
1043 (S n0))) v1 u0 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1:
1044 C).(\lambda (_: C).(\lambda (u0: T).(eq C e0 (CHead e1 k1 u0)))))) (\lambda
1045 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O c4
1046 (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
1047 C).(\lambda (_: T).(csubst0 (minus n1 (s k1 (S n0))) v1 e1 e2)))))) (ex4_5 K
1048 C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0:
1049 T).(\lambda (_: T).(eq C e0 (CHead e1 k1 u0))))))) (\lambda (k1: K).(\lambda
1050 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c4
1051 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_:
1052 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus n1 (s k1 (S n0))) v1 u0
1053 w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
1054 T).(\lambda (_: T).(csubst0 (minus n1 (s k1 (S n0))) v1 e1 e2))))))))))))))
1055 H0 (s k i0) H17) in (let H19 \def (eq_ind_r nat i (\lambda (n1: nat).(lt (S
1056 n0) n1)) H (s k i0) H17) in (K_ind (\lambda (k1: K).((drop (r k1 n0) O c e)
1057 \to (((\forall (c4: C).(\forall (v1: T).((csubst0 (s k1 i0) v1 c c4) \to
1058 (\forall (e0: C).((drop (S n0) O c e0) \to (or4 (drop (S n0) O c4 e0) (ex3_4
1059 K C T T (\lambda (k2: K).(\lambda (e1: C).(\lambda (u0: T).(\lambda (_:
1060 T).(eq C e0 (CHead e1 k2 u0)))))) (\lambda (k2: K).(\lambda (e1: C).(\lambda
1061 (_: T).(\lambda (w: T).(drop (S n0) O c4 (CHead e1 k2 w)))))) (\lambda (k2:
1062 K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s k1 i0)
1063 (s k2 (S n0))) v1 u0 w)))))) (ex3_4 K C C T (\lambda (k2: K).(\lambda (e1:
1064 C).(\lambda (_: C).(\lambda (u0: T).(eq C e0 (CHead e1 k2 u0)))))) (\lambda
1065 (k2: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O c4
1066 (CHead e2 k2 u0)))))) (\lambda (k2: K).(\lambda (e1: C).(\lambda (e2:
1067 C).(\lambda (_: T).(csubst0 (minus (s k1 i0) (s k2 (S n0))) v1 e1 e2))))))
1068 (ex4_5 K C C T T (\lambda (k2: K).(\lambda (e1: C).(\lambda (_: C).(\lambda
1069 (u0: T).(\lambda (_: T).(eq C e0 (CHead e1 k2 u0))))))) (\lambda (k2:
1070 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S
1071 n0) O c4 (CHead e2 k2 w))))))) (\lambda (k2: K).(\lambda (_: C).(\lambda (_:
1072 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s k1 i0) (s k2 (S n0)))
1073 v1 u0 w)))))) (\lambda (k2: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
1074 T).(\lambda (_: T).(csubst0 (minus (s k1 i0) (s k2 (S n0))) v1 e1
1075 e2)))))))))))))) \to ((lt (S n0) (s k1 i0)) \to (or4 (drop (S n0) O (CHead c3
1076 k1 t) e) (ex3_4 K C T T (\lambda (k2: K).(\lambda (e0: C).(\lambda (u0:
1077 T).(\lambda (_: T).(eq C e (CHead e0 k2 u0)))))) (\lambda (k2: K).(\lambda
1078 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 k1 t) (CHead
1079 e0 k2 w)))))) (\lambda (k2: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
1080 T).(subst0 (minus (s k1 i0) (s k2 (S n0))) v u0 w)))))) (ex3_4 K C C T
1081 (\lambda (k2: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e
1082 (CHead e1 k2 u0)))))) (\lambda (k2: K).(\lambda (_: C).(\lambda (e2:
1083 C).(\lambda (u0: T).(drop (S n0) O (CHead c3 k1 t) (CHead e2 k2 u0))))))
1084 (\lambda (k2: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0
1085 (minus (s k1 i0) (s k2 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k2:
1086 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e
1087 (CHead e1 k2 u0))))))) (\lambda (k2: K).(\lambda (_: C).(\lambda (e2:
1088 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 k1 t) (CHead e2
1089 k2 w))))))) (\lambda (k2: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0:
1090 T).(\lambda (w: T).(subst0 (minus (s k1 i0) (s k2 (S n0))) v u0 w))))))
1091 (\lambda (k2: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
1092 (_: T).(csubst0 (minus (s k1 i0) (s k2 (S n0))) v e1 e2)))))))))))) (\lambda
1093 (b: B).(\lambda (H20: (drop (r (Bind b) n0) O c e)).(\lambda (_: ((\forall
1094 (c4: C).(\forall (v1: T).((csubst0 (s (Bind b) i0) v1 c c4) \to (\forall (e0:
1095 C).((drop (S n0) O c e0) \to (or4 (drop (S n0) O c4 e0) (ex3_4 K C T T
1096 (\lambda (k1: K).(\lambda (e1: C).(\lambda (u0: T).(\lambda (_: T).(eq C e0
1097 (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1098 T).(\lambda (w: T).(drop (S n0) O c4 (CHead e1 k1 w)))))) (\lambda (k1:
1099 K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Bind
1100 b) i0) (s k1 (S n0))) v1 u0 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda
1101 (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e0 (CHead e1 k1 u0))))))
1102 (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S
1103 n0) O c4 (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
1104 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v1 e1
1105 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1106 C).(\lambda (u0: T).(\lambda (_: T).(eq C e0 (CHead e1 k1 u0))))))) (\lambda
1107 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
1108 T).(drop (S n0) O c4 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_:
1109 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Bind
1110 b) i0) (s k1 (S n0))) v1 u0 w)))))) (\lambda (k1: K).(\lambda (e1:
1111 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind
1112 b) i0) (s k1 (S n0))) v1 e1 e2))))))))))))))).(\lambda (H22: (lt (S n0) (s
1113 (Bind b) i0))).(let H23 \def (IHn i0 (le_S_n (S n0) i0 H22) c c3 v H16 e H20)
1114 in (or4_ind (drop n0 O c3 e) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0:
1115 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 k1 u0)))))) (\lambda
1116 (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c3 (CHead
1117 e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
1118 T).(subst0 (minus i0 (s k1 n0)) v u0 w)))))) (ex3_4 K C C T (\lambda (k1:
1119 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k1
1120 u0)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0:
1121 T).(drop n0 O c3 (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda (e1:
1122 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i0 (s k1 n0)) v e1
1123 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1124 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k1 u0))))))) (\lambda
1125 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
1126 T).(drop n0 O c3 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_:
1127 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus i0 (s k1
1128 n0)) v u0 w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda
1129 (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k1 n0)) v e1 e2))))))) (or4
1130 (drop (S n0) O (CHead c3 (Bind b) t) e) (ex3_4 K C T T (\lambda (k1:
1131 K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 k1
1132 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
1133 T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e0 k1 w)))))) (\lambda (k1:
1134 K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Bind
1135 b) i0) (s k1 (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda
1136 (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k1 u0))))))
1137 (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S
1138 n0) O (CHead c3 (Bind b) t) (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda
1139 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s
1140 k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1:
1141 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k1
1142 u0))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
1143 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e2 k1 w)))))))
1144 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda
1145 (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S n0))) v u0 w)))))) (\lambda
1146 (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_:
1147 T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1 e2)))))))) (\lambda
1148 (H24: (drop n0 O c3 e)).(or4_intro0 (drop (S n0) O (CHead c3 (Bind b) t) e)
1149 (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda
1150 (_: T).(eq C e (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda (e0:
1151 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) t)
1152 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u0:
1153 T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S n0))) v u0 w))))))
1154 (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda
1155 (u0: T).(eq C e (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda (_:
1156 C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O (CHead c3 (Bind b) t)
1157 (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
1158 C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1
1159 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1160 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k1 u0))))))) (\lambda
1161 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
1162 T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e2 k1 w))))))) (\lambda (k1:
1163 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1164 (minus (s (Bind b) i0) (s k1 (S n0))) v u0 w)))))) (\lambda (k1: K).(\lambda
1165 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s
1166 (Bind b) i0) (s k1 (S n0))) v e1 e2))))))) (drop_drop (Bind b) n0 c3 e H24
1167 t))) (\lambda (H24: (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda
1168 (u0: T).(\lambda (_: T).(eq C e (CHead e0 k1 u0)))))) (\lambda (k1:
1169 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c3 (CHead e0
1170 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
1171 T).(subst0 (minus i0 (s k1 n0)) v u0 w))))))).(ex3_4_ind K C T T (\lambda
1172 (k1: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0
1173 k1 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
1174 T).(drop n0 O c3 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_:
1175 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus i0 (s k1 n0)) v u0 w)))))
1176 (or4 (drop (S n0) O (CHead c3 (Bind b) t) e) (ex3_4 K C T T (\lambda (k1:
1177 K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 k1
1178 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
1179 T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e0 k1 w)))))) (\lambda (k1:
1180 K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Bind
1181 b) i0) (s k1 (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda
1182 (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k1 u0))))))
1183 (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S
1184 n0) O (CHead c3 (Bind b) t) (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda
1185 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s
1186 k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1:
1187 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k1
1188 u0))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
1189 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e2 k1 w)))))))
1190 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda
1191 (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S n0))) v u0 w)))))) (\lambda
1192 (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_:
1193 T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1 e2)))))))) (\lambda
1194 (x0: K).(\lambda (x1: C).(\lambda (x2: T).(\lambda (x3: T).(\lambda (H25: (eq
1195 C e (CHead x1 x0 x2))).(\lambda (H26: (drop n0 O c3 (CHead x1 x0
1196 x3))).(\lambda (H27: (subst0 (minus i0 (s x0 n0)) v x2 x3)).(eq_ind_r C
1197 (CHead x1 x0 x2) (\lambda (c4: C).(or4 (drop (S n0) O (CHead c3 (Bind b) t)
1198 c4) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u0:
1199 T).(\lambda (_: T).(eq C c4 (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda
1200 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) t)
1201 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u0:
1202 T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S n0))) v u0 w))))))
1203 (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda
1204 (u0: T).(eq C c4 (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda (_:
1205 C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O (CHead c3 (Bind b) t)
1206 (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
1207 C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1
1208 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1209 C).(\lambda (u0: T).(\lambda (_: T).(eq C c4 (CHead e1 k1 u0))))))) (\lambda
1210 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
1211 T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e2 k1 w))))))) (\lambda (k1:
1212 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1213 (minus (s (Bind b) i0) (s k1 (S n0))) v u0 w)))))) (\lambda (k1: K).(\lambda
1214 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s
1215 (Bind b) i0) (s k1 (S n0))) v e1 e2))))))))) (or4_intro1 (drop (S n0) O
1216 (CHead c3 (Bind b) t) (CHead x1 x0 x2)) (ex3_4 K C T T (\lambda (k1:
1217 K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 x0 x2)
1218 (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_:
1219 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e0 k1 w))))))
1220 (\lambda (k1: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1221 (minus (s (Bind b) i0) (s k1 (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda
1222 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1 x0
1223 x2) (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
1224 C).(\lambda (u0: T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e2 k1
1225 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
1226 T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C
1227 T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0:
1228 T).(\lambda (_: T).(eq C (CHead x1 x0 x2) (CHead e1 k1 u0))))))) (\lambda
1229 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
1230 T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e2 k1 w))))))) (\lambda (k1:
1231 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1232 (minus (s (Bind b) i0) (s k1 (S n0))) v u0 w)))))) (\lambda (k1: K).(\lambda
1233 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s
1234 (Bind b) i0) (s k1 (S n0))) v e1 e2))))))) (ex3_4_intro K C T T (\lambda (k1:
1235 K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 x0 x2)
1236 (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_:
1237 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e0 k1 w))))))
1238 (\lambda (k1: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1239 (minus (s (Bind b) i0) (s k1 (S n0))) v u0 w))))) x0 x1 x2 x3 (refl_equal C
1240 (CHead x1 x0 x2)) (drop_drop (Bind b) n0 c3 (CHead x1 x0 x3) H26 t) (eq_ind_r
1241 nat (S (s x0 n0)) (\lambda (n1: nat).(subst0 (minus (s (Bind b) i0) n1) v x2
1242 x3)) H27 (s x0 (S n0)) (s_S x0 n0)))) e H25)))))))) H24)) (\lambda (H24:
1243 (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda
1244 (u0: T).(eq C e (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda (_:
1245 C).(\lambda (e2: C).(\lambda (u0: T).(drop n0 O c3 (CHead e2 k1 u0))))))
1246 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0
1247 (minus i0 (s k1 n0)) v e1 e2))))))).(ex3_4_ind K C C T (\lambda (k1:
1248 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k1
1249 u0)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0:
1250 T).(drop n0 O c3 (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda (e1:
1251 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i0 (s k1 n0)) v e1
1252 e2))))) (or4 (drop (S n0) O (CHead c3 (Bind b) t) e) (ex3_4 K C T T (\lambda
1253 (k1: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0
1254 k1 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
1255 T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e0 k1 w)))))) (\lambda (k1:
1256 K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Bind
1257 b) i0) (s k1 (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda
1258 (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k1 u0))))))
1259 (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S
1260 n0) O (CHead c3 (Bind b) t) (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda
1261 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s
1262 k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1:
1263 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k1
1264 u0))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
1265 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e2 k1 w)))))))
1266 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda
1267 (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S n0))) v u0 w)))))) (\lambda
1268 (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_:
1269 T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1 e2)))))))) (\lambda
1270 (x0: K).(\lambda (x1: C).(\lambda (x2: C).(\lambda (x3: T).(\lambda (H25: (eq
1271 C e (CHead x1 x0 x3))).(\lambda (H26: (drop n0 O c3 (CHead x2 x0
1272 x3))).(\lambda (H27: (csubst0 (minus i0 (s x0 n0)) v x1 x2)).(eq_ind_r C
1273 (CHead x1 x0 x3) (\lambda (c4: C).(or4 (drop (S n0) O (CHead c3 (Bind b) t)
1274 c4) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u0:
1275 T).(\lambda (_: T).(eq C c4 (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda
1276 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) t)
1277 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u0:
1278 T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S n0))) v u0 w))))))
1279 (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda
1280 (u0: T).(eq C c4 (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda (_:
1281 C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O (CHead c3 (Bind b) t)
1282 (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
1283 C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1
1284 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1285 C).(\lambda (u0: T).(\lambda (_: T).(eq C c4 (CHead e1 k1 u0))))))) (\lambda
1286 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
1287 T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e2 k1 w))))))) (\lambda (k1:
1288 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1289 (minus (s (Bind b) i0) (s k1 (S n0))) v u0 w)))))) (\lambda (k1: K).(\lambda
1290 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s
1291 (Bind b) i0) (s k1 (S n0))) v e1 e2))))))))) (or4_intro2 (drop (S n0) O
1292 (CHead c3 (Bind b) t) (CHead x1 x0 x3)) (ex3_4 K C T T (\lambda (k1:
1293 K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 x0 x3)
1294 (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_:
1295 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e0 k1 w))))))
1296 (\lambda (k1: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1297 (minus (s (Bind b) i0) (s k1 (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda
1298 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1 x0
1299 x3) (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
1300 C).(\lambda (u0: T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e2 k1
1301 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
1302 T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C
1303 T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0:
1304 T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e1 k1 u0))))))) (\lambda
1305 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
1306 T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e2 k1 w))))))) (\lambda (k1:
1307 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1308 (minus (s (Bind b) i0) (s k1 (S n0))) v u0 w)))))) (\lambda (k1: K).(\lambda
1309 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s
1310 (Bind b) i0) (s k1 (S n0))) v e1 e2))))))) (ex3_4_intro K C C T (\lambda (k1:
1311 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1 x0 x3)
1312 (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
1313 C).(\lambda (u0: T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e2 k1
1314 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
1315 T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1 e2))))) x0 x1 x2 x3
1316 (refl_equal C (CHead x1 x0 x3)) (drop_drop (Bind b) n0 c3 (CHead x2 x0 x3)
1317 H26 t) (eq_ind_r nat (S (s x0 n0)) (\lambda (n1: nat).(csubst0 (minus (s
1318 (Bind b) i0) n1) v x1 x2)) H27 (s x0 (S n0)) (s_S x0 n0)))) e H25))))))))
1319 H24)) (\lambda (H24: (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1:
1320 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k1
1321 u0))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
1322 T).(\lambda (w: T).(drop n0 O c3 (CHead e2 k1 w))))))) (\lambda (k1:
1323 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1324 (minus i0 (s k1 n0)) v u0 w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
1325 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k1 n0)) v e1
1326 e2)))))))).(ex4_5_ind K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda
1327 (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k1 u0)))))))
1328 (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
1329 (w: T).(drop n0 O c3 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_:
1330 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus i0 (s k1
1331 n0)) v u0 w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda
1332 (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k1 n0)) v e1 e2)))))) (or4 (drop
1333 (S n0) O (CHead c3 (Bind b) t) e) (ex3_4 K C T T (\lambda (k1: K).(\lambda
1334 (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 k1 u0))))))
1335 (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S
1336 n0) O (CHead c3 (Bind b) t) (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda
1337 (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1
1338 (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1:
1339 C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k1 u0)))))) (\lambda
1340 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O
1341 (CHead c3 (Bind b) t) (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda (e1:
1342 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1 (S
1343 n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1:
1344 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k1
1345 u0))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
1346 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e2 k1 w)))))))
1347 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda
1348 (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S n0))) v u0 w)))))) (\lambda
1349 (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_:
1350 T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1 e2)))))))) (\lambda
1351 (x0: K).(\lambda (x1: C).(\lambda (x2: C).(\lambda (x3: T).(\lambda (x4:
1352 T).(\lambda (H25: (eq C e (CHead x1 x0 x3))).(\lambda (H26: (drop n0 O c3
1353 (CHead x2 x0 x4))).(\lambda (H27: (subst0 (minus i0 (s x0 n0)) v x3
1354 x4)).(\lambda (H28: (csubst0 (minus i0 (s x0 n0)) v x1 x2)).(eq_ind_r C
1355 (CHead x1 x0 x3) (\lambda (c4: C).(or4 (drop (S n0) O (CHead c3 (Bind b) t)
1356 c4) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u0:
1357 T).(\lambda (_: T).(eq C c4 (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda
1358 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) t)
1359 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u0:
1360 T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S n0))) v u0 w))))))
1361 (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda
1362 (u0: T).(eq C c4 (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda (_:
1363 C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O (CHead c3 (Bind b) t)
1364 (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
1365 C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1
1366 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1367 C).(\lambda (u0: T).(\lambda (_: T).(eq C c4 (CHead e1 k1 u0))))))) (\lambda
1368 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
1369 T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e2 k1 w))))))) (\lambda (k1:
1370 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1371 (minus (s (Bind b) i0) (s k1 (S n0))) v u0 w)))))) (\lambda (k1: K).(\lambda
1372 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s
1373 (Bind b) i0) (s k1 (S n0))) v e1 e2))))))))) (or4_intro3 (drop (S n0) O
1374 (CHead c3 (Bind b) t) (CHead x1 x0 x3)) (ex3_4 K C T T (\lambda (k1:
1375 K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 x0 x3)
1376 (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_:
1377 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e0 k1 w))))))
1378 (\lambda (k1: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1379 (minus (s (Bind b) i0) (s k1 (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda
1380 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1 x0
1381 x3) (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
1382 C).(\lambda (u0: T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e2 k1
1383 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
1384 T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C
1385 T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0:
1386 T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e1 k1 u0))))))) (\lambda
1387 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
1388 T).(drop (S n0) O (CHead c3 (Bind b) t) (CHead e2 k1 w))))))) (\lambda (k1:
1389 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1390 (minus (s (Bind b) i0) (s k1 (S n0))) v u0 w)))))) (\lambda (k1: K).(\lambda
1391 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s
1392 (Bind b) i0) (s k1 (S n0))) v e1 e2))))))) (ex4_5_intro K C C T T (\lambda
1393 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq
1394 C (CHead x1 x0 x3) (CHead e1 k1 u0))))))) (\lambda (k1: K).(\lambda (_:
1395 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3
1396 (Bind b) t) (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda
1397 (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1
1398 (S n0))) v u0 w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
1399 C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1 (S
1400 n0))) v e1 e2)))))) x0 x1 x2 x3 x4 (refl_equal C (CHead x1 x0 x3)) (drop_drop
1401 (Bind b) n0 c3 (CHead x2 x0 x4) H26 t) (eq_ind_r nat (S (s x0 n0)) (\lambda
1402 (n1: nat).(subst0 (minus (s (Bind b) i0) n1) v x3 x4)) H27 (s x0 (S n0)) (s_S
1403 x0 n0)) (eq_ind_r nat (S (s x0 n0)) (\lambda (n1: nat).(csubst0 (minus (s
1404 (Bind b) i0) n1) v x1 x2)) H28 (s x0 (S n0)) (s_S x0 n0)))) e H25))))))))))
1405 H24)) H23)))))) (\lambda (f: F).(\lambda (H20: (drop (r (Flat f) n0) O c
1406 e)).(\lambda (H21: ((\forall (c4: C).(\forall (v1: T).((csubst0 (s (Flat f)
1407 i0) v1 c c4) \to (\forall (e0: C).((drop (S n0) O c e0) \to (or4 (drop (S n0)
1408 O c4 e0) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (u0:
1409 T).(\lambda (_: T).(eq C e0 (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda
1410 (e1: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c4 (CHead e1 k1
1411 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
1412 T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v1 u0 w)))))) (ex3_4 K C C T
1413 (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e0
1414 (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
1415 C).(\lambda (u0: T).(drop (S n0) O c4 (CHead e2 k1 u0)))))) (\lambda (k1:
1416 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat
1417 f) i0) (s k1 (S n0))) v1 e1 e2)))))) (ex4_5 K C C T T (\lambda (k1:
1418 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e0
1419 (CHead e1 k1 u0))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
1420 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c4 (CHead e2 k1 w)))))))
1421 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda
1422 (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v1 u0 w)))))) (\lambda
1423 (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_:
1424 T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v1 e1
1425 e2))))))))))))))).(\lambda (_: (lt (S n0) (s (Flat f) i0))).(let H23 \def
1426 (H21 c3 v H16 e H20) in (or4_ind (drop (S n0) O c3 e) (ex3_4 K C T T (\lambda
1427 (k1: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0
1428 k1 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
1429 T).(drop (S n0) O c3 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_:
1430 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus i0 (s k1 (S n0))) v u0
1431 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1432 C).(\lambda (u0: T).(eq C e (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda
1433 (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O c3 (CHead e2 k1
1434 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
1435 T).(csubst0 (minus i0 (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda
1436 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq
1437 C e (CHead e1 k1 u0))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
1438 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c3 (CHead e2 k1 w)))))))
1439 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda
1440 (w: T).(subst0 (minus i0 (s k1 (S n0))) v u0 w)))))) (\lambda (k1:
1441 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
1442 (minus i0 (s k1 (S n0))) v e1 e2))))))) (or4 (drop (S n0) O (CHead c3 (Flat
1443 f) t) e) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u0:
1444 T).(\lambda (_: T).(eq C e (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda
1445 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) t)
1446 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u0:
1447 T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v u0 w))))))
1448 (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda
1449 (u0: T).(eq C e (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda (_:
1450 C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O (CHead c3 (Flat f) t)
1451 (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
1452 C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1
1453 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1454 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k1 u0))))))) (\lambda
1455 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
1456 T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e2 k1 w))))))) (\lambda (k1:
1457 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1458 (minus (s (Flat f) i0) (s k1 (S n0))) v u0 w)))))) (\lambda (k1: K).(\lambda
1459 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s
1460 (Flat f) i0) (s k1 (S n0))) v e1 e2)))))))) (\lambda (H24: (drop (S n0) O c3
1461 e)).(or4_intro0 (drop (S n0) O (CHead c3 (Flat f) t) e) (ex3_4 K C T T
1462 (\lambda (k1: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e
1463 (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_:
1464 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e0 k1 w))))))
1465 (\lambda (k1: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1466 (minus (s (Flat f) i0) (s k1 (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda
1467 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1
1468 k1 u0)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0:
1469 T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e2 k1 u0)))))) (\lambda (k1:
1470 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat
1471 f) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1:
1472 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e
1473 (CHead e1 k1 u0))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
1474 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) t)
1475 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_:
1476 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S
1477 n0))) v u0 w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
1478 C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S
1479 n0))) v e1 e2))))))) (drop_drop (Flat f) n0 c3 e H24 t))) (\lambda (H24:
1480 (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda
1481 (_: T).(eq C e (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda (e0:
1482 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c3 (CHead e0 k1 w))))))
1483 (\lambda (k1: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1484 (minus i0 (s k1 (S n0))) v u0 w))))))).(ex3_4_ind K C T T (\lambda (k1:
1485 K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 k1
1486 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
1487 T).(drop (S n0) O c3 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_:
1488 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus i0 (s k1 (S n0))) v u0
1489 w))))) (or4 (drop (S n0) O (CHead c3 (Flat f) t) e) (ex3_4 K C T T (\lambda
1490 (k1: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0
1491 k1 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
1492 T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e0 k1 w)))))) (\lambda (k1:
1493 K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Flat
1494 f) i0) (s k1 (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda
1495 (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k1 u0))))))
1496 (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S
1497 n0) O (CHead c3 (Flat f) t) (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda
1498 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s
1499 k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1:
1500 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k1
1501 u0))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
1502 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e2 k1 w)))))))
1503 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda
1504 (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v u0 w)))))) (\lambda
1505 (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_:
1506 T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1 e2)))))))) (\lambda
1507 (x0: K).(\lambda (x1: C).(\lambda (x2: T).(\lambda (x3: T).(\lambda (H25: (eq
1508 C e (CHead x1 x0 x2))).(\lambda (H26: (drop (S n0) O c3 (CHead x1 x0
1509 x3))).(\lambda (H27: (subst0 (minus i0 (s x0 (S n0))) v x2 x3)).(eq_ind_r C
1510 (CHead x1 x0 x2) (\lambda (c4: C).(or4 (drop (S n0) O (CHead c3 (Flat f) t)
1511 c4) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u0:
1512 T).(\lambda (_: T).(eq C c4 (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda
1513 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) t)
1514 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u0:
1515 T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v u0 w))))))
1516 (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda
1517 (u0: T).(eq C c4 (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda (_:
1518 C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O (CHead c3 (Flat f) t)
1519 (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
1520 C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1
1521 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1522 C).(\lambda (u0: T).(\lambda (_: T).(eq C c4 (CHead e1 k1 u0))))))) (\lambda
1523 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
1524 T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e2 k1 w))))))) (\lambda (k1:
1525 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1526 (minus (s (Flat f) i0) (s k1 (S n0))) v u0 w)))))) (\lambda (k1: K).(\lambda
1527 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s
1528 (Flat f) i0) (s k1 (S n0))) v e1 e2))))))))) (or4_intro1 (drop (S n0) O
1529 (CHead c3 (Flat f) t) (CHead x1 x0 x2)) (ex3_4 K C T T (\lambda (k1:
1530 K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 x0 x2)
1531 (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_:
1532 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e0 k1 w))))))
1533 (\lambda (k1: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1534 (minus (s (Flat f) i0) (s k1 (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda
1535 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1 x0
1536 x2) (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
1537 C).(\lambda (u0: T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e2 k1
1538 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
1539 T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C
1540 T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0:
1541 T).(\lambda (_: T).(eq C (CHead x1 x0 x2) (CHead e1 k1 u0))))))) (\lambda
1542 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
1543 T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e2 k1 w))))))) (\lambda (k1:
1544 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1545 (minus (s (Flat f) i0) (s k1 (S n0))) v u0 w)))))) (\lambda (k1: K).(\lambda
1546 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s
1547 (Flat f) i0) (s k1 (S n0))) v e1 e2))))))) (ex3_4_intro K C T T (\lambda (k1:
1548 K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 x0 x2)
1549 (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_:
1550 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e0 k1 w))))))
1551 (\lambda (k1: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1552 (minus (s (Flat f) i0) (s k1 (S n0))) v u0 w))))) x0 x1 x2 x3 (refl_equal C
1553 (CHead x1 x0 x2)) (drop_drop (Flat f) n0 c3 (CHead x1 x0 x3) H26 t) H27)) e
1554 H25)))))))) H24)) (\lambda (H24: (ex3_4 K C C T (\lambda (k1: K).(\lambda
1555 (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 k1 u0))))))
1556 (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S
1557 n0) O c3 (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
1558 (e2: C).(\lambda (_: T).(csubst0 (minus i0 (s k1 (S n0))) v e1
1559 e2))))))).(ex3_4_ind K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1560 C).(\lambda (u0: T).(eq C e (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda
1561 (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O c3 (CHead e2 k1
1562 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
1563 T).(csubst0 (minus i0 (s k1 (S n0))) v e1 e2))))) (or4 (drop (S n0) O (CHead
1564 c3 (Flat f) t) e) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda
1565 (u0: T).(\lambda (_: T).(eq C e (CHead e0 k1 u0)))))) (\lambda (k1:
1566 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3
1567 (Flat f) t) (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda
1568 (u0: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v u0
1569 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1570 C).(\lambda (u0: T).(eq C e (CHead e1 k1 u0)))))) (\lambda (k1: K).(\lambda
1571 (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O (CHead c3 (Flat f) t)
1572 (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
1573 C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1
1574 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1575 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k1 u0))))))) (\lambda
1576 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
1577 T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e2 k1 w))))))) (\lambda (k1:
1578 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1579 (minus (s (Flat f) i0) (s k1 (S n0))) v u0 w)))))) (\lambda (k1: K).(\lambda
1580 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s
1581 (Flat f) i0) (s k1 (S n0))) v e1 e2)))))))) (\lambda (x0: K).(\lambda (x1:
1582 C).(\lambda (x2: C).(\lambda (x3: T).(\lambda (H25: (eq C e (CHead x1 x0
1583 x3))).(\lambda (H26: (drop (S n0) O c3 (CHead x2 x0 x3))).(\lambda (H27:
1584 (csubst0 (minus i0 (s x0 (S n0))) v x1 x2)).(eq_ind_r C (CHead x1 x0 x3)
1585 (\lambda (c4: C).(or4 (drop (S n0) O (CHead c3 (Flat f) t) c4) (ex3_4 K C T T
1586 (\lambda (k1: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C c4
1587 (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_:
1588 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e0 k1 w))))))
1589 (\lambda (k1: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1590 (minus (s (Flat f) i0) (s k1 (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda
1591 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C c4 (CHead e1
1592 k1 u0)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0:
1593 T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e2 k1 u0)))))) (\lambda (k1:
1594 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat
1595 f) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1:
1596 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C c4
1597 (CHead e1 k1 u0))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
1598 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) t)
1599 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_:
1600 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S
1601 n0))) v u0 w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
1602 C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S
1603 n0))) v e1 e2))))))))) (or4_intro2 (drop (S n0) O (CHead c3 (Flat f) t)
1604 (CHead x1 x0 x3)) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda
1605 (u0: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e0 k1 u0)))))) (\lambda
1606 (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O
1607 (CHead c3 (Flat f) t) (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_:
1608 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S
1609 n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda
1610 (_: C).(\lambda (u0: T).(eq C (CHead x1 x0 x3) (CHead e1 k1 u0)))))) (\lambda
1611 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O
1612 (CHead c3 (Flat f) t) (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda (e1:
1613 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S
1614 n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1:
1615 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 x0 x3)
1616 (CHead e1 k1 u0))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
1617 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) t)
1618 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_:
1619 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S
1620 n0))) v u0 w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
1621 C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S
1622 n0))) v e1 e2))))))) (ex3_4_intro K C C T (\lambda (k1: K).(\lambda (e1:
1623 C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1 x0 x3) (CHead e1 k1
1624 u0)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0:
1625 T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e2 k1 u0)))))) (\lambda (k1:
1626 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat
1627 f) i0) (s k1 (S n0))) v e1 e2))))) x0 x1 x2 x3 (refl_equal C (CHead x1 x0
1628 x3)) (drop_drop (Flat f) n0 c3 (CHead x2 x0 x3) H26 t) H27)) e H25))))))))
1629 H24)) (\lambda (H24: (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1:
1630 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k1
1631 u0))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
1632 T).(\lambda (w: T).(drop (S n0) O c3 (CHead e2 k1 w))))))) (\lambda (k1:
1633 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1634 (minus i0 (s k1 (S n0))) v u0 w)))))) (\lambda (k1: K).(\lambda (e1:
1635 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k1
1636 (S n0))) v e1 e2)))))))).(ex4_5_ind K C C T T (\lambda (k1: K).(\lambda (e1:
1637 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 k1
1638 u0))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
1639 T).(\lambda (w: T).(drop (S n0) O c3 (CHead e2 k1 w))))))) (\lambda (k1:
1640 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1641 (minus i0 (s k1 (S n0))) v u0 w)))))) (\lambda (k1: K).(\lambda (e1:
1642 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k1
1643 (S n0))) v e1 e2)))))) (or4 (drop (S n0) O (CHead c3 (Flat f) t) e) (ex3_4 K
1644 C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq
1645 C e (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_:
1646 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e0 k1 w))))))
1647 (\lambda (k1: K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1648 (minus (s (Flat f) i0) (s k1 (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda
1649 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1
1650 k1 u0)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0:
1651 T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e2 k1 u0)))))) (\lambda (k1:
1652 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat
1653 f) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1:
1654 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e
1655 (CHead e1 k1 u0))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
1656 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) t)
1657 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_:
1658 C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S
1659 n0))) v u0 w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
1660 C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S
1661 n0))) v e1 e2)))))))) (\lambda (x0: K).(\lambda (x1: C).(\lambda (x2:
1662 C).(\lambda (x3: T).(\lambda (x4: T).(\lambda (H25: (eq C e (CHead x1 x0
1663 x3))).(\lambda (H26: (drop (S n0) O c3 (CHead x2 x0 x4))).(\lambda (H27:
1664 (subst0 (minus i0 (s x0 (S n0))) v x3 x4)).(\lambda (H28: (csubst0 (minus i0
1665 (s x0 (S n0))) v x1 x2)).(eq_ind_r C (CHead x1 x0 x3) (\lambda (c4: C).(or4
1666 (drop (S n0) O (CHead c3 (Flat f) t) c4) (ex3_4 K C T T (\lambda (k1:
1667 K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C c4 (CHead e0 k1
1668 u0)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
1669 T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e0 k1 w)))))) (\lambda (k1:
1670 K).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 (minus (s (Flat
1671 f) i0) (s k1 (S n0))) v u0 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda
1672 (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C c4 (CHead e1 k1 u0))))))
1673 (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S
1674 n0) O (CHead c3 (Flat f) t) (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda
1675 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s
1676 k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1:
1677 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C c4 (CHead e1 k1
1678 u0))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
1679 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e2 k1 w)))))))
1680 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda
1681 (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v u0 w)))))) (\lambda
1682 (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_:
1683 T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1 e2)))))))))
1684 (or4_intro3 (drop (S n0) O (CHead c3 (Flat f) t) (CHead x1 x0 x3)) (ex3_4 K C
1685 T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C
1686 (CHead x1 x0 x3) (CHead e0 k1 u0)))))) (\lambda (k1: K).(\lambda (e0:
1687 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) t)
1688 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u0:
1689 T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v u0 w))))))
1690 (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda
1691 (u0: T).(eq C (CHead x1 x0 x3) (CHead e1 k1 u0)))))) (\lambda (k1:
1692 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O (CHead c3
1693 (Flat f) t) (CHead e2 k1 u0)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
1694 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1
1695 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1696 C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e1 k1
1697 u0))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
1698 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e2 k1 w)))))))
1699 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda
1700 (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v u0 w)))))) (\lambda
1701 (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_:
1702 T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1 e2))))))) (ex4_5_intro
1703 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0:
1704 T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e1 k1 u0))))))) (\lambda
1705 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
1706 T).(drop (S n0) O (CHead c3 (Flat f) t) (CHead e2 k1 w))))))) (\lambda (k1:
1707 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0
1708 (minus (s (Flat f) i0) (s k1 (S n0))) v u0 w)))))) (\lambda (k1: K).(\lambda
1709 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s
1710 (Flat f) i0) (s k1 (S n0))) v e1 e2)))))) x0 x1 x2 x3 x4 (refl_equal C (CHead
1711 x1 x0 x3)) (drop_drop (Flat f) n0 c3 (CHead x2 x0 x4) H26 t) H27 H28)) e
1712 H25)))))))))) H24)) H23)))))) k (drop_gen_drop k c e t n0 H2) H18 H19))))) c2
1713 H15)) u (sym_eq T u t H14))) k0 (sym_eq K k0 k H13))) c0 (sym_eq C c0 c
1714 H12))) H11)) H10))) v0 (sym_eq T v0 v H8))) i H4 H5 H6 H7 H3))))) |
1715 (csubst0_both k0 i0 v0 u1 u2 H3 c0 c3 H4) \Rightarrow (\lambda (H5: (eq nat
1716 (s k0 i0) i)).(\lambda (H6: (eq T v0 v)).(\lambda (H7: (eq C (CHead c0 k0 u1)
1717 (CHead c k t))).(\lambda (H8: (eq C (CHead c3 k0 u2) c2)).(eq_ind nat (s k0
1718 i0) (\lambda (n1: nat).((eq T v0 v) \to ((eq C (CHead c0 k0 u1) (CHead c k
1719 t)) \to ((eq C (CHead c3 k0 u2) c2) \to ((subst0 i0 v0 u1 u2) \to ((csubst0
1720 i0 v0 c0 c3) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda (k1:
1721 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k1
1722 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
1723 T).(drop (S n0) O c2 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_:
1724 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus n1 (s k1 (S n0))) v u
1725 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1726 C).(\lambda (u: T).(eq C e (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_:
1727 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k1 u))))))
1728 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0
1729 (minus n1 (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1:
1730 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e
1731 (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
1732 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k1 w)))))))
1733 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
1734 T).(subst0 (minus n1 (s k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda
1735 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus n1
1736 (s k1 (S n0))) v e1 e2)))))))))))))) (\lambda (H9: (eq T v0 v)).(eq_ind T v
1737 (\lambda (t0: T).((eq C (CHead c0 k0 u1) (CHead c k t)) \to ((eq C (CHead c3
1738 k0 u2) c2) \to ((subst0 i0 t0 u1 u2) \to ((csubst0 i0 t0 c0 c3) \to (or4
1739 (drop (S n0) O c2 e) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0:
1740 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k1 u)))))) (\lambda (k1:
1741 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead
1742 e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
1743 T).(subst0 (minus (s k0 i0) (s k1 (S n0))) v u w)))))) (ex3_4 K C C T
1744 (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e
1745 (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
1746 C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k1 u)))))) (\lambda (k1:
1747 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s k0
1748 i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda
1749 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k1
1750 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
1751 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k1 w))))))) (\lambda (k1:
1752 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
1753 (minus (s k0 i0) (s k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1:
1754 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s k0 i0)
1755 (s k1 (S n0))) v e1 e2))))))))))))) (\lambda (H10: (eq C (CHead c0 k0 u1)
1756 (CHead c k t))).(let H11 \def (f_equal C T (\lambda (e0: C).(match e0 in C
1757 return (\lambda (_: C).T) with [(CSort _) \Rightarrow u1 | (CHead _ _ t0)
1758 \Rightarrow t0])) (CHead c0 k0 u1) (CHead c k t) H10) in ((let H12 \def
1759 (f_equal C K (\lambda (e0: C).(match e0 in C return (\lambda (_: C).K) with
1760 [(CSort _) \Rightarrow k0 | (CHead _ k1 _) \Rightarrow k1])) (CHead c0 k0 u1)
1761 (CHead c k t) H10) in ((let H13 \def (f_equal C C (\lambda (e0: C).(match e0
1762 in C return (\lambda (_: C).C) with [(CSort _) \Rightarrow c0 | (CHead c4 _
1763 _) \Rightarrow c4])) (CHead c0 k0 u1) (CHead c k t) H10) in (eq_ind C c
1764 (\lambda (c4: C).((eq K k0 k) \to ((eq T u1 t) \to ((eq C (CHead c3 k0 u2)
1765 c2) \to ((subst0 i0 v u1 u2) \to ((csubst0 i0 v c4 c3) \to (or4 (drop (S n0)
1766 O c2 e) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u:
1767 T).(\lambda (_: T).(eq C e (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda
1768 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k1
1769 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
1770 T).(subst0 (minus (s k0 i0) (s k1 (S n0))) v u w)))))) (ex3_4 K C C T
1771 (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e
1772 (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
1773 C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 k1 u)))))) (\lambda (k1:
1774 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s k0
1775 i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda
1776 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k1
1777 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
1778 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 k1 w))))))) (\lambda (k1:
1779 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
1780 (minus (s k0 i0) (s k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1:
1781 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s k0 i0)
1782 (s k1 (S n0))) v e1 e2)))))))))))))) (\lambda (H14: (eq K k0 k)).(eq_ind K k
1783 (\lambda (k1: K).((eq T u1 t) \to ((eq C (CHead c3 k1 u2) c2) \to ((subst0 i0
1784 v u1 u2) \to ((csubst0 i0 v c c3) \to (or4 (drop (S n0) O c2 e) (ex3_4 K C T
1785 T (\lambda (k2: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e
1786 (CHead e0 k2 u)))))) (\lambda (k2: K).(\lambda (e0: C).(\lambda (_:
1787 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k2 w)))))) (\lambda (k2:
1788 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k1 i0)
1789 (s k2 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k2: K).(\lambda (e1:
1790 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k2 u)))))) (\lambda (k2:
1791 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead
1792 e2 k2 u)))))) (\lambda (k2: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
1793 T).(csubst0 (minus (s k1 i0) (s k2 (S n0))) v e1 e2)))))) (ex4_5 K C C T T
1794 (\lambda (k2: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda
1795 (_: T).(eq C e (CHead e1 k2 u))))))) (\lambda (k2: K).(\lambda (_:
1796 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead
1797 e2 k2 w))))))) (\lambda (k2: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
1798 T).(\lambda (w: T).(subst0 (minus (s k1 i0) (s k2 (S n0))) v u w))))))
1799 (\lambda (k2: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
1800 (_: T).(csubst0 (minus (s k1 i0) (s k2 (S n0))) v e1 e2))))))))))))) (\lambda
1801 (H15: (eq T u1 t)).(eq_ind T t (\lambda (t0: T).((eq C (CHead c3 k u2) c2)
1802 \to ((subst0 i0 v t0 u2) \to ((csubst0 i0 v c c3) \to (or4 (drop (S n0) O c2
1803 e) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u: T).(\lambda
1804 (_: T).(eq C e (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda (e0:
1805 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 k1 w))))))
1806 (\lambda (k1: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
1807 (minus (s k i0) (s k1 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k1:
1808 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k1
1809 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
1810 T).(drop (S n0) O c2 (CHead e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1:
1811 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s k i0) (s k1 (S n0))) v
1812 e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1813 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k1 u))))))) (\lambda
1814 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
1815 T).(drop (S n0) O c2 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_:
1816 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k i0) (s
1817 k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
1818 C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s k i0) (s k1 (S n0))) v
1819 e1 e2)))))))))))) (\lambda (H16: (eq C (CHead c3 k u2) c2)).(eq_ind C (CHead
1820 c3 k u2) (\lambda (c4: C).((subst0 i0 v t u2) \to ((csubst0 i0 v c c3) \to
1821 (or4 (drop (S n0) O c4 e) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0:
1822 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k1 u)))))) (\lambda (k1:
1823 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c4 (CHead
1824 e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
1825 T).(subst0 (minus (s k i0) (s k1 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda
1826 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k1
1827 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
1828 T).(drop (S n0) O c4 (CHead e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1:
1829 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s k i0) (s k1 (S n0))) v
1830 e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1831 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k1 u))))))) (\lambda
1832 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
1833 T).(drop (S n0) O c4 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_:
1834 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k i0) (s
1835 k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
1836 C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s k i0) (s k1 (S n0))) v
1837 e1 e2))))))))))) (\lambda (_: (subst0 i0 v t u2)).(\lambda (H18: (csubst0 i0
1838 v c c3)).(let H19 \def (eq_ind K k0 (\lambda (k1: K).(eq nat (s k1 i0) i)) H5
1839 k H14) in (let H20 \def (eq_ind_r nat i (\lambda (n1: nat).(\forall (c4:
1840 C).(\forall (v1: T).((csubst0 n1 v1 c c4) \to (\forall (e0: C).((drop (S n0)
1841 O c e0) \to (or4 (drop (S n0) O c4 e0) (ex3_4 K C T T (\lambda (k1:
1842 K).(\lambda (e1: C).(\lambda (u: T).(\lambda (_: T).(eq C e0 (CHead e1 k1
1843 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: T).(\lambda (w:
1844 T).(drop (S n0) O c4 (CHead e1 k1 w)))))) (\lambda (k1: K).(\lambda (_:
1845 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus n1 (s k1 (S n0))) v1 u
1846 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
1847 C).(\lambda (u: T).(eq C e0 (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda
1848 (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c4 (CHead e2 k1
1849 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
1850 T).(csubst0 (minus n1 (s k1 (S n0))) v1 e1 e2)))))) (ex4_5 K C C T T (\lambda
1851 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq
1852 C e0 (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
1853 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c4 (CHead e2 k1 w)))))))
1854 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
1855 T).(subst0 (minus n1 (s k1 (S n0))) v1 u w)))))) (\lambda (k1: K).(\lambda
1856 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus n1
1857 (s k1 (S n0))) v1 e1 e2)))))))))))))) H0 (s k i0) H19) in (let H21 \def
1858 (eq_ind_r nat i (\lambda (n1: nat).(lt (S n0) n1)) H (s k i0) H19) in (K_ind
1859 (\lambda (k1: K).((drop (r k1 n0) O c e) \to (((\forall (c4: C).(\forall (v1:
1860 T).((csubst0 (s k1 i0) v1 c c4) \to (\forall (e0: C).((drop (S n0) O c e0)
1861 \to (or4 (drop (S n0) O c4 e0) (ex3_4 K C T T (\lambda (k2: K).(\lambda (e1:
1862 C).(\lambda (u: T).(\lambda (_: T).(eq C e0 (CHead e1 k2 u)))))) (\lambda
1863 (k2: K).(\lambda (e1: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c4
1864 (CHead e1 k2 w)))))) (\lambda (k2: K).(\lambda (_: C).(\lambda (u:
1865 T).(\lambda (w: T).(subst0 (minus (s k1 i0) (s k2 (S n0))) v1 u w))))))
1866 (ex3_4 K C C T (\lambda (k2: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
1867 T).(eq C e0 (CHead e1 k2 u)))))) (\lambda (k2: K).(\lambda (_: C).(\lambda
1868 (e2: C).(\lambda (u: T).(drop (S n0) O c4 (CHead e2 k2 u)))))) (\lambda (k2:
1869 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s k1
1870 i0) (s k2 (S n0))) v1 e1 e2)))))) (ex4_5 K C C T T (\lambda (k2: K).(\lambda
1871 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e0 (CHead e1 k2
1872 u))))))) (\lambda (k2: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
1873 T).(\lambda (w: T).(drop (S n0) O c4 (CHead e2 k2 w))))))) (\lambda (k2:
1874 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
1875 (minus (s k1 i0) (s k2 (S n0))) v1 u w)))))) (\lambda (k2: K).(\lambda (e1:
1876 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s k1 i0)
1877 (s k2 (S n0))) v1 e1 e2)))))))))))))) \to ((lt (S n0) (s k1 i0)) \to (or4
1878 (drop (S n0) O (CHead c3 k1 u2) e) (ex3_4 K C T T (\lambda (k2: K).(\lambda
1879 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k2 u)))))) (\lambda
1880 (k2: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O
1881 (CHead c3 k1 u2) (CHead e0 k2 w)))))) (\lambda (k2: K).(\lambda (_:
1882 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k1 i0) (s k2 (S n0))) v
1883 u w)))))) (ex3_4 K C C T (\lambda (k2: K).(\lambda (e1: C).(\lambda (_:
1884 C).(\lambda (u: T).(eq C e (CHead e1 k2 u)))))) (\lambda (k2: K).(\lambda (_:
1885 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c3 k1 u2) (CHead e2
1886 k2 u)))))) (\lambda (k2: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
1887 T).(csubst0 (minus (s k1 i0) (s k2 (S n0))) v e1 e2)))))) (ex4_5 K C C T T
1888 (\lambda (k2: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda
1889 (_: T).(eq C e (CHead e1 k2 u))))))) (\lambda (k2: K).(\lambda (_:
1890 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3
1891 k1 u2) (CHead e2 k2 w))))))) (\lambda (k2: K).(\lambda (_: C).(\lambda (_:
1892 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s k1 i0) (s k2 (S n0))) v
1893 u w)))))) (\lambda (k2: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
1894 T).(\lambda (_: T).(csubst0 (minus (s k1 i0) (s k2 (S n0))) v e1
1895 e2)))))))))))) (\lambda (b: B).(\lambda (H22: (drop (r (Bind b) n0) O c
1896 e)).(\lambda (_: ((\forall (c4: C).(\forall (v1: T).((csubst0 (s (Bind b) i0)
1897 v1 c c4) \to (\forall (e0: C).((drop (S n0) O c e0) \to (or4 (drop (S n0) O
1898 c4 e0) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (u:
1899 T).(\lambda (_: T).(eq C e0 (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda
1900 (e1: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c4 (CHead e1 k1
1901 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
1902 T).(subst0 (minus (s (Bind b) i0) (s k1 (S n0))) v1 u w)))))) (ex3_4 K C C T
1903 (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e0
1904 (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
1905 C).(\lambda (u: T).(drop (S n0) O c4 (CHead e2 k1 u)))))) (\lambda (k1:
1906 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind
1907 b) i0) (s k1 (S n0))) v1 e1 e2)))))) (ex4_5 K C C T T (\lambda (k1:
1908 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e0
1909 (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
1910 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c4 (CHead e2 k1 w)))))))
1911 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
1912 T).(subst0 (minus (s (Bind b) i0) (s k1 (S n0))) v1 u w)))))) (\lambda (k1:
1913 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
1914 (minus (s (Bind b) i0) (s k1 (S n0))) v1 e1 e2))))))))))))))).(\lambda (H24:
1915 (lt (S n0) (s (Bind b) i0))).(let H25 \def (IHn i0 (le_S_n (S n0) i0 H24) c
1916 c3 v H18 e H22) in (or4_ind (drop n0 O c3 e) (ex3_4 K C T T (\lambda (k1:
1917 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k1
1918 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
1919 T).(drop n0 O c3 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_:
1920 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i0 (s k1 n0)) v u w))))))
1921 (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
1922 T).(eq C e (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda
1923 (e2: C).(\lambda (u: T).(drop n0 O c3 (CHead e2 k1 u)))))) (\lambda (k1:
1924 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i0 (s k1
1925 n0)) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1:
1926 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k1
1927 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
1928 T).(\lambda (w: T).(drop n0 O c3 (CHead e2 k1 w))))))) (\lambda (k1:
1929 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
1930 (minus i0 (s k1 n0)) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
1931 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k1 n0)) v e1
1932 e2))))))) (or4 (drop (S n0) O (CHead c3 (Bind b) u2) e) (ex3_4 K C T T
1933 (\lambda (k1: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e
1934 (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_:
1935 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) u2) (CHead e0 k1 w))))))
1936 (\lambda (k1: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
1937 (minus (s (Bind b) i0) (s k1 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda
1938 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k1
1939 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
1940 T).(drop (S n0) O (CHead c3 (Bind b) u2) (CHead e2 k1 u)))))) (\lambda (k1:
1941 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind
1942 b) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1:
1943 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e
1944 (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
1945 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) u2)
1946 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_:
1947 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S
1948 n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda
1949 (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1
1950 e2)))))))) (\lambda (H26: (drop n0 O c3 e)).(or4_intro0 (drop (S n0) O (CHead
1951 c3 (Bind b) u2) e) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda
1952 (u: T).(\lambda (_: T).(eq C e (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda
1953 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) u2)
1954 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u:
1955 T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S n0))) v u w))))))
1956 (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
1957 T).(eq C e (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda
1958 (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c3 (Bind b) u2) (CHead e2 k1
1959 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
1960 T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C
1961 T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
1962 T).(\lambda (_: T).(eq C e (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda
1963 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead
1964 c3 (Bind b) u2) (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_:
1965 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b)
1966 i0) (s k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
1967 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1
1968 (S n0))) v e1 e2))))))) (drop_drop (Bind b) n0 c3 e H26 u2))) (\lambda (H26:
1969 (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_:
1970 T).(eq C e (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda
1971 (_: T).(\lambda (w: T).(drop n0 O c3 (CHead e0 k1 w)))))) (\lambda (k1:
1972 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i0 (s k1
1973 n0)) v u w))))))).(ex3_4_ind K C T T (\lambda (k1: K).(\lambda (e0:
1974 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k1 u)))))) (\lambda (k1:
1975 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c3 (CHead e0
1976 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
1977 T).(subst0 (minus i0 (s k1 n0)) v u w))))) (or4 (drop (S n0) O (CHead c3
1978 (Bind b) u2) e) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u:
1979 T).(\lambda (_: T).(eq C e (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda
1980 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) u2)
1981 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u:
1982 T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S n0))) v u w))))))
1983 (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
1984 T).(eq C e (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda
1985 (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c3 (Bind b) u2) (CHead e2 k1
1986 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
1987 T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C
1988 T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
1989 T).(\lambda (_: T).(eq C e (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda
1990 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead
1991 c3 (Bind b) u2) (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_:
1992 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b)
1993 i0) (s k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
1994 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1
1995 (S n0))) v e1 e2)))))))) (\lambda (x0: K).(\lambda (x1: C).(\lambda (x2:
1996 T).(\lambda (x3: T).(\lambda (H27: (eq C e (CHead x1 x0 x2))).(\lambda (H28:
1997 (drop n0 O c3 (CHead x1 x0 x3))).(\lambda (H29: (subst0 (minus i0 (s x0 n0))
1998 v x2 x3)).(eq_ind_r C (CHead x1 x0 x2) (\lambda (c4: C).(or4 (drop (S n0) O
1999 (CHead c3 (Bind b) u2) c4) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0:
2000 C).(\lambda (u: T).(\lambda (_: T).(eq C c4 (CHead e0 k1 u)))))) (\lambda
2001 (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O
2002 (CHead c3 (Bind b) u2) (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_:
2003 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S
2004 n0))) v u w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda
2005 (_: C).(\lambda (u: T).(eq C c4 (CHead e1 k1 u)))))) (\lambda (k1:
2006 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c3
2007 (Bind b) u2) (CHead e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
2008 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1
2009 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
2010 C).(\lambda (u: T).(\lambda (_: T).(eq C c4 (CHead e1 k1 u))))))) (\lambda
2011 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
2012 T).(drop (S n0) O (CHead c3 (Bind b) u2) (CHead e2 k1 w))))))) (\lambda (k1:
2013 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
2014 (minus (s (Bind b) i0) (s k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda
2015 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s
2016 (Bind b) i0) (s k1 (S n0))) v e1 e2))))))))) (or4_intro1 (drop (S n0) O
2017 (CHead c3 (Bind b) u2) (CHead x1 x0 x2)) (ex3_4 K C T T (\lambda (k1:
2018 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x2)
2019 (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_:
2020 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) u2) (CHead e0 k1 w))))))
2021 (\lambda (k1: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
2022 (minus (s (Bind b) i0) (s k1 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda
2023 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead x1 x0
2024 x2) (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
2025 C).(\lambda (u: T).(drop (S n0) O (CHead c3 (Bind b) u2) (CHead e2 k1 u))))))
2026 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0
2027 (minus (s (Bind b) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda
2028 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq
2029 C (CHead x1 x0 x2) (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_:
2030 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3
2031 (Bind b) u2) (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda
2032 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1
2033 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
2034 C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1 (S
2035 n0))) v e1 e2))))))) (ex3_4_intro K C T T (\lambda (k1: K).(\lambda (e0:
2036 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x2) (CHead e0 k1
2037 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
2038 T).(drop (S n0) O (CHead c3 (Bind b) u2) (CHead e0 k1 w)))))) (\lambda (k1:
2039 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b)
2040 i0) (s k1 (S n0))) v u w))))) x0 x1 x2 x3 (refl_equal C (CHead x1 x0 x2))
2041 (drop_drop (Bind b) n0 c3 (CHead x1 x0 x3) H28 u2) (eq_ind_r nat (S (s x0
2042 n0)) (\lambda (n1: nat).(subst0 (minus (s (Bind b) i0) n1) v x2 x3)) H29 (s
2043 x0 (S n0)) (s_S x0 n0)))) e H27)))))))) H26)) (\lambda (H26: (ex3_4 K C C T
2044 (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e
2045 (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
2046 C).(\lambda (u: T).(drop n0 O c3 (CHead e2 k1 u)))))) (\lambda (k1:
2047 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i0 (s k1
2048 n0)) v e1 e2))))))).(ex3_4_ind K C C T (\lambda (k1: K).(\lambda (e1:
2049 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k1 u)))))) (\lambda (k1:
2050 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop n0 O c3 (CHead e2
2051 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
2052 T).(csubst0 (minus i0 (s k1 n0)) v e1 e2))))) (or4 (drop (S n0) O (CHead c3
2053 (Bind b) u2) e) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u:
2054 T).(\lambda (_: T).(eq C e (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda
2055 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) u2)
2056 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u:
2057 T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S n0))) v u w))))))
2058 (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
2059 T).(eq C e (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda
2060 (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c3 (Bind b) u2) (CHead e2 k1
2061 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
2062 T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C
2063 T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
2064 T).(\lambda (_: T).(eq C e (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda
2065 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead
2066 c3 (Bind b) u2) (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_:
2067 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b)
2068 i0) (s k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
2069 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1
2070 (S n0))) v e1 e2)))))))) (\lambda (x0: K).(\lambda (x1: C).(\lambda (x2:
2071 C).(\lambda (x3: T).(\lambda (H27: (eq C e (CHead x1 x0 x3))).(\lambda (H28:
2072 (drop n0 O c3 (CHead x2 x0 x3))).(\lambda (H29: (csubst0 (minus i0 (s x0 n0))
2073 v x1 x2)).(eq_ind_r C (CHead x1 x0 x3) (\lambda (c4: C).(or4 (drop (S n0) O
2074 (CHead c3 (Bind b) u2) c4) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0:
2075 C).(\lambda (u: T).(\lambda (_: T).(eq C c4 (CHead e0 k1 u)))))) (\lambda
2076 (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O
2077 (CHead c3 (Bind b) u2) (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_:
2078 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S
2079 n0))) v u w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda
2080 (_: C).(\lambda (u: T).(eq C c4 (CHead e1 k1 u)))))) (\lambda (k1:
2081 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c3
2082 (Bind b) u2) (CHead e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
2083 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1
2084 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
2085 C).(\lambda (u: T).(\lambda (_: T).(eq C c4 (CHead e1 k1 u))))))) (\lambda
2086 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
2087 T).(drop (S n0) O (CHead c3 (Bind b) u2) (CHead e2 k1 w))))))) (\lambda (k1:
2088 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
2089 (minus (s (Bind b) i0) (s k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda
2090 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s
2091 (Bind b) i0) (s k1 (S n0))) v e1 e2))))))))) (or4_intro2 (drop (S n0) O
2092 (CHead c3 (Bind b) u2) (CHead x1 x0 x3)) (ex3_4 K C T T (\lambda (k1:
2093 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x3)
2094 (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_:
2095 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) u2) (CHead e0 k1 w))))))
2096 (\lambda (k1: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
2097 (minus (s (Bind b) i0) (s k1 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda
2098 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead x1 x0
2099 x3) (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
2100 C).(\lambda (u: T).(drop (S n0) O (CHead c3 (Bind b) u2) (CHead e2 k1 u))))))
2101 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0
2102 (minus (s (Bind b) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda
2103 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq
2104 C (CHead x1 x0 x3) (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_:
2105 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3
2106 (Bind b) u2) (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda
2107 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1
2108 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
2109 C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1 (S
2110 n0))) v e1 e2))))))) (ex3_4_intro K C C T (\lambda (k1: K).(\lambda (e1:
2111 C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead x1 x0 x3) (CHead e1 k1
2112 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
2113 T).(drop (S n0) O (CHead c3 (Bind b) u2) (CHead e2 k1 u)))))) (\lambda (k1:
2114 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind
2115 b) i0) (s k1 (S n0))) v e1 e2))))) x0 x1 x2 x3 (refl_equal C (CHead x1 x0
2116 x3)) (drop_drop (Bind b) n0 c3 (CHead x2 x0 x3) H28 u2) (eq_ind_r nat (S (s
2117 x0 n0)) (\lambda (n1: nat).(csubst0 (minus (s (Bind b) i0) n1) v x1 x2)) H29
2118 (s x0 (S n0)) (s_S x0 n0)))) e H27)))))))) H26)) (\lambda (H26: (ex4_5 K C C
2119 T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
2120 T).(\lambda (_: T).(eq C e (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda
2121 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c3 (CHead
2122 e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
2123 T).(\lambda (w: T).(subst0 (minus i0 (s k1 n0)) v u w)))))) (\lambda (k1:
2124 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
2125 (minus i0 (s k1 n0)) v e1 e2)))))))).(ex4_5_ind K C C T T (\lambda (k1:
2126 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e
2127 (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
2128 C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c3 (CHead e2 k1 w)))))))
2129 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
2130 T).(subst0 (minus i0 (s k1 n0)) v u w)))))) (\lambda (k1: K).(\lambda (e1:
2131 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k1
2132 n0)) v e1 e2)))))) (or4 (drop (S n0) O (CHead c3 (Bind b) u2) e) (ex3_4 K C T
2133 T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e
2134 (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_:
2135 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) u2) (CHead e0 k1 w))))))
2136 (\lambda (k1: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
2137 (minus (s (Bind b) i0) (s k1 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda
2138 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k1
2139 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
2140 T).(drop (S n0) O (CHead c3 (Bind b) u2) (CHead e2 k1 u)))))) (\lambda (k1:
2141 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind
2142 b) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1:
2143 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e
2144 (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
2145 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) u2)
2146 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_:
2147 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S
2148 n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda
2149 (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1
2150 e2)))))))) (\lambda (x0: K).(\lambda (x1: C).(\lambda (x2: C).(\lambda (x3:
2151 T).(\lambda (x4: T).(\lambda (H27: (eq C e (CHead x1 x0 x3))).(\lambda (H28:
2152 (drop n0 O c3 (CHead x2 x0 x4))).(\lambda (H29: (subst0 (minus i0 (s x0 n0))
2153 v x3 x4)).(\lambda (H30: (csubst0 (minus i0 (s x0 n0)) v x1 x2)).(eq_ind_r C
2154 (CHead x1 x0 x3) (\lambda (c4: C).(or4 (drop (S n0) O (CHead c3 (Bind b) u2)
2155 c4) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u: T).(\lambda
2156 (_: T).(eq C c4 (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda (e0:
2157 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) u2)
2158 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u:
2159 T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S n0))) v u w))))))
2160 (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
2161 T).(eq C c4 (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda
2162 (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c3 (Bind b) u2) (CHead e2 k1
2163 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
2164 T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C
2165 T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
2166 T).(\lambda (_: T).(eq C c4 (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda
2167 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead
2168 c3 (Bind b) u2) (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_:
2169 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b)
2170 i0) (s k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
2171 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1
2172 (S n0))) v e1 e2))))))))) (or4_intro3 (drop (S n0) O (CHead c3 (Bind b) u2)
2173 (CHead x1 x0 x3)) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda
2174 (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e0 k1 u)))))) (\lambda
2175 (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O
2176 (CHead c3 (Bind b) u2) (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_:
2177 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S
2178 n0))) v u w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda
2179 (_: C).(\lambda (u: T).(eq C (CHead x1 x0 x3) (CHead e1 k1 u)))))) (\lambda
2180 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O
2181 (CHead c3 (Bind b) u2) (CHead e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1:
2182 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1 (S
2183 n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1:
2184 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x3)
2185 (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
2186 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) u2)
2187 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_:
2188 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S
2189 n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda
2190 (_: T).(\lambda (_: T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1
2191 e2))))))) (ex4_5_intro K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda
2192 (_: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e1 k1
2193 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
2194 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Bind b) u2) (CHead e2 k1
2195 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
2196 T).(\lambda (w: T).(subst0 (minus (s (Bind b) i0) (s k1 (S n0))) v u w))))))
2197 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
2198 (_: T).(csubst0 (minus (s (Bind b) i0) (s k1 (S n0))) v e1 e2)))))) x0 x1 x2
2199 x3 x4 (refl_equal C (CHead x1 x0 x3)) (drop_drop (Bind b) n0 c3 (CHead x2 x0
2200 x4) H28 u2) (eq_ind_r nat (S (s x0 n0)) (\lambda (n1: nat).(subst0 (minus (s
2201 (Bind b) i0) n1) v x3 x4)) H29 (s x0 (S n0)) (s_S x0 n0)) (eq_ind_r nat (S (s
2202 x0 n0)) (\lambda (n1: nat).(csubst0 (minus (s (Bind b) i0) n1) v x1 x2)) H30
2203 (s x0 (S n0)) (s_S x0 n0)))) e H27)))))))))) H26)) H25)))))) (\lambda (f:
2204 F).(\lambda (H22: (drop (r (Flat f) n0) O c e)).(\lambda (H23: ((\forall (c4:
2205 C).(\forall (v1: T).((csubst0 (s (Flat f) i0) v1 c c4) \to (\forall (e0:
2206 C).((drop (S n0) O c e0) \to (or4 (drop (S n0) O c4 e0) (ex3_4 K C T T
2207 (\lambda (k1: K).(\lambda (e1: C).(\lambda (u: T).(\lambda (_: T).(eq C e0
2208 (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
2209 T).(\lambda (w: T).(drop (S n0) O c4 (CHead e1 k1 w)))))) (\lambda (k1:
2210 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f)
2211 i0) (s k1 (S n0))) v1 u w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1:
2212 C).(\lambda (_: C).(\lambda (u: T).(eq C e0 (CHead e1 k1 u)))))) (\lambda
2213 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c4
2214 (CHead e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
2215 C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v1 e1
2216 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
2217 C).(\lambda (u: T).(\lambda (_: T).(eq C e0 (CHead e1 k1 u))))))) (\lambda
2218 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
2219 T).(drop (S n0) O c4 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_:
2220 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f)
2221 i0) (s k1 (S n0))) v1 u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
2222 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1
2223 (S n0))) v1 e1 e2))))))))))))))).(\lambda (_: (lt (S n0) (s (Flat f)
2224 i0))).(let H25 \def (H23 c3 v H18 e H22) in (or4_ind (drop (S n0) O c3 e)
2225 (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_:
2226 T).(eq C e (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda
2227 (_: T).(\lambda (w: T).(drop (S n0) O c3 (CHead e0 k1 w)))))) (\lambda (k1:
2228 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i0 (s k1 (S
2229 n0))) v u w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda
2230 (_: C).(\lambda (u: T).(eq C e (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda
2231 (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c3 (CHead e2 k1
2232 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
2233 T).(csubst0 (minus i0 (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda
2234 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq
2235 C e (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
2236 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c3 (CHead e2 k1 w)))))))
2237 (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
2238 T).(subst0 (minus i0 (s k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda
2239 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus i0
2240 (s k1 (S n0))) v e1 e2))))))) (or4 (drop (S n0) O (CHead c3 (Flat f) u2) e)
2241 (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_:
2242 T).(eq C e (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda
2243 (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) u2) (CHead e0 k1
2244 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
2245 T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v u w)))))) (ex3_4 K C C T
2246 (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e
2247 (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
2248 C).(\lambda (u: T).(drop (S n0) O (CHead c3 (Flat f) u2) (CHead e2 k1 u))))))
2249 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0
2250 (minus (s (Flat f) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda
2251 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq
2252 C e (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
2253 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) u2)
2254 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_:
2255 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S
2256 n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda
2257 (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1
2258 e2)))))))) (\lambda (H26: (drop (S n0) O c3 e)).(or4_intro0 (drop (S n0) O
2259 (CHead c3 (Flat f) u2) e) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0:
2260 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k1 u)))))) (\lambda (k1:
2261 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3
2262 (Flat f) u2) (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda
2263 (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v u
2264 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
2265 C).(\lambda (u: T).(eq C e (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_:
2266 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c3 (Flat f) u2)
2267 (CHead e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
2268 C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1
2269 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
2270 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k1 u))))))) (\lambda
2271 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
2272 T).(drop (S n0) O (CHead c3 (Flat f) u2) (CHead e2 k1 w))))))) (\lambda (k1:
2273 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
2274 (minus (s (Flat f) i0) (s k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda
2275 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s
2276 (Flat f) i0) (s k1 (S n0))) v e1 e2))))))) (drop_drop (Flat f) n0 c3 e H26
2277 u2))) (\lambda (H26: (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0:
2278 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k1 u)))))) (\lambda (k1:
2279 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c3 (CHead
2280 e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
2281 T).(subst0 (minus i0 (s k1 (S n0))) v u w))))))).(ex3_4_ind K C T T (\lambda
2282 (k1: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k1
2283 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
2284 T).(drop (S n0) O c3 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_:
2285 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i0 (s k1 (S n0))) v u
2286 w))))) (or4 (drop (S n0) O (CHead c3 (Flat f) u2) e) (ex3_4 K C T T (\lambda
2287 (k1: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k1
2288 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
2289 T).(drop (S n0) O (CHead c3 (Flat f) u2) (CHead e0 k1 w)))))) (\lambda (k1:
2290 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f)
2291 i0) (s k1 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1:
2292 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k1 u)))))) (\lambda (k1:
2293 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c3
2294 (Flat f) u2) (CHead e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
2295 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1
2296 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
2297 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k1 u))))))) (\lambda
2298 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
2299 T).(drop (S n0) O (CHead c3 (Flat f) u2) (CHead e2 k1 w))))))) (\lambda (k1:
2300 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
2301 (minus (s (Flat f) i0) (s k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda
2302 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s
2303 (Flat f) i0) (s k1 (S n0))) v e1 e2)))))))) (\lambda (x0: K).(\lambda (x1:
2304 C).(\lambda (x2: T).(\lambda (x3: T).(\lambda (H27: (eq C e (CHead x1 x0
2305 x2))).(\lambda (H28: (drop (S n0) O c3 (CHead x1 x0 x3))).(\lambda (H29:
2306 (subst0 (minus i0 (s x0 (S n0))) v x2 x3)).(eq_ind_r C (CHead x1 x0 x2)
2307 (\lambda (c4: C).(or4 (drop (S n0) O (CHead c3 (Flat f) u2) c4) (ex3_4 K C T
2308 T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c4
2309 (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_:
2310 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) u2) (CHead e0 k1 w))))))
2311 (\lambda (k1: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
2312 (minus (s (Flat f) i0) (s k1 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda
2313 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C c4 (CHead e1
2314 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
2315 T).(drop (S n0) O (CHead c3 (Flat f) u2) (CHead e2 k1 u)))))) (\lambda (k1:
2316 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat
2317 f) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1:
2318 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C c4
2319 (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
2320 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) u2)
2321 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_:
2322 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S
2323 n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda
2324 (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1
2325 e2))))))))) (or4_intro1 (drop (S n0) O (CHead c3 (Flat f) u2) (CHead x1 x0
2326 x2)) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u:
2327 T).(\lambda (_: T).(eq C (CHead x1 x0 x2) (CHead e0 k1 u)))))) (\lambda (k1:
2328 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3
2329 (Flat f) u2) (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda
2330 (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v u
2331 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
2332 C).(\lambda (u: T).(eq C (CHead x1 x0 x2) (CHead e1 k1 u)))))) (\lambda (k1:
2333 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c3
2334 (Flat f) u2) (CHead e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
2335 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1
2336 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
2337 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x2) (CHead e1 k1
2338 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
2339 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) u2) (CHead e2 k1
2340 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
2341 T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v u w))))))
2342 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
2343 (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1 e2)))))))
2344 (ex3_4_intro K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u:
2345 T).(\lambda (_: T).(eq C (CHead x1 x0 x2) (CHead e0 k1 u)))))) (\lambda (k1:
2346 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3
2347 (Flat f) u2) (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda
2348 (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v u
2349 w))))) x0 x1 x2 x3 (refl_equal C (CHead x1 x0 x2)) (drop_drop (Flat f) n0 c3
2350 (CHead x1 x0 x3) H28 u2) H29)) e H27)))))))) H26)) (\lambda (H26: (ex3_4 K C
2351 C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e
2352 (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
2353 C).(\lambda (u: T).(drop (S n0) O c3 (CHead e2 k1 u)))))) (\lambda (k1:
2354 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus i0 (s k1
2355 (S n0))) v e1 e2))))))).(ex3_4_ind K C C T (\lambda (k1: K).(\lambda (e1:
2356 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k1 u)))))) (\lambda (k1:
2357 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c3 (CHead
2358 e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
2359 T).(csubst0 (minus i0 (s k1 (S n0))) v e1 e2))))) (or4 (drop (S n0) O (CHead
2360 c3 (Flat f) u2) e) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda
2361 (u: T).(\lambda (_: T).(eq C e (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda
2362 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) u2)
2363 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u:
2364 T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v u w))))))
2365 (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
2366 T).(eq C e (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda
2367 (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c3 (Flat f) u2) (CHead e2 k1
2368 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
2369 T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C
2370 T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
2371 T).(\lambda (_: T).(eq C e (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda
2372 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead
2373 c3 (Flat f) u2) (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_:
2374 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f)
2375 i0) (s k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
2376 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1
2377 (S n0))) v e1 e2)))))))) (\lambda (x0: K).(\lambda (x1: C).(\lambda (x2:
2378 C).(\lambda (x3: T).(\lambda (H27: (eq C e (CHead x1 x0 x3))).(\lambda (H28:
2379 (drop (S n0) O c3 (CHead x2 x0 x3))).(\lambda (H29: (csubst0 (minus i0 (s x0
2380 (S n0))) v x1 x2)).(eq_ind_r C (CHead x1 x0 x3) (\lambda (c4: C).(or4 (drop
2381 (S n0) O (CHead c3 (Flat f) u2) c4) (ex3_4 K C T T (\lambda (k1: K).(\lambda
2382 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c4 (CHead e0 k1 u))))))
2383 (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S
2384 n0) O (CHead c3 (Flat f) u2) (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda
2385 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1
2386 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1:
2387 C).(\lambda (_: C).(\lambda (u: T).(eq C c4 (CHead e1 k1 u)))))) (\lambda
2388 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O
2389 (CHead c3 (Flat f) u2) (CHead e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1:
2390 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S
2391 n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1:
2392 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C c4 (CHead e1 k1
2393 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
2394 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) u2) (CHead e2 k1
2395 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
2396 T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v u w))))))
2397 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
2398 (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1 e2)))))))))
2399 (or4_intro2 (drop (S n0) O (CHead c3 (Flat f) u2) (CHead x1 x0 x3)) (ex3_4 K
2400 C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C
2401 (CHead x1 x0 x3) (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda (e0:
2402 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) u2)
2403 (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (u:
2404 T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v u w))))))
2405 (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
2406 T).(eq C (CHead x1 x0 x3) (CHead e1 k1 u)))))) (\lambda (k1: K).(\lambda (_:
2407 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c3 (Flat f) u2)
2408 (CHead e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2:
2409 C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1
2410 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
2411 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e1 k1
2412 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
2413 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) u2) (CHead e2 k1
2414 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
2415 T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v u w))))))
2416 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
2417 (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1 e2)))))))
2418 (ex3_4_intro K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
2419 C).(\lambda (u: T).(eq C (CHead x1 x0 x3) (CHead e1 k1 u)))))) (\lambda (k1:
2420 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c3
2421 (Flat f) u2) (CHead e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
2422 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1
2423 e2))))) x0 x1 x2 x3 (refl_equal C (CHead x1 x0 x3)) (drop_drop (Flat f) n0 c3
2424 (CHead x2 x0 x3) H28 u2) H29)) e H27)))))))) H26)) (\lambda (H26: (ex4_5 K C
2425 C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
2426 T).(\lambda (_: T).(eq C e (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda
2427 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c3
2428 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_:
2429 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i0 (s k1 (S n0))) v u
2430 w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
2431 T).(\lambda (_: T).(csubst0 (minus i0 (s k1 (S n0))) v e1
2432 e2)))))))).(ex4_5_ind K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda
2433 (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k1 u))))))) (\lambda
2434 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
2435 T).(drop (S n0) O c3 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_:
2436 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus i0 (s k1 (S
2437 n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda
2438 (_: T).(\lambda (_: T).(csubst0 (minus i0 (s k1 (S n0))) v e1 e2)))))) (or4
2439 (drop (S n0) O (CHead c3 (Flat f) u2) e) (ex3_4 K C T T (\lambda (k1:
2440 K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 k1
2441 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
2442 T).(drop (S n0) O (CHead c3 (Flat f) u2) (CHead e0 k1 w)))))) (\lambda (k1:
2443 K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f)
2444 i0) (s k1 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1:
2445 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 k1 u)))))) (\lambda (k1:
2446 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c3
2447 (Flat f) u2) (CHead e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
2448 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1
2449 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
2450 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 k1 u))))))) (\lambda
2451 (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
2452 T).(drop (S n0) O (CHead c3 (Flat f) u2) (CHead e2 k1 w))))))) (\lambda (k1:
2453 K).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
2454 (minus (s (Flat f) i0) (s k1 (S n0))) v u w)))))) (\lambda (k1: K).(\lambda
2455 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 (minus (s
2456 (Flat f) i0) (s k1 (S n0))) v e1 e2)))))))) (\lambda (x0: K).(\lambda (x1:
2457 C).(\lambda (x2: C).(\lambda (x3: T).(\lambda (x4: T).(\lambda (H27: (eq C e
2458 (CHead x1 x0 x3))).(\lambda (H28: (drop (S n0) O c3 (CHead x2 x0
2459 x4))).(\lambda (H29: (subst0 (minus i0 (s x0 (S n0))) v x3 x4)).(\lambda
2460 (H30: (csubst0 (minus i0 (s x0 (S n0))) v x1 x2)).(eq_ind_r C (CHead x1 x0
2461 x3) (\lambda (c4: C).(or4 (drop (S n0) O (CHead c3 (Flat f) u2) c4) (ex3_4 K
2462 C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C
2463 c4 (CHead e0 k1 u)))))) (\lambda (k1: K).(\lambda (e0: C).(\lambda (_:
2464 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) u2) (CHead e0 k1 w))))))
2465 (\lambda (k1: K).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0
2466 (minus (s (Flat f) i0) (s k1 (S n0))) v u w)))))) (ex3_4 K C C T (\lambda
2467 (k1: K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C c4 (CHead e1
2468 k1 u)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
2469 T).(drop (S n0) O (CHead c3 (Flat f) u2) (CHead e2 k1 u)))))) (\lambda (k1:
2470 K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat
2471 f) i0) (s k1 (S n0))) v e1 e2)))))) (ex4_5 K C C T T (\lambda (k1:
2472 K).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C c4
2473 (CHead e1 k1 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2:
2474 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) u2)
2475 (CHead e2 k1 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_:
2476 C).(\lambda (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S
2477 n0))) v u w)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda
2478 (_: T).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1
2479 e2))))))))) (or4_intro3 (drop (S n0) O (CHead c3 (Flat f) u2) (CHead x1 x0
2480 x3)) (ex3_4 K C T T (\lambda (k1: K).(\lambda (e0: C).(\lambda (u:
2481 T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e0 k1 u)))))) (\lambda (k1:
2482 K).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O (CHead c3
2483 (Flat f) u2) (CHead e0 k1 w)))))) (\lambda (k1: K).(\lambda (_: C).(\lambda
2484 (u: T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v u
2485 w)))))) (ex3_4 K C C T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
2486 C).(\lambda (u: T).(eq C (CHead x1 x0 x3) (CHead e1 k1 u)))))) (\lambda (k1:
2487 K).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O (CHead c3
2488 (Flat f) u2) (CHead e2 k1 u)))))) (\lambda (k1: K).(\lambda (e1: C).(\lambda
2489 (e2: C).(\lambda (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1
2490 e2)))))) (ex4_5 K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
2491 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e1 k1
2492 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
2493 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) u2) (CHead e2 k1
2494 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
2495 T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v u w))))))
2496 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
2497 (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1 e2)))))))
2498 (ex4_5_intro K C C T T (\lambda (k1: K).(\lambda (e1: C).(\lambda (_:
2499 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 x0 x3) (CHead e1 k1
2500 u))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
2501 T).(\lambda (w: T).(drop (S n0) O (CHead c3 (Flat f) u2) (CHead e2 k1
2502 w))))))) (\lambda (k1: K).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
2503 T).(\lambda (w: T).(subst0 (minus (s (Flat f) i0) (s k1 (S n0))) v u w))))))
2504 (\lambda (k1: K).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
2505 (_: T).(csubst0 (minus (s (Flat f) i0) (s k1 (S n0))) v e1 e2)))))) x0 x1 x2
2506 x3 x4 (refl_equal C (CHead x1 x0 x3)) (drop_drop (Flat f) n0 c3 (CHead x2 x0
2507 x4) H28 u2) H29 H30)) e H27)))))))))) H26)) H25)))))) k (drop_gen_drop k c e
2508 t n0 H2) H20 H21)))))) c2 H16)) u1 (sym_eq T u1 t H15))) k0 (sym_eq K k0 k
2509 H14))) c0 (sym_eq C c0 c H13))) H12)) H11))) v0 (sym_eq T v0 v H9))) i H5 H6
2510 H7 H8 H3 H4)))))]) in (H3 (refl_equal nat i) (refl_equal T v) (refl_equal C
2511 (CHead c k t)) (refl_equal C c2)))))))))))) c1)))))) n).
2513 theorem csubst0_drop_eq:
2514 \forall (n: nat).(\forall (c1: C).(\forall (c2: C).(\forall (v: T).((csubst0
2515 n v c1 c2) \to (\forall (e: C).((drop n O c1 e) \to (or4 (drop n O c2 e)
2516 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_:
2517 T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0:
2518 C).(\lambda (_: T).(\lambda (w: T).(drop n O c2 (CHead e0 (Flat f) w))))))
2519 (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u
2520 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
2521 C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f:
2522 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop n O c2 (CHead e2
2523 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
2524 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda
2525 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1
2526 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
2527 (_: T).(\lambda (w: T).(drop n O c2 (CHead e2 (Flat f) w))))))) (\lambda (_:
2528 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O
2529 v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
2530 T).(\lambda (_: T).(csubst0 O v e1 e2))))))))))))))
2532 \lambda (n: nat).(nat_ind (\lambda (n0: nat).(\forall (c1: C).(\forall (c2:
2533 C).(\forall (v: T).((csubst0 n0 v c1 c2) \to (\forall (e: C).((drop n0 O c1
2534 e) \to (or4 (drop n0 O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
2535 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u))))))
2536 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop n0 O
2537 c2 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u:
2538 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f:
2539 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat
2540 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
2541 T).(drop n0 O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1:
2542 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T
2543 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_:
2544 T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_:
2545 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c2 (CHead e2
2546 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
2547 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1:
2548 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
2549 e2))))))))))))))) (\lambda (c1: C).(\lambda (c2: C).(\lambda (v: T).(\lambda
2550 (H: (csubst0 O v c1 c2)).(\lambda (e: C).(\lambda (H0: (drop O O c1
2551 e)).(eq_ind C c1 (\lambda (c: C).(or4 (drop O O c2 c) (ex3_4 F C T T (\lambda
2552 (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e0
2553 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda
2554 (w: T).(drop O O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_:
2555 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T
2556 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C c
2557 (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
2558 C).(\lambda (u: T).(drop O O c2 (CHead e2 (Flat f) u)))))) (\lambda (_:
2559 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
2560 (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
2561 (u: T).(\lambda (_: T).(eq C c (CHead e1 (Flat f) u))))))) (\lambda (f:
2562 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O
2563 c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
2564 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_:
2565 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
2566 O v e1 e2))))))))) (insert_eq nat O (\lambda (n0: nat).(csubst0 n0 v c1 c2))
2567 (or4 (drop O O c2 c1) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
2568 C).(\lambda (u: T).(\lambda (_: T).(eq C c1 (CHead e0 (Flat f) u))))))
2569 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O c2
2570 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u:
2571 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f:
2572 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C c1 (CHead e1 (Flat
2573 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
2574 T).(drop O O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1:
2575 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T
2576 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_:
2577 T).(eq C c1 (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_:
2578 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O c2 (CHead e2
2579 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
2580 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1:
2581 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
2582 e2)))))))) (\lambda (y: nat).(\lambda (H1: (csubst0 y v c1 c2)).(csubst0_ind
2583 (\lambda (n0: nat).(\lambda (t: T).(\lambda (c: C).(\lambda (c0: C).((eq nat
2584 n0 O) \to (or4 (drop O O c0 c) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
2585 C).(\lambda (u: T).(\lambda (_: T).(eq C c (CHead e0 (Flat f) u))))))
2586 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O c0
2587 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u:
2588 T).(\lambda (w: T).(subst0 O t u w)))))) (ex3_4 F C C T (\lambda (f:
2589 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C c (CHead e1 (Flat
2590 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
2591 T).(drop O O c0 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1:
2592 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O t e1 e2)))))) (ex4_5 F C C T T
2593 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_:
2594 T).(eq C c (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_:
2595 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O c0 (CHead e2
2596 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
2597 (u: T).(\lambda (w: T).(subst0 O t u w)))))) (\lambda (_: F).(\lambda (e1:
2598 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O t e1
2599 e2))))))))))))) (\lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i:
2600 nat).(\forall (v0: T).(\forall (u1: T).(\forall (u2: T).((subst0 i v0 u1 u2)
2601 \to (\forall (c: C).((eq nat (s k0 i) O) \to (or4 (drop O O (CHead c k0 u2)
2602 (CHead c k0 u1)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u:
2603 T).(\lambda (_: T).(eq C (CHead c k0 u1) (CHead e0 (Flat f) u)))))) (\lambda
2604 (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c k0
2605 u2) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u:
2606 T).(\lambda (w: T).(subst0 O v0 u w)))))) (ex3_4 F C C T (\lambda (f:
2607 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead c k0 u1)
2608 (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
2609 C).(\lambda (u: T).(drop O O (CHead c k0 u2) (CHead e2 (Flat f) u))))))
2610 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
2611 v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
2612 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c k0 u1) (CHead e1 (Flat f)
2613 u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
2614 T).(\lambda (w: T).(drop O O (CHead c k0 u2) (CHead e2 (Flat f) w)))))))
2615 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
2616 T).(subst0 O v0 u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
2617 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2))))))))))))))))
2618 (\lambda (b: B).(\lambda (i: nat).(\lambda (v0: T).(\lambda (u1: T).(\lambda
2619 (u2: T).(\lambda (_: (subst0 i v0 u1 u2)).(\lambda (c: C).(\lambda (H3: (eq
2620 nat (S i) O)).(let H4 \def (eq_ind nat (S i) (\lambda (ee: nat).(match ee in
2621 nat return (\lambda (_: nat).Prop) with [O \Rightarrow False | (S _)
2622 \Rightarrow True])) I O H3) in (False_ind (or4 (drop O O (CHead c (Bind b)
2623 u2) (CHead c (Bind b) u1)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
2624 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c (Bind b) u1) (CHead e0
2625 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda
2626 (w: T).(drop O O (CHead c (Bind b) u2) (CHead e0 (Flat f) w)))))) (\lambda
2627 (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w))))))
2628 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
2629 T).(eq C (CHead c (Bind b) u1) (CHead e1 (Flat f) u)))))) (\lambda (f:
2630 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop O O (CHead c (Bind
2631 b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
2632 (e2: C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda
2633 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C
2634 (CHead c (Bind b) u1) (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda
2635 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c
2636 (Bind b) u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_:
2637 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w))))))
2638 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
2639 (_: T).(csubst0 O v0 e1 e2)))))))) H4)))))))))) (\lambda (f: F).(\lambda (i:
2640 nat).(\lambda (v0: T).(\lambda (u1: T).(\lambda (u2: T).(\lambda (H2: (subst0
2641 i v0 u1 u2)).(\lambda (c: C).(\lambda (H3: (eq nat i O)).(let H4 \def (eq_ind
2642 nat i (\lambda (n0: nat).(subst0 n0 v0 u1 u2)) H2 O H3) in (or4_intro1 (drop
2643 O O (CHead c (Flat f) u2) (CHead c (Flat f) u1)) (ex3_4 F C T T (\lambda (f0:
2644 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c (Flat f)
2645 u1) (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda
2646 (_: T).(\lambda (w: T).(drop O O (CHead c (Flat f) u2) (CHead e0 (Flat f0)
2647 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
2648 T).(subst0 O v0 u w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1:
2649 C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead c (Flat f) u1) (CHead e1
2650 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
2651 (u: T).(drop O O (CHead c (Flat f) u2) (CHead e2 (Flat f0) u)))))) (\lambda
2652 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1
2653 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
2654 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c (Flat f) u1) (CHead e1
2655 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
2656 (_: T).(\lambda (w: T).(drop O O (CHead c (Flat f) u2) (CHead e2 (Flat f0)
2657 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
2658 T).(\lambda (w: T).(subst0 O v0 u w)))))) (\lambda (_: F).(\lambda (e1:
2659 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1
2660 e2))))))) (ex3_4_intro F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u:
2661 T).(\lambda (_: T).(eq C (CHead c (Flat f) u1) (CHead e0 (Flat f0) u))))))
2662 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O
2663 (CHead c (Flat f) u2) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda
2664 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w))))) f c u1 u2
2665 (refl_equal C (CHead c (Flat f) u1)) (drop_refl (CHead c (Flat f) u2))
2666 H4))))))))))) k)) (\lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i:
2667 nat).(\forall (c3: C).(\forall (c4: C).(\forall (v0: T).((csubst0 i v0 c3 c4)
2668 \to ((((eq nat i O) \to (or4 (drop O O c4 c3) (ex3_4 F C T T (\lambda (f:
2669 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e0 (Flat
2670 f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
2671 T).(drop O O c4 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_:
2672 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w)))))) (ex3_4 F C C T
2673 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C c3
2674 (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
2675 C).(\lambda (u: T).(drop O O c4 (CHead e2 (Flat f) u)))))) (\lambda (_:
2676 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1
2677 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
2678 C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e1 (Flat f) u)))))))
2679 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
2680 T).(drop O O c4 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_:
2681 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w))))))
2682 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
2683 (_: T).(csubst0 O v0 e1 e2)))))))))) \to (\forall (u: T).((eq nat (s k0 i) O)
2684 \to (or4 (drop O O (CHead c4 k0 u) (CHead c3 k0 u)) (ex3_4 F C T T (\lambda
2685 (f: F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead c3 k0
2686 u) (CHead e0 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_:
2687 T).(\lambda (w: T).(drop O O (CHead c4 k0 u) (CHead e0 (Flat f) w))))))
2688 (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v0
2689 u0 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
2690 C).(\lambda (u0: T).(eq C (CHead c3 k0 u) (CHead e1 (Flat f) u0))))))
2691 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop O O
2692 (CHead c4 k0 u) (CHead e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1:
2693 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T
2694 T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda
2695 (_: T).(eq C (CHead c3 k0 u) (CHead e1 (Flat f) u0))))))) (\lambda (f:
2696 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O
2697 (CHead c4 k0 u) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_:
2698 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v0 u0 w))))))
2699 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
2700 (_: T).(csubst0 O v0 e1 e2))))))))))))))))) (\lambda (b: B).(\lambda (i:
2701 nat).(\lambda (c3: C).(\lambda (c4: C).(\lambda (v0: T).(\lambda (_: (csubst0
2702 i v0 c3 c4)).(\lambda (_: (((eq nat i O) \to (or4 (drop O O c4 c3) (ex3_4 F C
2703 T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c3
2704 (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_:
2705 T).(\lambda (w: T).(drop O O c4 (CHead e0 (Flat f) w)))))) (\lambda (_:
2706 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w))))))
2707 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
2708 T).(eq C c3 (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_:
2709 C).(\lambda (e2: C).(\lambda (u: T).(drop O O c4 (CHead e2 (Flat f) u))))))
2710 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
2711 v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
2712 C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e1 (Flat f) u)))))))
2713 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
2714 T).(drop O O c4 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_:
2715 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w))))))
2716 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
2717 (_: T).(csubst0 O v0 e1 e2))))))))))).(\lambda (u: T).(\lambda (H4: (eq nat
2718 (S i) O)).(let H5 \def (eq_ind nat (S i) (\lambda (ee: nat).(match ee in nat
2719 return (\lambda (_: nat).Prop) with [O \Rightarrow False | (S _) \Rightarrow
2720 True])) I O H4) in (False_ind (or4 (drop O O (CHead c4 (Bind b) u) (CHead c3
2721 (Bind b) u)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u0:
2722 T).(\lambda (_: T).(eq C (CHead c3 (Bind b) u) (CHead e0 (Flat f) u0))))))
2723 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O
2724 (CHead c4 (Bind b) u) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_:
2725 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v0 u0 w)))))) (ex3_4 F C C T
2726 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C
2727 (CHead c3 (Bind b) u) (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda
2728 (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop O O (CHead c4 (Bind b) u)
2729 (CHead e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
2730 C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f:
2731 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C
2732 (CHead c3 (Bind b) u) (CHead e1 (Flat f) u0))))))) (\lambda (f: F).(\lambda
2733 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c4
2734 (Bind b) u) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_:
2735 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v0 u0 w))))))
2736 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
2737 (_: T).(csubst0 O v0 e1 e2)))))))) H5))))))))))) (\lambda (f: F).(\lambda (i:
2738 nat).(\lambda (c3: C).(\lambda (c4: C).(\lambda (v0: T).(\lambda (H2:
2739 (csubst0 i v0 c3 c4)).(\lambda (H3: (((eq nat i O) \to (or4 (drop O O c4 c3)
2740 (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_:
2741 T).(eq C c3 (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0:
2742 C).(\lambda (_: T).(\lambda (w: T).(drop O O c4 (CHead e0 (Flat f0) w))))))
2743 (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0
2744 u w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
2745 C).(\lambda (u: T).(eq C c3 (CHead e1 (Flat f0) u)))))) (\lambda (f0:
2746 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop O O c4 (CHead e2
2747 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
2748 (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda
2749 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e1
2750 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
2751 (_: T).(\lambda (w: T).(drop O O c4 (CHead e2 (Flat f0) w))))))) (\lambda (_:
2752 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O
2753 v0 u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
2754 T).(\lambda (_: T).(csubst0 O v0 e1 e2))))))))))).(\lambda (u: T).(\lambda
2755 (H4: (eq nat i O)).(let H5 \def (eq_ind nat i (\lambda (n0: nat).((eq nat n0
2756 O) \to (or4 (drop O O c4 c3) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0:
2757 C).(\lambda (u0: T).(\lambda (_: T).(eq C c3 (CHead e0 (Flat f0) u0))))))
2758 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O
2759 c4 (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0:
2760 T).(\lambda (w: T).(subst0 O v0 u0 w)))))) (ex3_4 F C C T (\lambda (f0:
2761 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C c3 (CHead e1 (Flat
2762 f0) u0)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0:
2763 T).(drop O O c4 (CHead e2 (Flat f0) u0)))))) (\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 (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda
2766 (_: T).(eq C c3 (CHead e1 (Flat f0) u0))))))) (\lambda (f0: F).(\lambda (_:
2767 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O c4 (CHead e2
2768 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
2769 (u0: T).(\lambda (w: T).(subst0 O v0 u0 w)))))) (\lambda (_: F).(\lambda (e1:
2770 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1
2771 e2)))))))))) H3 O H4) in (let H6 \def (eq_ind nat i (\lambda (n0:
2772 nat).(csubst0 n0 v0 c3 c4)) H2 O H4) in (or4_intro2 (drop O O (CHead c4 (Flat
2773 f) u) (CHead c3 (Flat f) u)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0:
2774 C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead c3 (Flat f) u) (CHead e0
2775 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda
2776 (w: T).(drop O O (CHead c4 (Flat f) u) (CHead e0 (Flat f0) w)))))) (\lambda
2777 (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v0 u0
2778 w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
2779 C).(\lambda (u0: T).(eq C (CHead c3 (Flat f) u) (CHead e1 (Flat f0) u0))))))
2780 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop O O
2781 (CHead c4 (Flat f) u) (CHead e2 (Flat f0) u0)))))) (\lambda (_: F).(\lambda
2782 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C
2783 C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0:
2784 T).(\lambda (_: T).(eq C (CHead c3 (Flat f) u) (CHead e1 (Flat f0) u0)))))))
2785 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
2786 (w: T).(drop O O (CHead c4 (Flat f) u) (CHead e2 (Flat f0) w))))))) (\lambda
2787 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
2788 T).(subst0 O v0 u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
2789 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2))))))) (ex3_4_intro F
2790 C C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq
2791 C (CHead c3 (Flat f) u) (CHead e1 (Flat f0) u0)))))) (\lambda (f0:
2792 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop O O (CHead c4
2793 (Flat f) u) (CHead e2 (Flat f0) u0)))))) (\lambda (_: F).(\lambda (e1:
2794 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1 e2))))) f c3 c4 u
2795 (refl_equal C (CHead c3 (Flat f) u)) (drop_refl (CHead c4 (Flat f) u))
2796 H6))))))))))))) k)) (\lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i:
2797 nat).(\forall (v0: T).(\forall (u1: T).(\forall (u2: T).((subst0 i v0 u1 u2)
2798 \to (\forall (c3: C).(\forall (c4: C).((csubst0 i v0 c3 c4) \to ((((eq nat i
2799 O) \to (or4 (drop O O c4 c3) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
2800 C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e0 (Flat f) u))))))
2801 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O c4
2802 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u:
2803 T).(\lambda (w: T).(subst0 O v0 u w)))))) (ex3_4 F C C T (\lambda (f:
2804 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C c3 (CHead e1 (Flat
2805 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
2806 T).(drop O O c4 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1:
2807 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T
2808 T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda
2809 (_: T).(eq C c3 (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_:
2810 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O c4 (CHead e2
2811 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
2812 (u: T).(\lambda (w: T).(subst0 O v0 u w)))))) (\lambda (_: F).(\lambda (e1:
2813 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1
2814 e2)))))))))) \to ((eq nat (s k0 i) O) \to (or4 (drop O O (CHead c4 k0 u2)
2815 (CHead c3 k0 u1)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda
2816 (u: T).(\lambda (_: T).(eq C (CHead c3 k0 u1) (CHead e0 (Flat f) u))))))
2817 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O
2818 (CHead c4 k0 u2) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_:
2819 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w)))))) (ex3_4 F C C T
2820 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead
2821 c3 k0 u1) (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda
2822 (e2: C).(\lambda (u: T).(drop O O (CHead c4 k0 u2) (CHead e2 (Flat f) u))))))
2823 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
2824 v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
2825 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c3 k0 u1) (CHead e1 (Flat f)
2826 u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
2827 T).(\lambda (w: T).(drop O O (CHead c4 k0 u2) (CHead e2 (Flat f) w)))))))
2828 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
2829 T).(subst0 O v0 u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
2830 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2)))))))))))))))))))
2831 (\lambda (b: B).(\lambda (i: nat).(\lambda (v0: T).(\lambda (u1: T).(\lambda
2832 (u2: T).(\lambda (_: (subst0 i v0 u1 u2)).(\lambda (c3: C).(\lambda (c4:
2833 C).(\lambda (_: (csubst0 i v0 c3 c4)).(\lambda (_: (((eq nat i O) \to (or4
2834 (drop O O c4 c3) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u:
2835 T).(\lambda (_: T).(eq C c3 (CHead e0 (Flat f) u)))))) (\lambda (f:
2836 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O c4 (CHead e0
2837 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
2838 T).(subst0 O v0 u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1:
2839 C).(\lambda (_: C).(\lambda (u: T).(eq C c3 (CHead e1 (Flat f) u))))))
2840 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop O O c4
2841 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
2842 C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f:
2843 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C c3
2844 (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
2845 C).(\lambda (_: T).(\lambda (w: T).(drop O O c4 (CHead e2 (Flat f) w)))))))
2846 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
2847 T).(subst0 O v0 u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
2848 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2))))))))))).(\lambda
2849 (H5: (eq nat (S i) O)).(let H6 \def (eq_ind nat (S i) (\lambda (ee:
2850 nat).(match ee in nat return (\lambda (_: nat).Prop) with [O \Rightarrow
2851 False | (S _) \Rightarrow True])) I O H5) in (False_ind (or4 (drop O O (CHead
2852 c4 (Bind b) u2) (CHead c3 (Bind b) u1)) (ex3_4 F C T T (\lambda (f:
2853 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c3 (Bind b)
2854 u1) (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_:
2855 T).(\lambda (w: T).(drop O O (CHead c4 (Bind b) u2) (CHead e0 (Flat f)
2856 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
2857 T).(subst0 O v0 u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1:
2858 C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead c3 (Bind b) u1) (CHead e1
2859 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
2860 (u: T).(drop O O (CHead c4 (Bind b) u2) (CHead e2 (Flat f) u)))))) (\lambda
2861 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1
2862 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
2863 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c3 (Bind b) u1) (CHead e1
2864 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
2865 (_: T).(\lambda (w: T).(drop O O (CHead c4 (Bind b) u2) (CHead e2 (Flat f)
2866 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
2867 T).(\lambda (w: T).(subst0 O v0 u w)))))) (\lambda (_: F).(\lambda (e1:
2868 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1
2869 e2)))))))) H6))))))))))))) (\lambda (f: F).(\lambda (i: nat).(\lambda (v0:
2870 T).(\lambda (u1: T).(\lambda (u2: T).(\lambda (H2: (subst0 i v0 u1
2871 u2)).(\lambda (c3: C).(\lambda (c4: C).(\lambda (H3: (csubst0 i v0 c3
2872 c4)).(\lambda (H4: (((eq nat i O) \to (or4 (drop O O c4 c3) (ex3_4 F C T T
2873 (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c3
2874 (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_:
2875 T).(\lambda (w: T).(drop O O c4 (CHead e0 (Flat f0) w)))))) (\lambda (_:
2876 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w))))))
2877 (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
2878 T).(eq C c3 (CHead e1 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_:
2879 C).(\lambda (e2: C).(\lambda (u: T).(drop O O c4 (CHead e2 (Flat f0) u))))))
2880 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
2881 v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda
2882 (_: C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e1 (Flat f0) u)))))))
2883 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
2884 (w: T).(drop O O c4 (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_:
2885 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w))))))
2886 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
2887 (_: T).(csubst0 O v0 e1 e2))))))))))).(\lambda (H5: (eq nat i O)).(let H6
2888 \def (eq_ind nat i (\lambda (n0: nat).((eq nat n0 O) \to (or4 (drop O O c4
2889 c3) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: T).(\lambda
2890 (_: T).(eq C c3 (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0:
2891 C).(\lambda (_: T).(\lambda (w: T).(drop O O c4 (CHead e0 (Flat f0) w))))))
2892 (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0
2893 u w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
2894 C).(\lambda (u: T).(eq C c3 (CHead e1 (Flat f0) u)))))) (\lambda (f0:
2895 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop O O c4 (CHead e2
2896 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
2897 (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda
2898 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C c3 (CHead e1
2899 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
2900 (_: T).(\lambda (w: T).(drop O O c4 (CHead e2 (Flat f0) w))))))) (\lambda (_:
2901 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O
2902 v0 u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
2903 T).(\lambda (_: T).(csubst0 O v0 e1 e2)))))))))) H4 O H5) in (let H7 \def
2904 (eq_ind nat i (\lambda (n0: nat).(csubst0 n0 v0 c3 c4)) H3 O H5) in (let H8
2905 \def (eq_ind nat i (\lambda (n0: nat).(subst0 n0 v0 u1 u2)) H2 O H5) in
2906 (or4_intro3 (drop O O (CHead c4 (Flat f) u2) (CHead c3 (Flat f) u1)) (ex3_4 F
2907 C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C
2908 (CHead c3 (Flat f) u1) (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda
2909 (e0: C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c4 (Flat f) u2)
2910 (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u:
2911 T).(\lambda (w: T).(subst0 O v0 u w)))))) (ex3_4 F C C T (\lambda (f0:
2912 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead c3 (Flat f)
2913 u1) (CHead e1 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda
2914 (e2: C).(\lambda (u: T).(drop O O (CHead c4 (Flat f) u2) (CHead e2 (Flat f0)
2915 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
2916 T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1:
2917 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c3 (Flat f)
2918 u1) (CHead e1 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda
2919 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c4 (Flat f) u2)
2920 (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
2921 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w)))))) (\lambda (_:
2922 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
2923 O v0 e1 e2))))))) (ex4_5_intro F C C T T (\lambda (f0: F).(\lambda (e1:
2924 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead c3 (Flat f)
2925 u1) (CHead e1 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda
2926 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop O O (CHead c4 (Flat f) u2)
2927 (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
2928 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v0 u w)))))) (\lambda (_:
2929 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
2930 O v0 e1 e2)))))) f c3 c4 u1 u2 (refl_equal C (CHead c3 (Flat f) u1))
2931 (drop_refl (CHead c4 (Flat f) u2)) H8 H7)))))))))))))))) k)) y v c1 c2 H1)))
2932 H) e (drop_gen_refl c1 e H0)))))))) (\lambda (n0: nat).(\lambda (IHn:
2933 ((\forall (c1: C).(\forall (c2: C).(\forall (v: T).((csubst0 n0 v c1 c2) \to
2934 (\forall (e: C).((drop n0 O c1 e) \to (or4 (drop n0 O c2 e) (ex3_4 F C T T
2935 (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e
2936 (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_:
2937 T).(\lambda (w: T).(drop n0 O c2 (CHead e0 (Flat f) w)))))) (\lambda (_:
2938 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
2939 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
2940 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_:
2941 C).(\lambda (e2: C).(\lambda (u: T).(drop n0 O c2 (CHead e2 (Flat f) u))))))
2942 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
2943 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
2944 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u)))))))
2945 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
2946 T).(drop n0 O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_:
2947 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
2948 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
2949 (_: T).(csubst0 O v e1 e2)))))))))))))))).(\lambda (c1: C).(C_ind (\lambda
2950 (c: C).(\forall (c2: C).(\forall (v: T).((csubst0 (S n0) v c c2) \to (\forall
2951 (e: C).((drop (S n0) O c e) \to (or4 (drop (S n0) O c2 e) (ex3_4 F C T T
2952 (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e
2953 (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_:
2954 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 (Flat f) w)))))) (\lambda (_:
2955 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
2956 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
2957 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_:
2958 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 (Flat f)
2959 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
2960 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1:
2961 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f)
2962 u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
2963 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 (Flat f) w))))))) (\lambda (_:
2964 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O
2965 v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
2966 T).(\lambda (_: T).(csubst0 O v e1 e2)))))))))))))) (\lambda (n1:
2967 nat).(\lambda (c2: C).(\lambda (v: T).(\lambda (_: (csubst0 (S n0) v (CSort
2968 n1) c2)).(\lambda (e: C).(\lambda (H0: (drop (S n0) O (CSort n1)
2969 e)).(and3_ind (eq C e (CSort n1)) (eq nat (S n0) O) (eq nat O O) (or4 (drop
2970 (S n0) O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u:
2971 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f:
2972 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead
2973 e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda
2974 (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1:
2975 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u))))))
2976 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0)
2977 O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
2978 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda
2979 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C
2980 e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
2981 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 (Flat f)
2982 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
2983 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1:
2984 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
2985 e2)))))))) (\lambda (H1: (eq C e (CSort n1))).(\lambda (H2: (eq nat (S n0)
2986 O)).(\lambda (_: (eq nat O O)).(eq_ind_r C (CSort n1) (\lambda (c: C).(or4
2987 (drop (S n0) O c2 c) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda
2988 (u: T).(\lambda (_: T).(eq C c (CHead e0 (Flat f) u)))))) (\lambda (f:
2989 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead
2990 e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda
2991 (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1:
2992 C).(\lambda (_: C).(\lambda (u: T).(eq C c (CHead e1 (Flat f) u))))))
2993 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0)
2994 O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
2995 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda
2996 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C
2997 c (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
2998 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 (Flat f)
2999 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
3000 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1:
3001 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
3002 e2))))))))) (let H4 \def (eq_ind nat (S n0) (\lambda (ee: nat).(match ee in
3003 nat return (\lambda (_: nat).Prop) with [O \Rightarrow False | (S _)
3004 \Rightarrow True])) I O H2) in (False_ind (or4 (drop (S n0) O c2 (CSort n1))
3005 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_:
3006 T).(eq C (CSort n1) (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0:
3007 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 (Flat f)
3008 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
3009 T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1:
3010 C).(\lambda (_: C).(\lambda (u: T).(eq C (CSort n1) (CHead e1 (Flat f)
3011 u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
3012 T).(drop (S n0) O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1:
3013 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T
3014 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_:
3015 T).(eq C (CSort n1) (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_:
3016 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead
3017 e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
3018 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1:
3019 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
3020 e2)))))))) H4)) e H1)))) (drop_gen_sort n1 (S n0) O e H0)))))))) (\lambda (c:
3021 C).(\lambda (H: ((\forall (c2: C).(\forall (v: T).((csubst0 (S n0) v c c2)
3022 \to (\forall (e: C).((drop (S n0) O c e) \to (or4 (drop (S n0) O c2 e) (ex3_4
3023 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq
3024 C e (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_:
3025 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e0 (Flat f) w)))))) (\lambda (_:
3026 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
3027 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
3028 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_:
3029 C).(\lambda (e2: C).(\lambda (u: T).(drop (S n0) O c2 (CHead e2 (Flat f)
3030 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
3031 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1:
3032 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f)
3033 u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
3034 T).(\lambda (w: T).(drop (S n0) O c2 (CHead e2 (Flat f) w))))))) (\lambda (_:
3035 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O
3036 v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
3037 T).(\lambda (_: T).(csubst0 O v e1 e2))))))))))))))).(\lambda (k: K).(\lambda
3038 (t: T).(\lambda (c2: C).(\lambda (v: T).(\lambda (H0: (csubst0 (S n0) v
3039 (CHead c k t) c2)).(\lambda (e: C).(\lambda (H1: (drop (S n0) O (CHead c k t)
3040 e)).(let H2 \def (match H0 in csubst0 return (\lambda (n1: nat).(\lambda (t0:
3041 T).(\lambda (c0: C).(\lambda (c3: C).(\lambda (_: (csubst0 n1 t0 c0 c3)).((eq
3042 nat n1 (S n0)) \to ((eq T t0 v) \to ((eq C c0 (CHead c k t)) \to ((eq C c3
3043 c2) \to (or4 (drop (S n0) O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda
3044 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u))))))
3045 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0)
3046 O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u:
3047 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f:
3048 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat
3049 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
3050 T).(drop (S n0) O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1:
3051 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T
3052 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_:
3053 T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_:
3054 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c2 (CHead
3055 e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
3056 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1:
3057 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
3058 e2))))))))))))))))) with [(csubst0_snd k0 i v0 u1 u2 H2 c0) \Rightarrow
3059 (\lambda (H3: (eq nat (s k0 i) (S n0))).(\lambda (H4: (eq T v0 v)).(\lambda
3060 (H5: (eq C (CHead c0 k0 u1) (CHead c k t))).(\lambda (H6: (eq C (CHead c0 k0
3061 u2) c2)).((let H7 \def (f_equal nat nat (\lambda (e0: nat).e0) (s k0 i) (S
3062 n0) H3) in (eq_ind nat (s k0 i) (\lambda (n1: nat).((eq T v0 v) \to ((eq C
3063 (CHead c0 k0 u1) (CHead c k t)) \to ((eq C (CHead c0 k0 u2) c2) \to ((subst0
3064 i v0 u1 u2) \to (or4 (drop n1 O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda
3065 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u))))))
3066 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop n1 O
3067 c2 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u:
3068 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f:
3069 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat
3070 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
3071 T).(drop n1 O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1:
3072 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T
3073 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_:
3074 T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_:
3075 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop n1 O c2 (CHead e2
3076 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
3077 (u: 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 (H8: (eq T v0 v)).(eq_ind T v (\lambda (t0: T).((eq
3080 C (CHead c0 k0 u1) (CHead c k t)) \to ((eq C (CHead c0 k0 u2) c2) \to
3081 ((subst0 i t0 u1 u2) \to (or4 (drop (s k0 i) O c2 e) (ex3_4 F C T T (\lambda
3082 (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0
3083 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda
3084 (w: T).(drop (s k0 i) O c2 (CHead e0 (Flat f) w)))))) (\lambda (_:
3085 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
3086 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
3087 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_:
3088 C).(\lambda (e2: C).(\lambda (u: T).(drop (s k0 i) O c2 (CHead e2 (Flat f)
3089 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
3090 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1:
3091 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f)
3092 u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
3093 T).(\lambda (w: T).(drop (s k0 i) O c2 (CHead e2 (Flat f) w))))))) (\lambda
3094 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
3095 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
3096 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))))))) (\lambda
3097 (H9: (eq C (CHead c0 k0 u1) (CHead c k t))).(let H10 \def (f_equal C T
3098 (\lambda (e0: C).(match e0 in C return (\lambda (_: C).T) with [(CSort _)
3099 \Rightarrow u1 | (CHead _ _ t0) \Rightarrow t0])) (CHead c0 k0 u1) (CHead c k
3100 t) H9) in ((let H11 \def (f_equal C K (\lambda (e0: C).(match e0 in C return
3101 (\lambda (_: C).K) with [(CSort _) \Rightarrow k0 | (CHead _ k1 _)
3102 \Rightarrow k1])) (CHead c0 k0 u1) (CHead c k t) H9) in ((let H12 \def
3103 (f_equal C C (\lambda (e0: C).(match e0 in C return (\lambda (_: C).C) with
3104 [(CSort _) \Rightarrow c0 | (CHead c3 _ _) \Rightarrow c3])) (CHead c0 k0 u1)
3105 (CHead c k t) H9) in (eq_ind C c (\lambda (c3: C).((eq K k0 k) \to ((eq T u1
3106 t) \to ((eq C (CHead c3 k0 u2) c2) \to ((subst0 i v u1 u2) \to (or4 (drop (s
3107 k0 i) O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u:
3108 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f:
3109 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s k0 i) O c2
3110 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u:
3111 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f:
3112 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat
3113 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
3114 T).(drop (s k0 i) O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda
3115 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
3116 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
3117 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f:
3118 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3119 k0 i) O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_:
3120 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
3121 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3122 (_: T).(csubst0 O v e1 e2))))))))))))) (\lambda (H13: (eq K k0 k)).(eq_ind K
3123 k (\lambda (k1: K).((eq T u1 t) \to ((eq C (CHead c k1 u2) c2) \to ((subst0 i
3124 v u1 u2) \to (or4 (drop (s k1 i) O c2 e) (ex3_4 F C T T (\lambda (f:
3125 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat
3126 f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
3127 T).(drop (s k1 i) O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda
3128 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T
3129 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e
3130 (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
3131 C).(\lambda (u: T).(drop (s k1 i) O c2 (CHead e2 (Flat f) u)))))) (\lambda
3132 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1
3133 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
3134 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u)))))))
3135 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
3136 T).(drop (s k1 i) O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda
3137 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
3138 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3139 (_: T).(csubst0 O v e1 e2)))))))))))) (\lambda (H14: (eq T u1 t)).(eq_ind T t
3140 (\lambda (t0: T).((eq C (CHead c k u2) c2) \to ((subst0 i v t0 u2) \to (or4
3141 (drop (s k i) O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
3142 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u))))))
3143 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s k
3144 i) O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda
3145 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f:
3146 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat
3147 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
3148 T).(drop (s k i) O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda
3149 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
3150 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
3151 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f:
3152 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3153 k i) O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_:
3154 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
3155 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3156 (_: T).(csubst0 O v e1 e2))))))))))) (\lambda (H15: (eq C (CHead c k u2)
3157 c2)).(eq_ind C (CHead c k u2) (\lambda (c3: C).((subst0 i v t u2) \to (or4
3158 (drop (s k i) O c3 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
3159 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u))))))
3160 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s k
3161 i) O c3 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda
3162 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f:
3163 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat
3164 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
3165 T).(drop (s k i) O c3 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda
3166 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
3167 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
3168 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f:
3169 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3170 k i) O c3 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_:
3171 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
3172 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3173 (_: T).(csubst0 O v e1 e2)))))))))) (\lambda (H16: (subst0 i v t u2)).(let
3174 H17 \def (eq_ind K k0 (\lambda (k1: K).(eq nat (s k1 i) (S n0))) H7 k H13) in
3175 (K_ind (\lambda (k1: K).((drop (r k1 n0) O c e) \to ((eq nat (s k1 i) (S n0))
3176 \to (or4 (drop (s k1 i) O (CHead c k1 u2) e) (ex3_4 F C T T (\lambda (f:
3177 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat
3178 f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
3179 T).(drop (s k1 i) O (CHead c k1 u2) (CHead e0 (Flat f) w)))))) (\lambda (_:
3180 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
3181 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
3182 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_:
3183 C).(\lambda (e2: C).(\lambda (u: T).(drop (s k1 i) O (CHead c k1 u2) (CHead
3184 e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
3185 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f:
3186 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e
3187 (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
3188 C).(\lambda (_: T).(\lambda (w: T).(drop (s k1 i) O (CHead c k1 u2) (CHead e2
3189 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
3190 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1:
3191 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
3192 e2))))))))))) (\lambda (b: B).(\lambda (H18: (drop (r (Bind b) n0) O c
3193 e)).(\lambda (H19: (eq nat (s (Bind b) i) (S n0))).(let H20 \def (f_equal nat
3194 nat (\lambda (e0: nat).(match e0 in nat return (\lambda (_: nat).nat) with [O
3195 \Rightarrow i | (S n1) \Rightarrow n1])) (S i) (S n0) H19) in (let H21 \def
3196 (eq_ind nat i (\lambda (n1: nat).(subst0 n1 v t u2)) H16 n0 H20) in (eq_ind_r
3197 nat n0 (\lambda (n1: nat).(or4 (drop (s (Bind b) n1) O (CHead c (Bind b) u2)
3198 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda
3199 (_: T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0:
3200 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n1) O (CHead c (Bind b)
3201 u2) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u:
3202 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f:
3203 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat
3204 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
3205 T).(drop (s (Bind b) n1) O (CHead c (Bind b) u2) (CHead e2 (Flat f) u))))))
3206 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
3207 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
3208 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u)))))))
3209 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
3210 T).(drop (s (Bind b) n1) O (CHead c (Bind b) u2) (CHead e2 (Flat f) w)))))))
3211 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
3212 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
3213 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))))) (or4_intro0
3214 (drop (s (Bind b) n0) O (CHead c (Bind b) u2) e) (ex3_4 F C T T (\lambda (f:
3215 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat
3216 f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
3217 T).(drop (s (Bind b) n0) O (CHead c (Bind b) u2) (CHead e0 (Flat f) w))))))
3218 (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u
3219 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
3220 C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f:
3221 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Bind b) n0) O
3222 (CHead c (Bind b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda
3223 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
3224 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
3225 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f:
3226 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3227 (Bind b) n0) O (CHead c (Bind b) u2) (CHead e2 (Flat f) w))))))) (\lambda (_:
3228 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O
3229 v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
3230 T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (drop_drop (Bind b) n0 c e H18
3231 u2)) i H20)))))) (\lambda (f: F).(\lambda (H18: (drop (r (Flat f) n0) O c
3232 e)).(\lambda (H19: (eq nat (s (Flat f) i) (S n0))).(let H20 \def (f_equal nat
3233 nat (\lambda (e0: nat).e0) i (S n0) H19) in (let H21 \def (eq_ind nat i
3234 (\lambda (n1: nat).(subst0 n1 v t u2)) H16 (S n0) H20) in (eq_ind_r nat (S
3235 n0) (\lambda (n1: nat).(or4 (drop (s (Flat f) n1) O (CHead c (Flat f) u2) e)
3236 (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_:
3237 T).(eq C e (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0:
3238 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) n1) O (CHead c (Flat f)
3239 u2) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u:
3240 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f0:
3241 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat
3242 f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
3243 T).(drop (s (Flat f) n1) O (CHead c (Flat f) u2) (CHead e2 (Flat f0) u))))))
3244 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
3245 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
3246 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u)))))))
3247 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3248 (w: T).(drop (s (Flat f) n1) O (CHead c (Flat f) u2) (CHead e2 (Flat f0)
3249 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
3250 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1:
3251 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
3252 e2))))))))) (or4_intro0 (drop (s (Flat f) (S n0)) O (CHead c (Flat f) u2) e)
3253 (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_:
3254 T).(eq C e (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0:
3255 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c (Flat
3256 f) u2) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda
3257 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f0:
3258 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat
3259 f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
3260 T).(drop (s (Flat f) (S n0)) O (CHead c (Flat f) u2) (CHead e2 (Flat f0)
3261 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
3262 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1:
3263 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat
3264 f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
3265 T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c (Flat f) u2) (CHead
3266 e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
3267 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_:
3268 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
3269 O v e1 e2))))))) (drop_drop (Flat f) n0 c e H18 u2)) i H20)))))) k
3270 (drop_gen_drop k c e t n0 H1) H17))) c2 H15)) u1 (sym_eq T u1 t H14))) k0
3271 (sym_eq K k0 k H13))) c0 (sym_eq C c0 c H12))) H11)) H10))) v0 (sym_eq T v0 v
3272 H8))) (S n0) H7)) H4 H5 H6 H2))))) | (csubst0_fst k0 i c0 c3 v0 H2 u)
3273 \Rightarrow (\lambda (H3: (eq nat (s k0 i) (S n0))).(\lambda (H4: (eq T v0
3274 v)).(\lambda (H5: (eq C (CHead c0 k0 u) (CHead c k t))).(\lambda (H6: (eq C
3275 (CHead c3 k0 u) c2)).((let H7 \def (f_equal nat nat (\lambda (e0: nat).e0) (s
3276 k0 i) (S n0) H3) in (eq_ind nat (s k0 i) (\lambda (n1: nat).((eq T v0 v) \to
3277 ((eq C (CHead c0 k0 u) (CHead c k t)) \to ((eq C (CHead c3 k0 u) c2) \to
3278 ((csubst0 i v0 c0 c3) \to (or4 (drop n1 O c2 e) (ex3_4 F C T T (\lambda (f:
3279 F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat
3280 f) u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
3281 T).(drop n1 O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_:
3282 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T
3283 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e
3284 (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
3285 C).(\lambda (u0: T).(drop n1 O c2 (CHead e2 (Flat f) u0)))))) (\lambda (_:
3286 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
3287 (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
3288 (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u0))))))) (\lambda (f:
3289 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop n1
3290 O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
3291 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_:
3292 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
3293 O v e1 e2))))))))))))) (\lambda (H8: (eq T v0 v)).(eq_ind T v (\lambda (t0:
3294 T).((eq C (CHead c0 k0 u) (CHead c k t)) \to ((eq C (CHead c3 k0 u) c2) \to
3295 ((csubst0 i t0 c0 c3) \to (or4 (drop (s k0 i) O c2 e) (ex3_4 F C T T (\lambda
3296 (f: F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0
3297 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda
3298 (w: T).(drop (s k0 i) O c2 (CHead e0 (Flat f) w)))))) (\lambda (_:
3299 F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))))
3300 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0:
3301 T).(eq C e (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_:
3302 C).(\lambda (e2: C).(\lambda (u0: T).(drop (s k0 i) O c2 (CHead e2 (Flat f)
3303 u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
3304 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1:
3305 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat
3306 f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
3307 T).(\lambda (w: T).(drop (s k0 i) O c2 (CHead e2 (Flat f) w))))))) (\lambda
3308 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
3309 T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
3310 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))))))) (\lambda
3311 (H9: (eq C (CHead c0 k0 u) (CHead c k t))).(let H10 \def (f_equal C T
3312 (\lambda (e0: C).(match e0 in C return (\lambda (_: C).T) with [(CSort _)
3313 \Rightarrow u | (CHead _ _ t0) \Rightarrow t0])) (CHead c0 k0 u) (CHead c k
3314 t) H9) in ((let H11 \def (f_equal C K (\lambda (e0: C).(match e0 in C return
3315 (\lambda (_: C).K) with [(CSort _) \Rightarrow k0 | (CHead _ k1 _)
3316 \Rightarrow k1])) (CHead c0 k0 u) (CHead c k t) H9) in ((let H12 \def
3317 (f_equal C C (\lambda (e0: C).(match e0 in C return (\lambda (_: C).C) with
3318 [(CSort _) \Rightarrow c0 | (CHead c4 _ _) \Rightarrow c4])) (CHead c0 k0 u)
3319 (CHead c k t) H9) in (eq_ind C c (\lambda (c4: C).((eq K k0 k) \to ((eq T u
3320 t) \to ((eq C (CHead c3 k0 u) c2) \to ((csubst0 i v c4 c3) \to (or4 (drop (s
3321 k0 i) O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u0:
3322 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u0)))))) (\lambda (f:
3323 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s k0 i) O c2
3324 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0:
3325 T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f:
3326 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 (Flat
3327 f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0:
3328 T).(drop (s k0 i) O c2 (CHead e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda
3329 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
3330 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0:
3331 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u0))))))) (\lambda (f:
3332 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3333 k0 i) O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_:
3334 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))))
3335 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3336 (_: T).(csubst0 O v e1 e2))))))))))))) (\lambda (H13: (eq K k0 k)).(eq_ind K
3337 k (\lambda (k1: K).((eq T u t) \to ((eq C (CHead c3 k1 u) c2) \to ((csubst0 i
3338 v c c3) \to (or4 (drop (s k1 i) O c2 e) (ex3_4 F C T T (\lambda (f:
3339 F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat
3340 f) u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
3341 T).(drop (s k1 i) O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda
3342 (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T
3343 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e
3344 (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
3345 C).(\lambda (u0: T).(drop (s k1 i) O c2 (CHead e2 (Flat f) u0)))))) (\lambda
3346 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1
3347 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
3348 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u0)))))))
3349 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
3350 T).(drop (s k1 i) O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda
3351 (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0
3352 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
3353 T).(\lambda (_: T).(csubst0 O v e1 e2)))))))))))) (\lambda (H14: (eq T u
3354 t)).(eq_ind T t (\lambda (t0: T).((eq C (CHead c3 k t0) c2) \to ((csubst0 i v
3355 c c3) \to (or4 (drop (s k i) O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda
3356 (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u0))))))
3357 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s k
3358 i) O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda
3359 (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f:
3360 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 (Flat
3361 f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0:
3362 T).(drop (s k i) O c2 (CHead e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda
3363 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
3364 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0:
3365 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u0))))))) (\lambda (f:
3366 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3367 k i) O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_:
3368 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))))
3369 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3370 (_: T).(csubst0 O v e1 e2))))))))))) (\lambda (H15: (eq C (CHead c3 k t)
3371 c2)).(eq_ind C (CHead c3 k t) (\lambda (c4: C).((csubst0 i v c c3) \to (or4
3372 (drop (s k i) O c4 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
3373 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u0))))))
3374 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s k
3375 i) O c4 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda
3376 (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f:
3377 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 (Flat
3378 f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0:
3379 T).(drop (s k i) O c4 (CHead e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda
3380 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
3381 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0:
3382 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u0))))))) (\lambda (f:
3383 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3384 k i) O c4 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_:
3385 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))))
3386 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3387 (_: T).(csubst0 O v e1 e2)))))))))) (\lambda (H16: (csubst0 i v c c3)).(let
3388 H17 \def (eq_ind K k0 (\lambda (k1: K).(eq nat (s k1 i) (S n0))) H7 k H13) in
3389 (K_ind (\lambda (k1: K).((drop (r k1 n0) O c e) \to ((eq nat (s k1 i) (S n0))
3390 \to (or4 (drop (s k1 i) O (CHead c3 k1 t) e) (ex3_4 F C T T (\lambda (f:
3391 F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat
3392 f) u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
3393 T).(drop (s k1 i) O (CHead c3 k1 t) (CHead e0 (Flat f) w)))))) (\lambda (_:
3394 F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))))
3395 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0:
3396 T).(eq C e (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_:
3397 C).(\lambda (e2: C).(\lambda (u0: T).(drop (s k1 i) O (CHead c3 k1 t) (CHead
3398 e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
3399 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f:
3400 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e
3401 (CHead e1 (Flat f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
3402 C).(\lambda (_: T).(\lambda (w: T).(drop (s k1 i) O (CHead c3 k1 t) (CHead e2
3403 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
3404 (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1:
3405 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
3406 e2))))))))))) (\lambda (b: B).(\lambda (H18: (drop (r (Bind b) n0) O c
3407 e)).(\lambda (H19: (eq nat (s (Bind b) i) (S n0))).(let H20 \def (f_equal nat
3408 nat (\lambda (e0: nat).(match e0 in nat return (\lambda (_: nat).nat) with [O
3409 \Rightarrow i | (S n1) \Rightarrow n1])) (S i) (S n0) H19) in (let H21 \def
3410 (eq_ind nat i (\lambda (n1: nat).(csubst0 n1 v c c3)) H16 n0 H20) in
3411 (eq_ind_r nat n0 (\lambda (n1: nat).(or4 (drop (s (Bind b) n1) O (CHead c3
3412 (Bind b) t) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u0:
3413 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u0)))))) (\lambda (f:
3414 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n1) O
3415 (CHead c3 (Bind b) t) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_:
3416 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T
3417 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e
3418 (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
3419 C).(\lambda (u0: T).(drop (s (Bind b) n1) O (CHead c3 (Bind b) t) (CHead e2
3420 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
3421 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda
3422 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1
3423 (Flat f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
3424 (_: T).(\lambda (w: T).(drop (s (Bind b) n1) O (CHead c3 (Bind b) t) (CHead
3425 e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
3426 (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1:
3427 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
3428 e2))))))))) (let H22 \def (IHn c c3 v H21 e H18) in (or4_ind (drop n0 O c3 e)
3429 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_:
3430 T).(eq C e (CHead e0 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e0:
3431 C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c3 (CHead e0 (Flat f) w))))))
3432 (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v
3433 u0 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
3434 C).(\lambda (u0: T).(eq C e (CHead e1 (Flat f) u0)))))) (\lambda (f:
3435 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop n0 O c3 (CHead e2
3436 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
3437 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda
3438 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1
3439 (Flat f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
3440 (_: T).(\lambda (w: T).(drop n0 O c3 (CHead e2 (Flat f) w))))))) (\lambda (_:
3441 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O
3442 v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
3443 T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (or4 (drop (s (Bind b) n0) O
3444 (CHead c3 (Bind b) t) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
3445 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u0))))))
3446 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3447 (Bind b) n0) O (CHead c3 (Bind b) t) (CHead e0 (Flat f) w)))))) (\lambda (_:
3448 F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))))
3449 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0:
3450 T).(eq C e (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_:
3451 C).(\lambda (e2: C).(\lambda (u0: T).(drop (s (Bind b) n0) O (CHead c3 (Bind
3452 b) t) (CHead e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
3453 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda
3454 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq
3455 C e (CHead e1 (Flat f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda
3456 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3
3457 (Bind b) t) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_:
3458 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))))
3459 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3460 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (H23: (drop n0 O c3
3461 e)).(or4_intro0 (drop (s (Bind b) n0) O (CHead c3 (Bind b) t) e) (ex3_4 F C T
3462 T (\lambda (f: F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e
3463 (CHead e0 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_:
3464 T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) t) (CHead e0
3465 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda
3466 (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1:
3467 C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 (Flat f) u0))))))
3468 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s
3469 (Bind b) n0) O (CHead c3 (Bind b) t) (CHead e2 (Flat f) u0)))))) (\lambda (_:
3470 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
3471 (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
3472 (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u0))))))) (\lambda (f:
3473 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3474 (Bind b) n0) O (CHead c3 (Bind b) t) (CHead e2 (Flat f) w))))))) (\lambda (_:
3475 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O
3476 v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
3477 T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (drop_drop (Bind b) n0 c3 e H23
3478 t))) (\lambda (H23: (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda
3479 (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u0)))))) (\lambda (f:
3480 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c3 (CHead e0
3481 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda
3482 (w: T).(subst0 O v u0 w))))))).(ex3_4_ind F C T T (\lambda (f: F).(\lambda
3483 (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u0))))))
3484 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop n0 O
3485 c3 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0:
3486 T).(\lambda (w: T).(subst0 O v u0 w))))) (or4 (drop (s (Bind b) n0) O (CHead
3487 c3 (Bind b) t) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda
3488 (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u0)))))) (\lambda (f:
3489 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O
3490 (CHead c3 (Bind b) t) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_:
3491 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T
3492 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e
3493 (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
3494 C).(\lambda (u0: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) t) (CHead e2
3495 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
3496 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda
3497 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1
3498 (Flat f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
3499 (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) t) (CHead
3500 e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
3501 (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1:
3502 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
3503 e2)))))))) (\lambda (x0: F).(\lambda (x1: C).(\lambda (x2: T).(\lambda (x3:
3504 T).(\lambda (H24: (eq C e (CHead x1 (Flat x0) x2))).(\lambda (H25: (drop n0 O
3505 c3 (CHead x1 (Flat x0) x3))).(\lambda (H26: (subst0 O v x2 x3)).(eq_ind_r C
3506 (CHead x1 (Flat x0) x2) (\lambda (c4: C).(or4 (drop (s (Bind b) n0) O (CHead
3507 c3 (Bind b) t) c4) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda
3508 (u0: T).(\lambda (_: T).(eq C c4 (CHead e0 (Flat f) u0)))))) (\lambda (f:
3509 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O
3510 (CHead c3 (Bind b) t) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_:
3511 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T
3512 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C c4
3513 (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
3514 C).(\lambda (u0: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) t) (CHead e2
3515 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
3516 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda
3517 (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C c4 (CHead e1
3518 (Flat f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
3519 (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) t) (CHead
3520 e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
3521 (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1:
3522 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
3523 e2))))))))) (or4_intro1 (drop (s (Bind b) n0) O (CHead c3 (Bind b) t) (CHead
3524 x1 (Flat x0) x2)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda
3525 (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x2) (CHead e0 (Flat f)
3526 u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
3527 T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) t) (CHead e0 (Flat f) w))))))
3528 (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v
3529 u0 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
3530 C).(\lambda (u0: T).(eq C (CHead x1 (Flat x0) x2) (CHead e1 (Flat f) u0))))))
3531 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s
3532 (Bind b) n0) O (CHead c3 (Bind b) t) (CHead e2 (Flat f) u0)))))) (\lambda (_:
3533 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
3534 (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
3535 (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x2) (CHead e1 (Flat f)
3536 u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
3537 T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) t) (CHead e2
3538 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
3539 (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1:
3540 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))
3541 (ex3_4_intro F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u0:
3542 T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x2) (CHead e0 (Flat f) u0))))))
3543 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3544 (Bind b) n0) O (CHead c3 (Bind b) t) (CHead e0 (Flat f) w)))))) (\lambda (_:
3545 F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))) x0
3546 x1 x2 x3 (refl_equal C (CHead x1 (Flat x0) x2)) (drop_drop (Bind b) n0 c3
3547 (CHead x1 (Flat x0) x3) H25 t) H26)) e H24)))))))) H23)) (\lambda (H23:
3548 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0:
3549 T).(eq C e (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_:
3550 C).(\lambda (e2: C).(\lambda (u0: T).(drop n0 O c3 (CHead e2 (Flat f)
3551 u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
3552 T).(csubst0 O v e1 e2))))))).(ex3_4_ind F C C T (\lambda (f: F).(\lambda (e1:
3553 C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 (Flat f) u0))))))
3554 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop n0 O
3555 c3 (CHead e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
3556 C).(\lambda (_: T).(csubst0 O v e1 e2))))) (or4 (drop (s (Bind b) n0) O
3557 (CHead c3 (Bind b) t) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
3558 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u0))))))
3559 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3560 (Bind b) n0) O (CHead c3 (Bind b) t) (CHead e0 (Flat f) w)))))) (\lambda (_:
3561 F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))))
3562 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0:
3563 T).(eq C e (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_:
3564 C).(\lambda (e2: C).(\lambda (u0: T).(drop (s (Bind b) n0) O (CHead c3 (Bind
3565 b) t) (CHead e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
3566 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda
3567 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq
3568 C e (CHead e1 (Flat f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda
3569 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3
3570 (Bind b) t) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_:
3571 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))))
3572 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3573 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x0: F).(\lambda (x1: C).(\lambda
3574 (x2: C).(\lambda (x3: T).(\lambda (H24: (eq C e (CHead x1 (Flat x0)
3575 x3))).(\lambda (H25: (drop n0 O c3 (CHead x2 (Flat x0) x3))).(\lambda (H26:
3576 (csubst0 O v x1 x2)).(eq_ind_r C (CHead x1 (Flat x0) x3) (\lambda (c4:
3577 C).(or4 (drop (s (Bind b) n0) O (CHead c3 (Bind b) t) c4) (ex3_4 F C T T
3578 (\lambda (f: F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C c4
3579 (CHead e0 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_:
3580 T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) t) (CHead e0
3581 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda
3582 (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1:
3583 C).(\lambda (_: C).(\lambda (u0: T).(eq C c4 (CHead e1 (Flat f) u0))))))
3584 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s
3585 (Bind b) n0) O (CHead c3 (Bind b) t) (CHead e2 (Flat f) u0)))))) (\lambda (_:
3586 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
3587 (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
3588 (u0: T).(\lambda (_: T).(eq C c4 (CHead e1 (Flat f) u0))))))) (\lambda (f:
3589 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3590 (Bind b) n0) O (CHead c3 (Bind b) t) (CHead e2 (Flat f) w))))))) (\lambda (_:
3591 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O
3592 v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
3593 T).(\lambda (_: T).(csubst0 O v e1 e2))))))))) (or4_intro2 (drop (s (Bind b)
3594 n0) O (CHead c3 (Bind b) t) (CHead x1 (Flat x0) x3)) (ex3_4 F C T T (\lambda
3595 (f: F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1
3596 (Flat x0) x3) (CHead e0 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e0:
3597 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b)
3598 t) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0:
3599 T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f:
3600 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1 (Flat
3601 x0) x3) (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda
3602 (e2: C).(\lambda (u0: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) t) (CHead
3603 e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
3604 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f:
3605 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C
3606 (CHead x1 (Flat x0) x3) (CHead e1 (Flat f) u0))))))) (\lambda (f: F).(\lambda
3607 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0)
3608 O (CHead c3 (Bind b) t) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda
3609 (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0
3610 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
3611 T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (ex3_4_intro F C C T (\lambda
3612 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1
3613 (Flat x0) x3) (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_:
3614 C).(\lambda (e2: C).(\lambda (u0: T).(drop (s (Bind b) n0) O (CHead c3 (Bind
3615 b) t) (CHead e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
3616 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))) x0 x1 x2 x3 (refl_equal C
3617 (CHead x1 (Flat x0) x3)) (drop_drop (Bind b) n0 c3 (CHead x2 (Flat x0) x3)
3618 H25 t) H26)) e H24)))))))) H23)) (\lambda (H23: (ex4_5 F C C T T (\lambda (f:
3619 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e
3620 (CHead e1 (Flat f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
3621 C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c3 (CHead e2 (Flat f) w)))))))
3622 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
3623 T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
3624 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))).(ex4_5_ind F C
3625 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0:
3626 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u0))))))) (\lambda (f:
3627 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop n0
3628 O c3 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
3629 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_:
3630 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
3631 O v e1 e2)))))) (or4 (drop (s (Bind b) n0) O (CHead c3 (Bind b) t) e) (ex3_4
3632 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq
3633 C e (CHead e0 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_:
3634 T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) t) (CHead e0
3635 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda
3636 (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1:
3637 C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 (Flat f) u0))))))
3638 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s
3639 (Bind b) n0) O (CHead c3 (Bind b) t) (CHead e2 (Flat f) u0)))))) (\lambda (_:
3640 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
3641 (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
3642 (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u0))))))) (\lambda (f:
3643 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3644 (Bind b) n0) O (CHead c3 (Bind b) t) (CHead e2 (Flat f) w))))))) (\lambda (_:
3645 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O
3646 v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
3647 T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x0: F).(\lambda (x1:
3648 C).(\lambda (x2: C).(\lambda (x3: T).(\lambda (x4: T).(\lambda (H24: (eq C e
3649 (CHead x1 (Flat x0) x3))).(\lambda (H25: (drop n0 O c3 (CHead x2 (Flat x0)
3650 x4))).(\lambda (H26: (subst0 O v x3 x4)).(\lambda (H27: (csubst0 O v x1
3651 x2)).(eq_ind_r C (CHead x1 (Flat x0) x3) (\lambda (c4: C).(or4 (drop (s (Bind
3652 b) n0) O (CHead c3 (Bind b) t) c4) (ex3_4 F C T T (\lambda (f: F).(\lambda
3653 (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C c4 (CHead e0 (Flat f) u0))))))
3654 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3655 (Bind b) n0) O (CHead c3 (Bind b) t) (CHead e0 (Flat f) w)))))) (\lambda (_:
3656 F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))))
3657 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0:
3658 T).(eq C c4 (CHead e1 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_:
3659 C).(\lambda (e2: C).(\lambda (u0: T).(drop (s (Bind b) n0) O (CHead c3 (Bind
3660 b) t) (CHead e2 (Flat f) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
3661 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda
3662 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq
3663 C c4 (CHead e1 (Flat f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda
3664 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3
3665 (Bind b) t) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_:
3666 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))))
3667 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3668 (_: T).(csubst0 O v e1 e2))))))))) (or4_intro3 (drop (s (Bind b) n0) O (CHead
3669 c3 (Bind b) t) (CHead x1 (Flat x0) x3)) (ex3_4 F C T T (\lambda (f:
3670 F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat
3671 x0) x3) (CHead e0 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda
3672 (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) t) (CHead
3673 e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda
3674 (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1:
3675 C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1 (Flat x0) x3) (CHead e1
3676 (Flat f) u0)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
3677 (u0: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) t) (CHead e2 (Flat f)
3678 u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
3679 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1:
3680 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0)
3681 x3) (CHead e1 (Flat f) u0))))))) (\lambda (f: F).(\lambda (_: C).(\lambda
3682 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3
3683 (Bind b) t) (CHead e2 (Flat f) 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))))))) (ex4_5_intro F C C T T (\lambda (f:
3687 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C
3688 (CHead x1 (Flat x0) x3) (CHead e1 (Flat f) u0))))))) (\lambda (f: F).(\lambda
3689 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0)
3690 O (CHead c3 (Bind b) t) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda
3691 (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0
3692 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
3693 T).(\lambda (_: T).(csubst0 O v e1 e2)))))) x0 x1 x2 x3 x4 (refl_equal C
3694 (CHead x1 (Flat x0) x3)) (drop_drop (Bind b) n0 c3 (CHead x2 (Flat x0) x4)
3695 H25 t) H26 H27)) e H24)))))))))) H23)) H22)) i H20)))))) (\lambda (f:
3696 F).(\lambda (H18: (drop (r (Flat f) n0) O c e)).(\lambda (H19: (eq nat (s
3697 (Flat f) i) (S n0))).(let H20 \def (f_equal nat nat (\lambda (e0: nat).e0) i
3698 (S n0) H19) in (let H21 \def (eq_ind nat i (\lambda (n1: nat).(csubst0 n1 v c
3699 c3)) H16 (S n0) H20) in (eq_ind_r nat (S n0) (\lambda (n1: nat).(or4 (drop (s
3700 (Flat f) n1) O (CHead c3 (Flat f) t) e) (ex3_4 F C T T (\lambda (f0:
3701 F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat
3702 f0) u0)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
3703 T).(drop (s (Flat f) n1) O (CHead c3 (Flat f) t) (CHead e0 (Flat f0) w))))))
3704 (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v
3705 u0 w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
3706 C).(\lambda (u0: T).(eq C e (CHead e1 (Flat f0) u0)))))) (\lambda (f0:
3707 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s (Flat f) n1) O
3708 (CHead c3 (Flat f) t) (CHead e2 (Flat f0) u0)))))) (\lambda (_: F).(\lambda
3709 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
3710 C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0:
3711 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u0))))))) (\lambda (f0:
3712 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3713 (Flat f) n1) O (CHead c3 (Flat f) t) (CHead e2 (Flat f0) w))))))) (\lambda
3714 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
3715 T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
3716 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))))) (let H22 \def
3717 (H c3 v H21 e H18) in (or4_ind (drop (S n0) O c3 e) (ex3_4 F C T T (\lambda
3718 (f0: F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0
3719 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda
3720 (w: T).(drop (S n0) O c3 (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda
3721 (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T
3722 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e
3723 (CHead e1 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
3724 C).(\lambda (u0: T).(drop (S n0) O c3 (CHead e2 (Flat f0) u0)))))) (\lambda
3725 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1
3726 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
3727 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u0)))))))
3728 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3729 (w: T).(drop (S n0) O c3 (CHead e2 (Flat f0) w))))))) (\lambda (_:
3730 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O
3731 v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
3732 T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (or4 (drop (s (Flat f) (S n0)) O
3733 (CHead c3 (Flat f) t) e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0:
3734 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u0))))))
3735 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3736 (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead e0 (Flat f0) w)))))) (\lambda
3737 (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0
3738 w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
3739 C).(\lambda (u0: T).(eq C e (CHead e1 (Flat f0) u0)))))) (\lambda (f0:
3740 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s (Flat f) (S
3741 n0)) O (CHead c3 (Flat f) t) (CHead e2 (Flat f0) u0)))))) (\lambda (_:
3742 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
3743 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
3744 (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u0))))))) (\lambda (f0:
3745 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3746 (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead e2 (Flat f0) w)))))))
3747 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
3748 T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
3749 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda (H23:
3750 (drop (S n0) O c3 e)).(or4_intro0 (drop (s (Flat f) (S n0)) O (CHead c3 (Flat
3751 f) t) e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u0:
3752 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u0)))))) (\lambda (f0:
3753 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0))
3754 O (CHead c3 (Flat f) t) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda
3755 (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T
3756 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e
3757 (CHead e1 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
3758 C).(\lambda (u0: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead
3759 e2 (Flat f0) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
3760 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0:
3761 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e
3762 (CHead e1 (Flat f0) u0))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
3763 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3
3764 (Flat f) t) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_:
3765 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))))
3766 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3767 (_: T).(csubst0 O v e1 e2))))))) (drop_drop (Flat f) n0 c3 e H23 t)))
3768 (\lambda (H23: (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u0:
3769 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u0)))))) (\lambda (f0:
3770 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c3 (CHead
3771 e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0:
3772 T).(\lambda (w: T).(subst0 O v u0 w))))))).(ex3_4_ind F C T T (\lambda (f0:
3773 F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat
3774 f0) u0)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
3775 T).(drop (S n0) O c3 (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_:
3776 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))) (or4 (drop (s (Flat
3777 f) (S n0)) O (CHead c3 (Flat f) t) e) (ex3_4 F C T T (\lambda (f0:
3778 F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat
3779 f0) u0)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
3780 T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead e0 (Flat f0)
3781 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
3782 T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1:
3783 C).(\lambda (_: C).(\lambda (u0: T).(eq C e (CHead e1 (Flat f0) u0))))))
3784 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s
3785 (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead e2 (Flat f0) u0))))))
3786 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
3787 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
3788 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u0)))))))
3789 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3790 (w: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead e2 (Flat f0)
3791 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0:
3792 T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1:
3793 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
3794 e2)))))))) (\lambda (x0: F).(\lambda (x1: C).(\lambda (x2: T).(\lambda (x3:
3795 T).(\lambda (H24: (eq C e (CHead x1 (Flat x0) x2))).(\lambda (H25: (drop (S
3796 n0) O c3 (CHead x1 (Flat x0) x3))).(\lambda (H26: (subst0 O v x2
3797 x3)).(eq_ind_r C (CHead x1 (Flat x0) x2) (\lambda (c4: C).(or4 (drop (s (Flat
3798 f) (S n0)) O (CHead c3 (Flat f) t) c4) (ex3_4 F C T T (\lambda (f0:
3799 F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C c4 (CHead e0 (Flat
3800 f0) u0)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
3801 T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead e0 (Flat f0)
3802 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
3803 T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1:
3804 C).(\lambda (_: C).(\lambda (u0: T).(eq C c4 (CHead e1 (Flat f0) u0))))))
3805 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s
3806 (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead e2 (Flat f0) u0))))))
3807 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
3808 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
3809 C).(\lambda (u0: T).(\lambda (_: T).(eq C c4 (CHead e1 (Flat f0) u0)))))))
3810 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3811 (w: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead e2 (Flat f0)
3812 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0:
3813 T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1:
3814 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
3815 e2))))))))) (or4_intro1 (drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) t)
3816 (CHead x1 (Flat x0) x2)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0:
3817 C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x2) (CHead e0
3818 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda
3819 (w: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead e0 (Flat f0)
3820 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
3821 T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1:
3822 C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1 (Flat x0) x2) (CHead e1
3823 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
3824 (u0: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead e2 (Flat f0)
3825 u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
3826 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1:
3827 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0)
3828 x2) (CHead e1 (Flat f0) u0))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda
3829 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3
3830 (Flat f) t) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_:
3831 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))))
3832 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3833 (_: T).(csubst0 O v e1 e2))))))) (ex3_4_intro F C T T (\lambda (f0:
3834 F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat
3835 x0) x2) (CHead e0 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (e0:
3836 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3
3837 (Flat f) t) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_:
3838 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))) x0 x1 x2 x3
3839 (refl_equal C (CHead x1 (Flat x0) x2)) (drop_drop (Flat f) n0 c3 (CHead x1
3840 (Flat x0) x3) H25 t) H26)) e H24)))))))) H23)) (\lambda (H23: (ex3_4 F C C T
3841 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e
3842 (CHead e1 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
3843 C).(\lambda (u0: T).(drop (S n0) O c3 (CHead e2 (Flat f0) u0)))))) (\lambda
3844 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1
3845 e2))))))).(ex3_4_ind F C C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
3846 C).(\lambda (u0: T).(eq C e (CHead e1 (Flat f0) u0)))))) (\lambda (f0:
3847 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (S n0) O c3 (CHead
3848 e2 (Flat f0) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
3849 C).(\lambda (_: T).(csubst0 O v e1 e2))))) (or4 (drop (s (Flat f) (S n0)) O
3850 (CHead c3 (Flat f) t) e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0:
3851 C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u0))))))
3852 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3853 (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead e0 (Flat f0) w)))))) (\lambda
3854 (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0
3855 w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
3856 C).(\lambda (u0: T).(eq C e (CHead e1 (Flat f0) u0)))))) (\lambda (f0:
3857 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s (Flat f) (S
3858 n0)) O (CHead c3 (Flat f) t) (CHead e2 (Flat f0) u0)))))) (\lambda (_:
3859 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
3860 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
3861 (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u0))))))) (\lambda (f0:
3862 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3863 (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead e2 (Flat f0) w)))))))
3864 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
3865 T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
3866 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x0:
3867 F).(\lambda (x1: C).(\lambda (x2: C).(\lambda (x3: T).(\lambda (H24: (eq C e
3868 (CHead x1 (Flat x0) x3))).(\lambda (H25: (drop (S n0) O c3 (CHead x2 (Flat
3869 x0) x3))).(\lambda (H26: (csubst0 O v x1 x2)).(eq_ind_r C (CHead x1 (Flat x0)
3870 x3) (\lambda (c4: C).(or4 (drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) t)
3871 c4) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u0:
3872 T).(\lambda (_: T).(eq C c4 (CHead e0 (Flat f0) u0)))))) (\lambda (f0:
3873 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0))
3874 O (CHead c3 (Flat f) t) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda
3875 (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T
3876 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C c4
3877 (CHead e1 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
3878 C).(\lambda (u0: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead
3879 e2 (Flat f0) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
3880 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0:
3881 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C c4
3882 (CHead e1 (Flat f0) u0))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
3883 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3
3884 (Flat f) t) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_:
3885 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))))
3886 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3887 (_: T).(csubst0 O v e1 e2))))))))) (or4_intro2 (drop (s (Flat f) (S n0)) O
3888 (CHead c3 (Flat f) t) (CHead x1 (Flat x0) x3)) (ex3_4 F C T T (\lambda (f0:
3889 F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat
3890 x0) x3) (CHead e0 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (e0:
3891 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3
3892 (Flat f) t) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_:
3893 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T
3894 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C
3895 (CHead x1 (Flat x0) x3) (CHead e1 (Flat f0) u0)))))) (\lambda (f0:
3896 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s (Flat f) (S
3897 n0)) O (CHead c3 (Flat f) t) (CHead e2 (Flat f0) u0)))))) (\lambda (_:
3898 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
3899 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
3900 (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x3) (CHead e1 (Flat f0)
3901 u0))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
3902 T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead
3903 e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
3904 C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_:
3905 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
3906 O v e1 e2))))))) (ex3_4_intro F C C T (\lambda (f0: F).(\lambda (e1:
3907 C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1 (Flat x0) x3) (CHead e1
3908 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
3909 (u0: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead e2 (Flat f0)
3910 u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
3911 T).(csubst0 O v e1 e2))))) x0 x1 x2 x3 (refl_equal C (CHead x1 (Flat x0) x3))
3912 (drop_drop (Flat f) n0 c3 (CHead x2 (Flat x0) x3) H25 t) H26)) e H24))))))))
3913 H23)) (\lambda (H23: (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1:
3914 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e (CHead e1 (Flat
3915 f0) u0))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
3916 T).(\lambda (w: T).(drop (S n0) O c3 (CHead e2 (Flat f0) w))))))) (\lambda
3917 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
3918 T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
3919 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))).(ex4_5_ind F C
3920 C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0:
3921 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u0))))))) (\lambda (f0:
3922 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S
3923 n0) O c3 (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_:
3924 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))))
3925 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3926 (_: T).(csubst0 O v e1 e2)))))) (or4 (drop (s (Flat f) (S n0)) O (CHead c3
3927 (Flat f) t) e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u0:
3928 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u0)))))) (\lambda (f0:
3929 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0))
3930 O (CHead c3 (Flat f) t) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda
3931 (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w)))))) (ex3_4 F C C T
3932 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(eq C e
3933 (CHead e1 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
3934 C).(\lambda (u0: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead
3935 e2 (Flat f0) u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
3936 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0:
3937 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C e
3938 (CHead e1 (Flat f0) u0))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
3939 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3
3940 (Flat f) t) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_:
3941 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))))
3942 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3943 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x0: F).(\lambda (x1: C).(\lambda
3944 (x2: C).(\lambda (x3: T).(\lambda (x4: T).(\lambda (H24: (eq C e (CHead x1
3945 (Flat x0) x3))).(\lambda (H25: (drop (S n0) O c3 (CHead x2 (Flat x0)
3946 x4))).(\lambda (H26: (subst0 O v x3 x4)).(\lambda (H27: (csubst0 O v x1
3947 x2)).(eq_ind_r C (CHead x1 (Flat x0) x3) (\lambda (c4: C).(or4 (drop (s (Flat
3948 f) (S n0)) O (CHead c3 (Flat f) t) c4) (ex3_4 F C T T (\lambda (f0:
3949 F).(\lambda (e0: C).(\lambda (u0: T).(\lambda (_: T).(eq C c4 (CHead e0 (Flat
3950 f0) u0)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
3951 T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead e0 (Flat f0)
3952 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
3953 T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1:
3954 C).(\lambda (_: C).(\lambda (u0: T).(eq C c4 (CHead e1 (Flat f0) u0))))))
3955 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(drop (s
3956 (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead e2 (Flat f0) u0))))))
3957 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
3958 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
3959 C).(\lambda (u0: T).(\lambda (_: T).(eq C c4 (CHead e1 (Flat f0) u0)))))))
3960 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3961 (w: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead e2 (Flat f0)
3962 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0:
3963 T).(\lambda (w: T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1:
3964 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
3965 e2))))))))) (or4_intro3 (drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) t)
3966 (CHead x1 (Flat x0) x3)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0:
3967 C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x3) (CHead e0
3968 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda
3969 (w: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead e0 (Flat f0)
3970 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
3971 T).(subst0 O v u0 w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1:
3972 C).(\lambda (_: C).(\lambda (u0: T).(eq C (CHead x1 (Flat x0) x3) (CHead e1
3973 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
3974 (u0: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead e2 (Flat f0)
3975 u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
3976 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1:
3977 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0)
3978 x3) (CHead e1 (Flat f0) u0))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda
3979 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3
3980 (Flat f) t) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_:
3981 C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w: T).(subst0 O v u0 w))))))
3982 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
3983 (_: T).(csubst0 O v e1 e2))))))) (ex4_5_intro F C C T T (\lambda (f0:
3984 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (_: T).(eq C
3985 (CHead x1 (Flat x0) x3) (CHead e1 (Flat f0) u0))))))) (\lambda (f0:
3986 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
3987 (Flat f) (S n0)) O (CHead c3 (Flat f) t) (CHead e2 (Flat f0) w)))))))
3988 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u0: T).(\lambda (w:
3989 T).(subst0 O v u0 w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
3990 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))) x0 x1 x2 x3 x4
3991 (refl_equal C (CHead x1 (Flat x0) x3)) (drop_drop (Flat f) n0 c3 (CHead x2
3992 (Flat x0) x4) H25 t) H26 H27)) e H24)))))))))) H23)) H22)) i H20)))))) k
3993 (drop_gen_drop k c e t n0 H1) H17))) c2 H15)) u (sym_eq T u t H14))) k0
3994 (sym_eq K k0 k H13))) c0 (sym_eq C c0 c H12))) H11)) H10))) v0 (sym_eq T v0 v
3995 H8))) (S n0) H7)) H4 H5 H6 H2))))) | (csubst0_both k0 i v0 u1 u2 H2 c0 c3 H3)
3996 \Rightarrow (\lambda (H4: (eq nat (s k0 i) (S n0))).(\lambda (H5: (eq T v0
3997 v)).(\lambda (H6: (eq C (CHead c0 k0 u1) (CHead c k t))).(\lambda (H7: (eq C
3998 (CHead c3 k0 u2) c2)).((let H8 \def (f_equal nat nat (\lambda (e0: nat).e0)
3999 (s k0 i) (S n0) H4) in (eq_ind nat (s k0 i) (\lambda (n1: nat).((eq T v0 v)
4000 \to ((eq C (CHead c0 k0 u1) (CHead c k t)) \to ((eq C (CHead c3 k0 u2) c2)
4001 \to ((subst0 i v0 u1 u2) \to ((csubst0 i v0 c0 c3) \to (or4 (drop n1 O c2 e)
4002 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_:
4003 T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0:
4004 C).(\lambda (_: T).(\lambda (w: T).(drop n1 O c2 (CHead e0 (Flat f) w))))))
4005 (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u
4006 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
4007 C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f:
4008 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop n1 O c2 (CHead e2
4009 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
4010 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda
4011 (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1
4012 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
4013 (_: T).(\lambda (w: T).(drop n1 O c2 (CHead e2 (Flat f) w))))))) (\lambda (_:
4014 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O
4015 v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
4016 T).(\lambda (_: T).(csubst0 O v e1 e2)))))))))))))) (\lambda (H9: (eq T v0
4017 v)).(eq_ind T v (\lambda (t0: T).((eq C (CHead c0 k0 u1) (CHead c k t)) \to
4018 ((eq C (CHead c3 k0 u2) c2) \to ((subst0 i t0 u1 u2) \to ((csubst0 i t0 c0
4019 c3) \to (or4 (drop (s k0 i) O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda
4020 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u))))))
4021 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s k0
4022 i) O c2 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda
4023 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f:
4024 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat
4025 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
4026 T).(drop (s k0 i) O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda
4027 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
4028 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
4029 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f:
4030 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
4031 k0 i) O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_:
4032 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4033 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4034 (_: T).(csubst0 O v e1 e2))))))))))))) (\lambda (H10: (eq C (CHead c0 k0 u1)
4035 (CHead c k t))).(let H11 \def (f_equal C T (\lambda (e0: C).(match e0 in C
4036 return (\lambda (_: C).T) with [(CSort _) \Rightarrow u1 | (CHead _ _ t0)
4037 \Rightarrow t0])) (CHead c0 k0 u1) (CHead c k t) H10) in ((let H12 \def
4038 (f_equal C K (\lambda (e0: C).(match e0 in C return (\lambda (_: C).K) with
4039 [(CSort _) \Rightarrow k0 | (CHead _ k1 _) \Rightarrow k1])) (CHead c0 k0 u1)
4040 (CHead c k t) H10) in ((let H13 \def (f_equal C C (\lambda (e0: C).(match e0
4041 in C return (\lambda (_: C).C) with [(CSort _) \Rightarrow c0 | (CHead c4 _
4042 _) \Rightarrow c4])) (CHead c0 k0 u1) (CHead c k t) H10) in (eq_ind C c
4043 (\lambda (c4: C).((eq K k0 k) \to ((eq T u1 t) \to ((eq C (CHead c3 k0 u2)
4044 c2) \to ((subst0 i v u1 u2) \to ((csubst0 i v c4 c3) \to (or4 (drop (s k0 i)
4045 O c2 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u:
4046 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f:
4047 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s k0 i) O c2
4048 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u:
4049 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f:
4050 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat
4051 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
4052 T).(drop (s k0 i) O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda
4053 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
4054 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
4055 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f:
4056 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
4057 k0 i) O c2 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_:
4058 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4059 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4060 (_: T).(csubst0 O v e1 e2)))))))))))))) (\lambda (H14: (eq K k0 k)).(eq_ind K
4061 k (\lambda (k1: K).((eq T u1 t) \to ((eq C (CHead c3 k1 u2) c2) \to ((subst0
4062 i v u1 u2) \to ((csubst0 i v c c3) \to (or4 (drop (s k1 i) O c2 e) (ex3_4 F C
4063 T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e
4064 (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_:
4065 T).(\lambda (w: T).(drop (s k1 i) O c2 (CHead e0 (Flat f) w)))))) (\lambda
4066 (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4067 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
4068 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_:
4069 C).(\lambda (e2: C).(\lambda (u: T).(drop (s k1 i) O c2 (CHead e2 (Flat f)
4070 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
4071 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1:
4072 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f)
4073 u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
4074 T).(\lambda (w: T).(drop (s k1 i) O c2 (CHead e2 (Flat f) w))))))) (\lambda
4075 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
4076 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4077 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))))))))) (\lambda
4078 (H15: (eq T u1 t)).(eq_ind T t (\lambda (t0: T).((eq C (CHead c3 k u2) c2)
4079 \to ((subst0 i v t0 u2) \to ((csubst0 i v c c3) \to (or4 (drop (s k i) O c2
4080 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda
4081 (_: T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0:
4082 C).(\lambda (_: T).(\lambda (w: T).(drop (s k i) O c2 (CHead e0 (Flat f)
4083 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
4084 T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1:
4085 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u))))))
4086 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s k
4087 i) O c2 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
4088 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda
4089 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C
4090 e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
4091 C).(\lambda (_: T).(\lambda (w: T).(drop (s k i) O c2 (CHead e2 (Flat f)
4092 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
4093 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1:
4094 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
4095 e2)))))))))))) (\lambda (H16: (eq C (CHead c3 k u2) c2)).(eq_ind C (CHead c3
4096 k u2) (\lambda (c4: C).((subst0 i v t u2) \to ((csubst0 i v c c3) \to (or4
4097 (drop (s k i) O c4 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
4098 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u))))))
4099 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s k
4100 i) O c4 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda
4101 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f:
4102 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat
4103 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
4104 T).(drop (s k i) O c4 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda
4105 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
4106 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
4107 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f:
4108 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
4109 k i) O c4 (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_:
4110 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4111 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4112 (_: T).(csubst0 O v e1 e2))))))))))) (\lambda (H17: (subst0 i v t
4113 u2)).(\lambda (H18: (csubst0 i v c c3)).(let H19 \def (eq_ind K k0 (\lambda
4114 (k1: K).(eq nat (s k1 i) (S n0))) H8 k H14) in (K_ind (\lambda (k1: K).((drop
4115 (r k1 n0) O c e) \to ((eq nat (s k1 i) (S n0)) \to (or4 (drop (s k1 i) O
4116 (CHead c3 k1 u2) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda
4117 (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f:
4118 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s k1 i) O (CHead
4119 c3 k1 u2) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda
4120 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f:
4121 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat
4122 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
4123 T).(drop (s k1 i) O (CHead c3 k1 u2) (CHead e2 (Flat f) u)))))) (\lambda (_:
4124 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
4125 (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
4126 (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f:
4127 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
4128 k1 i) O (CHead c3 k1 u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda
4129 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4130 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4131 (_: T).(csubst0 O v e1 e2))))))))))) (\lambda (b: B).(\lambda (H20: (drop (r
4132 (Bind b) n0) O c e)).(\lambda (H21: (eq nat (s (Bind b) i) (S n0))).(let H22
4133 \def (f_equal nat nat (\lambda (e0: nat).(match e0 in nat return (\lambda (_:
4134 nat).nat) with [O \Rightarrow i | (S n1) \Rightarrow n1])) (S i) (S n0) H21)
4135 in (let H23 \def (eq_ind nat i (\lambda (n1: nat).(csubst0 n1 v c c3)) H18 n0
4136 H22) in (let H24 \def (eq_ind nat i (\lambda (n1: nat).(subst0 n1 v t u2))
4137 H17 n0 H22) in (eq_ind_r nat n0 (\lambda (n1: nat).(or4 (drop (s (Bind b) n1)
4138 O (CHead c3 (Bind b) u2) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
4139 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u))))))
4140 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s
4141 (Bind b) n1) O (CHead c3 (Bind b) u2) (CHead e0 (Flat f) w)))))) (\lambda (_:
4142 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4143 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
4144 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_:
4145 C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Bind b) n1) O (CHead c3 (Bind
4146 b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
4147 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda
4148 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C
4149 e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
4150 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n1) O (CHead c3 (Bind b)
4151 u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
4152 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_:
4153 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
4154 O v e1 e2))))))))) (let H25 \def (IHn c c3 v H23 e H20) in (or4_ind (drop n0
4155 O c3 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u:
4156 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f:
4157 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c3 (CHead e0
4158 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
4159 T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1:
4160 C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u))))))
4161 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop n0 O
4162 c3 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4163 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f:
4164 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e
4165 (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
4166 C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c3 (CHead e2 (Flat f) w)))))))
4167 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
4168 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4169 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (or4 (drop (s
4170 (Bind b) n0) O (CHead c3 (Bind b) u2) e) (ex3_4 F C T T (\lambda (f:
4171 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat
4172 f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
4173 T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead e0 (Flat f) w))))))
4174 (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u
4175 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
4176 C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f:
4177 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Bind b) n0) O
4178 (CHead c3 (Bind b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda
4179 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
4180 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
4181 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f:
4182 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
4183 (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead e2 (Flat f) w))))))) (\lambda
4184 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
4185 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4186 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda (H26:
4187 (drop n0 O c3 e)).(or4_intro0 (drop (s (Bind b) n0) O (CHead c3 (Bind b) u2)
4188 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda
4189 (_: T).(eq C e (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0:
4190 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b)
4191 u2) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u:
4192 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f:
4193 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat
4194 f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
4195 T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead e2 (Flat f) u))))))
4196 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
4197 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
4198 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u)))))))
4199 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w:
4200 T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead e2 (Flat f) w)))))))
4201 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
4202 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4203 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (drop_drop (Bind
4204 b) n0 c3 e H26 u2))) (\lambda (H26: (ex3_4 F C T T (\lambda (f: F).(\lambda
4205 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u))))))
4206 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop n0 O
4207 c3 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u:
4208 T).(\lambda (w: T).(subst0 O v u w))))))).(ex3_4_ind F C T T (\lambda (f:
4209 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat
4210 f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
4211 T).(drop n0 O c3 (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda (_:
4212 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))) (or4 (drop (s (Bind
4213 b) n0) O (CHead c3 (Bind b) u2) e) (ex3_4 F C T T (\lambda (f: F).(\lambda
4214 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u))))))
4215 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s
4216 (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead e0 (Flat f) w)))))) (\lambda (_:
4217 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4218 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
4219 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_:
4220 C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Bind b) n0) O (CHead c3 (Bind
4221 b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
4222 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda
4223 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C
4224 e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
4225 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b)
4226 u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
4227 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_:
4228 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
4229 O v e1 e2)))))))) (\lambda (x0: F).(\lambda (x1: C).(\lambda (x2: T).(\lambda
4230 (x3: T).(\lambda (H27: (eq C e (CHead x1 (Flat x0) x2))).(\lambda (H28: (drop
4231 n0 O c3 (CHead x1 (Flat x0) x3))).(\lambda (H29: (subst0 O v x2
4232 x3)).(eq_ind_r C (CHead x1 (Flat x0) x2) (\lambda (c4: C).(or4 (drop (s (Bind
4233 b) n0) O (CHead c3 (Bind b) u2) c4) (ex3_4 F C T T (\lambda (f: F).(\lambda
4234 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c4 (CHead e0 (Flat f) u))))))
4235 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s
4236 (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead e0 (Flat f) w)))))) (\lambda (_:
4237 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4238 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
4239 T).(eq C c4 (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_:
4240 C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Bind b) n0) O (CHead c3 (Bind
4241 b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
4242 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda
4243 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C
4244 c4 (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
4245 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b)
4246 u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
4247 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_:
4248 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
4249 O v e1 e2))))))))) (or4_intro1 (drop (s (Bind b) n0) O (CHead c3 (Bind b) u2)
4250 (CHead x1 (Flat x0) x2)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
4251 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x2) (CHead e0
4252 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda
4253 (w: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead e0 (Flat f)
4254 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
4255 T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1:
4256 C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead x1 (Flat x0) x2) (CHead e1
4257 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
4258 (u: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead e2 (Flat f)
4259 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
4260 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1:
4261 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0)
4262 x2) (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
4263 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b)
4264 u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
4265 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_:
4266 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
4267 O v e1 e2))))))) (ex3_4_intro F C T T (\lambda (f: F).(\lambda (e0:
4268 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x2) (CHead e0
4269 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda
4270 (w: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead e0 (Flat f)
4271 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
4272 T).(subst0 O v u w))))) x0 x1 x2 x3 (refl_equal C (CHead x1 (Flat x0) x2))
4273 (drop_drop (Bind b) n0 c3 (CHead x1 (Flat x0) x3) H28 u2) H29)) e H27))))))))
4274 H26)) (\lambda (H26: (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda
4275 (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f:
4276 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop n0 O c3 (CHead e2
4277 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
4278 (_: T).(csubst0 O v e1 e2))))))).(ex3_4_ind F C C T (\lambda (f: F).(\lambda
4279 (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u))))))
4280 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop n0 O
4281 c3 (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4282 C).(\lambda (_: T).(csubst0 O v e1 e2))))) (or4 (drop (s (Bind b) n0) O
4283 (CHead c3 (Bind b) u2) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
4284 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f) u))))))
4285 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s
4286 (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead e0 (Flat f) w)))))) (\lambda (_:
4287 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4288 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
4289 T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_:
4290 C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Bind b) n0) O (CHead c3 (Bind
4291 b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
4292 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda
4293 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C
4294 e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
4295 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b)
4296 u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
4297 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_:
4298 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
4299 O v e1 e2)))))))) (\lambda (x0: F).(\lambda (x1: C).(\lambda (x2: C).(\lambda
4300 (x3: T).(\lambda (H27: (eq C e (CHead x1 (Flat x0) x3))).(\lambda (H28: (drop
4301 n0 O c3 (CHead x2 (Flat x0) x3))).(\lambda (H29: (csubst0 O v x1
4302 x2)).(eq_ind_r C (CHead x1 (Flat x0) x3) (\lambda (c4: C).(or4 (drop (s (Bind
4303 b) n0) O (CHead c3 (Bind b) u2) c4) (ex3_4 F C T T (\lambda (f: F).(\lambda
4304 (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c4 (CHead e0 (Flat f) u))))))
4305 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s
4306 (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead e0 (Flat f) w)))))) (\lambda (_:
4307 F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4308 (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
4309 T).(eq C c4 (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_:
4310 C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Bind b) n0) O (CHead c3 (Bind
4311 b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
4312 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda
4313 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C
4314 c4 (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
4315 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b)
4316 u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
4317 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_:
4318 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
4319 O v e1 e2))))))))) (or4_intro2 (drop (s (Bind b) n0) O (CHead c3 (Bind b) u2)
4320 (CHead x1 (Flat x0) x3)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
4321 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x3) (CHead e0
4322 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda
4323 (w: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead e0 (Flat f)
4324 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
4325 T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1:
4326 C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead x1 (Flat x0) x3) (CHead e1
4327 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
4328 (u: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead e2 (Flat f)
4329 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
4330 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1:
4331 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0)
4332 x3) (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
4333 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b)
4334 u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
4335 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_:
4336 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
4337 O v e1 e2))))))) (ex3_4_intro F C C T (\lambda (f: F).(\lambda (e1:
4338 C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead x1 (Flat x0) x3) (CHead e1
4339 (Flat f) u)))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
4340 (u: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead e2 (Flat f)
4341 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
4342 T).(csubst0 O v e1 e2))))) x0 x1 x2 x3 (refl_equal C (CHead x1 (Flat x0) x3))
4343 (drop_drop (Bind b) n0 c3 (CHead x2 (Flat x0) x3) H28 u2) H29)) e H27))))))))
4344 H26)) (\lambda (H26: (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1:
4345 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f)
4346 u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
4347 T).(\lambda (w: T).(drop n0 O c3 (CHead e2 (Flat f) w))))))) (\lambda (_:
4348 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O
4349 v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
4350 T).(\lambda (_: T).(csubst0 O v e1 e2)))))))).(ex4_5_ind F C C T T (\lambda
4351 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C
4352 e (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
4353 C).(\lambda (_: T).(\lambda (w: T).(drop n0 O c3 (CHead e2 (Flat f) w)))))))
4354 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
4355 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4356 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))) (or4 (drop (s
4357 (Bind b) n0) O (CHead c3 (Bind b) u2) e) (ex3_4 F C T T (\lambda (f:
4358 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat
4359 f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w:
4360 T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead e0 (Flat f) w))))))
4361 (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u
4362 w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
4363 C).(\lambda (u: T).(eq C e (CHead e1 (Flat f) u)))))) (\lambda (f:
4364 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Bind b) n0) O
4365 (CHead c3 (Bind b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda
4366 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
4367 C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
4368 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f) u))))))) (\lambda (f:
4369 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
4370 (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead e2 (Flat f) w))))))) (\lambda
4371 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
4372 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4373 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x0:
4374 F).(\lambda (x1: C).(\lambda (x2: C).(\lambda (x3: T).(\lambda (x4:
4375 T).(\lambda (H27: (eq C e (CHead x1 (Flat x0) x3))).(\lambda (H28: (drop n0 O
4376 c3 (CHead x2 (Flat x0) x4))).(\lambda (H29: (subst0 O v x3 x4)).(\lambda
4377 (H30: (csubst0 O v x1 x2)).(eq_ind_r C (CHead x1 (Flat x0) x3) (\lambda (c4:
4378 C).(or4 (drop (s (Bind b) n0) O (CHead c3 (Bind b) u2) c4) (ex3_4 F C T T
4379 (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c4
4380 (CHead e0 (Flat f) u)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (_:
4381 T).(\lambda (w: T).(drop (s (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead e0
4382 (Flat f) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
4383 T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (e1:
4384 C).(\lambda (_: C).(\lambda (u: T).(eq C c4 (CHead e1 (Flat f) u))))))
4385 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s
4386 (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_:
4387 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
4388 (ex4_5 F C C T T (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
4389 (u: T).(\lambda (_: T).(eq C c4 (CHead e1 (Flat f) u))))))) (\lambda (f:
4390 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
4391 (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead e2 (Flat f) w))))))) (\lambda
4392 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
4393 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4394 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))))) (or4_intro3
4395 (drop (s (Bind b) n0) O (CHead c3 (Bind b) u2) (CHead x1 (Flat x0) x3))
4396 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_:
4397 T).(eq C (CHead x1 (Flat x0) x3) (CHead e0 (Flat f) u)))))) (\lambda (f:
4398 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0) O
4399 (CHead c3 (Bind b) u2) (CHead e0 (Flat f) w)))))) (\lambda (_: F).(\lambda
4400 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T
4401 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead
4402 x1 (Flat x0) x3) (CHead e1 (Flat f) u)))))) (\lambda (f: F).(\lambda (_:
4403 C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Bind b) n0) O (CHead c3 (Bind
4404 b) u2) (CHead e2 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
4405 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda
4406 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C
4407 (CHead x1 (Flat x0) x3) (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda
4408 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0)
4409 O (CHead c3 (Bind b) u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda
4410 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4411 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4412 (_: T).(csubst0 O v e1 e2))))))) (ex4_5_intro F C C T T (\lambda (f:
4413 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C
4414 (CHead x1 (Flat x0) x3) (CHead e1 (Flat f) u))))))) (\lambda (f: F).(\lambda
4415 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Bind b) n0)
4416 O (CHead c3 (Bind b) u2) (CHead e2 (Flat f) w))))))) (\lambda (_: F).(\lambda
4417 (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4418 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4419 (_: T).(csubst0 O v e1 e2)))))) x0 x1 x2 x3 x4 (refl_equal C (CHead x1 (Flat
4420 x0) x3)) (drop_drop (Bind b) n0 c3 (CHead x2 (Flat x0) x4) H28 u2) H29 H30))
4421 e H27)))))))))) H26)) H25)) i H22))))))) (\lambda (f: F).(\lambda (H20: (drop
4422 (r (Flat f) n0) O c e)).(\lambda (H21: (eq nat (s (Flat f) i) (S n0))).(let
4423 H22 \def (f_equal nat nat (\lambda (e0: nat).e0) i (S n0) H21) in (let H23
4424 \def (eq_ind nat i (\lambda (n1: nat).(csubst0 n1 v c c3)) H18 (S n0) H22) in
4425 (let H24 \def (eq_ind nat i (\lambda (n1: nat).(subst0 n1 v t u2)) H17 (S n0)
4426 H22) in (eq_ind_r nat (S n0) (\lambda (n1: nat).(or4 (drop (s (Flat f) n1) O
4427 (CHead c3 (Flat f) u2) e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0:
4428 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u))))))
4429 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s
4430 (Flat f) n1) O (CHead c3 (Flat f) u2) (CHead e0 (Flat f0) w)))))) (\lambda
4431 (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4432 (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
4433 T).(eq C e (CHead e1 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_:
4434 C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Flat f) n1) O (CHead c3 (Flat
4435 f) u2) (CHead e2 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
4436 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda
4437 (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq
4438 C e (CHead e1 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda
4439 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) n1) O (CHead c3
4440 (Flat f) u2) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_:
4441 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4442 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4443 (_: T).(csubst0 O v e1 e2))))))))) (let H25 \def (H c3 v H23 e H20) in
4444 (or4_ind (drop (S n0) O c3 e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0:
4445 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u))))))
4446 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S
4447 n0) O c3 (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda
4448 (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f0:
4449 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat
4450 f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
4451 T).(drop (S n0) O c3 (CHead e2 (Flat f0) u)))))) (\lambda (_: F).(\lambda
4452 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
4453 C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
4454 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u))))))) (\lambda (f0:
4455 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (S
4456 n0) O c3 (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_:
4457 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4458 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4459 (_: T).(csubst0 O v e1 e2))))))) (or4 (drop (s (Flat f) (S n0)) O (CHead c3
4460 (Flat f) u2) e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u:
4461 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u)))))) (\lambda (f0:
4462 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0))
4463 O (CHead c3 (Flat f) u2) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda
4464 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T
4465 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e
4466 (CHead e1 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
4467 C).(\lambda (u: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead
4468 e2 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4469 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0:
4470 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e
4471 (CHead e1 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
4472 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3
4473 (Flat f) u2) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_:
4474 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4475 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4476 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (H26: (drop (S n0) O c3
4477 e)).(or4_intro0 (drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) e) (ex3_4
4478 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq
4479 C e (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda
4480 (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2)
4481 (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u:
4482 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f0:
4483 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat
4484 f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
4485 T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead e2 (Flat f0)
4486 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
4487 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1:
4488 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat
4489 f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
4490 T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead
4491 e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
4492 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_:
4493 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
4494 O v e1 e2))))))) (drop_drop (Flat f) n0 c3 e H26 u2))) (\lambda (H26: (ex3_4
4495 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq
4496 C e (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda
4497 (_: T).(\lambda (w: T).(drop (S n0) O c3 (CHead e0 (Flat f0) w)))))) (\lambda
4498 (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u
4499 w))))))).(ex3_4_ind F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u:
4500 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u)))))) (\lambda (f0:
4501 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c3 (CHead
4502 e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda
4503 (w: T).(subst0 O v u w))))) (or4 (drop (s (Flat f) (S n0)) O (CHead c3 (Flat
4504 f) u2) e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u:
4505 T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u)))))) (\lambda (f0:
4506 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0))
4507 O (CHead c3 (Flat f) u2) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda
4508 (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T
4509 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e
4510 (CHead e1 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
4511 C).(\lambda (u: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead
4512 e2 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4513 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0:
4514 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e
4515 (CHead e1 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
4516 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3
4517 (Flat f) u2) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_:
4518 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4519 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4520 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x0: F).(\lambda (x1: C).(\lambda
4521 (x2: T).(\lambda (x3: T).(\lambda (H27: (eq C e (CHead x1 (Flat x0)
4522 x2))).(\lambda (H28: (drop (S n0) O c3 (CHead x1 (Flat x0) x3))).(\lambda
4523 (H29: (subst0 O v x2 x3)).(eq_ind_r C (CHead x1 (Flat x0) x2) (\lambda (c4:
4524 C).(or4 (drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) c4) (ex3_4 F C T T
4525 (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c4
4526 (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_:
4527 T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead
4528 e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda
4529 (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1:
4530 C).(\lambda (_: C).(\lambda (u: T).(eq C c4 (CHead e1 (Flat f0) u))))))
4531 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s
4532 (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead e2 (Flat f0) u))))))
4533 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
4534 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
4535 C).(\lambda (u: T).(\lambda (_: T).(eq C c4 (CHead e1 (Flat f0) u)))))))
4536 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4537 (w: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead e2 (Flat f0)
4538 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
4539 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1:
4540 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
4541 e2))))))))) (or4_intro1 (drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2)
4542 (CHead x1 (Flat x0) x2)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0:
4543 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x2) (CHead e0
4544 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda
4545 (w: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead e0 (Flat f0)
4546 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
4547 T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1:
4548 C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead x1 (Flat x0) x2) (CHead e1
4549 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
4550 (u: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead e2 (Flat f0)
4551 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
4552 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1:
4553 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0)
4554 x2) (CHead e1 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda
4555 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3
4556 (Flat f) u2) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_:
4557 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4558 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4559 (_: T).(csubst0 O v e1 e2))))))) (ex3_4_intro F C T T (\lambda (f0:
4560 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0)
4561 x2) (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda
4562 (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2)
4563 (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u:
4564 T).(\lambda (w: T).(subst0 O v u w))))) x0 x1 x2 x3 (refl_equal C (CHead x1
4565 (Flat x0) x2)) (drop_drop (Flat f) n0 c3 (CHead x1 (Flat x0) x3) H28 u2)
4566 H29)) e H27)))))))) H26)) (\lambda (H26: (ex3_4 F C C T (\lambda (f0:
4567 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e (CHead e1 (Flat
4568 f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
4569 T).(drop (S n0) O c3 (CHead e2 (Flat f0) u)))))) (\lambda (_: F).(\lambda
4570 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))).(ex3_4_ind
4571 F C C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq
4572 C e (CHead e1 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda
4573 (e2: C).(\lambda (u: T).(drop (S n0) O c3 (CHead e2 (Flat f0) u))))))
4574 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
4575 v e1 e2))))) (or4 (drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) e)
4576 (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_:
4577 T).(eq C e (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0:
4578 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3
4579 (Flat f) u2) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_:
4580 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T
4581 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C e
4582 (CHead e1 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
4583 C).(\lambda (u: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead
4584 e2 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4585 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0:
4586 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e
4587 (CHead e1 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
4588 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3
4589 (Flat f) u2) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_:
4590 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4591 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4592 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x0: F).(\lambda (x1: C).(\lambda
4593 (x2: C).(\lambda (x3: T).(\lambda (H27: (eq C e (CHead x1 (Flat x0)
4594 x3))).(\lambda (H28: (drop (S n0) O c3 (CHead x2 (Flat x0) x3))).(\lambda
4595 (H29: (csubst0 O v x1 x2)).(eq_ind_r C (CHead x1 (Flat x0) x3) (\lambda (c4:
4596 C).(or4 (drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) c4) (ex3_4 F C T T
4597 (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C c4
4598 (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_:
4599 T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead
4600 e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda
4601 (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1:
4602 C).(\lambda (_: C).(\lambda (u: T).(eq C c4 (CHead e1 (Flat f0) u))))))
4603 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s
4604 (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead e2 (Flat f0) u))))))
4605 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
4606 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
4607 C).(\lambda (u: T).(\lambda (_: T).(eq C c4 (CHead e1 (Flat f0) u)))))))
4608 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4609 (w: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead e2 (Flat f0)
4610 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
4611 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1:
4612 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
4613 e2))))))))) (or4_intro2 (drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2)
4614 (CHead x1 (Flat x0) x3)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0:
4615 C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x3) (CHead e0
4616 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda
4617 (w: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead e0 (Flat f0)
4618 w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
4619 T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1:
4620 C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead x1 (Flat x0) x3) (CHead e1
4621 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
4622 (u: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead e2 (Flat f0)
4623 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
4624 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (e1:
4625 C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0)
4626 x3) (CHead e1 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda
4627 (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3
4628 (Flat f) u2) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_:
4629 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4630 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4631 (_: T).(csubst0 O v e1 e2))))))) (ex3_4_intro F C C T (\lambda (f0:
4632 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead x1 (Flat x0)
4633 x3) (CHead e1 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda
4634 (e2: C).(\lambda (u: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2)
4635 (CHead e2 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4636 C).(\lambda (_: T).(csubst0 O v e1 e2))))) x0 x1 x2 x3 (refl_equal C (CHead
4637 x1 (Flat x0) x3)) (drop_drop (Flat f) n0 c3 (CHead x2 (Flat x0) x3) H28 u2)
4638 H29)) e H27)))))))) H26)) (\lambda (H26: (ex4_5 F C C T T (\lambda (f0:
4639 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e
4640 (CHead e1 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
4641 C).(\lambda (_: T).(\lambda (w: T).(drop (S n0) O c3 (CHead e2 (Flat f0)
4642 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
4643 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1:
4644 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
4645 e2)))))))).(ex4_5_ind F C C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda
4646 (_: C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u)))))))
4647 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4648 (w: T).(drop (S n0) O c3 (CHead e2 (Flat f0) w))))))) (\lambda (_:
4649 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O
4650 v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
4651 T).(\lambda (_: T).(csubst0 O v e1 e2)))))) (or4 (drop (s (Flat f) (S n0)) O
4652 (CHead c3 (Flat f) u2) e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0:
4653 C).(\lambda (u: T).(\lambda (_: T).(eq C e (CHead e0 (Flat f0) u))))))
4654 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (w: T).(drop (s
4655 (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead e0 (Flat f0) w))))))
4656 (\lambda (_: F).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u
4657 w)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
4658 C).(\lambda (u: T).(eq C e (CHead e1 (Flat f0) u)))))) (\lambda (f0:
4659 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(drop (s (Flat f) (S n0))
4660 O (CHead c3 (Flat f) u2) (CHead e2 (Flat f0) u)))))) (\lambda (_: F).(\lambda
4661 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
4662 C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
4663 T).(\lambda (_: T).(eq C e (CHead e1 (Flat f0) u))))))) (\lambda (f0:
4664 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
4665 (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead e2 (Flat f0) w)))))))
4666 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
4667 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4668 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x0:
4669 F).(\lambda (x1: C).(\lambda (x2: C).(\lambda (x3: T).(\lambda (x4:
4670 T).(\lambda (H27: (eq C e (CHead x1 (Flat x0) x3))).(\lambda (H28: (drop (S
4671 n0) O c3 (CHead x2 (Flat x0) x4))).(\lambda (H29: (subst0 O v x3
4672 x4)).(\lambda (H30: (csubst0 O v x1 x2)).(eq_ind_r C (CHead x1 (Flat x0) x3)
4673 (\lambda (c4: C).(or4 (drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) c4)
4674 (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_:
4675 T).(eq C c4 (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0:
4676 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3
4677 (Flat f) u2) (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_:
4678 C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T
4679 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C c4
4680 (CHead e1 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
4681 C).(\lambda (u: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead
4682 e2 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4683 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0:
4684 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C c4
4685 (CHead e1 (Flat f0) u))))))) (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
4686 C).(\lambda (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3
4687 (Flat f) u2) (CHead e2 (Flat f0) w))))))) (\lambda (_: F).(\lambda (_:
4688 C).(\lambda (_: C).(\lambda (u: T).(\lambda (w: T).(subst0 O v u w))))))
4689 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4690 (_: T).(csubst0 O v e1 e2))))))))) (or4_intro3 (drop (s (Flat f) (S n0)) O
4691 (CHead c3 (Flat f) u2) (CHead x1 (Flat x0) x3)) (ex3_4 F C T T (\lambda (f0:
4692 F).(\lambda (e0: C).(\lambda (u: T).(\lambda (_: T).(eq C (CHead x1 (Flat x0)
4693 x3) (CHead e0 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda
4694 (_: T).(\lambda (w: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2)
4695 (CHead e0 (Flat f0) w)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u:
4696 T).(\lambda (w: T).(subst0 O v u w)))))) (ex3_4 F C C T (\lambda (f0:
4697 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(eq C (CHead x1 (Flat x0)
4698 x3) (CHead e1 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (_: C).(\lambda
4699 (e2: C).(\lambda (u: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2)
4700 (CHead e2 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4701 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0:
4702 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(\lambda (_: T).(eq C
4703 (CHead x1 (Flat x0) x3) (CHead e1 (Flat f0) u))))))) (\lambda (f0:
4704 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (w: T).(drop (s
4705 (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead e2 (Flat f0) w)))))))
4706 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u: T).(\lambda (w:
4707 T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4708 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (ex4_5_intro F C
4709 C T T (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
4710 T).(\lambda (_: T).(eq C (CHead x1 (Flat x0) x3) (CHead e1 (Flat f0) u)))))))
4711 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4712 (w: T).(drop (s (Flat f) (S n0)) O (CHead c3 (Flat f) u2) (CHead e2 (Flat f0)
4713 w))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u:
4714 T).(\lambda (w: T).(subst0 O v u w)))))) (\lambda (_: F).(\lambda (e1:
4715 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))
4716 x0 x1 x2 x3 x4 (refl_equal C (CHead x1 (Flat x0) x3)) (drop_drop (Flat f) n0
4717 c3 (CHead x2 (Flat x0) x4) H28 u2) H29 H30)) e H27)))))))))) H26)) H25)) i
4718 H22))))))) k (drop_gen_drop k c e t n0 H1) H19)))) c2 H16)) u1 (sym_eq T u1 t
4719 H15))) k0 (sym_eq K k0 k H14))) c0 (sym_eq C c0 c H13))) H12)) H11))) v0
4720 (sym_eq T v0 v H9))) (S n0) H8)) H5 H6 H7 H2 H3)))))]) in (H2 (refl_equal nat
4721 (S n0)) (refl_equal T v) (refl_equal C (CHead c k t)) (refl_equal C
4722 c2)))))))))))) c1)))) n).
4724 theorem csubst0_drop_eq_back:
4725 \forall (n: nat).(\forall (c1: C).(\forall (c2: C).(\forall (v: T).((csubst0
4726 n v c1 c2) \to (\forall (e: C).((drop n O c2 e) \to (or4 (drop n O c1 e)
4727 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2:
4728 T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0:
4729 C).(\lambda (u1: T).(\lambda (_: T).(drop n O c1 (CHead e0 (Flat f) u1))))))
4730 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v
4731 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
4732 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f:
4733 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop n O c1 (CHead e1
4734 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
4735 (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_:
4736 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat
4737 f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1:
4738 T).(\lambda (_: T).(drop n O c1 (CHead e1 (Flat f) u1))))))) (\lambda (_:
4739 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0
4740 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
4741 (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))))))))))
4743 \lambda (n: nat).(nat_ind (\lambda (n0: nat).(\forall (c1: C).(\forall (c2:
4744 C).(\forall (v: T).((csubst0 n0 v c1 c2) \to (\forall (e: C).((drop n0 O c2
4745 e) \to (or4 (drop n0 O c1 e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
4746 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2))))))
4747 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop n0 O
4748 c1 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
4749 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f:
4750 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat
4751 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
4752 T).(drop n0 O c1 (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1:
4753 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T
4754 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4755 (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1:
4756 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop n0 O c1 (CHead e1
4757 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
4758 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda
4759 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
4760 e2))))))))))))))) (\lambda (c1: C).(\lambda (c2: C).(\lambda (v: T).(\lambda
4761 (H: (csubst0 O v c1 c2)).(\lambda (e: C).(\lambda (H0: (drop O O c2
4762 e)).(eq_ind C c2 (\lambda (c: C).(or4 (drop O O c1 c) (ex3_4 F C T T (\lambda
4763 (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c (CHead e0
4764 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda
4765 (_: T).(drop O O c1 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_:
4766 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T
4767 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C c
4768 (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
4769 C).(\lambda (u: T).(drop O O c1 (CHead e1 (Flat f) u)))))) (\lambda (_:
4770 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
4771 (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
4772 (_: T).(\lambda (u2: T).(eq C c (CHead e2 (Flat f) u2))))))) (\lambda (f:
4773 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop O
4774 O c1 (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda
4775 (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_:
4776 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
4777 O v e1 e2))))))))) (insert_eq nat O (\lambda (n0: nat).(csubst0 n0 v c1 c2))
4778 (or4 (drop O O c1 c2) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
4779 C).(\lambda (_: T).(\lambda (u2: T).(eq C c2 (CHead e0 (Flat f) u2))))))
4780 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop O O
4781 c1 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
4782 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f:
4783 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C c2 (CHead e2 (Flat
4784 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
4785 T).(drop O O c1 (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1:
4786 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T
4787 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4788 (u2: T).(eq C c2 (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1:
4789 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop O O c1 (CHead e1
4790 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
4791 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda
4792 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
4793 e2)))))))) (\lambda (y: nat).(\lambda (H1: (csubst0 y v c1 c2)).(csubst0_ind
4794 (\lambda (n0: nat).(\lambda (t: T).(\lambda (c: C).(\lambda (c0: C).((eq nat
4795 n0 O) \to (or4 (drop O O c c0) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
4796 C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat f) u2))))))
4797 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop O O c
4798 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
4799 T).(\lambda (u2: T).(subst0 O t u1 u2)))))) (ex3_4 F C C T (\lambda (f:
4800 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C c0 (CHead e2 (Flat
4801 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
4802 T).(drop O O c (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1:
4803 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O t e1 e2)))))) (ex4_5 F C C T T
4804 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4805 (u2: T).(eq C c0 (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1:
4806 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop O O c (CHead e1
4807 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
4808 (u1: T).(\lambda (u2: T).(subst0 O t u1 u2)))))) (\lambda (_: F).(\lambda
4809 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O t e1
4810 e2))))))))))))) (\lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i:
4811 nat).(\forall (v0: T).(\forall (u1: T).(\forall (u2: T).((subst0 i v0 u1 u2)
4812 \to (\forall (c: C).((eq nat (s k0 i) O) \to (or4 (drop O O (CHead c k0 u1)
4813 (CHead c k0 u2)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_:
4814 T).(\lambda (u4: T).(eq C (CHead c k0 u2) (CHead e0 (Flat f) u4))))))
4815 (\lambda (f: F).(\lambda (e0: C).(\lambda (u3: T).(\lambda (_: T).(drop O O
4816 (CHead c k0 u1) (CHead e0 (Flat f) u3)))))) (\lambda (_: F).(\lambda (_:
4817 C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4)))))) (ex3_4 F C C T
4818 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C (CHead
4819 c k0 u2) (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda
4820 (_: C).(\lambda (u: T).(drop O O (CHead c k0 u1) (CHead e1 (Flat f) u))))))
4821 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
4822 v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
4823 C).(\lambda (_: T).(\lambda (u4: T).(eq C (CHead c k0 u2) (CHead e2 (Flat f)
4824 u4))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u3:
4825 T).(\lambda (_: T).(drop O O (CHead c k0 u1) (CHead e1 (Flat f) u3)))))))
4826 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u3: T).(\lambda
4827 (u4: T).(subst0 O v0 u3 u4)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
4828 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2))))))))))))))))
4829 (\lambda (b: B).(\lambda (i: nat).(\lambda (v0: T).(\lambda (u1: T).(\lambda
4830 (u2: T).(\lambda (_: (subst0 i v0 u1 u2)).(\lambda (c: C).(\lambda (H3: (eq
4831 nat (S i) O)).(let H4 \def (eq_ind nat (S i) (\lambda (ee: nat).(match ee in
4832 nat return (\lambda (_: nat).Prop) with [O \Rightarrow False | (S _)
4833 \Rightarrow True])) I O H3) in (False_ind (or4 (drop O O (CHead c (Bind b)
4834 u1) (CHead c (Bind b) u2)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
4835 C).(\lambda (_: T).(\lambda (u4: T).(eq C (CHead c (Bind b) u2) (CHead e0
4836 (Flat f) u4)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u3: T).(\lambda
4837 (_: T).(drop O O (CHead c (Bind b) u1) (CHead e0 (Flat f) u3)))))) (\lambda
4838 (_: F).(\lambda (_: C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3
4839 u4)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
4840 C).(\lambda (u: T).(eq C (CHead c (Bind b) u2) (CHead e2 (Flat f) u))))))
4841 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop O O
4842 (CHead c (Bind b) u1) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda
4843 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C
4844 C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
4845 T).(\lambda (u4: T).(eq C (CHead c (Bind b) u2) (CHead e2 (Flat f) u4)))))))
4846 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u3: T).(\lambda
4847 (_: T).(drop O O (CHead c (Bind b) u1) (CHead e1 (Flat f) u3))))))) (\lambda
4848 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u3: T).(\lambda (u4:
4849 T).(subst0 O v0 u3 u4)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4850 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2)))))))) H4))))))))))
4851 (\lambda (f: F).(\lambda (i: nat).(\lambda (v0: T).(\lambda (u1: T).(\lambda
4852 (u2: T).(\lambda (H2: (subst0 i v0 u1 u2)).(\lambda (c: C).(\lambda (H3: (eq
4853 nat i O)).(let H4 \def (eq_ind nat i (\lambda (n0: nat).(subst0 n0 v0 u1 u2))
4854 H2 O H3) in (or4_intro1 (drop O O (CHead c (Flat f) u1) (CHead c (Flat f)
4855 u2)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (_:
4856 T).(\lambda (u4: T).(eq C (CHead c (Flat f) u2) (CHead e0 (Flat f0) u4))))))
4857 (\lambda (f0: F).(\lambda (e0: C).(\lambda (u3: T).(\lambda (_: T).(drop O O
4858 (CHead c (Flat f) u1) (CHead e0 (Flat f0) u3)))))) (\lambda (_: F).(\lambda
4859 (_: C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4)))))) (ex3_4 F C
4860 C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C
4861 (CHead c (Flat f) u2) (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda
4862 (e1: C).(\lambda (_: C).(\lambda (u: T).(drop O O (CHead c (Flat f) u1)
4863 (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4864 C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f0:
4865 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u4: T).(eq C
4866 (CHead c (Flat f) u2) (CHead e2 (Flat f0) u4))))))) (\lambda (f0: F).(\lambda
4867 (e1: C).(\lambda (_: C).(\lambda (u3: T).(\lambda (_: T).(drop O O (CHead c
4868 (Flat f) u1) (CHead e1 (Flat f0) u3))))))) (\lambda (_: F).(\lambda (_:
4869 C).(\lambda (_: C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4))))))
4870 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4871 (_: T).(csubst0 O v0 e1 e2))))))) (ex3_4_intro F C T T (\lambda (f0:
4872 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u4: T).(eq C (CHead c (Flat f)
4873 u2) (CHead e0 (Flat f0) u4)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda
4874 (u3: T).(\lambda (_: T).(drop O O (CHead c (Flat f) u1) (CHead e0 (Flat f0)
4875 u3)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u3: T).(\lambda (u4:
4876 T).(subst0 O v0 u3 u4))))) f c u1 u2 (refl_equal C (CHead c (Flat f) u2))
4877 (drop_refl (CHead c (Flat f) u1)) H4))))))))))) k)) (\lambda (k: K).(K_ind
4878 (\lambda (k0: K).(\forall (i: nat).(\forall (c3: C).(\forall (c4: C).(\forall
4879 (v0: T).((csubst0 i v0 c3 c4) \to ((((eq nat i O) \to (or4 (drop O O c3 c4)
4880 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2:
4881 T).(eq C c4 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0:
4882 C).(\lambda (u1: T).(\lambda (_: T).(drop O O c3 (CHead e0 (Flat f) u1))))))
4883 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O
4884 v0 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
4885 C).(\lambda (u: T).(eq C c4 (CHead e2 (Flat f) u)))))) (\lambda (f:
4886 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop O O c3 (CHead e1
4887 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
4888 (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda
4889 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C c4 (CHead e2
4890 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
4891 (u1: T).(\lambda (_: T).(drop O O c3 (CHead e1 (Flat f) u1))))))) (\lambda
4892 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2:
4893 T).(subst0 O v0 u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
4894 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2)))))))))) \to (\forall
4895 (u: T).((eq nat (s k0 i) O) \to (or4 (drop O O (CHead c3 k0 u) (CHead c4 k0
4896 u)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda
4897 (u2: T).(eq C (CHead c4 k0 u) (CHead e0 (Flat f) u2)))))) (\lambda (f:
4898 F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop O O (CHead c3 k0
4899 u) (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
4900 T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) (ex3_4 F C C T (\lambda (f:
4901 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(eq C (CHead c4 k0 u)
4902 (CHead e2 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
4903 C).(\lambda (u0: T).(drop O O (CHead c3 k0 u) (CHead e1 (Flat f) u0))))))
4904 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
4905 v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
4906 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead c4 k0 u) (CHead e2 (Flat f)
4907 u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1:
4908 T).(\lambda (_: T).(drop O O (CHead c3 k0 u) (CHead e1 (Flat f) u1)))))))
4909 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
4910 (u2: T).(subst0 O v0 u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
4911 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2)))))))))))))))))
4912 (\lambda (b: B).(\lambda (i: nat).(\lambda (c3: C).(\lambda (c4: C).(\lambda
4913 (v0: T).(\lambda (_: (csubst0 i v0 c3 c4)).(\lambda (_: (((eq nat i O) \to
4914 (or4 (drop O O c3 c4) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
4915 C).(\lambda (_: T).(\lambda (u2: T).(eq C c4 (CHead e0 (Flat f) u2))))))
4916 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop O O
4917 c3 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
4918 T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) (ex3_4 F C C T (\lambda (f:
4919 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C c4 (CHead e2 (Flat
4920 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
4921 T).(drop O O c3 (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1:
4922 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T
4923 T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
4924 (u2: T).(eq C c4 (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1:
4925 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop O O c3 (CHead e1
4926 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
4927 (u1: T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) (\lambda (_: F).(\lambda
4928 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1
4929 e2))))))))))).(\lambda (u: T).(\lambda (H4: (eq nat (S i) O)).(let H5 \def
4930 (eq_ind nat (S i) (\lambda (ee: nat).(match ee in nat return (\lambda (_:
4931 nat).Prop) with [O \Rightarrow False | (S _) \Rightarrow True])) I O H4) in
4932 (False_ind (or4 (drop O O (CHead c3 (Bind b) u) (CHead c4 (Bind b) u)) (ex3_4
4933 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq
4934 C (CHead c4 (Bind b) u) (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda
4935 (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop O O (CHead c3 (Bind b) u)
4936 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
4937 T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) (ex3_4 F C C T (\lambda (f:
4938 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(eq C (CHead c4 (Bind b)
4939 u) (CHead e2 (Flat f) u0)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
4940 C).(\lambda (u0: T).(drop O O (CHead c3 (Bind b) u) (CHead e1 (Flat f)
4941 u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
4942 T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_:
4943 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead c4 (Bind b)
4944 u) (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
4945 C).(\lambda (u1: T).(\lambda (_: T).(drop O O (CHead c3 (Bind b) u) (CHead e1
4946 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
4947 (u1: T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) (\lambda (_: F).(\lambda
4948 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1
4949 e2)))))))) H5))))))))))) (\lambda (f: F).(\lambda (i: nat).(\lambda (c3:
4950 C).(\lambda (c4: C).(\lambda (v0: T).(\lambda (H2: (csubst0 i v0 c3
4951 c4)).(\lambda (H3: (((eq nat i O) \to (or4 (drop O O c3 c4) (ex3_4 F C T T
4952 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c4
4953 (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1:
4954 T).(\lambda (_: T).(drop O O c3 (CHead e0 (Flat f0) u1)))))) (\lambda (_:
4955 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v0 u1 u2))))))
4956 (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
4957 T).(eq C c4 (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1:
4958 C).(\lambda (_: C).(\lambda (u: T).(drop O O c3 (CHead e1 (Flat f0) u))))))
4959 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
4960 v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda
4961 (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C c4 (CHead e2 (Flat f0)
4962 u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1:
4963 T).(\lambda (_: T).(drop O O c3 (CHead e1 (Flat f0) u1))))))) (\lambda (_:
4964 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0
4965 O v0 u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
4966 (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2))))))))))).(\lambda (u:
4967 T).(\lambda (H4: (eq nat i O)).(let H5 \def (eq_ind nat i (\lambda (n0:
4968 nat).((eq nat n0 O) \to (or4 (drop O O c3 c4) (ex3_4 F C T T (\lambda (f0:
4969 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c4 (CHead e0 (Flat
4970 f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_:
4971 T).(drop O O c3 (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_:
4972 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) (ex3_4 F C C T
4973 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(eq C c4
4974 (CHead e2 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
4975 C).(\lambda (u0: T).(drop O O c3 (CHead e1 (Flat f0) u0)))))) (\lambda (_:
4976 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1
4977 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
4978 C).(\lambda (_: T).(\lambda (u2: T).(eq C c4 (CHead e2 (Flat f0) u2)))))))
4979 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
4980 (_: T).(drop O O c3 (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda
4981 (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v0 u1
4982 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
4983 T).(\lambda (_: T).(csubst0 O v0 e1 e2)))))))))) H3 O H4) in (let H6 \def
4984 (eq_ind nat i (\lambda (n0: nat).(csubst0 n0 v0 c3 c4)) H2 O H4) in
4985 (or4_intro2 (drop O O (CHead c3 (Flat f) u) (CHead c4 (Flat f) u)) (ex3_4 F C
4986 T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C
4987 (CHead c4 (Flat f) u) (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda
4988 (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop O O (CHead c3 (Flat f) u)
4989 (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
4990 T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) (ex3_4 F C C T (\lambda (f0:
4991 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u0: T).(eq C (CHead c4 (Flat f)
4992 u) (CHead e2 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda
4993 (_: C).(\lambda (u0: T).(drop O O (CHead c3 (Flat f) u) (CHead e1 (Flat f0)
4994 u0)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
4995 T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_:
4996 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead c4 (Flat f)
4997 u) (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda
4998 (_: C).(\lambda (u1: T).(\lambda (_: T).(drop O O (CHead c3 (Flat f) u)
4999 (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
5000 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v0 u1 u2)))))) (\lambda (_:
5001 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
5002 O v0 e1 e2))))))) (ex3_4_intro F C C T (\lambda (f0: F).(\lambda (_:
5003 C).(\lambda (e2: C).(\lambda (u0: T).(eq C (CHead c4 (Flat f) u) (CHead e2
5004 (Flat f0) u0)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
5005 (u0: T).(drop O O (CHead c3 (Flat f) u) (CHead e1 (Flat f0) u0)))))) (\lambda
5006 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1
5007 e2))))) f c3 c4 u (refl_equal C (CHead c4 (Flat f) u)) (drop_refl (CHead c3
5008 (Flat f) u)) H6))))))))))))) k)) (\lambda (k: K).(K_ind (\lambda (k0:
5009 K).(\forall (i: nat).(\forall (v0: T).(\forall (u1: T).(\forall (u2:
5010 T).((subst0 i v0 u1 u2) \to (\forall (c3: C).(\forall (c4: C).((csubst0 i v0
5011 c3 c4) \to ((((eq nat i O) \to (or4 (drop O O c3 c4) (ex3_4 F C T T (\lambda
5012 (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u4: T).(eq C c4 (CHead e0
5013 (Flat f) u4)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u3: T).(\lambda
5014 (_: T).(drop O O c3 (CHead e0 (Flat f) u3)))))) (\lambda (_: F).(\lambda (_:
5015 C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4)))))) (ex3_4 F C C T
5016 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C c4
5017 (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
5018 C).(\lambda (u: T).(drop O O c3 (CHead e1 (Flat f) u)))))) (\lambda (_:
5019 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1
5020 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5021 C).(\lambda (_: T).(\lambda (u4: T).(eq C c4 (CHead e2 (Flat f) u4)))))))
5022 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u3: T).(\lambda
5023 (_: T).(drop O O c3 (CHead e1 (Flat f) u3))))))) (\lambda (_: F).(\lambda (_:
5024 C).(\lambda (_: C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4))))))
5025 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
5026 (_: T).(csubst0 O v0 e1 e2)))))))))) \to ((eq nat (s k0 i) O) \to (or4 (drop
5027 O O (CHead c3 k0 u1) (CHead c4 k0 u2)) (ex3_4 F C T T (\lambda (f:
5028 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u4: T).(eq C (CHead c4 k0 u2)
5029 (CHead e0 (Flat f) u4)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u3:
5030 T).(\lambda (_: T).(drop O O (CHead c3 k0 u1) (CHead e0 (Flat f) u3))))))
5031 (\lambda (_: F).(\lambda (_: C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O
5032 v0 u3 u4)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5033 C).(\lambda (u: T).(eq C (CHead c4 k0 u2) (CHead e2 (Flat f) u)))))) (\lambda
5034 (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop O O (CHead c3
5035 k0 u1) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
5036 (e2: C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda
5037 (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u4: T).(eq
5038 C (CHead c4 k0 u2) (CHead e2 (Flat f) u4))))))) (\lambda (f: F).(\lambda (e1:
5039 C).(\lambda (_: C).(\lambda (u3: T).(\lambda (_: T).(drop O O (CHead c3 k0
5040 u1) (CHead e1 (Flat f) u3))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
5041 C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4)))))) (\lambda (_:
5042 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
5043 O v0 e1 e2))))))))))))))))))) (\lambda (b: B).(\lambda (i: nat).(\lambda (v0:
5044 T).(\lambda (u1: T).(\lambda (u2: T).(\lambda (_: (subst0 i v0 u1
5045 u2)).(\lambda (c3: C).(\lambda (c4: C).(\lambda (_: (csubst0 i v0 c3
5046 c4)).(\lambda (_: (((eq nat i O) \to (or4 (drop O O c3 c4) (ex3_4 F C T T
5047 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u4: T).(eq C c4
5048 (CHead e0 (Flat f) u4)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u3:
5049 T).(\lambda (_: T).(drop O O c3 (CHead e0 (Flat f) u3)))))) (\lambda (_:
5050 F).(\lambda (_: C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4))))))
5051 (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
5052 T).(eq C c4 (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1:
5053 C).(\lambda (_: C).(\lambda (u: T).(drop O O c3 (CHead e1 (Flat f) u))))))
5054 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
5055 v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5056 C).(\lambda (_: T).(\lambda (u4: T).(eq C c4 (CHead e2 (Flat f) u4)))))))
5057 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u3: T).(\lambda
5058 (_: T).(drop O O c3 (CHead e1 (Flat f) u3))))))) (\lambda (_: F).(\lambda (_:
5059 C).(\lambda (_: C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4))))))
5060 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
5061 (_: T).(csubst0 O v0 e1 e2))))))))))).(\lambda (H5: (eq nat (S i) O)).(let H6
5062 \def (eq_ind nat (S i) (\lambda (ee: nat).(match ee in nat return (\lambda
5063 (_: nat).Prop) with [O \Rightarrow False | (S _) \Rightarrow True])) I O H5)
5064 in (False_ind (or4 (drop O O (CHead c3 (Bind b) u1) (CHead c4 (Bind b) u2))
5065 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u4:
5066 T).(eq C (CHead c4 (Bind b) u2) (CHead e0 (Flat f) u4)))))) (\lambda (f:
5067 F).(\lambda (e0: C).(\lambda (u3: T).(\lambda (_: T).(drop O O (CHead c3
5068 (Bind b) u1) (CHead e0 (Flat f) u3)))))) (\lambda (_: F).(\lambda (_:
5069 C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4)))))) (ex3_4 F C C T
5070 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C (CHead
5071 c4 (Bind b) u2) (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1:
5072 C).(\lambda (_: C).(\lambda (u: T).(drop O O (CHead c3 (Bind b) u1) (CHead e1
5073 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
5074 (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda
5075 (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u4: T).(eq C (CHead c4
5076 (Bind b) u2) (CHead e2 (Flat f) u4))))))) (\lambda (f: F).(\lambda (e1:
5077 C).(\lambda (_: C).(\lambda (u3: T).(\lambda (_: T).(drop O O (CHead c3 (Bind
5078 b) u1) (CHead e1 (Flat f) u3))))))) (\lambda (_: F).(\lambda (_: C).(\lambda
5079 (_: C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4)))))) (\lambda
5080 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_:
5081 T).(csubst0 O v0 e1 e2)))))))) H6))))))))))))) (\lambda (f: F).(\lambda (i:
5082 nat).(\lambda (v0: T).(\lambda (u1: T).(\lambda (u2: T).(\lambda (H2: (subst0
5083 i v0 u1 u2)).(\lambda (c3: C).(\lambda (c4: C).(\lambda (H3: (csubst0 i v0 c3
5084 c4)).(\lambda (H4: (((eq nat i O) \to (or4 (drop O O c3 c4) (ex3_4 F C T T
5085 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u4: T).(eq C c4
5086 (CHead e0 (Flat f0) u4)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u3:
5087 T).(\lambda (_: T).(drop O O c3 (CHead e0 (Flat f0) u3)))))) (\lambda (_:
5088 F).(\lambda (_: C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4))))))
5089 (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
5090 T).(eq C c4 (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1:
5091 C).(\lambda (_: C).(\lambda (u: T).(drop O O c3 (CHead e1 (Flat f0) u))))))
5092 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
5093 v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda
5094 (e2: C).(\lambda (_: T).(\lambda (u4: T).(eq C c4 (CHead e2 (Flat f0)
5095 u4))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u3:
5096 T).(\lambda (_: T).(drop O O c3 (CHead e1 (Flat f0) u3))))))) (\lambda (_:
5097 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u3: T).(\lambda (u4: T).(subst0
5098 O v0 u3 u4)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
5099 (_: T).(\lambda (_: T).(csubst0 O v0 e1 e2))))))))))).(\lambda (H5: (eq nat i
5100 O)).(let H6 \def (eq_ind nat i (\lambda (n0: nat).((eq nat n0 O) \to (or4
5101 (drop O O c3 c4) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda
5102 (_: T).(\lambda (u4: T).(eq C c4 (CHead e0 (Flat f0) u4)))))) (\lambda (f0:
5103 F).(\lambda (e0: C).(\lambda (u3: T).(\lambda (_: T).(drop O O c3 (CHead e0
5104 (Flat f0) u3)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u3: T).(\lambda
5105 (u4: T).(subst0 O v0 u3 u4)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_:
5106 C).(\lambda (e2: C).(\lambda (u: T).(eq C c4 (CHead e2 (Flat f0) u))))))
5107 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop O O
5108 c3 (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
5109 C).(\lambda (_: T).(csubst0 O v0 e1 e2)))))) (ex4_5 F C C T T (\lambda (f0:
5110 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u4: T).(eq C c4
5111 (CHead e2 (Flat f0) u4))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
5112 C).(\lambda (u3: T).(\lambda (_: T).(drop O O c3 (CHead e1 (Flat f0)
5113 u3))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u3:
5114 T).(\lambda (u4: T).(subst0 O v0 u3 u4)))))) (\lambda (_: F).(\lambda (e1:
5115 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v0 e1
5116 e2)))))))))) H4 O H5) in (let H7 \def (eq_ind nat i (\lambda (n0:
5117 nat).(csubst0 n0 v0 c3 c4)) H3 O H5) in (let H8 \def (eq_ind nat i (\lambda
5118 (n0: nat).(subst0 n0 v0 u1 u2)) H2 O H5) in (or4_intro3 (drop O O (CHead c3
5119 (Flat f) u1) (CHead c4 (Flat f) u2)) (ex3_4 F C T T (\lambda (f0: F).(\lambda
5120 (e0: C).(\lambda (_: T).(\lambda (u4: T).(eq C (CHead c4 (Flat f) u2) (CHead
5121 e0 (Flat f0) u4)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u3:
5122 T).(\lambda (_: T).(drop O O (CHead c3 (Flat f) u1) (CHead e0 (Flat f0)
5123 u3)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u3: T).(\lambda (u4:
5124 T).(subst0 O v0 u3 u4)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_:
5125 C).(\lambda (e2: C).(\lambda (u: T).(eq C (CHead c4 (Flat f) u2) (CHead e2
5126 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
5127 (u: T).(drop O O (CHead c3 (Flat f) u1) (CHead e1 (Flat f0) u)))))) (\lambda
5128 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v0 e1
5129 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
5130 C).(\lambda (_: T).(\lambda (u4: T).(eq C (CHead c4 (Flat f) u2) (CHead e2
5131 (Flat f0) u4))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
5132 C).(\lambda (u3: T).(\lambda (_: T).(drop O O (CHead c3 (Flat f) u1) (CHead
5133 e1 (Flat f0) u3))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
5134 C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4)))))) (\lambda (_:
5135 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
5136 O v0 e1 e2))))))) (ex4_5_intro F C C T T (\lambda (f0: F).(\lambda (_:
5137 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u4: T).(eq C (CHead c4 (Flat f)
5138 u2) (CHead e2 (Flat f0) u4))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda
5139 (_: C).(\lambda (u3: T).(\lambda (_: T).(drop O O (CHead c3 (Flat f) u1)
5140 (CHead e1 (Flat f0) u3))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
5141 C).(\lambda (u3: T).(\lambda (u4: T).(subst0 O v0 u3 u4)))))) (\lambda (_:
5142 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
5143 O v0 e1 e2)))))) f c3 c4 u1 u2 (refl_equal C (CHead c4 (Flat f) u2))
5144 (drop_refl (CHead c3 (Flat f) u1)) H8 H7)))))))))))))))) k)) y v c1 c2 H1)))
5145 H) e (drop_gen_refl c2 e H0)))))))) (\lambda (n0: nat).(\lambda (IHn:
5146 ((\forall (c1: C).(\forall (c2: C).(\forall (v: T).((csubst0 n0 v c1 c2) \to
5147 (\forall (e: C).((drop n0 O c2 e) \to (or4 (drop n0 O c1 e) (ex3_4 F C T T
5148 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e
5149 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1:
5150 T).(\lambda (_: T).(drop n0 O c1 (CHead e0 (Flat f) u1)))))) (\lambda (_:
5151 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
5152 (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
5153 T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1:
5154 C).(\lambda (_: C).(\lambda (u: T).(drop n0 O c1 (CHead e1 (Flat f) u))))))
5155 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
5156 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5157 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2)))))))
5158 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5159 (_: T).(drop n0 O c1 (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda
5160 (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1
5161 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
5162 T).(\lambda (_: T).(csubst0 O v e1 e2)))))))))))))))).(\lambda (c1: C).(C_ind
5163 (\lambda (c: C).(\forall (c2: C).(\forall (v: T).((csubst0 (S n0) v c c2) \to
5164 (\forall (e: C).((drop (S n0) O c2 e) \to (or4 (drop (S n0) O c e) (ex3_4 F C
5165 T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e
5166 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1:
5167 T).(\lambda (_: T).(drop (S n0) O c (CHead e0 (Flat f) u1)))))) (\lambda (_:
5168 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
5169 (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
5170 T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1:
5171 C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O c (CHead e1 (Flat f)
5172 u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
5173 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_:
5174 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat
5175 f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1:
5176 T).(\lambda (_: T).(drop (S n0) O c (CHead e1 (Flat f) u1))))))) (\lambda (_:
5177 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0
5178 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
5179 (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))))))))) (\lambda (n1:
5180 nat).(\lambda (c2: C).(\lambda (v: T).(\lambda (H: (csubst0 (S n0) v (CSort
5181 n1) c2)).(\lambda (e: C).(\lambda (_: (drop (S n0) O c2 e)).(csubst0_gen_sort
5182 c2 v (S n0) n1 H (or4 (drop (S n0) O (CSort n1) e) (ex3_4 F C T T (\lambda
5183 (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0
5184 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda
5185 (_: T).(drop (S n0) O (CSort n1) (CHead e0 (Flat f) u1)))))) (\lambda (_:
5186 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
5187 (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
5188 T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1:
5189 C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CSort n1) (CHead e1 (Flat
5190 f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
5191 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_:
5192 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat
5193 f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1:
5194 T).(\lambda (_: T).(drop (S n0) O (CSort n1) (CHead e1 (Flat f) u1)))))))
5195 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5196 (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
5197 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))))))))))
5198 (\lambda (c: C).(\lambda (H: ((\forall (c2: C).(\forall (v: T).((csubst0 (S
5199 n0) v c c2) \to (\forall (e: C).((drop (S n0) O c2 e) \to (or4 (drop (S n0) O
5200 c e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda
5201 (u2: T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0:
5202 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O c (CHead e0 (Flat f)
5203 u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2:
5204 T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_:
5205 C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u))))))
5206 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0)
5207 O c (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
5208 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f:
5209 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C e
5210 (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
5211 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O c (CHead e1 (Flat f)
5212 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1:
5213 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1:
5214 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
5215 e2))))))))))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (c2: C).(\lambda
5216 (v: T).(\lambda (H0: (csubst0 (S n0) v (CHead c k t) c2)).(\lambda (e:
5217 C).(\lambda (H1: (drop (S n0) O c2 e)).(or3_ind (ex3_2 T nat (\lambda (_:
5218 T).(\lambda (j: nat).(eq nat (S n0) (s k j)))) (\lambda (u2: T).(\lambda (_:
5219 nat).(eq C c2 (CHead c k u2)))) (\lambda (u2: T).(\lambda (j: nat).(subst0 j
5220 v t u2)))) (ex3_2 C nat (\lambda (_: C).(\lambda (j: nat).(eq nat (S n0) (s k
5221 j)))) (\lambda (c3: C).(\lambda (_: nat).(eq C c2 (CHead c3 k t)))) (\lambda
5222 (c3: C).(\lambda (j: nat).(csubst0 j v c c3)))) (ex4_3 T C nat (\lambda (_:
5223 T).(\lambda (_: C).(\lambda (j: nat).(eq nat (S n0) (s k j))))) (\lambda (u2:
5224 T).(\lambda (c3: C).(\lambda (_: nat).(eq C c2 (CHead c3 k u2))))) (\lambda
5225 (u2: T).(\lambda (_: C).(\lambda (j: nat).(subst0 j v t u2)))) (\lambda (_:
5226 T).(\lambda (c3: C).(\lambda (j: nat).(csubst0 j v c c3))))) (or4 (drop (S
5227 n0) O (CHead c k t) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
5228 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2))))))
5229 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
5230 n0) O (CHead c k t) (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_:
5231 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T
5232 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e
5233 (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
5234 C).(\lambda (u: T).(drop (S n0) O (CHead c k t) (CHead e1 (Flat f) u))))))
5235 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
5236 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5237 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2)))))))
5238 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5239 (_: T).(drop (S n0) O (CHead c k t) (CHead e1 (Flat f) u1))))))) (\lambda (_:
5240 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0
5241 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
5242 (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda (H2: (ex3_2 T nat
5243 (\lambda (_: T).(\lambda (j: nat).(eq nat (S n0) (s k j)))) (\lambda (u2:
5244 T).(\lambda (_: nat).(eq C c2 (CHead c k u2)))) (\lambda (u2: T).(\lambda (j:
5245 nat).(subst0 j v t u2))))).(ex3_2_ind T nat (\lambda (_: T).(\lambda (j:
5246 nat).(eq nat (S n0) (s k j)))) (\lambda (u2: T).(\lambda (_: nat).(eq C c2
5247 (CHead c k u2)))) (\lambda (u2: T).(\lambda (j: nat).(subst0 j v t u2))) (or4
5248 (drop (S n0) O (CHead c k t) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
5249 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2))))))
5250 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
5251 n0) O (CHead c k t) (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_:
5252 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T
5253 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e
5254 (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
5255 C).(\lambda (u: T).(drop (S n0) O (CHead c k t) (CHead e1 (Flat f) u))))))
5256 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
5257 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5258 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2)))))))
5259 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5260 (_: T).(drop (S n0) O (CHead c k t) (CHead e1 (Flat f) u1))))))) (\lambda (_:
5261 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0
5262 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
5263 (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x0: T).(\lambda
5264 (x1: nat).(\lambda (H3: (eq nat (S n0) (s k x1))).(\lambda (H4: (eq C c2
5265 (CHead c k x0))).(\lambda (H5: (subst0 x1 v t x0)).(let H6 \def (eq_ind C c2
5266 (\lambda (c0: C).(drop (S n0) O c0 e)) H1 (CHead c k x0) H4) in (K_ind
5267 (\lambda (k0: K).((eq nat (S n0) (s k0 x1)) \to ((drop (r k0 n0) O c e) \to
5268 (or4 (drop (S n0) O (CHead c k0 t) e) (ex3_4 F C T T (\lambda (f: F).(\lambda
5269 (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2))))))
5270 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
5271 n0) O (CHead c k0 t) (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_:
5272 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T
5273 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e
5274 (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
5275 C).(\lambda (u: T).(drop (S n0) O (CHead c k0 t) (CHead e1 (Flat f) u))))))
5276 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
5277 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5278 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2)))))))
5279 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5280 (_: T).(drop (S n0) O (CHead c k0 t) (CHead e1 (Flat f) u1))))))) (\lambda
5281 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2:
5282 T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
5283 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))))))) (\lambda (b:
5284 B).(\lambda (H7: (eq nat (S n0) (s (Bind b) x1))).(\lambda (H8: (drop (r
5285 (Bind b) n0) O c e)).(let H9 \def (f_equal nat nat (\lambda (e0: nat).(match
5286 e0 in nat return (\lambda (_: nat).nat) with [O \Rightarrow n0 | (S n1)
5287 \Rightarrow n1])) (S n0) (S x1) H7) in (let H10 \def (eq_ind_r nat x1
5288 (\lambda (n1: nat).(subst0 n1 v t x0)) H5 n0 H9) in (or4_intro0 (drop (S n0)
5289 O (CHead c (Bind b) t) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
5290 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2))))))
5291 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
5292 n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda (_:
5293 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
5294 (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
5295 T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1:
5296 C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c (Bind b) t) (CHead
5297 e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
5298 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f:
5299 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C e
5300 (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
5301 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t)
5302 (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
5303 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_:
5304 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
5305 O v e1 e2))))))) (drop_drop (Bind b) n0 c e H8 t))))))) (\lambda (f:
5306 F).(\lambda (H7: (eq nat (S n0) (s (Flat f) x1))).(\lambda (H8: (drop (r
5307 (Flat f) n0) O c e)).(let H9 \def (f_equal nat nat (\lambda (e0: nat).e0) (S
5308 n0) x1 H7) in (let H10 \def (eq_ind_r nat x1 (\lambda (n1: nat).(subst0 n1 v
5309 t x0)) H5 (S n0) H9) in (or4_intro0 (drop (S n0) O (CHead c (Flat f) t) e)
5310 (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda
5311 (u2: T).(eq C e (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0:
5312 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t)
5313 (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
5314 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0:
5315 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat
5316 f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
5317 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda
5318 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1
5319 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
5320 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f0) u2)))))))
5321 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5322 (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u1)))))))
5323 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5324 (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
5325 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (drop_drop
5326 (Flat f) n0 c e H8 t))))))) k H3 (drop_gen_drop k c e x0 n0 H6)))))))) H2))
5327 (\lambda (H2: (ex3_2 C nat (\lambda (_: C).(\lambda (j: nat).(eq nat (S n0)
5328 (s k j)))) (\lambda (c3: C).(\lambda (_: nat).(eq C c2 (CHead c3 k t))))
5329 (\lambda (c3: C).(\lambda (j: nat).(csubst0 j v c c3))))).(ex3_2_ind C nat
5330 (\lambda (_: C).(\lambda (j: nat).(eq nat (S n0) (s k j)))) (\lambda (c3:
5331 C).(\lambda (_: nat).(eq C c2 (CHead c3 k t)))) (\lambda (c3: C).(\lambda (j:
5332 nat).(csubst0 j v c c3))) (or4 (drop (S n0) O (CHead c k t) e) (ex3_4 F C T T
5333 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e
5334 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1:
5335 T).(\lambda (_: T).(drop (S n0) O (CHead c k t) (CHead e0 (Flat f) u1))))))
5336 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v
5337 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5338 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f:
5339 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c k
5340 t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
5341 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f:
5342 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C e
5343 (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_:
5344 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c k t) (CHead e1
5345 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
5346 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda
5347 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
5348 e2)))))))) (\lambda (x0: C).(\lambda (x1: nat).(\lambda (H3: (eq nat (S n0)
5349 (s k x1))).(\lambda (H4: (eq C c2 (CHead x0 k t))).(\lambda (H5: (csubst0 x1
5350 v c x0)).(let H6 \def (eq_ind C c2 (\lambda (c0: C).(drop (S n0) O c0 e)) H1
5351 (CHead x0 k t) H4) in (K_ind (\lambda (k0: K).((eq nat (S n0) (s k0 x1)) \to
5352 ((drop (r k0 n0) O x0 e) \to (or4 (drop (S n0) O (CHead c k0 t) e) (ex3_4 F C
5353 T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e
5354 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1:
5355 T).(\lambda (_: T).(drop (S n0) O (CHead c k0 t) (CHead e0 (Flat f) u1))))))
5356 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v
5357 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5358 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f:
5359 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c
5360 k0 t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
5361 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda
5362 (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq
5363 C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda
5364 (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c k0 t) (CHead
5365 e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
5366 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_:
5367 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
5368 O v e1 e2))))))))))) (\lambda (b: B).(\lambda (H7: (eq nat (S n0) (s (Bind b)
5369 x1))).(\lambda (H8: (drop (r (Bind b) n0) O x0 e)).(let H9 \def (f_equal nat
5370 nat (\lambda (e0: nat).(match e0 in nat return (\lambda (_: nat).nat) with [O
5371 \Rightarrow n0 | (S n1) \Rightarrow n1])) (S n0) (S x1) H7) in (let H10 \def
5372 (eq_ind_r nat x1 (\lambda (n1: nat).(csubst0 n1 v c x0)) H5 n0 H9) in (let
5373 H11 \def (IHn c x0 v H10 e H8) in (or4_ind (drop n0 O c e) (ex3_4 F C T T
5374 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e
5375 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1:
5376 T).(\lambda (_: T).(drop n0 O c (CHead e0 (Flat f) u1)))))) (\lambda (_:
5377 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
5378 (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
5379 T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1:
5380 C).(\lambda (_: C).(\lambda (u: T).(drop n0 O c (CHead e1 (Flat f) u))))))
5381 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
5382 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5383 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2)))))))
5384 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5385 (_: T).(drop n0 O c (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_:
5386 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
5387 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
5388 (_: T).(csubst0 O v e1 e2))))))) (or4 (drop (S n0) O (CHead c (Bind b) t) e)
5389 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2:
5390 T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0:
5391 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t)
5392 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
5393 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f:
5394 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat
5395 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
5396 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda
5397 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1
5398 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5399 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2)))))))
5400 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5401 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u1)))))))
5402 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5403 (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
5404 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda
5405 (H12: (drop n0 O c e)).(or4_intro0 (drop (S n0) O (CHead c (Bind b) t) e)
5406 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2:
5407 T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0:
5408 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t)
5409 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
5410 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f:
5411 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat
5412 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
5413 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda
5414 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1
5415 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5416 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2)))))))
5417 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5418 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u1)))))))
5419 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5420 (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
5421 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (drop_drop
5422 (Bind b) n0 c e H12 t))) (\lambda (H12: (ex3_4 F C T T (\lambda (f:
5423 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat
5424 f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_:
5425 T).(drop n0 O c (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_:
5426 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))).(ex3_4_ind F C
5427 T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e
5428 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1:
5429 T).(\lambda (_: T).(drop n0 O c (CHead e0 (Flat f) u1)))))) (\lambda (_:
5430 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))
5431 (or4 (drop (S n0) O (CHead c (Bind b) t) e) (ex3_4 F C T T (\lambda (f:
5432 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat
5433 f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_:
5434 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda
5435 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1
5436 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5437 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f:
5438 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c
5439 (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1:
5440 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T
5441 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
5442 (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1:
5443 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c
5444 (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_:
5445 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
5446 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
5447 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x2: F).(\lambda (x3: C).(\lambda
5448 (x4: T).(\lambda (x5: T).(\lambda (H13: (eq C e (CHead x3 (Flat x2)
5449 x5))).(\lambda (H14: (drop n0 O c (CHead x3 (Flat x2) x4))).(\lambda (H15:
5450 (subst0 O v x4 x5)).(eq_ind_r C (CHead x3 (Flat x2) x5) (\lambda (c0: C).(or4
5451 (drop (S n0) O (CHead c (Bind b) t) c0) (ex3_4 F C T T (\lambda (f:
5452 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (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 c0 (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 c0 (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))))))))) (or4_intro1 (drop (S n0) O (CHead c (Bind
5468 b) t) (CHead x3 (Flat x2) x5)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
5469 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x3 (Flat x2) x5) (CHead e0
5470 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda
5471 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1))))))
5472 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v
5473 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5474 C).(\lambda (u: T).(eq C (CHead x3 (Flat x2) x5) (CHead e2 (Flat f) u))))))
5475 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0)
5476 O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda
5477 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
5478 C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
5479 T).(\lambda (u2: T).(eq C (CHead x3 (Flat x2) x5) (CHead e2 (Flat f)
5480 u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1:
5481 T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f)
5482 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1:
5483 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1:
5484 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))
5485 (ex3_4_intro F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_:
5486 T).(\lambda (u2: T).(eq C (CHead x3 (Flat x2) x5) (CHead e0 (Flat f) u2))))))
5487 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
5488 n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda (_:
5489 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))
5490 x2 x3 x4 x5 (refl_equal C (CHead x3 (Flat x2) x5)) (drop_drop (Bind b) n0 c
5491 (CHead x3 (Flat x2) x4) H14 t) H15)) e H13)))))))) H12)) (\lambda (H12:
5492 (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
5493 T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1:
5494 C).(\lambda (_: C).(\lambda (u: T).(drop n0 O c (CHead e1 (Flat f) u))))))
5495 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
5496 v e1 e2))))))).(ex3_4_ind F C C T (\lambda (f: F).(\lambda (_: C).(\lambda
5497 (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f:
5498 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop n0 O c (CHead e1
5499 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
5500 (_: T).(csubst0 O v e1 e2))))) (or4 (drop (S n0) O (CHead c (Bind b) t) e)
5501 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2:
5502 T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0:
5503 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t)
5504 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
5505 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f:
5506 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat
5507 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
5508 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda
5509 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1
5510 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5511 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2)))))))
5512 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5513 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u1)))))))
5514 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5515 (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
5516 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda
5517 (x2: F).(\lambda (x3: C).(\lambda (x4: C).(\lambda (x5: T).(\lambda (H13: (eq
5518 C e (CHead x4 (Flat x2) x5))).(\lambda (H14: (drop n0 O c (CHead x3 (Flat x2)
5519 x5))).(\lambda (H15: (csubst0 O v x3 x4)).(eq_ind_r C (CHead x4 (Flat x2) x5)
5520 (\lambda (c0: C).(or4 (drop (S n0) O (CHead c (Bind b) t) c0) (ex3_4 F C T T
5521 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0
5522 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1:
5523 T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f)
5524 u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2:
5525 T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_:
5526 C).(\lambda (e2: C).(\lambda (u: T).(eq C c0 (CHead e2 (Flat f) u))))))
5527 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0)
5528 O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda
5529 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
5530 C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
5531 T).(\lambda (u2: T).(eq C c0 (CHead e2 (Flat f) u2))))))) (\lambda (f:
5532 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
5533 n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda (_:
5534 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0
5535 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
5536 (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))))) (or4_intro2 (drop (S n0) O
5537 (CHead c (Bind b) t) (CHead x4 (Flat x2) x5)) (ex3_4 F C T T (\lambda (f:
5538 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat
5539 x2) x5) (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda
5540 (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat
5541 f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2:
5542 T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_:
5543 C).(\lambda (e2: C).(\lambda (u: T).(eq C (CHead x4 (Flat x2) x5) (CHead e2
5544 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
5545 (u: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u))))))
5546 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
5547 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5548 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat x2) x5) (CHead e2
5549 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
5550 (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat
5551 f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1:
5552 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1:
5553 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))
5554 (ex3_4_intro F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5555 C).(\lambda (u: T).(eq C (CHead x4 (Flat x2) x5) (CHead e2 (Flat f) u))))))
5556 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0)
5557 O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda
5558 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))) x2 x3 x4 x5
5559 (refl_equal C (CHead x4 (Flat x2) x5)) (drop_drop (Bind b) n0 c (CHead x3
5560 (Flat x2) x5) H14 t) H15)) e H13)))))))) H12)) (\lambda (H12: (ex4_5 F C C T
5561 T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
5562 (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1:
5563 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop n0 O c (CHead e1
5564 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
5565 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda
5566 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
5567 e2)))))))).(ex4_5_ind F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5568 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2)))))))
5569 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5570 (_: T).(drop n0 O c (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_:
5571 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
5572 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
5573 (_: T).(csubst0 O v e1 e2)))))) (or4 (drop (S n0) O (CHead c (Bind b) t) e)
5574 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2:
5575 T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0:
5576 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t)
5577 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
5578 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f:
5579 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat
5580 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
5581 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda
5582 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1
5583 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5584 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2)))))))
5585 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5586 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u1)))))))
5587 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5588 (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
5589 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda
5590 (x2: F).(\lambda (x3: C).(\lambda (x4: C).(\lambda (x5: T).(\lambda (x6:
5591 T).(\lambda (H13: (eq C e (CHead x4 (Flat x2) x6))).(\lambda (H14: (drop n0 O
5592 c (CHead x3 (Flat x2) x5))).(\lambda (H15: (subst0 O v x5 x6)).(\lambda (H16:
5593 (csubst0 O v x3 x4)).(eq_ind_r C (CHead x4 (Flat x2) x6) (\lambda (c0:
5594 C).(or4 (drop (S n0) O (CHead c (Bind b) t) c0) (ex3_4 F C T T (\lambda (f:
5595 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat
5596 f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_:
5597 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda
5598 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1
5599 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5600 C).(\lambda (u: T).(eq C c0 (CHead e2 (Flat f) u)))))) (\lambda (f:
5601 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c
5602 (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1:
5603 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T
5604 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
5605 (u2: T).(eq C c0 (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1:
5606 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c
5607 (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_:
5608 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
5609 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
5610 (_: T).(csubst0 O v e1 e2))))))))) (or4_intro3 (drop (S n0) O (CHead c (Bind
5611 b) t) (CHead x4 (Flat x2) x6)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
5612 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat x2) x6) (CHead e0
5613 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda
5614 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1))))))
5615 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v
5616 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5617 C).(\lambda (u: T).(eq C (CHead x4 (Flat x2) x6) (CHead e2 (Flat f) u))))))
5618 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0)
5619 O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda
5620 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
5621 C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
5622 T).(\lambda (u2: T).(eq C (CHead x4 (Flat x2) x6) (CHead e2 (Flat f)
5623 u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1:
5624 T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f)
5625 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1:
5626 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1:
5627 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))
5628 (ex4_5_intro F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5629 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat x2) x6) (CHead e2
5630 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
5631 (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat
5632 f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1:
5633 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1:
5634 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))
5635 x2 x3 x4 x5 x6 (refl_equal C (CHead x4 (Flat x2) x6)) (drop_drop (Bind b) n0
5636 c (CHead x3 (Flat x2) x5) H14 t) H15 H16)) e H13)))))))))) H12)) H11)))))))
5637 (\lambda (f: F).(\lambda (H7: (eq nat (S n0) (s (Flat f) x1))).(\lambda (H8:
5638 (drop (r (Flat f) n0) O x0 e)).(let H9 \def (f_equal nat nat (\lambda (e0:
5639 nat).e0) (S n0) x1 H7) in (let H10 \def (eq_ind_r nat x1 (\lambda (n1:
5640 nat).(csubst0 n1 v c x0)) H5 (S n0) H9) in (let H11 \def (H x0 v H10 e H8) in
5641 (or4_ind (drop (S n0) O c e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0:
5642 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f0) u2))))))
5643 (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
5644 n0) O c (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda
5645 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0:
5646 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat
5647 f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
5648 T).(drop (S n0) O c (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1:
5649 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T
5650 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
5651 (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1:
5652 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O c (CHead
5653 e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
5654 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_:
5655 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
5656 O v e1 e2))))))) (or4 (drop (S n0) O (CHead c (Flat f) t) e) (ex3_4 F C T T
5657 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e
5658 (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1:
5659 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0)
5660 u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2:
5661 T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_:
5662 C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat f0) u))))))
5663 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S
5664 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_:
5665 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
5666 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
5667 (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) (\lambda (f0:
5668 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
5669 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_:
5670 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0
5671 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
5672 (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda (H12: (drop (S n0)
5673 O c e)).(or4_intro0 (drop (S n0) O (CHead c (Flat f) t) e) (ex3_4 F C T T
5674 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e
5675 (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1:
5676 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0)
5677 u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2:
5678 T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_:
5679 C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat f0) u))))))
5680 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S
5681 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_:
5682 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
5683 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
5684 (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) (\lambda (f0:
5685 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
5686 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_:
5687 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0
5688 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
5689 (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (drop_drop (Flat f) n0 c e
5690 H12 t))) (\lambda (H12: (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0:
5691 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f0) u2))))))
5692 (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
5693 n0) O c (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda
5694 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))).(ex3_4_ind F C T T (\lambda
5695 (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0
5696 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1:
5697 T).(\lambda (_: T).(drop (S n0) O c (CHead e0 (Flat f0) u1)))))) (\lambda (_:
5698 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))
5699 (or4 (drop (S n0) O (CHead c (Flat f) t) e) (ex3_4 F C T T (\lambda (f0:
5700 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat
5701 f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_:
5702 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda
5703 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1
5704 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
5705 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f0) u)))))) (\lambda (f0:
5706 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c
5707 (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1:
5708 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T
5709 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
5710 (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1:
5711 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c
5712 (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_:
5713 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
5714 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
5715 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x2: F).(\lambda (x3: C).(\lambda
5716 (x4: T).(\lambda (x5: T).(\lambda (H13: (eq C e (CHead x3 (Flat x2)
5717 x5))).(\lambda (H14: (drop (S n0) O c (CHead x3 (Flat x2) x4))).(\lambda
5718 (H15: (subst0 O v x4 x5)).(eq_ind_r C (CHead x3 (Flat x2) x5) (\lambda (c0:
5719 C).(or4 (drop (S n0) O (CHead c (Flat f) t) c0) (ex3_4 F C T T (\lambda (f0:
5720 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat
5721 f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_:
5722 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda
5723 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1
5724 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
5725 C).(\lambda (u: T).(eq C c0 (CHead e2 (Flat f0) u)))))) (\lambda (f0:
5726 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c
5727 (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1:
5728 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T
5729 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
5730 (u2: T).(eq C c0 (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1:
5731 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c
5732 (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_:
5733 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
5734 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
5735 (_: T).(csubst0 O v e1 e2))))))))) (or4_intro1 (drop (S n0) O (CHead c (Flat
5736 f) t) (CHead x3 (Flat x2) x5)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0:
5737 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x3 (Flat x2) x5) (CHead e0
5738 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1:
5739 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0)
5740 u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2:
5741 T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_:
5742 C).(\lambda (e2: C).(\lambda (u: T).(eq C (CHead x3 (Flat x2) x5) (CHead e2
5743 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
5744 (u: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u))))))
5745 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
5746 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
5747 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x3 (Flat x2) x5) (CHead e2
5748 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
5749 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t)
5750 (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
5751 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_:
5752 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
5753 O v e1 e2))))))) (ex3_4_intro F C T T (\lambda (f0: F).(\lambda (e0:
5754 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x3 (Flat x2) x5) (CHead e0
5755 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1:
5756 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0)
5757 u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2:
5758 T).(subst0 O v u1 u2))))) x2 x3 x4 x5 (refl_equal C (CHead x3 (Flat x2) x5))
5759 (drop_drop (Flat f) n0 c (CHead x3 (Flat x2) x4) H14 t) H15)) e H13))))))))
5760 H12)) (\lambda (H12: (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda
5761 (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat f0) u)))))) (\lambda (f0:
5762 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O c (CHead
5763 e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
5764 C).(\lambda (_: T).(csubst0 O v e1 e2))))))).(ex3_4_ind F C C T (\lambda (f0:
5765 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat
5766 f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
5767 T).(drop (S n0) O c (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1:
5768 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))) (or4 (drop (S n0)
5769 O (CHead c (Flat f) t) e) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0:
5770 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f0) u2))))))
5771 (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
5772 n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda (_:
5773 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
5774 (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
5775 T).(eq C e (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1:
5776 C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c (Flat f) t) (CHead
5777 e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
5778 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0:
5779 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C e
5780 (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
5781 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t)
5782 (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
5783 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_:
5784 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
5785 O v e1 e2)))))))) (\lambda (x2: F).(\lambda (x3: C).(\lambda (x4: C).(\lambda
5786 (x5: T).(\lambda (H13: (eq C e (CHead x4 (Flat x2) x5))).(\lambda (H14: (drop
5787 (S n0) O c (CHead x3 (Flat x2) x5))).(\lambda (H15: (csubst0 O v x3
5788 x4)).(eq_ind_r C (CHead x4 (Flat x2) x5) (\lambda (c0: C).(or4 (drop (S n0) O
5789 (CHead c (Flat f) t) c0) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0:
5790 C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat f0) u2))))))
5791 (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
5792 n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda (_:
5793 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
5794 (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
5795 T).(eq C c0 (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1:
5796 C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c (Flat f) t) (CHead
5797 e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
5798 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0:
5799 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0
5800 (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
5801 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t)
5802 (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
5803 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_:
5804 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
5805 O v e1 e2))))))))) (or4_intro2 (drop (S n0) O (CHead c (Flat f) t) (CHead x4
5806 (Flat x2) x5)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (_:
5807 T).(\lambda (u2: T).(eq C (CHead x4 (Flat x2) x5) (CHead e0 (Flat f0)
5808 u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_:
5809 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda
5810 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1
5811 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
5812 C).(\lambda (u: T).(eq C (CHead x4 (Flat x2) x5) (CHead e2 (Flat f0) u))))))
5813 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S
5814 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_:
5815 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
5816 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
5817 (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat x2) x5) (CHead e2 (Flat f0)
5818 u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1:
5819 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0)
5820 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1:
5821 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1:
5822 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))
5823 (ex3_4_intro F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
5824 C).(\lambda (u: T).(eq C (CHead x4 (Flat x2) x5) (CHead e2 (Flat f0) u))))))
5825 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S
5826 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_:
5827 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))
5828 x2 x3 x4 x5 (refl_equal C (CHead x4 (Flat x2) x5)) (drop_drop (Flat f) n0 c
5829 (CHead x3 (Flat x2) x5) H14 t) H15)) e H13)))))))) H12)) (\lambda (H12:
5830 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
5831 (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) (\lambda (f0:
5832 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
5833 n0) O c (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_:
5834 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
5835 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
5836 (_: T).(csubst0 O v e1 e2)))))))).(ex4_5_ind F C C T T (\lambda (f0:
5837 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C e
5838 (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
5839 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O c (CHead e1 (Flat f0)
5840 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1:
5841 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1:
5842 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))
5843 (or4 (drop (S n0) O (CHead c (Flat f) t) e) (ex3_4 F C T T (\lambda (f0:
5844 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat
5845 f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_:
5846 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda
5847 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1
5848 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
5849 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f0) u)))))) (\lambda (f0:
5850 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c
5851 (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1:
5852 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T
5853 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
5854 (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1:
5855 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c
5856 (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_:
5857 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
5858 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
5859 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x2: F).(\lambda (x3: C).(\lambda
5860 (x4: C).(\lambda (x5: T).(\lambda (x6: T).(\lambda (H13: (eq C e (CHead x4
5861 (Flat x2) x6))).(\lambda (H14: (drop (S n0) O c (CHead x3 (Flat x2)
5862 x5))).(\lambda (H15: (subst0 O v x5 x6)).(\lambda (H16: (csubst0 O v x3
5863 x4)).(eq_ind_r C (CHead x4 (Flat x2) x6) (\lambda (c0: C).(or4 (drop (S n0) O
5864 (CHead c (Flat f) t) c0) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0:
5865 C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat f0) u2))))))
5866 (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
5867 n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda (_:
5868 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
5869 (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
5870 T).(eq C c0 (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1:
5871 C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c (Flat f) t) (CHead
5872 e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
5873 C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0:
5874 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0
5875 (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
5876 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t)
5877 (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
5878 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_:
5879 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
5880 O v e1 e2))))))))) (or4_intro3 (drop (S n0) O (CHead c (Flat f) t) (CHead x4
5881 (Flat x2) x6)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (_:
5882 T).(\lambda (u2: T).(eq C (CHead x4 (Flat x2) x6) (CHead e0 (Flat f0)
5883 u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_:
5884 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda
5885 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1
5886 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
5887 C).(\lambda (u: T).(eq C (CHead x4 (Flat x2) x6) (CHead e2 (Flat f0) u))))))
5888 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S
5889 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_:
5890 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
5891 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
5892 (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat x2) x6) (CHead e2 (Flat f0)
5893 u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1:
5894 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0)
5895 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1:
5896 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1:
5897 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))
5898 (ex4_5_intro F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
5899 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat x2) x6) (CHead e2
5900 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
5901 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t)
5902 (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
5903 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_:
5904 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
5905 O v e1 e2)))))) x2 x3 x4 x5 x6 (refl_equal C (CHead x4 (Flat x2) x6))
5906 (drop_drop (Flat f) n0 c (CHead x3 (Flat x2) x5) H14 t) H15 H16)) e
5907 H13)))))))))) H12)) H11))))))) k H3 (drop_gen_drop k x0 e t n0 H6))))))))
5908 H2)) (\lambda (H2: (ex4_3 T C nat (\lambda (_: T).(\lambda (_: C).(\lambda
5909 (j: nat).(eq nat (S n0) (s k j))))) (\lambda (u2: T).(\lambda (c3:
5910 C).(\lambda (_: nat).(eq C c2 (CHead c3 k u2))))) (\lambda (u2: T).(\lambda
5911 (_: C).(\lambda (j: nat).(subst0 j v t u2)))) (\lambda (_: T).(\lambda (c3:
5912 C).(\lambda (j: nat).(csubst0 j v c c3)))))).(ex4_3_ind T C nat (\lambda (_:
5913 T).(\lambda (_: C).(\lambda (j: nat).(eq nat (S n0) (s k j))))) (\lambda (u2:
5914 T).(\lambda (c3: C).(\lambda (_: nat).(eq C c2 (CHead c3 k u2))))) (\lambda
5915 (u2: T).(\lambda (_: C).(\lambda (j: nat).(subst0 j v t u2)))) (\lambda (_:
5916 T).(\lambda (c3: C).(\lambda (j: nat).(csubst0 j v c c3)))) (or4 (drop (S n0)
5917 O (CHead c k t) e) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda
5918 (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f:
5919 F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c
5920 k t) (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda
5921 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f:
5922 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat
5923 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
5924 T).(drop (S n0) O (CHead c k t) (CHead e1 (Flat f) u)))))) (\lambda (_:
5925 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
5926 (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
5927 (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f:
5928 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
5929 n0) O (CHead c k t) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_:
5930 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
5931 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
5932 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x0: T).(\lambda (x1: C).(\lambda
5933 (x2: nat).(\lambda (H3: (eq nat (S n0) (s k x2))).(\lambda (H4: (eq C c2
5934 (CHead x1 k x0))).(\lambda (H5: (subst0 x2 v t x0)).(\lambda (H6: (csubst0 x2
5935 v c x1)).(let H7 \def (eq_ind C c2 (\lambda (c0: C).(drop (S n0) O c0 e)) H1
5936 (CHead x1 k x0) H4) in (K_ind (\lambda (k0: K).((eq nat (S n0) (s k0 x2)) \to
5937 ((drop (r k0 n0) O x1 e) \to (or4 (drop (S n0) O (CHead c k0 t) e) (ex3_4 F C
5938 T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e
5939 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1:
5940 T).(\lambda (_: T).(drop (S n0) O (CHead c k0 t) (CHead e0 (Flat f) u1))))))
5941 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v
5942 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5943 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f:
5944 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c
5945 k0 t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
5946 (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda
5947 (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq
5948 C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda
5949 (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c k0 t) (CHead
5950 e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
5951 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_:
5952 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
5953 O v e1 e2))))))))))) (\lambda (b: B).(\lambda (H8: (eq nat (S n0) (s (Bind b)
5954 x2))).(\lambda (H9: (drop (r (Bind b) n0) O x1 e)).(let H10 \def (f_equal nat
5955 nat (\lambda (e0: nat).(match e0 in nat return (\lambda (_: nat).nat) with [O
5956 \Rightarrow n0 | (S n1) \Rightarrow n1])) (S n0) (S x2) H8) in (let H11 \def
5957 (eq_ind_r nat x2 (\lambda (n1: nat).(csubst0 n1 v c x1)) H6 n0 H10) in (let
5958 H12 \def (eq_ind_r nat x2 (\lambda (n1: nat).(subst0 n1 v t x0)) H5 n0 H10)
5959 in (let H13 \def (IHn c x1 v H11 e H9) in (or4_ind (drop n0 O c e) (ex3_4 F C
5960 T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e
5961 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1:
5962 T).(\lambda (_: T).(drop n0 O c (CHead e0 (Flat f) u1)))))) (\lambda (_:
5963 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
5964 (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
5965 T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1:
5966 C).(\lambda (_: C).(\lambda (u: T).(drop n0 O c (CHead e1 (Flat f) u))))))
5967 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
5968 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5969 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2)))))))
5970 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5971 (_: T).(drop n0 O c (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_:
5972 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
5973 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
5974 (_: T).(csubst0 O v e1 e2))))))) (or4 (drop (S n0) O (CHead c (Bind b) t) e)
5975 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2:
5976 T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0:
5977 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t)
5978 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
5979 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f:
5980 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat
5981 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
5982 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda
5983 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1
5984 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
5985 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2)))))))
5986 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5987 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u1)))))))
5988 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
5989 (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
5990 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda
5991 (H14: (drop n0 O c e)).(or4_intro0 (drop (S n0) O (CHead c (Bind b) t) e)
5992 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2:
5993 T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0:
5994 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t)
5995 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
5996 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f:
5997 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat
5998 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
5999 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda
6000 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1
6001 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
6002 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2)))))))
6003 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
6004 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u1)))))))
6005 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
6006 (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
6007 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (drop_drop
6008 (Bind b) n0 c e H14 t))) (\lambda (H14: (ex3_4 F C T T (\lambda (f:
6009 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat
6010 f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_:
6011 T).(drop n0 O c (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_:
6012 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))).(ex3_4_ind F C
6013 T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e
6014 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1:
6015 T).(\lambda (_: T).(drop n0 O c (CHead e0 (Flat f) u1)))))) (\lambda (_:
6016 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))
6017 (or4 (drop (S n0) O (CHead c (Bind b) t) e) (ex3_4 F C T T (\lambda (f:
6018 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat
6019 f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_:
6020 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda
6021 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1
6022 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
6023 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f:
6024 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c
6025 (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1:
6026 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T
6027 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
6028 (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1:
6029 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c
6030 (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_:
6031 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
6032 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
6033 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x3: F).(\lambda (x4: C).(\lambda
6034 (x5: T).(\lambda (x6: T).(\lambda (H15: (eq C e (CHead x4 (Flat x3)
6035 x6))).(\lambda (H16: (drop n0 O c (CHead x4 (Flat x3) x5))).(\lambda (H17:
6036 (subst0 O v x5 x6)).(eq_ind_r C (CHead x4 (Flat x3) x6) (\lambda (c0: C).(or4
6037 (drop (S n0) O (CHead c (Bind b) t) c0) (ex3_4 F C T T (\lambda (f:
6038 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat
6039 f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_:
6040 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda
6041 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1
6042 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
6043 C).(\lambda (u: T).(eq C c0 (CHead e2 (Flat f) u)))))) (\lambda (f:
6044 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c
6045 (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1:
6046 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T
6047 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
6048 (u2: T).(eq C c0 (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1:
6049 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c
6050 (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_:
6051 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
6052 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
6053 (_: T).(csubst0 O v e1 e2))))))))) (or4_intro1 (drop (S n0) O (CHead c (Bind
6054 b) t) (CHead x4 (Flat x3) x6)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
6055 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat x3) x6) (CHead e0
6056 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda
6057 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1))))))
6058 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v
6059 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
6060 C).(\lambda (u: T).(eq C (CHead x4 (Flat x3) x6) (CHead e2 (Flat f) u))))))
6061 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0)
6062 O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda
6063 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
6064 C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
6065 T).(\lambda (u2: T).(eq C (CHead x4 (Flat x3) x6) (CHead e2 (Flat f)
6066 u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1:
6067 T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f)
6068 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1:
6069 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1:
6070 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))
6071 (ex3_4_intro F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_:
6072 T).(\lambda (u2: T).(eq C (CHead x4 (Flat x3) x6) (CHead e0 (Flat f) u2))))))
6073 (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
6074 n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda (_:
6075 F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))
6076 x3 x4 x5 x6 (refl_equal C (CHead x4 (Flat x3) x6)) (drop_drop (Bind b) n0 c
6077 (CHead x4 (Flat x3) x5) H16 t) H17)) e H15)))))))) H14)) (\lambda (H14:
6078 (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u:
6079 T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1:
6080 C).(\lambda (_: C).(\lambda (u: T).(drop n0 O c (CHead e1 (Flat f) u))))))
6081 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
6082 v e1 e2))))))).(ex3_4_ind F C C T (\lambda (f: F).(\lambda (_: C).(\lambda
6083 (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat f) u)))))) (\lambda (f:
6084 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop n0 O c (CHead e1
6085 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
6086 (_: T).(csubst0 O v e1 e2))))) (or4 (drop (S n0) O (CHead c (Bind b) t) e)
6087 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2:
6088 T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0:
6089 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t)
6090 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
6091 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f:
6092 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat
6093 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
6094 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda
6095 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1
6096 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
6097 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2)))))))
6098 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
6099 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u1)))))))
6100 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
6101 (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
6102 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda
6103 (x3: F).(\lambda (x4: C).(\lambda (x5: C).(\lambda (x6: T).(\lambda (H15: (eq
6104 C e (CHead x5 (Flat x3) x6))).(\lambda (H16: (drop n0 O c (CHead x4 (Flat x3)
6105 x6))).(\lambda (H17: (csubst0 O v x4 x5)).(eq_ind_r C (CHead x5 (Flat x3) x6)
6106 (\lambda (c0: C).(or4 (drop (S n0) O (CHead c (Bind b) t) c0) (ex3_4 F C T T
6107 (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0
6108 (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1:
6109 T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f)
6110 u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2:
6111 T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_:
6112 C).(\lambda (e2: C).(\lambda (u: T).(eq C c0 (CHead e2 (Flat f) u))))))
6113 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0)
6114 O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda
6115 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
6116 C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
6117 T).(\lambda (u2: T).(eq C c0 (CHead e2 (Flat f) u2))))))) (\lambda (f:
6118 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
6119 n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda (_:
6120 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0
6121 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
6122 (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))))) (or4_intro2 (drop (S n0) O
6123 (CHead c (Bind b) t) (CHead x5 (Flat x3) x6)) (ex3_4 F C T T (\lambda (f:
6124 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x5 (Flat
6125 x3) x6) (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda
6126 (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat
6127 f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2:
6128 T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_:
6129 C).(\lambda (e2: C).(\lambda (u: T).(eq C (CHead x5 (Flat x3) x6) (CHead e2
6130 (Flat f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
6131 (u: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u))))))
6132 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
6133 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
6134 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x5 (Flat x3) x6) (CHead e2
6135 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
6136 (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat
6137 f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1:
6138 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1:
6139 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))
6140 (ex3_4_intro F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
6141 C).(\lambda (u: T).(eq C (CHead x5 (Flat x3) x6) (CHead e2 (Flat f) u))))))
6142 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0)
6143 O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda
6144 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))) x3 x4 x5 x6
6145 (refl_equal C (CHead x5 (Flat x3) x6)) (drop_drop (Bind b) n0 c (CHead x4
6146 (Flat x3) x6) H16 t) H17)) e H15)))))))) H14)) (\lambda (H14: (ex4_5 F C C T
6147 T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
6148 (u2: T).(eq C e (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1:
6149 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop n0 O c (CHead e1
6150 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda
6151 (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda
6152 (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1
6153 e2)))))))).(ex4_5_ind F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
6154 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2)))))))
6155 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
6156 (_: T).(drop n0 O c (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_:
6157 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
6158 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
6159 (_: T).(csubst0 O v e1 e2)))))) (or4 (drop (S n0) O (CHead c (Bind b) t) e)
6160 (ex3_4 F C T T (\lambda (f: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2:
6161 T).(eq C e (CHead e0 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0:
6162 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t)
6163 (CHead e0 (Flat f) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
6164 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f:
6165 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat
6166 f) u)))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
6167 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda
6168 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1
6169 e2)))))) (ex4_5 F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
6170 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f) u2)))))))
6171 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
6172 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f) u1)))))))
6173 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
6174 (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
6175 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda
6176 (x3: F).(\lambda (x4: C).(\lambda (x5: C).(\lambda (x6: T).(\lambda (x7:
6177 T).(\lambda (H15: (eq C e (CHead x5 (Flat x3) x7))).(\lambda (H16: (drop n0 O
6178 c (CHead x4 (Flat x3) x6))).(\lambda (H17: (subst0 O v x6 x7)).(\lambda (H18:
6179 (csubst0 O v x4 x5)).(eq_ind_r C (CHead x5 (Flat x3) x7) (\lambda (c0:
6180 C).(or4 (drop (S n0) O (CHead c (Bind b) t) c0) (ex3_4 F C T T (\lambda (f:
6181 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat
6182 f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_:
6183 T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1)))))) (\lambda
6184 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1
6185 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
6186 C).(\lambda (u: T).(eq C c0 (CHead e2 (Flat f) u)))))) (\lambda (f:
6187 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c
6188 (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda (e1:
6189 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T
6190 (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
6191 (u2: T).(eq C c0 (CHead e2 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1:
6192 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c
6193 (Bind b) t) (CHead e1 (Flat f) u1))))))) (\lambda (_: F).(\lambda (_:
6194 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
6195 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
6196 (_: T).(csubst0 O v e1 e2))))))))) (or4_intro3 (drop (S n0) O (CHead c (Bind
6197 b) t) (CHead x5 (Flat x3) x7)) (ex3_4 F C T T (\lambda (f: F).(\lambda (e0:
6198 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x5 (Flat x3) x7) (CHead e0
6199 (Flat f) u2)))))) (\lambda (f: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda
6200 (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e0 (Flat f) u1))))))
6201 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v
6202 u1 u2)))))) (ex3_4 F C C T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
6203 C).(\lambda (u: T).(eq C (CHead x5 (Flat x3) x7) (CHead e2 (Flat f) u))))))
6204 (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0)
6205 O (CHead c (Bind b) t) (CHead e1 (Flat f) u)))))) (\lambda (_: F).(\lambda
6206 (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C
6207 C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
6208 T).(\lambda (u2: T).(eq C (CHead x5 (Flat x3) x7) (CHead e2 (Flat f)
6209 u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1:
6210 T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat f)
6211 u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1:
6212 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1:
6213 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))
6214 (ex4_5_intro F C C T T (\lambda (f: F).(\lambda (_: C).(\lambda (e2:
6215 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x5 (Flat x3) x7) (CHead e2
6216 (Flat f) u2))))))) (\lambda (f: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
6217 (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Bind b) t) (CHead e1 (Flat
6218 f) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1:
6219 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1:
6220 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))
6221 x3 x4 x5 x6 x7 (refl_equal C (CHead x5 (Flat x3) x7)) (drop_drop (Bind b) n0
6222 c (CHead x4 (Flat x3) x6) H16 t) H17 H18)) e H15)))))))))) H14)) H13))))))))
6223 (\lambda (f: F).(\lambda (H8: (eq nat (S n0) (s (Flat f) x2))).(\lambda (H9:
6224 (drop (r (Flat f) n0) O x1 e)).(let H10 \def (f_equal nat nat (\lambda (e0:
6225 nat).e0) (S n0) x2 H8) in (let H11 \def (eq_ind_r nat x2 (\lambda (n1:
6226 nat).(csubst0 n1 v c x1)) H6 (S n0) H10) in (let H12 \def (eq_ind_r nat x2
6227 (\lambda (n1: nat).(subst0 n1 v t x0)) H5 (S n0) H10) in (let H13 \def (H x1
6228 v H11 e H9) in (or4_ind (drop (S n0) O c e) (ex3_4 F C T T (\lambda (f0:
6229 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat
6230 f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_:
6231 T).(drop (S n0) O c (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_:
6232 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T
6233 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e
6234 (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
6235 C).(\lambda (u: T).(drop (S n0) O c (CHead e1 (Flat f0) u)))))) (\lambda (_:
6236 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
6237 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
6238 (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) (\lambda (f0:
6239 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
6240 n0) O c (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_:
6241 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
6242 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
6243 (_: T).(csubst0 O v e1 e2))))))) (or4 (drop (S n0) O (CHead c (Flat f) t) e)
6244 (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda
6245 (u2: T).(eq C e (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0:
6246 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t)
6247 (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
6248 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0:
6249 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat
6250 f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
6251 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda
6252 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1
6253 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
6254 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f0) u2)))))))
6255 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
6256 (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u1)))))))
6257 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
6258 (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
6259 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda
6260 (H14: (drop (S n0) O c e)).(or4_intro0 (drop (S n0) O (CHead c (Flat f) t) e)
6261 (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda
6262 (u2: T).(eq C e (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0:
6263 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t)
6264 (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
6265 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0:
6266 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat
6267 f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
6268 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda
6269 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1
6270 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
6271 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f0) u2)))))))
6272 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
6273 (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u1)))))))
6274 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
6275 (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
6276 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))) (drop_drop
6277 (Flat f) n0 c e H14 t))) (\lambda (H14: (ex3_4 F C T T (\lambda (f0:
6278 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat
6279 f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_:
6280 T).(drop (S n0) O c (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_:
6281 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))).(ex3_4_ind F C
6282 T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C
6283 e (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda
6284 (u1: T).(\lambda (_: T).(drop (S n0) O c (CHead e0 (Flat f0) u1))))))
6285 (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v
6286 u1 u2))))) (or4 (drop (S n0) O (CHead c (Flat f) t) e) (ex3_4 F C T T
6287 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e
6288 (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1:
6289 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0)
6290 u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2:
6291 T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_:
6292 C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat f0) u))))))
6293 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S
6294 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_:
6295 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
6296 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
6297 (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) (\lambda (f0:
6298 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
6299 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_:
6300 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0
6301 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
6302 (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x3: F).(\lambda
6303 (x4: C).(\lambda (x5: T).(\lambda (x6: T).(\lambda (H15: (eq C e (CHead x4
6304 (Flat x3) x6))).(\lambda (H16: (drop (S n0) O c (CHead x4 (Flat x3)
6305 x5))).(\lambda (H17: (subst0 O v x5 x6)).(eq_ind_r C (CHead x4 (Flat x3) x6)
6306 (\lambda (c0: C).(or4 (drop (S n0) O (CHead c (Flat f) t) c0) (ex3_4 F C T T
6307 (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0
6308 (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1:
6309 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0)
6310 u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2:
6311 T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_:
6312 C).(\lambda (e2: C).(\lambda (u: T).(eq C c0 (CHead e2 (Flat f0) u))))))
6313 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S
6314 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_:
6315 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))
6316 (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda
6317 (_: T).(\lambda (u2: T).(eq C c0 (CHead e2 (Flat f0) u2))))))) (\lambda (f0:
6318 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
6319 n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_:
6320 F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0
6321 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda
6322 (_: T).(\lambda (_: T).(csubst0 O v e1 e2))))))))) (or4_intro1 (drop (S n0) O
6323 (CHead c (Flat f) t) (CHead x4 (Flat x3) x6)) (ex3_4 F C T T (\lambda (f0:
6324 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat
6325 x3) x6) (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0:
6326 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t)
6327 (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
6328 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0:
6329 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C (CHead x4 (Flat x3)
6330 x6) (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda
6331 (_: C).(\lambda (u: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat
6332 f0) u)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_:
6333 T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_:
6334 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat
6335 x3) x6) (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1:
6336 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c
6337 (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_:
6338 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
6339 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
6340 (_: T).(csubst0 O v e1 e2))))))) (ex3_4_intro F C T T (\lambda (f0:
6341 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x4 (Flat
6342 x3) x6) (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0:
6343 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t)
6344 (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
6345 T).(\lambda (u2: T).(subst0 O v u1 u2))))) x3 x4 x5 x6 (refl_equal C (CHead
6346 x4 (Flat x3) x6)) (drop_drop (Flat f) n0 c (CHead x4 (Flat x3) x5) H16 t)
6347 H17)) e H15)))))))) H14)) (\lambda (H14: (ex3_4 F C C T (\lambda (f0:
6348 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat
6349 f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
6350 T).(drop (S n0) O c (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1:
6351 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2))))))).(ex3_4_ind F C
6352 C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e
6353 (CHead e2 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
6354 C).(\lambda (u: T).(drop (S n0) O c (CHead e1 (Flat f0) u)))))) (\lambda (_:
6355 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))
6356 (or4 (drop (S n0) O (CHead c (Flat f) t) e) (ex3_4 F C T T (\lambda (f0:
6357 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e0 (Flat
6358 f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_:
6359 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda
6360 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1
6361 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
6362 C).(\lambda (u: T).(eq C e (CHead e2 (Flat f0) u)))))) (\lambda (f0:
6363 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c
6364 (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1:
6365 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T
6366 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
6367 (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1:
6368 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c
6369 (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_:
6370 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
6371 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
6372 (_: T).(csubst0 O v e1 e2)))))))) (\lambda (x3: F).(\lambda (x4: C).(\lambda
6373 (x5: C).(\lambda (x6: T).(\lambda (H15: (eq C e (CHead x5 (Flat x3)
6374 x6))).(\lambda (H16: (drop (S n0) O c (CHead x4 (Flat x3) x6))).(\lambda
6375 (H17: (csubst0 O v x4 x5)).(eq_ind_r C (CHead x5 (Flat x3) x6) (\lambda (c0:
6376 C).(or4 (drop (S n0) O (CHead c (Flat f) t) c0) (ex3_4 F C T T (\lambda (f0:
6377 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat
6378 f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_:
6379 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda
6380 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1
6381 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
6382 C).(\lambda (u: T).(eq C c0 (CHead e2 (Flat f0) u)))))) (\lambda (f0:
6383 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c
6384 (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1:
6385 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T
6386 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
6387 (u2: T).(eq C c0 (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1:
6388 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c
6389 (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_:
6390 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
6391 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
6392 (_: T).(csubst0 O v e1 e2))))))))) (or4_intro2 (drop (S n0) O (CHead c (Flat
6393 f) t) (CHead x5 (Flat x3) x6)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0:
6394 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x5 (Flat x3) x6) (CHead e0
6395 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1:
6396 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0)
6397 u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2:
6398 T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_:
6399 C).(\lambda (e2: C).(\lambda (u: T).(eq C (CHead x5 (Flat x3) x6) (CHead e2
6400 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
6401 (u: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u))))))
6402 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
6403 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
6404 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x5 (Flat x3) x6) (CHead e2
6405 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
6406 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t)
6407 (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
6408 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_:
6409 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
6410 O v e1 e2))))))) (ex3_4_intro F C C T (\lambda (f0: F).(\lambda (_:
6411 C).(\lambda (e2: C).(\lambda (u: T).(eq C (CHead x5 (Flat x3) x6) (CHead e2
6412 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
6413 (u: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u))))))
6414 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
6415 v e1 e2))))) x3 x4 x5 x6 (refl_equal C (CHead x5 (Flat x3) x6)) (drop_drop
6416 (Flat f) n0 c (CHead x4 (Flat x3) x6) H16 t) H17)) e H15)))))))) H14))
6417 (\lambda (H14: (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda
6418 (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f0)
6419 u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1:
6420 T).(\lambda (_: T).(drop (S n0) O c (CHead e1 (Flat f0) u1))))))) (\lambda
6421 (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2:
6422 T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda (e2:
6423 C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))).(ex4_5_ind F C
6424 C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_:
6425 T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f0) u2))))))) (\lambda (f0:
6426 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S
6427 n0) O c (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_:
6428 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
6429 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
6430 (_: T).(csubst0 O v e1 e2)))))) (or4 (drop (S n0) O (CHead c (Flat f) t) e)
6431 (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0: C).(\lambda (_: T).(\lambda
6432 (u2: T).(eq C e (CHead e0 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0:
6433 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t)
6434 (CHead e0 (Flat f0) u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1:
6435 T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0:
6436 F).(\lambda (_: C).(\lambda (e2: C).(\lambda (u: T).(eq C e (CHead e2 (Flat
6437 f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u:
6438 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda
6439 (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1
6440 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
6441 C).(\lambda (_: T).(\lambda (u2: T).(eq C e (CHead e2 (Flat f0) u2)))))))
6442 (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
6443 (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u1)))))))
6444 (\lambda (_: F).(\lambda (_: C).(\lambda (_: C).(\lambda (u1: T).(\lambda
6445 (u2: T).(subst0 O v u1 u2)))))) (\lambda (_: F).(\lambda (e1: C).(\lambda
6446 (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0 O v e1 e2)))))))) (\lambda
6447 (x3: F).(\lambda (x4: C).(\lambda (x5: C).(\lambda (x6: T).(\lambda (x7:
6448 T).(\lambda (H15: (eq C e (CHead x5 (Flat x3) x7))).(\lambda (H16: (drop (S
6449 n0) O c (CHead x4 (Flat x3) x6))).(\lambda (H17: (subst0 O v x6 x7)).(\lambda
6450 (H18: (csubst0 O v x4 x5)).(eq_ind_r C (CHead x5 (Flat x3) x7) (\lambda (c0:
6451 C).(or4 (drop (S n0) O (CHead c (Flat f) t) c0) (ex3_4 F C T T (\lambda (f0:
6452 F).(\lambda (e0: C).(\lambda (_: T).(\lambda (u2: T).(eq C c0 (CHead e0 (Flat
6453 f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1: T).(\lambda (_:
6454 T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0) u1)))))) (\lambda
6455 (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1
6456 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
6457 C).(\lambda (u: T).(eq C c0 (CHead e2 (Flat f0) u)))))) (\lambda (f0:
6458 F).(\lambda (e1: C).(\lambda (_: C).(\lambda (u: T).(drop (S n0) O (CHead c
6459 (Flat f) t) (CHead e1 (Flat f0) u)))))) (\lambda (_: F).(\lambda (e1:
6460 C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O v e1 e2)))))) (ex4_5 F C C T T
6461 (\lambda (f0: F).(\lambda (_: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
6462 (u2: T).(eq C c0 (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1:
6463 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c
6464 (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_:
6465 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
6466 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
6467 (_: T).(csubst0 O v e1 e2))))))))) (or4_intro3 (drop (S n0) O (CHead c (Flat
6468 f) t) (CHead x5 (Flat x3) x7)) (ex3_4 F C T T (\lambda (f0: F).(\lambda (e0:
6469 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x5 (Flat x3) x7) (CHead e0
6470 (Flat f0) u2)))))) (\lambda (f0: F).(\lambda (e0: C).(\lambda (u1:
6471 T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e0 (Flat f0)
6472 u1)))))) (\lambda (_: F).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2:
6473 T).(subst0 O v u1 u2)))))) (ex3_4 F C C T (\lambda (f0: F).(\lambda (_:
6474 C).(\lambda (e2: C).(\lambda (u: T).(eq C (CHead x5 (Flat x3) x7) (CHead e2
6475 (Flat f0) u)))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_: C).(\lambda
6476 (u: T).(drop (S n0) O (CHead c (Flat f) t) (CHead e1 (Flat f0) u))))))
6477 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(csubst0 O
6478 v e1 e2)))))) (ex4_5 F C C T T (\lambda (f0: F).(\lambda (_: C).(\lambda (e2:
6479 C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x5 (Flat x3) x7) (CHead e2
6480 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1: C).(\lambda (_:
6481 C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c (Flat f) t)
6482 (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_: C).(\lambda (_:
6483 C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2)))))) (\lambda (_:
6484 F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda (_: T).(csubst0
6485 O v e1 e2))))))) (ex4_5_intro F C C T T (\lambda (f0: F).(\lambda (_:
6486 C).(\lambda (e2: C).(\lambda (_: T).(\lambda (u2: T).(eq C (CHead x5 (Flat
6487 x3) x7) (CHead e2 (Flat f0) u2))))))) (\lambda (f0: F).(\lambda (e1:
6488 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (_: T).(drop (S n0) O (CHead c
6489 (Flat f) t) (CHead e1 (Flat f0) u1))))))) (\lambda (_: F).(\lambda (_:
6490 C).(\lambda (_: C).(\lambda (u1: T).(\lambda (u2: T).(subst0 O v u1 u2))))))
6491 (\lambda (_: F).(\lambda (e1: C).(\lambda (e2: C).(\lambda (_: T).(\lambda
6492 (_: T).(csubst0 O v e1 e2)))))) x3 x4 x5 x6 x7 (refl_equal C (CHead x5 (Flat
6493 x3) x7)) (drop_drop (Flat f) n0 c (CHead x4 (Flat x3) x6) H16 t) H17 H18)) e
6494 H15)))))))))) H14)) H13)))))))) k H3 (drop_gen_drop k x1 e x0 n0 H7))))))))))
6495 H2)) (csubst0_gen_head k c c2 t v (S n0) H0))))))))))) c1)))) n).