+u))))))).(\lambda (_: F).(\lambda (_: T).(let H2 \def H1 in (let TMP_16 \def
+(\lambda (b: B).(\lambda (e0: C).(\lambda (u0: T).(let TMP_14 \def (Bind b)
+in (let TMP_15 \def (CHead e0 TMP_14 u0) in (eq C c TMP_15)))))) in (let
+TMP_19 \def (\lambda (b: B).(\lambda (e0: C).(\lambda (u0: T).(let TMP_17
+\def (Bind b) in (let TMP_18 \def (CHead e0 TMP_17 u0) in (eq C c
+TMP_18)))))) in (let TMP_20 \def (ex_3 B C T TMP_19) in (let TMP_39 \def
+(\lambda (x0: B).(\lambda (x1: C).(\lambda (x2: T).(\lambda (H3: (eq C c
+(CHead x1 (Bind x0) x2))).(let TMP_21 \def (\lambda (c0: C).(clear e c0)) in
+(let TMP_22 \def (Bind x0) in (let TMP_23 \def (CHead x1 TMP_22 x2) in (let
+H4 \def (eq_ind C c TMP_21 H0 TMP_23 H3) in (let TMP_24 \def (Bind x0) in
+(let TMP_25 \def (CHead x1 TMP_24 x2) in (let TMP_29 \def (\lambda (c0:
+C).(let TMP_28 \def (\lambda (b: B).(\lambda (e0: C).(\lambda (u0: T).(let
+TMP_26 \def (Bind b) in (let TMP_27 \def (CHead e0 TMP_26 u0) in (eq C c0
+TMP_27)))))) in (ex_3 B C T TMP_28))) in (let TMP_34 \def (\lambda (b:
+B).(\lambda (e0: C).(\lambda (u0: T).(let TMP_30 \def (Bind x0) in (let
+TMP_31 \def (CHead x1 TMP_30 x2) in (let TMP_32 \def (Bind b) in (let TMP_33
+\def (CHead e0 TMP_32 u0) in (eq C TMP_31 TMP_33)))))))) in (let TMP_35 \def
+(Bind x0) in (let TMP_36 \def (CHead x1 TMP_35 x2) in (let TMP_37 \def
+(refl_equal C TMP_36) in (let TMP_38 \def (ex_3_intro B C T TMP_34 x0 x1 x2
+TMP_37) in (eq_ind_r C TMP_25 TMP_29 TMP_38 c H3))))))))))))))))) in
+(ex_3_ind B C T TMP_16 TMP_20 TMP_39 H2)))))))))))) in (clear_ind TMP_4
+TMP_13 TMP_40 c1 c2 H)))))).
+
+theorem clear_mono:
+ \forall (c: C).(\forall (c1: C).((clear c c1) \to (\forall (c2: C).((clear c
+c2) \to (eq C c1 c2)))))
+\def
+ \lambda (c: C).(let TMP_1 \def (\lambda (c0: C).(\forall (c1: C).((clear c0
+c1) \to (\forall (c2: C).((clear c0 c2) \to (eq C c1 c2)))))) in (let TMP_3
+\def (\lambda (n: nat).(\lambda (c1: C).(\lambda (_: (clear (CSort n)
+c1)).(\lambda (c2: C).(\lambda (H0: (clear (CSort n) c2)).(let TMP_2 \def (eq
+C c1 c2) in (clear_gen_sort c2 n H0 TMP_2))))))) in (let TMP_23 \def (\lambda
+(c0: C).(\lambda (H: ((\forall (c1: C).((clear c0 c1) \to (\forall (c2:
+C).((clear c0 c2) \to (eq C c1 c2))))))).(\lambda (k: K).(\lambda (t:
+T).(\lambda (c1: C).(\lambda (H0: (clear (CHead c0 k t) c1)).(\lambda (c2:
+C).(\lambda (H1: (clear (CHead c0 k t) c2)).(let TMP_4 \def (\lambda (k0:
+K).((clear (CHead c0 k0 t) c1) \to ((clear (CHead c0 k0 t) c2) \to (eq C c1
+c2)))) in (let TMP_19 \def (\lambda (b: B).(\lambda (H2: (clear (CHead c0
+(Bind b) t) c1)).(\lambda (H3: (clear (CHead c0 (Bind b) t) c2)).(let TMP_5
+\def (Bind b) in (let TMP_6 \def (CHead c0 TMP_5 t) in (let TMP_7 \def
+(\lambda (c3: C).(eq C c1 c3)) in (let TMP_8 \def (Bind b) in (let TMP_9 \def
+(CHead c0 TMP_8 t) in (let TMP_12 \def (\lambda (c3: C).(let TMP_10 \def
+(Bind b) in (let TMP_11 \def (CHead c0 TMP_10 t) in (eq C c3 TMP_11)))) in
+(let TMP_13 \def (Bind b) in (let TMP_14 \def (CHead c0 TMP_13 t) in (let
+TMP_15 \def (refl_equal C TMP_14) in (let TMP_16 \def (clear_gen_bind b c0 c1
+t H2) in (let TMP_17 \def (eq_ind_r C TMP_9 TMP_12 TMP_15 c1 TMP_16) in (let
+TMP_18 \def (clear_gen_bind b c0 c2 t H3) in (eq_ind_r C TMP_6 TMP_7 TMP_17
+c2 TMP_18)))))))))))))))) in (let TMP_22 \def (\lambda (f: F).(\lambda (H2:
+(clear (CHead c0 (Flat f) t) c1)).(\lambda (H3: (clear (CHead c0 (Flat f) t)
+c2)).(let TMP_20 \def (clear_gen_flat f c0 c1 t H2) in (let TMP_21 \def
+(clear_gen_flat f c0 c2 t H3) in (H c1 TMP_20 c2 TMP_21)))))) in (K_ind TMP_4
+TMP_19 TMP_22 k H0 H1)))))))))))) in (C_ind TMP_1 TMP_3 TMP_23 c)))).
+
+theorem clear_cle:
+ \forall (c1: C).(\forall (c2: C).((clear c1 c2) \to (cle c2 c1)))
+\def
+ \lambda (c1: C).(let TMP_3 \def (\lambda (c: C).(\forall (c2: C).((clear c
+c2) \to (let TMP_1 \def (cweight c2) in (let TMP_2 \def (cweight c) in (le
+TMP_1 TMP_2)))))) in (let TMP_6 \def (\lambda (n: nat).(\lambda (c2:
+C).(\lambda (H: (clear (CSort n) c2)).(let TMP_4 \def (cweight c2) in (let
+TMP_5 \def (le TMP_4 O) in (clear_gen_sort c2 n H TMP_5)))))) in (let TMP_31
+\def (\lambda (c: C).(\lambda (H: ((\forall (c2: C).((clear c c2) \to (le
+(cweight c2) (cweight c)))))).(\lambda (k: K).(\lambda (t: T).(\lambda (c2:
+C).(\lambda (H0: (clear (CHead c k t) c2)).(let TMP_11 \def (\lambda (k0:
+K).((clear (CHead c k0 t) c2) \to (let TMP_7 \def (cweight c2) in (let TMP_8
+\def (cweight c) in (let TMP_9 \def (tweight t) in (let TMP_10 \def (plus
+TMP_8 TMP_9) in (le TMP_7 TMP_10))))))) in (let TMP_24 \def (\lambda (b:
+B).(\lambda (H1: (clear (CHead c (Bind b) t) c2)).(let TMP_12 \def (Bind b)
+in (let TMP_13 \def (CHead c TMP_12 t) in (let TMP_18 \def (\lambda (c0:
+C).(let TMP_14 \def (cweight c0) in (let TMP_15 \def (cweight c) in (let
+TMP_16 \def (tweight t) in (let TMP_17 \def (plus TMP_15 TMP_16) in (le
+TMP_14 TMP_17)))))) in (let TMP_19 \def (cweight c) in (let TMP_20 \def
+(tweight t) in (let TMP_21 \def (plus TMP_19 TMP_20) in (let TMP_22 \def
+(le_n TMP_21) in (let TMP_23 \def (clear_gen_bind b c c2 t H1) in (eq_ind_r C
+TMP_13 TMP_18 TMP_22 c2 TMP_23))))))))))) in (let TMP_30 \def (\lambda (f:
+F).(\lambda (H1: (clear (CHead c (Flat f) t) c2)).(let TMP_25 \def (cweight
+c2) in (let TMP_26 \def (cweight c) in (let TMP_27 \def (tweight t) in (let
+TMP_28 \def (clear_gen_flat f c c2 t H1) in (let TMP_29 \def (H c2 TMP_28) in
+(le_plus_trans TMP_25 TMP_26 TMP_27 TMP_29)))))))) in (K_ind TMP_11 TMP_24
+TMP_30 k H0)))))))))) in (C_ind TMP_3 TMP_6 TMP_31 c1)))).