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