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 include "basic_1/csuba/fwd.ma".
19 include "basic_1/drop/fwd.ma".
21 lemma csuba_drop_abbr:
22 \forall (i: nat).(\forall (c1: C).(\forall (d1: C).(\forall (u: T).((drop i
23 O c1 (CHead d1 (Bind Abbr) u)) \to (\forall (g: G).(\forall (c2: C).((csuba g
24 c1 c2) \to (ex2 C (\lambda (d2: C).(drop i O c2 (CHead d2 (Bind Abbr) u)))
25 (\lambda (d2: C).(csuba g d1 d2))))))))))
27 \lambda (i: nat).(nat_ind (\lambda (n: nat).(\forall (c1: C).(\forall (d1:
28 C).(\forall (u: T).((drop n O c1 (CHead d1 (Bind Abbr) u)) \to (\forall (g:
29 G).(\forall (c2: C).((csuba g c1 c2) \to (ex2 C (\lambda (d2: C).(drop n O c2
30 (CHead d2 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1 d2)))))))))))
31 (\lambda (c1: C).(\lambda (d1: C).(\lambda (u: T).(\lambda (H: (drop O O c1
32 (CHead d1 (Bind Abbr) u))).(\lambda (g: G).(\lambda (c2: C).(\lambda (H0:
33 (csuba g c1 c2)).(let H1 \def (eq_ind C c1 (\lambda (c: C).(csuba g c c2)) H0
34 (CHead d1 (Bind Abbr) u) (drop_gen_refl c1 (CHead d1 (Bind Abbr) u) H)) in
35 (let H_x \def (csuba_gen_abbr g d1 c2 u H1) in (let H2 \def H_x in (ex2_ind C
36 (\lambda (d2: C).(eq C c2 (CHead d2 (Bind Abbr) u))) (\lambda (d2: C).(csuba
37 g d1 d2)) (ex2 C (\lambda (d2: C).(drop O O c2 (CHead d2 (Bind Abbr) u)))
38 (\lambda (d2: C).(csuba g d1 d2))) (\lambda (x: C).(\lambda (H3: (eq C c2
39 (CHead x (Bind Abbr) u))).(\lambda (H4: (csuba g d1 x)).(eq_ind_r C (CHead x
40 (Bind Abbr) u) (\lambda (c: C).(ex2 C (\lambda (d2: C).(drop O O c (CHead d2
41 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1 d2)))) (ex_intro2 C (\lambda
42 (d2: C).(drop O O (CHead x (Bind Abbr) u) (CHead d2 (Bind Abbr) u))) (\lambda
43 (d2: C).(csuba g d1 d2)) x (drop_refl (CHead x (Bind Abbr) u)) H4) c2 H3))))
44 H2))))))))))) (\lambda (n: nat).(\lambda (H: ((\forall (c1: C).(\forall (d1:
45 C).(\forall (u: T).((drop n O c1 (CHead d1 (Bind Abbr) u)) \to (\forall (g:
46 G).(\forall (c2: C).((csuba g c1 c2) \to (ex2 C (\lambda (d2: C).(drop n O c2
47 (CHead d2 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1
48 d2)))))))))))).(\lambda (c1: C).(C_ind (\lambda (c: C).(\forall (d1:
49 C).(\forall (u: T).((drop (S n) O c (CHead d1 (Bind Abbr) u)) \to (\forall
50 (g: G).(\forall (c2: C).((csuba g c c2) \to (ex2 C (\lambda (d2: C).(drop (S
51 n) O c2 (CHead d2 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1 d2))))))))))
52 (\lambda (n0: nat).(\lambda (d1: C).(\lambda (u: T).(\lambda (H0: (drop (S n)
53 O (CSort n0) (CHead d1 (Bind Abbr) u))).(\lambda (g: G).(\lambda (c2:
54 C).(\lambda (_: (csuba g (CSort n0) c2)).(and3_ind (eq C (CHead d1 (Bind
55 Abbr) u) (CSort n0)) (eq nat (S n) O) (eq nat O O) (ex2 C (\lambda (d2:
56 C).(drop (S n) O c2 (CHead d2 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1
57 d2))) (\lambda (_: (eq C (CHead d1 (Bind Abbr) u) (CSort n0))).(\lambda (H3:
58 (eq nat (S n) O)).(\lambda (_: (eq nat O O)).(let H5 \def (eq_ind nat (S n)
59 (\lambda (ee: nat).(match ee with [O \Rightarrow False | (S _) \Rightarrow
60 True])) I O H3) in (False_ind (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead
61 d2 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1 d2))) H5))))) (drop_gen_sort
62 n0 (S n) O (CHead d1 (Bind Abbr) u) H0))))))))) (\lambda (c: C).(\lambda (H0:
63 ((\forall (d1: C).(\forall (u: T).((drop (S n) O c (CHead d1 (Bind Abbr) u))
64 \to (\forall (g: G).(\forall (c2: C).((csuba g c c2) \to (ex2 C (\lambda (d2:
65 C).(drop (S n) O c2 (CHead d2 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1
66 d2))))))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (d1: C).(\lambda (u:
67 T).(\lambda (H1: (drop (S n) O (CHead c k t) (CHead d1 (Bind Abbr)
68 u))).(\lambda (g: G).(\lambda (c2: C).(\lambda (H2: (csuba g (CHead c k t)
69 c2)).(K_ind (\lambda (k0: K).((csuba g (CHead c k0 t) c2) \to ((drop (r k0 n)
70 O c (CHead d1 (Bind Abbr) u)) \to (ex2 C (\lambda (d2: C).(drop (S n) O c2
71 (CHead d2 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1 d2)))))) (\lambda (b:
72 B).(\lambda (H3: (csuba g (CHead c (Bind b) t) c2)).(\lambda (H4: (drop (r
73 (Bind b) n) O c (CHead d1 (Bind Abbr) u))).(B_ind (\lambda (b0: B).((csuba g
74 (CHead c (Bind b0) t) c2) \to ((drop (r (Bind b0) n) O c (CHead d1 (Bind
75 Abbr) u)) \to (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abbr)
76 u))) (\lambda (d2: C).(csuba g d1 d2)))))) (\lambda (H5: (csuba g (CHead c
77 (Bind Abbr) t) c2)).(\lambda (H6: (drop (r (Bind Abbr) n) O c (CHead d1 (Bind
78 Abbr) u))).(let H_x \def (csuba_gen_abbr g c c2 t H5) in (let H7 \def H_x in
79 (ex2_ind C (\lambda (d2: C).(eq C c2 (CHead d2 (Bind Abbr) t))) (\lambda (d2:
80 C).(csuba g c d2)) (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind
81 Abbr) u))) (\lambda (d2: C).(csuba g d1 d2))) (\lambda (x: C).(\lambda (H8:
82 (eq C c2 (CHead x (Bind Abbr) t))).(\lambda (H9: (csuba g c x)).(eq_ind_r C
83 (CHead x (Bind Abbr) t) (\lambda (c0: C).(ex2 C (\lambda (d2: C).(drop (S n)
84 O c0 (CHead d2 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1 d2)))) (let H10
85 \def (H c d1 u H6 g x H9) in (ex2_ind C (\lambda (d2: C).(drop n O x (CHead
86 d2 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1 d2)) (ex2 C (\lambda (d2:
87 C).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Abbr) u))) (\lambda
88 (d2: C).(csuba g d1 d2))) (\lambda (x0: C).(\lambda (H11: (drop n O x (CHead
89 x0 (Bind Abbr) u))).(\lambda (H12: (csuba g d1 x0)).(let H13 \def (refl_equal
90 nat (r (Bind Abbr) n)) in (let H14 \def (eq_ind nat n (\lambda (n0:
91 nat).(drop n0 O x (CHead x0 (Bind Abbr) u))) H11 (r (Bind Abbr) n) H13) in
92 (ex_intro2 C (\lambda (d2: C).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2
93 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1 d2)) x0 (drop_drop (Bind Abbr)
94 n x (CHead x0 (Bind Abbr) u) H14 t) H12)))))) H10)) c2 H8)))) H7)))))
95 (\lambda (H5: (csuba g (CHead c (Bind Abst) t) c2)).(\lambda (H6: (drop (r
96 (Bind Abst) n) O c (CHead d1 (Bind Abbr) u))).(let H_x \def (csuba_gen_abst g
97 c c2 t H5) in (let H7 \def H_x in (or_ind (ex2 C (\lambda (d2: C).(eq C c2
98 (CHead d2 (Bind Abst) t))) (\lambda (d2: C).(csuba g c d2))) (ex4_3 C T A
99 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(eq C c2 (CHead d2 (Bind
100 Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g c
101 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g c t (asucc g
102 a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
103 a))))) (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abbr) u)))
104 (\lambda (d2: C).(csuba g d1 d2))) (\lambda (H8: (ex2 C (\lambda (d2: C).(eq
105 C c2 (CHead d2 (Bind Abst) t))) (\lambda (d2: C).(csuba g c d2)))).(ex2_ind C
106 (\lambda (d2: C).(eq C c2 (CHead d2 (Bind Abst) t))) (\lambda (d2: C).(csuba
107 g c d2)) (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abbr) u)))
108 (\lambda (d2: C).(csuba g d1 d2))) (\lambda (x: C).(\lambda (H9: (eq C c2
109 (CHead x (Bind Abst) t))).(\lambda (H10: (csuba g c x)).(eq_ind_r C (CHead x
110 (Bind Abst) t) (\lambda (c0: C).(ex2 C (\lambda (d2: C).(drop (S n) O c0
111 (CHead d2 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1 d2)))) (let H11 \def
112 (H c d1 u H6 g x H10) in (ex2_ind C (\lambda (d2: C).(drop n O x (CHead d2
113 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1 d2)) (ex2 C (\lambda (d2:
114 C).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Abbr) u))) (\lambda
115 (d2: C).(csuba g d1 d2))) (\lambda (x0: C).(\lambda (H12: (drop n O x (CHead
116 x0 (Bind Abbr) u))).(\lambda (H13: (csuba g d1 x0)).(let H14 \def (refl_equal
117 nat (r (Bind Abbr) n)) in (let H15 \def (eq_ind nat n (\lambda (n0:
118 nat).(drop n0 O x (CHead x0 (Bind Abbr) u))) H12 (r (Bind Abbr) n) H14) in
119 (ex_intro2 C (\lambda (d2: C).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2
120 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1 d2)) x0 (drop_drop (Bind Abst)
121 n x (CHead x0 (Bind Abbr) u) H15 t) H13)))))) H11)) c2 H9)))) H8)) (\lambda
122 (H8: (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(eq C c2
123 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
124 A).(csuba g c d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g
125 c t (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity
126 g d2 u2 a)))))).(ex4_3_ind C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda
127 (_: A).(eq C c2 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_:
128 T).(\lambda (_: A).(csuba g c d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda
129 (a: A).(arity g c t (asucc g a))))) (\lambda (d2: C).(\lambda (u2:
130 T).(\lambda (a: A).(arity g d2 u2 a)))) (ex2 C (\lambda (d2: C).(drop (S n) O
131 c2 (CHead d2 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1 d2))) (\lambda
132 (x0: C).(\lambda (x1: T).(\lambda (x2: A).(\lambda (H9: (eq C c2 (CHead x0
133 (Bind Abbr) x1))).(\lambda (H10: (csuba g c x0)).(\lambda (_: (arity g c t
134 (asucc g x2))).(\lambda (_: (arity g x0 x1 x2)).(eq_ind_r C (CHead x0 (Bind
135 Abbr) x1) (\lambda (c0: C).(ex2 C (\lambda (d2: C).(drop (S n) O c0 (CHead d2
136 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1 d2)))) (let H13 \def (H c d1 u
137 H6 g x0 H10) in (ex2_ind C (\lambda (d2: C).(drop n O x0 (CHead d2 (Bind
138 Abbr) u))) (\lambda (d2: C).(csuba g d1 d2)) (ex2 C (\lambda (d2: C).(drop (S
139 n) O (CHead x0 (Bind Abbr) x1) (CHead d2 (Bind Abbr) u))) (\lambda (d2:
140 C).(csuba g d1 d2))) (\lambda (x: C).(\lambda (H14: (drop n O x0 (CHead x
141 (Bind Abbr) u))).(\lambda (H15: (csuba g d1 x)).(let H16 \def (refl_equal nat
142 (r (Bind Abbr) n)) in (let H17 \def (eq_ind nat n (\lambda (n0: nat).(drop n0
143 O x0 (CHead x (Bind Abbr) u))) H14 (r (Bind Abbr) n) H16) in (ex_intro2 C
144 (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Abbr) x1) (CHead d2 (Bind
145 Abbr) u))) (\lambda (d2: C).(csuba g d1 d2)) x (drop_drop (Bind Abbr) n x0
146 (CHead x (Bind Abbr) u) H17 x1) H15)))))) H13)) c2 H9)))))))) H8)) H7)))))
147 (\lambda (H5: (csuba g (CHead c (Bind Void) t) c2)).(\lambda (H6: (drop (r
148 (Bind Void) n) O c (CHead d1 (Bind Abbr) u))).(let H_x \def (csuba_gen_void g
149 c c2 t H5) in (let H7 \def H_x in (ex2_3_ind B C T (\lambda (b0: B).(\lambda
150 (d2: C).(\lambda (u2: T).(eq C c2 (CHead d2 (Bind b0) u2))))) (\lambda (_:
151 B).(\lambda (d2: C).(\lambda (_: T).(csuba g c d2)))) (ex2 C (\lambda (d2:
152 C).(drop (S n) O c2 (CHead d2 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1
153 d2))) (\lambda (x0: B).(\lambda (x1: C).(\lambda (x2: T).(\lambda (H8: (eq C
154 c2 (CHead x1 (Bind x0) x2))).(\lambda (H9: (csuba g c x1)).(eq_ind_r C (CHead
155 x1 (Bind x0) x2) (\lambda (c0: C).(ex2 C (\lambda (d2: C).(drop (S n) O c0
156 (CHead d2 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1 d2)))) (let H10 \def
157 (H c d1 u H6 g x1 H9) in (ex2_ind C (\lambda (d2: C).(drop n O x1 (CHead d2
158 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1 d2)) (ex2 C (\lambda (d2:
159 C).(drop (S n) O (CHead x1 (Bind x0) x2) (CHead d2 (Bind Abbr) u))) (\lambda
160 (d2: C).(csuba g d1 d2))) (\lambda (x: C).(\lambda (H11: (drop n O x1 (CHead
161 x (Bind Abbr) u))).(\lambda (H12: (csuba g d1 x)).(let H13 \def (refl_equal
162 nat (r (Bind Abbr) n)) in (let H14 \def (eq_ind nat n (\lambda (n0:
163 nat).(drop n0 O x1 (CHead x (Bind Abbr) u))) H11 (r (Bind Abbr) n) H13) in
164 (ex_intro2 C (\lambda (d2: C).(drop (S n) O (CHead x1 (Bind x0) x2) (CHead d2
165 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1 d2)) x (drop_drop (Bind x0) n
166 x1 (CHead x (Bind Abbr) u) H14 x2) H12)))))) H10)) c2 H8)))))) H7))))) b H3
167 H4)))) (\lambda (f: F).(\lambda (H3: (csuba g (CHead c (Flat f) t)
168 c2)).(\lambda (H4: (drop (r (Flat f) n) O c (CHead d1 (Bind Abbr) u))).(let
169 H_x \def (csuba_gen_flat g c c2 t f H3) in (let H5 \def H_x in (ex2_2_ind C T
170 (\lambda (d2: C).(\lambda (u2: T).(eq C c2 (CHead d2 (Flat f) u2)))) (\lambda
171 (d2: C).(\lambda (_: T).(csuba g c d2))) (ex2 C (\lambda (d2: C).(drop (S n)
172 O c2 (CHead d2 (Bind Abbr) u))) (\lambda (d2: C).(csuba g d1 d2))) (\lambda
173 (x0: C).(\lambda (x1: T).(\lambda (H6: (eq C c2 (CHead x0 (Flat f)
174 x1))).(\lambda (H7: (csuba g c x0)).(eq_ind_r C (CHead x0 (Flat f) x1)
175 (\lambda (c0: C).(ex2 C (\lambda (d2: C).(drop (S n) O c0 (CHead d2 (Bind
176 Abbr) u))) (\lambda (d2: C).(csuba g d1 d2)))) (let H8 \def (H0 d1 u H4 g x0
177 H7) in (ex2_ind C (\lambda (d2: C).(drop (S n) O x0 (CHead d2 (Bind Abbr)
178 u))) (\lambda (d2: C).(csuba g d1 d2)) (ex2 C (\lambda (d2: C).(drop (S n) O
179 (CHead x0 (Flat f) x1) (CHead d2 (Bind Abbr) u))) (\lambda (d2: C).(csuba g
180 d1 d2))) (\lambda (x: C).(\lambda (H9: (drop (S n) O x0 (CHead x (Bind Abbr)
181 u))).(\lambda (H10: (csuba g d1 x)).(ex_intro2 C (\lambda (d2: C).(drop (S n)
182 O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abbr) u))) (\lambda (d2: C).(csuba g
183 d1 d2)) x (drop_drop (Flat f) n x0 (CHead x (Bind Abbr) u) H9 x1) H10))))
184 H8)) c2 H6))))) H5)))))) k H2 (drop_gen_drop k c (CHead d1 (Bind Abbr) u) t n
185 H1)))))))))))) c1)))) i).
187 lemma csuba_drop_abst:
188 \forall (i: nat).(\forall (c1: C).(\forall (d1: C).(\forall (u1: T).((drop i
189 O c1 (CHead d1 (Bind Abst) u1)) \to (\forall (g: G).(\forall (c2: C).((csuba
190 g c1 c2) \to (or (ex2 C (\lambda (d2: C).(drop i O c2 (CHead d2 (Bind Abst)
191 u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2:
192 C).(\lambda (u2: T).(\lambda (_: A).(drop i O c2 (CHead d2 (Bind Abbr)
193 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2))))
194 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g
195 a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
198 \lambda (i: nat).(nat_ind (\lambda (n: nat).(\forall (c1: C).(\forall (d1:
199 C).(\forall (u1: T).((drop n O c1 (CHead d1 (Bind Abst) u1)) \to (\forall (g:
200 G).(\forall (c2: C).((csuba g c1 c2) \to (or (ex2 C (\lambda (d2: C).(drop n
201 O c2 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C
202 T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop n O c2 (CHead d2
203 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g
204 d1 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1
205 (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2
206 u2 a)))))))))))))) (\lambda (c1: C).(\lambda (d1: C).(\lambda (u1:
207 T).(\lambda (H: (drop O O c1 (CHead d1 (Bind Abst) u1))).(\lambda (g:
208 G).(\lambda (c2: C).(\lambda (H0: (csuba g c1 c2)).(let H1 \def (eq_ind C c1
209 (\lambda (c: C).(csuba g c c2)) H0 (CHead d1 (Bind Abst) u1) (drop_gen_refl
210 c1 (CHead d1 (Bind Abst) u1) H)) in (let H_x \def (csuba_gen_abst g d1 c2 u1
211 H1) in (let H2 \def H_x in (or_ind (ex2 C (\lambda (d2: C).(eq C c2 (CHead d2
212 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda
213 (d2: C).(\lambda (u2: T).(\lambda (_: A).(eq C c2 (CHead d2 (Bind Abbr)
214 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2))))
215 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g
216 a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
217 a))))) (or (ex2 C (\lambda (d2: C).(drop O O c2 (CHead d2 (Bind Abst) u1)))
218 (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda
219 (u2: T).(\lambda (_: A).(drop O O c2 (CHead d2 (Bind Abbr) u2))))) (\lambda
220 (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_:
221 C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda
222 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 a)))))) (\lambda (H3:
223 (ex2 C (\lambda (d2: C).(eq C c2 (CHead d2 (Bind Abst) u1))) (\lambda (d2:
224 C).(csuba g d1 d2)))).(ex2_ind C (\lambda (d2: C).(eq C c2 (CHead d2 (Bind
225 Abst) u1))) (\lambda (d2: C).(csuba g d1 d2)) (or (ex2 C (\lambda (d2:
226 C).(drop O O c2 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1
227 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop O
228 O c2 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda
229 (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a:
230 A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda
231 (a: A).(arity g d2 u2 a)))))) (\lambda (x: C).(\lambda (H4: (eq C c2 (CHead x
232 (Bind Abst) u1))).(\lambda (H5: (csuba g d1 x)).(eq_ind_r C (CHead x (Bind
233 Abst) u1) (\lambda (c: C).(or (ex2 C (\lambda (d2: C).(drop O O c (CHead d2
234 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda
235 (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop O O c (CHead d2 (Bind Abbr)
236 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2))))
237 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g
238 a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
239 a))))))) (or_introl (ex2 C (\lambda (d2: C).(drop O O (CHead x (Bind Abst)
240 u1) (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T
241 A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop O O (CHead x (Bind
242 Abst) u1) (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_:
243 T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_:
244 T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda
245 (u2: T).(\lambda (a: A).(arity g d2 u2 a))))) (ex_intro2 C (\lambda (d2:
246 C).(drop O O (CHead x (Bind Abst) u1) (CHead d2 (Bind Abst) u1))) (\lambda
247 (d2: C).(csuba g d1 d2)) x (drop_refl (CHead x (Bind Abst) u1)) H5)) c2
248 H4)))) H3)) (\lambda (H3: (ex4_3 C T A (\lambda (d2: C).(\lambda (u2:
249 T).(\lambda (_: A).(eq C c2 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2:
250 C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_:
251 C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda
252 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 a)))))).(ex4_3_ind C
253 T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(eq C c2 (CHead d2
254 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g
255 d1 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1
256 (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2
257 u2 a)))) (or (ex2 C (\lambda (d2: C).(drop O O c2 (CHead d2 (Bind Abst) u1)))
258 (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda
259 (u2: T).(\lambda (_: A).(drop O O c2 (CHead d2 (Bind Abbr) u2))))) (\lambda
260 (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_:
261 C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda
262 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 a)))))) (\lambda (x0:
263 C).(\lambda (x1: T).(\lambda (x2: A).(\lambda (H4: (eq C c2 (CHead x0 (Bind
264 Abbr) x1))).(\lambda (H5: (csuba g d1 x0)).(\lambda (H6: (arity g d1 u1
265 (asucc g x2))).(\lambda (H7: (arity g x0 x1 x2)).(eq_ind_r C (CHead x0 (Bind
266 Abbr) x1) (\lambda (c: C).(or (ex2 C (\lambda (d2: C).(drop O O c (CHead d2
267 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda
268 (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop O O c (CHead d2 (Bind Abbr)
269 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2))))
270 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g
271 a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
272 a))))))) (or_intror (ex2 C (\lambda (d2: C).(drop O O (CHead x0 (Bind Abbr)
273 x1) (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T
274 A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop O O (CHead x0 (Bind
275 Abbr) x1) (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_:
276 T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_:
277 T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda
278 (u2: T).(\lambda (a: A).(arity g d2 u2 a))))) (ex4_3_intro C T A (\lambda
279 (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop O O (CHead x0 (Bind Abbr) x1)
280 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
281 A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity
282 g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
283 A).(arity g d2 u2 a)))) x0 x1 x2 (drop_refl (CHead x0 (Bind Abbr) x1)) H5 H6
284 H7)) c2 H4)))))))) H3)) H2))))))))))) (\lambda (n: nat).(\lambda (H:
285 ((\forall (c1: C).(\forall (d1: C).(\forall (u1: T).((drop n O c1 (CHead d1
286 (Bind Abst) u1)) \to (\forall (g: G).(\forall (c2: C).((csuba g c1 c2) \to
287 (or (ex2 C (\lambda (d2: C).(drop n O c2 (CHead d2 (Bind Abst) u1))) (\lambda
288 (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2:
289 T).(\lambda (_: A).(drop n O c2 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2:
290 C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_:
291 C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda
292 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
293 a))))))))))))))).(\lambda (c1: C).(C_ind (\lambda (c: C).(\forall (d1:
294 C).(\forall (u1: T).((drop (S n) O c (CHead d1 (Bind Abst) u1)) \to (\forall
295 (g: G).(\forall (c2: C).((csuba g c c2) \to (or (ex2 C (\lambda (d2: C).(drop
296 (S n) O c2 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2)))
297 (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O
298 c2 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda
299 (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a:
300 A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda
301 (a: A).(arity g d2 u2 a))))))))))))) (\lambda (n0: nat).(\lambda (d1:
302 C).(\lambda (u1: T).(\lambda (H0: (drop (S n) O (CSort n0) (CHead d1 (Bind
303 Abst) u1))).(\lambda (g: G).(\lambda (c2: C).(\lambda (_: (csuba g (CSort n0)
304 c2)).(and3_ind (eq C (CHead d1 (Bind Abst) u1) (CSort n0)) (eq nat (S n) O)
305 (eq nat O O) (or (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind
306 Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2:
307 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O c2 (CHead d2 (Bind Abbr)
308 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2))))
309 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g
310 a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
311 a)))))) (\lambda (_: (eq C (CHead d1 (Bind Abst) u1) (CSort n0))).(\lambda
312 (H3: (eq nat (S n) O)).(\lambda (_: (eq nat O O)).(let H5 \def (eq_ind nat (S
313 n) (\lambda (ee: nat).(match ee with [O \Rightarrow False | (S _) \Rightarrow
314 True])) I O H3) in (False_ind (or (ex2 C (\lambda (d2: C).(drop (S n) O c2
315 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A
316 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O c2 (CHead d2
317 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g
318 d1 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1
319 (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2
320 u2 a)))))) H5))))) (drop_gen_sort n0 (S n) O (CHead d1 (Bind Abst) u1)
321 H0))))))))) (\lambda (c: C).(\lambda (H0: ((\forall (d1: C).(\forall (u1:
322 T).((drop (S n) O c (CHead d1 (Bind Abst) u1)) \to (\forall (g: G).(\forall
323 (c2: C).((csuba g c c2) \to (or (ex2 C (\lambda (d2: C).(drop (S n) O c2
324 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A
325 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O c2 (CHead d2
326 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g
327 d1 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1
328 (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2
329 u2 a)))))))))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (d1: C).(\lambda
330 (u1: T).(\lambda (H1: (drop (S n) O (CHead c k t) (CHead d1 (Bind Abst)
331 u1))).(\lambda (g: G).(\lambda (c2: C).(\lambda (H2: (csuba g (CHead c k t)
332 c2)).(K_ind (\lambda (k0: K).((csuba g (CHead c k0 t) c2) \to ((drop (r k0 n)
333 O c (CHead d1 (Bind Abst) u1)) \to (or (ex2 C (\lambda (d2: C).(drop (S n) O
334 c2 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T
335 A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O c2 (CHead
336 d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
337 A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity
338 g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
339 A).(arity g d2 u2 a))))))))) (\lambda (b: B).(\lambda (H3: (csuba g (CHead c
340 (Bind b) t) c2)).(\lambda (H4: (drop (r (Bind b) n) O c (CHead d1 (Bind Abst)
341 u1))).(B_ind (\lambda (b0: B).((csuba g (CHead c (Bind b0) t) c2) \to ((drop
342 (r (Bind b0) n) O c (CHead d1 (Bind Abst) u1)) \to (or (ex2 C (\lambda (d2:
343 C).(drop (S n) O c2 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1
344 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S
345 n) O c2 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_:
346 T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_:
347 T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda
348 (u2: T).(\lambda (a: A).(arity g d2 u2 a))))))))) (\lambda (H5: (csuba g
349 (CHead c (Bind Abbr) t) c2)).(\lambda (H6: (drop (r (Bind Abbr) n) O c (CHead
350 d1 (Bind Abst) u1))).(let H_x \def (csuba_gen_abbr g c c2 t H5) in (let H7
351 \def H_x in (ex2_ind C (\lambda (d2: C).(eq C c2 (CHead d2 (Bind Abbr) t)))
352 (\lambda (d2: C).(csuba g c d2)) (or (ex2 C (\lambda (d2: C).(drop (S n) O c2
353 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A
354 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O c2 (CHead d2
355 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g
356 d1 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1
357 (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2
358 u2 a)))))) (\lambda (x: C).(\lambda (H8: (eq C c2 (CHead x (Bind Abbr)
359 t))).(\lambda (H9: (csuba g c x)).(eq_ind_r C (CHead x (Bind Abbr) t)
360 (\lambda (c0: C).(or (ex2 C (\lambda (d2: C).(drop (S n) O c0 (CHead d2 (Bind
361 Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2:
362 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O c0 (CHead d2 (Bind Abbr)
363 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2))))
364 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g
365 a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
366 a))))))) (let H10 \def (H c d1 u1 H6 g x H9) in (or_ind (ex2 C (\lambda (d2:
367 C).(drop n O x (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2)))
368 (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop n O x
369 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
370 A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity
371 g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
372 A).(arity g d2 u2 a))))) (or (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x
373 (Bind Abbr) t) (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2)))
374 (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O
375 (CHead x (Bind Abbr) t) (CHead d2 (Bind Abbr) u2))))) (\lambda (d2:
376 C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_:
377 C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda
378 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 a)))))) (\lambda
379 (H11: (ex2 C (\lambda (d2: C).(drop n O x (CHead d2 (Bind Abst) u1)))
380 (\lambda (d2: C).(csuba g d1 d2)))).(ex2_ind C (\lambda (d2: C).(drop n O x
381 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2)) (or (ex2 C
382 (\lambda (d2: C).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Abst)
383 u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2:
384 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Abbr) t)
385 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
386 A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity
387 g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
388 A).(arity g d2 u2 a)))))) (\lambda (x0: C).(\lambda (H12: (drop n O x (CHead
389 x0 (Bind Abst) u1))).(\lambda (H13: (csuba g d1 x0)).(let H14 \def
390 (refl_equal nat (r (Bind Abbr) n)) in (let H15 \def (eq_ind nat n (\lambda
391 (n0: nat).(drop n0 O x (CHead x0 (Bind Abst) u1))) H12 (r (Bind Abbr) n) H14)
392 in (or_introl (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x (Bind Abbr) t)
393 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A
394 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x
395 (Bind Abbr) t) (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_:
396 T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_:
397 T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda
398 (u2: T).(\lambda (a: A).(arity g d2 u2 a))))) (ex_intro2 C (\lambda (d2:
399 C).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Abst) u1))) (\lambda
400 (d2: C).(csuba g d1 d2)) x0 (drop_drop (Bind Abbr) n x (CHead x0 (Bind Abst)
401 u1) H15 t) H13))))))) H11)) (\lambda (H11: (ex4_3 C T A (\lambda (d2:
402 C).(\lambda (u2: T).(\lambda (_: A).(drop n O x (CHead d2 (Bind Abbr) u2)))))
403 (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda
404 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a)))))
405 (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
406 a)))))).(ex4_3_ind C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
407 A).(drop n O x (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_:
408 T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_:
409 T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda
410 (u2: T).(\lambda (a: A).(arity g d2 u2 a)))) (or (ex2 C (\lambda (d2:
411 C).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Abst) u1))) (\lambda
412 (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2:
413 T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind
414 Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1
415 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc
416 g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
417 a)))))) (\lambda (x0: C).(\lambda (x1: T).(\lambda (x2: A).(\lambda (H12:
418 (drop n O x (CHead x0 (Bind Abbr) x1))).(\lambda (H13: (csuba g d1
419 x0)).(\lambda (H14: (arity g d1 u1 (asucc g x2))).(\lambda (H15: (arity g x0
420 x1 x2)).(let H16 \def (refl_equal nat (r (Bind Abbr) n)) in (let H17 \def
421 (eq_ind nat n (\lambda (n0: nat).(drop n0 O x (CHead x0 (Bind Abbr) x1))) H12
422 (r (Bind Abbr) n) H16) in (or_intror (ex2 C (\lambda (d2: C).(drop (S n) O
423 (CHead x (Bind Abbr) t) (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g
424 d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop
425 (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Abbr) u2))))) (\lambda (d2:
426 C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_:
427 C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda
428 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 a))))) (ex4_3_intro C
429 T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x
430 (Bind Abbr) t) (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_:
431 T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_:
432 T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda
433 (u2: T).(\lambda (a: A).(arity g d2 u2 a)))) x0 x1 x2 (drop_drop (Bind Abbr)
434 n x (CHead x0 (Bind Abbr) x1) H17 t) H13 H14 H15))))))))))) H11)) H10)) c2
435 H8)))) H7))))) (\lambda (H5: (csuba g (CHead c (Bind Abst) t) c2)).(\lambda
436 (H6: (drop (r (Bind Abst) n) O c (CHead d1 (Bind Abst) u1))).(let H_x \def
437 (csuba_gen_abst g c c2 t H5) in (let H7 \def H_x in (or_ind (ex2 C (\lambda
438 (d2: C).(eq C c2 (CHead d2 (Bind Abst) t))) (\lambda (d2: C).(csuba g c d2)))
439 (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(eq C c2
440 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
441 A).(csuba g c d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g
442 c t (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity
443 g d2 u2 a))))) (or (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind
444 Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2:
445 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O c2 (CHead d2 (Bind Abbr)
446 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2))))
447 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g
448 a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
449 a)))))) (\lambda (H8: (ex2 C (\lambda (d2: C).(eq C c2 (CHead d2 (Bind Abst)
450 t))) (\lambda (d2: C).(csuba g c d2)))).(ex2_ind C (\lambda (d2: C).(eq C c2
451 (CHead d2 (Bind Abst) t))) (\lambda (d2: C).(csuba g c d2)) (or (ex2 C
452 (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abst) u1))) (\lambda (d2:
453 C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda
454 (_: A).(drop (S n) O c2 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2:
455 C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_:
456 C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda
457 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 a)))))) (\lambda (x:
458 C).(\lambda (H9: (eq C c2 (CHead x (Bind Abst) t))).(\lambda (H10: (csuba g c
459 x)).(eq_ind_r C (CHead x (Bind Abst) t) (\lambda (c0: C).(or (ex2 C (\lambda
460 (d2: C).(drop (S n) O c0 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba
461 g d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
462 A).(drop (S n) O c0 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda
463 (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_:
464 T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda
465 (u2: T).(\lambda (a: A).(arity g d2 u2 a))))))) (let H11 \def (H c d1 u1 H6 g
466 x H10) in (or_ind (ex2 C (\lambda (d2: C).(drop n O x (CHead d2 (Bind Abst)
467 u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2:
468 C).(\lambda (u2: T).(\lambda (_: A).(drop n O x (CHead d2 (Bind Abbr) u2)))))
469 (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda
470 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a)))))
471 (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 a))))) (or
472 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind
473 Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2:
474 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Abst) t)
475 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
476 A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity
477 g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
478 A).(arity g d2 u2 a)))))) (\lambda (H12: (ex2 C (\lambda (d2: C).(drop n O x
479 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2)))).(ex2_ind C
480 (\lambda (d2: C).(drop n O x (CHead d2 (Bind Abst) u1))) (\lambda (d2:
481 C).(csuba g d1 d2)) (or (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x (Bind
482 Abst) t) (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2)))
483 (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O
484 (CHead x (Bind Abst) t) (CHead d2 (Bind Abbr) u2))))) (\lambda (d2:
485 C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_:
486 C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda
487 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 a)))))) (\lambda (x0:
488 C).(\lambda (H13: (drop n O x (CHead x0 (Bind Abst) u1))).(\lambda (H14:
489 (csuba g d1 x0)).(let H15 \def (refl_equal nat (r (Bind Abbr) n)) in (let H16
490 \def (eq_ind nat n (\lambda (n0: nat).(drop n0 O x (CHead x0 (Bind Abst)
491 u1))) H13 (r (Bind Abbr) n) H15) in (or_introl (ex2 C (\lambda (d2: C).(drop
492 (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Abst) u1))) (\lambda (d2:
493 C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda
494 (_: A).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Abbr) u2)))))
495 (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda
496 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a)))))
497 (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 a)))))
498 (ex_intro2 C (\lambda (d2: C).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2
499 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2)) x0 (drop_drop (Bind Abst)
500 n x (CHead x0 (Bind Abst) u1) H16 t) H14))))))) H12)) (\lambda (H12: (ex4_3 C
501 T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop n O x (CHead d2
502 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g
503 d1 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1
504 (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2
505 u2 a)))))).(ex4_3_ind C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
506 A).(drop n O x (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_:
507 T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_:
508 T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda
509 (u2: T).(\lambda (a: A).(arity g d2 u2 a)))) (or (ex2 C (\lambda (d2:
510 C).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Abst) u1))) (\lambda
511 (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2:
512 T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind
513 Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1
514 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc
515 g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
516 a)))))) (\lambda (x0: C).(\lambda (x1: T).(\lambda (x2: A).(\lambda (H13:
517 (drop n O x (CHead x0 (Bind Abbr) x1))).(\lambda (H14: (csuba g d1
518 x0)).(\lambda (H15: (arity g d1 u1 (asucc g x2))).(\lambda (H16: (arity g x0
519 x1 x2)).(let H17 \def (refl_equal nat (r (Bind Abbr) n)) in (let H18 \def
520 (eq_ind nat n (\lambda (n0: nat).(drop n0 O x (CHead x0 (Bind Abbr) x1))) H13
521 (r (Bind Abbr) n) H17) in (or_intror (ex2 C (\lambda (d2: C).(drop (S n) O
522 (CHead x (Bind Abst) t) (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g
523 d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop
524 (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Abbr) u2))))) (\lambda (d2:
525 C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_:
526 C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda
527 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 a))))) (ex4_3_intro C
528 T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x
529 (Bind Abst) t) (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_:
530 T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_:
531 T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda
532 (u2: T).(\lambda (a: A).(arity g d2 u2 a)))) x0 x1 x2 (drop_drop (Bind Abst)
533 n x (CHead x0 (Bind Abbr) x1) H18 t) H14 H15 H16))))))))))) H12)) H11)) c2
534 H9)))) H8)) (\lambda (H8: (ex4_3 C T A (\lambda (d2: C).(\lambda (u2:
535 T).(\lambda (_: A).(eq C c2 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2:
536 C).(\lambda (_: T).(\lambda (_: A).(csuba g c d2)))) (\lambda (_: C).(\lambda
537 (_: T).(\lambda (a: A).(arity g c t (asucc g a))))) (\lambda (d2: C).(\lambda
538 (u2: T).(\lambda (a: A).(arity g d2 u2 a)))))).(ex4_3_ind C T A (\lambda (d2:
539 C).(\lambda (u2: T).(\lambda (_: A).(eq C c2 (CHead d2 (Bind Abbr) u2)))))
540 (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g c d2)))) (\lambda
541 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g c t (asucc g a))))) (\lambda
542 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 a)))) (or (ex2 C
543 (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abst) u1))) (\lambda (d2:
544 C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda
545 (_: A).(drop (S n) O c2 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2:
546 C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_:
547 C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda
548 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 a)))))) (\lambda (x0:
549 C).(\lambda (x1: T).(\lambda (x2: A).(\lambda (H9: (eq C c2 (CHead x0 (Bind
550 Abbr) x1))).(\lambda (H10: (csuba g c x0)).(\lambda (_: (arity g c t (asucc g
551 x2))).(\lambda (_: (arity g x0 x1 x2)).(eq_ind_r C (CHead x0 (Bind Abbr) x1)
552 (\lambda (c0: C).(or (ex2 C (\lambda (d2: C).(drop (S n) O c0 (CHead d2 (Bind
553 Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2:
554 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O c0 (CHead d2 (Bind Abbr)
555 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2))))
556 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g
557 a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
558 a))))))) (let H13 \def (H c d1 u1 H6 g x0 H10) in (or_ind (ex2 C (\lambda
559 (d2: C).(drop n O x0 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1
560 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop n
561 O x0 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda
562 (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a:
563 A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda
564 (a: A).(arity g d2 u2 a))))) (or (ex2 C (\lambda (d2: C).(drop (S n) O (CHead
565 x0 (Bind Abbr) x1) (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1
566 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S
567 n) O (CHead x0 (Bind Abbr) x1) (CHead d2 (Bind Abbr) u2))))) (\lambda (d2:
568 C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_:
569 C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda
570 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 a)))))) (\lambda
571 (H14: (ex2 C (\lambda (d2: C).(drop n O x0 (CHead d2 (Bind Abst) u1)))
572 (\lambda (d2: C).(csuba g d1 d2)))).(ex2_ind C (\lambda (d2: C).(drop n O x0
573 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2)) (or (ex2 C
574 (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Abbr) x1) (CHead d2 (Bind
575 Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2:
576 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0 (Bind Abbr) x1)
577 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
578 A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity
579 g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
580 A).(arity g d2 u2 a)))))) (\lambda (x: C).(\lambda (H15: (drop n O x0 (CHead
581 x (Bind Abst) u1))).(\lambda (H16: (csuba g d1 x)).(let H17 \def (refl_equal
582 nat (r (Bind Abbr) n)) in (let H18 \def (eq_ind nat n (\lambda (n0:
583 nat).(drop n0 O x0 (CHead x (Bind Abst) u1))) H15 (r (Bind Abbr) n) H17) in
584 (or_introl (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Abbr) x1)
585 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A
586 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0
587 (Bind Abbr) x1) (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_:
588 T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_:
589 T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda
590 (u2: T).(\lambda (a: A).(arity g d2 u2 a))))) (ex_intro2 C (\lambda (d2:
591 C).(drop (S n) O (CHead x0 (Bind Abbr) x1) (CHead d2 (Bind Abst) u1)))
592 (\lambda (d2: C).(csuba g d1 d2)) x (drop_drop (Bind Abbr) n x0 (CHead x
593 (Bind Abst) u1) H18 x1) H16))))))) H14)) (\lambda (H14: (ex4_3 C T A (\lambda
594 (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop n O x0 (CHead d2 (Bind Abbr)
595 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2))))
596 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g
597 a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
598 a)))))).(ex4_3_ind C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
599 A).(drop n O x0 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_:
600 T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_:
601 T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda
602 (u2: T).(\lambda (a: A).(arity g d2 u2 a)))) (or (ex2 C (\lambda (d2:
603 C).(drop (S n) O (CHead x0 (Bind Abbr) x1) (CHead d2 (Bind Abst) u1)))
604 (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda
605 (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0 (Bind Abbr) x1) (CHead d2
606 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g
607 d1 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1
608 (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2
609 u2 a)))))) (\lambda (x3: C).(\lambda (x4: T).(\lambda (x5: A).(\lambda (H15:
610 (drop n O x0 (CHead x3 (Bind Abbr) x4))).(\lambda (H16: (csuba g d1
611 x3)).(\lambda (H17: (arity g d1 u1 (asucc g x5))).(\lambda (H18: (arity g x3
612 x4 x5)).(let H19 \def (refl_equal nat (r (Bind Abbr) n)) in (let H20 \def
613 (eq_ind nat n (\lambda (n0: nat).(drop n0 O x0 (CHead x3 (Bind Abbr) x4)))
614 H15 (r (Bind Abbr) n) H19) in (or_intror (ex2 C (\lambda (d2: C).(drop (S n)
615 O (CHead x0 (Bind Abbr) x1) (CHead d2 (Bind Abst) u1))) (\lambda (d2:
616 C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda
617 (_: A).(drop (S n) O (CHead x0 (Bind Abbr) x1) (CHead d2 (Bind Abbr) u2)))))
618 (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda
619 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a)))))
620 (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 a)))))
621 (ex4_3_intro C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S
622 n) O (CHead x0 (Bind Abbr) x1) (CHead d2 (Bind Abbr) u2))))) (\lambda (d2:
623 C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_:
624 C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda
625 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 a)))) x3 x4 x5
626 (drop_drop (Bind Abbr) n x0 (CHead x3 (Bind Abbr) x4) H20 x1) H16 H17
627 H18))))))))))) H14)) H13)) c2 H9)))))))) H8)) H7))))) (\lambda (H5: (csuba g
628 (CHead c (Bind Void) t) c2)).(\lambda (H6: (drop (r (Bind Void) n) O c (CHead
629 d1 (Bind Abst) u1))).(let H_x \def (csuba_gen_void g c c2 t H5) in (let H7
630 \def H_x in (ex2_3_ind B C T (\lambda (b0: B).(\lambda (d2: C).(\lambda (u2:
631 T).(eq C c2 (CHead d2 (Bind b0) u2))))) (\lambda (_: B).(\lambda (d2:
632 C).(\lambda (_: T).(csuba g c d2)))) (or (ex2 C (\lambda (d2: C).(drop (S n)
633 O c2 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C
634 T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O c2 (CHead
635 d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
636 A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity
637 g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
638 A).(arity g d2 u2 a)))))) (\lambda (x0: B).(\lambda (x1: C).(\lambda (x2:
639 T).(\lambda (H8: (eq C c2 (CHead x1 (Bind x0) x2))).(\lambda (H9: (csuba g c
640 x1)).(eq_ind_r C (CHead x1 (Bind x0) x2) (\lambda (c0: C).(or (ex2 C (\lambda
641 (d2: C).(drop (S n) O c0 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba
642 g d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
643 A).(drop (S n) O c0 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda
644 (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_:
645 T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda
646 (u2: T).(\lambda (a: A).(arity g d2 u2 a))))))) (let H10 \def (H c d1 u1 H6 g
647 x1 H9) in (or_ind (ex2 C (\lambda (d2: C).(drop n O x1 (CHead d2 (Bind Abst)
648 u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2:
649 C).(\lambda (u2: T).(\lambda (_: A).(drop n O x1 (CHead d2 (Bind Abbr)
650 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2))))
651 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g
652 a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
653 a))))) (or (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x1 (Bind x0) x2)
654 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A
655 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x1
656 (Bind x0) x2) (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_:
657 T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_:
658 T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda
659 (u2: T).(\lambda (a: A).(arity g d2 u2 a)))))) (\lambda (H11: (ex2 C (\lambda
660 (d2: C).(drop n O x1 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1
661 d2)))).(ex2_ind C (\lambda (d2: C).(drop n O x1 (CHead d2 (Bind Abst) u1)))
662 (\lambda (d2: C).(csuba g d1 d2)) (or (ex2 C (\lambda (d2: C).(drop (S n) O
663 (CHead x1 (Bind x0) x2) (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g
664 d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop
665 (S n) O (CHead x1 (Bind x0) x2) (CHead d2 (Bind Abbr) u2))))) (\lambda (d2:
666 C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_:
667 C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda
668 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 a)))))) (\lambda (x:
669 C).(\lambda (H12: (drop n O x1 (CHead x (Bind Abst) u1))).(\lambda (H13:
670 (csuba g d1 x)).(let H14 \def (refl_equal nat (r (Bind Abbr) n)) in (let H15
671 \def (eq_ind nat n (\lambda (n0: nat).(drop n0 O x1 (CHead x (Bind Abst)
672 u1))) H12 (r (Bind Abbr) n) H14) in (or_introl (ex2 C (\lambda (d2: C).(drop
673 (S n) O (CHead x1 (Bind x0) x2) (CHead d2 (Bind Abst) u1))) (\lambda (d2:
674 C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda
675 (_: A).(drop (S n) O (CHead x1 (Bind x0) x2) (CHead d2 (Bind Abbr) u2)))))
676 (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda
677 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a)))))
678 (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 a)))))
679 (ex_intro2 C (\lambda (d2: C).(drop (S n) O (CHead x1 (Bind x0) x2) (CHead d2
680 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2)) x (drop_drop (Bind x0) n
681 x1 (CHead x (Bind Abst) u1) H15 x2) H13))))))) H11)) (\lambda (H11: (ex4_3 C
682 T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop n O x1 (CHead d2
683 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g
684 d1 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1
685 (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2
686 u2 a)))))).(ex4_3_ind C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
687 A).(drop n O x1 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_:
688 T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_:
689 T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda
690 (u2: T).(\lambda (a: A).(arity g d2 u2 a)))) (or (ex2 C (\lambda (d2:
691 C).(drop (S n) O (CHead x1 (Bind x0) x2) (CHead d2 (Bind Abst) u1))) (\lambda
692 (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2:
693 T).(\lambda (_: A).(drop (S n) O (CHead x1 (Bind x0) x2) (CHead d2 (Bind
694 Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1
695 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc
696 g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
697 a)))))) (\lambda (x3: C).(\lambda (x4: T).(\lambda (x5: A).(\lambda (H12:
698 (drop n O x1 (CHead x3 (Bind Abbr) x4))).(\lambda (H13: (csuba g d1
699 x3)).(\lambda (H14: (arity g d1 u1 (asucc g x5))).(\lambda (H15: (arity g x3
700 x4 x5)).(let H16 \def (refl_equal nat (r (Bind Abbr) n)) in (let H17 \def
701 (eq_ind nat n (\lambda (n0: nat).(drop n0 O x1 (CHead x3 (Bind Abbr) x4)))
702 H12 (r (Bind Abbr) n) H16) in (or_intror (ex2 C (\lambda (d2: C).(drop (S n)
703 O (CHead x1 (Bind x0) x2) (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba
704 g d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
705 A).(drop (S n) O (CHead x1 (Bind x0) x2) (CHead d2 (Bind Abbr) u2)))))
706 (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda
707 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a)))))
708 (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 a)))))
709 (ex4_3_intro C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S
710 n) O (CHead x1 (Bind x0) x2) (CHead d2 (Bind Abbr) u2))))) (\lambda (d2:
711 C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_:
712 C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda
713 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 a)))) x3 x4 x5
714 (drop_drop (Bind x0) n x1 (CHead x3 (Bind Abbr) x4) H17 x2) H13 H14
715 H15))))))))))) H11)) H10)) c2 H8)))))) H7))))) b H3 H4)))) (\lambda (f:
716 F).(\lambda (H3: (csuba g (CHead c (Flat f) t) c2)).(\lambda (H4: (drop (r
717 (Flat f) n) O c (CHead d1 (Bind Abst) u1))).(let H_x \def (csuba_gen_flat g c
718 c2 t f H3) in (let H5 \def H_x in (ex2_2_ind C T (\lambda (d2: C).(\lambda
719 (u2: T).(eq C c2 (CHead d2 (Flat f) u2)))) (\lambda (d2: C).(\lambda (_:
720 T).(csuba g c d2))) (or (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2
721 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda
722 (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O c2 (CHead d2 (Bind
723 Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1
724 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc
725 g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
726 a)))))) (\lambda (x0: C).(\lambda (x1: T).(\lambda (H6: (eq C c2 (CHead x0
727 (Flat f) x1))).(\lambda (H7: (csuba g c x0)).(eq_ind_r C (CHead x0 (Flat f)
728 x1) (\lambda (c0: C).(or (ex2 C (\lambda (d2: C).(drop (S n) O c0 (CHead d2
729 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda
730 (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O c0 (CHead d2 (Bind
731 Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1
732 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc
733 g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
734 a))))))) (let H8 \def (H0 d1 u1 H4 g x0 H7) in (or_ind (ex2 C (\lambda (d2:
735 C).(drop (S n) O x0 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1
736 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S
737 n) O x0 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_:
738 T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_:
739 T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda
740 (u2: T).(\lambda (a: A).(arity g d2 u2 a))))) (or (ex2 C (\lambda (d2:
741 C).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abst) u1))) (\lambda
742 (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2:
743 T).(\lambda (_: A).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abbr)
744 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2))))
745 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g
746 a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
747 a)))))) (\lambda (H9: (ex2 C (\lambda (d2: C).(drop (S n) O x0 (CHead d2
748 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2)))).(ex2_ind C (\lambda
749 (d2: C).(drop (S n) O x0 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba
750 g d1 d2)) (or (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Flat f) x1)
751 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A
752 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0
753 (Flat f) x1) (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_:
754 T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_:
755 T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda
756 (u2: T).(\lambda (a: A).(arity g d2 u2 a)))))) (\lambda (x: C).(\lambda (H10:
757 (drop (S n) O x0 (CHead x (Bind Abst) u1))).(\lambda (H11: (csuba g d1
758 x)).(or_introl (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Flat f) x1)
759 (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T A
760 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0
761 (Flat f) x1) (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_:
762 T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_:
763 T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda
764 (u2: T).(\lambda (a: A).(arity g d2 u2 a))))) (ex_intro2 C (\lambda (d2:
765 C).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abst) u1))) (\lambda
766 (d2: C).(csuba g d1 d2)) x (drop_drop (Flat f) n x0 (CHead x (Bind Abst) u1)
767 H10 x1) H11))))) H9)) (\lambda (H9: (ex4_3 C T A (\lambda (d2: C).(\lambda
768 (u2: T).(\lambda (_: A).(drop (S n) O x0 (CHead d2 (Bind Abbr) u2)))))
769 (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda
770 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g a)))))
771 (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
772 a)))))).(ex4_3_ind C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
773 A).(drop (S n) O x0 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda
774 (_: T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_:
775 T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda
776 (u2: T).(\lambda (a: A).(arity g d2 u2 a)))) (or (ex2 C (\lambda (d2:
777 C).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abst) u1))) (\lambda
778 (d2: C).(csuba g d1 d2))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2:
779 T).(\lambda (_: A).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abbr)
780 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d1 d2))))
781 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 (asucc g
782 a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
783 a)))))) (\lambda (x2: C).(\lambda (x3: T).(\lambda (x4: A).(\lambda (H10:
784 (drop (S n) O x0 (CHead x2 (Bind Abbr) x3))).(\lambda (H11: (csuba g d1
785 x2)).(\lambda (H12: (arity g d1 u1 (asucc g x4))).(\lambda (H13: (arity g x2
786 x3 x4)).(or_intror (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Flat f)
787 x1) (CHead d2 (Bind Abst) u1))) (\lambda (d2: C).(csuba g d1 d2))) (ex4_3 C T
788 A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0
789 (Flat f) x1) (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_:
790 T).(\lambda (_: A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_:
791 T).(\lambda (a: A).(arity g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda
792 (u2: T).(\lambda (a: A).(arity g d2 u2 a))))) (ex4_3_intro C T A (\lambda
793 (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0 (Flat f) x1)
794 (CHead d2 (Bind Abbr) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
795 A).(csuba g d1 d2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity
796 g d1 u1 (asucc g a))))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
797 A).(arity g d2 u2 a)))) x2 x3 x4 (drop_drop (Flat f) n x0 (CHead x2 (Bind
798 Abbr) x3) H10 x1) H11 H12 H13))))))))) H9)) H8)) c2 H6))))) H5)))))) k H2
799 (drop_gen_drop k c (CHead d1 (Bind Abst) u1) t n H1)))))))))))) c1)))) i).
801 lemma csuba_drop_abst_rev:
802 \forall (i: nat).(\forall (c1: C).(\forall (d1: C).(\forall (u: T).((drop i
803 O c1 (CHead d1 (Bind Abst) u)) \to (\forall (g: G).(\forall (c2: C).((csuba g
804 c2 c1) \to (or (ex2 C (\lambda (d2: C).(drop i O c2 (CHead d2 (Bind Abst)
805 u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda
806 (u2: T).(drop i O c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda
807 (_: T).(csuba g d2 d1))))))))))))
809 \lambda (i: nat).(nat_ind (\lambda (n: nat).(\forall (c1: C).(\forall (d1:
810 C).(\forall (u: T).((drop n O c1 (CHead d1 (Bind Abst) u)) \to (\forall (g:
811 G).(\forall (c2: C).((csuba g c2 c1) \to (or (ex2 C (\lambda (d2: C).(drop n
812 O c2 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T
813 (\lambda (d2: C).(\lambda (u2: T).(drop n O c2 (CHead d2 (Bind Void) u2))))
814 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))))))))))) (\lambda (c1:
815 C).(\lambda (d1: C).(\lambda (u: T).(\lambda (H: (drop O O c1 (CHead d1 (Bind
816 Abst) u))).(\lambda (g: G).(\lambda (c2: C).(\lambda (H0: (csuba g c2
817 c1)).(let H1 \def (eq_ind C c1 (\lambda (c: C).(csuba g c2 c)) H0 (CHead d1
818 (Bind Abst) u) (drop_gen_refl c1 (CHead d1 (Bind Abst) u) H)) in (let H_x
819 \def (csuba_gen_abst_rev g d1 c2 u H1) in (let H2 \def H_x in (or_ind (ex2 C
820 (\lambda (d2: C).(eq C c2 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba
821 g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(eq C c2 (CHead d2
822 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (or
823 (ex2 C (\lambda (d2: C).(drop O O c2 (CHead d2 (Bind Abst) u))) (\lambda (d2:
824 C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop O O
825 c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
826 d1))))) (\lambda (H3: (ex2 C (\lambda (d2: C).(eq C c2 (CHead d2 (Bind Abst)
827 u))) (\lambda (d2: C).(csuba g d2 d1)))).(ex2_ind C (\lambda (d2: C).(eq C c2
828 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1)) (or (ex2 C
829 (\lambda (d2: C).(drop O O c2 (CHead d2 (Bind Abst) u))) (\lambda (d2:
830 C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop O O
831 c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
832 d1))))) (\lambda (x: C).(\lambda (H4: (eq C c2 (CHead x (Bind Abst)
833 u))).(\lambda (H5: (csuba g x d1)).(eq_ind_r C (CHead x (Bind Abst) u)
834 (\lambda (c: C).(or (ex2 C (\lambda (d2: C).(drop O O c (CHead d2 (Bind Abst)
835 u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda
836 (u2: T).(drop O O c (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda
837 (_: T).(csuba g d2 d1)))))) (or_introl (ex2 C (\lambda (d2: C).(drop O O
838 (CHead x (Bind Abst) u) (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g
839 d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop O O (CHead x
840 (Bind Abst) u) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
841 T).(csuba g d2 d1)))) (ex_intro2 C (\lambda (d2: C).(drop O O (CHead x (Bind
842 Abst) u) (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1)) x
843 (drop_refl (CHead x (Bind Abst) u)) H5)) c2 H4)))) H3)) (\lambda (H3: (ex2_2
844 C T (\lambda (d2: C).(\lambda (u2: T).(eq C c2 (CHead d2 (Bind Void) u2))))
845 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))).(ex2_2_ind C T (\lambda
846 (d2: C).(\lambda (u2: T).(eq C c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2:
847 C).(\lambda (_: T).(csuba g d2 d1))) (or (ex2 C (\lambda (d2: C).(drop O O c2
848 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T
849 (\lambda (d2: C).(\lambda (u2: T).(drop O O c2 (CHead d2 (Bind Void) u2))))
850 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x0:
851 C).(\lambda (x1: T).(\lambda (H4: (eq C c2 (CHead x0 (Bind Void)
852 x1))).(\lambda (H5: (csuba g x0 d1)).(eq_ind_r C (CHead x0 (Bind Void) x1)
853 (\lambda (c: C).(or (ex2 C (\lambda (d2: C).(drop O O c (CHead d2 (Bind Abst)
854 u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda
855 (u2: T).(drop O O c (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda
856 (_: T).(csuba g d2 d1)))))) (or_intror (ex2 C (\lambda (d2: C).(drop O O
857 (CHead x0 (Bind Void) x1) (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba
858 g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop O O (CHead x0
859 (Bind Void) x1) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
860 T).(csuba g d2 d1)))) (ex2_2_intro C T (\lambda (d2: C).(\lambda (u2:
861 T).(drop O O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Void) u2)))) (\lambda
862 (d2: C).(\lambda (_: T).(csuba g d2 d1))) x0 x1 (drop_refl (CHead x0 (Bind
863 Void) x1)) H5)) c2 H4))))) H3)) H2))))))))))) (\lambda (n: nat).(\lambda (H:
864 ((\forall (c1: C).(\forall (d1: C).(\forall (u: T).((drop n O c1 (CHead d1
865 (Bind Abst) u)) \to (\forall (g: G).(\forall (c2: C).((csuba g c2 c1) \to (or
866 (ex2 C (\lambda (d2: C).(drop n O c2 (CHead d2 (Bind Abst) u))) (\lambda (d2:
867 C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop n O
868 c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
869 d1)))))))))))))).(\lambda (c1: C).(C_ind (\lambda (c: C).(\forall (d1:
870 C).(\forall (u: T).((drop (S n) O c (CHead d1 (Bind Abst) u)) \to (\forall
871 (g: G).(\forall (c2: C).((csuba g c2 c) \to (or (ex2 C (\lambda (d2: C).(drop
872 (S n) O c2 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1)))
873 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2 (Bind
874 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))))))))))
875 (\lambda (n0: nat).(\lambda (d1: C).(\lambda (u: T).(\lambda (H0: (drop (S n)
876 O (CSort n0) (CHead d1 (Bind Abst) u))).(\lambda (g: G).(\lambda (c2:
877 C).(\lambda (_: (csuba g c2 (CSort n0))).(and3_ind (eq C (CHead d1 (Bind
878 Abst) u) (CSort n0)) (eq nat (S n) O) (eq nat O O) (or (ex2 C (\lambda (d2:
879 C).(drop (S n) O c2 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2
880 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2
881 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))))
882 (\lambda (_: (eq C (CHead d1 (Bind Abst) u) (CSort n0))).(\lambda (H3: (eq
883 nat (S n) O)).(\lambda (_: (eq nat O O)).(let H5 \def (eq_ind nat (S n)
884 (\lambda (ee: nat).(match ee with [O \Rightarrow False | (S _) \Rightarrow
885 True])) I O H3) in (False_ind (or (ex2 C (\lambda (d2: C).(drop (S n) O c2
886 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T
887 (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2 (Bind Void)
888 u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) H5)))))
889 (drop_gen_sort n0 (S n) O (CHead d1 (Bind Abst) u) H0))))))))) (\lambda (c:
890 C).(\lambda (H0: ((\forall (d1: C).(\forall (u: T).((drop (S n) O c (CHead d1
891 (Bind Abst) u)) \to (\forall (g: G).(\forall (c2: C).((csuba g c2 c) \to (or
892 (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abst) u))) (\lambda
893 (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop
894 (S n) O c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
895 T).(csuba g d2 d1))))))))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (d1:
896 C).(\lambda (u: T).(\lambda (H1: (drop (S n) O (CHead c k t) (CHead d1 (Bind
897 Abst) u))).(\lambda (g: G).(\lambda (c2: C).(\lambda (H2: (csuba g c2 (CHead
898 c k t))).(K_ind (\lambda (k0: K).((csuba g c2 (CHead c k0 t)) \to ((drop (r
899 k0 n) O c (CHead d1 (Bind Abst) u)) \to (or (ex2 C (\lambda (d2: C).(drop (S
900 n) O c2 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2
901 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2 (Bind Void)
902 u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))))))) (\lambda (b:
903 B).(\lambda (H3: (csuba g c2 (CHead c (Bind b) t))).(\lambda (H4: (drop (r
904 (Bind b) n) O c (CHead d1 (Bind Abst) u))).(B_ind (\lambda (b0: B).((csuba g
905 c2 (CHead c (Bind b0) t)) \to ((drop (r (Bind b0) n) O c (CHead d1 (Bind
906 Abst) u)) \to (or (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind
907 Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2:
908 C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2 (Bind Void) u2)))) (\lambda
909 (d2: C).(\lambda (_: T).(csuba g d2 d1)))))))) (\lambda (H5: (csuba g c2
910 (CHead c (Bind Abbr) t))).(\lambda (H6: (drop (r (Bind Abbr) n) O c (CHead d1
911 (Bind Abst) u))).(let H_x \def (csuba_gen_abbr_rev g c c2 t H5) in (let H7
912 \def H_x in (or3_ind (ex2 C (\lambda (d2: C).(eq C c2 (CHead d2 (Bind Abbr)
913 t))) (\lambda (d2: C).(csuba g d2 c))) (ex4_3 C T A (\lambda (d2: C).(\lambda
914 (u2: T).(\lambda (_: A).(eq C c2 (CHead d2 (Bind Abst) u2))))) (\lambda (d2:
915 C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 c)))) (\lambda (d2:
916 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
917 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g c t a))))) (ex2_2 C T
918 (\lambda (d2: C).(\lambda (u2: T).(eq C c2 (CHead d2 (Bind Void) u2))))
919 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 c)))) (or (ex2 C (\lambda (d2:
920 C).(drop (S n) O c2 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2
921 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2
922 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))))
923 (\lambda (H8: (ex2 C (\lambda (d2: C).(eq C c2 (CHead d2 (Bind Abbr) t)))
924 (\lambda (d2: C).(csuba g d2 c)))).(ex2_ind C (\lambda (d2: C).(eq C c2
925 (CHead d2 (Bind Abbr) t))) (\lambda (d2: C).(csuba g d2 c)) (or (ex2 C
926 (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abst) u))) (\lambda (d2:
927 C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n)
928 O c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g
929 d2 d1))))) (\lambda (x: C).(\lambda (H9: (eq C c2 (CHead x (Bind Abbr)
930 t))).(\lambda (H10: (csuba g x c)).(eq_ind_r C (CHead x (Bind Abbr) t)
931 (\lambda (c0: C).(or (ex2 C (\lambda (d2: C).(drop (S n) O c0 (CHead d2 (Bind
932 Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2:
933 C).(\lambda (u2: T).(drop (S n) O c0 (CHead d2 (Bind Void) u2)))) (\lambda
934 (d2: C).(\lambda (_: T).(csuba g d2 d1)))))) (let H11 \def (H c d1 u H6 g x
935 H10) in (or_ind (ex2 C (\lambda (d2: C).(drop n O x (CHead d2 (Bind Abst)
936 u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda
937 (u2: T).(drop n O x (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda
938 (_: T).(csuba g d2 d1)))) (or (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x
939 (Bind Abbr) t) (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1)))
940 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x (Bind
941 Abbr) t) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba
942 g d2 d1))))) (\lambda (H12: (ex2 C (\lambda (d2: C).(drop n O x (CHead d2
943 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1)))).(ex2_ind C (\lambda (d2:
944 C).(drop n O x (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))
945 (or (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2
946 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2:
947 C).(\lambda (u2: T).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind
948 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda
949 (x0: C).(\lambda (H13: (drop n O x (CHead x0 (Bind Abst) u))).(\lambda (H14:
950 (csuba g x0 d1)).(or_introl (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x
951 (Bind Abbr) t) (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1)))
952 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x (Bind
953 Abbr) t) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba
954 g d2 d1)))) (ex_intro2 C (\lambda (d2: C).(drop (S n) O (CHead x (Bind Abbr)
955 t) (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1)) x0 (drop_drop
956 (Bind Abbr) n x (CHead x0 (Bind Abst) u) H13 t) H14))))) H12)) (\lambda (H12:
957 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop n O x (CHead d2 (Bind
958 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))).(ex2_2_ind
959 C T (\lambda (d2: C).(\lambda (u2: T).(drop n O x (CHead d2 (Bind Void)
960 u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) (or (ex2 C (\lambda
961 (d2: C).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Abst) u)))
962 (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
963 T).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Void) u2))))
964 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x0:
965 C).(\lambda (x1: T).(\lambda (H13: (drop n O x (CHead x0 (Bind Void)
966 x1))).(\lambda (H14: (csuba g x0 d1)).(or_intror (ex2 C (\lambda (d2:
967 C).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Abst) u))) (\lambda
968 (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop
969 (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Void) u2)))) (\lambda (d2:
970 C).(\lambda (_: T).(csuba g d2 d1)))) (ex2_2_intro C T (\lambda (d2:
971 C).(\lambda (u2: T).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind
972 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) x0 x1
973 (drop_drop (Bind Abbr) n x (CHead x0 (Bind Void) x1) H13 t) H14)))))) H12))
974 H11)) c2 H9)))) H8)) (\lambda (H8: (ex4_3 C T A (\lambda (d2: C).(\lambda
975 (u2: T).(\lambda (_: A).(eq C c2 (CHead d2 (Bind Abst) u2))))) (\lambda (d2:
976 C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 c)))) (\lambda (d2:
977 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
978 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g c t a)))))).(ex4_3_ind C T A
979 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(eq C c2 (CHead d2 (Bind
980 Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2
981 c)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc
982 g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g c t a))))
983 (or (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abst) u)))
984 (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
985 T).(drop (S n) O c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda
986 (_: T).(csuba g d2 d1))))) (\lambda (x0: C).(\lambda (x1: T).(\lambda (x2:
987 A).(\lambda (H9: (eq C c2 (CHead x0 (Bind Abst) x1))).(\lambda (H10: (csuba g
988 x0 c)).(\lambda (_: (arity g x0 x1 (asucc g x2))).(\lambda (_: (arity g c t
989 x2)).(eq_ind_r C (CHead x0 (Bind Abst) x1) (\lambda (c0: C).(or (ex2 C
990 (\lambda (d2: C).(drop (S n) O c0 (CHead d2 (Bind Abst) u))) (\lambda (d2:
991 C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n)
992 O c0 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g
993 d2 d1)))))) (let H13 \def (H c d1 u H6 g x0 H10) in (or_ind (ex2 C (\lambda
994 (d2: C).(drop n O x0 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2
995 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop n O x0 (CHead d2
996 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (or
997 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead d2
998 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2:
999 C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead d2 (Bind
1000 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda
1001 (H14: (ex2 C (\lambda (d2: C).(drop n O x0 (CHead d2 (Bind Abst) u)))
1002 (\lambda (d2: C).(csuba g d2 d1)))).(ex2_ind C (\lambda (d2: C).(drop n O x0
1003 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1)) (or (ex2 C
1004 (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead d2 (Bind
1005 Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2:
1006 C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead d2 (Bind
1007 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda
1008 (x: C).(\lambda (H15: (drop n O x0 (CHead x (Bind Abst) u))).(\lambda (H16:
1009 (csuba g x d1)).(or_introl (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0
1010 (Bind Abst) x1) (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1)))
1011 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind
1012 Abst) x1) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1013 T).(csuba g d2 d1)))) (ex_intro2 C (\lambda (d2: C).(drop (S n) O (CHead x0
1014 (Bind Abst) x1) (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))
1015 x (drop_drop (Bind Abst) n x0 (CHead x (Bind Abst) u) H15 x1) H16))))) H14))
1016 (\lambda (H14: (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop n O x0
1017 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1018 d1))))).(ex2_2_ind C T (\lambda (d2: C).(\lambda (u2: T).(drop n O x0 (CHead
1019 d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) (or
1020 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead d2
1021 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2:
1022 C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead d2 (Bind
1023 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda
1024 (x3: C).(\lambda (x4: T).(\lambda (H15: (drop n O x0 (CHead x3 (Bind Void)
1025 x4))).(\lambda (H16: (csuba g x3 d1)).(or_intror (ex2 C (\lambda (d2:
1026 C).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead d2 (Bind Abst) u)))
1027 (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1028 T).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead d2 (Bind Void) u2))))
1029 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (ex2_2_intro C T (\lambda
1030 (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead d2
1031 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) x3 x4
1032 (drop_drop (Bind Abst) n x0 (CHead x3 (Bind Void) x4) H15 x1) H16)))))) H14))
1033 H13)) c2 H9)))))))) H8)) (\lambda (H8: (ex2_2 C T (\lambda (d2: C).(\lambda
1034 (u2: T).(eq C c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1035 T).(csuba g d2 c))))).(ex2_2_ind C T (\lambda (d2: C).(\lambda (u2: T).(eq C
1036 c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1037 c))) (or (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abst) u)))
1038 (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1039 T).(drop (S n) O c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda
1040 (_: T).(csuba g d2 d1))))) (\lambda (x0: C).(\lambda (x1: T).(\lambda (H9:
1041 (eq C c2 (CHead x0 (Bind Void) x1))).(\lambda (H10: (csuba g x0 c)).(eq_ind_r
1042 C (CHead x0 (Bind Void) x1) (\lambda (c0: C).(or (ex2 C (\lambda (d2:
1043 C).(drop (S n) O c0 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2
1044 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c0 (CHead d2
1045 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))))) (let
1046 H11 \def (H c d1 u H6 g x0 H10) in (or_ind (ex2 C (\lambda (d2: C).(drop n O
1047 x0 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T
1048 (\lambda (d2: C).(\lambda (u2: T).(drop n O x0 (CHead d2 (Bind Void) u2))))
1049 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (or (ex2 C (\lambda (d2:
1050 C).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Abst) u)))
1051 (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1052 T).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Void) u2))))
1053 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (H12: (ex2 C
1054 (\lambda (d2: C).(drop n O x0 (CHead d2 (Bind Abst) u))) (\lambda (d2:
1055 C).(csuba g d2 d1)))).(ex2_ind C (\lambda (d2: C).(drop n O x0 (CHead d2
1056 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1)) (or (ex2 C (\lambda (d2:
1057 C).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Abst) u)))
1058 (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1059 T).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Void) u2))))
1060 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x: C).(\lambda
1061 (H13: (drop n O x0 (CHead x (Bind Abst) u))).(\lambda (H14: (csuba g x
1062 d1)).(or_introl (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Void)
1063 x1) (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T
1064 (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Void) x1)
1065 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1066 d1)))) (ex_intro2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Void) x1)
1067 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1)) x (drop_drop
1068 (Bind Void) n x0 (CHead x (Bind Abst) u) H13 x1) H14))))) H12)) (\lambda
1069 (H12: (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop n O x0 (CHead d2
1070 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1071 d1))))).(ex2_2_ind C T (\lambda (d2: C).(\lambda (u2: T).(drop n O x0 (CHead
1072 d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) (or
1073 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2
1074 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2:
1075 C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind
1076 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda
1077 (x2: C).(\lambda (x3: T).(\lambda (H13: (drop n O x0 (CHead x2 (Bind Void)
1078 x3))).(\lambda (H14: (csuba g x2 d1)).(or_intror (ex2 C (\lambda (d2:
1079 C).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Abst) u)))
1080 (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1081 T).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Void) u2))))
1082 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (ex2_2_intro C T (\lambda
1083 (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2
1084 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) x2 x3
1085 (drop_drop (Bind Void) n x0 (CHead x2 (Bind Void) x3) H13 x1) H14)))))) H12))
1086 H11)) c2 H9))))) H8)) H7))))) (\lambda (H5: (csuba g c2 (CHead c (Bind Abst)
1087 t))).(\lambda (H6: (drop (r (Bind Abst) n) O c (CHead d1 (Bind Abst)
1088 u))).(let H_x \def (csuba_gen_abst_rev g c c2 t H5) in (let H7 \def H_x in
1089 (or_ind (ex2 C (\lambda (d2: C).(eq C c2 (CHead d2 (Bind Abst) t))) (\lambda
1090 (d2: C).(csuba g d2 c))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(eq C
1091 c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1092 c)))) (or (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abst) u)))
1093 (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1094 T).(drop (S n) O c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda
1095 (_: T).(csuba g d2 d1))))) (\lambda (H8: (ex2 C (\lambda (d2: C).(eq C c2
1096 (CHead d2 (Bind Abst) t))) (\lambda (d2: C).(csuba g d2 c)))).(ex2_ind C
1097 (\lambda (d2: C).(eq C c2 (CHead d2 (Bind Abst) t))) (\lambda (d2: C).(csuba
1098 g d2 c)) (or (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abst)
1099 u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda
1100 (u2: T).(drop (S n) O c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2:
1101 C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x: C).(\lambda (H9: (eq C c2
1102 (CHead x (Bind Abst) t))).(\lambda (H10: (csuba g x c)).(eq_ind_r C (CHead x
1103 (Bind Abst) t) (\lambda (c0: C).(or (ex2 C (\lambda (d2: C).(drop (S n) O c0
1104 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T
1105 (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c0 (CHead d2 (Bind Void)
1106 u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))))) (let H11 \def (H
1107 c d1 u H6 g x H10) in (or_ind (ex2 C (\lambda (d2: C).(drop n O x (CHead d2
1108 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2:
1109 C).(\lambda (u2: T).(drop n O x (CHead d2 (Bind Void) u2)))) (\lambda (d2:
1110 C).(\lambda (_: T).(csuba g d2 d1)))) (or (ex2 C (\lambda (d2: C).(drop (S n)
1111 O (CHead x (Bind Abst) t) (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba
1112 g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead
1113 x (Bind Abst) t) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1114 T).(csuba g d2 d1))))) (\lambda (H12: (ex2 C (\lambda (d2: C).(drop n O x
1115 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1)))).(ex2_ind C
1116 (\lambda (d2: C).(drop n O x (CHead d2 (Bind Abst) u))) (\lambda (d2:
1117 C).(csuba g d2 d1)) (or (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x (Bind
1118 Abst) t) (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2
1119 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x (Bind Abst) t)
1120 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1121 d1))))) (\lambda (x0: C).(\lambda (H13: (drop n O x (CHead x0 (Bind Abst)
1122 u))).(\lambda (H14: (csuba g x0 d1)).(or_introl (ex2 C (\lambda (d2: C).(drop
1123 (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Abst) u))) (\lambda (d2:
1124 C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n)
1125 O (CHead x (Bind Abst) t) (CHead d2 (Bind Void) u2)))) (\lambda (d2:
1126 C).(\lambda (_: T).(csuba g d2 d1)))) (ex_intro2 C (\lambda (d2: C).(drop (S
1127 n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Abst) u))) (\lambda (d2:
1128 C).(csuba g d2 d1)) x0 (drop_drop (Bind Abst) n x (CHead x0 (Bind Abst) u)
1129 H13 t) H14))))) H12)) (\lambda (H12: (ex2_2 C T (\lambda (d2: C).(\lambda
1130 (u2: T).(drop n O x (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda
1131 (_: T).(csuba g d2 d1))))).(ex2_2_ind C T (\lambda (d2: C).(\lambda (u2:
1132 T).(drop n O x (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1133 T).(csuba g d2 d1))) (or (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x (Bind
1134 Abst) t) (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2
1135 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x (Bind Abst) t)
1136 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1137 d1))))) (\lambda (x0: C).(\lambda (x1: T).(\lambda (H13: (drop n O x (CHead
1138 x0 (Bind Void) x1))).(\lambda (H14: (csuba g x0 d1)).(or_intror (ex2 C
1139 (\lambda (d2: C).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Abst)
1140 u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda
1141 (u2: T).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Void) u2))))
1142 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (ex2_2_intro C T (\lambda
1143 (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2
1144 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) x0 x1
1145 (drop_drop (Bind Abst) n x (CHead x0 (Bind Void) x1) H13 t) H14)))))) H12))
1146 H11)) c2 H9)))) H8)) (\lambda (H8: (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1147 T).(eq C c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1148 T).(csuba g d2 c))))).(ex2_2_ind C T (\lambda (d2: C).(\lambda (u2: T).(eq C
1149 c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1150 c))) (or (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abst) u)))
1151 (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1152 T).(drop (S n) O c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda
1153 (_: T).(csuba g d2 d1))))) (\lambda (x0: C).(\lambda (x1: T).(\lambda (H9:
1154 (eq C c2 (CHead x0 (Bind Void) x1))).(\lambda (H10: (csuba g x0 c)).(eq_ind_r
1155 C (CHead x0 (Bind Void) x1) (\lambda (c0: C).(or (ex2 C (\lambda (d2:
1156 C).(drop (S n) O c0 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2
1157 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c0 (CHead d2
1158 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))))) (let
1159 H11 \def (H c d1 u H6 g x0 H10) in (or_ind (ex2 C (\lambda (d2: C).(drop n O
1160 x0 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T
1161 (\lambda (d2: C).(\lambda (u2: T).(drop n O x0 (CHead d2 (Bind Void) u2))))
1162 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (or (ex2 C (\lambda (d2:
1163 C).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Abst) u)))
1164 (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1165 T).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Void) u2))))
1166 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (H12: (ex2 C
1167 (\lambda (d2: C).(drop n O x0 (CHead d2 (Bind Abst) u))) (\lambda (d2:
1168 C).(csuba g d2 d1)))).(ex2_ind C (\lambda (d2: C).(drop n O x0 (CHead d2
1169 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1)) (or (ex2 C (\lambda (d2:
1170 C).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Abst) u)))
1171 (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1172 T).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Void) u2))))
1173 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x: C).(\lambda
1174 (H13: (drop n O x0 (CHead x (Bind Abst) u))).(\lambda (H14: (csuba g x
1175 d1)).(or_introl (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Void)
1176 x1) (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T
1177 (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Void) x1)
1178 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1179 d1)))) (ex_intro2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Void) x1)
1180 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1)) x (drop_drop
1181 (Bind Void) n x0 (CHead x (Bind Abst) u) H13 x1) H14))))) H12)) (\lambda
1182 (H12: (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop n O x0 (CHead d2
1183 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1184 d1))))).(ex2_2_ind C T (\lambda (d2: C).(\lambda (u2: T).(drop n O x0 (CHead
1185 d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) (or
1186 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2
1187 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2:
1188 C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind
1189 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda
1190 (x2: C).(\lambda (x3: T).(\lambda (H13: (drop n O x0 (CHead x2 (Bind Void)
1191 x3))).(\lambda (H14: (csuba g x2 d1)).(or_intror (ex2 C (\lambda (d2:
1192 C).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Abst) u)))
1193 (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1194 T).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Void) u2))))
1195 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (ex2_2_intro C T (\lambda
1196 (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2
1197 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) x2 x3
1198 (drop_drop (Bind Void) n x0 (CHead x2 (Bind Void) x3) H13 x1) H14)))))) H12))
1199 H11)) c2 H9))))) H8)) H7))))) (\lambda (H5: (csuba g c2 (CHead c (Bind Void)
1200 t))).(\lambda (H6: (drop (r (Bind Void) n) O c (CHead d1 (Bind Abst)
1201 u))).(let H_x \def (csuba_gen_void_rev g c c2 t H5) in (let H7 \def H_x in
1202 (ex2_ind C (\lambda (d2: C).(eq C c2 (CHead d2 (Bind Void) t))) (\lambda (d2:
1203 C).(csuba g d2 c)) (or (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2
1204 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2:
1205 C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2 (Bind Void) u2)))) (\lambda
1206 (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x: C).(\lambda (H8: (eq
1207 C c2 (CHead x (Bind Void) t))).(\lambda (H9: (csuba g x c)).(eq_ind_r C
1208 (CHead x (Bind Void) t) (\lambda (c0: C).(or (ex2 C (\lambda (d2: C).(drop (S
1209 n) O c0 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2
1210 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c0 (CHead d2 (Bind Void)
1211 u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))))) (let H10 \def (H
1212 c d1 u H6 g x H9) in (or_ind (ex2 C (\lambda (d2: C).(drop n O x (CHead d2
1213 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2:
1214 C).(\lambda (u2: T).(drop n O x (CHead d2 (Bind Void) u2)))) (\lambda (d2:
1215 C).(\lambda (_: T).(csuba g d2 d1)))) (or (ex2 C (\lambda (d2: C).(drop (S n)
1216 O (CHead x (Bind Void) t) (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba
1217 g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead
1218 x (Bind Void) t) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1219 T).(csuba g d2 d1))))) (\lambda (H11: (ex2 C (\lambda (d2: C).(drop n O x
1220 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1)))).(ex2_ind C
1221 (\lambda (d2: C).(drop n O x (CHead d2 (Bind Abst) u))) (\lambda (d2:
1222 C).(csuba g d2 d1)) (or (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x (Bind
1223 Void) t) (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2
1224 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x (Bind Void) t)
1225 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1226 d1))))) (\lambda (x0: C).(\lambda (H12: (drop n O x (CHead x0 (Bind Abst)
1227 u))).(\lambda (H13: (csuba g x0 d1)).(or_introl (ex2 C (\lambda (d2: C).(drop
1228 (S n) O (CHead x (Bind Void) t) (CHead d2 (Bind Abst) u))) (\lambda (d2:
1229 C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n)
1230 O (CHead x (Bind Void) t) (CHead d2 (Bind Void) u2)))) (\lambda (d2:
1231 C).(\lambda (_: T).(csuba g d2 d1)))) (ex_intro2 C (\lambda (d2: C).(drop (S
1232 n) O (CHead x (Bind Void) t) (CHead d2 (Bind Abst) u))) (\lambda (d2:
1233 C).(csuba g d2 d1)) x0 (drop_drop (Bind Void) n x (CHead x0 (Bind Abst) u)
1234 H12 t) H13))))) H11)) (\lambda (H11: (ex2_2 C T (\lambda (d2: C).(\lambda
1235 (u2: T).(drop n O x (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda
1236 (_: T).(csuba g d2 d1))))).(ex2_2_ind C T (\lambda (d2: C).(\lambda (u2:
1237 T).(drop n O x (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1238 T).(csuba g d2 d1))) (or (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x (Bind
1239 Void) t) (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2
1240 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x (Bind Void) t)
1241 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1242 d1))))) (\lambda (x0: C).(\lambda (x1: T).(\lambda (H12: (drop n O x (CHead
1243 x0 (Bind Void) x1))).(\lambda (H13: (csuba g x0 d1)).(or_intror (ex2 C
1244 (\lambda (d2: C).(drop (S n) O (CHead x (Bind Void) t) (CHead d2 (Bind Abst)
1245 u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda
1246 (u2: T).(drop (S n) O (CHead x (Bind Void) t) (CHead d2 (Bind Void) u2))))
1247 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (ex2_2_intro C T (\lambda
1248 (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x (Bind Void) t) (CHead d2
1249 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) x0 x1
1250 (drop_drop (Bind Void) n x (CHead x0 (Bind Void) x1) H12 t) H13)))))) H11))
1251 H10)) c2 H8)))) H7))))) b H3 H4)))) (\lambda (f: F).(\lambda (H3: (csuba g c2
1252 (CHead c (Flat f) t))).(\lambda (H4: (drop (r (Flat f) n) O c (CHead d1 (Bind
1253 Abst) u))).(let H_x \def (csuba_gen_flat_rev g c c2 t f H3) in (let H5 \def
1254 H_x in (ex2_2_ind C T (\lambda (d2: C).(\lambda (u2: T).(eq C c2 (CHead d2
1255 (Flat f) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 c))) (or (ex2 C
1256 (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abst) u))) (\lambda (d2:
1257 C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n)
1258 O c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g
1259 d2 d1))))) (\lambda (x0: C).(\lambda (x1: T).(\lambda (H6: (eq C c2 (CHead x0
1260 (Flat f) x1))).(\lambda (H7: (csuba g x0 c)).(eq_ind_r C (CHead x0 (Flat f)
1261 x1) (\lambda (c0: C).(or (ex2 C (\lambda (d2: C).(drop (S n) O c0 (CHead d2
1262 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2:
1263 C).(\lambda (u2: T).(drop (S n) O c0 (CHead d2 (Bind Void) u2)))) (\lambda
1264 (d2: C).(\lambda (_: T).(csuba g d2 d1)))))) (let H8 \def (H0 d1 u H4 g x0
1265 H7) in (or_ind (ex2 C (\lambda (d2: C).(drop (S n) O x0 (CHead d2 (Bind Abst)
1266 u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda
1267 (u2: T).(drop (S n) O x0 (CHead d2 (Bind Void) u2)))) (\lambda (d2:
1268 C).(\lambda (_: T).(csuba g d2 d1)))) (or (ex2 C (\lambda (d2: C).(drop (S n)
1269 O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g
1270 d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0
1271 (Flat f) x1) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1272 T).(csuba g d2 d1))))) (\lambda (H9: (ex2 C (\lambda (d2: C).(drop (S n) O x0
1273 (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1)))).(ex2_ind C
1274 (\lambda (d2: C).(drop (S n) O x0 (CHead d2 (Bind Abst) u))) (\lambda (d2:
1275 C).(csuba g d2 d1)) (or (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Flat
1276 f) x1) (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C
1277 T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Flat f) x1)
1278 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1279 d1))))) (\lambda (x: C).(\lambda (H10: (drop (S n) O x0 (CHead x (Bind Abst)
1280 u))).(\lambda (H11: (csuba g x d1)).(or_introl (ex2 C (\lambda (d2: C).(drop
1281 (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abst) u))) (\lambda (d2:
1282 C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n)
1283 O (CHead x0 (Flat f) x1) (CHead d2 (Bind Void) u2)))) (\lambda (d2:
1284 C).(\lambda (_: T).(csuba g d2 d1)))) (ex_intro2 C (\lambda (d2: C).(drop (S
1285 n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abst) u))) (\lambda (d2:
1286 C).(csuba g d2 d1)) x (drop_drop (Flat f) n x0 (CHead x (Bind Abst) u) H10
1287 x1) H11))))) H9)) (\lambda (H9: (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1288 T).(drop (S n) O x0 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda
1289 (_: T).(csuba g d2 d1))))).(ex2_2_ind C T (\lambda (d2: C).(\lambda (u2:
1290 T).(drop (S n) O x0 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda
1291 (_: T).(csuba g d2 d1))) (or (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0
1292 (Flat f) x1) (CHead d2 (Bind Abst) u))) (\lambda (d2: C).(csuba g d2 d1)))
1293 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Flat f)
1294 x1) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1295 d1))))) (\lambda (x2: C).(\lambda (x3: T).(\lambda (H10: (drop (S n) O x0
1296 (CHead x2 (Bind Void) x3))).(\lambda (H11: (csuba g x2 d1)).(or_intror (ex2 C
1297 (\lambda (d2: C).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abst)
1298 u))) (\lambda (d2: C).(csuba g d2 d1))) (ex2_2 C T (\lambda (d2: C).(\lambda
1299 (u2: T).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Void) u2))))
1300 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (ex2_2_intro C T (\lambda
1301 (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind
1302 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) x2 x3
1303 (drop_drop (Flat f) n x0 (CHead x2 (Bind Void) x3) H10 x1) H11)))))) H9))
1304 H8)) c2 H6))))) H5)))))) k H2 (drop_gen_drop k c (CHead d1 (Bind Abst) u) t n
1305 H1)))))))))))) c1)))) i).
1307 lemma csuba_drop_abbr_rev:
1308 \forall (i: nat).(\forall (c1: C).(\forall (d1: C).(\forall (u1: T).((drop i
1309 O c1 (CHead d1 (Bind Abbr) u1)) \to (\forall (g: G).(\forall (c2: C).((csuba
1310 g c2 c1) \to (or3 (ex2 C (\lambda (d2: C).(drop i O c2 (CHead d2 (Bind Abbr)
1311 u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2:
1312 C).(\lambda (u2: T).(\lambda (_: A).(drop i O c2 (CHead d2 (Bind Abst)
1313 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1))))
1314 (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g
1315 a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a)))))
1316 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop i O c2 (CHead d2 (Bind
1317 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))))))))))
1319 \lambda (i: nat).(nat_ind (\lambda (n: nat).(\forall (c1: C).(\forall (d1:
1320 C).(\forall (u1: T).((drop n O c1 (CHead d1 (Bind Abbr) u1)) \to (\forall (g:
1321 G).(\forall (c2: C).((csuba g c2 c1) \to (or3 (ex2 C (\lambda (d2: C).(drop n
1322 O c2 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C
1323 T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop n O c2 (CHead d2
1324 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g
1325 d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
1326 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
1327 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop n O c2 (CHead d2
1328 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1329 d1))))))))))))) (\lambda (c1: C).(\lambda (d1: C).(\lambda (u1: T).(\lambda
1330 (H: (drop O O c1 (CHead d1 (Bind Abbr) u1))).(\lambda (g: G).(\lambda (c2:
1331 C).(\lambda (H0: (csuba g c2 c1)).(let H1 \def (eq_ind C c1 (\lambda (c:
1332 C).(csuba g c2 c)) H0 (CHead d1 (Bind Abbr) u1) (drop_gen_refl c1 (CHead d1
1333 (Bind Abbr) u1) H)) in (let H_x \def (csuba_gen_abbr_rev g d1 c2 u1 H1) in
1334 (let H2 \def H_x in (or3_ind (ex2 C (\lambda (d2: C).(eq C c2 (CHead d2 (Bind
1335 Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2:
1336 C).(\lambda (u2: T).(\lambda (_: A).(eq C c2 (CHead d2 (Bind Abst) u2)))))
1337 (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda
1338 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a)))))
1339 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2
1340 C T (\lambda (d2: C).(\lambda (u2: T).(eq C c2 (CHead d2 (Bind Void) u2))))
1341 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (or3 (ex2 C (\lambda (d2:
1342 C).(drop O O c2 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2
1343 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop O
1344 O c2 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda
1345 (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
1346 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
1347 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1348 T).(drop O O c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1349 T).(csuba g d2 d1))))) (\lambda (H3: (ex2 C (\lambda (d2: C).(eq C c2 (CHead
1350 d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)))).(ex2_ind C (\lambda
1351 (d2: C).(eq C c2 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2
1352 d1)) (or3 (ex2 C (\lambda (d2: C).(drop O O c2 (CHead d2 (Bind Abbr) u1)))
1353 (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda
1354 (u2: T).(\lambda (_: A).(drop O O c2 (CHead d2 (Bind Abst) u2))))) (\lambda
1355 (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2:
1356 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
1357 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T
1358 (\lambda (d2: C).(\lambda (u2: T).(drop O O c2 (CHead d2 (Bind Void) u2))))
1359 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x: C).(\lambda
1360 (H4: (eq C c2 (CHead x (Bind Abbr) u1))).(\lambda (H5: (csuba g x
1361 d1)).(eq_ind_r C (CHead x (Bind Abbr) u1) (\lambda (c: C).(or3 (ex2 C
1362 (\lambda (d2: C).(drop O O c (CHead d2 (Bind Abbr) u1))) (\lambda (d2:
1363 C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda
1364 (_: A).(drop O O c (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda
1365 (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
1366 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
1367 (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2:
1368 C).(\lambda (u2: T).(drop O O c (CHead d2 (Bind Void) u2)))) (\lambda (d2:
1369 C).(\lambda (_: T).(csuba g d2 d1)))))) (or3_intro0 (ex2 C (\lambda (d2:
1370 C).(drop O O (CHead x (Bind Abbr) u1) (CHead d2 (Bind Abbr) u1))) (\lambda
1371 (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2:
1372 T).(\lambda (_: A).(drop O O (CHead x (Bind Abbr) u1) (CHead d2 (Bind Abst)
1373 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1))))
1374 (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g
1375 a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a)))))
1376 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop O O (CHead x (Bind Abbr)
1377 u1) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1378 d1)))) (ex_intro2 C (\lambda (d2: C).(drop O O (CHead x (Bind Abbr) u1)
1379 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)) x (drop_refl
1380 (CHead x (Bind Abbr) u1)) H5)) c2 H4)))) H3)) (\lambda (H3: (ex4_3 C T A
1381 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(eq C c2 (CHead d2 (Bind
1382 Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2
1383 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
1384 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
1385 u1 a)))))).(ex4_3_ind C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
1386 A).(eq C c2 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_:
1387 T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
1388 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
1389 (_: T).(\lambda (a: A).(arity g d1 u1 a)))) (or3 (ex2 C (\lambda (d2:
1390 C).(drop O O c2 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2
1391 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop O
1392 O c2 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda
1393 (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
1394 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
1395 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1396 T).(drop O O c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1397 T).(csuba g d2 d1))))) (\lambda (x0: C).(\lambda (x1: T).(\lambda (x2:
1398 A).(\lambda (H4: (eq C c2 (CHead x0 (Bind Abst) x1))).(\lambda (H5: (csuba g
1399 x0 d1)).(\lambda (H6: (arity g x0 x1 (asucc g x2))).(\lambda (H7: (arity g d1
1400 u1 x2)).(eq_ind_r C (CHead x0 (Bind Abst) x1) (\lambda (c: C).(or3 (ex2 C
1401 (\lambda (d2: C).(drop O O c (CHead d2 (Bind Abbr) u1))) (\lambda (d2:
1402 C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda
1403 (_: A).(drop O O c (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda
1404 (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
1405 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
1406 (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2:
1407 C).(\lambda (u2: T).(drop O O c (CHead d2 (Bind Void) u2)))) (\lambda (d2:
1408 C).(\lambda (_: T).(csuba g d2 d1)))))) (or3_intro1 (ex2 C (\lambda (d2:
1409 C).(drop O O (CHead x0 (Bind Abst) x1) (CHead d2 (Bind Abbr) u1))) (\lambda
1410 (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2:
1411 T).(\lambda (_: A).(drop O O (CHead x0 (Bind Abst) x1) (CHead d2 (Bind Abst)
1412 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1))))
1413 (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g
1414 a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a)))))
1415 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop O O (CHead x0 (Bind Abst)
1416 x1) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1417 d1)))) (ex4_3_intro C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
1418 A).(drop O O (CHead x0 (Bind Abst) x1) (CHead d2 (Bind Abst) u2))))) (\lambda
1419 (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2:
1420 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
1421 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a)))) x0 x1 x2
1422 (drop_refl (CHead x0 (Bind Abst) x1)) H5 H6 H7)) c2 H4)))))))) H3)) (\lambda
1423 (H3: (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(eq C c2 (CHead d2 (Bind
1424 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))).(ex2_2_ind
1425 C T (\lambda (d2: C).(\lambda (u2: T).(eq C c2 (CHead d2 (Bind Void) u2))))
1426 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) (or3 (ex2 C (\lambda (d2:
1427 C).(drop O O c2 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2
1428 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop O
1429 O c2 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda
1430 (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
1431 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
1432 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1433 T).(drop O O c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1434 T).(csuba g d2 d1))))) (\lambda (x0: C).(\lambda (x1: T).(\lambda (H4: (eq C
1435 c2 (CHead x0 (Bind Void) x1))).(\lambda (H5: (csuba g x0 d1)).(eq_ind_r C
1436 (CHead x0 (Bind Void) x1) (\lambda (c: C).(or3 (ex2 C (\lambda (d2: C).(drop
1437 O O c (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C
1438 T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop O O c (CHead d2
1439 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g
1440 d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
1441 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
1442 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop O O c (CHead d2
1443 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))))
1444 (or3_intro2 (ex2 C (\lambda (d2: C).(drop O O (CHead x0 (Bind Void) x1)
1445 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A
1446 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop O O (CHead x0 (Bind
1447 Void) x1) (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_:
1448 T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
1449 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
1450 (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2:
1451 C).(\lambda (u2: T).(drop O O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Void)
1452 u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (ex2_2_intro C T
1453 (\lambda (d2: C).(\lambda (u2: T).(drop O O (CHead x0 (Bind Void) x1) (CHead
1454 d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) x0
1455 x1 (drop_refl (CHead x0 (Bind Void) x1)) H5)) c2 H4))))) H3)) H2)))))))))))
1456 (\lambda (n: nat).(\lambda (H: ((\forall (c1: C).(\forall (d1: C).(\forall
1457 (u1: T).((drop n O c1 (CHead d1 (Bind Abbr) u1)) \to (\forall (g: G).(\forall
1458 (c2: C).((csuba g c2 c1) \to (or3 (ex2 C (\lambda (d2: C).(drop n O c2 (CHead
1459 d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda
1460 (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop n O c2 (CHead d2 (Bind Abst)
1461 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1))))
1462 (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g
1463 a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a)))))
1464 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop n O c2 (CHead d2 (Bind
1465 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1466 d1)))))))))))))).(\lambda (c1: C).(C_ind (\lambda (c: C).(\forall (d1:
1467 C).(\forall (u1: T).((drop (S n) O c (CHead d1 (Bind Abbr) u1)) \to (\forall
1468 (g: G).(\forall (c2: C).((csuba g c2 c) \to (or3 (ex2 C (\lambda (d2:
1469 C).(drop (S n) O c2 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2
1470 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S
1471 n) O c2 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_:
1472 T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
1473 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
1474 (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2:
1475 C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2 (Bind Void) u2)))) (\lambda
1476 (d2: C).(\lambda (_: T).(csuba g d2 d1)))))))))))) (\lambda (n0:
1477 nat).(\lambda (d1: C).(\lambda (u1: T).(\lambda (H0: (drop (S n) O (CSort n0)
1478 (CHead d1 (Bind Abbr) u1))).(\lambda (g: G).(\lambda (c2: C).(\lambda (_:
1479 (csuba g c2 (CSort n0))).(and3_ind (eq C (CHead d1 (Bind Abbr) u1) (CSort
1480 n0)) (eq nat (S n) O) (eq nat O O) (or3 (ex2 C (\lambda (d2: C).(drop (S n) O
1481 c2 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T
1482 A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O c2 (CHead
1483 d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
1484 A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
1485 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
1486 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1487 T).(drop (S n) O c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda
1488 (_: T).(csuba g d2 d1))))) (\lambda (_: (eq C (CHead d1 (Bind Abbr) u1)
1489 (CSort n0))).(\lambda (H3: (eq nat (S n) O)).(\lambda (_: (eq nat O O)).(let
1490 H5 \def (eq_ind nat (S n) (\lambda (ee: nat).(match ee with [O \Rightarrow
1491 False | (S _) \Rightarrow True])) I O H3) in (False_ind (or3 (ex2 C (\lambda
1492 (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba
1493 g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
1494 A).(drop (S n) O c2 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda
1495 (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
1496 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
1497 (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2:
1498 C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2 (Bind Void) u2)))) (\lambda
1499 (d2: C).(\lambda (_: T).(csuba g d2 d1))))) H5))))) (drop_gen_sort n0 (S n) O
1500 (CHead d1 (Bind Abbr) u1) H0))))))))) (\lambda (c: C).(\lambda (H0: ((\forall
1501 (d1: C).(\forall (u1: T).((drop (S n) O c (CHead d1 (Bind Abbr) u1)) \to
1502 (\forall (g: G).(\forall (c2: C).((csuba g c2 c) \to (or3 (ex2 C (\lambda
1503 (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba
1504 g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
1505 A).(drop (S n) O c2 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda
1506 (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
1507 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
1508 (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2:
1509 C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2 (Bind Void) u2)))) (\lambda
1510 (d2: C).(\lambda (_: T).(csuba g d2 d1))))))))))))).(\lambda (k: K).(\lambda
1511 (t: T).(\lambda (d1: C).(\lambda (u1: T).(\lambda (H1: (drop (S n) O (CHead c
1512 k t) (CHead d1 (Bind Abbr) u1))).(\lambda (g: G).(\lambda (c2: C).(\lambda
1513 (H2: (csuba g c2 (CHead c k t))).(K_ind (\lambda (k0: K).((csuba g c2 (CHead
1514 c k0 t)) \to ((drop (r k0 n) O c (CHead d1 (Bind Abbr) u1)) \to (or3 (ex2 C
1515 (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abbr) u1))) (\lambda (d2:
1516 C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda
1517 (_: A).(drop (S n) O c2 (CHead d2 (Bind Abst) u2))))) (\lambda (d2:
1518 C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2:
1519 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
1520 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T
1521 (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2 (Bind Void)
1522 u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))))))) (\lambda (b:
1523 B).(\lambda (H3: (csuba g c2 (CHead c (Bind b) t))).(\lambda (H4: (drop (r
1524 (Bind b) n) O c (CHead d1 (Bind Abbr) u1))).(B_ind (\lambda (b0: B).((csuba g
1525 c2 (CHead c (Bind b0) t)) \to ((drop (r (Bind b0) n) O c (CHead d1 (Bind
1526 Abbr) u1)) \to (or3 (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind
1527 Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2:
1528 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O c2 (CHead d2 (Bind Abst)
1529 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1))))
1530 (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g
1531 a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a)))))
1532 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2 (Bind
1533 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))))))) (\lambda
1534 (H5: (csuba g c2 (CHead c (Bind Abbr) t))).(\lambda (H6: (drop (r (Bind Abbr)
1535 n) O c (CHead d1 (Bind Abbr) u1))).(let H_x \def (csuba_gen_abbr_rev g c c2 t
1536 H5) in (let H7 \def H_x in (or3_ind (ex2 C (\lambda (d2: C).(eq C c2 (CHead
1537 d2 (Bind Abbr) t))) (\lambda (d2: C).(csuba g d2 c))) (ex4_3 C T A (\lambda
1538 (d2: C).(\lambda (u2: T).(\lambda (_: A).(eq C c2 (CHead d2 (Bind Abst)
1539 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 c))))
1540 (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g
1541 a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g c t a)))))
1542 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(eq C c2 (CHead d2 (Bind Void)
1543 u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 c)))) (or3 (ex2 C
1544 (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abbr) u1))) (\lambda (d2:
1545 C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda
1546 (_: A).(drop (S n) O c2 (CHead d2 (Bind Abst) u2))))) (\lambda (d2:
1547 C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2:
1548 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
1549 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T
1550 (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2 (Bind Void)
1551 u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (H8:
1552 (ex2 C (\lambda (d2: C).(eq C c2 (CHead d2 (Bind Abbr) t))) (\lambda (d2:
1553 C).(csuba g d2 c)))).(ex2_ind C (\lambda (d2: C).(eq C c2 (CHead d2 (Bind
1554 Abbr) t))) (\lambda (d2: C).(csuba g d2 c)) (or3 (ex2 C (\lambda (d2:
1555 C).(drop (S n) O c2 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2
1556 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S
1557 n) O c2 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_:
1558 T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
1559 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
1560 (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2:
1561 C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2 (Bind Void) u2)))) (\lambda
1562 (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x: C).(\lambda (H9: (eq
1563 C c2 (CHead x (Bind Abbr) t))).(\lambda (H10: (csuba g x c)).(eq_ind_r C
1564 (CHead x (Bind Abbr) t) (\lambda (c0: C).(or3 (ex2 C (\lambda (d2: C).(drop
1565 (S n) O c0 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)))
1566 (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O
1567 c0 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda
1568 (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
1569 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
1570 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1571 T).(drop (S n) O c0 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda
1572 (_: T).(csuba g d2 d1)))))) (let H11 \def (H c d1 u1 H6 g x H10) in (or3_ind
1573 (ex2 C (\lambda (d2: C).(drop n O x (CHead d2 (Bind Abbr) u1))) (\lambda (d2:
1574 C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda
1575 (_: A).(drop n O x (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda
1576 (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
1577 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
1578 (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2:
1579 C).(\lambda (u2: T).(drop n O x (CHead d2 (Bind Void) u2)))) (\lambda (d2:
1580 C).(\lambda (_: T).(csuba g d2 d1)))) (or3 (ex2 C (\lambda (d2: C).(drop (S
1581 n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Abbr) u1))) (\lambda (d2:
1582 C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda
1583 (_: A).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Abst) u2)))))
1584 (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda
1585 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a)))))
1586 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2
1587 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x (Bind Abbr) t)
1588 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1589 d1))))) (\lambda (H12: (ex2 C (\lambda (d2: C).(drop n O x (CHead d2 (Bind
1590 Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)))).(ex2_ind C (\lambda (d2:
1591 C).(drop n O x (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))
1592 (or3 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2
1593 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda
1594 (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Abbr)
1595 t) (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda
1596 (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
1597 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
1598 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1599 T).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Void) u2))))
1600 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x0:
1601 C).(\lambda (H13: (drop n O x (CHead x0 (Bind Abbr) u1))).(\lambda (H14:
1602 (csuba g x0 d1)).(or3_intro0 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x
1603 (Bind Abbr) t) (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)))
1604 (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O
1605 (CHead x (Bind Abbr) t) (CHead d2 (Bind Abst) u2))))) (\lambda (d2:
1606 C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2:
1607 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
1608 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T
1609 (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x (Bind Abbr) t)
1610 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1611 d1)))) (ex_intro2 C (\lambda (d2: C).(drop (S n) O (CHead x (Bind Abbr) t)
1612 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)) x0 (drop_drop
1613 (Bind Abbr) n x (CHead x0 (Bind Abbr) u1) H13 t) H14))))) H12)) (\lambda
1614 (H12: (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop n
1615 O x (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda
1616 (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
1617 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
1618 (a: A).(arity g d1 u1 a)))))).(ex4_3_ind C T A (\lambda (d2: C).(\lambda (u2:
1619 T).(\lambda (_: A).(drop n O x (CHead d2 (Bind Abst) u2))))) (\lambda (d2:
1620 C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2:
1621 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
1622 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a)))) (or3 (ex2 C
1623 (\lambda (d2: C).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Abbr)
1624 u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2:
1625 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Abbr) t)
1626 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
1627 A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
1628 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
1629 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1630 T).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Void) u2))))
1631 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x0:
1632 C).(\lambda (x1: T).(\lambda (x2: A).(\lambda (H13: (drop n O x (CHead x0
1633 (Bind Abst) x1))).(\lambda (H14: (csuba g x0 d1)).(\lambda (H15: (arity g x0
1634 x1 (asucc g x2))).(\lambda (H16: (arity g d1 u1 x2)).(or3_intro1 (ex2 C
1635 (\lambda (d2: C).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Abbr)
1636 u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2:
1637 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Abbr) t)
1638 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
1639 A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
1640 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
1641 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1642 T).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Void) u2))))
1643 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (ex4_3_intro C T A
1644 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x
1645 (Bind Abbr) t) (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_:
1646 T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
1647 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
1648 (_: T).(\lambda (a: A).(arity g d1 u1 a)))) x0 x1 x2 (drop_drop (Bind Abbr) n
1649 x (CHead x0 (Bind Abst) x1) H13 t) H14 H15 H16))))))))) H12)) (\lambda (H12:
1650 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop n O x (CHead d2 (Bind
1651 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))).(ex2_2_ind
1652 C T (\lambda (d2: C).(\lambda (u2: T).(drop n O x (CHead d2 (Bind Void)
1653 u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) (or3 (ex2 C
1654 (\lambda (d2: C).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Abbr)
1655 u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2:
1656 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Abbr) t)
1657 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
1658 A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
1659 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
1660 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1661 T).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Void) u2))))
1662 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x0:
1663 C).(\lambda (x1: T).(\lambda (H13: (drop n O x (CHead x0 (Bind Void)
1664 x1))).(\lambda (H14: (csuba g x0 d1)).(or3_intro2 (ex2 C (\lambda (d2:
1665 C).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Abbr) u1))) (\lambda
1666 (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2:
1667 T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind
1668 Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2
1669 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
1670 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
1671 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x
1672 (Bind Abbr) t) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1673 T).(csuba g d2 d1)))) (ex2_2_intro C T (\lambda (d2: C).(\lambda (u2:
1674 T).(drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Void) u2))))
1675 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) x0 x1 (drop_drop (Bind
1676 Abbr) n x (CHead x0 (Bind Void) x1) H13 t) H14)))))) H12)) H11)) c2 H9))))
1677 H8)) (\lambda (H8: (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda
1678 (_: A).(eq C c2 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_:
1679 T).(\lambda (_: A).(csuba g d2 c)))) (\lambda (d2: C).(\lambda (u2:
1680 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
1681 (_: T).(\lambda (a: A).(arity g c t a)))))).(ex4_3_ind C T A (\lambda (d2:
1682 C).(\lambda (u2: T).(\lambda (_: A).(eq C c2 (CHead d2 (Bind Abst) u2)))))
1683 (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 c)))) (\lambda
1684 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a)))))
1685 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g c t a)))) (or3 (ex2
1686 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abbr) u1))) (\lambda (d2:
1687 C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda
1688 (_: A).(drop (S n) O c2 (CHead d2 (Bind Abst) u2))))) (\lambda (d2:
1689 C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2:
1690 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
1691 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T
1692 (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2 (Bind Void)
1693 u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x0:
1694 C).(\lambda (x1: T).(\lambda (x2: A).(\lambda (H9: (eq C c2 (CHead x0 (Bind
1695 Abst) x1))).(\lambda (H10: (csuba g x0 c)).(\lambda (_: (arity g x0 x1 (asucc
1696 g x2))).(\lambda (_: (arity g c t x2)).(eq_ind_r C (CHead x0 (Bind Abst) x1)
1697 (\lambda (c0: C).(or3 (ex2 C (\lambda (d2: C).(drop (S n) O c0 (CHead d2
1698 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda
1699 (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O c0 (CHead d2 (Bind
1700 Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2
1701 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
1702 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
1703 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c0
1704 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1705 d1)))))) (let H13 \def (H c d1 u1 H6 g x0 H10) in (or3_ind (ex2 C (\lambda
1706 (d2: C).(drop n O x0 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2
1707 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop n
1708 O x0 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda
1709 (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
1710 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
1711 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1712 T).(drop n O x0 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1713 T).(csuba g d2 d1)))) (or3 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0
1714 (Bind Abst) x1) (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2
1715 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S
1716 n) O (CHead x0 (Bind Abst) x1) (CHead d2 (Bind Abst) u2))))) (\lambda (d2:
1717 C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2:
1718 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
1719 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T
1720 (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Abst) x1)
1721 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1722 d1))))) (\lambda (H14: (ex2 C (\lambda (d2: C).(drop n O x0 (CHead d2 (Bind
1723 Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)))).(ex2_ind C (\lambda (d2:
1724 C).(drop n O x0 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))
1725 (or3 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead
1726 d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda
1727 (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0 (Bind Abst)
1728 x1) (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda
1729 (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
1730 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
1731 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1732 T).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead d2 (Bind Void) u2))))
1733 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x: C).(\lambda
1734 (H15: (drop n O x0 (CHead x (Bind Abbr) u1))).(\lambda (H16: (csuba g x
1735 d1)).(or3_intro0 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Abst)
1736 x1) (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T
1737 A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0
1738 (Bind Abst) x1) (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_:
1739 T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
1740 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
1741 (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2:
1742 C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead d2 (Bind
1743 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (ex_intro2 C
1744 (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead d2 (Bind
1745 Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)) x (drop_drop (Bind Abst) n x0
1746 (CHead x (Bind Abbr) u1) H15 x1) H16))))) H14)) (\lambda (H14: (ex4_3 C T A
1747 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop n O x0 (CHead d2
1748 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g
1749 d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
1750 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
1751 u1 a)))))).(ex4_3_ind C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
1752 A).(drop n O x0 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_:
1753 T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
1754 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
1755 (_: T).(\lambda (a: A).(arity g d1 u1 a)))) (or3 (ex2 C (\lambda (d2:
1756 C).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead d2 (Bind Abbr) u1)))
1757 (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda
1758 (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead d2
1759 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g
1760 d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
1761 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
1762 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead
1763 x0 (Bind Abst) x1) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1764 T).(csuba g d2 d1))))) (\lambda (x3: C).(\lambda (x4: T).(\lambda (x5:
1765 A).(\lambda (H15: (drop n O x0 (CHead x3 (Bind Abst) x4))).(\lambda (H16:
1766 (csuba g x3 d1)).(\lambda (H17: (arity g x3 x4 (asucc g x5))).(\lambda (H18:
1767 (arity g d1 u1 x5)).(or3_intro1 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead
1768 x0 (Bind Abst) x1) (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2
1769 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S
1770 n) O (CHead x0 (Bind Abst) x1) (CHead d2 (Bind Abst) u2))))) (\lambda (d2:
1771 C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2:
1772 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
1773 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T
1774 (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Abst) x1)
1775 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1776 d1)))) (ex4_3_intro C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
1777 A).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead d2 (Bind Abst) u2)))))
1778 (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda
1779 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a)))))
1780 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a)))) x3 x4 x5
1781 (drop_drop (Bind Abst) n x0 (CHead x3 (Bind Abst) x4) H15 x1) H16 H17
1782 H18))))))))) H14)) (\lambda (H14: (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1783 T).(drop n O x0 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1784 T).(csuba g d2 d1))))).(ex2_2_ind C T (\lambda (d2: C).(\lambda (u2: T).(drop
1785 n O x0 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g
1786 d2 d1))) (or3 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Abst) x1)
1787 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A
1788 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0
1789 (Bind Abst) x1) (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_:
1790 T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
1791 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
1792 (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2:
1793 C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead d2 (Bind
1794 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda
1795 (x3: C).(\lambda (x4: T).(\lambda (H15: (drop n O x0 (CHead x3 (Bind Void)
1796 x4))).(\lambda (H16: (csuba g x3 d1)).(or3_intro2 (ex2 C (\lambda (d2:
1797 C).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead d2 (Bind Abbr) u1)))
1798 (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda
1799 (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead d2
1800 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g
1801 d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
1802 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
1803 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead
1804 x0 (Bind Abst) x1) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1805 T).(csuba g d2 d1)))) (ex2_2_intro C T (\lambda (d2: C).(\lambda (u2:
1806 T).(drop (S n) O (CHead x0 (Bind Abst) x1) (CHead d2 (Bind Void) u2))))
1807 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) x3 x4 (drop_drop (Bind
1808 Abst) n x0 (CHead x3 (Bind Void) x4) H15 x1) H16)))))) H14)) H13)) c2
1809 H9)))))))) H8)) (\lambda (H8: (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1810 T).(eq C c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1811 T).(csuba g d2 c))))).(ex2_2_ind C T (\lambda (d2: C).(\lambda (u2: T).(eq C
1812 c2 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1813 c))) (or3 (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abbr)
1814 u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2:
1815 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O c2 (CHead d2 (Bind Abst)
1816 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1))))
1817 (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g
1818 a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a)))))
1819 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2 (Bind
1820 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda
1821 (x0: C).(\lambda (x1: T).(\lambda (H9: (eq C c2 (CHead x0 (Bind Void)
1822 x1))).(\lambda (H10: (csuba g x0 c)).(eq_ind_r C (CHead x0 (Bind Void) x1)
1823 (\lambda (c0: C).(or3 (ex2 C (\lambda (d2: C).(drop (S n) O c0 (CHead d2
1824 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda
1825 (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O c0 (CHead d2 (Bind
1826 Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2
1827 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
1828 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
1829 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c0
1830 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1831 d1)))))) (let H11 \def (H c d1 u1 H6 g x0 H10) in (or3_ind (ex2 C (\lambda
1832 (d2: C).(drop n O x0 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2
1833 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop n
1834 O x0 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda
1835 (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
1836 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
1837 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1838 T).(drop n O x0 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1839 T).(csuba g d2 d1)))) (or3 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0
1840 (Bind Void) x1) (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2
1841 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S
1842 n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Abst) u2))))) (\lambda (d2:
1843 C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2:
1844 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
1845 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T
1846 (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Void) x1)
1847 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1848 d1))))) (\lambda (H12: (ex2 C (\lambda (d2: C).(drop n O x0 (CHead d2 (Bind
1849 Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)))).(ex2_ind C (\lambda (d2:
1850 C).(drop n O x0 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))
1851 (or3 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead
1852 d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda
1853 (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0 (Bind Void)
1854 x1) (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda
1855 (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
1856 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
1857 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1858 T).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Void) u2))))
1859 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x: C).(\lambda
1860 (H13: (drop n O x0 (CHead x (Bind Abbr) u1))).(\lambda (H14: (csuba g x
1861 d1)).(or3_intro0 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Void)
1862 x1) (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T
1863 A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0
1864 (Bind Void) x1) (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_:
1865 T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
1866 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
1867 (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2:
1868 C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind
1869 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (ex_intro2 C
1870 (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind
1871 Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)) x (drop_drop (Bind Void) n x0
1872 (CHead x (Bind Abbr) u1) H13 x1) H14))))) H12)) (\lambda (H12: (ex4_3 C T A
1873 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop n O x0 (CHead d2
1874 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g
1875 d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
1876 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
1877 u1 a)))))).(ex4_3_ind C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
1878 A).(drop n O x0 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_:
1879 T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
1880 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
1881 (_: T).(\lambda (a: A).(arity g d1 u1 a)))) (or3 (ex2 C (\lambda (d2:
1882 C).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Abbr) u1)))
1883 (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda
1884 (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2
1885 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g
1886 d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
1887 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
1888 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead
1889 x0 (Bind Void) x1) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1890 T).(csuba g d2 d1))))) (\lambda (x2: C).(\lambda (x3: T).(\lambda (x4:
1891 A).(\lambda (H13: (drop n O x0 (CHead x2 (Bind Abst) x3))).(\lambda (H14:
1892 (csuba g x2 d1)).(\lambda (H15: (arity g x2 x3 (asucc g x4))).(\lambda (H16:
1893 (arity g d1 u1 x4)).(or3_intro1 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead
1894 x0 (Bind Void) x1) (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2
1895 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S
1896 n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Abst) u2))))) (\lambda (d2:
1897 C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2:
1898 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
1899 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T
1900 (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Void) x1)
1901 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1902 d1)))) (ex4_3_intro C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
1903 A).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Abst) u2)))))
1904 (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda
1905 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a)))))
1906 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a)))) x2 x3 x4
1907 (drop_drop (Bind Void) n x0 (CHead x2 (Bind Abst) x3) H13 x1) H14 H15
1908 H16))))))))) H12)) (\lambda (H12: (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1909 T).(drop n O x0 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1910 T).(csuba g d2 d1))))).(ex2_2_ind C T (\lambda (d2: C).(\lambda (u2: T).(drop
1911 n O x0 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g
1912 d2 d1))) (or3 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Void) x1)
1913 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A
1914 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0
1915 (Bind Void) x1) (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_:
1916 T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
1917 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
1918 (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2:
1919 C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind
1920 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda
1921 (x2: C).(\lambda (x3: T).(\lambda (H13: (drop n O x0 (CHead x2 (Bind Void)
1922 x3))).(\lambda (H14: (csuba g x2 d1)).(or3_intro2 (ex2 C (\lambda (d2:
1923 C).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Abbr) u1)))
1924 (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda
1925 (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2
1926 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g
1927 d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
1928 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
1929 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead
1930 x0 (Bind Void) x1) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
1931 T).(csuba g d2 d1)))) (ex2_2_intro C T (\lambda (d2: C).(\lambda (u2:
1932 T).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Void) u2))))
1933 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) x2 x3 (drop_drop (Bind
1934 Void) n x0 (CHead x2 (Bind Void) x3) H13 x1) H14)))))) H12)) H11)) c2 H9)))))
1935 H8)) H7))))) (\lambda (H5: (csuba g c2 (CHead c (Bind Abst) t))).(\lambda
1936 (H6: (drop (r (Bind Abst) n) O c (CHead d1 (Bind Abbr) u1))).(let H_x \def
1937 (csuba_gen_abst_rev g c c2 t H5) in (let H7 \def H_x in (or_ind (ex2 C
1938 (\lambda (d2: C).(eq C c2 (CHead d2 (Bind Abst) t))) (\lambda (d2: C).(csuba
1939 g d2 c))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(eq C c2 (CHead d2
1940 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 c)))) (or3
1941 (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abbr) u1))) (\lambda
1942 (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2:
1943 T).(\lambda (_: A).(drop (S n) O c2 (CHead d2 (Bind Abst) u2))))) (\lambda
1944 (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2:
1945 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
1946 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T
1947 (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2 (Bind Void)
1948 u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (H8:
1949 (ex2 C (\lambda (d2: C).(eq C c2 (CHead d2 (Bind Abst) t))) (\lambda (d2:
1950 C).(csuba g d2 c)))).(ex2_ind C (\lambda (d2: C).(eq C c2 (CHead d2 (Bind
1951 Abst) t))) (\lambda (d2: C).(csuba g d2 c)) (or3 (ex2 C (\lambda (d2:
1952 C).(drop (S n) O c2 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2
1953 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S
1954 n) O c2 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_:
1955 T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
1956 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
1957 (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2:
1958 C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2 (Bind Void) u2)))) (\lambda
1959 (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x: C).(\lambda (H9: (eq
1960 C c2 (CHead x (Bind Abst) t))).(\lambda (H10: (csuba g x c)).(eq_ind_r C
1961 (CHead x (Bind Abst) t) (\lambda (c0: C).(or3 (ex2 C (\lambda (d2: C).(drop
1962 (S n) O c0 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)))
1963 (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O
1964 c0 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda
1965 (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
1966 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
1967 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1968 T).(drop (S n) O c0 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda
1969 (_: T).(csuba g d2 d1)))))) (let H11 \def (H c d1 u1 H6 g x H10) in (or3_ind
1970 (ex2 C (\lambda (d2: C).(drop n O x (CHead d2 (Bind Abbr) u1))) (\lambda (d2:
1971 C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda
1972 (_: A).(drop n O x (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda
1973 (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
1974 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
1975 (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2:
1976 C).(\lambda (u2: T).(drop n O x (CHead d2 (Bind Void) u2)))) (\lambda (d2:
1977 C).(\lambda (_: T).(csuba g d2 d1)))) (or3 (ex2 C (\lambda (d2: C).(drop (S
1978 n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Abbr) u1))) (\lambda (d2:
1979 C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda
1980 (_: A).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Abst) u2)))))
1981 (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda
1982 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a)))))
1983 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2
1984 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x (Bind Abst) t)
1985 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
1986 d1))))) (\lambda (H12: (ex2 C (\lambda (d2: C).(drop n O x (CHead d2 (Bind
1987 Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)))).(ex2_ind C (\lambda (d2:
1988 C).(drop n O x (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))
1989 (or3 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2
1990 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda
1991 (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Abst)
1992 t) (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda
1993 (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
1994 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
1995 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
1996 T).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Void) u2))))
1997 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x0:
1998 C).(\lambda (H13: (drop n O x (CHead x0 (Bind Abbr) u1))).(\lambda (H14:
1999 (csuba g x0 d1)).(or3_intro0 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x
2000 (Bind Abst) t) (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)))
2001 (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O
2002 (CHead x (Bind Abst) t) (CHead d2 (Bind Abst) u2))))) (\lambda (d2:
2003 C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2:
2004 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
2005 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T
2006 (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x (Bind Abst) t)
2007 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
2008 d1)))) (ex_intro2 C (\lambda (d2: C).(drop (S n) O (CHead x (Bind Abst) t)
2009 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)) x0 (drop_drop
2010 (Bind Abst) n x (CHead x0 (Bind Abbr) u1) H13 t) H14))))) H12)) (\lambda
2011 (H12: (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop n
2012 O x (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda
2013 (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
2014 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
2015 (a: A).(arity g d1 u1 a)))))).(ex4_3_ind C T A (\lambda (d2: C).(\lambda (u2:
2016 T).(\lambda (_: A).(drop n O x (CHead d2 (Bind Abst) u2))))) (\lambda (d2:
2017 C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2:
2018 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
2019 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a)))) (or3 (ex2 C
2020 (\lambda (d2: C).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Abbr)
2021 u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2:
2022 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Abst) t)
2023 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
2024 A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
2025 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
2026 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
2027 T).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Void) u2))))
2028 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x0:
2029 C).(\lambda (x1: T).(\lambda (x2: A).(\lambda (H13: (drop n O x (CHead x0
2030 (Bind Abst) x1))).(\lambda (H14: (csuba g x0 d1)).(\lambda (H15: (arity g x0
2031 x1 (asucc g x2))).(\lambda (H16: (arity g d1 u1 x2)).(or3_intro1 (ex2 C
2032 (\lambda (d2: C).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Abbr)
2033 u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2:
2034 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Abst) t)
2035 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
2036 A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
2037 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
2038 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
2039 T).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Void) u2))))
2040 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (ex4_3_intro C T A
2041 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x
2042 (Bind Abst) t) (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_:
2043 T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
2044 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
2045 (_: T).(\lambda (a: A).(arity g d1 u1 a)))) x0 x1 x2 (drop_drop (Bind Abst) n
2046 x (CHead x0 (Bind Abst) x1) H13 t) H14 H15 H16))))))))) H12)) (\lambda (H12:
2047 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop n O x (CHead d2 (Bind
2048 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))).(ex2_2_ind
2049 C T (\lambda (d2: C).(\lambda (u2: T).(drop n O x (CHead d2 (Bind Void)
2050 u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) (or3 (ex2 C
2051 (\lambda (d2: C).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Abbr)
2052 u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2:
2053 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Abst) t)
2054 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
2055 A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
2056 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
2057 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
2058 T).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Void) u2))))
2059 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x0:
2060 C).(\lambda (x1: T).(\lambda (H13: (drop n O x (CHead x0 (Bind Void)
2061 x1))).(\lambda (H14: (csuba g x0 d1)).(or3_intro2 (ex2 C (\lambda (d2:
2062 C).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Abbr) u1))) (\lambda
2063 (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2:
2064 T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind
2065 Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2
2066 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
2067 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
2068 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x
2069 (Bind Abst) t) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
2070 T).(csuba g d2 d1)))) (ex2_2_intro C T (\lambda (d2: C).(\lambda (u2:
2071 T).(drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Void) u2))))
2072 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) x0 x1 (drop_drop (Bind
2073 Abst) n x (CHead x0 (Bind Void) x1) H13 t) H14)))))) H12)) H11)) c2 H9))))
2074 H8)) (\lambda (H8: (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(eq C c2
2075 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
2076 c))))).(ex2_2_ind C T (\lambda (d2: C).(\lambda (u2: T).(eq C c2 (CHead d2
2077 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 c))) (or3
2078 (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abbr) u1))) (\lambda
2079 (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2:
2080 T).(\lambda (_: A).(drop (S n) O c2 (CHead d2 (Bind Abst) u2))))) (\lambda
2081 (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2:
2082 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
2083 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T
2084 (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2 (Bind Void)
2085 u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x0:
2086 C).(\lambda (x1: T).(\lambda (H9: (eq C c2 (CHead x0 (Bind Void)
2087 x1))).(\lambda (H10: (csuba g x0 c)).(eq_ind_r C (CHead x0 (Bind Void) x1)
2088 (\lambda (c0: C).(or3 (ex2 C (\lambda (d2: C).(drop (S n) O c0 (CHead d2
2089 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda
2090 (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O c0 (CHead d2 (Bind
2091 Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2
2092 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
2093 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
2094 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c0
2095 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
2096 d1)))))) (let H11 \def (H c d1 u1 H6 g x0 H10) in (or3_ind (ex2 C (\lambda
2097 (d2: C).(drop n O x0 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2
2098 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop n
2099 O x0 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda
2100 (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
2101 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
2102 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
2103 T).(drop n O x0 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
2104 T).(csuba g d2 d1)))) (or3 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0
2105 (Bind Void) x1) (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2
2106 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S
2107 n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Abst) u2))))) (\lambda (d2:
2108 C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2:
2109 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
2110 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T
2111 (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Void) x1)
2112 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
2113 d1))))) (\lambda (H12: (ex2 C (\lambda (d2: C).(drop n O x0 (CHead d2 (Bind
2114 Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)))).(ex2_ind C (\lambda (d2:
2115 C).(drop n O x0 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))
2116 (or3 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead
2117 d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda
2118 (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0 (Bind Void)
2119 x1) (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda
2120 (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
2121 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
2122 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
2123 T).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Void) u2))))
2124 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x: C).(\lambda
2125 (H13: (drop n O x0 (CHead x (Bind Abbr) u1))).(\lambda (H14: (csuba g x
2126 d1)).(or3_intro0 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Void)
2127 x1) (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T
2128 A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0
2129 (Bind Void) x1) (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_:
2130 T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
2131 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
2132 (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2:
2133 C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind
2134 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (ex_intro2 C
2135 (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind
2136 Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)) x (drop_drop (Bind Void) n x0
2137 (CHead x (Bind Abbr) u1) H13 x1) H14))))) H12)) (\lambda (H12: (ex4_3 C T A
2138 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop n O x0 (CHead d2
2139 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g
2140 d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
2141 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
2142 u1 a)))))).(ex4_3_ind C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
2143 A).(drop n O x0 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_:
2144 T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
2145 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
2146 (_: T).(\lambda (a: A).(arity g d1 u1 a)))) (or3 (ex2 C (\lambda (d2:
2147 C).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Abbr) u1)))
2148 (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda
2149 (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2
2150 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g
2151 d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
2152 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
2153 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead
2154 x0 (Bind Void) x1) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
2155 T).(csuba g d2 d1))))) (\lambda (x2: C).(\lambda (x3: T).(\lambda (x4:
2156 A).(\lambda (H13: (drop n O x0 (CHead x2 (Bind Abst) x3))).(\lambda (H14:
2157 (csuba g x2 d1)).(\lambda (H15: (arity g x2 x3 (asucc g x4))).(\lambda (H16:
2158 (arity g d1 u1 x4)).(or3_intro1 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead
2159 x0 (Bind Void) x1) (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2
2160 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S
2161 n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Abst) u2))))) (\lambda (d2:
2162 C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2:
2163 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
2164 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T
2165 (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Void) x1)
2166 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
2167 d1)))) (ex4_3_intro C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
2168 A).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Abst) u2)))))
2169 (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda
2170 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a)))))
2171 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a)))) x2 x3 x4
2172 (drop_drop (Bind Void) n x0 (CHead x2 (Bind Abst) x3) H13 x1) H14 H15
2173 H16))))))))) H12)) (\lambda (H12: (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
2174 T).(drop n O x0 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
2175 T).(csuba g d2 d1))))).(ex2_2_ind C T (\lambda (d2: C).(\lambda (u2: T).(drop
2176 n O x0 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g
2177 d2 d1))) (or3 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Bind Void) x1)
2178 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A
2179 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0
2180 (Bind Void) x1) (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_:
2181 T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
2182 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
2183 (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2:
2184 C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind
2185 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda
2186 (x2: C).(\lambda (x3: T).(\lambda (H13: (drop n O x0 (CHead x2 (Bind Void)
2187 x3))).(\lambda (H14: (csuba g x2 d1)).(or3_intro2 (ex2 C (\lambda (d2:
2188 C).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Abbr) u1)))
2189 (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda
2190 (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2
2191 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g
2192 d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
2193 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
2194 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead
2195 x0 (Bind Void) x1) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
2196 T).(csuba g d2 d1)))) (ex2_2_intro C T (\lambda (d2: C).(\lambda (u2:
2197 T).(drop (S n) O (CHead x0 (Bind Void) x1) (CHead d2 (Bind Void) u2))))
2198 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) x2 x3 (drop_drop (Bind
2199 Void) n x0 (CHead x2 (Bind Void) x3) H13 x1) H14)))))) H12)) H11)) c2 H9)))))
2200 H8)) H7))))) (\lambda (H5: (csuba g c2 (CHead c (Bind Void) t))).(\lambda
2201 (H6: (drop (r (Bind Void) n) O c (CHead d1 (Bind Abbr) u1))).(let H_x \def
2202 (csuba_gen_void_rev g c c2 t H5) in (let H7 \def H_x in (ex2_ind C (\lambda
2203 (d2: C).(eq C c2 (CHead d2 (Bind Void) t))) (\lambda (d2: C).(csuba g d2 c))
2204 (or3 (ex2 C (\lambda (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abbr) u1)))
2205 (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda
2206 (u2: T).(\lambda (_: A).(drop (S n) O c2 (CHead d2 (Bind Abst) u2)))))
2207 (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda
2208 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a)))))
2209 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2
2210 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2 (Bind Void)
2211 u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x:
2212 C).(\lambda (H8: (eq C c2 (CHead x (Bind Void) t))).(\lambda (H9: (csuba g x
2213 c)).(eq_ind_r C (CHead x (Bind Void) t) (\lambda (c0: C).(or3 (ex2 C (\lambda
2214 (d2: C).(drop (S n) O c0 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba
2215 g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
2216 A).(drop (S n) O c0 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda
2217 (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
2218 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
2219 (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2:
2220 C).(\lambda (u2: T).(drop (S n) O c0 (CHead d2 (Bind Void) u2)))) (\lambda
2221 (d2: C).(\lambda (_: T).(csuba g d2 d1)))))) (let H10 \def (H c d1 u1 H6 g x
2222 H9) in (or3_ind (ex2 C (\lambda (d2: C).(drop n O x (CHead d2 (Bind Abbr)
2223 u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2:
2224 C).(\lambda (u2: T).(\lambda (_: A).(drop n O x (CHead d2 (Bind Abst) u2)))))
2225 (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda
2226 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a)))))
2227 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2
2228 C T (\lambda (d2: C).(\lambda (u2: T).(drop n O x (CHead d2 (Bind Void)
2229 u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (or3 (ex2 C
2230 (\lambda (d2: C).(drop (S n) O (CHead x (Bind Void) t) (CHead d2 (Bind Abbr)
2231 u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2:
2232 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Void) t)
2233 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
2234 A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
2235 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
2236 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
2237 T).(drop (S n) O (CHead x (Bind Void) t) (CHead d2 (Bind Void) u2))))
2238 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (H11: (ex2 C
2239 (\lambda (d2: C).(drop n O x (CHead d2 (Bind Abbr) u1))) (\lambda (d2:
2240 C).(csuba g d2 d1)))).(ex2_ind C (\lambda (d2: C).(drop n O x (CHead d2 (Bind
2241 Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)) (or3 (ex2 C (\lambda (d2:
2242 C).(drop (S n) O (CHead x (Bind Void) t) (CHead d2 (Bind Abbr) u1))) (\lambda
2243 (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2:
2244 T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Void) t) (CHead d2 (Bind
2245 Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2
2246 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
2247 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
2248 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x
2249 (Bind Void) t) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
2250 T).(csuba g d2 d1))))) (\lambda (x0: C).(\lambda (H12: (drop n O x (CHead x0
2251 (Bind Abbr) u1))).(\lambda (H13: (csuba g x0 d1)).(or3_intro0 (ex2 C (\lambda
2252 (d2: C).(drop (S n) O (CHead x (Bind Void) t) (CHead d2 (Bind Abbr) u1)))
2253 (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda
2254 (u2: T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Void) t) (CHead d2 (Bind
2255 Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2
2256 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
2257 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
2258 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x
2259 (Bind Void) t) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
2260 T).(csuba g d2 d1)))) (ex_intro2 C (\lambda (d2: C).(drop (S n) O (CHead x
2261 (Bind Void) t) (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))
2262 x0 (drop_drop (Bind Void) n x (CHead x0 (Bind Abbr) u1) H12 t) H13))))) H11))
2263 (\lambda (H11: (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
2264 A).(drop n O x (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_:
2265 T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
2266 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
2267 (_: T).(\lambda (a: A).(arity g d1 u1 a)))))).(ex4_3_ind C T A (\lambda (d2:
2268 C).(\lambda (u2: T).(\lambda (_: A).(drop n O x (CHead d2 (Bind Abst) u2)))))
2269 (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda
2270 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a)))))
2271 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a)))) (or3
2272 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x (Bind Void) t) (CHead d2 (Bind
2273 Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2:
2274 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Void) t)
2275 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
2276 A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
2277 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
2278 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
2279 T).(drop (S n) O (CHead x (Bind Void) t) (CHead d2 (Bind Void) u2))))
2280 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x0:
2281 C).(\lambda (x1: T).(\lambda (x2: A).(\lambda (H12: (drop n O x (CHead x0
2282 (Bind Abst) x1))).(\lambda (H13: (csuba g x0 d1)).(\lambda (H14: (arity g x0
2283 x1 (asucc g x2))).(\lambda (H15: (arity g d1 u1 x2)).(or3_intro1 (ex2 C
2284 (\lambda (d2: C).(drop (S n) O (CHead x (Bind Void) t) (CHead d2 (Bind Abbr)
2285 u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2:
2286 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Void) t)
2287 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
2288 A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
2289 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
2290 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
2291 T).(drop (S n) O (CHead x (Bind Void) t) (CHead d2 (Bind Void) u2))))
2292 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (ex4_3_intro C T A
2293 (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x
2294 (Bind Void) t) (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_:
2295 T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
2296 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
2297 (_: T).(\lambda (a: A).(arity g d1 u1 a)))) x0 x1 x2 (drop_drop (Bind Void) n
2298 x (CHead x0 (Bind Abst) x1) H12 t) H13 H14 H15))))))))) H11)) (\lambda (H11:
2299 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop n O x (CHead d2 (Bind
2300 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))).(ex2_2_ind
2301 C T (\lambda (d2: C).(\lambda (u2: T).(drop n O x (CHead d2 (Bind Void)
2302 u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) (or3 (ex2 C
2303 (\lambda (d2: C).(drop (S n) O (CHead x (Bind Void) t) (CHead d2 (Bind Abbr)
2304 u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2:
2305 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Void) t)
2306 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
2307 A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
2308 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
2309 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
2310 T).(drop (S n) O (CHead x (Bind Void) t) (CHead d2 (Bind Void) u2))))
2311 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x0:
2312 C).(\lambda (x1: T).(\lambda (H12: (drop n O x (CHead x0 (Bind Void)
2313 x1))).(\lambda (H13: (csuba g x0 d1)).(or3_intro2 (ex2 C (\lambda (d2:
2314 C).(drop (S n) O (CHead x (Bind Void) t) (CHead d2 (Bind Abbr) u1))) (\lambda
2315 (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2:
2316 T).(\lambda (_: A).(drop (S n) O (CHead x (Bind Void) t) (CHead d2 (Bind
2317 Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2
2318 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
2319 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
2320 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x
2321 (Bind Void) t) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
2322 T).(csuba g d2 d1)))) (ex2_2_intro C T (\lambda (d2: C).(\lambda (u2:
2323 T).(drop (S n) O (CHead x (Bind Void) t) (CHead d2 (Bind Void) u2))))
2324 (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1))) x0 x1 (drop_drop (Bind
2325 Void) n x (CHead x0 (Bind Void) x1) H12 t) H13)))))) H11)) H10)) c2 H8))))
2326 H7))))) b H3 H4)))) (\lambda (f: F).(\lambda (H3: (csuba g c2 (CHead c (Flat
2327 f) t))).(\lambda (H4: (drop (r (Flat f) n) O c (CHead d1 (Bind Abbr)
2328 u1))).(let H_x \def (csuba_gen_flat_rev g c c2 t f H3) in (let H5 \def H_x in
2329 (ex2_2_ind C T (\lambda (d2: C).(\lambda (u2: T).(eq C c2 (CHead d2 (Flat f)
2330 u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 c))) (or3 (ex2 C (\lambda
2331 (d2: C).(drop (S n) O c2 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba
2332 g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
2333 A).(drop (S n) O c2 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda
2334 (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
2335 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
2336 (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2:
2337 C).(\lambda (u2: T).(drop (S n) O c2 (CHead d2 (Bind Void) u2)))) (\lambda
2338 (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x0: C).(\lambda (x1:
2339 T).(\lambda (H6: (eq C c2 (CHead x0 (Flat f) x1))).(\lambda (H7: (csuba g x0
2340 c)).(eq_ind_r C (CHead x0 (Flat f) x1) (\lambda (c0: C).(or3 (ex2 C (\lambda
2341 (d2: C).(drop (S n) O c0 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba
2342 g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
2343 A).(drop (S n) O c0 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda
2344 (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2:
2345 T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda
2346 (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2:
2347 C).(\lambda (u2: T).(drop (S n) O c0 (CHead d2 (Bind Void) u2)))) (\lambda
2348 (d2: C).(\lambda (_: T).(csuba g d2 d1)))))) (let H8 \def (H0 d1 u1 H4 g x0
2349 H7) in (or3_ind (ex2 C (\lambda (d2: C).(drop (S n) O x0 (CHead d2 (Bind
2350 Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2:
2351 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O x0 (CHead d2 (Bind Abst)
2352 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1))))
2353 (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g
2354 a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a)))))
2355 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O x0 (CHead d2 (Bind
2356 Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))) (or3 (ex2 C
2357 (\lambda (d2: C).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abbr)
2358 u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2:
2359 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0 (Flat f) x1)
2360 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
2361 A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
2362 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
2363 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
2364 T).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Void) u2)))) (\lambda
2365 (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (H9: (ex2 C (\lambda
2366 (d2: C).(drop (S n) O x0 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba
2367 g d2 d1)))).(ex2_ind C (\lambda (d2: C).(drop (S n) O x0 (CHead d2 (Bind
2368 Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)) (or3 (ex2 C (\lambda (d2:
2369 C).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abbr) u1))) (\lambda
2370 (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2:
2371 T).(\lambda (_: A).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abst)
2372 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1))))
2373 (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g
2374 a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a)))))
2375 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Flat f)
2376 x1) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
2377 d1))))) (\lambda (x: C).(\lambda (H10: (drop (S n) O x0 (CHead x (Bind Abbr)
2378 u1))).(\lambda (H11: (csuba g x d1)).(or3_intro0 (ex2 C (\lambda (d2:
2379 C).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abbr) u1))) (\lambda
2380 (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2:
2381 T).(\lambda (_: A).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abst)
2382 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1))))
2383 (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g
2384 a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a)))))
2385 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Flat f)
2386 x1) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
2387 d1)))) (ex_intro2 C (\lambda (d2: C).(drop (S n) O (CHead x0 (Flat f) x1)
2388 (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)) x (drop_drop
2389 (Flat f) n x0 (CHead x (Bind Abbr) u1) H10 x1) H11))))) H9)) (\lambda (H9:
2390 (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O
2391 x0 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda
2392 (_: A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
2393 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
2394 (a: A).(arity g d1 u1 a)))))).(ex4_3_ind C T A (\lambda (d2: C).(\lambda (u2:
2395 T).(\lambda (_: A).(drop (S n) O x0 (CHead d2 (Bind Abst) u2))))) (\lambda
2396 (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2:
2397 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
2398 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a)))) (or3 (ex2 C
2399 (\lambda (d2: C).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abbr)
2400 u1))) (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2:
2401 C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0 (Flat f) x1)
2402 (CHead d2 (Bind Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_:
2403 A).(csuba g d2 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a:
2404 A).(arity g d2 u2 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda
2405 (a: A).(arity g d1 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
2406 T).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Void) u2)))) (\lambda
2407 (d2: C).(\lambda (_: T).(csuba g d2 d1))))) (\lambda (x2: C).(\lambda (x3:
2408 T).(\lambda (x4: A).(\lambda (H10: (drop (S n) O x0 (CHead x2 (Bind Abst)
2409 x3))).(\lambda (H11: (csuba g x2 d1)).(\lambda (H12: (arity g x2 x3 (asucc g
2410 x4))).(\lambda (H13: (arity g d1 u1 x4)).(or3_intro1 (ex2 C (\lambda (d2:
2411 C).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abbr) u1))) (\lambda
2412 (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda (u2:
2413 T).(\lambda (_: A).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abst)
2414 u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1))))
2415 (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g
2416 a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a)))))
2417 (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Flat f)
2418 x1) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2
2419 d1)))) (ex4_3_intro C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_:
2420 A).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abst) u2)))))
2421 (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda
2422 (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a)))))
2423 (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a)))) x2 x3 x4
2424 (drop_drop (Flat f) n x0 (CHead x2 (Bind Abst) x3) H10 x1) H11 H12
2425 H13))))))))) H9)) (\lambda (H9: (ex2_2 C T (\lambda (d2: C).(\lambda (u2:
2426 T).(drop (S n) O x0 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda
2427 (_: T).(csuba g d2 d1))))).(ex2_2_ind C T (\lambda (d2: C).(\lambda (u2:
2428 T).(drop (S n) O x0 (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda
2429 (_: T).(csuba g d2 d1))) (or3 (ex2 C (\lambda (d2: C).(drop (S n) O (CHead x0
2430 (Flat f) x1) (CHead d2 (Bind Abbr) u1))) (\lambda (d2: C).(csuba g d2 d1)))
2431 (ex4_3 C T A (\lambda (d2: C).(\lambda (u2: T).(\lambda (_: A).(drop (S n) O
2432 (CHead x0 (Flat f) x1) (CHead d2 (Bind Abst) u2))))) (\lambda (d2:
2433 C).(\lambda (_: T).(\lambda (_: A).(csuba g d2 d1)))) (\lambda (d2:
2434 C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2 (asucc g a))))) (\lambda
2435 (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1 u1 a))))) (ex2_2 C T
2436 (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead x0 (Flat f) x1) (CHead
2437 d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_: T).(csuba g d2 d1)))))
2438 (\lambda (x2: C).(\lambda (x3: T).(\lambda (H10: (drop (S n) O x0 (CHead x2
2439 (Bind Void) x3))).(\lambda (H11: (csuba g x2 d1)).(or3_intro2 (ex2 C (\lambda
2440 (d2: C).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abbr) u1)))
2441 (\lambda (d2: C).(csuba g d2 d1))) (ex4_3 C T A (\lambda (d2: C).(\lambda
2442 (u2: T).(\lambda (_: A).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind
2443 Abst) u2))))) (\lambda (d2: C).(\lambda (_: T).(\lambda (_: A).(csuba g d2
2444 d1)))) (\lambda (d2: C).(\lambda (u2: T).(\lambda (a: A).(arity g d2 u2
2445 (asucc g a))))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(arity g d1
2446 u1 a))))) (ex2_2 C T (\lambda (d2: C).(\lambda (u2: T).(drop (S n) O (CHead
2447 x0 (Flat f) x1) (CHead d2 (Bind Void) u2)))) (\lambda (d2: C).(\lambda (_:
2448 T).(csuba g d2 d1)))) (ex2_2_intro C T (\lambda (d2: C).(\lambda (u2:
2449 T).(drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Void) u2)))) (\lambda
2450 (d2: C).(\lambda (_: T).(csuba g d2 d1))) x2 x3 (drop_drop (Flat f) n x0
2451 (CHead x2 (Bind Void) x3) H10 x1) H11)))))) H9)) H8)) c2 H6))))) H5)))))) k
2452 H2 (drop_gen_drop k c (CHead d1 (Bind Abbr) u1) t n H1)))))))))))) c1)))) i).