(* This file was automatically generated: do not edit *********************)
-include "Basic-1/csubc/csuba.ma".
+include "basic_1/csubc/csuba.ma".
theorem csubc_arity_conf:
\forall (g: G).(\forall (c1: C).(\forall (c2: C).((csubc g c1 c2) \to
(\forall (t: T).(\forall (a: A).((arity g c1 t a) \to (arity g c2 t a)))))))
\def
\lambda (g: G).(\lambda (c1: C).(\lambda (c2: C).(\lambda (H: (csubc g c1
-c2)).(\lambda (t: T).(\lambda (a: A).(\lambda (H0: (arity g c1 t
-a)).(csuba_arity g c1 t a H0 c2 (csubc_csuba g c1 c2 H)))))))).
-(* COMMENTS
-Initial nodes: 51
-END *)
+c2)).(\lambda (t: T).(\lambda (a: A).(\lambda (H0: (arity g c1 t a)).(let
+TMP_1 \def (csubc_csuba g c1 c2 H) in (csuba_arity g c1 t a H0 c2
+TMP_1)))))))).
theorem csubc_arity_trans:
\forall (g: G).(\forall (c1: C).(\forall (c2: C).((csubc g c1 c2) \to
\def
\lambda (g: G).(\lambda (c1: C).(\lambda (c2: C).(\lambda (H: (csubc g c1
c2)).(\lambda (H0: (csubv c1 c2)).(\lambda (t: T).(\lambda (a: A).(\lambda
-(H1: (arity g c2 t a)).(csuba_arity_rev g c2 t a H1 c1 (csubc_csuba g c1 c2
-H) H0)))))))).
-(* COMMENTS
-Initial nodes: 59
-END *)
+(H1: (arity g c2 t a)).(let TMP_1 \def (csubc_csuba g c1 c2 H) in
+(csuba_arity_rev g c2 t a H1 c1 TMP_1 H0))))))))).
(* This file was automatically generated: do not edit *********************)
-include "Basic-1/csubc/fwd.ma".
+include "basic_1/csubc/fwd.ma".
+
+include "basic_1/clear/fwd.ma".
theorem csubc_clear_conf:
\forall (g: G).(\forall (c1: C).(\forall (e1: C).((clear c1 e1) \to (\forall
(e2: C).(csubc g e1 e2))))))))
\def
\lambda (g: G).(\lambda (c1: C).(\lambda (e1: C).(\lambda (H: (clear c1
-e1)).(clear_ind (\lambda (c: C).(\lambda (c0: C).(\forall (c2: C).((csubc g c
-c2) \to (ex2 C (\lambda (e2: C).(clear c2 e2)) (\lambda (e2: C).(csubc g c0
-e2))))))) (\lambda (b: B).(\lambda (e: C).(\lambda (u: T).(\lambda (c2:
-C).(\lambda (H0: (csubc g (CHead e (Bind b) u) c2)).(let H_x \def
-(csubc_gen_head_l g e c2 u (Bind b) H0) in (let H1 \def H_x in (or3_ind (ex2
-C (\lambda (c3: C).(eq C c2 (CHead c3 (Bind b) u))) (\lambda (c3: C).(csubc g
-e c3))) (ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K
-(Bind b) (Bind Abst))))) (\lambda (c3: C).(\lambda (w: T).(\lambda (_: A).(eq
-C c2 (CHead c3 (Bind Abbr) w))))) (\lambda (c3: C).(\lambda (_: T).(\lambda
-(_: A).(csubc g e c3)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(sc3
-g (asucc g a) e u)))) (\lambda (c3: C).(\lambda (w: T).(\lambda (a: A).(sc3 g
-a c3 w))))) (ex4_3 B C T (\lambda (b0: B).(\lambda (c3: C).(\lambda (v2:
-T).(eq C c2 (CHead c3 (Bind b0) v2))))) (\lambda (_: B).(\lambda (_:
-C).(\lambda (_: T).(eq K (Bind b) (Bind Void))))) (\lambda (b0: B).(\lambda
-(_: C).(\lambda (_: T).(not (eq B b0 Void))))) (\lambda (_: B).(\lambda (c3:
-C).(\lambda (_: T).(csubc g e c3))))) (ex2 C (\lambda (e2: C).(clear c2 e2))
-(\lambda (e2: C).(csubc g (CHead e (Bind b) u) e2))) (\lambda (H2: (ex2 C
-(\lambda (c3: C).(eq C c2 (CHead c3 (Bind b) u))) (\lambda (c3: C).(csubc g e
-c3)))).(ex2_ind C (\lambda (c3: C).(eq C c2 (CHead c3 (Bind b) u))) (\lambda
-(c3: C).(csubc g e c3)) (ex2 C (\lambda (e2: C).(clear c2 e2)) (\lambda (e2:
-C).(csubc g (CHead e (Bind b) u) e2))) (\lambda (x: C).(\lambda (H3: (eq C c2
-(CHead x (Bind b) u))).(\lambda (H4: (csubc g e x)).(eq_ind_r C (CHead x
-(Bind b) u) (\lambda (c: C).(ex2 C (\lambda (e2: C).(clear c e2)) (\lambda
-(e2: C).(csubc g (CHead e (Bind b) u) e2)))) (ex_intro2 C (\lambda (e2:
-C).(clear (CHead x (Bind b) u) e2)) (\lambda (e2: C).(csubc g (CHead e (Bind
-b) u) e2)) (CHead x (Bind b) u) (clear_bind b x u) (csubc_head g e x H4 (Bind
-b) u)) c2 H3)))) H2)) (\lambda (H2: (ex5_3 C T A (\lambda (_: C).(\lambda (_:
+e1)).(let TMP_3 \def (\lambda (c: C).(\lambda (c0: C).(\forall (c2:
+C).((csubc g c c2) \to (let TMP_1 \def (\lambda (e2: C).(clear c2 e2)) in
+(let TMP_2 \def (\lambda (e2: C).(csubc g c0 e2)) in (ex2 C TMP_1
+TMP_2))))))) in (let TMP_157 \def (\lambda (b: B).(\lambda (e: C).(\lambda
+(u: T).(\lambda (c2: C).(\lambda (H0: (csubc g (CHead e (Bind b) u) c2)).(let
+TMP_4 \def (Bind b) in (let H_x \def (csubc_gen_head_l g e c2 u TMP_4 H0) in
+(let H1 \def H_x in (let TMP_7 \def (\lambda (c3: C).(let TMP_5 \def (Bind b)
+in (let TMP_6 \def (CHead c3 TMP_5 u) in (eq C c2 TMP_6)))) in (let TMP_8
+\def (\lambda (c3: C).(csubc g e c3)) in (let TMP_9 \def (ex2 C TMP_7 TMP_8)
+in (let TMP_12 \def (\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(let
+TMP_10 \def (Bind b) in (let TMP_11 \def (Bind Abst) in (eq K TMP_10
+TMP_11)))))) in (let TMP_15 \def (\lambda (c3: C).(\lambda (w: T).(\lambda
+(_: A).(let TMP_13 \def (Bind Abbr) in (let TMP_14 \def (CHead c3 TMP_13 w)
+in (eq C c2 TMP_14)))))) in (let TMP_16 \def (\lambda (c3: C).(\lambda (_:
+T).(\lambda (_: A).(csubc g e c3)))) in (let TMP_18 \def (\lambda (_:
+C).(\lambda (_: T).(\lambda (a: A).(let TMP_17 \def (asucc g a) in (sc3 g
+TMP_17 e u))))) in (let TMP_19 \def (\lambda (c3: C).(\lambda (w: T).(\lambda
+(a: A).(sc3 g a c3 w)))) in (let TMP_20 \def (ex5_3 C T A TMP_12 TMP_15
+TMP_16 TMP_18 TMP_19) in (let TMP_23 \def (\lambda (b0: B).(\lambda (c3:
+C).(\lambda (v2: T).(let TMP_21 \def (Bind b0) in (let TMP_22 \def (CHead c3
+TMP_21 v2) in (eq C c2 TMP_22)))))) in (let TMP_26 \def (\lambda (_:
+B).(\lambda (_: C).(\lambda (_: T).(let TMP_24 \def (Bind b) in (let TMP_25
+\def (Bind Void) in (eq K TMP_24 TMP_25)))))) in (let TMP_28 \def (\lambda
+(b0: B).(\lambda (_: C).(\lambda (_: T).(let TMP_27 \def (eq B b0 Void) in
+(not TMP_27))))) in (let TMP_29 \def (\lambda (_: B).(\lambda (c3:
+C).(\lambda (_: T).(csubc g e c3)))) in (let TMP_30 \def (ex4_3 B C T TMP_23
+TMP_26 TMP_28 TMP_29) in (let TMP_31 \def (\lambda (e2: C).(clear c2 e2)) in
+(let TMP_34 \def (\lambda (e2: C).(let TMP_32 \def (Bind b) in (let TMP_33
+\def (CHead e TMP_32 u) in (csubc g TMP_33 e2)))) in (let TMP_35 \def (ex2 C
+TMP_31 TMP_34) in (let TMP_65 \def (\lambda (H2: (ex2 C (\lambda (c3: C).(eq
+C c2 (CHead c3 (Bind b) u))) (\lambda (c3: C).(csubc g e c3)))).(let TMP_38
+\def (\lambda (c3: C).(let TMP_36 \def (Bind b) in (let TMP_37 \def (CHead c3
+TMP_36 u) in (eq C c2 TMP_37)))) in (let TMP_39 \def (\lambda (c3: C).(csubc
+g e c3)) in (let TMP_40 \def (\lambda (e2: C).(clear c2 e2)) in (let TMP_43
+\def (\lambda (e2: C).(let TMP_41 \def (Bind b) in (let TMP_42 \def (CHead e
+TMP_41 u) in (csubc g TMP_42 e2)))) in (let TMP_44 \def (ex2 C TMP_40 TMP_43)
+in (let TMP_64 \def (\lambda (x: C).(\lambda (H3: (eq C c2 (CHead x (Bind b)
+u))).(\lambda (H4: (csubc g e x)).(let TMP_45 \def (Bind b) in (let TMP_46
+\def (CHead x TMP_45 u) in (let TMP_51 \def (\lambda (c: C).(let TMP_47 \def
+(\lambda (e2: C).(clear c e2)) in (let TMP_50 \def (\lambda (e2: C).(let
+TMP_48 \def (Bind b) in (let TMP_49 \def (CHead e TMP_48 u) in (csubc g
+TMP_49 e2)))) in (ex2 C TMP_47 TMP_50)))) in (let TMP_54 \def (\lambda (e2:
+C).(let TMP_52 \def (Bind b) in (let TMP_53 \def (CHead x TMP_52 u) in (clear
+TMP_53 e2)))) in (let TMP_57 \def (\lambda (e2: C).(let TMP_55 \def (Bind b)
+in (let TMP_56 \def (CHead e TMP_55 u) in (csubc g TMP_56 e2)))) in (let
+TMP_58 \def (Bind b) in (let TMP_59 \def (CHead x TMP_58 u) in (let TMP_60
+\def (clear_bind b x u) in (let TMP_61 \def (Bind b) in (let TMP_62 \def
+(csubc_head g e x H4 TMP_61 u) in (let TMP_63 \def (ex_intro2 C TMP_54 TMP_57
+TMP_59 TMP_60 TMP_62) in (eq_ind_r C TMP_46 TMP_51 TMP_63 c2
+H3))))))))))))))) in (ex2_ind C TMP_38 TMP_39 TMP_44 TMP_64 H2)))))))) in
+(let TMP_111 \def (\lambda (H2: (ex5_3 C T A (\lambda (_: C).(\lambda (_:
T).(\lambda (_: A).(eq K (Bind b) (Bind Abst))))) (\lambda (c3: C).(\lambda
(w: T).(\lambda (_: A).(eq C c2 (CHead c3 (Bind Abbr) w))))) (\lambda (c3:
C).(\lambda (_: T).(\lambda (_: A).(csubc g e c3)))) (\lambda (_: C).(\lambda
(_: T).(\lambda (a: A).(sc3 g (asucc g a) e u)))) (\lambda (c3: C).(\lambda
-(w: T).(\lambda (a: A).(sc3 g a c3 w)))))).(ex5_3_ind C T A (\lambda (_:
-C).(\lambda (_: T).(\lambda (_: A).(eq K (Bind b) (Bind Abst))))) (\lambda
-(c3: C).(\lambda (w: T).(\lambda (_: A).(eq C c2 (CHead c3 (Bind Abbr) w)))))
-(\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g e c3)))) (\lambda
-(_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g (asucc g a) e u)))) (\lambda
-(c3: C).(\lambda (w: T).(\lambda (a: A).(sc3 g a c3 w)))) (ex2 C (\lambda
-(e2: C).(clear c2 e2)) (\lambda (e2: C).(csubc g (CHead e (Bind b) u) e2)))
+(w: T).(\lambda (a: A).(sc3 g a c3 w)))))).(let TMP_68 \def (\lambda (_:
+C).(\lambda (_: T).(\lambda (_: A).(let TMP_66 \def (Bind b) in (let TMP_67
+\def (Bind Abst) in (eq K TMP_66 TMP_67)))))) in (let TMP_71 \def (\lambda
+(c3: C).(\lambda (w: T).(\lambda (_: A).(let TMP_69 \def (Bind Abbr) in (let
+TMP_70 \def (CHead c3 TMP_69 w) in (eq C c2 TMP_70)))))) in (let TMP_72 \def
+(\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g e c3)))) in (let
+TMP_74 \def (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(let TMP_73 \def
+(asucc g a) in (sc3 g TMP_73 e u))))) in (let TMP_75 \def (\lambda (c3:
+C).(\lambda (w: T).(\lambda (a: A).(sc3 g a c3 w)))) in (let TMP_76 \def
+(\lambda (e2: C).(clear c2 e2)) in (let TMP_79 \def (\lambda (e2: C).(let
+TMP_77 \def (Bind b) in (let TMP_78 \def (CHead e TMP_77 u) in (csubc g
+TMP_78 e2)))) in (let TMP_80 \def (ex2 C TMP_76 TMP_79) in (let TMP_110 \def
(\lambda (x0: C).(\lambda (x1: T).(\lambda (x2: A).(\lambda (H3: (eq K (Bind
b) (Bind Abst))).(\lambda (H4: (eq C c2 (CHead x0 (Bind Abbr) x1))).(\lambda
(H5: (csubc g e x0)).(\lambda (H6: (sc3 g (asucc g x2) e u)).(\lambda (H7:
-(sc3 g x2 x0 x1)).(eq_ind_r C (CHead x0 (Bind Abbr) x1) (\lambda (c: C).(ex2
-C (\lambda (e2: C).(clear c e2)) (\lambda (e2: C).(csubc g (CHead e (Bind b)
-u) e2)))) (let H8 \def (f_equal K B (\lambda (e0: K).(match e0 in K return
-(\lambda (_: K).B) with [(Bind b0) \Rightarrow b0 | (Flat _) \Rightarrow b]))
-(Bind b) (Bind Abst) H3) in (eq_ind_r B Abst (\lambda (b0: B).(ex2 C (\lambda
-(e2: C).(clear (CHead x0 (Bind Abbr) x1) e2)) (\lambda (e2: C).(csubc g
-(CHead e (Bind b0) u) e2)))) (ex_intro2 C (\lambda (e2: C).(clear (CHead x0
-(Bind Abbr) x1) e2)) (\lambda (e2: C).(csubc g (CHead e (Bind Abst) u) e2))
-(CHead x0 (Bind Abbr) x1) (clear_bind Abbr x0 x1) (csubc_abst g e x0 H5 u x2
-H6 x1 H7)) b H8)) c2 H4))))))))) H2)) (\lambda (H2: (ex4_3 B C T (\lambda
-(b0: B).(\lambda (c3: C).(\lambda (v2: T).(eq C c2 (CHead c3 (Bind b0)
-v2))))) (\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(eq K (Bind b) (Bind
+(sc3 g x2 x0 x1)).(let TMP_81 \def (Bind Abbr) in (let TMP_82 \def (CHead x0
+TMP_81 x1) in (let TMP_87 \def (\lambda (c: C).(let TMP_83 \def (\lambda (e2:
+C).(clear c e2)) in (let TMP_86 \def (\lambda (e2: C).(let TMP_84 \def (Bind
+b) in (let TMP_85 \def (CHead e TMP_84 u) in (csubc g TMP_85 e2)))) in (ex2 C
+TMP_83 TMP_86)))) in (let TMP_88 \def (\lambda (e0: K).(match e0 with [(Bind
+b0) \Rightarrow b0 | (Flat _) \Rightarrow b])) in (let TMP_89 \def (Bind b)
+in (let TMP_90 \def (Bind Abst) in (let H8 \def (f_equal K B TMP_88 TMP_89
+TMP_90 H3) in (let TMP_97 \def (\lambda (b0: B).(let TMP_93 \def (\lambda
+(e2: C).(let TMP_91 \def (Bind Abbr) in (let TMP_92 \def (CHead x0 TMP_91 x1)
+in (clear TMP_92 e2)))) in (let TMP_96 \def (\lambda (e2: C).(let TMP_94 \def
+(Bind b0) in (let TMP_95 \def (CHead e TMP_94 u) in (csubc g TMP_95 e2)))) in
+(ex2 C TMP_93 TMP_96)))) in (let TMP_100 \def (\lambda (e2: C).(let TMP_98
+\def (Bind Abbr) in (let TMP_99 \def (CHead x0 TMP_98 x1) in (clear TMP_99
+e2)))) in (let TMP_103 \def (\lambda (e2: C).(let TMP_101 \def (Bind Abst) in
+(let TMP_102 \def (CHead e TMP_101 u) in (csubc g TMP_102 e2)))) in (let
+TMP_104 \def (Bind Abbr) in (let TMP_105 \def (CHead x0 TMP_104 x1) in (let
+TMP_106 \def (clear_bind Abbr x0 x1) in (let TMP_107 \def (csubc_abst g e x0
+H5 u x2 H6 x1 H7) in (let TMP_108 \def (ex_intro2 C TMP_100 TMP_103 TMP_105
+TMP_106 TMP_107) in (let TMP_109 \def (eq_ind_r B Abst TMP_97 TMP_108 b H8)
+in (eq_ind_r C TMP_82 TMP_87 TMP_109 c2 H4))))))))))))))))))))))))) in
+(ex5_3_ind C T A TMP_68 TMP_71 TMP_72 TMP_74 TMP_75 TMP_80 TMP_110
+H2))))))))))) in (let TMP_156 \def (\lambda (H2: (ex4_3 B C T (\lambda (b0:
+B).(\lambda (c3: C).(\lambda (v2: T).(eq C c2 (CHead c3 (Bind b0) v2)))))
+(\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(eq K (Bind b) (Bind
Void))))) (\lambda (b0: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b0
Void))))) (\lambda (_: B).(\lambda (c3: C).(\lambda (_: T).(csubc g e
-c3)))))).(ex4_3_ind B C T (\lambda (b0: B).(\lambda (c3: C).(\lambda (v2:
-T).(eq C c2 (CHead c3 (Bind b0) v2))))) (\lambda (_: B).(\lambda (_:
-C).(\lambda (_: T).(eq K (Bind b) (Bind Void))))) (\lambda (b0: B).(\lambda
-(_: C).(\lambda (_: T).(not (eq B b0 Void))))) (\lambda (_: B).(\lambda (c3:
-C).(\lambda (_: T).(csubc g e c3)))) (ex2 C (\lambda (e2: C).(clear c2 e2))
-(\lambda (e2: C).(csubc g (CHead e (Bind b) u) e2))) (\lambda (x0:
-B).(\lambda (x1: C).(\lambda (x2: T).(\lambda (H3: (eq C c2 (CHead x1 (Bind
-x0) x2))).(\lambda (H4: (eq K (Bind b) (Bind Void))).(\lambda (H5: (not (eq B
-x0 Void))).(\lambda (H6: (csubc g e x1)).(eq_ind_r C (CHead x1 (Bind x0) x2)
-(\lambda (c: C).(ex2 C (\lambda (e2: C).(clear c e2)) (\lambda (e2: C).(csubc
-g (CHead e (Bind b) u) e2)))) (let H7 \def (f_equal K B (\lambda (e0:
-K).(match e0 in K return (\lambda (_: K).B) with [(Bind b0) \Rightarrow b0 |
-(Flat _) \Rightarrow b])) (Bind b) (Bind Void) H4) in (eq_ind_r B Void
-(\lambda (b0: B).(ex2 C (\lambda (e2: C).(clear (CHead x1 (Bind x0) x2) e2))
-(\lambda (e2: C).(csubc g (CHead e (Bind b0) u) e2)))) (ex_intro2 C (\lambda
-(e2: C).(clear (CHead x1 (Bind x0) x2) e2)) (\lambda (e2: C).(csubc g (CHead
-e (Bind Void) u) e2)) (CHead x1 (Bind x0) x2) (clear_bind x0 x1 x2)
-(csubc_void g e x1 H6 x0 H5 u x2)) b H7)) c2 H3)))))))) H2)) H1))))))))
-(\lambda (e: C).(\lambda (c: C).(\lambda (_: (clear e c)).(\lambda (H1:
-((\forall (c2: C).((csubc g e c2) \to (ex2 C (\lambda (e2: C).(clear c2 e2))
-(\lambda (e2: C).(csubc g c e2))))))).(\lambda (f: F).(\lambda (u:
-T).(\lambda (c2: C).(\lambda (H2: (csubc g (CHead e (Flat f) u) c2)).(let H_x
-\def (csubc_gen_head_l g e c2 u (Flat f) H2) in (let H3 \def H_x in (or3_ind
-(ex2 C (\lambda (c3: C).(eq C c2 (CHead c3 (Flat f) u))) (\lambda (c3:
-C).(csubc g e c3))) (ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_:
-A).(eq K (Flat f) (Bind Abst))))) (\lambda (c3: C).(\lambda (w: T).(\lambda
-(_: A).(eq C c2 (CHead c3 (Bind Abbr) w))))) (\lambda (c3: C).(\lambda (_:
-T).(\lambda (_: A).(csubc g e c3)))) (\lambda (_: C).(\lambda (_: T).(\lambda
-(a: A).(sc3 g (asucc g a) e u)))) (\lambda (c3: C).(\lambda (w: T).(\lambda
-(a: A).(sc3 g a c3 w))))) (ex4_3 B C T (\lambda (b: B).(\lambda (c3:
-C).(\lambda (v2: T).(eq C c2 (CHead c3 (Bind b) v2))))) (\lambda (_:
-B).(\lambda (_: C).(\lambda (_: T).(eq K (Flat f) (Bind Void))))) (\lambda
-(b: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_:
-B).(\lambda (c3: C).(\lambda (_: T).(csubc g e c3))))) (ex2 C (\lambda (e2:
-C).(clear c2 e2)) (\lambda (e2: C).(csubc g c e2))) (\lambda (H4: (ex2 C
-(\lambda (c3: C).(eq C c2 (CHead c3 (Flat f) u))) (\lambda (c3: C).(csubc g e
-c3)))).(ex2_ind C (\lambda (c3: C).(eq C c2 (CHead c3 (Flat f) u))) (\lambda
-(c3: C).(csubc g e c3)) (ex2 C (\lambda (e2: C).(clear c2 e2)) (\lambda (e2:
-C).(csubc g c e2))) (\lambda (x: C).(\lambda (H5: (eq C c2 (CHead x (Flat f)
-u))).(\lambda (H6: (csubc g e x)).(eq_ind_r C (CHead x (Flat f) u) (\lambda
-(c0: C).(ex2 C (\lambda (e2: C).(clear c0 e2)) (\lambda (e2: C).(csubc g c
-e2)))) (let H_x0 \def (H1 x H6) in (let H7 \def H_x0 in (ex2_ind C (\lambda
-(e2: C).(clear x e2)) (\lambda (e2: C).(csubc g c e2)) (ex2 C (\lambda (e2:
-C).(clear (CHead x (Flat f) u) e2)) (\lambda (e2: C).(csubc g c e2)))
-(\lambda (x0: C).(\lambda (H8: (clear x x0)).(\lambda (H9: (csubc g c
-x0)).(ex_intro2 C (\lambda (e2: C).(clear (CHead x (Flat f) u) e2)) (\lambda
-(e2: C).(csubc g c e2)) x0 (clear_flat x x0 H8 f u) H9)))) H7))) c2 H5))))
-H4)) (\lambda (H4: (ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_:
-A).(eq K (Flat f) (Bind Abst))))) (\lambda (c3: C).(\lambda (w: T).(\lambda
-(_: A).(eq C c2 (CHead c3 (Bind Abbr) w))))) (\lambda (c3: C).(\lambda (_:
-T).(\lambda (_: A).(csubc g e c3)))) (\lambda (_: C).(\lambda (_: T).(\lambda
-(a: A).(sc3 g (asucc g a) e u)))) (\lambda (c3: C).(\lambda (w: T).(\lambda
-(a: A).(sc3 g a c3 w)))))).(ex5_3_ind C T A (\lambda (_: C).(\lambda (_:
-T).(\lambda (_: A).(eq K (Flat f) (Bind Abst))))) (\lambda (c3: C).(\lambda
-(w: T).(\lambda (_: A).(eq C c2 (CHead c3 (Bind Abbr) w))))) (\lambda (c3:
-C).(\lambda (_: T).(\lambda (_: A).(csubc g e c3)))) (\lambda (_: C).(\lambda
-(_: T).(\lambda (a: A).(sc3 g (asucc g a) e u)))) (\lambda (c3: C).(\lambda
-(w: T).(\lambda (a: A).(sc3 g a c3 w)))) (ex2 C (\lambda (e2: C).(clear c2
-e2)) (\lambda (e2: C).(csubc g c e2))) (\lambda (x0: C).(\lambda (x1:
-T).(\lambda (x2: A).(\lambda (H5: (eq K (Flat f) (Bind Abst))).(\lambda (H6:
-(eq C c2 (CHead x0 (Bind Abbr) x1))).(\lambda (_: (csubc g e x0)).(\lambda
-(_: (sc3 g (asucc g x2) e u)).(\lambda (_: (sc3 g x2 x0 x1)).(eq_ind_r C
-(CHead x0 (Bind Abbr) x1) (\lambda (c0: C).(ex2 C (\lambda (e2: C).(clear c0
-e2)) (\lambda (e2: C).(csubc g c e2)))) (let H10 \def (eq_ind K (Flat f)
-(\lambda (ee: K).(match ee in K return (\lambda (_: K).Prop) with [(Bind _)
-\Rightarrow False | (Flat _) \Rightarrow True])) I (Bind Abst) H5) in
-(False_ind (ex2 C (\lambda (e2: C).(clear (CHead x0 (Bind Abbr) x1) e2))
-(\lambda (e2: C).(csubc g c e2))) H10)) c2 H6))))))))) H4)) (\lambda (H4:
-(ex4_3 B C T (\lambda (b: B).(\lambda (c3: C).(\lambda (v2: T).(eq C c2
-(CHead c3 (Bind b) v2))))) (\lambda (_: B).(\lambda (_: C).(\lambda (_:
-T).(eq K (Flat f) (Bind Void))))) (\lambda (b: B).(\lambda (_: C).(\lambda
-(_: T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c3: C).(\lambda (_:
-T).(csubc g e c3)))))).(ex4_3_ind B C T (\lambda (b: B).(\lambda (c3:
-C).(\lambda (v2: T).(eq C c2 (CHead c3 (Bind b) v2))))) (\lambda (_:
-B).(\lambda (_: C).(\lambda (_: T).(eq K (Flat f) (Bind Void))))) (\lambda
-(b: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_:
-B).(\lambda (c3: C).(\lambda (_: T).(csubc g e c3)))) (ex2 C (\lambda (e2:
-C).(clear c2 e2)) (\lambda (e2: C).(csubc g c e2))) (\lambda (x0: B).(\lambda
-(x1: C).(\lambda (x2: T).(\lambda (H5: (eq C c2 (CHead x1 (Bind x0)
-x2))).(\lambda (H6: (eq K (Flat f) (Bind Void))).(\lambda (_: (not (eq B x0
-Void))).(\lambda (_: (csubc g e x1)).(eq_ind_r C (CHead x1 (Bind x0) x2)
-(\lambda (c0: C).(ex2 C (\lambda (e2: C).(clear c0 e2)) (\lambda (e2:
-C).(csubc g c e2)))) (let H9 \def (eq_ind K (Flat f) (\lambda (ee: K).(match
-ee in K return (\lambda (_: K).Prop) with [(Bind _) \Rightarrow False | (Flat
-_) \Rightarrow True])) I (Bind Void) H6) in (False_ind (ex2 C (\lambda (e2:
-C).(clear (CHead x1 (Bind x0) x2) e2)) (\lambda (e2: C).(csubc g c e2))) H9))
-c2 H5)))))))) H4)) H3))))))))))) c1 e1 H)))).
-(* COMMENTS
-Initial nodes: 2837
-END *)
+c3)))))).(let TMP_114 \def (\lambda (b0: B).(\lambda (c3: C).(\lambda (v2:
+T).(let TMP_112 \def (Bind b0) in (let TMP_113 \def (CHead c3 TMP_112 v2) in
+(eq C c2 TMP_113)))))) in (let TMP_117 \def (\lambda (_: B).(\lambda (_:
+C).(\lambda (_: T).(let TMP_115 \def (Bind b) in (let TMP_116 \def (Bind
+Void) in (eq K TMP_115 TMP_116)))))) in (let TMP_119 \def (\lambda (b0:
+B).(\lambda (_: C).(\lambda (_: T).(let TMP_118 \def (eq B b0 Void) in (not
+TMP_118))))) in (let TMP_120 \def (\lambda (_: B).(\lambda (c3: C).(\lambda
+(_: T).(csubc g e c3)))) in (let TMP_121 \def (\lambda (e2: C).(clear c2 e2))
+in (let TMP_124 \def (\lambda (e2: C).(let TMP_122 \def (Bind b) in (let
+TMP_123 \def (CHead e TMP_122 u) in (csubc g TMP_123 e2)))) in (let TMP_125
+\def (ex2 C TMP_121 TMP_124) in (let TMP_155 \def (\lambda (x0: B).(\lambda
+(x1: C).(\lambda (x2: T).(\lambda (H3: (eq C c2 (CHead x1 (Bind x0)
+x2))).(\lambda (H4: (eq K (Bind b) (Bind Void))).(\lambda (H5: (not (eq B x0
+Void))).(\lambda (H6: (csubc g e x1)).(let TMP_126 \def (Bind x0) in (let
+TMP_127 \def (CHead x1 TMP_126 x2) in (let TMP_132 \def (\lambda (c: C).(let
+TMP_128 \def (\lambda (e2: C).(clear c e2)) in (let TMP_131 \def (\lambda
+(e2: C).(let TMP_129 \def (Bind b) in (let TMP_130 \def (CHead e TMP_129 u)
+in (csubc g TMP_130 e2)))) in (ex2 C TMP_128 TMP_131)))) in (let TMP_133 \def
+(\lambda (e0: K).(match e0 with [(Bind b0) \Rightarrow b0 | (Flat _)
+\Rightarrow b])) in (let TMP_134 \def (Bind b) in (let TMP_135 \def (Bind
+Void) in (let H7 \def (f_equal K B TMP_133 TMP_134 TMP_135 H4) in (let
+TMP_142 \def (\lambda (b0: B).(let TMP_138 \def (\lambda (e2: C).(let TMP_136
+\def (Bind x0) in (let TMP_137 \def (CHead x1 TMP_136 x2) in (clear TMP_137
+e2)))) in (let TMP_141 \def (\lambda (e2: C).(let TMP_139 \def (Bind b0) in
+(let TMP_140 \def (CHead e TMP_139 u) in (csubc g TMP_140 e2)))) in (ex2 C
+TMP_138 TMP_141)))) in (let TMP_145 \def (\lambda (e2: C).(let TMP_143 \def
+(Bind x0) in (let TMP_144 \def (CHead x1 TMP_143 x2) in (clear TMP_144 e2))))
+in (let TMP_148 \def (\lambda (e2: C).(let TMP_146 \def (Bind Void) in (let
+TMP_147 \def (CHead e TMP_146 u) in (csubc g TMP_147 e2)))) in (let TMP_149
+\def (Bind x0) in (let TMP_150 \def (CHead x1 TMP_149 x2) in (let TMP_151
+\def (clear_bind x0 x1 x2) in (let TMP_152 \def (csubc_void g e x1 H6 x0 H5 u
+x2) in (let TMP_153 \def (ex_intro2 C TMP_145 TMP_148 TMP_150 TMP_151
+TMP_152) in (let TMP_154 \def (eq_ind_r B Void TMP_142 TMP_153 b H7) in
+(eq_ind_r C TMP_127 TMP_132 TMP_154 c2 H3)))))))))))))))))))))))) in
+(ex4_3_ind B C T TMP_114 TMP_117 TMP_119 TMP_120 TMP_125 TMP_155 H2))))))))))
+in (or3_ind TMP_9 TMP_20 TMP_30 TMP_35 TMP_65 TMP_111 TMP_156
+H1))))))))))))))))))))))))))))) in (let TMP_273 \def (\lambda (e: C).(\lambda
+(c: C).(\lambda (_: (clear e c)).(\lambda (H1: ((\forall (c2: C).((csubc g e
+c2) \to (ex2 C (\lambda (e2: C).(clear c2 e2)) (\lambda (e2: C).(csubc g c
+e2))))))).(\lambda (f: F).(\lambda (u: T).(\lambda (c2: C).(\lambda (H2:
+(csubc g (CHead e (Flat f) u) c2)).(let TMP_158 \def (Flat f) in (let H_x
+\def (csubc_gen_head_l g e c2 u TMP_158 H2) in (let H3 \def H_x in (let
+TMP_161 \def (\lambda (c3: C).(let TMP_159 \def (Flat f) in (let TMP_160 \def
+(CHead c3 TMP_159 u) in (eq C c2 TMP_160)))) in (let TMP_162 \def (\lambda
+(c3: C).(csubc g e c3)) in (let TMP_163 \def (ex2 C TMP_161 TMP_162) in (let
+TMP_166 \def (\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(let TMP_164
+\def (Flat f) in (let TMP_165 \def (Bind Abst) in (eq K TMP_164 TMP_165))))))
+in (let TMP_169 \def (\lambda (c3: C).(\lambda (w: T).(\lambda (_: A).(let
+TMP_167 \def (Bind Abbr) in (let TMP_168 \def (CHead c3 TMP_167 w) in (eq C
+c2 TMP_168)))))) in (let TMP_170 \def (\lambda (c3: C).(\lambda (_:
+T).(\lambda (_: A).(csubc g e c3)))) in (let TMP_172 \def (\lambda (_:
+C).(\lambda (_: T).(\lambda (a: A).(let TMP_171 \def (asucc g a) in (sc3 g
+TMP_171 e u))))) in (let TMP_173 \def (\lambda (c3: C).(\lambda (w:
+T).(\lambda (a: A).(sc3 g a c3 w)))) in (let TMP_174 \def (ex5_3 C T A
+TMP_166 TMP_169 TMP_170 TMP_172 TMP_173) in (let TMP_177 \def (\lambda (b:
+B).(\lambda (c3: C).(\lambda (v2: T).(let TMP_175 \def (Bind b) in (let
+TMP_176 \def (CHead c3 TMP_175 v2) in (eq C c2 TMP_176)))))) in (let TMP_180
+\def (\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(let TMP_178 \def (Flat
+f) in (let TMP_179 \def (Bind Void) in (eq K TMP_178 TMP_179)))))) in (let
+TMP_182 \def (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(let TMP_181
+\def (eq B b Void) in (not TMP_181))))) in (let TMP_183 \def (\lambda (_:
+B).(\lambda (c3: C).(\lambda (_: T).(csubc g e c3)))) in (let TMP_184 \def
+(ex4_3 B C T TMP_177 TMP_180 TMP_182 TMP_183) in (let TMP_185 \def (\lambda
+(e2: C).(clear c2 e2)) in (let TMP_186 \def (\lambda (e2: C).(csubc g c e2))
+in (let TMP_187 \def (ex2 C TMP_185 TMP_186) in (let TMP_215 \def (\lambda
+(H4: (ex2 C (\lambda (c3: C).(eq C c2 (CHead c3 (Flat f) u))) (\lambda (c3:
+C).(csubc g e c3)))).(let TMP_190 \def (\lambda (c3: C).(let TMP_188 \def
+(Flat f) in (let TMP_189 \def (CHead c3 TMP_188 u) in (eq C c2 TMP_189)))) in
+(let TMP_191 \def (\lambda (c3: C).(csubc g e c3)) in (let TMP_192 \def
+(\lambda (e2: C).(clear c2 e2)) in (let TMP_193 \def (\lambda (e2: C).(csubc
+g c e2)) in (let TMP_194 \def (ex2 C TMP_192 TMP_193) in (let TMP_214 \def
+(\lambda (x: C).(\lambda (H5: (eq C c2 (CHead x (Flat f) u))).(\lambda (H6:
+(csubc g e x)).(let TMP_195 \def (Flat f) in (let TMP_196 \def (CHead x
+TMP_195 u) in (let TMP_199 \def (\lambda (c0: C).(let TMP_197 \def (\lambda
+(e2: C).(clear c0 e2)) in (let TMP_198 \def (\lambda (e2: C).(csubc g c e2))
+in (ex2 C TMP_197 TMP_198)))) in (let H_x0 \def (H1 x H6) in (let H7 \def
+H_x0 in (let TMP_200 \def (\lambda (e2: C).(clear x e2)) in (let TMP_201 \def
+(\lambda (e2: C).(csubc g c e2)) in (let TMP_204 \def (\lambda (e2: C).(let
+TMP_202 \def (Flat f) in (let TMP_203 \def (CHead x TMP_202 u) in (clear
+TMP_203 e2)))) in (let TMP_205 \def (\lambda (e2: C).(csubc g c e2)) in (let
+TMP_206 \def (ex2 C TMP_204 TMP_205) in (let TMP_212 \def (\lambda (x0:
+C).(\lambda (H8: (clear x x0)).(\lambda (H9: (csubc g c x0)).(let TMP_209
+\def (\lambda (e2: C).(let TMP_207 \def (Flat f) in (let TMP_208 \def (CHead
+x TMP_207 u) in (clear TMP_208 e2)))) in (let TMP_210 \def (\lambda (e2:
+C).(csubc g c e2)) in (let TMP_211 \def (clear_flat x x0 H8 f u) in
+(ex_intro2 C TMP_209 TMP_210 x0 TMP_211 H9))))))) in (let TMP_213 \def
+(ex2_ind C TMP_200 TMP_201 TMP_206 TMP_212 H7) in (eq_ind_r C TMP_196 TMP_199
+TMP_213 c2 H5)))))))))))))))) in (ex2_ind C TMP_190 TMP_191 TMP_194 TMP_214
+H4)))))))) in (let TMP_244 \def (\lambda (H4: (ex5_3 C T A (\lambda (_:
+C).(\lambda (_: T).(\lambda (_: A).(eq K (Flat f) (Bind Abst))))) (\lambda
+(c3: C).(\lambda (w: T).(\lambda (_: A).(eq C c2 (CHead c3 (Bind Abbr) w)))))
+(\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g e c3)))) (\lambda
+(_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g (asucc g a) e u)))) (\lambda
+(c3: C).(\lambda (w: T).(\lambda (a: A).(sc3 g a c3 w)))))).(let TMP_218 \def
+(\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(let TMP_216 \def (Flat f) in
+(let TMP_217 \def (Bind Abst) in (eq K TMP_216 TMP_217)))))) in (let TMP_221
+\def (\lambda (c3: C).(\lambda (w: T).(\lambda (_: A).(let TMP_219 \def (Bind
+Abbr) in (let TMP_220 \def (CHead c3 TMP_219 w) in (eq C c2 TMP_220)))))) in
+(let TMP_222 \def (\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g e
+c3)))) in (let TMP_224 \def (\lambda (_: C).(\lambda (_: T).(\lambda (a:
+A).(let TMP_223 \def (asucc g a) in (sc3 g TMP_223 e u))))) in (let TMP_225
+\def (\lambda (c3: C).(\lambda (w: T).(\lambda (a: A).(sc3 g a c3 w)))) in
+(let TMP_226 \def (\lambda (e2: C).(clear c2 e2)) in (let TMP_227 \def
+(\lambda (e2: C).(csubc g c e2)) in (let TMP_228 \def (ex2 C TMP_226 TMP_227)
+in (let TMP_243 \def (\lambda (x0: C).(\lambda (x1: T).(\lambda (x2:
+A).(\lambda (H5: (eq K (Flat f) (Bind Abst))).(\lambda (H6: (eq C c2 (CHead
+x0 (Bind Abbr) x1))).(\lambda (_: (csubc g e x0)).(\lambda (_: (sc3 g (asucc
+g x2) e u)).(\lambda (_: (sc3 g x2 x0 x1)).(let TMP_229 \def (Bind Abbr) in
+(let TMP_230 \def (CHead x0 TMP_229 x1) in (let TMP_233 \def (\lambda (c0:
+C).(let TMP_231 \def (\lambda (e2: C).(clear c0 e2)) in (let TMP_232 \def
+(\lambda (e2: C).(csubc g c e2)) in (ex2 C TMP_231 TMP_232)))) in (let
+TMP_234 \def (Flat f) in (let TMP_235 \def (\lambda (ee: K).(match ee with
+[(Bind _) \Rightarrow False | (Flat _) \Rightarrow True])) in (let TMP_236
+\def (Bind Abst) in (let H10 \def (eq_ind K TMP_234 TMP_235 I TMP_236 H5) in
+(let TMP_239 \def (\lambda (e2: C).(let TMP_237 \def (Bind Abbr) in (let
+TMP_238 \def (CHead x0 TMP_237 x1) in (clear TMP_238 e2)))) in (let TMP_240
+\def (\lambda (e2: C).(csubc g c e2)) in (let TMP_241 \def (ex2 C TMP_239
+TMP_240) in (let TMP_242 \def (False_ind TMP_241 H10) in (eq_ind_r C TMP_230
+TMP_233 TMP_242 c2 H6)))))))))))))))))))) in (ex5_3_ind C T A TMP_218 TMP_221
+TMP_222 TMP_224 TMP_225 TMP_228 TMP_243 H4))))))))))) in (let TMP_272 \def
+(\lambda (H4: (ex4_3 B C T (\lambda (b: B).(\lambda (c3: C).(\lambda (v2:
+T).(eq C c2 (CHead c3 (Bind b) v2))))) (\lambda (_: B).(\lambda (_:
+C).(\lambda (_: T).(eq K (Flat f) (Bind Void))))) (\lambda (b: B).(\lambda
+(_: C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c3:
+C).(\lambda (_: T).(csubc g e c3)))))).(let TMP_247 \def (\lambda (b:
+B).(\lambda (c3: C).(\lambda (v2: T).(let TMP_245 \def (Bind b) in (let
+TMP_246 \def (CHead c3 TMP_245 v2) in (eq C c2 TMP_246)))))) in (let TMP_250
+\def (\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(let TMP_248 \def (Flat
+f) in (let TMP_249 \def (Bind Void) in (eq K TMP_248 TMP_249)))))) in (let
+TMP_252 \def (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(let TMP_251
+\def (eq B b Void) in (not TMP_251))))) in (let TMP_253 \def (\lambda (_:
+B).(\lambda (c3: C).(\lambda (_: T).(csubc g e c3)))) in (let TMP_254 \def
+(\lambda (e2: C).(clear c2 e2)) in (let TMP_255 \def (\lambda (e2: C).(csubc
+g c e2)) in (let TMP_256 \def (ex2 C TMP_254 TMP_255) in (let TMP_271 \def
+(\lambda (x0: B).(\lambda (x1: C).(\lambda (x2: T).(\lambda (H5: (eq C c2
+(CHead x1 (Bind x0) x2))).(\lambda (H6: (eq K (Flat f) (Bind Void))).(\lambda
+(_: (not (eq B x0 Void))).(\lambda (_: (csubc g e x1)).(let TMP_257 \def
+(Bind x0) in (let TMP_258 \def (CHead x1 TMP_257 x2) in (let TMP_261 \def
+(\lambda (c0: C).(let TMP_259 \def (\lambda (e2: C).(clear c0 e2)) in (let
+TMP_260 \def (\lambda (e2: C).(csubc g c e2)) in (ex2 C TMP_259 TMP_260))))
+in (let TMP_262 \def (Flat f) in (let TMP_263 \def (\lambda (ee: K).(match ee
+with [(Bind _) \Rightarrow False | (Flat _) \Rightarrow True])) in (let
+TMP_264 \def (Bind Void) in (let H9 \def (eq_ind K TMP_262 TMP_263 I TMP_264
+H6) in (let TMP_267 \def (\lambda (e2: C).(let TMP_265 \def (Bind x0) in (let
+TMP_266 \def (CHead x1 TMP_265 x2) in (clear TMP_266 e2)))) in (let TMP_268
+\def (\lambda (e2: C).(csubc g c e2)) in (let TMP_269 \def (ex2 C TMP_267
+TMP_268) in (let TMP_270 \def (False_ind TMP_269 H9) in (eq_ind_r C TMP_258
+TMP_261 TMP_270 c2 H5))))))))))))))))))) in (ex4_3_ind B C T TMP_247 TMP_250
+TMP_252 TMP_253 TMP_256 TMP_271 H4)))))))))) in (or3_ind TMP_163 TMP_174
+TMP_184 TMP_187 TMP_215 TMP_244 TMP_272 H3)))))))))))))))))))))))))))))))) in
+(clear_ind TMP_3 TMP_157 TMP_273 c1 e1 H))))))).
(* This file was automatically generated: do not edit *********************)
-include "Basic-1/csubc/defs.ma".
+include "basic_1/csubc/fwd.ma".
-include "Basic-1/sc3/props.ma".
+include "basic_1/sc3/props.ma".
theorem csubc_csuba:
\forall (g: G).(\forall (c1: C).(\forall (c2: C).((csubc g c1 c2) \to (csuba
g c1 c2))))
\def
\lambda (g: G).(\lambda (c1: C).(\lambda (c2: C).(\lambda (H: (csubc g c1
-c2)).(csubc_ind g (\lambda (c: C).(\lambda (c0: C).(csuba g c c0))) (\lambda
-(n: nat).(csuba_refl g (CSort n))) (\lambda (c3: C).(\lambda (c4: C).(\lambda
-(_: (csubc g c3 c4)).(\lambda (H1: (csuba g c3 c4)).(\lambda (k: K).(\lambda
-(v: T).(csuba_head g c3 c4 H1 k v))))))) (\lambda (c3: C).(\lambda (c4:
-C).(\lambda (_: (csubc g c3 c4)).(\lambda (H1: (csuba g c3 c4)).(\lambda (b:
-B).(\lambda (H2: (not (eq B b Void))).(\lambda (u1: T).(\lambda (u2:
-T).(csuba_void g c3 c4 H1 b H2 u1 u2))))))))) (\lambda (c3: C).(\lambda (c4:
-C).(\lambda (_: (csubc g c3 c4)).(\lambda (H1: (csuba g c3 c4)).(\lambda (v:
-T).(\lambda (a: A).(\lambda (H2: (sc3 g (asucc g a) c3 v)).(\lambda (w:
-T).(\lambda (H3: (sc3 g a c4 w)).(csuba_abst g c3 c4 H1 v a (sc3_arity_gen g
-c3 v (asucc g a) H2) w (sc3_arity_gen g c4 w a H3))))))))))) c1 c2 H)))).
-(* COMMENTS
-Initial nodes: 231
-END *)
+c2)).(let TMP_1 \def (\lambda (c: C).(\lambda (c0: C).(csuba g c c0))) in
+(let TMP_3 \def (\lambda (n: nat).(let TMP_2 \def (CSort n) in (csuba_refl g
+TMP_2))) in (let TMP_4 \def (\lambda (c3: C).(\lambda (c4: C).(\lambda (_:
+(csubc g c3 c4)).(\lambda (H1: (csuba g c3 c4)).(\lambda (k: K).(\lambda (v:
+T).(csuba_head g c3 c4 H1 k v))))))) in (let TMP_5 \def (\lambda (c3:
+C).(\lambda (c4: C).(\lambda (_: (csubc g c3 c4)).(\lambda (H1: (csuba g c3
+c4)).(\lambda (b: B).(\lambda (H2: (not (eq B b Void))).(\lambda (u1:
+T).(\lambda (u2: T).(csuba_void g c3 c4 H1 b H2 u1 u2))))))))) in (let TMP_9
+\def (\lambda (c3: C).(\lambda (c4: C).(\lambda (_: (csubc g c3 c4)).(\lambda
+(H1: (csuba g c3 c4)).(\lambda (v: T).(\lambda (a: A).(\lambda (H2: (sc3 g
+(asucc g a) c3 v)).(\lambda (w: T).(\lambda (H3: (sc3 g a c4 w)).(let TMP_6
+\def (asucc g a) in (let TMP_7 \def (sc3_arity_gen g c3 v TMP_6 H2) in (let
+TMP_8 \def (sc3_arity_gen g c4 w a H3) in (csuba_abst g c3 c4 H1 v a TMP_7 w
+TMP_8))))))))))))) in (csubc_ind g TMP_1 TMP_3 TMP_4 TMP_5 TMP_9 c1 c2
+H))))))))).
(* This file was automatically generated: do not edit *********************)
-include "Basic-1/sc3/defs.ma".
+include "basic_1/sc3/defs.ma".
inductive csubc (g: G): C \to (C \to Prop) \def
| csubc_sort: \forall (n: nat).(csubc g (CSort n) (CSort n))
(* This file was automatically generated: do not edit *********************)
-include "Basic-1/csubc/fwd.ma".
+include "basic_1/csubc/fwd.ma".
-include "Basic-1/sc3/props.ma".
+include "basic_1/sc3/props.ma".
theorem csubc_drop_conf_O:
\forall (g: G).(\forall (c1: C).(\forall (e1: C).(\forall (h: nat).((drop h
O c1 e1) \to (\forall (c2: C).((csubc g c1 c2) \to (ex2 C (\lambda (e2:
C).(drop h O c2 e2)) (\lambda (e2: C).(csubc g e1 e2)))))))))
\def
- \lambda (g: G).(\lambda (c1: C).(C_ind (\lambda (c: C).(\forall (e1:
-C).(\forall (h: nat).((drop h O c e1) \to (\forall (c2: C).((csubc g c c2)
-\to (ex2 C (\lambda (e2: C).(drop h O c2 e2)) (\lambda (e2: C).(csubc g e1
-e2))))))))) (\lambda (n: nat).(\lambda (e1: C).(\lambda (h: nat).(\lambda (H:
+ \lambda (g: G).(\lambda (c1: C).(let TMP_3 \def (\lambda (c: C).(\forall
+(e1: C).(\forall (h: nat).((drop h O c e1) \to (\forall (c2: C).((csubc g c
+c2) \to (let TMP_1 \def (\lambda (e2: C).(drop h O c2 e2)) in (let TMP_2 \def
+(\lambda (e2: C).(csubc g e1 e2)) in (ex2 C TMP_1 TMP_2))))))))) in (let
+TMP_26 \def (\lambda (n: nat).(\lambda (e1: C).(\lambda (h: nat).(\lambda (H:
(drop h O (CSort n) e1)).(\lambda (c2: C).(\lambda (H0: (csubc g (CSort n)
-c2)).(and3_ind (eq C e1 (CSort n)) (eq nat h O) (eq nat O O) (ex2 C (\lambda
-(e2: C).(drop h O c2 e2)) (\lambda (e2: C).(csubc g e1 e2))) (\lambda (H1:
-(eq C e1 (CSort n))).(\lambda (H2: (eq nat h O)).(\lambda (_: (eq nat O
-O)).(eq_ind_r nat O (\lambda (n0: nat).(ex2 C (\lambda (e2: C).(drop n0 O c2
-e2)) (\lambda (e2: C).(csubc g e1 e2)))) (eq_ind_r C (CSort n) (\lambda (c:
-C).(ex2 C (\lambda (e2: C).(drop O O c2 e2)) (\lambda (e2: C).(csubc g c
-e2)))) (ex_intro2 C (\lambda (e2: C).(drop O O c2 e2)) (\lambda (e2:
-C).(csubc g (CSort n) e2)) c2 (drop_refl c2) H0) e1 H1) h H2))))
-(drop_gen_sort n h O e1 H)))))))) (\lambda (c: C).(\lambda (H: ((\forall (e1:
-C).(\forall (h: nat).((drop h O c e1) \to (\forall (c2: C).((csubc g c c2)
-\to (ex2 C (\lambda (e2: C).(drop h O c2 e2)) (\lambda (e2: C).(csubc g e1
-e2)))))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (e1: C).(\lambda (h:
-nat).(nat_ind (\lambda (n: nat).((drop n O (CHead c k t) e1) \to (\forall
-(c2: C).((csubc g (CHead c k t) c2) \to (ex2 C (\lambda (e2: C).(drop n O c2
-e2)) (\lambda (e2: C).(csubc g e1 e2))))))) (\lambda (H0: (drop O O (CHead c
-k t) e1)).(\lambda (c2: C).(\lambda (H1: (csubc g (CHead c k t) c2)).(eq_ind
-C (CHead c k t) (\lambda (c0: C).(ex2 C (\lambda (e2: C).(drop O O c2 e2))
-(\lambda (e2: C).(csubc g c0 e2)))) (ex_intro2 C (\lambda (e2: C).(drop O O
-c2 e2)) (\lambda (e2: C).(csubc g (CHead c k t) e2)) c2 (drop_refl c2) H1) e1
-(drop_gen_refl (CHead c k t) e1 H0))))) (\lambda (n: nat).(\lambda (H0:
-(((drop n O (CHead c k t) e1) \to (\forall (c2: C).((csubc g (CHead c k t)
-c2) \to (ex2 C (\lambda (e2: C).(drop n O c2 e2)) (\lambda (e2: C).(csubc g
-e1 e2)))))))).(\lambda (H1: (drop (S n) O (CHead c k t) e1)).(\lambda (c2:
+c2)).(let TMP_4 \def (CSort n) in (let TMP_5 \def (eq C e1 TMP_4) in (let
+TMP_6 \def (eq nat h O) in (let TMP_7 \def (eq nat O O) in (let TMP_8 \def
+(\lambda (e2: C).(drop h O c2 e2)) in (let TMP_9 \def (\lambda (e2: C).(csubc
+g e1 e2)) in (let TMP_10 \def (ex2 C TMP_8 TMP_9) in (let TMP_24 \def
+(\lambda (H1: (eq C e1 (CSort n))).(\lambda (H2: (eq nat h O)).(\lambda (_:
+(eq nat O O)).(let TMP_13 \def (\lambda (n0: nat).(let TMP_11 \def (\lambda
+(e2: C).(drop n0 O c2 e2)) in (let TMP_12 \def (\lambda (e2: C).(csubc g e1
+e2)) in (ex2 C TMP_11 TMP_12)))) in (let TMP_14 \def (CSort n) in (let TMP_17
+\def (\lambda (c: C).(let TMP_15 \def (\lambda (e2: C).(drop O O c2 e2)) in
+(let TMP_16 \def (\lambda (e2: C).(csubc g c e2)) in (ex2 C TMP_15 TMP_16))))
+in (let TMP_18 \def (\lambda (e2: C).(drop O O c2 e2)) in (let TMP_20 \def
+(\lambda (e2: C).(let TMP_19 \def (CSort n) in (csubc g TMP_19 e2))) in (let
+TMP_21 \def (drop_refl c2) in (let TMP_22 \def (ex_intro2 C TMP_18 TMP_20 c2
+TMP_21 H0) in (let TMP_23 \def (eq_ind_r C TMP_14 TMP_17 TMP_22 e1 H1) in
+(eq_ind_r nat O TMP_13 TMP_23 h H2)))))))))))) in (let TMP_25 \def
+(drop_gen_sort n h O e1 H) in (and3_ind TMP_5 TMP_6 TMP_7 TMP_10 TMP_24
+TMP_25)))))))))))))))) in (let TMP_196 \def (\lambda (c: C).(\lambda (H:
+((\forall (e1: C).(\forall (h: nat).((drop h O c e1) \to (\forall (c2:
+C).((csubc g c c2) \to (ex2 C (\lambda (e2: C).(drop h O c2 e2)) (\lambda
+(e2: C).(csubc g e1 e2)))))))))).(\lambda (k: K).(\lambda (t: T).(\lambda
+(e1: C).(\lambda (h: nat).(let TMP_29 \def (\lambda (n: nat).((drop n O
+(CHead c k t) e1) \to (\forall (c2: C).((csubc g (CHead c k t) c2) \to (let
+TMP_27 \def (\lambda (e2: C).(drop n O c2 e2)) in (let TMP_28 \def (\lambda
+(e2: C).(csubc g e1 e2)) in (ex2 C TMP_27 TMP_28))))))) in (let TMP_41 \def
+(\lambda (H0: (drop O O (CHead c k t) e1)).(\lambda (c2: C).(\lambda (H1:
+(csubc g (CHead c k t) c2)).(let TMP_30 \def (CHead c k t) in (let TMP_33
+\def (\lambda (c0: C).(let TMP_31 \def (\lambda (e2: C).(drop O O c2 e2)) in
+(let TMP_32 \def (\lambda (e2: C).(csubc g c0 e2)) in (ex2 C TMP_31
+TMP_32)))) in (let TMP_34 \def (\lambda (e2: C).(drop O O c2 e2)) in (let
+TMP_36 \def (\lambda (e2: C).(let TMP_35 \def (CHead c k t) in (csubc g
+TMP_35 e2))) in (let TMP_37 \def (drop_refl c2) in (let TMP_38 \def
+(ex_intro2 C TMP_34 TMP_36 c2 TMP_37 H1) in (let TMP_39 \def (CHead c k t) in
+(let TMP_40 \def (drop_gen_refl TMP_39 e1 H0) in (eq_ind C TMP_30 TMP_33
+TMP_38 e1 TMP_40)))))))))))) in (let TMP_195 \def (\lambda (n: nat).(\lambda
+(H0: (((drop n O (CHead c k t) e1) \to (\forall (c2: C).((csubc g (CHead c k
+t) c2) \to (ex2 C (\lambda (e2: C).(drop n O c2 e2)) (\lambda (e2: C).(csubc
+g e1 e2)))))))).(\lambda (H1: (drop (S n) O (CHead c k t) e1)).(\lambda (c2:
C).(\lambda (H2: (csubc g (CHead c k t) c2)).(let H_x \def (csubc_gen_head_l
-g c c2 t k H2) in (let H3 \def H_x in (or3_ind (ex2 C (\lambda (c3: C).(eq C
-c2 (CHead c3 k t))) (\lambda (c3: C).(csubc g c c3))) (ex5_3 C T A (\lambda
-(_: C).(\lambda (_: T).(\lambda (_: A).(eq K k (Bind Abst))))) (\lambda (c3:
-C).(\lambda (w: T).(\lambda (_: A).(eq C c2 (CHead c3 (Bind Abbr) w)))))
-(\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g c c3)))) (\lambda
-(_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g (asucc g a) c t)))) (\lambda
-(c3: C).(\lambda (w: T).(\lambda (a: A).(sc3 g a c3 w))))) (ex4_3 B C T
-(\lambda (b: B).(\lambda (c3: C).(\lambda (v2: T).(eq C c2 (CHead c3 (Bind b)
-v2))))) (\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(eq K k (Bind
-Void))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b
-Void))))) (\lambda (_: B).(\lambda (c3: C).(\lambda (_: T).(csubc g c c3)))))
-(ex2 C (\lambda (e2: C).(drop (S n) O c2 e2)) (\lambda (e2: C).(csubc g e1
-e2))) (\lambda (H4: (ex2 C (\lambda (c3: C).(eq C c2 (CHead c3 k t)))
-(\lambda (c3: C).(csubc g c c3)))).(ex2_ind C (\lambda (c3: C).(eq C c2
-(CHead c3 k t))) (\lambda (c3: C).(csubc g c c3)) (ex2 C (\lambda (e2:
-C).(drop (S n) O c2 e2)) (\lambda (e2: C).(csubc g e1 e2))) (\lambda (x:
-C).(\lambda (H5: (eq C c2 (CHead x k t))).(\lambda (H6: (csubc g c
-x)).(eq_ind_r C (CHead x k t) (\lambda (c0: C).(ex2 C (\lambda (e2: C).(drop
-(S n) O c0 e2)) (\lambda (e2: C).(csubc g e1 e2)))) (let H_x0 \def (H e1 (r k
-n) (drop_gen_drop k c e1 t n H1) x H6) in (let H7 \def H_x0 in (ex2_ind C
-(\lambda (e2: C).(drop (r k n) O x e2)) (\lambda (e2: C).(csubc g e1 e2))
-(ex2 C (\lambda (e2: C).(drop (S n) O (CHead x k t) e2)) (\lambda (e2:
-C).(csubc g e1 e2))) (\lambda (x0: C).(\lambda (H8: (drop (r k n) O x
-x0)).(\lambda (H9: (csubc g e1 x0)).(ex_intro2 C (\lambda (e2: C).(drop (S n)
-O (CHead x k t) e2)) (\lambda (e2: C).(csubc g e1 e2)) x0 (drop_drop k n x x0
-H8 t) H9)))) H7))) c2 H5)))) H4)) (\lambda (H4: (ex5_3 C T A (\lambda (_:
-C).(\lambda (_: T).(\lambda (_: A).(eq K k (Bind Abst))))) (\lambda (c3:
-C).(\lambda (w: T).(\lambda (_: A).(eq C c2 (CHead c3 (Bind Abbr) w)))))
-(\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g c c3)))) (\lambda
-(_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g (asucc g a) c t)))) (\lambda
-(c3: C).(\lambda (w: T).(\lambda (a: A).(sc3 g a c3 w)))))).(ex5_3_ind C T A
-(\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K k (Bind Abst)))))
-(\lambda (c3: C).(\lambda (w: T).(\lambda (_: A).(eq C c2 (CHead c3 (Bind
-Abbr) w))))) (\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g c
-c3)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g (asucc g a) c
-t)))) (\lambda (c3: C).(\lambda (w: T).(\lambda (a: A).(sc3 g a c3 w)))) (ex2
-C (\lambda (e2: C).(drop (S n) O c2 e2)) (\lambda (e2: C).(csubc g e1 e2)))
-(\lambda (x0: C).(\lambda (x1: T).(\lambda (x2: A).(\lambda (H5: (eq K k
-(Bind Abst))).(\lambda (H6: (eq C c2 (CHead x0 (Bind Abbr) x1))).(\lambda
-(H7: (csubc g c x0)).(\lambda (_: (sc3 g (asucc g x2) c t)).(\lambda (_: (sc3
-g x2 x0 x1)).(eq_ind_r C (CHead x0 (Bind Abbr) x1) (\lambda (c0: C).(ex2 C
-(\lambda (e2: C).(drop (S n) O c0 e2)) (\lambda (e2: C).(csubc g e1 e2))))
-(let H10 \def (eq_ind K k (\lambda (k0: K).(drop (r k0 n) O c e1))
-(drop_gen_drop k c e1 t n H1) (Bind Abst) H5) in (let H11 \def (eq_ind K k
-(\lambda (k0: K).((drop n O (CHead c k0 t) e1) \to (\forall (c3: C).((csubc g
-(CHead c k0 t) c3) \to (ex2 C (\lambda (e2: C).(drop n O c3 e2)) (\lambda
-(e2: C).(csubc g e1 e2))))))) H0 (Bind Abst) H5) in (let H_x0 \def (H e1 (r
-(Bind Abst) n) H10 x0 H7) in (let H12 \def H_x0 in (ex2_ind C (\lambda (e2:
-C).(drop n O x0 e2)) (\lambda (e2: C).(csubc g e1 e2)) (ex2 C (\lambda (e2:
-C).(drop (S n) O (CHead x0 (Bind Abbr) x1) e2)) (\lambda (e2: C).(csubc g e1
-e2))) (\lambda (x: C).(\lambda (H13: (drop n O x0 x)).(\lambda (H14: (csubc g
-e1 x)).(ex_intro2 C (\lambda (e2: C).(drop (S n) O (CHead x0 (Bind Abbr) x1)
-e2)) (\lambda (e2: C).(csubc g e1 e2)) x (drop_drop (Bind Abbr) n x0 x H13
-x1) H14)))) H12))))) c2 H6))))))))) H4)) (\lambda (H4: (ex4_3 B C T (\lambda
-(b: B).(\lambda (c3: C).(\lambda (v2: T).(eq C c2 (CHead c3 (Bind b) v2)))))
-(\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(eq K k (Bind Void)))))
-(\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b Void)))))
-(\lambda (_: B).(\lambda (c3: C).(\lambda (_: T).(csubc g c
-c3)))))).(ex4_3_ind B C T (\lambda (b: B).(\lambda (c3: C).(\lambda (v2:
-T).(eq C c2 (CHead c3 (Bind b) v2))))) (\lambda (_: B).(\lambda (_:
-C).(\lambda (_: T).(eq K k (Bind Void))))) (\lambda (b: B).(\lambda (_:
-C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c3:
-C).(\lambda (_: T).(csubc g c c3)))) (ex2 C (\lambda (e2: C).(drop (S n) O c2
-e2)) (\lambda (e2: C).(csubc g e1 e2))) (\lambda (x0: B).(\lambda (x1:
-C).(\lambda (x2: T).(\lambda (H5: (eq C c2 (CHead x1 (Bind x0) x2))).(\lambda
-(H6: (eq K k (Bind Void))).(\lambda (_: (not (eq B x0 Void))).(\lambda (H8:
-(csubc g c x1)).(eq_ind_r C (CHead x1 (Bind x0) x2) (\lambda (c0: C).(ex2 C
-(\lambda (e2: C).(drop (S n) O c0 e2)) (\lambda (e2: C).(csubc g e1 e2))))
-(let H9 \def (eq_ind K k (\lambda (k0: K).(drop (r k0 n) O c e1))
-(drop_gen_drop k c e1 t n H1) (Bind Void) H6) in (let H10 \def (eq_ind K k
-(\lambda (k0: K).((drop n O (CHead c k0 t) e1) \to (\forall (c3: C).((csubc g
-(CHead c k0 t) c3) \to (ex2 C (\lambda (e2: C).(drop n O c3 e2)) (\lambda
-(e2: C).(csubc g e1 e2))))))) H0 (Bind Void) H6) in (let H_x0 \def (H e1 (r
-(Bind Void) n) H9 x1 H8) in (let H11 \def H_x0 in (ex2_ind C (\lambda (e2:
-C).(drop n O x1 e2)) (\lambda (e2: C).(csubc g e1 e2)) (ex2 C (\lambda (e2:
-C).(drop (S n) O (CHead x1 (Bind x0) x2) e2)) (\lambda (e2: C).(csubc g e1
-e2))) (\lambda (x: C).(\lambda (H12: (drop n O x1 x)).(\lambda (H13: (csubc g
-e1 x)).(ex_intro2 C (\lambda (e2: C).(drop (S n) O (CHead x1 (Bind x0) x2)
-e2)) (\lambda (e2: C).(csubc g e1 e2)) x (drop_drop (Bind x0) n x1 x H12 x2)
-H13)))) H11))))) c2 H5)))))))) H4)) H3)))))))) h))))))) c1)).
-(* COMMENTS
-Initial nodes: 2389
-END *)
+g c c2 t k H2) in (let H3 \def H_x in (let TMP_43 \def (\lambda (c3: C).(let
+TMP_42 \def (CHead c3 k t) in (eq C c2 TMP_42))) in (let TMP_44 \def (\lambda
+(c3: C).(csubc g c c3)) in (let TMP_45 \def (ex2 C TMP_43 TMP_44) in (let
+TMP_47 \def (\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(let TMP_46 \def
+(Bind Abst) in (eq K k TMP_46))))) in (let TMP_50 \def (\lambda (c3:
+C).(\lambda (w: T).(\lambda (_: A).(let TMP_48 \def (Bind Abbr) in (let
+TMP_49 \def (CHead c3 TMP_48 w) in (eq C c2 TMP_49)))))) in (let TMP_51 \def
+(\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g c c3)))) in (let
+TMP_53 \def (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(let TMP_52 \def
+(asucc g a) in (sc3 g TMP_52 c t))))) in (let TMP_54 \def (\lambda (c3:
+C).(\lambda (w: T).(\lambda (a: A).(sc3 g a c3 w)))) in (let TMP_55 \def
+(ex5_3 C T A TMP_47 TMP_50 TMP_51 TMP_53 TMP_54) in (let TMP_58 \def (\lambda
+(b: B).(\lambda (c3: C).(\lambda (v2: T).(let TMP_56 \def (Bind b) in (let
+TMP_57 \def (CHead c3 TMP_56 v2) in (eq C c2 TMP_57)))))) in (let TMP_60 \def
+(\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(let TMP_59 \def (Bind Void)
+in (eq K k TMP_59))))) in (let TMP_62 \def (\lambda (b: B).(\lambda (_:
+C).(\lambda (_: T).(let TMP_61 \def (eq B b Void) in (not TMP_61))))) in (let
+TMP_63 \def (\lambda (_: B).(\lambda (c3: C).(\lambda (_: T).(csubc g c
+c3)))) in (let TMP_64 \def (ex4_3 B C T TMP_58 TMP_60 TMP_62 TMP_63) in (let
+TMP_66 \def (\lambda (e2: C).(let TMP_65 \def (S n) in (drop TMP_65 O c2
+e2))) in (let TMP_67 \def (\lambda (e2: C).(csubc g e1 e2)) in (let TMP_68
+\def (ex2 C TMP_66 TMP_67) in (let TMP_99 \def (\lambda (H4: (ex2 C (\lambda
+(c3: C).(eq C c2 (CHead c3 k t))) (\lambda (c3: C).(csubc g c c3)))).(let
+TMP_70 \def (\lambda (c3: C).(let TMP_69 \def (CHead c3 k t) in (eq C c2
+TMP_69))) in (let TMP_71 \def (\lambda (c3: C).(csubc g c c3)) in (let TMP_73
+\def (\lambda (e2: C).(let TMP_72 \def (S n) in (drop TMP_72 O c2 e2))) in
+(let TMP_74 \def (\lambda (e2: C).(csubc g e1 e2)) in (let TMP_75 \def (ex2 C
+TMP_73 TMP_74) in (let TMP_98 \def (\lambda (x: C).(\lambda (H5: (eq C c2
+(CHead x k t))).(\lambda (H6: (csubc g c x)).(let TMP_76 \def (CHead x k t)
+in (let TMP_80 \def (\lambda (c0: C).(let TMP_78 \def (\lambda (e2: C).(let
+TMP_77 \def (S n) in (drop TMP_77 O c0 e2))) in (let TMP_79 \def (\lambda
+(e2: C).(csubc g e1 e2)) in (ex2 C TMP_78 TMP_79)))) in (let TMP_81 \def (r k
+n) in (let TMP_82 \def (drop_gen_drop k c e1 t n H1) in (let H_x0 \def (H e1
+TMP_81 TMP_82 x H6) in (let H7 \def H_x0 in (let TMP_84 \def (\lambda (e2:
+C).(let TMP_83 \def (r k n) in (drop TMP_83 O x e2))) in (let TMP_85 \def
+(\lambda (e2: C).(csubc g e1 e2)) in (let TMP_88 \def (\lambda (e2: C).(let
+TMP_86 \def (S n) in (let TMP_87 \def (CHead x k t) in (drop TMP_86 O TMP_87
+e2)))) in (let TMP_89 \def (\lambda (e2: C).(csubc g e1 e2)) in (let TMP_90
+\def (ex2 C TMP_88 TMP_89) in (let TMP_96 \def (\lambda (x0: C).(\lambda (H8:
+(drop (r k n) O x x0)).(\lambda (H9: (csubc g e1 x0)).(let TMP_93 \def
+(\lambda (e2: C).(let TMP_91 \def (S n) in (let TMP_92 \def (CHead x k t) in
+(drop TMP_91 O TMP_92 e2)))) in (let TMP_94 \def (\lambda (e2: C).(csubc g e1
+e2)) in (let TMP_95 \def (drop_drop k n x x0 H8 t) in (ex_intro2 C TMP_93
+TMP_94 x0 TMP_95 H9))))))) in (let TMP_97 \def (ex2_ind C TMP_84 TMP_85
+TMP_90 TMP_96 H7) in (eq_ind_r C TMP_76 TMP_80 TMP_97 c2 H5)))))))))))))))))
+in (ex2_ind C TMP_70 TMP_71 TMP_75 TMP_98 H4)))))))) in (let TMP_147 \def
+(\lambda (H4: (ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_:
+A).(eq K k (Bind Abst))))) (\lambda (c3: C).(\lambda (w: T).(\lambda (_:
+A).(eq C c2 (CHead c3 (Bind Abbr) w))))) (\lambda (c3: C).(\lambda (_:
+T).(\lambda (_: A).(csubc g c c3)))) (\lambda (_: C).(\lambda (_: T).(\lambda
+(a: A).(sc3 g (asucc g a) c t)))) (\lambda (c3: C).(\lambda (w: T).(\lambda
+(a: A).(sc3 g a c3 w)))))).(let TMP_101 \def (\lambda (_: C).(\lambda (_:
+T).(\lambda (_: A).(let TMP_100 \def (Bind Abst) in (eq K k TMP_100))))) in
+(let TMP_104 \def (\lambda (c3: C).(\lambda (w: T).(\lambda (_: A).(let
+TMP_102 \def (Bind Abbr) in (let TMP_103 \def (CHead c3 TMP_102 w) in (eq C
+c2 TMP_103)))))) in (let TMP_105 \def (\lambda (c3: C).(\lambda (_:
+T).(\lambda (_: A).(csubc g c c3)))) in (let TMP_107 \def (\lambda (_:
+C).(\lambda (_: T).(\lambda (a: A).(let TMP_106 \def (asucc g a) in (sc3 g
+TMP_106 c t))))) in (let TMP_108 \def (\lambda (c3: C).(\lambda (w:
+T).(\lambda (a: A).(sc3 g a c3 w)))) in (let TMP_110 \def (\lambda (e2:
+C).(let TMP_109 \def (S n) in (drop TMP_109 O c2 e2))) in (let TMP_111 \def
+(\lambda (e2: C).(csubc g e1 e2)) in (let TMP_112 \def (ex2 C TMP_110
+TMP_111) in (let TMP_146 \def (\lambda (x0: C).(\lambda (x1: T).(\lambda (x2:
+A).(\lambda (H5: (eq K k (Bind Abst))).(\lambda (H6: (eq C c2 (CHead x0 (Bind
+Abbr) x1))).(\lambda (H7: (csubc g c x0)).(\lambda (_: (sc3 g (asucc g x2) c
+t)).(\lambda (_: (sc3 g x2 x0 x1)).(let TMP_113 \def (Bind Abbr) in (let
+TMP_114 \def (CHead x0 TMP_113 x1) in (let TMP_118 \def (\lambda (c0: C).(let
+TMP_116 \def (\lambda (e2: C).(let TMP_115 \def (S n) in (drop TMP_115 O c0
+e2))) in (let TMP_117 \def (\lambda (e2: C).(csubc g e1 e2)) in (ex2 C
+TMP_116 TMP_117)))) in (let TMP_120 \def (\lambda (k0: K).(let TMP_119 \def
+(r k0 n) in (drop TMP_119 O c e1))) in (let TMP_121 \def (drop_gen_drop k c
+e1 t n H1) in (let TMP_122 \def (Bind Abst) in (let H10 \def (eq_ind K k
+TMP_120 TMP_121 TMP_122 H5) in (let TMP_125 \def (\lambda (k0: K).((drop n O
+(CHead c k0 t) e1) \to (\forall (c3: C).((csubc g (CHead c k0 t) c3) \to (let
+TMP_123 \def (\lambda (e2: C).(drop n O c3 e2)) in (let TMP_124 \def (\lambda
+(e2: C).(csubc g e1 e2)) in (ex2 C TMP_123 TMP_124))))))) in (let TMP_126
+\def (Bind Abst) in (let H11 \def (eq_ind K k TMP_125 H0 TMP_126 H5) in (let
+TMP_127 \def (Bind Abst) in (let TMP_128 \def (r TMP_127 n) in (let H_x0 \def
+(H e1 TMP_128 H10 x0 H7) in (let H12 \def H_x0 in (let TMP_129 \def (\lambda
+(e2: C).(drop n O x0 e2)) in (let TMP_130 \def (\lambda (e2: C).(csubc g e1
+e2)) in (let TMP_134 \def (\lambda (e2: C).(let TMP_131 \def (S n) in (let
+TMP_132 \def (Bind Abbr) in (let TMP_133 \def (CHead x0 TMP_132 x1) in (drop
+TMP_131 O TMP_133 e2))))) in (let TMP_135 \def (\lambda (e2: C).(csubc g e1
+e2)) in (let TMP_136 \def (ex2 C TMP_134 TMP_135) in (let TMP_144 \def
+(\lambda (x: C).(\lambda (H13: (drop n O x0 x)).(\lambda (H14: (csubc g e1
+x)).(let TMP_140 \def (\lambda (e2: C).(let TMP_137 \def (S n) in (let
+TMP_138 \def (Bind Abbr) in (let TMP_139 \def (CHead x0 TMP_138 x1) in (drop
+TMP_137 O TMP_139 e2))))) in (let TMP_141 \def (\lambda (e2: C).(csubc g e1
+e2)) in (let TMP_142 \def (Bind Abbr) in (let TMP_143 \def (drop_drop TMP_142
+n x0 x H13 x1) in (ex_intro2 C TMP_140 TMP_141 x TMP_143 H14)))))))) in (let
+TMP_145 \def (ex2_ind C TMP_129 TMP_130 TMP_136 TMP_144 H12) in (eq_ind_r C
+TMP_114 TMP_118 TMP_145 c2 H6)))))))))))))))))))))))))))))) in (ex5_3_ind C T
+A TMP_101 TMP_104 TMP_105 TMP_107 TMP_108 TMP_112 TMP_146 H4))))))))))) in
+(let TMP_194 \def (\lambda (H4: (ex4_3 B C T (\lambda (b: B).(\lambda (c3:
+C).(\lambda (v2: T).(eq C c2 (CHead c3 (Bind b) v2))))) (\lambda (_:
+B).(\lambda (_: C).(\lambda (_: T).(eq K k (Bind Void))))) (\lambda (b:
+B).(\lambda (_: C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_:
+B).(\lambda (c3: C).(\lambda (_: T).(csubc g c c3)))))).(let TMP_150 \def
+(\lambda (b: B).(\lambda (c3: C).(\lambda (v2: T).(let TMP_148 \def (Bind b)
+in (let TMP_149 \def (CHead c3 TMP_148 v2) in (eq C c2 TMP_149)))))) in (let
+TMP_152 \def (\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(let TMP_151
+\def (Bind Void) in (eq K k TMP_151))))) in (let TMP_154 \def (\lambda (b:
+B).(\lambda (_: C).(\lambda (_: T).(let TMP_153 \def (eq B b Void) in (not
+TMP_153))))) in (let TMP_155 \def (\lambda (_: B).(\lambda (c3: C).(\lambda
+(_: T).(csubc g c c3)))) in (let TMP_157 \def (\lambda (e2: C).(let TMP_156
+\def (S n) in (drop TMP_156 O c2 e2))) in (let TMP_158 \def (\lambda (e2:
+C).(csubc g e1 e2)) in (let TMP_159 \def (ex2 C TMP_157 TMP_158) in (let
+TMP_193 \def (\lambda (x0: B).(\lambda (x1: C).(\lambda (x2: T).(\lambda (H5:
+(eq C c2 (CHead x1 (Bind x0) x2))).(\lambda (H6: (eq K k (Bind
+Void))).(\lambda (_: (not (eq B x0 Void))).(\lambda (H8: (csubc g c x1)).(let
+TMP_160 \def (Bind x0) in (let TMP_161 \def (CHead x1 TMP_160 x2) in (let
+TMP_165 \def (\lambda (c0: C).(let TMP_163 \def (\lambda (e2: C).(let TMP_162
+\def (S n) in (drop TMP_162 O c0 e2))) in (let TMP_164 \def (\lambda (e2:
+C).(csubc g e1 e2)) in (ex2 C TMP_163 TMP_164)))) in (let TMP_167 \def
+(\lambda (k0: K).(let TMP_166 \def (r k0 n) in (drop TMP_166 O c e1))) in
+(let TMP_168 \def (drop_gen_drop k c e1 t n H1) in (let TMP_169 \def (Bind
+Void) in (let H9 \def (eq_ind K k TMP_167 TMP_168 TMP_169 H6) in (let TMP_172
+\def (\lambda (k0: K).((drop n O (CHead c k0 t) e1) \to (\forall (c3:
+C).((csubc g (CHead c k0 t) c3) \to (let TMP_170 \def (\lambda (e2: C).(drop
+n O c3 e2)) in (let TMP_171 \def (\lambda (e2: C).(csubc g e1 e2)) in (ex2 C
+TMP_170 TMP_171))))))) in (let TMP_173 \def (Bind Void) in (let H10 \def
+(eq_ind K k TMP_172 H0 TMP_173 H6) in (let TMP_174 \def (Bind Void) in (let
+TMP_175 \def (r TMP_174 n) in (let H_x0 \def (H e1 TMP_175 H9 x1 H8) in (let
+H11 \def H_x0 in (let TMP_176 \def (\lambda (e2: C).(drop n O x1 e2)) in (let
+TMP_177 \def (\lambda (e2: C).(csubc g e1 e2)) in (let TMP_181 \def (\lambda
+(e2: C).(let TMP_178 \def (S n) in (let TMP_179 \def (Bind x0) in (let
+TMP_180 \def (CHead x1 TMP_179 x2) in (drop TMP_178 O TMP_180 e2))))) in (let
+TMP_182 \def (\lambda (e2: C).(csubc g e1 e2)) in (let TMP_183 \def (ex2 C
+TMP_181 TMP_182) in (let TMP_191 \def (\lambda (x: C).(\lambda (H12: (drop n
+O x1 x)).(\lambda (H13: (csubc g e1 x)).(let TMP_187 \def (\lambda (e2:
+C).(let TMP_184 \def (S n) in (let TMP_185 \def (Bind x0) in (let TMP_186
+\def (CHead x1 TMP_185 x2) in (drop TMP_184 O TMP_186 e2))))) in (let TMP_188
+\def (\lambda (e2: C).(csubc g e1 e2)) in (let TMP_189 \def (Bind x0) in (let
+TMP_190 \def (drop_drop TMP_189 n x1 x H12 x2) in (ex_intro2 C TMP_187
+TMP_188 x TMP_190 H13)))))))) in (let TMP_192 \def (ex2_ind C TMP_176 TMP_177
+TMP_183 TMP_191 H11) in (eq_ind_r C TMP_161 TMP_165 TMP_192 c2
+H5))))))))))))))))))))))))))))) in (ex4_3_ind B C T TMP_150 TMP_152 TMP_154
+TMP_155 TMP_159 TMP_193 H4)))))))))) in (or3_ind TMP_45 TMP_55 TMP_64 TMP_68
+TMP_99 TMP_147 TMP_194 H3)))))))))))))))))))))))))))) in (nat_ind TMP_29
+TMP_41 TMP_195 h)))))))))) in (C_ind TMP_3 TMP_26 TMP_196 c1))))).
theorem drop_csubc_trans:
\forall (g: G).(\forall (c2: C).(\forall (e2: C).(\forall (d: nat).(\forall
(h: nat).((drop h d c2 e2) \to (\forall (e1: C).((csubc g e2 e1) \to (ex2 C
(\lambda (c1: C).(drop h d c1 e1)) (\lambda (c1: C).(csubc g c2 c1))))))))))
\def
- \lambda (g: G).(\lambda (c2: C).(C_ind (\lambda (c: C).(\forall (e2:
-C).(\forall (d: nat).(\forall (h: nat).((drop h d c e2) \to (\forall (e1:
-C).((csubc g e2 e1) \to (ex2 C (\lambda (c1: C).(drop h d c1 e1)) (\lambda
-(c1: C).(csubc g c c1)))))))))) (\lambda (n: nat).(\lambda (e2: C).(\lambda
-(d: nat).(\lambda (h: nat).(\lambda (H: (drop h d (CSort n) e2)).(\lambda
-(e1: C).(\lambda (H0: (csubc g e2 e1)).(and3_ind (eq C e2 (CSort n)) (eq nat
-h O) (eq nat d O) (ex2 C (\lambda (c1: C).(drop h d c1 e1)) (\lambda (c1:
-C).(csubc g (CSort n) c1))) (\lambda (H1: (eq C e2 (CSort n))).(\lambda (H2:
-(eq nat h O)).(\lambda (H3: (eq nat d O)).(eq_ind_r nat O (\lambda (n0:
-nat).(ex2 C (\lambda (c1: C).(drop n0 d c1 e1)) (\lambda (c1: C).(csubc g
-(CSort n) c1)))) (eq_ind_r nat O (\lambda (n0: nat).(ex2 C (\lambda (c1:
-C).(drop O n0 c1 e1)) (\lambda (c1: C).(csubc g (CSort n) c1)))) (let H4 \def
-(eq_ind C e2 (\lambda (c: C).(csubc g c e1)) H0 (CSort n) H1) in (ex_intro2 C
-(\lambda (c1: C).(drop O O c1 e1)) (\lambda (c1: C).(csubc g (CSort n) c1))
-e1 (drop_refl e1) H4)) d H3) h H2)))) (drop_gen_sort n h d e2 H)))))))))
-(\lambda (c: C).(\lambda (H: ((\forall (e2: C).(\forall (d: nat).(\forall (h:
-nat).((drop h d c e2) \to (\forall (e1: C).((csubc g e2 e1) \to (ex2 C
-(\lambda (c1: C).(drop h d c1 e1)) (\lambda (c1: C).(csubc g c
-c1))))))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (e2: C).(\lambda (d:
-nat).(nat_ind (\lambda (n: nat).(\forall (h: nat).((drop h n (CHead c k t)
-e2) \to (\forall (e1: C).((csubc g e2 e1) \to (ex2 C (\lambda (c1: C).(drop h
-n c1 e1)) (\lambda (c1: C).(csubc g (CHead c k t) c1)))))))) (\lambda (h:
-nat).(nat_ind (\lambda (n: nat).((drop n O (CHead c k t) e2) \to (\forall
-(e1: C).((csubc g e2 e1) \to (ex2 C (\lambda (c1: C).(drop n O c1 e1))
-(\lambda (c1: C).(csubc g (CHead c k t) c1))))))) (\lambda (H0: (drop O O
-(CHead c k t) e2)).(\lambda (e1: C).(\lambda (H1: (csubc g e2 e1)).(let H2
-\def (eq_ind_r C e2 (\lambda (c0: C).(csubc g c0 e1)) H1 (CHead c k t)
-(drop_gen_refl (CHead c k t) e2 H0)) in (ex_intro2 C (\lambda (c1: C).(drop O
-O c1 e1)) (\lambda (c1: C).(csubc g (CHead c k t) c1)) e1 (drop_refl e1)
-H2))))) (\lambda (n: nat).(\lambda (_: (((drop n O (CHead c k t) e2) \to
-(\forall (e1: C).((csubc g e2 e1) \to (ex2 C (\lambda (c1: C).(drop n O c1
-e1)) (\lambda (c1: C).(csubc g (CHead c k t) c1)))))))).(\lambda (H1: (drop
-(S n) O (CHead c k t) e2)).(\lambda (e1: C).(\lambda (H2: (csubc g e2
-e1)).(let H_x \def (H e2 O (r k n) (drop_gen_drop k c e2 t n H1) e1 H2) in
-(let H3 \def H_x in (ex2_ind C (\lambda (c1: C).(drop (r k n) O c1 e1))
-(\lambda (c1: C).(csubc g c c1)) (ex2 C (\lambda (c1: C).(drop (S n) O c1
-e1)) (\lambda (c1: C).(csubc g (CHead c k t) c1))) (\lambda (x: C).(\lambda
-(H4: (drop (r k n) O x e1)).(\lambda (H5: (csubc g c x)).(ex_intro2 C
-(\lambda (c1: C).(drop (S n) O c1 e1)) (\lambda (c1: C).(csubc g (CHead c k
-t) c1)) (CHead x k t) (drop_drop k n x e1 H4 t) (csubc_head g c x H5 k t)))))
-H3)))))))) h)) (\lambda (n: nat).(\lambda (H0: ((\forall (h: nat).((drop h n
-(CHead c k t) e2) \to (\forall (e1: C).((csubc g e2 e1) \to (ex2 C (\lambda
-(c1: C).(drop h n c1 e1)) (\lambda (c1: C).(csubc g (CHead c k t)
-c1))))))))).(\lambda (h: nat).(\lambda (H1: (drop h (S n) (CHead c k t)
-e2)).(\lambda (e1: C).(\lambda (H2: (csubc g e2 e1)).(ex3_2_ind C T (\lambda
-(e: C).(\lambda (v: T).(eq C e2 (CHead e k v)))) (\lambda (_: C).(\lambda (v:
-T).(eq T t (lift h (r k n) v)))) (\lambda (e: C).(\lambda (_: T).(drop h (r k
-n) c e))) (ex2 C (\lambda (c1: C).(drop h (S n) c1 e1)) (\lambda (c1:
-C).(csubc g (CHead c k t) c1))) (\lambda (x0: C).(\lambda (x1: T).(\lambda
-(H3: (eq C e2 (CHead x0 k x1))).(\lambda (H4: (eq T t (lift h (r k n)
-x1))).(\lambda (H5: (drop h (r k n) c x0)).(let H6 \def (eq_ind C e2 (\lambda
-(c0: C).(csubc g c0 e1)) H2 (CHead x0 k x1) H3) in (let H7 \def (eq_ind C e2
-(\lambda (c0: C).(\forall (h0: nat).((drop h0 n (CHead c k t) c0) \to
-(\forall (e3: C).((csubc g c0 e3) \to (ex2 C (\lambda (c1: C).(drop h0 n c1
-e3)) (\lambda (c1: C).(csubc g (CHead c k t) c1)))))))) H0 (CHead x0 k x1)
-H3) in (let H8 \def (eq_ind T t (\lambda (t0: T).(\forall (h0: nat).((drop h0
-n (CHead c k t0) (CHead x0 k x1)) \to (\forall (e3: C).((csubc g (CHead x0 k
-x1) e3) \to (ex2 C (\lambda (c1: C).(drop h0 n c1 e3)) (\lambda (c1:
-C).(csubc g (CHead c k t0) c1)))))))) H7 (lift h (r k n) x1) H4) in (eq_ind_r
-T (lift h (r k n) x1) (\lambda (t0: T).(ex2 C (\lambda (c1: C).(drop h (S n)
-c1 e1)) (\lambda (c1: C).(csubc g (CHead c k t0) c1)))) (let H_x \def
-(csubc_gen_head_l g x0 e1 x1 k H6) in (let H9 \def H_x in (or3_ind (ex2 C
-(\lambda (c3: C).(eq C e1 (CHead c3 k x1))) (\lambda (c3: C).(csubc g x0
-c3))) (ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K k
-(Bind Abst))))) (\lambda (c3: C).(\lambda (w: T).(\lambda (_: A).(eq C e1
-(CHead c3 (Bind Abbr) w))))) (\lambda (c3: C).(\lambda (_: T).(\lambda (_:
-A).(csubc g x0 c3)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g
-(asucc g a) x0 x1)))) (\lambda (c3: C).(\lambda (w: T).(\lambda (a: A).(sc3 g
-a c3 w))))) (ex4_3 B C T (\lambda (b: B).(\lambda (c3: C).(\lambda (v2:
-T).(eq C e1 (CHead c3 (Bind b) v2))))) (\lambda (_: B).(\lambda (_:
-C).(\lambda (_: T).(eq K k (Bind Void))))) (\lambda (b: B).(\lambda (_:
-C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c3:
-C).(\lambda (_: T).(csubc g x0 c3))))) (ex2 C (\lambda (c1: C).(drop h (S n)
-c1 e1)) (\lambda (c1: C).(csubc g (CHead c k (lift h (r k n) x1)) c1)))
-(\lambda (H10: (ex2 C (\lambda (c3: C).(eq C e1 (CHead c3 k x1))) (\lambda
-(c3: C).(csubc g x0 c3)))).(ex2_ind C (\lambda (c3: C).(eq C e1 (CHead c3 k
-x1))) (\lambda (c3: C).(csubc g x0 c3)) (ex2 C (\lambda (c1: C).(drop h (S n)
-c1 e1)) (\lambda (c1: C).(csubc g (CHead c k (lift h (r k n) x1)) c1)))
-(\lambda (x: C).(\lambda (H11: (eq C e1 (CHead x k x1))).(\lambda (H12:
-(csubc g x0 x)).(eq_ind_r C (CHead x k x1) (\lambda (c0: C).(ex2 C (\lambda
-(c1: C).(drop h (S n) c1 c0)) (\lambda (c1: C).(csubc g (CHead c k (lift h (r
-k n) x1)) c1)))) (let H_x0 \def (H x0 (r k n) h H5 x H12) in (let H13 \def
-H_x0 in (ex2_ind C (\lambda (c1: C).(drop h (r k n) c1 x)) (\lambda (c1:
-C).(csubc g c c1)) (ex2 C (\lambda (c1: C).(drop h (S n) c1 (CHead x k x1)))
-(\lambda (c1: C).(csubc g (CHead c k (lift h (r k n) x1)) c1))) (\lambda (x2:
-C).(\lambda (H14: (drop h (r k n) x2 x)).(\lambda (H15: (csubc g c
-x2)).(ex_intro2 C (\lambda (c1: C).(drop h (S n) c1 (CHead x k x1))) (\lambda
-(c1: C).(csubc g (CHead c k (lift h (r k n) x1)) c1)) (CHead x2 k (lift h (r
-k n) x1)) (drop_skip k h n x2 x H14 x1) (csubc_head g c x2 H15 k (lift h (r k
-n) x1)))))) H13))) e1 H11)))) H10)) (\lambda (H10: (ex5_3 C T A (\lambda (_:
-C).(\lambda (_: T).(\lambda (_: A).(eq K k (Bind Abst))))) (\lambda (c3:
-C).(\lambda (w: T).(\lambda (_: A).(eq C e1 (CHead c3 (Bind Abbr) w)))))
-(\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g x0 c3)))) (\lambda
-(_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g (asucc g a) x0 x1)))) (\lambda
-(c3: C).(\lambda (w: T).(\lambda (a: A).(sc3 g a c3 w)))))).(ex5_3_ind C T A
-(\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K k (Bind Abst)))))
-(\lambda (c3: C).(\lambda (w: T).(\lambda (_: A).(eq C e1 (CHead c3 (Bind
-Abbr) w))))) (\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g x0
-c3)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g (asucc g a) x0
-x1)))) (\lambda (c3: C).(\lambda (w: T).(\lambda (a: A).(sc3 g a c3 w))))
-(ex2 C (\lambda (c1: C).(drop h (S n) c1 e1)) (\lambda (c1: C).(csubc g
-(CHead c k (lift h (r k n) x1)) c1))) (\lambda (x2: C).(\lambda (x3:
-T).(\lambda (x4: A).(\lambda (H11: (eq K k (Bind Abst))).(\lambda (H12: (eq C
-e1 (CHead x2 (Bind Abbr) x3))).(\lambda (H13: (csubc g x0 x2)).(\lambda (H14:
-(sc3 g (asucc g x4) x0 x1)).(\lambda (H15: (sc3 g x4 x2 x3)).(eq_ind_r C
-(CHead x2 (Bind Abbr) x3) (\lambda (c0: C).(ex2 C (\lambda (c1: C).(drop h (S
-n) c1 c0)) (\lambda (c1: C).(csubc g (CHead c k (lift h (r k n) x1)) c1))))
-(let H16 \def (eq_ind K k (\lambda (k0: K).(\forall (h0: nat).((drop h0 n
-(CHead c k0 (lift h (r k0 n) x1)) (CHead x0 k0 x1)) \to (\forall (e3:
-C).((csubc g (CHead x0 k0 x1) e3) \to (ex2 C (\lambda (c1: C).(drop h0 n c1
-e3)) (\lambda (c1: C).(csubc g (CHead c k0 (lift h (r k0 n) x1)) c1))))))))
-H8 (Bind Abst) H11) in (let H17 \def (eq_ind K k (\lambda (k0: K).(drop h (r
-k0 n) c x0)) H5 (Bind Abst) H11) in (eq_ind_r K (Bind Abst) (\lambda (k0:
-K).(ex2 C (\lambda (c1: C).(drop h (S n) c1 (CHead x2 (Bind Abbr) x3)))
-(\lambda (c1: C).(csubc g (CHead c k0 (lift h (r k0 n) x1)) c1)))) (let H_x0
-\def (H x0 (r (Bind Abst) n) h H17 x2 H13) in (let H18 \def H_x0 in (ex2_ind
-C (\lambda (c1: C).(drop h n c1 x2)) (\lambda (c1: C).(csubc g c c1)) (ex2 C
-(\lambda (c1: C).(drop h (S n) c1 (CHead x2 (Bind Abbr) x3))) (\lambda (c1:
-C).(csubc g (CHead c (Bind Abst) (lift h (r (Bind Abst) n) x1)) c1)))
+ \lambda (g: G).(\lambda (c2: C).(let TMP_3 \def (\lambda (c: C).(\forall
+(e2: C).(\forall (d: nat).(\forall (h: nat).((drop h d c e2) \to (\forall
+(e1: C).((csubc g e2 e1) \to (let TMP_1 \def (\lambda (c1: C).(drop h d c1
+e1)) in (let TMP_2 \def (\lambda (c1: C).(csubc g c c1)) in (ex2 C TMP_1
+TMP_2)))))))))) in (let TMP_30 \def (\lambda (n: nat).(\lambda (e2:
+C).(\lambda (d: nat).(\lambda (h: nat).(\lambda (H: (drop h d (CSort n)
+e2)).(\lambda (e1: C).(\lambda (H0: (csubc g e2 e1)).(let TMP_4 \def (CSort
+n) in (let TMP_5 \def (eq C e2 TMP_4) in (let TMP_6 \def (eq nat h O) in (let
+TMP_7 \def (eq nat d O) in (let TMP_8 \def (\lambda (c1: C).(drop h d c1 e1))
+in (let TMP_10 \def (\lambda (c1: C).(let TMP_9 \def (CSort n) in (csubc g
+TMP_9 c1))) in (let TMP_11 \def (ex2 C TMP_8 TMP_10) in (let TMP_28 \def
+(\lambda (H1: (eq C e2 (CSort n))).(\lambda (H2: (eq nat h O)).(\lambda (H3:
+(eq nat d O)).(let TMP_15 \def (\lambda (n0: nat).(let TMP_12 \def (\lambda
+(c1: C).(drop n0 d c1 e1)) in (let TMP_14 \def (\lambda (c1: C).(let TMP_13
+\def (CSort n) in (csubc g TMP_13 c1))) in (ex2 C TMP_12 TMP_14)))) in (let
+TMP_19 \def (\lambda (n0: nat).(let TMP_16 \def (\lambda (c1: C).(drop O n0
+c1 e1)) in (let TMP_18 \def (\lambda (c1: C).(let TMP_17 \def (CSort n) in
+(csubc g TMP_17 c1))) in (ex2 C TMP_16 TMP_18)))) in (let TMP_20 \def
+(\lambda (c: C).(csubc g c e1)) in (let TMP_21 \def (CSort n) in (let H4 \def
+(eq_ind C e2 TMP_20 H0 TMP_21 H1) in (let TMP_22 \def (\lambda (c1: C).(drop
+O O c1 e1)) in (let TMP_24 \def (\lambda (c1: C).(let TMP_23 \def (CSort n)
+in (csubc g TMP_23 c1))) in (let TMP_25 \def (drop_refl e1) in (let TMP_26
+\def (ex_intro2 C TMP_22 TMP_24 e1 TMP_25 H4) in (let TMP_27 \def (eq_ind_r
+nat O TMP_19 TMP_26 d H3) in (eq_ind_r nat O TMP_15 TMP_27 h H2))))))))))))))
+in (let TMP_29 \def (drop_gen_sort n h d e2 H) in (and3_ind TMP_5 TMP_6 TMP_7
+TMP_11 TMP_28 TMP_29))))))))))))))))) in (let TMP_354 \def (\lambda (c:
+C).(\lambda (H: ((\forall (e2: C).(\forall (d: nat).(\forall (h: nat).((drop
+h d c e2) \to (\forall (e1: C).((csubc g e2 e1) \to (ex2 C (\lambda (c1:
+C).(drop h d c1 e1)) (\lambda (c1: C).(csubc g c c1))))))))))).(\lambda (k:
+K).(\lambda (t: T).(\lambda (e2: C).(\lambda (d: nat).(let TMP_34 \def
+(\lambda (n: nat).(\forall (h: nat).((drop h n (CHead c k t) e2) \to (\forall
+(e1: C).((csubc g e2 e1) \to (let TMP_31 \def (\lambda (c1: C).(drop h n c1
+e1)) in (let TMP_33 \def (\lambda (c1: C).(let TMP_32 \def (CHead c k t) in
+(csubc g TMP_32 c1))) in (ex2 C TMP_31 TMP_33)))))))) in (let TMP_67 \def
+(\lambda (h: nat).(let TMP_38 \def (\lambda (n: nat).((drop n O (CHead c k t)
+e2) \to (\forall (e1: C).((csubc g e2 e1) \to (let TMP_35 \def (\lambda (c1:
+C).(drop n O c1 e1)) in (let TMP_37 \def (\lambda (c1: C).(let TMP_36 \def
+(CHead c k t) in (csubc g TMP_36 c1))) in (ex2 C TMP_35 TMP_37))))))) in (let
+TMP_47 \def (\lambda (H0: (drop O O (CHead c k t) e2)).(\lambda (e1:
+C).(\lambda (H1: (csubc g e2 e1)).(let TMP_39 \def (\lambda (c0: C).(csubc g
+c0 e1)) in (let TMP_40 \def (CHead c k t) in (let TMP_41 \def (CHead c k t)
+in (let TMP_42 \def (drop_gen_refl TMP_41 e2 H0) in (let H2 \def (eq_ind_r C
+e2 TMP_39 H1 TMP_40 TMP_42) in (let TMP_43 \def (\lambda (c1: C).(drop O O c1
+e1)) in (let TMP_45 \def (\lambda (c1: C).(let TMP_44 \def (CHead c k t) in
+(csubc g TMP_44 c1))) in (let TMP_46 \def (drop_refl e1) in (ex_intro2 C
+TMP_43 TMP_45 e1 TMP_46 H2)))))))))))) in (let TMP_66 \def (\lambda (n:
+nat).(\lambda (_: (((drop n O (CHead c k t) e2) \to (\forall (e1: C).((csubc
+g e2 e1) \to (ex2 C (\lambda (c1: C).(drop n O c1 e1)) (\lambda (c1:
+C).(csubc g (CHead c k t) c1)))))))).(\lambda (H1: (drop (S n) O (CHead c k
+t) e2)).(\lambda (e1: C).(\lambda (H2: (csubc g e2 e1)).(let TMP_48 \def (r k
+n) in (let TMP_49 \def (drop_gen_drop k c e2 t n H1) in (let H_x \def (H e2 O
+TMP_48 TMP_49 e1 H2) in (let H3 \def H_x in (let TMP_51 \def (\lambda (c1:
+C).(let TMP_50 \def (r k n) in (drop TMP_50 O c1 e1))) in (let TMP_52 \def
+(\lambda (c1: C).(csubc g c c1)) in (let TMP_54 \def (\lambda (c1: C).(let
+TMP_53 \def (S n) in (drop TMP_53 O c1 e1))) in (let TMP_56 \def (\lambda
+(c1: C).(let TMP_55 \def (CHead c k t) in (csubc g TMP_55 c1))) in (let
+TMP_57 \def (ex2 C TMP_54 TMP_56) in (let TMP_65 \def (\lambda (x:
+C).(\lambda (H4: (drop (r k n) O x e1)).(\lambda (H5: (csubc g c x)).(let
+TMP_59 \def (\lambda (c1: C).(let TMP_58 \def (S n) in (drop TMP_58 O c1
+e1))) in (let TMP_61 \def (\lambda (c1: C).(let TMP_60 \def (CHead c k t) in
+(csubc g TMP_60 c1))) in (let TMP_62 \def (CHead x k t) in (let TMP_63 \def
+(drop_drop k n x e1 H4 t) in (let TMP_64 \def (csubc_head g c x H5 k t) in
+(ex_intro2 C TMP_59 TMP_61 TMP_62 TMP_63 TMP_64))))))))) in (ex2_ind C TMP_51
+TMP_52 TMP_57 TMP_65 H3)))))))))))))))) in (nat_ind TMP_38 TMP_47 TMP_66
+h))))) in (let TMP_353 \def (\lambda (n: nat).(\lambda (H0: ((\forall (h:
+nat).((drop h n (CHead c k t) e2) \to (\forall (e1: C).((csubc g e2 e1) \to
+(ex2 C (\lambda (c1: C).(drop h n c1 e1)) (\lambda (c1: C).(csubc g (CHead c
+k t) c1))))))))).(\lambda (h: nat).(\lambda (H1: (drop h (S n) (CHead c k t)
+e2)).(\lambda (e1: C).(\lambda (H2: (csubc g e2 e1)).(let TMP_69 \def
+(\lambda (e: C).(\lambda (v: T).(let TMP_68 \def (CHead e k v) in (eq C e2
+TMP_68)))) in (let TMP_72 \def (\lambda (_: C).(\lambda (v: T).(let TMP_70
+\def (r k n) in (let TMP_71 \def (lift h TMP_70 v) in (eq T t TMP_71))))) in
+(let TMP_74 \def (\lambda (e: C).(\lambda (_: T).(let TMP_73 \def (r k n) in
+(drop h TMP_73 c e)))) in (let TMP_76 \def (\lambda (c1: C).(let TMP_75 \def
+(S n) in (drop h TMP_75 c1 e1))) in (let TMP_78 \def (\lambda (c1: C).(let
+TMP_77 \def (CHead c k t) in (csubc g TMP_77 c1))) in (let TMP_79 \def (ex2 C
+TMP_76 TMP_78) in (let TMP_351 \def (\lambda (x0: C).(\lambda (x1:
+T).(\lambda (H3: (eq C e2 (CHead x0 k x1))).(\lambda (H4: (eq T t (lift h (r
+k n) x1))).(\lambda (H5: (drop h (r k n) c x0)).(let TMP_80 \def (\lambda
+(c0: C).(csubc g c0 e1)) in (let TMP_81 \def (CHead x0 k x1) in (let H6 \def
+(eq_ind C e2 TMP_80 H2 TMP_81 H3) in (let TMP_85 \def (\lambda (c0:
+C).(\forall (h0: nat).((drop h0 n (CHead c k t) c0) \to (\forall (e3:
+C).((csubc g c0 e3) \to (let TMP_82 \def (\lambda (c1: C).(drop h0 n c1 e3))
+in (let TMP_84 \def (\lambda (c1: C).(let TMP_83 \def (CHead c k t) in (csubc
+g TMP_83 c1))) in (ex2 C TMP_82 TMP_84)))))))) in (let TMP_86 \def (CHead x0
+k x1) in (let H7 \def (eq_ind C e2 TMP_85 H0 TMP_86 H3) in (let TMP_90 \def
+(\lambda (t0: T).(\forall (h0: nat).((drop h0 n (CHead c k t0) (CHead x0 k
+x1)) \to (\forall (e3: C).((csubc g (CHead x0 k x1) e3) \to (let TMP_87 \def
+(\lambda (c1: C).(drop h0 n c1 e3)) in (let TMP_89 \def (\lambda (c1: C).(let
+TMP_88 \def (CHead c k t0) in (csubc g TMP_88 c1))) in (ex2 C TMP_87
+TMP_89)))))))) in (let TMP_91 \def (r k n) in (let TMP_92 \def (lift h TMP_91
+x1) in (let H8 \def (eq_ind T t TMP_90 H7 TMP_92 H4) in (let TMP_93 \def (r k
+n) in (let TMP_94 \def (lift h TMP_93 x1) in (let TMP_99 \def (\lambda (t0:
+T).(let TMP_96 \def (\lambda (c1: C).(let TMP_95 \def (S n) in (drop h TMP_95
+c1 e1))) in (let TMP_98 \def (\lambda (c1: C).(let TMP_97 \def (CHead c k t0)
+in (csubc g TMP_97 c1))) in (ex2 C TMP_96 TMP_98)))) in (let H_x \def
+(csubc_gen_head_l g x0 e1 x1 k H6) in (let H9 \def H_x in (let TMP_101 \def
+(\lambda (c3: C).(let TMP_100 \def (CHead c3 k x1) in (eq C e1 TMP_100))) in
+(let TMP_102 \def (\lambda (c3: C).(csubc g x0 c3)) in (let TMP_103 \def (ex2
+C TMP_101 TMP_102) in (let TMP_105 \def (\lambda (_: C).(\lambda (_:
+T).(\lambda (_: A).(let TMP_104 \def (Bind Abst) in (eq K k TMP_104))))) in
+(let TMP_108 \def (\lambda (c3: C).(\lambda (w: T).(\lambda (_: A).(let
+TMP_106 \def (Bind Abbr) in (let TMP_107 \def (CHead c3 TMP_106 w) in (eq C
+e1 TMP_107)))))) in (let TMP_109 \def (\lambda (c3: C).(\lambda (_:
+T).(\lambda (_: A).(csubc g x0 c3)))) in (let TMP_111 \def (\lambda (_:
+C).(\lambda (_: T).(\lambda (a: A).(let TMP_110 \def (asucc g a) in (sc3 g
+TMP_110 x0 x1))))) in (let TMP_112 \def (\lambda (c3: C).(\lambda (w:
+T).(\lambda (a: A).(sc3 g a c3 w)))) in (let TMP_113 \def (ex5_3 C T A
+TMP_105 TMP_108 TMP_109 TMP_111 TMP_112) in (let TMP_116 \def (\lambda (b:
+B).(\lambda (c3: C).(\lambda (v2: T).(let TMP_114 \def (Bind b) in (let
+TMP_115 \def (CHead c3 TMP_114 v2) in (eq C e1 TMP_115)))))) in (let TMP_118
+\def (\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(let TMP_117 \def (Bind
+Void) in (eq K k TMP_117))))) in (let TMP_120 \def (\lambda (b: B).(\lambda
+(_: C).(\lambda (_: T).(let TMP_119 \def (eq B b Void) in (not TMP_119)))))
+in (let TMP_121 \def (\lambda (_: B).(\lambda (c3: C).(\lambda (_: T).(csubc
+g x0 c3)))) in (let TMP_122 \def (ex4_3 B C T TMP_116 TMP_118 TMP_120
+TMP_121) in (let TMP_124 \def (\lambda (c1: C).(let TMP_123 \def (S n) in
+(drop h TMP_123 c1 e1))) in (let TMP_128 \def (\lambda (c1: C).(let TMP_125
+\def (r k n) in (let TMP_126 \def (lift h TMP_125 x1) in (let TMP_127 \def
+(CHead c k TMP_126) in (csubc g TMP_127 c1))))) in (let TMP_129 \def (ex2 C
+TMP_124 TMP_128) in (let TMP_177 \def (\lambda (H10: (ex2 C (\lambda (c3:
+C).(eq C e1 (CHead c3 k x1))) (\lambda (c3: C).(csubc g x0 c3)))).(let
+TMP_131 \def (\lambda (c3: C).(let TMP_130 \def (CHead c3 k x1) in (eq C e1
+TMP_130))) in (let TMP_132 \def (\lambda (c3: C).(csubc g x0 c3)) in (let
+TMP_134 \def (\lambda (c1: C).(let TMP_133 \def (S n) in (drop h TMP_133 c1
+e1))) in (let TMP_138 \def (\lambda (c1: C).(let TMP_135 \def (r k n) in (let
+TMP_136 \def (lift h TMP_135 x1) in (let TMP_137 \def (CHead c k TMP_136) in
+(csubc g TMP_137 c1))))) in (let TMP_139 \def (ex2 C TMP_134 TMP_138) in (let
+TMP_176 \def (\lambda (x: C).(\lambda (H11: (eq C e1 (CHead x k
+x1))).(\lambda (H12: (csubc g x0 x)).(let TMP_140 \def (CHead x k x1) in (let
+TMP_147 \def (\lambda (c0: C).(let TMP_142 \def (\lambda (c1: C).(let TMP_141
+\def (S n) in (drop h TMP_141 c1 c0))) in (let TMP_146 \def (\lambda (c1:
+C).(let TMP_143 \def (r k n) in (let TMP_144 \def (lift h TMP_143 x1) in (let
+TMP_145 \def (CHead c k TMP_144) in (csubc g TMP_145 c1))))) in (ex2 C
+TMP_142 TMP_146)))) in (let TMP_148 \def (r k n) in (let H_x0 \def (H x0
+TMP_148 h H5 x H12) in (let H13 \def H_x0 in (let TMP_150 \def (\lambda (c1:
+C).(let TMP_149 \def (r k n) in (drop h TMP_149 c1 x))) in (let TMP_151 \def
+(\lambda (c1: C).(csubc g c c1)) in (let TMP_154 \def (\lambda (c1: C).(let
+TMP_152 \def (S n) in (let TMP_153 \def (CHead x k x1) in (drop h TMP_152 c1
+TMP_153)))) in (let TMP_158 \def (\lambda (c1: C).(let TMP_155 \def (r k n)
+in (let TMP_156 \def (lift h TMP_155 x1) in (let TMP_157 \def (CHead c k
+TMP_156) in (csubc g TMP_157 c1))))) in (let TMP_159 \def (ex2 C TMP_154
+TMP_158) in (let TMP_174 \def (\lambda (x2: C).(\lambda (H14: (drop h (r k n)
+x2 x)).(\lambda (H15: (csubc g c x2)).(let TMP_162 \def (\lambda (c1: C).(let
+TMP_160 \def (S n) in (let TMP_161 \def (CHead x k x1) in (drop h TMP_160 c1
+TMP_161)))) in (let TMP_166 \def (\lambda (c1: C).(let TMP_163 \def (r k n)
+in (let TMP_164 \def (lift h TMP_163 x1) in (let TMP_165 \def (CHead c k
+TMP_164) in (csubc g TMP_165 c1))))) in (let TMP_167 \def (r k n) in (let
+TMP_168 \def (lift h TMP_167 x1) in (let TMP_169 \def (CHead x2 k TMP_168) in
+(let TMP_170 \def (drop_skip k h n x2 x H14 x1) in (let TMP_171 \def (r k n)
+in (let TMP_172 \def (lift h TMP_171 x1) in (let TMP_173 \def (csubc_head g c
+x2 H15 k TMP_172) in (ex_intro2 C TMP_162 TMP_166 TMP_169 TMP_170
+TMP_173))))))))))))) in (let TMP_175 \def (ex2_ind C TMP_150 TMP_151 TMP_159
+TMP_174 H13) in (eq_ind_r C TMP_140 TMP_147 TMP_175 e1 H11)))))))))))))))) in
+(ex2_ind C TMP_131 TMP_132 TMP_139 TMP_176 H10)))))))) in (let TMP_266 \def
+(\lambda (H10: (ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_:
+A).(eq K k (Bind Abst))))) (\lambda (c3: C).(\lambda (w: T).(\lambda (_:
+A).(eq C e1 (CHead c3 (Bind Abbr) w))))) (\lambda (c3: C).(\lambda (_:
+T).(\lambda (_: A).(csubc g x0 c3)))) (\lambda (_: C).(\lambda (_:
+T).(\lambda (a: A).(sc3 g (asucc g a) x0 x1)))) (\lambda (c3: C).(\lambda (w:
+T).(\lambda (a: A).(sc3 g a c3 w)))))).(let TMP_179 \def (\lambda (_:
+C).(\lambda (_: T).(\lambda (_: A).(let TMP_178 \def (Bind Abst) in (eq K k
+TMP_178))))) in (let TMP_182 \def (\lambda (c3: C).(\lambda (w: T).(\lambda
+(_: A).(let TMP_180 \def (Bind Abbr) in (let TMP_181 \def (CHead c3 TMP_180
+w) in (eq C e1 TMP_181)))))) in (let TMP_183 \def (\lambda (c3: C).(\lambda
+(_: T).(\lambda (_: A).(csubc g x0 c3)))) in (let TMP_185 \def (\lambda (_:
+C).(\lambda (_: T).(\lambda (a: A).(let TMP_184 \def (asucc g a) in (sc3 g
+TMP_184 x0 x1))))) in (let TMP_186 \def (\lambda (c3: C).(\lambda (w:
+T).(\lambda (a: A).(sc3 g a c3 w)))) in (let TMP_188 \def (\lambda (c1:
+C).(let TMP_187 \def (S n) in (drop h TMP_187 c1 e1))) in (let TMP_192 \def
+(\lambda (c1: C).(let TMP_189 \def (r k n) in (let TMP_190 \def (lift h
+TMP_189 x1) in (let TMP_191 \def (CHead c k TMP_190) in (csubc g TMP_191
+c1))))) in (let TMP_193 \def (ex2 C TMP_188 TMP_192) in (let TMP_265 \def
+(\lambda (x2: C).(\lambda (x3: T).(\lambda (x4: A).(\lambda (H11: (eq K k
+(Bind Abst))).(\lambda (H12: (eq C e1 (CHead x2 (Bind Abbr) x3))).(\lambda
+(H13: (csubc g x0 x2)).(\lambda (H14: (sc3 g (asucc g x4) x0 x1)).(\lambda
+(H15: (sc3 g x4 x2 x3)).(let TMP_194 \def (Bind Abbr) in (let TMP_195 \def
+(CHead x2 TMP_194 x3) in (let TMP_202 \def (\lambda (c0: C).(let TMP_197 \def
+(\lambda (c1: C).(let TMP_196 \def (S n) in (drop h TMP_196 c1 c0))) in (let
+TMP_201 \def (\lambda (c1: C).(let TMP_198 \def (r k n) in (let TMP_199 \def
+(lift h TMP_198 x1) in (let TMP_200 \def (CHead c k TMP_199) in (csubc g
+TMP_200 c1))))) in (ex2 C TMP_197 TMP_201)))) in (let TMP_208 \def (\lambda
+(k0: K).(\forall (h0: nat).((drop h0 n (CHead c k0 (lift h (r k0 n) x1))
+(CHead x0 k0 x1)) \to (\forall (e3: C).((csubc g (CHead x0 k0 x1) e3) \to
+(let TMP_203 \def (\lambda (c1: C).(drop h0 n c1 e3)) in (let TMP_207 \def
+(\lambda (c1: C).(let TMP_204 \def (r k0 n) in (let TMP_205 \def (lift h
+TMP_204 x1) in (let TMP_206 \def (CHead c k0 TMP_205) in (csubc g TMP_206
+c1))))) in (ex2 C TMP_203 TMP_207)))))))) in (let TMP_209 \def (Bind Abst) in
+(let H16 \def (eq_ind K k TMP_208 H8 TMP_209 H11) in (let TMP_211 \def
+(\lambda (k0: K).(let TMP_210 \def (r k0 n) in (drop h TMP_210 c x0))) in
+(let TMP_212 \def (Bind Abst) in (let H17 \def (eq_ind K k TMP_211 H5 TMP_212
+H11) in (let TMP_213 \def (Bind Abst) in (let TMP_222 \def (\lambda (k0:
+K).(let TMP_217 \def (\lambda (c1: C).(let TMP_214 \def (S n) in (let TMP_215
+\def (Bind Abbr) in (let TMP_216 \def (CHead x2 TMP_215 x3) in (drop h
+TMP_214 c1 TMP_216))))) in (let TMP_221 \def (\lambda (c1: C).(let TMP_218
+\def (r k0 n) in (let TMP_219 \def (lift h TMP_218 x1) in (let TMP_220 \def
+(CHead c k0 TMP_219) in (csubc g TMP_220 c1))))) in (ex2 C TMP_217
+TMP_221)))) in (let TMP_223 \def (Bind Abst) in (let TMP_224 \def (r TMP_223
+n) in (let H_x0 \def (H x0 TMP_224 h H17 x2 H13) in (let H18 \def H_x0 in
+(let TMP_225 \def (\lambda (c1: C).(drop h n c1 x2)) in (let TMP_226 \def
+(\lambda (c1: C).(csubc g c c1)) in (let TMP_230 \def (\lambda (c1: C).(let
+TMP_227 \def (S n) in (let TMP_228 \def (Bind Abbr) in (let TMP_229 \def
+(CHead x2 TMP_228 x3) in (drop h TMP_227 c1 TMP_229))))) in (let TMP_236 \def
+(\lambda (c1: C).(let TMP_231 \def (Bind Abst) in (let TMP_232 \def (Bind
+Abst) in (let TMP_233 \def (r TMP_232 n) in (let TMP_234 \def (lift h TMP_233
+x1) in (let TMP_235 \def (CHead c TMP_231 TMP_234) in (csubc g TMP_235
+c1))))))) in (let TMP_237 \def (ex2 C TMP_230 TMP_236) in (let TMP_262 \def
(\lambda (x: C).(\lambda (H19: (drop h n x x2)).(\lambda (H20: (csubc g c
-x)).(ex_intro2 C (\lambda (c1: C).(drop h (S n) c1 (CHead x2 (Bind Abbr)
-x3))) (\lambda (c1: C).(csubc g (CHead c (Bind Abst) (lift h (r (Bind Abst)
-n) x1)) c1)) (CHead x (Bind Abbr) (lift h n x3)) (drop_skip_bind h n x x2 H19
-Abbr x3) (csubc_abst g c x H20 (lift h (r (Bind Abst) n) x1) x4 (sc3_lift g
-(asucc g x4) x0 x1 H14 c h (r (Bind Abst) n) H17) (lift h n x3) (sc3_lift g
-x4 x2 x3 H15 x h n H19)))))) H18))) k H11))) e1 H12))))))))) H10)) (\lambda
-(H10: (ex4_3 B C T (\lambda (b: B).(\lambda (c3: C).(\lambda (v2: T).(eq C e1
-(CHead c3 (Bind b) v2))))) (\lambda (_: B).(\lambda (_: C).(\lambda (_:
-T).(eq K k (Bind Void))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_:
-T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c3: C).(\lambda (_:
-T).(csubc g x0 c3)))))).(ex4_3_ind B C T (\lambda (b: B).(\lambda (c3:
-C).(\lambda (v2: T).(eq C e1 (CHead c3 (Bind b) v2))))) (\lambda (_:
+x)).(let TMP_241 \def (\lambda (c1: C).(let TMP_238 \def (S n) in (let
+TMP_239 \def (Bind Abbr) in (let TMP_240 \def (CHead x2 TMP_239 x3) in (drop
+h TMP_238 c1 TMP_240))))) in (let TMP_247 \def (\lambda (c1: C).(let TMP_242
+\def (Bind Abst) in (let TMP_243 \def (Bind Abst) in (let TMP_244 \def (r
+TMP_243 n) in (let TMP_245 \def (lift h TMP_244 x1) in (let TMP_246 \def
+(CHead c TMP_242 TMP_245) in (csubc g TMP_246 c1))))))) in (let TMP_248 \def
+(Bind Abbr) in (let TMP_249 \def (lift h n x3) in (let TMP_250 \def (CHead x
+TMP_248 TMP_249) in (let TMP_251 \def (drop_skip_bind h n x x2 H19 Abbr x3)
+in (let TMP_252 \def (Bind Abst) in (let TMP_253 \def (r TMP_252 n) in (let
+TMP_254 \def (lift h TMP_253 x1) in (let TMP_255 \def (asucc g x4) in (let
+TMP_256 \def (Bind Abst) in (let TMP_257 \def (r TMP_256 n) in (let TMP_258
+\def (sc3_lift g TMP_255 x0 x1 H14 c h TMP_257 H17) in (let TMP_259 \def
+(lift h n x3) in (let TMP_260 \def (sc3_lift g x4 x2 x3 H15 x h n H19) in
+(let TMP_261 \def (csubc_abst g c x H20 TMP_254 x4 TMP_258 TMP_259 TMP_260)
+in (ex_intro2 C TMP_241 TMP_247 TMP_250 TMP_251 TMP_261))))))))))))))))))))
+in (let TMP_263 \def (ex2_ind C TMP_225 TMP_226 TMP_237 TMP_262 H18) in (let
+TMP_264 \def (eq_ind_r K TMP_213 TMP_222 TMP_263 k H11) in (eq_ind_r C
+TMP_195 TMP_202 TMP_264 e1 H12)))))))))))))))))))))))))))))))) in (ex5_3_ind
+C T A TMP_179 TMP_182 TMP_183 TMP_185 TMP_186 TMP_193 TMP_265 H10)))))))))))
+in (let TMP_349 \def (\lambda (H10: (ex4_3 B C T (\lambda (b: B).(\lambda
+(c3: C).(\lambda (v2: T).(eq C e1 (CHead c3 (Bind b) v2))))) (\lambda (_:
B).(\lambda (_: C).(\lambda (_: T).(eq K k (Bind Void))))) (\lambda (b:
B).(\lambda (_: C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_:
-B).(\lambda (c3: C).(\lambda (_: T).(csubc g x0 c3)))) (ex2 C (\lambda (c1:
-C).(drop h (S n) c1 e1)) (\lambda (c1: C).(csubc g (CHead c k (lift h (r k n)
-x1)) c1))) (\lambda (x2: B).(\lambda (x3: C).(\lambda (x4: T).(\lambda (H11:
-(eq C e1 (CHead x3 (Bind x2) x4))).(\lambda (H12: (eq K k (Bind
-Void))).(\lambda (H13: (not (eq B x2 Void))).(\lambda (H14: (csubc g x0
-x3)).(eq_ind_r C (CHead x3 (Bind x2) x4) (\lambda (c0: C).(ex2 C (\lambda
-(c1: C).(drop h (S n) c1 c0)) (\lambda (c1: C).(csubc g (CHead c k (lift h (r
-k n) x1)) c1)))) (let H15 \def (eq_ind K k (\lambda (k0: K).(\forall (h0:
-nat).((drop h0 n (CHead c k0 (lift h (r k0 n) x1)) (CHead x0 k0 x1)) \to
-(\forall (e3: C).((csubc g (CHead x0 k0 x1) e3) \to (ex2 C (\lambda (c1:
-C).(drop h0 n c1 e3)) (\lambda (c1: C).(csubc g (CHead c k0 (lift h (r k0 n)
-x1)) c1)))))))) H8 (Bind Void) H12) in (let H16 \def (eq_ind K k (\lambda
-(k0: K).(drop h (r k0 n) c x0)) H5 (Bind Void) H12) in (eq_ind_r K (Bind
-Void) (\lambda (k0: K).(ex2 C (\lambda (c1: C).(drop h (S n) c1 (CHead x3
-(Bind x2) x4))) (\lambda (c1: C).(csubc g (CHead c k0 (lift h (r k0 n) x1))
-c1)))) (let H_x0 \def (H x0 (r (Bind Void) n) h H16 x3 H14) in (let H17 \def
-H_x0 in (ex2_ind C (\lambda (c1: C).(drop h n c1 x3)) (\lambda (c1: C).(csubc
-g c c1)) (ex2 C (\lambda (c1: C).(drop h (S n) c1 (CHead x3 (Bind x2) x4)))
-(\lambda (c1: C).(csubc g (CHead c (Bind Void) (lift h (r (Bind Void) n) x1))
-c1))) (\lambda (x: C).(\lambda (H18: (drop h n x x3)).(\lambda (H19: (csubc g
-c x)).(ex_intro2 C (\lambda (c1: C).(drop h (S n) c1 (CHead x3 (Bind x2)
-x4))) (\lambda (c1: C).(csubc g (CHead c (Bind Void) (lift h (r (Bind Void)
-n) x1)) c1)) (CHead x (Bind x2) (lift h n x4)) (drop_skip_bind h n x x3 H18
-x2 x4) (csubc_void g c x H19 x2 H13 (lift h (r (Bind Void) n) x1) (lift h n
-x4)))))) H17))) k H12))) e1 H11)))))))) H10)) H9))) t H4)))))))))
-(drop_gen_skip_l c e2 t h n k H1)))))))) d))))))) c2)).
-(* COMMENTS
-Initial nodes: 3747
-END *)
+B).(\lambda (c3: C).(\lambda (_: T).(csubc g x0 c3)))))).(let TMP_269 \def
+(\lambda (b: B).(\lambda (c3: C).(\lambda (v2: T).(let TMP_267 \def (Bind b)
+in (let TMP_268 \def (CHead c3 TMP_267 v2) in (eq C e1 TMP_268)))))) in (let
+TMP_271 \def (\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(let TMP_270
+\def (Bind Void) in (eq K k TMP_270))))) in (let TMP_273 \def (\lambda (b:
+B).(\lambda (_: C).(\lambda (_: T).(let TMP_272 \def (eq B b Void) in (not
+TMP_272))))) in (let TMP_274 \def (\lambda (_: B).(\lambda (c3: C).(\lambda
+(_: T).(csubc g x0 c3)))) in (let TMP_276 \def (\lambda (c1: C).(let TMP_275
+\def (S n) in (drop h TMP_275 c1 e1))) in (let TMP_280 \def (\lambda (c1:
+C).(let TMP_277 \def (r k n) in (let TMP_278 \def (lift h TMP_277 x1) in (let
+TMP_279 \def (CHead c k TMP_278) in (csubc g TMP_279 c1))))) in (let TMP_281
+\def (ex2 C TMP_276 TMP_280) in (let TMP_348 \def (\lambda (x2: B).(\lambda
+(x3: C).(\lambda (x4: T).(\lambda (H11: (eq C e1 (CHead x3 (Bind x2)
+x4))).(\lambda (H12: (eq K k (Bind Void))).(\lambda (H13: (not (eq B x2
+Void))).(\lambda (H14: (csubc g x0 x3)).(let TMP_282 \def (Bind x2) in (let
+TMP_283 \def (CHead x3 TMP_282 x4) in (let TMP_290 \def (\lambda (c0: C).(let
+TMP_285 \def (\lambda (c1: C).(let TMP_284 \def (S n) in (drop h TMP_284 c1
+c0))) in (let TMP_289 \def (\lambda (c1: C).(let TMP_286 \def (r k n) in (let
+TMP_287 \def (lift h TMP_286 x1) in (let TMP_288 \def (CHead c k TMP_287) in
+(csubc g TMP_288 c1))))) in (ex2 C TMP_285 TMP_289)))) in (let TMP_296 \def
+(\lambda (k0: K).(\forall (h0: nat).((drop h0 n (CHead c k0 (lift h (r k0 n)
+x1)) (CHead x0 k0 x1)) \to (\forall (e3: C).((csubc g (CHead x0 k0 x1) e3)
+\to (let TMP_291 \def (\lambda (c1: C).(drop h0 n c1 e3)) in (let TMP_295
+\def (\lambda (c1: C).(let TMP_292 \def (r k0 n) in (let TMP_293 \def (lift h
+TMP_292 x1) in (let TMP_294 \def (CHead c k0 TMP_293) in (csubc g TMP_294
+c1))))) in (ex2 C TMP_291 TMP_295)))))))) in (let TMP_297 \def (Bind Void) in
+(let H15 \def (eq_ind K k TMP_296 H8 TMP_297 H12) in (let TMP_299 \def
+(\lambda (k0: K).(let TMP_298 \def (r k0 n) in (drop h TMP_298 c x0))) in
+(let TMP_300 \def (Bind Void) in (let H16 \def (eq_ind K k TMP_299 H5 TMP_300
+H12) in (let TMP_301 \def (Bind Void) in (let TMP_310 \def (\lambda (k0:
+K).(let TMP_305 \def (\lambda (c1: C).(let TMP_302 \def (S n) in (let TMP_303
+\def (Bind x2) in (let TMP_304 \def (CHead x3 TMP_303 x4) in (drop h TMP_302
+c1 TMP_304))))) in (let TMP_309 \def (\lambda (c1: C).(let TMP_306 \def (r k0
+n) in (let TMP_307 \def (lift h TMP_306 x1) in (let TMP_308 \def (CHead c k0
+TMP_307) in (csubc g TMP_308 c1))))) in (ex2 C TMP_305 TMP_309)))) in (let
+TMP_311 \def (Bind Void) in (let TMP_312 \def (r TMP_311 n) in (let H_x0 \def
+(H x0 TMP_312 h H16 x3 H14) in (let H17 \def H_x0 in (let TMP_313 \def
+(\lambda (c1: C).(drop h n c1 x3)) in (let TMP_314 \def (\lambda (c1:
+C).(csubc g c c1)) in (let TMP_318 \def (\lambda (c1: C).(let TMP_315 \def (S
+n) in (let TMP_316 \def (Bind x2) in (let TMP_317 \def (CHead x3 TMP_316 x4)
+in (drop h TMP_315 c1 TMP_317))))) in (let TMP_324 \def (\lambda (c1: C).(let
+TMP_319 \def (Bind Void) in (let TMP_320 \def (Bind Void) in (let TMP_321
+\def (r TMP_320 n) in (let TMP_322 \def (lift h TMP_321 x1) in (let TMP_323
+\def (CHead c TMP_319 TMP_322) in (csubc g TMP_323 c1))))))) in (let TMP_325
+\def (ex2 C TMP_318 TMP_324) in (let TMP_345 \def (\lambda (x: C).(\lambda
+(H18: (drop h n x x3)).(\lambda (H19: (csubc g c x)).(let TMP_329 \def
+(\lambda (c1: C).(let TMP_326 \def (S n) in (let TMP_327 \def (Bind x2) in
+(let TMP_328 \def (CHead x3 TMP_327 x4) in (drop h TMP_326 c1 TMP_328))))) in
+(let TMP_335 \def (\lambda (c1: C).(let TMP_330 \def (Bind Void) in (let
+TMP_331 \def (Bind Void) in (let TMP_332 \def (r TMP_331 n) in (let TMP_333
+\def (lift h TMP_332 x1) in (let TMP_334 \def (CHead c TMP_330 TMP_333) in
+(csubc g TMP_334 c1))))))) in (let TMP_336 \def (Bind x2) in (let TMP_337
+\def (lift h n x4) in (let TMP_338 \def (CHead x TMP_336 TMP_337) in (let
+TMP_339 \def (drop_skip_bind h n x x3 H18 x2 x4) in (let TMP_340 \def (Bind
+Void) in (let TMP_341 \def (r TMP_340 n) in (let TMP_342 \def (lift h TMP_341
+x1) in (let TMP_343 \def (lift h n x4) in (let TMP_344 \def (csubc_void g c x
+H19 x2 H13 TMP_342 TMP_343) in (ex_intro2 C TMP_329 TMP_335 TMP_338 TMP_339
+TMP_344))))))))))))))) in (let TMP_346 \def (ex2_ind C TMP_313 TMP_314
+TMP_325 TMP_345 H17) in (let TMP_347 \def (eq_ind_r K TMP_301 TMP_310 TMP_346
+k H12) in (eq_ind_r C TMP_283 TMP_290 TMP_347 e1
+H11))))))))))))))))))))))))))))))) in (ex4_3_ind B C T TMP_269 TMP_271
+TMP_273 TMP_274 TMP_281 TMP_348 H10)))))))))) in (let TMP_350 \def (or3_ind
+TMP_103 TMP_113 TMP_122 TMP_129 TMP_177 TMP_266 TMP_349 H9) in (eq_ind_r T
+TMP_94 TMP_99 TMP_350 t H4)))))))))))))))))))))))))))))))))))))))))) in (let
+TMP_352 \def (drop_gen_skip_l c e2 t h n k H1) in (ex3_2_ind C T TMP_69
+TMP_72 TMP_74 TMP_79 TMP_351 TMP_352))))))))))))))) in (nat_ind TMP_34 TMP_67
+TMP_353 d)))))))))) in (C_ind TMP_3 TMP_30 TMP_354 c2))))).
theorem csubc_drop_conf_rev:
\forall (g: G).(\forall (c2: C).(\forall (e2: C).(\forall (d: nat).(\forall
(h: nat).((drop h d c2 e2) \to (\forall (e1: C).((csubc g e1 e2) \to (ex2 C
(\lambda (c1: C).(drop h d c1 e1)) (\lambda (c1: C).(csubc g c1 c2))))))))))
\def
- \lambda (g: G).(\lambda (c2: C).(C_ind (\lambda (c: C).(\forall (e2:
-C).(\forall (d: nat).(\forall (h: nat).((drop h d c e2) \to (\forall (e1:
-C).((csubc g e1 e2) \to (ex2 C (\lambda (c1: C).(drop h d c1 e1)) (\lambda
-(c1: C).(csubc g c1 c)))))))))) (\lambda (n: nat).(\lambda (e2: C).(\lambda
-(d: nat).(\lambda (h: nat).(\lambda (H: (drop h d (CSort n) e2)).(\lambda
-(e1: C).(\lambda (H0: (csubc g e1 e2)).(and3_ind (eq C e2 (CSort n)) (eq nat
-h O) (eq nat d O) (ex2 C (\lambda (c1: C).(drop h d c1 e1)) (\lambda (c1:
-C).(csubc g c1 (CSort n)))) (\lambda (H1: (eq C e2 (CSort n))).(\lambda (H2:
-(eq nat h O)).(\lambda (H3: (eq nat d O)).(eq_ind_r nat O (\lambda (n0:
-nat).(ex2 C (\lambda (c1: C).(drop n0 d c1 e1)) (\lambda (c1: C).(csubc g c1
-(CSort n))))) (eq_ind_r nat O (\lambda (n0: nat).(ex2 C (\lambda (c1:
-C).(drop O n0 c1 e1)) (\lambda (c1: C).(csubc g c1 (CSort n))))) (let H4 \def
-(eq_ind C e2 (\lambda (c: C).(csubc g e1 c)) H0 (CSort n) H1) in (ex_intro2 C
-(\lambda (c1: C).(drop O O c1 e1)) (\lambda (c1: C).(csubc g c1 (CSort n)))
-e1 (drop_refl e1) H4)) d H3) h H2)))) (drop_gen_sort n h d e2 H)))))))))
-(\lambda (c: C).(\lambda (H: ((\forall (e2: C).(\forall (d: nat).(\forall (h:
-nat).((drop h d c e2) \to (\forall (e1: C).((csubc g e1 e2) \to (ex2 C
-(\lambda (c1: C).(drop h d c1 e1)) (\lambda (c1: C).(csubc g c1
-c))))))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (e2: C).(\lambda (d:
-nat).(nat_ind (\lambda (n: nat).(\forall (h: nat).((drop h n (CHead c k t)
-e2) \to (\forall (e1: C).((csubc g e1 e2) \to (ex2 C (\lambda (c1: C).(drop h
-n c1 e1)) (\lambda (c1: C).(csubc g c1 (CHead c k t))))))))) (\lambda (h:
-nat).(nat_ind (\lambda (n: nat).((drop n O (CHead c k t) e2) \to (\forall
-(e1: C).((csubc g e1 e2) \to (ex2 C (\lambda (c1: C).(drop n O c1 e1))
-(\lambda (c1: C).(csubc g c1 (CHead c k t)))))))) (\lambda (H0: (drop O O
-(CHead c k t) e2)).(\lambda (e1: C).(\lambda (H1: (csubc g e1 e2)).(let H2
-\def (eq_ind_r C e2 (\lambda (c0: C).(csubc g e1 c0)) H1 (CHead c k t)
-(drop_gen_refl (CHead c k t) e2 H0)) in (ex_intro2 C (\lambda (c1: C).(drop O
-O c1 e1)) (\lambda (c1: C).(csubc g c1 (CHead c k t))) e1 (drop_refl e1)
-H2))))) (\lambda (n: nat).(\lambda (_: (((drop n O (CHead c k t) e2) \to
-(\forall (e1: C).((csubc g e1 e2) \to (ex2 C (\lambda (c1: C).(drop n O c1
-e1)) (\lambda (c1: C).(csubc g c1 (CHead c k t))))))))).(\lambda (H1: (drop
-(S n) O (CHead c k t) e2)).(\lambda (e1: C).(\lambda (H2: (csubc g e1
-e2)).(let H_x \def (H e2 O (r k n) (drop_gen_drop k c e2 t n H1) e1 H2) in
-(let H3 \def H_x in (ex2_ind C (\lambda (c1: C).(drop (r k n) O c1 e1))
-(\lambda (c1: C).(csubc g c1 c)) (ex2 C (\lambda (c1: C).(drop (S n) O c1
-e1)) (\lambda (c1: C).(csubc g c1 (CHead c k t)))) (\lambda (x: C).(\lambda
-(H4: (drop (r k n) O x e1)).(\lambda (H5: (csubc g x c)).(ex_intro2 C
-(\lambda (c1: C).(drop (S n) O c1 e1)) (\lambda (c1: C).(csubc g c1 (CHead c
-k t))) (CHead x k t) (drop_drop k n x e1 H4 t) (csubc_head g x c H5 k t)))))
-H3)))))))) h)) (\lambda (n: nat).(\lambda (H0: ((\forall (h: nat).((drop h n
-(CHead c k t) e2) \to (\forall (e1: C).((csubc g e1 e2) \to (ex2 C (\lambda
-(c1: C).(drop h n c1 e1)) (\lambda (c1: C).(csubc g c1 (CHead c k
-t)))))))))).(\lambda (h: nat).(\lambda (H1: (drop h (S n) (CHead c k t)
-e2)).(\lambda (e1: C).(\lambda (H2: (csubc g e1 e2)).(ex3_2_ind C T (\lambda
-(e: C).(\lambda (v: T).(eq C e2 (CHead e k v)))) (\lambda (_: C).(\lambda (v:
-T).(eq T t (lift h (r k n) v)))) (\lambda (e: C).(\lambda (_: T).(drop h (r k
-n) c e))) (ex2 C (\lambda (c1: C).(drop h (S n) c1 e1)) (\lambda (c1:
-C).(csubc g c1 (CHead c k t)))) (\lambda (x0: C).(\lambda (x1: T).(\lambda
-(H3: (eq C e2 (CHead x0 k x1))).(\lambda (H4: (eq T t (lift h (r k n)
-x1))).(\lambda (H5: (drop h (r k n) c x0)).(let H6 \def (eq_ind C e2 (\lambda
-(c0: C).(csubc g e1 c0)) H2 (CHead x0 k x1) H3) in (let H7 \def (eq_ind C e2
-(\lambda (c0: C).(\forall (h0: nat).((drop h0 n (CHead c k t) c0) \to
-(\forall (e3: C).((csubc g e3 c0) \to (ex2 C (\lambda (c1: C).(drop h0 n c1
-e3)) (\lambda (c1: C).(csubc g c1 (CHead c k t))))))))) H0 (CHead x0 k x1)
-H3) in (let H8 \def (eq_ind T t (\lambda (t0: T).(\forall (h0: nat).((drop h0
-n (CHead c k t0) (CHead x0 k x1)) \to (\forall (e3: C).((csubc g e3 (CHead x0
-k x1)) \to (ex2 C (\lambda (c1: C).(drop h0 n c1 e3)) (\lambda (c1: C).(csubc
-g c1 (CHead c k t0))))))))) H7 (lift h (r k n) x1) H4) in (eq_ind_r T (lift h
-(r k n) x1) (\lambda (t0: T).(ex2 C (\lambda (c1: C).(drop h (S n) c1 e1))
-(\lambda (c1: C).(csubc g c1 (CHead c k t0))))) (let H_x \def
-(csubc_gen_head_r g x0 e1 x1 k H6) in (let H9 \def H_x in (or3_ind (ex2 C
-(\lambda (c1: C).(eq C e1 (CHead c1 k x1))) (\lambda (c1: C).(csubc g c1
-x0))) (ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K k
-(Bind Abbr))))) (\lambda (c1: C).(\lambda (v: T).(\lambda (_: A).(eq C e1
-(CHead c1 (Bind Abst) v))))) (\lambda (c1: C).(\lambda (_: T).(\lambda (_:
-A).(csubc g c1 x0)))) (\lambda (c1: C).(\lambda (v: T).(\lambda (a: A).(sc3 g
-(asucc g a) c1 v)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g a
-x0 x1))))) (ex4_3 B C T (\lambda (_: B).(\lambda (c1: C).(\lambda (v1: T).(eq
-C e1 (CHead c1 (Bind Void) v1))))) (\lambda (b: B).(\lambda (_: C).(\lambda
-(_: T).(eq K k (Bind b))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_:
-T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c1: C).(\lambda (_:
-T).(csubc g c1 x0))))) (ex2 C (\lambda (c1: C).(drop h (S n) c1 e1)) (\lambda
-(c1: C).(csubc g c1 (CHead c k (lift h (r k n) x1))))) (\lambda (H10: (ex2 C
-(\lambda (c1: C).(eq C e1 (CHead c1 k x1))) (\lambda (c1: C).(csubc g c1
-x0)))).(ex2_ind C (\lambda (c1: C).(eq C e1 (CHead c1 k x1))) (\lambda (c1:
-C).(csubc g c1 x0)) (ex2 C (\lambda (c1: C).(drop h (S n) c1 e1)) (\lambda
-(c1: C).(csubc g c1 (CHead c k (lift h (r k n) x1))))) (\lambda (x:
-C).(\lambda (H11: (eq C e1 (CHead x k x1))).(\lambda (H12: (csubc g x
-x0)).(eq_ind_r C (CHead x k x1) (\lambda (c0: C).(ex2 C (\lambda (c1:
-C).(drop h (S n) c1 c0)) (\lambda (c1: C).(csubc g c1 (CHead c k (lift h (r k
-n) x1)))))) (let H_x0 \def (H x0 (r k n) h H5 x H12) in (let H13 \def H_x0 in
-(ex2_ind C (\lambda (c1: C).(drop h (r k n) c1 x)) (\lambda (c1: C).(csubc g
-c1 c)) (ex2 C (\lambda (c1: C).(drop h (S n) c1 (CHead x k x1))) (\lambda
-(c1: C).(csubc g c1 (CHead c k (lift h (r k n) x1))))) (\lambda (x2:
-C).(\lambda (H14: (drop h (r k n) x2 x)).(\lambda (H15: (csubc g x2
-c)).(ex_intro2 C (\lambda (c1: C).(drop h (S n) c1 (CHead x k x1))) (\lambda
-(c1: C).(csubc g c1 (CHead c k (lift h (r k n) x1)))) (CHead x2 k (lift h (r
-k n) x1)) (drop_skip k h n x2 x H14 x1) (csubc_head g x2 c H15 k (lift h (r k
-n) x1)))))) H13))) e1 H11)))) H10)) (\lambda (H10: (ex5_3 C T A (\lambda (_:
-C).(\lambda (_: T).(\lambda (_: A).(eq K k (Bind Abbr))))) (\lambda (c1:
-C).(\lambda (v: T).(\lambda (_: A).(eq C e1 (CHead c1 (Bind Abst) v)))))
-(\lambda (c1: C).(\lambda (_: T).(\lambda (_: A).(csubc g c1 x0)))) (\lambda
-(c1: C).(\lambda (v: T).(\lambda (a: A).(sc3 g (asucc g a) c1 v)))) (\lambda
-(_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g a x0 x1)))))).(ex5_3_ind C T A
-(\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K k (Bind Abbr)))))
-(\lambda (c1: C).(\lambda (v: T).(\lambda (_: A).(eq C e1 (CHead c1 (Bind
-Abst) v))))) (\lambda (c1: C).(\lambda (_: T).(\lambda (_: A).(csubc g c1
-x0)))) (\lambda (c1: C).(\lambda (v: T).(\lambda (a: A).(sc3 g (asucc g a) c1
-v)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g a x0 x1)))) (ex2
-C (\lambda (c1: C).(drop h (S n) c1 e1)) (\lambda (c1: C).(csubc g c1 (CHead
-c k (lift h (r k n) x1))))) (\lambda (x2: C).(\lambda (x3: T).(\lambda (x4:
-A).(\lambda (H11: (eq K k (Bind Abbr))).(\lambda (H12: (eq C e1 (CHead x2
-(Bind Abst) x3))).(\lambda (H13: (csubc g x2 x0)).(\lambda (H14: (sc3 g
-(asucc g x4) x2 x3)).(\lambda (H15: (sc3 g x4 x0 x1)).(eq_ind_r C (CHead x2
-(Bind Abst) x3) (\lambda (c0: C).(ex2 C (\lambda (c1: C).(drop h (S n) c1
-c0)) (\lambda (c1: C).(csubc g c1 (CHead c k (lift h (r k n) x1)))))) (let
-H16 \def (eq_ind K k (\lambda (k0: K).(\forall (h0: nat).((drop h0 n (CHead c
-k0 (lift h (r k0 n) x1)) (CHead x0 k0 x1)) \to (\forall (e3: C).((csubc g e3
-(CHead x0 k0 x1)) \to (ex2 C (\lambda (c1: C).(drop h0 n c1 e3)) (\lambda
-(c1: C).(csubc g c1 (CHead c k0 (lift h (r k0 n) x1)))))))))) H8 (Bind Abbr)
-H11) in (let H17 \def (eq_ind K k (\lambda (k0: K).(drop h (r k0 n) c x0)) H5
-(Bind Abbr) H11) in (eq_ind_r K (Bind Abbr) (\lambda (k0: K).(ex2 C (\lambda
-(c1: C).(drop h (S n) c1 (CHead x2 (Bind Abst) x3))) (\lambda (c1: C).(csubc
-g c1 (CHead c k0 (lift h (r k0 n) x1)))))) (let H_x0 \def (H x0 (r (Bind
-Abbr) n) h H17 x2 H13) in (let H18 \def H_x0 in (ex2_ind C (\lambda (c1:
-C).(drop h n c1 x2)) (\lambda (c1: C).(csubc g c1 c)) (ex2 C (\lambda (c1:
-C).(drop h (S n) c1 (CHead x2 (Bind Abst) x3))) (\lambda (c1: C).(csubc g c1
-(CHead c (Bind Abbr) (lift h (r (Bind Abbr) n) x1))))) (\lambda (x:
-C).(\lambda (H19: (drop h n x x2)).(\lambda (H20: (csubc g x c)).(ex_intro2 C
-(\lambda (c1: C).(drop h (S n) c1 (CHead x2 (Bind Abst) x3))) (\lambda (c1:
-C).(csubc g c1 (CHead c (Bind Abbr) (lift h (r (Bind Abbr) n) x1)))) (CHead x
-(Bind Abst) (lift h n x3)) (drop_skip_bind h n x x2 H19 Abst x3) (csubc_abst
-g x c H20 (lift h n x3) x4 (sc3_lift g (asucc g x4) x2 x3 H14 x h n H19)
-(lift h (r (Bind Abbr) n) x1) (sc3_lift g x4 x0 x1 H15 c h (r (Bind Abbr) n)
-H17)))))) H18))) k H11))) e1 H12))))))))) H10)) (\lambda (H10: (ex4_3 B C T
-(\lambda (_: B).(\lambda (c1: C).(\lambda (v1: T).(eq C e1 (CHead c1 (Bind
-Void) v1))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(eq K k (Bind
-b))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b Void)))))
-(\lambda (_: B).(\lambda (c1: C).(\lambda (_: T).(csubc g c1
-x0)))))).(ex4_3_ind B C T (\lambda (_: B).(\lambda (c1: C).(\lambda (v1:
-T).(eq C e1 (CHead c1 (Bind Void) v1))))) (\lambda (b: B).(\lambda (_:
-C).(\lambda (_: T).(eq K k (Bind b))))) (\lambda (b: B).(\lambda (_:
-C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c1:
-C).(\lambda (_: T).(csubc g c1 x0)))) (ex2 C (\lambda (c1: C).(drop h (S n)
-c1 e1)) (\lambda (c1: C).(csubc g c1 (CHead c k (lift h (r k n) x1)))))
-(\lambda (x2: B).(\lambda (x3: C).(\lambda (x4: T).(\lambda (H11: (eq C e1
-(CHead x3 (Bind Void) x4))).(\lambda (H12: (eq K k (Bind x2))).(\lambda (H13:
-(not (eq B x2 Void))).(\lambda (H14: (csubc g x3 x0)).(eq_ind_r C (CHead x3
-(Bind Void) x4) (\lambda (c0: C).(ex2 C (\lambda (c1: C).(drop h (S n) c1
-c0)) (\lambda (c1: C).(csubc g c1 (CHead c k (lift h (r k n) x1)))))) (let
-H15 \def (eq_ind K k (\lambda (k0: K).(\forall (h0: nat).((drop h0 n (CHead c
-k0 (lift h (r k0 n) x1)) (CHead x0 k0 x1)) \to (\forall (e3: C).((csubc g e3
-(CHead x0 k0 x1)) \to (ex2 C (\lambda (c1: C).(drop h0 n c1 e3)) (\lambda
-(c1: C).(csubc g c1 (CHead c k0 (lift h (r k0 n) x1)))))))))) H8 (Bind x2)
-H12) in (let H16 \def (eq_ind K k (\lambda (k0: K).(drop h (r k0 n) c x0)) H5
-(Bind x2) H12) in (eq_ind_r K (Bind x2) (\lambda (k0: K).(ex2 C (\lambda (c1:
-C).(drop h (S n) c1 (CHead x3 (Bind Void) x4))) (\lambda (c1: C).(csubc g c1
-(CHead c k0 (lift h (r k0 n) x1)))))) (let H_x0 \def (H x0 (r (Bind x2) n) h
-H16 x3 H14) in (let H17 \def H_x0 in (ex2_ind C (\lambda (c1: C).(drop h n c1
-x3)) (\lambda (c1: C).(csubc g c1 c)) (ex2 C (\lambda (c1: C).(drop h (S n)
-c1 (CHead x3 (Bind Void) x4))) (\lambda (c1: C).(csubc g c1 (CHead c (Bind
-x2) (lift h (r (Bind x2) n) x1))))) (\lambda (x: C).(\lambda (H18: (drop h n
-x x3)).(\lambda (H19: (csubc g x c)).(ex_intro2 C (\lambda (c1: C).(drop h (S
-n) c1 (CHead x3 (Bind Void) x4))) (\lambda (c1: C).(csubc g c1 (CHead c (Bind
-x2) (lift h (r (Bind x2) n) x1)))) (CHead x (Bind Void) (lift h n x4))
-(drop_skip_bind h n x x3 H18 Void x4) (csubc_void g x c H19 x2 H13 (lift h n
-x4) (lift h (r (Bind x2) n) x1)))))) H17))) k H12))) e1 H11)))))))) H10))
-H9))) t H4))))))))) (drop_gen_skip_l c e2 t h n k H1)))))))) d))))))) c2)).
-(* COMMENTS
-Initial nodes: 3747
-END *)
+ \lambda (g: G).(\lambda (c2: C).(let TMP_3 \def (\lambda (c: C).(\forall
+(e2: C).(\forall (d: nat).(\forall (h: nat).((drop h d c e2) \to (\forall
+(e1: C).((csubc g e1 e2) \to (let TMP_1 \def (\lambda (c1: C).(drop h d c1
+e1)) in (let TMP_2 \def (\lambda (c1: C).(csubc g c1 c)) in (ex2 C TMP_1
+TMP_2)))))))))) in (let TMP_30 \def (\lambda (n: nat).(\lambda (e2:
+C).(\lambda (d: nat).(\lambda (h: nat).(\lambda (H: (drop h d (CSort n)
+e2)).(\lambda (e1: C).(\lambda (H0: (csubc g e1 e2)).(let TMP_4 \def (CSort
+n) in (let TMP_5 \def (eq C e2 TMP_4) in (let TMP_6 \def (eq nat h O) in (let
+TMP_7 \def (eq nat d O) in (let TMP_8 \def (\lambda (c1: C).(drop h d c1 e1))
+in (let TMP_10 \def (\lambda (c1: C).(let TMP_9 \def (CSort n) in (csubc g c1
+TMP_9))) in (let TMP_11 \def (ex2 C TMP_8 TMP_10) in (let TMP_28 \def
+(\lambda (H1: (eq C e2 (CSort n))).(\lambda (H2: (eq nat h O)).(\lambda (H3:
+(eq nat d O)).(let TMP_15 \def (\lambda (n0: nat).(let TMP_12 \def (\lambda
+(c1: C).(drop n0 d c1 e1)) in (let TMP_14 \def (\lambda (c1: C).(let TMP_13
+\def (CSort n) in (csubc g c1 TMP_13))) in (ex2 C TMP_12 TMP_14)))) in (let
+TMP_19 \def (\lambda (n0: nat).(let TMP_16 \def (\lambda (c1: C).(drop O n0
+c1 e1)) in (let TMP_18 \def (\lambda (c1: C).(let TMP_17 \def (CSort n) in
+(csubc g c1 TMP_17))) in (ex2 C TMP_16 TMP_18)))) in (let TMP_20 \def
+(\lambda (c: C).(csubc g e1 c)) in (let TMP_21 \def (CSort n) in (let H4 \def
+(eq_ind C e2 TMP_20 H0 TMP_21 H1) in (let TMP_22 \def (\lambda (c1: C).(drop
+O O c1 e1)) in (let TMP_24 \def (\lambda (c1: C).(let TMP_23 \def (CSort n)
+in (csubc g c1 TMP_23))) in (let TMP_25 \def (drop_refl e1) in (let TMP_26
+\def (ex_intro2 C TMP_22 TMP_24 e1 TMP_25 H4) in (let TMP_27 \def (eq_ind_r
+nat O TMP_19 TMP_26 d H3) in (eq_ind_r nat O TMP_15 TMP_27 h H2))))))))))))))
+in (let TMP_29 \def (drop_gen_sort n h d e2 H) in (and3_ind TMP_5 TMP_6 TMP_7
+TMP_11 TMP_28 TMP_29))))))))))))))))) in (let TMP_354 \def (\lambda (c:
+C).(\lambda (H: ((\forall (e2: C).(\forall (d: nat).(\forall (h: nat).((drop
+h d c e2) \to (\forall (e1: C).((csubc g e1 e2) \to (ex2 C (\lambda (c1:
+C).(drop h d c1 e1)) (\lambda (c1: C).(csubc g c1 c))))))))))).(\lambda (k:
+K).(\lambda (t: T).(\lambda (e2: C).(\lambda (d: nat).(let TMP_34 \def
+(\lambda (n: nat).(\forall (h: nat).((drop h n (CHead c k t) e2) \to (\forall
+(e1: C).((csubc g e1 e2) \to (let TMP_31 \def (\lambda (c1: C).(drop h n c1
+e1)) in (let TMP_33 \def (\lambda (c1: C).(let TMP_32 \def (CHead c k t) in
+(csubc g c1 TMP_32))) in (ex2 C TMP_31 TMP_33)))))))) in (let TMP_67 \def
+(\lambda (h: nat).(let TMP_38 \def (\lambda (n: nat).((drop n O (CHead c k t)
+e2) \to (\forall (e1: C).((csubc g e1 e2) \to (let TMP_35 \def (\lambda (c1:
+C).(drop n O c1 e1)) in (let TMP_37 \def (\lambda (c1: C).(let TMP_36 \def
+(CHead c k t) in (csubc g c1 TMP_36))) in (ex2 C TMP_35 TMP_37))))))) in (let
+TMP_47 \def (\lambda (H0: (drop O O (CHead c k t) e2)).(\lambda (e1:
+C).(\lambda (H1: (csubc g e1 e2)).(let TMP_39 \def (\lambda (c0: C).(csubc g
+e1 c0)) in (let TMP_40 \def (CHead c k t) in (let TMP_41 \def (CHead c k t)
+in (let TMP_42 \def (drop_gen_refl TMP_41 e2 H0) in (let H2 \def (eq_ind_r C
+e2 TMP_39 H1 TMP_40 TMP_42) in (let TMP_43 \def (\lambda (c1: C).(drop O O c1
+e1)) in (let TMP_45 \def (\lambda (c1: C).(let TMP_44 \def (CHead c k t) in
+(csubc g c1 TMP_44))) in (let TMP_46 \def (drop_refl e1) in (ex_intro2 C
+TMP_43 TMP_45 e1 TMP_46 H2)))))))))))) in (let TMP_66 \def (\lambda (n:
+nat).(\lambda (_: (((drop n O (CHead c k t) e2) \to (\forall (e1: C).((csubc
+g e1 e2) \to (ex2 C (\lambda (c1: C).(drop n O c1 e1)) (\lambda (c1:
+C).(csubc g c1 (CHead c k t))))))))).(\lambda (H1: (drop (S n) O (CHead c k
+t) e2)).(\lambda (e1: C).(\lambda (H2: (csubc g e1 e2)).(let TMP_48 \def (r k
+n) in (let TMP_49 \def (drop_gen_drop k c e2 t n H1) in (let H_x \def (H e2 O
+TMP_48 TMP_49 e1 H2) in (let H3 \def H_x in (let TMP_51 \def (\lambda (c1:
+C).(let TMP_50 \def (r k n) in (drop TMP_50 O c1 e1))) in (let TMP_52 \def
+(\lambda (c1: C).(csubc g c1 c)) in (let TMP_54 \def (\lambda (c1: C).(let
+TMP_53 \def (S n) in (drop TMP_53 O c1 e1))) in (let TMP_56 \def (\lambda
+(c1: C).(let TMP_55 \def (CHead c k t) in (csubc g c1 TMP_55))) in (let
+TMP_57 \def (ex2 C TMP_54 TMP_56) in (let TMP_65 \def (\lambda (x:
+C).(\lambda (H4: (drop (r k n) O x e1)).(\lambda (H5: (csubc g x c)).(let
+TMP_59 \def (\lambda (c1: C).(let TMP_58 \def (S n) in (drop TMP_58 O c1
+e1))) in (let TMP_61 \def (\lambda (c1: C).(let TMP_60 \def (CHead c k t) in
+(csubc g c1 TMP_60))) in (let TMP_62 \def (CHead x k t) in (let TMP_63 \def
+(drop_drop k n x e1 H4 t) in (let TMP_64 \def (csubc_head g x c H5 k t) in
+(ex_intro2 C TMP_59 TMP_61 TMP_62 TMP_63 TMP_64))))))))) in (ex2_ind C TMP_51
+TMP_52 TMP_57 TMP_65 H3)))))))))))))))) in (nat_ind TMP_38 TMP_47 TMP_66
+h))))) in (let TMP_353 \def (\lambda (n: nat).(\lambda (H0: ((\forall (h:
+nat).((drop h n (CHead c k t) e2) \to (\forall (e1: C).((csubc g e1 e2) \to
+(ex2 C (\lambda (c1: C).(drop h n c1 e1)) (\lambda (c1: C).(csubc g c1 (CHead
+c k t)))))))))).(\lambda (h: nat).(\lambda (H1: (drop h (S n) (CHead c k t)
+e2)).(\lambda (e1: C).(\lambda (H2: (csubc g e1 e2)).(let TMP_69 \def
+(\lambda (e: C).(\lambda (v: T).(let TMP_68 \def (CHead e k v) in (eq C e2
+TMP_68)))) in (let TMP_72 \def (\lambda (_: C).(\lambda (v: T).(let TMP_70
+\def (r k n) in (let TMP_71 \def (lift h TMP_70 v) in (eq T t TMP_71))))) in
+(let TMP_74 \def (\lambda (e: C).(\lambda (_: T).(let TMP_73 \def (r k n) in
+(drop h TMP_73 c e)))) in (let TMP_76 \def (\lambda (c1: C).(let TMP_75 \def
+(S n) in (drop h TMP_75 c1 e1))) in (let TMP_78 \def (\lambda (c1: C).(let
+TMP_77 \def (CHead c k t) in (csubc g c1 TMP_77))) in (let TMP_79 \def (ex2 C
+TMP_76 TMP_78) in (let TMP_351 \def (\lambda (x0: C).(\lambda (x1:
+T).(\lambda (H3: (eq C e2 (CHead x0 k x1))).(\lambda (H4: (eq T t (lift h (r
+k n) x1))).(\lambda (H5: (drop h (r k n) c x0)).(let TMP_80 \def (\lambda
+(c0: C).(csubc g e1 c0)) in (let TMP_81 \def (CHead x0 k x1) in (let H6 \def
+(eq_ind C e2 TMP_80 H2 TMP_81 H3) in (let TMP_85 \def (\lambda (c0:
+C).(\forall (h0: nat).((drop h0 n (CHead c k t) c0) \to (\forall (e3:
+C).((csubc g e3 c0) \to (let TMP_82 \def (\lambda (c1: C).(drop h0 n c1 e3))
+in (let TMP_84 \def (\lambda (c1: C).(let TMP_83 \def (CHead c k t) in (csubc
+g c1 TMP_83))) in (ex2 C TMP_82 TMP_84)))))))) in (let TMP_86 \def (CHead x0
+k x1) in (let H7 \def (eq_ind C e2 TMP_85 H0 TMP_86 H3) in (let TMP_90 \def
+(\lambda (t0: T).(\forall (h0: nat).((drop h0 n (CHead c k t0) (CHead x0 k
+x1)) \to (\forall (e3: C).((csubc g e3 (CHead x0 k x1)) \to (let TMP_87 \def
+(\lambda (c1: C).(drop h0 n c1 e3)) in (let TMP_89 \def (\lambda (c1: C).(let
+TMP_88 \def (CHead c k t0) in (csubc g c1 TMP_88))) in (ex2 C TMP_87
+TMP_89)))))))) in (let TMP_91 \def (r k n) in (let TMP_92 \def (lift h TMP_91
+x1) in (let H8 \def (eq_ind T t TMP_90 H7 TMP_92 H4) in (let TMP_93 \def (r k
+n) in (let TMP_94 \def (lift h TMP_93 x1) in (let TMP_99 \def (\lambda (t0:
+T).(let TMP_96 \def (\lambda (c1: C).(let TMP_95 \def (S n) in (drop h TMP_95
+c1 e1))) in (let TMP_98 \def (\lambda (c1: C).(let TMP_97 \def (CHead c k t0)
+in (csubc g c1 TMP_97))) in (ex2 C TMP_96 TMP_98)))) in (let H_x \def
+(csubc_gen_head_r g x0 e1 x1 k H6) in (let H9 \def H_x in (let TMP_101 \def
+(\lambda (c1: C).(let TMP_100 \def (CHead c1 k x1) in (eq C e1 TMP_100))) in
+(let TMP_102 \def (\lambda (c1: C).(csubc g c1 x0)) in (let TMP_103 \def (ex2
+C TMP_101 TMP_102) in (let TMP_105 \def (\lambda (_: C).(\lambda (_:
+T).(\lambda (_: A).(let TMP_104 \def (Bind Abbr) in (eq K k TMP_104))))) in
+(let TMP_108 \def (\lambda (c1: C).(\lambda (v: T).(\lambda (_: A).(let
+TMP_106 \def (Bind Abst) in (let TMP_107 \def (CHead c1 TMP_106 v) in (eq C
+e1 TMP_107)))))) in (let TMP_109 \def (\lambda (c1: C).(\lambda (_:
+T).(\lambda (_: A).(csubc g c1 x0)))) in (let TMP_111 \def (\lambda (c1:
+C).(\lambda (v: T).(\lambda (a: A).(let TMP_110 \def (asucc g a) in (sc3 g
+TMP_110 c1 v))))) in (let TMP_112 \def (\lambda (_: C).(\lambda (_:
+T).(\lambda (a: A).(sc3 g a x0 x1)))) in (let TMP_113 \def (ex5_3 C T A
+TMP_105 TMP_108 TMP_109 TMP_111 TMP_112) in (let TMP_116 \def (\lambda (_:
+B).(\lambda (c1: C).(\lambda (v1: T).(let TMP_114 \def (Bind Void) in (let
+TMP_115 \def (CHead c1 TMP_114 v1) in (eq C e1 TMP_115)))))) in (let TMP_118
+\def (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(let TMP_117 \def (Bind
+b) in (eq K k TMP_117))))) in (let TMP_120 \def (\lambda (b: B).(\lambda (_:
+C).(\lambda (_: T).(let TMP_119 \def (eq B b Void) in (not TMP_119))))) in
+(let TMP_121 \def (\lambda (_: B).(\lambda (c1: C).(\lambda (_: T).(csubc g
+c1 x0)))) in (let TMP_122 \def (ex4_3 B C T TMP_116 TMP_118 TMP_120 TMP_121)
+in (let TMP_124 \def (\lambda (c1: C).(let TMP_123 \def (S n) in (drop h
+TMP_123 c1 e1))) in (let TMP_128 \def (\lambda (c1: C).(let TMP_125 \def (r k
+n) in (let TMP_126 \def (lift h TMP_125 x1) in (let TMP_127 \def (CHead c k
+TMP_126) in (csubc g c1 TMP_127))))) in (let TMP_129 \def (ex2 C TMP_124
+TMP_128) in (let TMP_177 \def (\lambda (H10: (ex2 C (\lambda (c1: C).(eq C e1
+(CHead c1 k x1))) (\lambda (c1: C).(csubc g c1 x0)))).(let TMP_131 \def
+(\lambda (c1: C).(let TMP_130 \def (CHead c1 k x1) in (eq C e1 TMP_130))) in
+(let TMP_132 \def (\lambda (c1: C).(csubc g c1 x0)) in (let TMP_134 \def
+(\lambda (c1: C).(let TMP_133 \def (S n) in (drop h TMP_133 c1 e1))) in (let
+TMP_138 \def (\lambda (c1: C).(let TMP_135 \def (r k n) in (let TMP_136 \def
+(lift h TMP_135 x1) in (let TMP_137 \def (CHead c k TMP_136) in (csubc g c1
+TMP_137))))) in (let TMP_139 \def (ex2 C TMP_134 TMP_138) in (let TMP_176
+\def (\lambda (x: C).(\lambda (H11: (eq C e1 (CHead x k x1))).(\lambda (H12:
+(csubc g x x0)).(let TMP_140 \def (CHead x k x1) in (let TMP_147 \def
+(\lambda (c0: C).(let TMP_142 \def (\lambda (c1: C).(let TMP_141 \def (S n)
+in (drop h TMP_141 c1 c0))) in (let TMP_146 \def (\lambda (c1: C).(let
+TMP_143 \def (r k n) in (let TMP_144 \def (lift h TMP_143 x1) in (let TMP_145
+\def (CHead c k TMP_144) in (csubc g c1 TMP_145))))) in (ex2 C TMP_142
+TMP_146)))) in (let TMP_148 \def (r k n) in (let H_x0 \def (H x0 TMP_148 h H5
+x H12) in (let H13 \def H_x0 in (let TMP_150 \def (\lambda (c1: C).(let
+TMP_149 \def (r k n) in (drop h TMP_149 c1 x))) in (let TMP_151 \def (\lambda
+(c1: C).(csubc g c1 c)) in (let TMP_154 \def (\lambda (c1: C).(let TMP_152
+\def (S n) in (let TMP_153 \def (CHead x k x1) in (drop h TMP_152 c1
+TMP_153)))) in (let TMP_158 \def (\lambda (c1: C).(let TMP_155 \def (r k n)
+in (let TMP_156 \def (lift h TMP_155 x1) in (let TMP_157 \def (CHead c k
+TMP_156) in (csubc g c1 TMP_157))))) in (let TMP_159 \def (ex2 C TMP_154
+TMP_158) in (let TMP_174 \def (\lambda (x2: C).(\lambda (H14: (drop h (r k n)
+x2 x)).(\lambda (H15: (csubc g x2 c)).(let TMP_162 \def (\lambda (c1: C).(let
+TMP_160 \def (S n) in (let TMP_161 \def (CHead x k x1) in (drop h TMP_160 c1
+TMP_161)))) in (let TMP_166 \def (\lambda (c1: C).(let TMP_163 \def (r k n)
+in (let TMP_164 \def (lift h TMP_163 x1) in (let TMP_165 \def (CHead c k
+TMP_164) in (csubc g c1 TMP_165))))) in (let TMP_167 \def (r k n) in (let
+TMP_168 \def (lift h TMP_167 x1) in (let TMP_169 \def (CHead x2 k TMP_168) in
+(let TMP_170 \def (drop_skip k h n x2 x H14 x1) in (let TMP_171 \def (r k n)
+in (let TMP_172 \def (lift h TMP_171 x1) in (let TMP_173 \def (csubc_head g
+x2 c H15 k TMP_172) in (ex_intro2 C TMP_162 TMP_166 TMP_169 TMP_170
+TMP_173))))))))))))) in (let TMP_175 \def (ex2_ind C TMP_150 TMP_151 TMP_159
+TMP_174 H13) in (eq_ind_r C TMP_140 TMP_147 TMP_175 e1 H11)))))))))))))))) in
+(ex2_ind C TMP_131 TMP_132 TMP_139 TMP_176 H10)))))))) in (let TMP_266 \def
+(\lambda (H10: (ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_:
+A).(eq K k (Bind Abbr))))) (\lambda (c1: C).(\lambda (v: T).(\lambda (_:
+A).(eq C e1 (CHead c1 (Bind Abst) v))))) (\lambda (c1: C).(\lambda (_:
+T).(\lambda (_: A).(csubc g c1 x0)))) (\lambda (c1: C).(\lambda (v:
+T).(\lambda (a: A).(sc3 g (asucc g a) c1 v)))) (\lambda (_: C).(\lambda (_:
+T).(\lambda (a: A).(sc3 g a x0 x1)))))).(let TMP_179 \def (\lambda (_:
+C).(\lambda (_: T).(\lambda (_: A).(let TMP_178 \def (Bind Abbr) in (eq K k
+TMP_178))))) in (let TMP_182 \def (\lambda (c1: C).(\lambda (v: T).(\lambda
+(_: A).(let TMP_180 \def (Bind Abst) in (let TMP_181 \def (CHead c1 TMP_180
+v) in (eq C e1 TMP_181)))))) in (let TMP_183 \def (\lambda (c1: C).(\lambda
+(_: T).(\lambda (_: A).(csubc g c1 x0)))) in (let TMP_185 \def (\lambda (c1:
+C).(\lambda (v: T).(\lambda (a: A).(let TMP_184 \def (asucc g a) in (sc3 g
+TMP_184 c1 v))))) in (let TMP_186 \def (\lambda (_: C).(\lambda (_:
+T).(\lambda (a: A).(sc3 g a x0 x1)))) in (let TMP_188 \def (\lambda (c1:
+C).(let TMP_187 \def (S n) in (drop h TMP_187 c1 e1))) in (let TMP_192 \def
+(\lambda (c1: C).(let TMP_189 \def (r k n) in (let TMP_190 \def (lift h
+TMP_189 x1) in (let TMP_191 \def (CHead c k TMP_190) in (csubc g c1
+TMP_191))))) in (let TMP_193 \def (ex2 C TMP_188 TMP_192) in (let TMP_265
+\def (\lambda (x2: C).(\lambda (x3: T).(\lambda (x4: A).(\lambda (H11: (eq K
+k (Bind Abbr))).(\lambda (H12: (eq C e1 (CHead x2 (Bind Abst) x3))).(\lambda
+(H13: (csubc g x2 x0)).(\lambda (H14: (sc3 g (asucc g x4) x2 x3)).(\lambda
+(H15: (sc3 g x4 x0 x1)).(let TMP_194 \def (Bind Abst) in (let TMP_195 \def
+(CHead x2 TMP_194 x3) in (let TMP_202 \def (\lambda (c0: C).(let TMP_197 \def
+(\lambda (c1: C).(let TMP_196 \def (S n) in (drop h TMP_196 c1 c0))) in (let
+TMP_201 \def (\lambda (c1: C).(let TMP_198 \def (r k n) in (let TMP_199 \def
+(lift h TMP_198 x1) in (let TMP_200 \def (CHead c k TMP_199) in (csubc g c1
+TMP_200))))) in (ex2 C TMP_197 TMP_201)))) in (let TMP_208 \def (\lambda (k0:
+K).(\forall (h0: nat).((drop h0 n (CHead c k0 (lift h (r k0 n) x1)) (CHead x0
+k0 x1)) \to (\forall (e3: C).((csubc g e3 (CHead x0 k0 x1)) \to (let TMP_203
+\def (\lambda (c1: C).(drop h0 n c1 e3)) in (let TMP_207 \def (\lambda (c1:
+C).(let TMP_204 \def (r k0 n) in (let TMP_205 \def (lift h TMP_204 x1) in
+(let TMP_206 \def (CHead c k0 TMP_205) in (csubc g c1 TMP_206))))) in (ex2 C
+TMP_203 TMP_207)))))))) in (let TMP_209 \def (Bind Abbr) in (let H16 \def
+(eq_ind K k TMP_208 H8 TMP_209 H11) in (let TMP_211 \def (\lambda (k0:
+K).(let TMP_210 \def (r k0 n) in (drop h TMP_210 c x0))) in (let TMP_212 \def
+(Bind Abbr) in (let H17 \def (eq_ind K k TMP_211 H5 TMP_212 H11) in (let
+TMP_213 \def (Bind Abbr) in (let TMP_222 \def (\lambda (k0: K).(let TMP_217
+\def (\lambda (c1: C).(let TMP_214 \def (S n) in (let TMP_215 \def (Bind
+Abst) in (let TMP_216 \def (CHead x2 TMP_215 x3) in (drop h TMP_214 c1
+TMP_216))))) in (let TMP_221 \def (\lambda (c1: C).(let TMP_218 \def (r k0 n)
+in (let TMP_219 \def (lift h TMP_218 x1) in (let TMP_220 \def (CHead c k0
+TMP_219) in (csubc g c1 TMP_220))))) in (ex2 C TMP_217 TMP_221)))) in (let
+TMP_223 \def (Bind Abbr) in (let TMP_224 \def (r TMP_223 n) in (let H_x0 \def
+(H x0 TMP_224 h H17 x2 H13) in (let H18 \def H_x0 in (let TMP_225 \def
+(\lambda (c1: C).(drop h n c1 x2)) in (let TMP_226 \def (\lambda (c1:
+C).(csubc g c1 c)) in (let TMP_230 \def (\lambda (c1: C).(let TMP_227 \def (S
+n) in (let TMP_228 \def (Bind Abst) in (let TMP_229 \def (CHead x2 TMP_228
+x3) in (drop h TMP_227 c1 TMP_229))))) in (let TMP_236 \def (\lambda (c1:
+C).(let TMP_231 \def (Bind Abbr) in (let TMP_232 \def (Bind Abbr) in (let
+TMP_233 \def (r TMP_232 n) in (let TMP_234 \def (lift h TMP_233 x1) in (let
+TMP_235 \def (CHead c TMP_231 TMP_234) in (csubc g c1 TMP_235))))))) in (let
+TMP_237 \def (ex2 C TMP_230 TMP_236) in (let TMP_262 \def (\lambda (x:
+C).(\lambda (H19: (drop h n x x2)).(\lambda (H20: (csubc g x c)).(let TMP_241
+\def (\lambda (c1: C).(let TMP_238 \def (S n) in (let TMP_239 \def (Bind
+Abst) in (let TMP_240 \def (CHead x2 TMP_239 x3) in (drop h TMP_238 c1
+TMP_240))))) in (let TMP_247 \def (\lambda (c1: C).(let TMP_242 \def (Bind
+Abbr) in (let TMP_243 \def (Bind Abbr) in (let TMP_244 \def (r TMP_243 n) in
+(let TMP_245 \def (lift h TMP_244 x1) in (let TMP_246 \def (CHead c TMP_242
+TMP_245) in (csubc g c1 TMP_246))))))) in (let TMP_248 \def (Bind Abst) in
+(let TMP_249 \def (lift h n x3) in (let TMP_250 \def (CHead x TMP_248
+TMP_249) in (let TMP_251 \def (drop_skip_bind h n x x2 H19 Abst x3) in (let
+TMP_252 \def (lift h n x3) in (let TMP_253 \def (asucc g x4) in (let TMP_254
+\def (sc3_lift g TMP_253 x2 x3 H14 x h n H19) in (let TMP_255 \def (Bind
+Abbr) in (let TMP_256 \def (r TMP_255 n) in (let TMP_257 \def (lift h TMP_256
+x1) in (let TMP_258 \def (Bind Abbr) in (let TMP_259 \def (r TMP_258 n) in
+(let TMP_260 \def (sc3_lift g x4 x0 x1 H15 c h TMP_259 H17) in (let TMP_261
+\def (csubc_abst g x c H20 TMP_252 x4 TMP_254 TMP_257 TMP_260) in (ex_intro2
+C TMP_241 TMP_247 TMP_250 TMP_251 TMP_261)))))))))))))))))))) in (let TMP_263
+\def (ex2_ind C TMP_225 TMP_226 TMP_237 TMP_262 H18) in (let TMP_264 \def
+(eq_ind_r K TMP_213 TMP_222 TMP_263 k H11) in (eq_ind_r C TMP_195 TMP_202
+TMP_264 e1 H12)))))))))))))))))))))))))))))))) in (ex5_3_ind C T A TMP_179
+TMP_182 TMP_183 TMP_185 TMP_186 TMP_193 TMP_265 H10))))))))))) in (let
+TMP_349 \def (\lambda (H10: (ex4_3 B C T (\lambda (_: B).(\lambda (c1:
+C).(\lambda (v1: T).(eq C e1 (CHead c1 (Bind Void) v1))))) (\lambda (b:
+B).(\lambda (_: C).(\lambda (_: T).(eq K k (Bind b))))) (\lambda (b:
+B).(\lambda (_: C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_:
+B).(\lambda (c1: C).(\lambda (_: T).(csubc g c1 x0)))))).(let TMP_269 \def
+(\lambda (_: B).(\lambda (c1: C).(\lambda (v1: T).(let TMP_267 \def (Bind
+Void) in (let TMP_268 \def (CHead c1 TMP_267 v1) in (eq C e1 TMP_268)))))) in
+(let TMP_271 \def (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(let
+TMP_270 \def (Bind b) in (eq K k TMP_270))))) in (let TMP_273 \def (\lambda
+(b: B).(\lambda (_: C).(\lambda (_: T).(let TMP_272 \def (eq B b Void) in
+(not TMP_272))))) in (let TMP_274 \def (\lambda (_: B).(\lambda (c1:
+C).(\lambda (_: T).(csubc g c1 x0)))) in (let TMP_276 \def (\lambda (c1:
+C).(let TMP_275 \def (S n) in (drop h TMP_275 c1 e1))) in (let TMP_280 \def
+(\lambda (c1: C).(let TMP_277 \def (r k n) in (let TMP_278 \def (lift h
+TMP_277 x1) in (let TMP_279 \def (CHead c k TMP_278) in (csubc g c1
+TMP_279))))) in (let TMP_281 \def (ex2 C TMP_276 TMP_280) in (let TMP_348
+\def (\lambda (x2: B).(\lambda (x3: C).(\lambda (x4: T).(\lambda (H11: (eq C
+e1 (CHead x3 (Bind Void) x4))).(\lambda (H12: (eq K k (Bind x2))).(\lambda
+(H13: (not (eq B x2 Void))).(\lambda (H14: (csubc g x3 x0)).(let TMP_282 \def
+(Bind Void) in (let TMP_283 \def (CHead x3 TMP_282 x4) in (let TMP_290 \def
+(\lambda (c0: C).(let TMP_285 \def (\lambda (c1: C).(let TMP_284 \def (S n)
+in (drop h TMP_284 c1 c0))) in (let TMP_289 \def (\lambda (c1: C).(let
+TMP_286 \def (r k n) in (let TMP_287 \def (lift h TMP_286 x1) in (let TMP_288
+\def (CHead c k TMP_287) in (csubc g c1 TMP_288))))) in (ex2 C TMP_285
+TMP_289)))) in (let TMP_296 \def (\lambda (k0: K).(\forall (h0: nat).((drop
+h0 n (CHead c k0 (lift h (r k0 n) x1)) (CHead x0 k0 x1)) \to (\forall (e3:
+C).((csubc g e3 (CHead x0 k0 x1)) \to (let TMP_291 \def (\lambda (c1:
+C).(drop h0 n c1 e3)) in (let TMP_295 \def (\lambda (c1: C).(let TMP_292 \def
+(r k0 n) in (let TMP_293 \def (lift h TMP_292 x1) in (let TMP_294 \def (CHead
+c k0 TMP_293) in (csubc g c1 TMP_294))))) in (ex2 C TMP_291 TMP_295))))))))
+in (let TMP_297 \def (Bind x2) in (let H15 \def (eq_ind K k TMP_296 H8
+TMP_297 H12) in (let TMP_299 \def (\lambda (k0: K).(let TMP_298 \def (r k0 n)
+in (drop h TMP_298 c x0))) in (let TMP_300 \def (Bind x2) in (let H16 \def
+(eq_ind K k TMP_299 H5 TMP_300 H12) in (let TMP_301 \def (Bind x2) in (let
+TMP_310 \def (\lambda (k0: K).(let TMP_305 \def (\lambda (c1: C).(let TMP_302
+\def (S n) in (let TMP_303 \def (Bind Void) in (let TMP_304 \def (CHead x3
+TMP_303 x4) in (drop h TMP_302 c1 TMP_304))))) in (let TMP_309 \def (\lambda
+(c1: C).(let TMP_306 \def (r k0 n) in (let TMP_307 \def (lift h TMP_306 x1)
+in (let TMP_308 \def (CHead c k0 TMP_307) in (csubc g c1 TMP_308))))) in (ex2
+C TMP_305 TMP_309)))) in (let TMP_311 \def (Bind x2) in (let TMP_312 \def (r
+TMP_311 n) in (let H_x0 \def (H x0 TMP_312 h H16 x3 H14) in (let H17 \def
+H_x0 in (let TMP_313 \def (\lambda (c1: C).(drop h n c1 x3)) in (let TMP_314
+\def (\lambda (c1: C).(csubc g c1 c)) in (let TMP_318 \def (\lambda (c1:
+C).(let TMP_315 \def (S n) in (let TMP_316 \def (Bind Void) in (let TMP_317
+\def (CHead x3 TMP_316 x4) in (drop h TMP_315 c1 TMP_317))))) in (let TMP_324
+\def (\lambda (c1: C).(let TMP_319 \def (Bind x2) in (let TMP_320 \def (Bind
+x2) in (let TMP_321 \def (r TMP_320 n) in (let TMP_322 \def (lift h TMP_321
+x1) in (let TMP_323 \def (CHead c TMP_319 TMP_322) in (csubc g c1
+TMP_323))))))) in (let TMP_325 \def (ex2 C TMP_318 TMP_324) in (let TMP_345
+\def (\lambda (x: C).(\lambda (H18: (drop h n x x3)).(\lambda (H19: (csubc g
+x c)).(let TMP_329 \def (\lambda (c1: C).(let TMP_326 \def (S n) in (let
+TMP_327 \def (Bind Void) in (let TMP_328 \def (CHead x3 TMP_327 x4) in (drop
+h TMP_326 c1 TMP_328))))) in (let TMP_335 \def (\lambda (c1: C).(let TMP_330
+\def (Bind x2) in (let TMP_331 \def (Bind x2) in (let TMP_332 \def (r TMP_331
+n) in (let TMP_333 \def (lift h TMP_332 x1) in (let TMP_334 \def (CHead c
+TMP_330 TMP_333) in (csubc g c1 TMP_334))))))) in (let TMP_336 \def (Bind
+Void) in (let TMP_337 \def (lift h n x4) in (let TMP_338 \def (CHead x
+TMP_336 TMP_337) in (let TMP_339 \def (drop_skip_bind h n x x3 H18 Void x4)
+in (let TMP_340 \def (lift h n x4) in (let TMP_341 \def (Bind x2) in (let
+TMP_342 \def (r TMP_341 n) in (let TMP_343 \def (lift h TMP_342 x1) in (let
+TMP_344 \def (csubc_void g x c H19 x2 H13 TMP_340 TMP_343) in (ex_intro2 C
+TMP_329 TMP_335 TMP_338 TMP_339 TMP_344))))))))))))))) in (let TMP_346 \def
+(ex2_ind C TMP_313 TMP_314 TMP_325 TMP_345 H17) in (let TMP_347 \def
+(eq_ind_r K TMP_301 TMP_310 TMP_346 k H12) in (eq_ind_r C TMP_283 TMP_290
+TMP_347 e1 H11))))))))))))))))))))))))))))))) in (ex4_3_ind B C T TMP_269
+TMP_271 TMP_273 TMP_274 TMP_281 TMP_348 H10)))))))))) in (let TMP_350 \def
+(or3_ind TMP_103 TMP_113 TMP_122 TMP_129 TMP_177 TMP_266 TMP_349 H9) in
+(eq_ind_r T TMP_94 TMP_99 TMP_350 t
+H4)))))))))))))))))))))))))))))))))))))))))) in (let TMP_352 \def
+(drop_gen_skip_l c e2 t h n k H1) in (ex3_2_ind C T TMP_69 TMP_72 TMP_74
+TMP_79 TMP_351 TMP_352))))))))))))))) in (nat_ind TMP_34 TMP_67 TMP_353
+d)))))))))) in (C_ind TMP_3 TMP_30 TMP_354 c2))))).
(* This file was automatically generated: do not edit *********************)
-include "Basic-1/csubc/drop.ma".
+include "basic_1/csubc/drop.ma".
theorem drop1_csubc_trans:
\forall (g: G).(\forall (hds: PList).(\forall (c2: C).(\forall (e2:
C).((drop1 hds c2 e2) \to (\forall (e1: C).((csubc g e2 e1) \to (ex2 C
(\lambda (c1: C).(drop1 hds c1 e1)) (\lambda (c1: C).(csubc g c2 c1)))))))))
\def
- \lambda (g: G).(\lambda (hds: PList).(PList_ind (\lambda (p: PList).(\forall
-(c2: C).(\forall (e2: C).((drop1 p c2 e2) \to (\forall (e1: C).((csubc g e2
-e1) \to (ex2 C (\lambda (c1: C).(drop1 p c1 e1)) (\lambda (c1: C).(csubc g c2
-c1))))))))) (\lambda (c2: C).(\lambda (e2: C).(\lambda (H: (drop1 PNil c2
-e2)).(\lambda (e1: C).(\lambda (H0: (csubc g e2 e1)).(let H_y \def
-(drop1_gen_pnil c2 e2 H) in (let H1 \def (eq_ind_r C e2 (\lambda (c:
-C).(csubc g c e1)) H0 c2 H_y) in (ex_intro2 C (\lambda (c1: C).(drop1 PNil c1
-e1)) (\lambda (c1: C).(csubc g c2 c1)) e1 (drop1_nil e1) H1)))))))) (\lambda
-(n: nat).(\lambda (n0: nat).(\lambda (p: PList).(\lambda (H: ((\forall (c2:
-C).(\forall (e2: C).((drop1 p c2 e2) \to (\forall (e1: C).((csubc g e2 e1)
-\to (ex2 C (\lambda (c1: C).(drop1 p c1 e1)) (\lambda (c1: C).(csubc g c2
-c1)))))))))).(\lambda (c2: C).(\lambda (e2: C).(\lambda (H0: (drop1 (PCons n
-n0 p) c2 e2)).(\lambda (e1: C).(\lambda (H1: (csubc g e2 e1)).(let H_x \def
-(drop1_gen_pcons c2 e2 p n n0 H0) in (let H2 \def H_x in (ex2_ind C (\lambda
-(c3: C).(drop n n0 c2 c3)) (\lambda (c3: C).(drop1 p c3 e2)) (ex2 C (\lambda
-(c1: C).(drop1 (PCons n n0 p) c1 e1)) (\lambda (c1: C).(csubc g c2 c1)))
-(\lambda (x: C).(\lambda (H3: (drop n n0 c2 x)).(\lambda (H4: (drop1 p x
-e2)).(let H_x0 \def (H x e2 H4 e1 H1) in (let H5 \def H_x0 in (ex2_ind C
-(\lambda (c1: C).(drop1 p c1 e1)) (\lambda (c1: C).(csubc g x c1)) (ex2 C
-(\lambda (c1: C).(drop1 (PCons n n0 p) c1 e1)) (\lambda (c1: C).(csubc g c2
-c1))) (\lambda (x0: C).(\lambda (H6: (drop1 p x0 e1)).(\lambda (H7: (csubc g
-x x0)).(let H_x1 \def (drop_csubc_trans g c2 x n0 n H3 x0 H7) in (let H8 \def
-H_x1 in (ex2_ind C (\lambda (c1: C).(drop n n0 c1 x0)) (\lambda (c1:
-C).(csubc g c2 c1)) (ex2 C (\lambda (c1: C).(drop1 (PCons n n0 p) c1 e1))
-(\lambda (c1: C).(csubc g c2 c1))) (\lambda (x1: C).(\lambda (H9: (drop n n0
-x1 x0)).(\lambda (H10: (csubc g c2 x1)).(ex_intro2 C (\lambda (c1: C).(drop1
-(PCons n n0 p) c1 e1)) (\lambda (c1: C).(csubc g c2 c1)) x1 (drop1_cons x1 x0
-n n0 H9 e1 p H6) H10)))) H8)))))) H5)))))) H2)))))))))))) hds)).
-(* COMMENTS
-Initial nodes: 551
-END *)
+ \lambda (g: G).(\lambda (hds: PList).(let TMP_3 \def (\lambda (p:
+PList).(\forall (c2: C).(\forall (e2: C).((drop1 p c2 e2) \to (\forall (e1:
+C).((csubc g e2 e1) \to (let TMP_1 \def (\lambda (c1: C).(drop1 p c1 e1)) in
+(let TMP_2 \def (\lambda (c1: C).(csubc g c2 c1)) in (ex2 C TMP_1
+TMP_2))))))))) in (let TMP_8 \def (\lambda (c2: C).(\lambda (e2: C).(\lambda
+(H: (drop1 PNil c2 e2)).(\lambda (e1: C).(\lambda (H0: (csubc g e2 e1)).(let
+H_y \def (drop1_gen_pnil c2 e2 H) in (let TMP_4 \def (\lambda (c: C).(csubc g
+c e1)) in (let H1 \def (eq_ind_r C e2 TMP_4 H0 c2 H_y) in (let TMP_5 \def
+(\lambda (c1: C).(drop1 PNil c1 e1)) in (let TMP_6 \def (\lambda (c1:
+C).(csubc g c2 c1)) in (let TMP_7 \def (drop1_nil e1) in (ex_intro2 C TMP_5
+TMP_6 e1 TMP_7 H1)))))))))))) in (let TMP_34 \def (\lambda (n: nat).(\lambda
+(n0: nat).(\lambda (p: PList).(\lambda (H: ((\forall (c2: C).(\forall (e2:
+C).((drop1 p c2 e2) \to (\forall (e1: C).((csubc g e2 e1) \to (ex2 C (\lambda
+(c1: C).(drop1 p c1 e1)) (\lambda (c1: C).(csubc g c2 c1)))))))))).(\lambda
+(c2: C).(\lambda (e2: C).(\lambda (H0: (drop1 (PCons n n0 p) c2 e2)).(\lambda
+(e1: C).(\lambda (H1: (csubc g e2 e1)).(let H_x \def (drop1_gen_pcons c2 e2 p
+n n0 H0) in (let H2 \def H_x in (let TMP_9 \def (\lambda (c3: C).(drop n n0
+c2 c3)) in (let TMP_10 \def (\lambda (c3: C).(drop1 p c3 e2)) in (let TMP_12
+\def (\lambda (c1: C).(let TMP_11 \def (PCons n n0 p) in (drop1 TMP_11 c1
+e1))) in (let TMP_13 \def (\lambda (c1: C).(csubc g c2 c1)) in (let TMP_14
+\def (ex2 C TMP_12 TMP_13) in (let TMP_33 \def (\lambda (x: C).(\lambda (H3:
+(drop n n0 c2 x)).(\lambda (H4: (drop1 p x e2)).(let H_x0 \def (H x e2 H4 e1
+H1) in (let H5 \def H_x0 in (let TMP_15 \def (\lambda (c1: C).(drop1 p c1
+e1)) in (let TMP_16 \def (\lambda (c1: C).(csubc g x c1)) in (let TMP_18 \def
+(\lambda (c1: C).(let TMP_17 \def (PCons n n0 p) in (drop1 TMP_17 c1 e1))) in
+(let TMP_19 \def (\lambda (c1: C).(csubc g c2 c1)) in (let TMP_20 \def (ex2 C
+TMP_18 TMP_19) in (let TMP_32 \def (\lambda (x0: C).(\lambda (H6: (drop1 p x0
+e1)).(\lambda (H7: (csubc g x x0)).(let H_x1 \def (drop_csubc_trans g c2 x n0
+n H3 x0 H7) in (let H8 \def H_x1 in (let TMP_21 \def (\lambda (c1: C).(drop n
+n0 c1 x0)) in (let TMP_22 \def (\lambda (c1: C).(csubc g c2 c1)) in (let
+TMP_24 \def (\lambda (c1: C).(let TMP_23 \def (PCons n n0 p) in (drop1 TMP_23
+c1 e1))) in (let TMP_25 \def (\lambda (c1: C).(csubc g c2 c1)) in (let TMP_26
+\def (ex2 C TMP_24 TMP_25) in (let TMP_31 \def (\lambda (x1: C).(\lambda (H9:
+(drop n n0 x1 x0)).(\lambda (H10: (csubc g c2 x1)).(let TMP_28 \def (\lambda
+(c1: C).(let TMP_27 \def (PCons n n0 p) in (drop1 TMP_27 c1 e1))) in (let
+TMP_29 \def (\lambda (c1: C).(csubc g c2 c1)) in (let TMP_30 \def (drop1_cons
+x1 x0 n n0 H9 e1 p H6) in (ex_intro2 C TMP_28 TMP_29 x1 TMP_30 H10))))))) in
+(ex2_ind C TMP_21 TMP_22 TMP_26 TMP_31 H8)))))))))))) in (ex2_ind C TMP_15
+TMP_16 TMP_20 TMP_32 H5)))))))))))) in (ex2_ind C TMP_9 TMP_10 TMP_14 TMP_33
+H2)))))))))))))))))) in (PList_ind TMP_3 TMP_8 TMP_34 hds))))).
theorem csubc_drop1_conf_rev:
\forall (g: G).(\forall (hds: PList).(\forall (c2: C).(\forall (e2:
C).((drop1 hds c2 e2) \to (\forall (e1: C).((csubc g e1 e2) \to (ex2 C
(\lambda (c1: C).(drop1 hds c1 e1)) (\lambda (c1: C).(csubc g c1 c2)))))))))
\def
- \lambda (g: G).(\lambda (hds: PList).(PList_ind (\lambda (p: PList).(\forall
-(c2: C).(\forall (e2: C).((drop1 p c2 e2) \to (\forall (e1: C).((csubc g e1
-e2) \to (ex2 C (\lambda (c1: C).(drop1 p c1 e1)) (\lambda (c1: C).(csubc g c1
-c2))))))))) (\lambda (c2: C).(\lambda (e2: C).(\lambda (H: (drop1 PNil c2
-e2)).(\lambda (e1: C).(\lambda (H0: (csubc g e1 e2)).(let H_y \def
-(drop1_gen_pnil c2 e2 H) in (let H1 \def (eq_ind_r C e2 (\lambda (c:
-C).(csubc g e1 c)) H0 c2 H_y) in (ex_intro2 C (\lambda (c1: C).(drop1 PNil c1
-e1)) (\lambda (c1: C).(csubc g c1 c2)) e1 (drop1_nil e1) H1)))))))) (\lambda
-(n: nat).(\lambda (n0: nat).(\lambda (p: PList).(\lambda (H: ((\forall (c2:
-C).(\forall (e2: C).((drop1 p c2 e2) \to (\forall (e1: C).((csubc g e1 e2)
-\to (ex2 C (\lambda (c1: C).(drop1 p c1 e1)) (\lambda (c1: C).(csubc g c1
-c2)))))))))).(\lambda (c2: C).(\lambda (e2: C).(\lambda (H0: (drop1 (PCons n
-n0 p) c2 e2)).(\lambda (e1: C).(\lambda (H1: (csubc g e1 e2)).(let H_x \def
-(drop1_gen_pcons c2 e2 p n n0 H0) in (let H2 \def H_x in (ex2_ind C (\lambda
-(c3: C).(drop n n0 c2 c3)) (\lambda (c3: C).(drop1 p c3 e2)) (ex2 C (\lambda
-(c1: C).(drop1 (PCons n n0 p) c1 e1)) (\lambda (c1: C).(csubc g c1 c2)))
-(\lambda (x: C).(\lambda (H3: (drop n n0 c2 x)).(\lambda (H4: (drop1 p x
-e2)).(let H_x0 \def (H x e2 H4 e1 H1) in (let H5 \def H_x0 in (ex2_ind C
-(\lambda (c1: C).(drop1 p c1 e1)) (\lambda (c1: C).(csubc g c1 x)) (ex2 C
-(\lambda (c1: C).(drop1 (PCons n n0 p) c1 e1)) (\lambda (c1: C).(csubc g c1
-c2))) (\lambda (x0: C).(\lambda (H6: (drop1 p x0 e1)).(\lambda (H7: (csubc g
-x0 x)).(let H_x1 \def (csubc_drop_conf_rev g c2 x n0 n H3 x0 H7) in (let H8
-\def H_x1 in (ex2_ind C (\lambda (c1: C).(drop n n0 c1 x0)) (\lambda (c1:
-C).(csubc g c1 c2)) (ex2 C (\lambda (c1: C).(drop1 (PCons n n0 p) c1 e1))
-(\lambda (c1: C).(csubc g c1 c2))) (\lambda (x1: C).(\lambda (H9: (drop n n0
-x1 x0)).(\lambda (H10: (csubc g x1 c2)).(ex_intro2 C (\lambda (c1: C).(drop1
-(PCons n n0 p) c1 e1)) (\lambda (c1: C).(csubc g c1 c2)) x1 (drop1_cons x1 x0
-n n0 H9 e1 p H6) H10)))) H8)))))) H5)))))) H2)))))))))))) hds)).
-(* COMMENTS
-Initial nodes: 551
-END *)
+ \lambda (g: G).(\lambda (hds: PList).(let TMP_3 \def (\lambda (p:
+PList).(\forall (c2: C).(\forall (e2: C).((drop1 p c2 e2) \to (\forall (e1:
+C).((csubc g e1 e2) \to (let TMP_1 \def (\lambda (c1: C).(drop1 p c1 e1)) in
+(let TMP_2 \def (\lambda (c1: C).(csubc g c1 c2)) in (ex2 C TMP_1
+TMP_2))))))))) in (let TMP_8 \def (\lambda (c2: C).(\lambda (e2: C).(\lambda
+(H: (drop1 PNil c2 e2)).(\lambda (e1: C).(\lambda (H0: (csubc g e1 e2)).(let
+H_y \def (drop1_gen_pnil c2 e2 H) in (let TMP_4 \def (\lambda (c: C).(csubc g
+e1 c)) in (let H1 \def (eq_ind_r C e2 TMP_4 H0 c2 H_y) in (let TMP_5 \def
+(\lambda (c1: C).(drop1 PNil c1 e1)) in (let TMP_6 \def (\lambda (c1:
+C).(csubc g c1 c2)) in (let TMP_7 \def (drop1_nil e1) in (ex_intro2 C TMP_5
+TMP_6 e1 TMP_7 H1)))))))))))) in (let TMP_34 \def (\lambda (n: nat).(\lambda
+(n0: nat).(\lambda (p: PList).(\lambda (H: ((\forall (c2: C).(\forall (e2:
+C).((drop1 p c2 e2) \to (\forall (e1: C).((csubc g e1 e2) \to (ex2 C (\lambda
+(c1: C).(drop1 p c1 e1)) (\lambda (c1: C).(csubc g c1 c2)))))))))).(\lambda
+(c2: C).(\lambda (e2: C).(\lambda (H0: (drop1 (PCons n n0 p) c2 e2)).(\lambda
+(e1: C).(\lambda (H1: (csubc g e1 e2)).(let H_x \def (drop1_gen_pcons c2 e2 p
+n n0 H0) in (let H2 \def H_x in (let TMP_9 \def (\lambda (c3: C).(drop n n0
+c2 c3)) in (let TMP_10 \def (\lambda (c3: C).(drop1 p c3 e2)) in (let TMP_12
+\def (\lambda (c1: C).(let TMP_11 \def (PCons n n0 p) in (drop1 TMP_11 c1
+e1))) in (let TMP_13 \def (\lambda (c1: C).(csubc g c1 c2)) in (let TMP_14
+\def (ex2 C TMP_12 TMP_13) in (let TMP_33 \def (\lambda (x: C).(\lambda (H3:
+(drop n n0 c2 x)).(\lambda (H4: (drop1 p x e2)).(let H_x0 \def (H x e2 H4 e1
+H1) in (let H5 \def H_x0 in (let TMP_15 \def (\lambda (c1: C).(drop1 p c1
+e1)) in (let TMP_16 \def (\lambda (c1: C).(csubc g c1 x)) in (let TMP_18 \def
+(\lambda (c1: C).(let TMP_17 \def (PCons n n0 p) in (drop1 TMP_17 c1 e1))) in
+(let TMP_19 \def (\lambda (c1: C).(csubc g c1 c2)) in (let TMP_20 \def (ex2 C
+TMP_18 TMP_19) in (let TMP_32 \def (\lambda (x0: C).(\lambda (H6: (drop1 p x0
+e1)).(\lambda (H7: (csubc g x0 x)).(let H_x1 \def (csubc_drop_conf_rev g c2 x
+n0 n H3 x0 H7) in (let H8 \def H_x1 in (let TMP_21 \def (\lambda (c1:
+C).(drop n n0 c1 x0)) in (let TMP_22 \def (\lambda (c1: C).(csubc g c1 c2))
+in (let TMP_24 \def (\lambda (c1: C).(let TMP_23 \def (PCons n n0 p) in
+(drop1 TMP_23 c1 e1))) in (let TMP_25 \def (\lambda (c1: C).(csubc g c1 c2))
+in (let TMP_26 \def (ex2 C TMP_24 TMP_25) in (let TMP_31 \def (\lambda (x1:
+C).(\lambda (H9: (drop n n0 x1 x0)).(\lambda (H10: (csubc g x1 c2)).(let
+TMP_28 \def (\lambda (c1: C).(let TMP_27 \def (PCons n n0 p) in (drop1 TMP_27
+c1 e1))) in (let TMP_29 \def (\lambda (c1: C).(csubc g c1 c2)) in (let TMP_30
+\def (drop1_cons x1 x0 n n0 H9 e1 p H6) in (ex_intro2 C TMP_28 TMP_29 x1
+TMP_30 H10))))))) in (ex2_ind C TMP_21 TMP_22 TMP_26 TMP_31 H8)))))))))))) in
+(ex2_ind C TMP_15 TMP_16 TMP_20 TMP_32 H5)))))))))))) in (ex2_ind C TMP_9
+TMP_10 TMP_14 TMP_33 H2)))))))))))))))))) in (PList_ind TMP_3 TMP_8 TMP_34
+hds))))).
(* This file was automatically generated: do not edit *********************)
-include "Basic-1/csubc/defs.ma".
+include "basic_1/csubc/defs.ma".
+
+let rec csubc_ind (g: G) (P: (C \to (C \to Prop))) (f: (\forall (n: nat).(P
+(CSort n) (CSort n)))) (f0: (\forall (c1: C).(\forall (c2: C).((csubc g c1
+c2) \to ((P c1 c2) \to (\forall (k: K).(\forall (v: T).(P (CHead c1 k v)
+(CHead c2 k v))))))))) (f1: (\forall (c1: C).(\forall (c2: C).((csubc g c1
+c2) \to ((P c1 c2) \to (\forall (b: B).((not (eq B b Void)) \to (\forall (u1:
+T).(\forall (u2: T).(P (CHead c1 (Bind Void) u1) (CHead c2 (Bind b)
+u2))))))))))) (f2: (\forall (c1: C).(\forall (c2: C).((csubc g c1 c2) \to ((P
+c1 c2) \to (\forall (v: T).(\forall (a: A).((sc3 g (asucc g a) c1 v) \to
+(\forall (w: T).((sc3 g a c2 w) \to (P (CHead c1 (Bind Abst) v) (CHead c2
+(Bind Abbr) w)))))))))))) (c: C) (c0: C) (c1: csubc g c c0) on c1: P c c0
+\def match c1 with [(csubc_sort n) \Rightarrow (f n) | (csubc_head c2 c3 c4 k
+v) \Rightarrow (f0 c2 c3 c4 ((csubc_ind g P f f0 f1 f2) c2 c3 c4) k v) |
+(csubc_void c2 c3 c4 b n u1 u2) \Rightarrow (f1 c2 c3 c4 ((csubc_ind g P f f0
+f1 f2) c2 c3 c4) b n u1 u2) | (csubc_abst c2 c3 c4 v a s0 w s1) \Rightarrow
+(f2 c2 c3 c4 ((csubc_ind g P f f0 f1 f2) c2 c3 c4) v a s0 w s1)].
theorem csubc_gen_sort_l:
\forall (g: G).(\forall (x: C).(\forall (n: nat).((csubc g (CSort n) x) \to
(c: C).(eq C x c)) (\lambda (y: C).(\lambda (H0: (csubc g y x)).(csubc_ind g
(\lambda (c: C).(\lambda (c0: C).((eq C c (CSort n)) \to (eq C c0 c))))
(\lambda (n0: nat).(\lambda (H1: (eq C (CSort n0) (CSort n))).(let H2 \def
-(f_equal C nat (\lambda (e: C).(match e in C return (\lambda (_: C).nat) with
-[(CSort n1) \Rightarrow n1 | (CHead _ _ _) \Rightarrow n0])) (CSort n0)
-(CSort n) H1) in (eq_ind_r nat n (\lambda (n1: nat).(eq C (CSort n1) (CSort
-n1))) (refl_equal C (CSort n)) n0 H2)))) (\lambda (c1: C).(\lambda (c2:
-C).(\lambda (_: (csubc g c1 c2)).(\lambda (_: (((eq C c1 (CSort n)) \to (eq C
-c2 c1)))).(\lambda (k: K).(\lambda (v: T).(\lambda (H3: (eq C (CHead c1 k v)
-(CSort n))).(let H4 \def (eq_ind C (CHead c1 k v) (\lambda (ee: C).(match ee
-in C return (\lambda (_: C).Prop) with [(CSort _) \Rightarrow False | (CHead
-_ _ _) \Rightarrow True])) I (CSort n) H3) in (False_ind (eq C (CHead c2 k v)
-(CHead c1 k v)) H4))))))))) (\lambda (c1: C).(\lambda (c2: C).(\lambda (_:
-(csubc g c1 c2)).(\lambda (_: (((eq C c1 (CSort n)) \to (eq C c2
-c1)))).(\lambda (b: B).(\lambda (_: (not (eq B b Void))).(\lambda (u1:
-T).(\lambda (u2: T).(\lambda (H4: (eq C (CHead c1 (Bind Void) u1) (CSort
-n))).(let H5 \def (eq_ind C (CHead c1 (Bind Void) u1) (\lambda (ee: C).(match
-ee in C return (\lambda (_: C).Prop) with [(CSort _) \Rightarrow False |
-(CHead _ _ _) \Rightarrow True])) I (CSort n) H4) in (False_ind (eq C (CHead
-c2 (Bind b) u2) (CHead c1 (Bind Void) u1)) H5))))))))))) (\lambda (c1:
+(f_equal C nat (\lambda (e: C).(match e with [(CSort n1) \Rightarrow n1 |
+(CHead _ _ _) \Rightarrow n0])) (CSort n0) (CSort n) H1) in (eq_ind_r nat n
+(\lambda (n1: nat).(eq C (CSort n1) (CSort n1))) (refl_equal C (CSort n)) n0
+H2)))) (\lambda (c1: C).(\lambda (c2: C).(\lambda (_: (csubc g c1
+c2)).(\lambda (_: (((eq C c1 (CSort n)) \to (eq C c2 c1)))).(\lambda (k:
+K).(\lambda (v: T).(\lambda (H3: (eq C (CHead c1 k v) (CSort n))).(let H4
+\def (eq_ind C (CHead c1 k v) (\lambda (ee: C).(match ee with [(CSort _)
+\Rightarrow False | (CHead _ _ _) \Rightarrow True])) I (CSort n) H3) in
+(False_ind (eq C (CHead c2 k v) (CHead c1 k v)) H4))))))))) (\lambda (c1:
C).(\lambda (c2: C).(\lambda (_: (csubc g c1 c2)).(\lambda (_: (((eq C c1
-(CSort n)) \to (eq C c2 c1)))).(\lambda (v: T).(\lambda (a: A).(\lambda (_:
-(sc3 g (asucc g a) c1 v)).(\lambda (w: T).(\lambda (_: (sc3 g a c2
-w)).(\lambda (H5: (eq C (CHead c1 (Bind Abst) v) (CSort n))).(let H6 \def
-(eq_ind C (CHead c1 (Bind Abst) v) (\lambda (ee: C).(match ee in C return
-(\lambda (_: C).Prop) with [(CSort _) \Rightarrow False | (CHead _ _ _)
+(CSort n)) \to (eq C c2 c1)))).(\lambda (b: B).(\lambda (_: (not (eq B b
+Void))).(\lambda (u1: T).(\lambda (u2: T).(\lambda (H4: (eq C (CHead c1 (Bind
+Void) u1) (CSort n))).(let H5 \def (eq_ind C (CHead c1 (Bind Void) u1)
+(\lambda (ee: C).(match ee with [(CSort _) \Rightarrow False | (CHead _ _ _)
+\Rightarrow True])) I (CSort n) H4) in (False_ind (eq C (CHead c2 (Bind b)
+u2) (CHead c1 (Bind Void) u1)) H5))))))))))) (\lambda (c1: C).(\lambda (c2:
+C).(\lambda (_: (csubc g c1 c2)).(\lambda (_: (((eq C c1 (CSort n)) \to (eq C
+c2 c1)))).(\lambda (v: T).(\lambda (a: A).(\lambda (_: (sc3 g (asucc g a) c1
+v)).(\lambda (w: T).(\lambda (_: (sc3 g a c2 w)).(\lambda (H5: (eq C (CHead
+c1 (Bind Abst) v) (CSort n))).(let H6 \def (eq_ind C (CHead c1 (Bind Abst) v)
+(\lambda (ee: C).(match ee with [(CSort _) \Rightarrow False | (CHead _ _ _)
\Rightarrow True])) I (CSort n) H5) in (False_ind (eq C (CHead c2 (Bind Abbr)
w) (CHead c1 (Bind Abst) v)) H6)))))))))))) y x H0))) H)))).
-(* COMMENTS
-Initial nodes: 533
-END *)
theorem csubc_gen_head_l:
\forall (g: G).(\forall (c1: C).(\forall (x: C).(\forall (v: T).(\forall (k:
T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c2: C).(\lambda (_:
T).(csubc g c1 c2))))))))) (\lambda (n: nat).(\lambda (H1: (eq C (CSort n)
(CHead c1 k v))).(let H2 \def (eq_ind C (CSort n) (\lambda (ee: C).(match ee
-in C return (\lambda (_: C).Prop) with [(CSort _) \Rightarrow True | (CHead _
-_ _) \Rightarrow False])) I (CHead c1 k v) H1) in (False_ind (or3 (ex2 C
-(\lambda (c2: C).(eq C (CSort n) (CHead c2 k v))) (\lambda (c2: C).(csubc g
-c1 c2))) (ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K k
-(Bind Abst))))) (\lambda (c2: C).(\lambda (w: T).(\lambda (_: A).(eq C (CSort
-n) (CHead c2 (Bind Abbr) w))))) (\lambda (c2: C).(\lambda (_: T).(\lambda (_:
-A).(csubc g c1 c2)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g
-(asucc g a) c1 v)))) (\lambda (c2: C).(\lambda (w: T).(\lambda (a: A).(sc3 g
-a c2 w))))) (ex4_3 B C T (\lambda (b: B).(\lambda (c2: C).(\lambda (v2:
-T).(eq C (CSort n) (CHead c2 (Bind b) v2))))) (\lambda (_: B).(\lambda (_:
-C).(\lambda (_: T).(eq K k (Bind Void))))) (\lambda (b: B).(\lambda (_:
-C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c2:
-C).(\lambda (_: T).(csubc g c1 c2)))))) H2)))) (\lambda (c0: C).(\lambda (c2:
-C).(\lambda (H1: (csubc g c0 c2)).(\lambda (H2: (((eq C c0 (CHead c1 k v))
-\to (or3 (ex2 C (\lambda (c3: C).(eq C c2 (CHead c3 k v))) (\lambda (c3:
+with [(CSort _) \Rightarrow True | (CHead _ _ _) \Rightarrow False])) I
+(CHead c1 k v) H1) in (False_ind (or3 (ex2 C (\lambda (c2: C).(eq C (CSort n)
+(CHead c2 k v))) (\lambda (c2: C).(csubc g c1 c2))) (ex5_3 C T A (\lambda (_:
+C).(\lambda (_: T).(\lambda (_: A).(eq K k (Bind Abst))))) (\lambda (c2:
+C).(\lambda (w: T).(\lambda (_: A).(eq C (CSort n) (CHead c2 (Bind Abbr)
+w))))) (\lambda (c2: C).(\lambda (_: T).(\lambda (_: A).(csubc g c1 c2))))
+(\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g (asucc g a) c1 v))))
+(\lambda (c2: C).(\lambda (w: T).(\lambda (a: A).(sc3 g a c2 w))))) (ex4_3 B
+C T (\lambda (b: B).(\lambda (c2: C).(\lambda (v2: T).(eq C (CSort n) (CHead
+c2 (Bind b) v2))))) (\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(eq K k
+(Bind Void))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b
+Void))))) (\lambda (_: B).(\lambda (c2: C).(\lambda (_: T).(csubc g c1
+c2)))))) H2)))) (\lambda (c0: C).(\lambda (c2: C).(\lambda (H1: (csubc g c0
+c2)).(\lambda (H2: (((eq C c0 (CHead c1 k v)) \to (or3 (ex2 C (\lambda (c3:
+C).(eq C c2 (CHead c3 k v))) (\lambda (c3: C).(csubc g c1 c3))) (ex5_3 C T A
+(\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K k (Bind Abst)))))
+(\lambda (c3: C).(\lambda (w: T).(\lambda (_: A).(eq C c2 (CHead c3 (Bind
+Abbr) w))))) (\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g c1
+c3)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g (asucc g a) c1
+v)))) (\lambda (c3: C).(\lambda (w: T).(\lambda (a: A).(sc3 g a c3 w)))))
+(ex4_3 B C T (\lambda (b: B).(\lambda (c3: C).(\lambda (v2: T).(eq C c2
+(CHead c3 (Bind b) v2))))) (\lambda (_: B).(\lambda (_: C).(\lambda (_:
+T).(eq K k (Bind Void))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_:
+T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c3: C).(\lambda (_:
+T).(csubc g c1 c3))))))))).(\lambda (k0: K).(\lambda (v0: T).(\lambda (H3:
+(eq C (CHead c0 k0 v0) (CHead c1 k v))).(let H4 \def (f_equal C C (\lambda
+(e: C).(match e with [(CSort _) \Rightarrow c0 | (CHead c _ _) \Rightarrow
+c])) (CHead c0 k0 v0) (CHead c1 k v) H3) in ((let H5 \def (f_equal C K
+(\lambda (e: C).(match e with [(CSort _) \Rightarrow k0 | (CHead _ k1 _)
+\Rightarrow k1])) (CHead c0 k0 v0) (CHead c1 k v) H3) in ((let H6 \def
+(f_equal C T (\lambda (e: C).(match e with [(CSort _) \Rightarrow v0 | (CHead
+_ _ t) \Rightarrow t])) (CHead c0 k0 v0) (CHead c1 k v) H3) in (\lambda (H7:
+(eq K k0 k)).(\lambda (H8: (eq C c0 c1)).(eq_ind_r T v (\lambda (t: T).(or3
+(ex2 C (\lambda (c3: C).(eq C (CHead c2 k0 t) (CHead c3 k v))) (\lambda (c3:
C).(csubc g c1 c3))) (ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda
(_: A).(eq K k (Bind Abst))))) (\lambda (c3: C).(\lambda (w: T).(\lambda (_:
-A).(eq C c2 (CHead c3 (Bind Abbr) w))))) (\lambda (c3: C).(\lambda (_:
-T).(\lambda (_: A).(csubc g c1 c3)))) (\lambda (_: C).(\lambda (_:
-T).(\lambda (a: A).(sc3 g (asucc g a) c1 v)))) (\lambda (c3: C).(\lambda (w:
-T).(\lambda (a: A).(sc3 g a c3 w))))) (ex4_3 B C T (\lambda (b: B).(\lambda
-(c3: C).(\lambda (v2: T).(eq C c2 (CHead c3 (Bind b) v2))))) (\lambda (_:
-B).(\lambda (_: C).(\lambda (_: T).(eq K k (Bind Void))))) (\lambda (b:
-B).(\lambda (_: C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_:
-B).(\lambda (c3: C).(\lambda (_: T).(csubc g c1 c3))))))))).(\lambda (k0:
-K).(\lambda (v0: T).(\lambda (H3: (eq C (CHead c0 k0 v0) (CHead c1 k
-v))).(let H4 \def (f_equal C C (\lambda (e: C).(match e in C return (\lambda
-(_: C).C) with [(CSort _) \Rightarrow c0 | (CHead c _ _) \Rightarrow c]))
-(CHead c0 k0 v0) (CHead c1 k v) H3) in ((let H5 \def (f_equal C K (\lambda
-(e: C).(match e in C return (\lambda (_: C).K) with [(CSort _) \Rightarrow k0
-| (CHead _ k1 _) \Rightarrow k1])) (CHead c0 k0 v0) (CHead c1 k v) H3) in
-((let H6 \def (f_equal C T (\lambda (e: C).(match e in C return (\lambda (_:
-C).T) with [(CSort _) \Rightarrow v0 | (CHead _ _ t) \Rightarrow t])) (CHead
-c0 k0 v0) (CHead c1 k v) H3) in (\lambda (H7: (eq K k0 k)).(\lambda (H8: (eq
-C c0 c1)).(eq_ind_r T v (\lambda (t: T).(or3 (ex2 C (\lambda (c3: C).(eq C
-(CHead c2 k0 t) (CHead c3 k v))) (\lambda (c3: C).(csubc g c1 c3))) (ex5_3 C
+A).(eq C (CHead c2 k0 t) (CHead c3 (Bind Abbr) w))))) (\lambda (c3:
+C).(\lambda (_: T).(\lambda (_: A).(csubc g c1 c3)))) (\lambda (_:
+C).(\lambda (_: T).(\lambda (a: A).(sc3 g (asucc g a) c1 v)))) (\lambda (c3:
+C).(\lambda (w: T).(\lambda (a: A).(sc3 g a c3 w))))) (ex4_3 B C T (\lambda
+(b: B).(\lambda (c3: C).(\lambda (v2: T).(eq C (CHead c2 k0 t) (CHead c3
+(Bind b) v2))))) (\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(eq K k
+(Bind Void))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b
+Void))))) (\lambda (_: B).(\lambda (c3: C).(\lambda (_: T).(csubc g c1
+c3))))))) (eq_ind_r K k (\lambda (k1: K).(or3 (ex2 C (\lambda (c3: C).(eq C
+(CHead c2 k1 v) (CHead c3 k v))) (\lambda (c3: C).(csubc g c1 c3))) (ex5_3 C
T A (\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K k (Bind Abst)))))
-(\lambda (c3: C).(\lambda (w: T).(\lambda (_: A).(eq C (CHead c2 k0 t) (CHead
+(\lambda (c3: C).(\lambda (w: T).(\lambda (_: A).(eq C (CHead c2 k1 v) (CHead
c3 (Bind Abbr) w))))) (\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc
g c1 c3)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g (asucc g
a) c1 v)))) (\lambda (c3: C).(\lambda (w: T).(\lambda (a: A).(sc3 g a c3
w))))) (ex4_3 B C T (\lambda (b: B).(\lambda (c3: C).(\lambda (v2: T).(eq C
-(CHead c2 k0 t) (CHead c3 (Bind b) v2))))) (\lambda (_: B).(\lambda (_:
+(CHead c2 k1 v) (CHead c3 (Bind b) v2))))) (\lambda (_: B).(\lambda (_:
C).(\lambda (_: T).(eq K k (Bind Void))))) (\lambda (b: B).(\lambda (_:
C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c3:
-C).(\lambda (_: T).(csubc g c1 c3))))))) (eq_ind_r K k (\lambda (k1: K).(or3
-(ex2 C (\lambda (c3: C).(eq C (CHead c2 k1 v) (CHead c3 k v))) (\lambda (c3:
-C).(csubc g c1 c3))) (ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda
-(_: A).(eq K k (Bind Abst))))) (\lambda (c3: C).(\lambda (w: T).(\lambda (_:
-A).(eq C (CHead c2 k1 v) (CHead c3 (Bind Abbr) w))))) (\lambda (c3:
-C).(\lambda (_: T).(\lambda (_: A).(csubc g c1 c3)))) (\lambda (_:
-C).(\lambda (_: T).(\lambda (a: A).(sc3 g (asucc g a) c1 v)))) (\lambda (c3:
-C).(\lambda (w: T).(\lambda (a: A).(sc3 g a c3 w))))) (ex4_3 B C T (\lambda
-(b: B).(\lambda (c3: C).(\lambda (v2: T).(eq C (CHead c2 k1 v) (CHead c3
-(Bind b) v2))))) (\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(eq K k
-(Bind Void))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b
+C).(\lambda (_: T).(csubc g c1 c3))))))) (let H9 \def (eq_ind C c0 (\lambda
+(c: C).((eq C c (CHead c1 k v)) \to (or3 (ex2 C (\lambda (c3: C).(eq C c2
+(CHead c3 k v))) (\lambda (c3: C).(csubc g c1 c3))) (ex5_3 C T A (\lambda (_:
+C).(\lambda (_: T).(\lambda (_: A).(eq K k (Bind Abst))))) (\lambda (c3:
+C).(\lambda (w: T).(\lambda (_: A).(eq C c2 (CHead c3 (Bind Abbr) w)))))
+(\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g c1 c3)))) (\lambda
+(_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g (asucc g a) c1 v)))) (\lambda
+(c3: C).(\lambda (w: T).(\lambda (a: A).(sc3 g a c3 w))))) (ex4_3 B C T
+(\lambda (b: B).(\lambda (c3: C).(\lambda (v2: T).(eq C c2 (CHead c3 (Bind b)
+v2))))) (\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(eq K k (Bind
+Void))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b
Void))))) (\lambda (_: B).(\lambda (c3: C).(\lambda (_: T).(csubc g c1
-c3))))))) (let H9 \def (eq_ind C c0 (\lambda (c: C).((eq C c (CHead c1 k v))
-\to (or3 (ex2 C (\lambda (c3: C).(eq C c2 (CHead c3 k v))) (\lambda (c3:
+c3)))))))) H2 c1 H8) in (let H10 \def (eq_ind C c0 (\lambda (c: C).(csubc g c
+c2)) H1 c1 H8) in (or3_intro0 (ex2 C (\lambda (c3: C).(eq C (CHead c2 k v)
+(CHead c3 k v))) (\lambda (c3: C).(csubc g c1 c3))) (ex5_3 C T A (\lambda (_:
+C).(\lambda (_: T).(\lambda (_: A).(eq K k (Bind Abst))))) (\lambda (c3:
+C).(\lambda (w: T).(\lambda (_: A).(eq C (CHead c2 k v) (CHead c3 (Bind Abbr)
+w))))) (\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g c1 c3))))
+(\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g (asucc g a) c1 v))))
+(\lambda (c3: C).(\lambda (w: T).(\lambda (a: A).(sc3 g a c3 w))))) (ex4_3 B
+C T (\lambda (b: B).(\lambda (c3: C).(\lambda (v2: T).(eq C (CHead c2 k v)
+(CHead c3 (Bind b) v2))))) (\lambda (_: B).(\lambda (_: C).(\lambda (_:
+T).(eq K k (Bind Void))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_:
+T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c3: C).(\lambda (_:
+T).(csubc g c1 c3))))) (ex_intro2 C (\lambda (c3: C).(eq C (CHead c2 k v)
+(CHead c3 k v))) (\lambda (c3: C).(csubc g c1 c3)) c2 (refl_equal C (CHead c2
+k v)) H10)))) k0 H7) v0 H6)))) H5)) H4))))))))) (\lambda (c0: C).(\lambda
+(c2: C).(\lambda (H1: (csubc g c0 c2)).(\lambda (H2: (((eq C c0 (CHead c1 k
+v)) \to (or3 (ex2 C (\lambda (c3: C).(eq C c2 (CHead c3 k v))) (\lambda (c3:
C).(csubc g c1 c3))) (ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda
(_: A).(eq K k (Bind Abst))))) (\lambda (c3: C).(\lambda (w: T).(\lambda (_:
A).(eq C c2 (CHead c3 (Bind Abbr) w))))) (\lambda (c3: C).(\lambda (_:
(c3: C).(\lambda (v2: T).(eq C c2 (CHead c3 (Bind b) v2))))) (\lambda (_:
B).(\lambda (_: C).(\lambda (_: T).(eq K k (Bind Void))))) (\lambda (b:
B).(\lambda (_: C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_:
-B).(\lambda (c3: C).(\lambda (_: T).(csubc g c1 c3)))))))) H2 c1 H8) in (let
-H10 \def (eq_ind C c0 (\lambda (c: C).(csubc g c c2)) H1 c1 H8) in
-(or3_intro0 (ex2 C (\lambda (c3: C).(eq C (CHead c2 k v) (CHead c3 k v)))
-(\lambda (c3: C).(csubc g c1 c3))) (ex5_3 C T A (\lambda (_: C).(\lambda (_:
-T).(\lambda (_: A).(eq K k (Bind Abst))))) (\lambda (c3: C).(\lambda (w:
-T).(\lambda (_: A).(eq C (CHead c2 k v) (CHead c3 (Bind Abbr) w))))) (\lambda
-(c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g c1 c3)))) (\lambda (_:
-C).(\lambda (_: T).(\lambda (a: A).(sc3 g (asucc g a) c1 v)))) (\lambda (c3:
-C).(\lambda (w: T).(\lambda (a: A).(sc3 g a c3 w))))) (ex4_3 B C T (\lambda
-(b: B).(\lambda (c3: C).(\lambda (v2: T).(eq C (CHead c2 k v) (CHead c3 (Bind
-b) v2))))) (\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(eq K k (Bind
-Void))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b
-Void))))) (\lambda (_: B).(\lambda (c3: C).(\lambda (_: T).(csubc g c1
-c3))))) (ex_intro2 C (\lambda (c3: C).(eq C (CHead c2 k v) (CHead c3 k v)))
-(\lambda (c3: C).(csubc g c1 c3)) c2 (refl_equal C (CHead c2 k v)) H10)))) k0
-H7) v0 H6)))) H5)) H4))))))))) (\lambda (c0: C).(\lambda (c2: C).(\lambda
-(H1: (csubc g c0 c2)).(\lambda (H2: (((eq C c0 (CHead c1 k v)) \to (or3 (ex2
-C (\lambda (c3: C).(eq C c2 (CHead c3 k v))) (\lambda (c3: C).(csubc g c1
-c3))) (ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K k
-(Bind Abst))))) (\lambda (c3: C).(\lambda (w: T).(\lambda (_: A).(eq C c2
-(CHead c3 (Bind Abbr) w))))) (\lambda (c3: C).(\lambda (_: T).(\lambda (_:
-A).(csubc g c1 c3)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g
-(asucc g a) c1 v)))) (\lambda (c3: C).(\lambda (w: T).(\lambda (a: A).(sc3 g
-a c3 w))))) (ex4_3 B C T (\lambda (b: B).(\lambda (c3: C).(\lambda (v2:
-T).(eq C c2 (CHead c3 (Bind b) v2))))) (\lambda (_: B).(\lambda (_:
-C).(\lambda (_: T).(eq K k (Bind Void))))) (\lambda (b: B).(\lambda (_:
-C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c3:
-C).(\lambda (_: T).(csubc g c1 c3))))))))).(\lambda (b: B).(\lambda (H3: (not
-(eq B b Void))).(\lambda (u1: T).(\lambda (u2: T).(\lambda (H4: (eq C (CHead
-c0 (Bind Void) u1) (CHead c1 k v))).(let H5 \def (f_equal C C (\lambda (e:
-C).(match e in C return (\lambda (_: C).C) with [(CSort _) \Rightarrow c0 |
+B).(\lambda (c3: C).(\lambda (_: T).(csubc g c1 c3))))))))).(\lambda (b:
+B).(\lambda (H3: (not (eq B b Void))).(\lambda (u1: T).(\lambda (u2:
+T).(\lambda (H4: (eq C (CHead c0 (Bind Void) u1) (CHead c1 k v))).(let H5
+\def (f_equal C C (\lambda (e: C).(match e with [(CSort _) \Rightarrow c0 |
(CHead c _ _) \Rightarrow c])) (CHead c0 (Bind Void) u1) (CHead c1 k v) H4)
-in ((let H6 \def (f_equal C K (\lambda (e: C).(match e in C return (\lambda
-(_: C).K) with [(CSort _) \Rightarrow (Bind Void) | (CHead _ k0 _)
-\Rightarrow k0])) (CHead c0 (Bind Void) u1) (CHead c1 k v) H4) in ((let H7
-\def (f_equal C T (\lambda (e: C).(match e in C return (\lambda (_: C).T)
-with [(CSort _) \Rightarrow u1 | (CHead _ _ t) \Rightarrow t])) (CHead c0
-(Bind Void) u1) (CHead c1 k v) H4) in (\lambda (H8: (eq K (Bind Void)
-k)).(\lambda (H9: (eq C c0 c1)).(let H10 \def (eq_ind C c0 (\lambda (c:
+in ((let H6 \def (f_equal C K (\lambda (e: C).(match e with [(CSort _)
+\Rightarrow (Bind Void) | (CHead _ k0 _) \Rightarrow k0])) (CHead c0 (Bind
+Void) u1) (CHead c1 k v) H4) in ((let H7 \def (f_equal C T (\lambda (e:
+C).(match e with [(CSort _) \Rightarrow u1 | (CHead _ _ t) \Rightarrow t]))
+(CHead c0 (Bind Void) u1) (CHead c1 k v) H4) in (\lambda (H8: (eq K (Bind
+Void) k)).(\lambda (H9: (eq C c0 c1)).(let H10 \def (eq_ind C c0 (\lambda (c:
C).((eq C c (CHead c1 k v)) \to (or3 (ex2 C (\lambda (c3: C).(eq C c2 (CHead
c3 k v))) (\lambda (c3: C).(csubc g c1 c3))) (ex5_3 C T A (\lambda (_:
C).(\lambda (_: T).(\lambda (_: A).(eq K k (Bind Abst))))) (\lambda (c3:
T).(csubc g c1 c3))))))))).(\lambda (v0: T).(\lambda (a: A).(\lambda (H3:
(sc3 g (asucc g a) c0 v0)).(\lambda (w: T).(\lambda (H4: (sc3 g a c2
w)).(\lambda (H5: (eq C (CHead c0 (Bind Abst) v0) (CHead c1 k v))).(let H6
-\def (f_equal C C (\lambda (e: C).(match e in C return (\lambda (_: C).C)
-with [(CSort _) \Rightarrow c0 | (CHead c _ _) \Rightarrow c])) (CHead c0
-(Bind Abst) v0) (CHead c1 k v) H5) in ((let H7 \def (f_equal C K (\lambda (e:
-C).(match e in C return (\lambda (_: C).K) with [(CSort _) \Rightarrow (Bind
-Abst) | (CHead _ k0 _) \Rightarrow k0])) (CHead c0 (Bind Abst) v0) (CHead c1
-k v) H5) in ((let H8 \def (f_equal C T (\lambda (e: C).(match e in C return
-(\lambda (_: C).T) with [(CSort _) \Rightarrow v0 | (CHead _ _ t) \Rightarrow
-t])) (CHead c0 (Bind Abst) v0) (CHead c1 k v) H5) in (\lambda (H9: (eq K
-(Bind Abst) k)).(\lambda (H10: (eq C c0 c1)).(let H11 \def (eq_ind T v0
-(\lambda (t: T).(sc3 g (asucc g a) c0 t)) H3 v H8) in (let H12 \def (eq_ind C
-c0 (\lambda (c: C).(sc3 g (asucc g a) c v)) H11 c1 H10) in (let H13 \def
-(eq_ind C c0 (\lambda (c: C).((eq C c (CHead c1 k v)) \to (or3 (ex2 C
-(\lambda (c3: C).(eq C c2 (CHead c3 k v))) (\lambda (c3: C).(csubc g c1 c3)))
-(ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K k (Bind
-Abst))))) (\lambda (c3: C).(\lambda (w0: T).(\lambda (_: A).(eq C c2 (CHead
-c3 (Bind Abbr) w0))))) (\lambda (c3: C).(\lambda (_: T).(\lambda (_:
-A).(csubc g c1 c3)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a0: A).(sc3 g
-(asucc g a0) c1 v)))) (\lambda (c3: C).(\lambda (w0: T).(\lambda (a0: A).(sc3
-g a0 c3 w0))))) (ex4_3 B C T (\lambda (b: B).(\lambda (c3: C).(\lambda (v2:
-T).(eq C c2 (CHead c3 (Bind b) v2))))) (\lambda (_: B).(\lambda (_:
-C).(\lambda (_: T).(eq K k (Bind Void))))) (\lambda (b: B).(\lambda (_:
-C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c3:
-C).(\lambda (_: T).(csubc g c1 c3)))))))) H2 c1 H10) in (let H14 \def (eq_ind
-C c0 (\lambda (c: C).(csubc g c c2)) H1 c1 H10) in (let H15 \def (eq_ind_r K
-k (\lambda (k0: K).((eq C c1 (CHead c1 k0 v)) \to (or3 (ex2 C (\lambda (c3:
-C).(eq C c2 (CHead c3 k0 v))) (\lambda (c3: C).(csubc g c1 c3))) (ex5_3 C T A
-(\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K k0 (Bind Abst)))))
+\def (f_equal C C (\lambda (e: C).(match e with [(CSort _) \Rightarrow c0 |
+(CHead c _ _) \Rightarrow c])) (CHead c0 (Bind Abst) v0) (CHead c1 k v) H5)
+in ((let H7 \def (f_equal C K (\lambda (e: C).(match e with [(CSort _)
+\Rightarrow (Bind Abst) | (CHead _ k0 _) \Rightarrow k0])) (CHead c0 (Bind
+Abst) v0) (CHead c1 k v) H5) in ((let H8 \def (f_equal C T (\lambda (e:
+C).(match e with [(CSort _) \Rightarrow v0 | (CHead _ _ t) \Rightarrow t]))
+(CHead c0 (Bind Abst) v0) (CHead c1 k v) H5) in (\lambda (H9: (eq K (Bind
+Abst) k)).(\lambda (H10: (eq C c0 c1)).(let H11 \def (eq_ind T v0 (\lambda
+(t: T).(sc3 g (asucc g a) c0 t)) H3 v H8) in (let H12 \def (eq_ind C c0
+(\lambda (c: C).(sc3 g (asucc g a) c v)) H11 c1 H10) in (let H13 \def (eq_ind
+C c0 (\lambda (c: C).((eq C c (CHead c1 k v)) \to (or3 (ex2 C (\lambda (c3:
+C).(eq C c2 (CHead c3 k v))) (\lambda (c3: C).(csubc g c1 c3))) (ex5_3 C T A
+(\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K k (Bind Abst)))))
(\lambda (c3: C).(\lambda (w0: T).(\lambda (_: A).(eq C c2 (CHead c3 (Bind
Abbr) w0))))) (\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g c1
c3)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a0: A).(sc3 g (asucc g a0)
c1 v)))) (\lambda (c3: C).(\lambda (w0: T).(\lambda (a0: A).(sc3 g a0 c3
w0))))) (ex4_3 B C T (\lambda (b: B).(\lambda (c3: C).(\lambda (v2: T).(eq C
c2 (CHead c3 (Bind b) v2))))) (\lambda (_: B).(\lambda (_: C).(\lambda (_:
-T).(eq K k0 (Bind Void))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_:
+T).(eq K k (Bind Void))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_:
T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c3: C).(\lambda (_:
-T).(csubc g c1 c3)))))))) H13 (Bind Abst) H9) in (eq_ind K (Bind Abst)
-(\lambda (k0: K).(or3 (ex2 C (\lambda (c3: C).(eq C (CHead c2 (Bind Abbr) w)
+T).(csubc g c1 c3)))))))) H2 c1 H10) in (let H14 \def (eq_ind C c0 (\lambda
+(c: C).(csubc g c c2)) H1 c1 H10) in (let H15 \def (eq_ind_r K k (\lambda
+(k0: K).((eq C c1 (CHead c1 k0 v)) \to (or3 (ex2 C (\lambda (c3: C).(eq C c2
(CHead c3 k0 v))) (\lambda (c3: C).(csubc g c1 c3))) (ex5_3 C T A (\lambda
(_: C).(\lambda (_: T).(\lambda (_: A).(eq K k0 (Bind Abst))))) (\lambda (c3:
-C).(\lambda (w0: T).(\lambda (_: A).(eq C (CHead c2 (Bind Abbr) w) (CHead c3
-(Bind Abbr) w0))))) (\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g
-c1 c3)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a0: A).(sc3 g (asucc g
-a0) c1 v)))) (\lambda (c3: C).(\lambda (w0: T).(\lambda (a0: A).(sc3 g a0 c3
-w0))))) (ex4_3 B C T (\lambda (b: B).(\lambda (c3: C).(\lambda (v2: T).(eq C
-(CHead c2 (Bind Abbr) w) (CHead c3 (Bind b) v2))))) (\lambda (_: B).(\lambda
-(_: C).(\lambda (_: T).(eq K k0 (Bind Void))))) (\lambda (b: B).(\lambda (_:
+C).(\lambda (w0: T).(\lambda (_: A).(eq C c2 (CHead c3 (Bind Abbr) w0)))))
+(\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g c1 c3)))) (\lambda
+(_: C).(\lambda (_: T).(\lambda (a0: A).(sc3 g (asucc g a0) c1 v)))) (\lambda
+(c3: C).(\lambda (w0: T).(\lambda (a0: A).(sc3 g a0 c3 w0))))) (ex4_3 B C T
+(\lambda (b: B).(\lambda (c3: C).(\lambda (v2: T).(eq C c2 (CHead c3 (Bind b)
+v2))))) (\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(eq K k0 (Bind
+Void))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b
+Void))))) (\lambda (_: B).(\lambda (c3: C).(\lambda (_: T).(csubc g c1
+c3)))))))) H13 (Bind Abst) H9) in (eq_ind K (Bind Abst) (\lambda (k0: K).(or3
+(ex2 C (\lambda (c3: C).(eq C (CHead c2 (Bind Abbr) w) (CHead c3 k0 v)))
+(\lambda (c3: C).(csubc g c1 c3))) (ex5_3 C T A (\lambda (_: C).(\lambda (_:
+T).(\lambda (_: A).(eq K k0 (Bind Abst))))) (\lambda (c3: C).(\lambda (w0:
+T).(\lambda (_: A).(eq C (CHead c2 (Bind Abbr) w) (CHead c3 (Bind Abbr)
+w0))))) (\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g c1 c3))))
+(\lambda (_: C).(\lambda (_: T).(\lambda (a0: A).(sc3 g (asucc g a0) c1 v))))
+(\lambda (c3: C).(\lambda (w0: T).(\lambda (a0: A).(sc3 g a0 c3 w0)))))
+(ex4_3 B C T (\lambda (b: B).(\lambda (c3: C).(\lambda (v2: T).(eq C (CHead
+c2 (Bind Abbr) w) (CHead c3 (Bind b) v2))))) (\lambda (_: B).(\lambda (_:
+C).(\lambda (_: T).(eq K k0 (Bind Void))))) (\lambda (b: B).(\lambda (_:
C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c3:
C).(\lambda (_: T).(csubc g c1 c3))))))) (or3_intro1 (ex2 C (\lambda (c3:
C).(eq C (CHead c2 (Bind Abbr) w) (CHead c3 (Bind Abst) v))) (\lambda (c3:
g a0 c3 w0)))) c2 w a (refl_equal K (Bind Abst)) (refl_equal C (CHead c2
(Bind Abbr) w)) H14 H12 H4)) k H9))))))))) H7)) H6)))))))))))) y x H0)))
H)))))).
-(* COMMENTS
-Initial nodes: 5205
-END *)
theorem csubc_gen_sort_r:
\forall (g: G).(\forall (x: C).(\forall (n: nat).((csubc g x (CSort n)) \to
(c: C).(eq C x c)) (\lambda (y: C).(\lambda (H0: (csubc g x y)).(csubc_ind g
(\lambda (c: C).(\lambda (c0: C).((eq C c0 (CSort n)) \to (eq C c c0))))
(\lambda (n0: nat).(\lambda (H1: (eq C (CSort n0) (CSort n))).(let H2 \def
-(f_equal C nat (\lambda (e: C).(match e in C return (\lambda (_: C).nat) with
-[(CSort n1) \Rightarrow n1 | (CHead _ _ _) \Rightarrow n0])) (CSort n0)
-(CSort n) H1) in (eq_ind_r nat n (\lambda (n1: nat).(eq C (CSort n1) (CSort
-n1))) (refl_equal C (CSort n)) n0 H2)))) (\lambda (c1: C).(\lambda (c2:
-C).(\lambda (_: (csubc g c1 c2)).(\lambda (_: (((eq C c2 (CSort n)) \to (eq C
-c1 c2)))).(\lambda (k: K).(\lambda (v: T).(\lambda (H3: (eq C (CHead c2 k v)
-(CSort n))).(let H4 \def (eq_ind C (CHead c2 k v) (\lambda (ee: C).(match ee
-in C return (\lambda (_: C).Prop) with [(CSort _) \Rightarrow False | (CHead
-_ _ _) \Rightarrow True])) I (CSort n) H3) in (False_ind (eq C (CHead c1 k v)
-(CHead c2 k v)) H4))))))))) (\lambda (c1: C).(\lambda (c2: C).(\lambda (_:
-(csubc g c1 c2)).(\lambda (_: (((eq C c2 (CSort n)) \to (eq C c1
-c2)))).(\lambda (b: B).(\lambda (_: (not (eq B b Void))).(\lambda (u1:
-T).(\lambda (u2: T).(\lambda (H4: (eq C (CHead c2 (Bind b) u2) (CSort
-n))).(let H5 \def (eq_ind C (CHead c2 (Bind b) u2) (\lambda (ee: C).(match ee
-in C return (\lambda (_: C).Prop) with [(CSort _) \Rightarrow False | (CHead
-_ _ _) \Rightarrow True])) I (CSort n) H4) in (False_ind (eq C (CHead c1
-(Bind Void) u1) (CHead c2 (Bind b) u2)) H5))))))))))) (\lambda (c1:
+(f_equal C nat (\lambda (e: C).(match e with [(CSort n1) \Rightarrow n1 |
+(CHead _ _ _) \Rightarrow n0])) (CSort n0) (CSort n) H1) in (eq_ind_r nat n
+(\lambda (n1: nat).(eq C (CSort n1) (CSort n1))) (refl_equal C (CSort n)) n0
+H2)))) (\lambda (c1: C).(\lambda (c2: C).(\lambda (_: (csubc g c1
+c2)).(\lambda (_: (((eq C c2 (CSort n)) \to (eq C c1 c2)))).(\lambda (k:
+K).(\lambda (v: T).(\lambda (H3: (eq C (CHead c2 k v) (CSort n))).(let H4
+\def (eq_ind C (CHead c2 k v) (\lambda (ee: C).(match ee with [(CSort _)
+\Rightarrow False | (CHead _ _ _) \Rightarrow True])) I (CSort n) H3) in
+(False_ind (eq C (CHead c1 k v) (CHead c2 k v)) H4))))))))) (\lambda (c1:
C).(\lambda (c2: C).(\lambda (_: (csubc g c1 c2)).(\lambda (_: (((eq C c2
-(CSort n)) \to (eq C c1 c2)))).(\lambda (v: T).(\lambda (a: A).(\lambda (_:
-(sc3 g (asucc g a) c1 v)).(\lambda (w: T).(\lambda (_: (sc3 g a c2
-w)).(\lambda (H5: (eq C (CHead c2 (Bind Abbr) w) (CSort n))).(let H6 \def
-(eq_ind C (CHead c2 (Bind Abbr) w) (\lambda (ee: C).(match ee in C return
-(\lambda (_: C).Prop) with [(CSort _) \Rightarrow False | (CHead _ _ _)
+(CSort n)) \to (eq C c1 c2)))).(\lambda (b: B).(\lambda (_: (not (eq B b
+Void))).(\lambda (u1: T).(\lambda (u2: T).(\lambda (H4: (eq C (CHead c2 (Bind
+b) u2) (CSort n))).(let H5 \def (eq_ind C (CHead c2 (Bind b) u2) (\lambda
+(ee: C).(match ee with [(CSort _) \Rightarrow False | (CHead _ _ _)
+\Rightarrow True])) I (CSort n) H4) in (False_ind (eq C (CHead c1 (Bind Void)
+u1) (CHead c2 (Bind b) u2)) H5))))))))))) (\lambda (c1: C).(\lambda (c2:
+C).(\lambda (_: (csubc g c1 c2)).(\lambda (_: (((eq C c2 (CSort n)) \to (eq C
+c1 c2)))).(\lambda (v: T).(\lambda (a: A).(\lambda (_: (sc3 g (asucc g a) c1
+v)).(\lambda (w: T).(\lambda (_: (sc3 g a c2 w)).(\lambda (H5: (eq C (CHead
+c2 (Bind Abbr) w) (CSort n))).(let H6 \def (eq_ind C (CHead c2 (Bind Abbr) w)
+(\lambda (ee: C).(match ee with [(CSort _) \Rightarrow False | (CHead _ _ _)
\Rightarrow True])) I (CSort n) H5) in (False_ind (eq C (CHead c1 (Bind Abst)
v) (CHead c2 (Bind Abbr) w)) H6)))))))))))) x y H0))) H)))).
-(* COMMENTS
-Initial nodes: 533
-END *)
theorem csubc_gen_head_r:
\forall (g: G).(\forall (c2: C).(\forall (x: C).(\forall (w: T).(\forall (k:
k (Bind b))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b
Void))))) (\lambda (_: B).(\lambda (c1: C).(\lambda (_: T).(csubc g c1
c2))))))))) (\lambda (n: nat).(\lambda (H1: (eq C (CSort n) (CHead c2 k
-w))).(let H2 \def (eq_ind C (CSort n) (\lambda (ee: C).(match ee in C return
-(\lambda (_: C).Prop) with [(CSort _) \Rightarrow True | (CHead _ _ _)
-\Rightarrow False])) I (CHead c2 k w) H1) in (False_ind (or3 (ex2 C (\lambda
-(c1: C).(eq C (CSort n) (CHead c1 k w))) (\lambda (c1: C).(csubc g c1 c2)))
-(ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K k (Bind
-Abbr))))) (\lambda (c1: C).(\lambda (v: T).(\lambda (_: A).(eq C (CSort n)
-(CHead c1 (Bind Abst) v))))) (\lambda (c1: C).(\lambda (_: T).(\lambda (_:
-A).(csubc g c1 c2)))) (\lambda (c1: C).(\lambda (v: T).(\lambda (a: A).(sc3 g
-(asucc g a) c1 v)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g a
-c2 w))))) (ex4_3 B C T (\lambda (_: B).(\lambda (c1: C).(\lambda (v1: T).(eq
-C (CSort n) (CHead c1 (Bind Void) v1))))) (\lambda (b: B).(\lambda (_:
-C).(\lambda (_: T).(eq K k (Bind b))))) (\lambda (b: B).(\lambda (_:
-C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c1:
-C).(\lambda (_: T).(csubc g c1 c2)))))) H2)))) (\lambda (c1: C).(\lambda (c0:
-C).(\lambda (H1: (csubc g c1 c0)).(\lambda (H2: (((eq C c0 (CHead c2 k w))
-\to (or3 (ex2 C (\lambda (c3: C).(eq C c1 (CHead c3 k w))) (\lambda (c3:
-C).(csubc g c3 c2))) (ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda
-(_: A).(eq K k (Bind Abbr))))) (\lambda (c3: C).(\lambda (v: T).(\lambda (_:
-A).(eq C c1 (CHead c3 (Bind Abst) v))))) (\lambda (c3: C).(\lambda (_:
-T).(\lambda (_: A).(csubc g c3 c2)))) (\lambda (c3: C).(\lambda (v:
-T).(\lambda (a: A).(sc3 g (asucc g a) c3 v)))) (\lambda (_: C).(\lambda (_:
-T).(\lambda (a: A).(sc3 g a c2 w))))) (ex4_3 B C T (\lambda (_: B).(\lambda
-(c3: C).(\lambda (v1: T).(eq C c1 (CHead c3 (Bind Void) v1))))) (\lambda (b:
-B).(\lambda (_: C).(\lambda (_: T).(eq K k (Bind b))))) (\lambda (b:
-B).(\lambda (_: C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_:
-B).(\lambda (c3: C).(\lambda (_: T).(csubc g c3 c2))))))))).(\lambda (k0:
-K).(\lambda (v: T).(\lambda (H3: (eq C (CHead c0 k0 v) (CHead c2 k w))).(let
-H4 \def (f_equal C C (\lambda (e: C).(match e in C return (\lambda (_: C).C)
-with [(CSort _) \Rightarrow c0 | (CHead c _ _) \Rightarrow c])) (CHead c0 k0
-v) (CHead c2 k w) H3) in ((let H5 \def (f_equal C K (\lambda (e: C).(match e
-in C return (\lambda (_: C).K) with [(CSort _) \Rightarrow k0 | (CHead _ k1
-_) \Rightarrow k1])) (CHead c0 k0 v) (CHead c2 k w) H3) in ((let H6 \def
-(f_equal C T (\lambda (e: C).(match e in C return (\lambda (_: C).T) with
-[(CSort _) \Rightarrow v | (CHead _ _ t) \Rightarrow t])) (CHead c0 k0 v)
-(CHead c2 k w) H3) in (\lambda (H7: (eq K k0 k)).(\lambda (H8: (eq C c0
+w))).(let H2 \def (eq_ind C (CSort n) (\lambda (ee: C).(match ee with [(CSort
+_) \Rightarrow True | (CHead _ _ _) \Rightarrow False])) I (CHead c2 k w) H1)
+in (False_ind (or3 (ex2 C (\lambda (c1: C).(eq C (CSort n) (CHead c1 k w)))
+(\lambda (c1: C).(csubc g c1 c2))) (ex5_3 C T A (\lambda (_: C).(\lambda (_:
+T).(\lambda (_: A).(eq K k (Bind Abbr))))) (\lambda (c1: C).(\lambda (v:
+T).(\lambda (_: A).(eq C (CSort n) (CHead c1 (Bind Abst) v))))) (\lambda (c1:
+C).(\lambda (_: T).(\lambda (_: A).(csubc g c1 c2)))) (\lambda (c1:
+C).(\lambda (v: T).(\lambda (a: A).(sc3 g (asucc g a) c1 v)))) (\lambda (_:
+C).(\lambda (_: T).(\lambda (a: A).(sc3 g a c2 w))))) (ex4_3 B C T (\lambda
+(_: B).(\lambda (c1: C).(\lambda (v1: T).(eq C (CSort n) (CHead c1 (Bind
+Void) v1))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(eq K k (Bind
+b))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b Void)))))
+(\lambda (_: B).(\lambda (c1: C).(\lambda (_: T).(csubc g c1 c2)))))) H2))))
+(\lambda (c1: C).(\lambda (c0: C).(\lambda (H1: (csubc g c1 c0)).(\lambda
+(H2: (((eq C c0 (CHead c2 k w)) \to (or3 (ex2 C (\lambda (c3: C).(eq C c1
+(CHead c3 k w))) (\lambda (c3: C).(csubc g c3 c2))) (ex5_3 C T A (\lambda (_:
+C).(\lambda (_: T).(\lambda (_: A).(eq K k (Bind Abbr))))) (\lambda (c3:
+C).(\lambda (v: T).(\lambda (_: A).(eq C c1 (CHead c3 (Bind Abst) v)))))
+(\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g c3 c2)))) (\lambda
+(c3: C).(\lambda (v: T).(\lambda (a: A).(sc3 g (asucc g a) c3 v)))) (\lambda
+(_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g a c2 w))))) (ex4_3 B C T
+(\lambda (_: B).(\lambda (c3: C).(\lambda (v1: T).(eq C c1 (CHead c3 (Bind
+Void) v1))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(eq K k (Bind
+b))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b Void)))))
+(\lambda (_: B).(\lambda (c3: C).(\lambda (_: T).(csubc g c3
+c2))))))))).(\lambda (k0: K).(\lambda (v: T).(\lambda (H3: (eq C (CHead c0 k0
+v) (CHead c2 k w))).(let H4 \def (f_equal C C (\lambda (e: C).(match e with
+[(CSort _) \Rightarrow c0 | (CHead c _ _) \Rightarrow c])) (CHead c0 k0 v)
+(CHead c2 k w) H3) in ((let H5 \def (f_equal C K (\lambda (e: C).(match e
+with [(CSort _) \Rightarrow k0 | (CHead _ k1 _) \Rightarrow k1])) (CHead c0
+k0 v) (CHead c2 k w) H3) in ((let H6 \def (f_equal C T (\lambda (e: C).(match
+e with [(CSort _) \Rightarrow v | (CHead _ _ t) \Rightarrow t])) (CHead c0 k0
+v) (CHead c2 k w) H3) in (\lambda (H7: (eq K k0 k)).(\lambda (H8: (eq C c0
c2)).(eq_ind_r T w (\lambda (t: T).(or3 (ex2 C (\lambda (c3: C).(eq C (CHead
c1 k0 t) (CHead c3 k w))) (\lambda (c3: C).(csubc g c3 c2))) (ex5_3 C T A
(\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K k (Bind Abbr)))))
B).(\lambda (c3: C).(\lambda (_: T).(csubc g c3 c2))))))))).(\lambda (b:
B).(\lambda (H3: (not (eq B b Void))).(\lambda (u1: T).(\lambda (u2:
T).(\lambda (H4: (eq C (CHead c0 (Bind b) u2) (CHead c2 k w))).(let H5 \def
-(f_equal C C (\lambda (e: C).(match e in C return (\lambda (_: C).C) with
-[(CSort _) \Rightarrow c0 | (CHead c _ _) \Rightarrow c])) (CHead c0 (Bind b)
-u2) (CHead c2 k w) H4) in ((let H6 \def (f_equal C K (\lambda (e: C).(match e
-in C return (\lambda (_: C).K) with [(CSort _) \Rightarrow (Bind b) | (CHead
-_ k0 _) \Rightarrow k0])) (CHead c0 (Bind b) u2) (CHead c2 k w) H4) in ((let
-H7 \def (f_equal C T (\lambda (e: C).(match e in C return (\lambda (_: C).T)
-with [(CSort _) \Rightarrow u2 | (CHead _ _ t) \Rightarrow t])) (CHead c0
-(Bind b) u2) (CHead c2 k w) H4) in (\lambda (H8: (eq K (Bind b) k)).(\lambda
-(H9: (eq C c0 c2)).(let H10 \def (eq_ind C c0 (\lambda (c: C).((eq C c (CHead
-c2 k w)) \to (or3 (ex2 C (\lambda (c3: C).(eq C c1 (CHead c3 k w))) (\lambda
-(c3: C).(csubc g c3 c2))) (ex5_3 C T A (\lambda (_: C).(\lambda (_:
-T).(\lambda (_: A).(eq K k (Bind Abbr))))) (\lambda (c3: C).(\lambda (v:
-T).(\lambda (_: A).(eq C c1 (CHead c3 (Bind Abst) v))))) (\lambda (c3:
-C).(\lambda (_: T).(\lambda (_: A).(csubc g c3 c2)))) (\lambda (c3:
-C).(\lambda (v: T).(\lambda (a: A).(sc3 g (asucc g a) c3 v)))) (\lambda (_:
-C).(\lambda (_: T).(\lambda (a: A).(sc3 g a c2 w))))) (ex4_3 B C T (\lambda
-(_: B).(\lambda (c3: C).(\lambda (v1: T).(eq C c1 (CHead c3 (Bind Void)
-v1))))) (\lambda (b0: B).(\lambda (_: C).(\lambda (_: T).(eq K k (Bind
-b0))))) (\lambda (b0: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b0
-Void))))) (\lambda (_: B).(\lambda (c3: C).(\lambda (_: T).(csubc g c3
-c2)))))))) H2 c2 H9) in (let H11 \def (eq_ind C c0 (\lambda (c: C).(csubc g
-c1 c)) H1 c2 H9) in (let H12 \def (eq_ind_r K k (\lambda (k0: K).((eq C c2
-(CHead c2 k0 w)) \to (or3 (ex2 C (\lambda (c3: C).(eq C c1 (CHead c3 k0 w)))
-(\lambda (c3: C).(csubc g c3 c2))) (ex5_3 C T A (\lambda (_: C).(\lambda (_:
-T).(\lambda (_: A).(eq K k0 (Bind Abbr))))) (\lambda (c3: C).(\lambda (v:
-T).(\lambda (_: A).(eq C c1 (CHead c3 (Bind Abst) v))))) (\lambda (c3:
-C).(\lambda (_: T).(\lambda (_: A).(csubc g c3 c2)))) (\lambda (c3:
-C).(\lambda (v: T).(\lambda (a: A).(sc3 g (asucc g a) c3 v)))) (\lambda (_:
-C).(\lambda (_: T).(\lambda (a: A).(sc3 g a c2 w))))) (ex4_3 B C T (\lambda
-(_: B).(\lambda (c3: C).(\lambda (v1: T).(eq C c1 (CHead c3 (Bind Void)
-v1))))) (\lambda (b0: B).(\lambda (_: C).(\lambda (_: T).(eq K k0 (Bind
-b0))))) (\lambda (b0: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b0
-Void))))) (\lambda (_: B).(\lambda (c3: C).(\lambda (_: T).(csubc g c3
-c2)))))))) H10 (Bind b) H8) in (eq_ind K (Bind b) (\lambda (k0: K).(or3 (ex2
-C (\lambda (c3: C).(eq C (CHead c1 (Bind Void) u1) (CHead c3 k0 w))) (\lambda
-(c3: C).(csubc g c3 c2))) (ex5_3 C T A (\lambda (_: C).(\lambda (_:
-T).(\lambda (_: A).(eq K k0 (Bind Abbr))))) (\lambda (c3: C).(\lambda (v:
-T).(\lambda (_: A).(eq C (CHead c1 (Bind Void) u1) (CHead c3 (Bind Abst)
-v))))) (\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g c3 c2))))
-(\lambda (c3: C).(\lambda (v: T).(\lambda (a: A).(sc3 g (asucc g a) c3 v))))
-(\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g a c2 w))))) (ex4_3 B C
-T (\lambda (_: B).(\lambda (c3: C).(\lambda (v1: T).(eq C (CHead c1 (Bind
-Void) u1) (CHead c3 (Bind Void) v1))))) (\lambda (b0: B).(\lambda (_:
-C).(\lambda (_: T).(eq K k0 (Bind b0))))) (\lambda (b0: B).(\lambda (_:
+(f_equal C C (\lambda (e: C).(match e with [(CSort _) \Rightarrow c0 | (CHead
+c _ _) \Rightarrow c])) (CHead c0 (Bind b) u2) (CHead c2 k w) H4) in ((let H6
+\def (f_equal C K (\lambda (e: C).(match e with [(CSort _) \Rightarrow (Bind
+b) | (CHead _ k0 _) \Rightarrow k0])) (CHead c0 (Bind b) u2) (CHead c2 k w)
+H4) in ((let H7 \def (f_equal C T (\lambda (e: C).(match e with [(CSort _)
+\Rightarrow u2 | (CHead _ _ t) \Rightarrow t])) (CHead c0 (Bind b) u2) (CHead
+c2 k w) H4) in (\lambda (H8: (eq K (Bind b) k)).(\lambda (H9: (eq C c0
+c2)).(let H10 \def (eq_ind C c0 (\lambda (c: C).((eq C c (CHead c2 k w)) \to
+(or3 (ex2 C (\lambda (c3: C).(eq C c1 (CHead c3 k w))) (\lambda (c3:
+C).(csubc g c3 c2))) (ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda
+(_: A).(eq K k (Bind Abbr))))) (\lambda (c3: C).(\lambda (v: T).(\lambda (_:
+A).(eq C c1 (CHead c3 (Bind Abst) v))))) (\lambda (c3: C).(\lambda (_:
+T).(\lambda (_: A).(csubc g c3 c2)))) (\lambda (c3: C).(\lambda (v:
+T).(\lambda (a: A).(sc3 g (asucc g a) c3 v)))) (\lambda (_: C).(\lambda (_:
+T).(\lambda (a: A).(sc3 g a c2 w))))) (ex4_3 B C T (\lambda (_: B).(\lambda
+(c3: C).(\lambda (v1: T).(eq C c1 (CHead c3 (Bind Void) v1))))) (\lambda (b0:
+B).(\lambda (_: C).(\lambda (_: T).(eq K k (Bind b0))))) (\lambda (b0:
+B).(\lambda (_: C).(\lambda (_: T).(not (eq B b0 Void))))) (\lambda (_:
+B).(\lambda (c3: C).(\lambda (_: T).(csubc g c3 c2)))))))) H2 c2 H9) in (let
+H11 \def (eq_ind C c0 (\lambda (c: C).(csubc g c1 c)) H1 c2 H9) in (let H12
+\def (eq_ind_r K k (\lambda (k0: K).((eq C c2 (CHead c2 k0 w)) \to (or3 (ex2
+C (\lambda (c3: C).(eq C c1 (CHead c3 k0 w))) (\lambda (c3: C).(csubc g c3
+c2))) (ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K k0
+(Bind Abbr))))) (\lambda (c3: C).(\lambda (v: T).(\lambda (_: A).(eq C c1
+(CHead c3 (Bind Abst) v))))) (\lambda (c3: C).(\lambda (_: T).(\lambda (_:
+A).(csubc g c3 c2)))) (\lambda (c3: C).(\lambda (v: T).(\lambda (a: A).(sc3 g
+(asucc g a) c3 v)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g a
+c2 w))))) (ex4_3 B C T (\lambda (_: B).(\lambda (c3: C).(\lambda (v1: T).(eq
+C c1 (CHead c3 (Bind Void) v1))))) (\lambda (b0: B).(\lambda (_: C).(\lambda
+(_: T).(eq K k0 (Bind b0))))) (\lambda (b0: B).(\lambda (_: C).(\lambda (_:
+T).(not (eq B b0 Void))))) (\lambda (_: B).(\lambda (c3: C).(\lambda (_:
+T).(csubc g c3 c2)))))))) H10 (Bind b) H8) in (eq_ind K (Bind b) (\lambda
+(k0: K).(or3 (ex2 C (\lambda (c3: C).(eq C (CHead c1 (Bind Void) u1) (CHead
+c3 k0 w))) (\lambda (c3: C).(csubc g c3 c2))) (ex5_3 C T A (\lambda (_:
+C).(\lambda (_: T).(\lambda (_: A).(eq K k0 (Bind Abbr))))) (\lambda (c3:
+C).(\lambda (v: T).(\lambda (_: A).(eq C (CHead c1 (Bind Void) u1) (CHead c3
+(Bind Abst) v))))) (\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g
+c3 c2)))) (\lambda (c3: C).(\lambda (v: T).(\lambda (a: A).(sc3 g (asucc g a)
+c3 v)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a: A).(sc3 g a c2 w)))))
+(ex4_3 B C T (\lambda (_: B).(\lambda (c3: C).(\lambda (v1: T).(eq C (CHead
+c1 (Bind Void) u1) (CHead c3 (Bind Void) v1))))) (\lambda (b0: B).(\lambda
+(_: C).(\lambda (_: T).(eq K k0 (Bind b0))))) (\lambda (b0: B).(\lambda (_:
C).(\lambda (_: T).(not (eq B b0 Void))))) (\lambda (_: B).(\lambda (c3:
C).(\lambda (_: T).(csubc g c3 c2))))))) (or3_intro2 (ex2 C (\lambda (c3:
C).(eq C (CHead c1 (Bind Void) u1) (CHead c3 (Bind b) w))) (\lambda (c3:
B).(\lambda (c3: C).(\lambda (_: T).(csubc g c3 c2))))))))).(\lambda (v:
T).(\lambda (a: A).(\lambda (H3: (sc3 g (asucc g a) c1 v)).(\lambda (w0:
T).(\lambda (H4: (sc3 g a c0 w0)).(\lambda (H5: (eq C (CHead c0 (Bind Abbr)
-w0) (CHead c2 k w))).(let H6 \def (f_equal C C (\lambda (e: C).(match e in C
-return (\lambda (_: C).C) with [(CSort _) \Rightarrow c0 | (CHead c _ _)
-\Rightarrow c])) (CHead c0 (Bind Abbr) w0) (CHead c2 k w) H5) in ((let H7
-\def (f_equal C K (\lambda (e: C).(match e in C return (\lambda (_: C).K)
-with [(CSort _) \Rightarrow (Bind Abbr) | (CHead _ k0 _) \Rightarrow k0]))
-(CHead c0 (Bind Abbr) w0) (CHead c2 k w) H5) in ((let H8 \def (f_equal C T
-(\lambda (e: C).(match e in C return (\lambda (_: C).T) with [(CSort _)
-\Rightarrow w0 | (CHead _ _ t) \Rightarrow t])) (CHead c0 (Bind Abbr) w0)
-(CHead c2 k w) H5) in (\lambda (H9: (eq K (Bind Abbr) k)).(\lambda (H10: (eq
-C c0 c2)).(let H11 \def (eq_ind T w0 (\lambda (t: T).(sc3 g a c0 t)) H4 w H8)
-in (let H12 \def (eq_ind C c0 (\lambda (c: C).(sc3 g a c w)) H11 c2 H10) in
-(let H13 \def (eq_ind C c0 (\lambda (c: C).((eq C c (CHead c2 k w)) \to (or3
-(ex2 C (\lambda (c3: C).(eq C c1 (CHead c3 k w))) (\lambda (c3: C).(csubc g
-c3 c2))) (ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K k
-(Bind Abbr))))) (\lambda (c3: C).(\lambda (v0: T).(\lambda (_: A).(eq C c1
-(CHead c3 (Bind Abst) v0))))) (\lambda (c3: C).(\lambda (_: T).(\lambda (_:
+w0) (CHead c2 k w))).(let H6 \def (f_equal C C (\lambda (e: C).(match e with
+[(CSort _) \Rightarrow c0 | (CHead c _ _) \Rightarrow c])) (CHead c0 (Bind
+Abbr) w0) (CHead c2 k w) H5) in ((let H7 \def (f_equal C K (\lambda (e:
+C).(match e with [(CSort _) \Rightarrow (Bind Abbr) | (CHead _ k0 _)
+\Rightarrow k0])) (CHead c0 (Bind Abbr) w0) (CHead c2 k w) H5) in ((let H8
+\def (f_equal C T (\lambda (e: C).(match e with [(CSort _) \Rightarrow w0 |
+(CHead _ _ t) \Rightarrow t])) (CHead c0 (Bind Abbr) w0) (CHead c2 k w) H5)
+in (\lambda (H9: (eq K (Bind Abbr) k)).(\lambda (H10: (eq C c0 c2)).(let H11
+\def (eq_ind T w0 (\lambda (t: T).(sc3 g a c0 t)) H4 w H8) in (let H12 \def
+(eq_ind C c0 (\lambda (c: C).(sc3 g a c w)) H11 c2 H10) in (let H13 \def
+(eq_ind C c0 (\lambda (c: C).((eq C c (CHead c2 k w)) \to (or3 (ex2 C
+(\lambda (c3: C).(eq C c1 (CHead c3 k w))) (\lambda (c3: C).(csubc g c3 c2)))
+(ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K k (Bind
+Abbr))))) (\lambda (c3: C).(\lambda (v0: T).(\lambda (_: A).(eq C c1 (CHead
+c3 (Bind Abst) v0))))) (\lambda (c3: C).(\lambda (_: T).(\lambda (_:
A).(csubc g c3 c2)))) (\lambda (c3: C).(\lambda (v0: T).(\lambda (a0: A).(sc3
g (asucc g a0) c3 v0)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a0:
A).(sc3 g a0 c2 w))))) (ex4_3 B C T (\lambda (_: B).(\lambda (c3: C).(\lambda
A).(sc3 g a0 c2 w)))) c1 v a (refl_equal K (Bind Abbr)) (refl_equal C (CHead
c1 (Bind Abst) v)) H14 H3 H12)) k H9))))))))) H7)) H6)))))))))))) x y H0)))
H)))))).
-(* COMMENTS
-Initial nodes: 5197
-END *)
(* This file was automatically generated: do not edit *********************)
-include "Basic-1/csubc/drop.ma".
+include "basic_1/csubc/drop.ma".
-include "Basic-1/csubc/clear.ma".
+include "basic_1/csubc/clear.ma".
theorem csubc_getl_conf:
\forall (g: G).(\forall (c1: C).(\forall (e1: C).(\forall (i: nat).((getl i
\def
\lambda (g: G).(\lambda (c1: C).(\lambda (e1: C).(\lambda (i: nat).(\lambda
(H: (getl i c1 e1)).(\lambda (c2: C).(\lambda (H0: (csubc g c1 c2)).(let H1
-\def (getl_gen_all c1 e1 i H) in (ex2_ind C (\lambda (e: C).(drop i O c1 e))
-(\lambda (e: C).(clear e e1)) (ex2 C (\lambda (e2: C).(getl i c2 e2))
-(\lambda (e2: C).(csubc g e1 e2))) (\lambda (x: C).(\lambda (H2: (drop i O c1
-x)).(\lambda (H3: (clear x e1)).(let H_x \def (csubc_drop_conf_O g c1 x i H2
-c2 H0) in (let H4 \def H_x in (ex2_ind C (\lambda (e2: C).(drop i O c2 e2))
-(\lambda (e2: C).(csubc g x e2)) (ex2 C (\lambda (e2: C).(getl i c2 e2))
-(\lambda (e2: C).(csubc g e1 e2))) (\lambda (x0: C).(\lambda (H5: (drop i O
-c2 x0)).(\lambda (H6: (csubc g x x0)).(let H_x0 \def (csubc_clear_conf g x e1
-H3 x0 H6) in (let H7 \def H_x0 in (ex2_ind C (\lambda (e2: C).(clear x0 e2))
-(\lambda (e2: C).(csubc g e1 e2)) (ex2 C (\lambda (e2: C).(getl i c2 e2))
-(\lambda (e2: C).(csubc g e1 e2))) (\lambda (x1: C).(\lambda (H8: (clear x0
-x1)).(\lambda (H9: (csubc g e1 x1)).(ex_intro2 C (\lambda (e2: C).(getl i c2
-e2)) (\lambda (e2: C).(csubc g e1 e2)) x1 (getl_intro i c2 x1 x0 H5 H8)
-H9)))) H7)))))) H4)))))) H1)))))))).
-(* COMMENTS
-Initial nodes: 315
-END *)
+\def (getl_gen_all c1 e1 i H) in (let TMP_1 \def (\lambda (e: C).(drop i O c1
+e)) in (let TMP_2 \def (\lambda (e: C).(clear e e1)) in (let TMP_3 \def
+(\lambda (e2: C).(getl i c2 e2)) in (let TMP_4 \def (\lambda (e2: C).(csubc g
+e1 e2)) in (let TMP_5 \def (ex2 C TMP_3 TMP_4) in (let TMP_21 \def (\lambda
+(x: C).(\lambda (H2: (drop i O c1 x)).(\lambda (H3: (clear x e1)).(let H_x
+\def (csubc_drop_conf_O g c1 x i H2 c2 H0) in (let H4 \def H_x in (let TMP_6
+\def (\lambda (e2: C).(drop i O c2 e2)) in (let TMP_7 \def (\lambda (e2:
+C).(csubc g x e2)) in (let TMP_8 \def (\lambda (e2: C).(getl i c2 e2)) in
+(let TMP_9 \def (\lambda (e2: C).(csubc g e1 e2)) in (let TMP_10 \def (ex2 C
+TMP_8 TMP_9) in (let TMP_20 \def (\lambda (x0: C).(\lambda (H5: (drop i O c2
+x0)).(\lambda (H6: (csubc g x x0)).(let H_x0 \def (csubc_clear_conf g x e1 H3
+x0 H6) in (let H7 \def H_x0 in (let TMP_11 \def (\lambda (e2: C).(clear x0
+e2)) in (let TMP_12 \def (\lambda (e2: C).(csubc g e1 e2)) in (let TMP_13
+\def (\lambda (e2: C).(getl i c2 e2)) in (let TMP_14 \def (\lambda (e2:
+C).(csubc g e1 e2)) in (let TMP_15 \def (ex2 C TMP_13 TMP_14) in (let TMP_19
+\def (\lambda (x1: C).(\lambda (H8: (clear x0 x1)).(\lambda (H9: (csubc g e1
+x1)).(let TMP_16 \def (\lambda (e2: C).(getl i c2 e2)) in (let TMP_17 \def
+(\lambda (e2: C).(csubc g e1 e2)) in (let TMP_18 \def (getl_intro i c2 x1 x0
+H5 H8) in (ex_intro2 C TMP_16 TMP_17 x1 TMP_18 H9))))))) in (ex2_ind C TMP_11
+TMP_12 TMP_15 TMP_19 H7)))))))))))) in (ex2_ind C TMP_6 TMP_7 TMP_10 TMP_20
+H4)))))))))))) in (ex2_ind C TMP_1 TMP_2 TMP_5 TMP_21 H1)))))))))))))).
(* This file was automatically generated: do not edit *********************)
-include "Basic-1/csubc/defs.ma".
+include "basic_1/csubc/defs.ma".
-include "Basic-1/sc3/props.ma".
+include "basic_1/sc3/props.ma".
theorem csubc_refl:
\forall (g: G).(\forall (c: C).(csubc g c c))
\def
- \lambda (g: G).(\lambda (c: C).(C_ind (\lambda (c0: C).(csubc g c0 c0))
-(\lambda (n: nat).(csubc_sort g n)) (\lambda (c0: C).(\lambda (H: (csubc g c0
-c0)).(\lambda (k: K).(\lambda (t: T).(csubc_head g c0 c0 H k t))))) c)).
-(* COMMENTS
-Initial nodes: 53
-END *)
+ \lambda (g: G).(\lambda (c: C).(let TMP_1 \def (\lambda (c0: C).(csubc g c0
+c0)) in (let TMP_2 \def (\lambda (n: nat).(csubc_sort g n)) in (let TMP_3
+\def (\lambda (c0: C).(\lambda (H: (csubc g c0 c0)).(\lambda (k: K).(\lambda
+(t: T).(csubc_head g c0 c0 H k t))))) in (C_ind TMP_1 TMP_2 TMP_3 c))))).
(* This file was automatically generated: do not edit *********************)
-include "Basic-1/csubc/arity.ma".
+include "basic_1/csubc/arity.ma".
-include "Basic-1/csubc/getl.ma".
+include "basic_1/csubc/getl.ma".
-include "Basic-1/csubc/drop1.ma".
+include "basic_1/csubc/drop1.ma".
-include "Basic-1/csubc/props.ma".
+include "basic_1/csubc/props.ma".
theorem sc3_arity_csubc:
\forall (g: G).(\forall (c1: C).(\forall (t: T).(\forall (a: A).((arity g c1
(c2: C).((csubc g d1 c2) \to (sc3 g a c2 (lift1 is t)))))))))))
\def
\lambda (g: G).(\lambda (c1: C).(\lambda (t: T).(\lambda (a: A).(\lambda (H:
-(arity g c1 t a)).(arity_ind g (\lambda (c: C).(\lambda (t0: T).(\lambda (a0:
-A).(\forall (d1: C).(\forall (is: PList).((drop1 is d1 c) \to (\forall (c2:
-C).((csubc g d1 c2) \to (sc3 g a0 c2 (lift1 is t0)))))))))) (\lambda (c:
-C).(\lambda (n: nat).(\lambda (d1: C).(\lambda (is: PList).(\lambda (_:
-(drop1 is d1 c)).(\lambda (c2: C).(\lambda (_: (csubc g d1 c2)).(eq_ind_r T
-(TSort n) (\lambda (t0: T).(land (arity g c2 t0 (ASort O n)) (sn3 c2 t0)))
-(conj (arity g c2 (TSort n) (ASort O n)) (sn3 c2 (TSort n)) (arity_sort g c2
-n) (sn3_nf2 c2 (TSort n) (nf2_sort c2 n))) (lift1 is (TSort n)) (lift1_sort n
-is))))))))) (\lambda (c: C).(\lambda (d: C).(\lambda (u: T).(\lambda (i:
-nat).(\lambda (H0: (getl i c (CHead d (Bind Abbr) u))).(\lambda (a0:
-A).(\lambda (_: (arity g d u a0)).(\lambda (H2: ((\forall (d1: C).(\forall
-(is: PList).((drop1 is d1 d) \to (\forall (c2: C).((csubc g d1 c2) \to (sc3 g
-a0 c2 (lift1 is u))))))))).(\lambda (d1: C).(\lambda (is: PList).(\lambda
-(H3: (drop1 is d1 c)).(\lambda (c2: C).(\lambda (H4: (csubc g d1 c2)).(let
-H_x \def (drop1_getl_trans is c d1 H3 Abbr d u i H0) in (let H5 \def H_x in
-(ex2_ind C (\lambda (e2: C).(drop1 (ptrans is i) e2 d)) (\lambda (e2:
-C).(getl (trans is i) d1 (CHead e2 (Bind Abbr) (lift1 (ptrans is i) u))))
-(sc3 g a0 c2 (lift1 is (TLRef i))) (\lambda (x: C).(\lambda (_: (drop1
-(ptrans is i) x d)).(\lambda (H7: (getl (trans is i) d1 (CHead x (Bind Abbr)
-(lift1 (ptrans is i) u)))).(let H_x0 \def (csubc_getl_conf g d1 (CHead x
-(Bind Abbr) (lift1 (ptrans is i) u)) (trans is i) H7 c2 H4) in (let H8 \def
-H_x0 in (ex2_ind C (\lambda (e2: C).(getl (trans is i) c2 e2)) (\lambda (e2:
-C).(csubc g (CHead x (Bind Abbr) (lift1 (ptrans is i) u)) e2)) (sc3 g a0 c2
-(lift1 is (TLRef i))) (\lambda (x0: C).(\lambda (H9: (getl (trans is i) c2
-x0)).(\lambda (H10: (csubc g (CHead x (Bind Abbr) (lift1 (ptrans is i) u))
-x0)).(let H_x1 \def (csubc_gen_head_l g x x0 (lift1 (ptrans is i) u) (Bind
-Abbr) H10) in (let H11 \def H_x1 in (or3_ind (ex2 C (\lambda (c3: C).(eq C x0
-(CHead c3 (Bind Abbr) (lift1 (ptrans is i) u)))) (\lambda (c3: C).(csubc g x
-c3))) (ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K
-(Bind Abbr) (Bind Abst))))) (\lambda (c3: C).(\lambda (w: T).(\lambda (_:
-A).(eq C x0 (CHead c3 (Bind Abbr) w))))) (\lambda (c3: C).(\lambda (_:
-T).(\lambda (_: A).(csubc g x c3)))) (\lambda (_: C).(\lambda (_: T).(\lambda
-(a1: A).(sc3 g (asucc g a1) x (lift1 (ptrans is i) u))))) (\lambda (c3:
-C).(\lambda (w: T).(\lambda (a1: A).(sc3 g a1 c3 w))))) (ex4_3 B C T (\lambda
-(b: B).(\lambda (c3: C).(\lambda (v2: T).(eq C x0 (CHead c3 (Bind b) v2)))))
-(\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(eq K (Bind Abbr) (Bind
-Void))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b
-Void))))) (\lambda (_: B).(\lambda (c3: C).(\lambda (_: T).(csubc g x c3)))))
-(sc3 g a0 c2 (lift1 is (TLRef i))) (\lambda (H12: (ex2 C (\lambda (c3: C).(eq
-C x0 (CHead c3 (Bind Abbr) (lift1 (ptrans is i) u)))) (\lambda (c3: C).(csubc
-g x c3)))).(ex2_ind C (\lambda (c3: C).(eq C x0 (CHead c3 (Bind Abbr) (lift1
-(ptrans is i) u)))) (\lambda (c3: C).(csubc g x c3)) (sc3 g a0 c2 (lift1 is
-(TLRef i))) (\lambda (x1: C).(\lambda (H13: (eq C x0 (CHead x1 (Bind Abbr)
-(lift1 (ptrans is i) u)))).(\lambda (_: (csubc g x x1)).(let H15 \def (eq_ind
-C x0 (\lambda (c0: C).(getl (trans is i) c2 c0)) H9 (CHead x1 (Bind Abbr)
-(lift1 (ptrans is i) u)) H13) in (let H_y \def (sc3_abbr g a0 TNil) in
-(eq_ind_r T (TLRef (trans is i)) (\lambda (t0: T).(sc3 g a0 c2 t0)) (H_y
-(trans is i) x1 (lift1 (ptrans is i) u) c2 (eq_ind T (lift1 is (lift (S i) O
-u)) (\lambda (t0: T).(sc3 g a0 c2 t0)) (eq_ind T (lift1 (PConsTail is (S i)
-O) u) (\lambda (t0: T).(sc3 g a0 c2 t0)) (H2 d1 (PConsTail is (S i) O)
-(drop1_cons_tail c d (S i) O (getl_drop Abbr c d u i H0) is d1 H3) c2 H4)
-(lift1 is (lift (S i) O u)) (lift1_cons_tail u (S i) O is)) (lift (S (trans
-is i)) O (lift1 (ptrans is i) u)) (lift1_free is i u)) H15) (lift1 is (TLRef
-i)) (lift1_lref is i))))))) H12)) (\lambda (H12: (ex5_3 C T A (\lambda (_:
-C).(\lambda (_: T).(\lambda (_: A).(eq K (Bind Abbr) (Bind Abst))))) (\lambda
-(c3: C).(\lambda (w: T).(\lambda (_: A).(eq C x0 (CHead c3 (Bind Abbr) w)))))
-(\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g x c3)))) (\lambda
-(_: C).(\lambda (_: T).(\lambda (a1: A).(sc3 g (asucc g a1) x (lift1 (ptrans
-is i) u))))) (\lambda (c3: C).(\lambda (w: T).(\lambda (a1: A).(sc3 g a1 c3
-w)))))).(ex5_3_ind C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq
-K (Bind Abbr) (Bind Abst))))) (\lambda (c3: C).(\lambda (w: T).(\lambda (_:
-A).(eq C x0 (CHead c3 (Bind Abbr) w))))) (\lambda (c3: C).(\lambda (_:
-T).(\lambda (_: A).(csubc g x c3)))) (\lambda (_: C).(\lambda (_: T).(\lambda
-(a1: A).(sc3 g (asucc g a1) x (lift1 (ptrans is i) u))))) (\lambda (c3:
-C).(\lambda (w: T).(\lambda (a1: A).(sc3 g a1 c3 w)))) (sc3 g a0 c2 (lift1 is
-(TLRef i))) (\lambda (x1: C).(\lambda (x2: T).(\lambda (x3: A).(\lambda (H13:
-(eq K (Bind Abbr) (Bind Abst))).(\lambda (H14: (eq C x0 (CHead x1 (Bind Abbr)
-x2))).(\lambda (_: (csubc g x x1)).(\lambda (_: (sc3 g (asucc g x3) x (lift1
-(ptrans is i) u))).(\lambda (_: (sc3 g x3 x1 x2)).(let H18 \def (eq_ind C x0
-(\lambda (c0: C).(getl (trans is i) c2 c0)) H9 (CHead x1 (Bind Abbr) x2) H14)
-in (let H19 \def (eq_ind K (Bind Abbr) (\lambda (ee: K).(match ee in K return
-(\lambda (_: K).Prop) with [(Bind b) \Rightarrow (match b in B return
-(\lambda (_: B).Prop) with [Abbr \Rightarrow True | Abst \Rightarrow False |
-Void \Rightarrow False]) | (Flat _) \Rightarrow False])) I (Bind Abst) H13)
-in (False_ind (sc3 g a0 c2 (lift1 is (TLRef i))) H19))))))))))) H12))
-(\lambda (H12: (ex4_3 B C T (\lambda (b: B).(\lambda (c3: C).(\lambda (v2:
-T).(eq C x0 (CHead c3 (Bind b) v2))))) (\lambda (_: B).(\lambda (_:
-C).(\lambda (_: T).(eq K (Bind Abbr) (Bind Void))))) (\lambda (b: B).(\lambda
-(_: C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c3:
-C).(\lambda (_: T).(csubc g x c3)))))).(ex4_3_ind B C T (\lambda (b:
-B).(\lambda (c3: C).(\lambda (v2: T).(eq C x0 (CHead c3 (Bind b) v2)))))
-(\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(eq K (Bind Abbr) (Bind
-Void))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b
-Void))))) (\lambda (_: B).(\lambda (c3: C).(\lambda (_: T).(csubc g x c3))))
-(sc3 g a0 c2 (lift1 is (TLRef i))) (\lambda (x1: B).(\lambda (x2: C).(\lambda
-(x3: T).(\lambda (H13: (eq C x0 (CHead x2 (Bind x1) x3))).(\lambda (H14: (eq
-K (Bind Abbr) (Bind Void))).(\lambda (_: (not (eq B x1 Void))).(\lambda (_:
-(csubc g x x2)).(let H17 \def (eq_ind C x0 (\lambda (c0: C).(getl (trans is
-i) c2 c0)) H9 (CHead x2 (Bind x1) x3) H13) in (let H18 \def (eq_ind K (Bind
-Abbr) (\lambda (ee: K).(match ee in K return (\lambda (_: K).Prop) with
-[(Bind b) \Rightarrow (match b in B return (\lambda (_: B).Prop) with [Abbr
-\Rightarrow True | Abst \Rightarrow False | Void \Rightarrow False]) | (Flat
-_) \Rightarrow False])) I (Bind Void) H14) in (False_ind (sc3 g a0 c2 (lift1
-is (TLRef i))) H18)))))))))) H12)) H11)))))) H8)))))) H5))))))))))))))))
-(\lambda (c: C).(\lambda (d: C).(\lambda (u: T).(\lambda (i: nat).(\lambda
-(H0: (getl i c (CHead d (Bind Abst) u))).(\lambda (a0: A).(\lambda (H1:
-(arity g d u (asucc g a0))).(\lambda (_: ((\forall (d1: C).(\forall (is:
-PList).((drop1 is d1 d) \to (\forall (c2: C).((csubc g d1 c2) \to (sc3 g
-(asucc g a0) c2 (lift1 is u))))))))).(\lambda (d1: C).(\lambda (is:
-PList).(\lambda (H3: (drop1 is d1 c)).(\lambda (c2: C).(\lambda (H4: (csubc g
-d1 c2)).(let H5 \def H0 in (let H_x \def (drop1_getl_trans is c d1 H3 Abst d
-u i H5) in (let H6 \def H_x in (ex2_ind C (\lambda (e2: C).(drop1 (ptrans is
-i) e2 d)) (\lambda (e2: C).(getl (trans is i) d1 (CHead e2 (Bind Abst) (lift1
-(ptrans is i) u)))) (sc3 g a0 c2 (lift1 is (TLRef i))) (\lambda (x:
-C).(\lambda (H7: (drop1 (ptrans is i) x d)).(\lambda (H8: (getl (trans is i)
-d1 (CHead x (Bind Abst) (lift1 (ptrans is i) u)))).(let H_x0 \def
-(csubc_getl_conf g d1 (CHead x (Bind Abst) (lift1 (ptrans is i) u)) (trans is
-i) H8 c2 H4) in (let H9 \def H_x0 in (ex2_ind C (\lambda (e2: C).(getl (trans
-is i) c2 e2)) (\lambda (e2: C).(csubc g (CHead x (Bind Abst) (lift1 (ptrans
-is i) u)) e2)) (sc3 g a0 c2 (lift1 is (TLRef i))) (\lambda (x0: C).(\lambda
-(H10: (getl (trans is i) c2 x0)).(\lambda (H11: (csubc g (CHead x (Bind Abst)
-(lift1 (ptrans is i) u)) x0)).(let H_x1 \def (csubc_gen_head_l g x x0 (lift1
-(ptrans is i) u) (Bind Abst) H11) in (let H12 \def H_x1 in (or3_ind (ex2 C
+(arity g c1 t a)).(let TMP_2 \def (\lambda (c: C).(\lambda (t0: T).(\lambda
+(a0: A).(\forall (d1: C).(\forall (is: PList).((drop1 is d1 c) \to (\forall
+(c2: C).((csubc g d1 c2) \to (let TMP_1 \def (lift1 is t0) in (sc3 g a0 c2
+TMP_1)))))))))) in (let TMP_21 \def (\lambda (c: C).(\lambda (n:
+nat).(\lambda (d1: C).(\lambda (is: PList).(\lambda (_: (drop1 is d1
+c)).(\lambda (c2: C).(\lambda (_: (csubc g d1 c2)).(let TMP_3 \def (TSort n)
+in (let TMP_7 \def (\lambda (t0: T).(let TMP_4 \def (ASort O n) in (let TMP_5
+\def (arity g c2 t0 TMP_4) in (let TMP_6 \def (sn3 c2 t0) in (land TMP_5
+TMP_6))))) in (let TMP_8 \def (TSort n) in (let TMP_9 \def (ASort O n) in
+(let TMP_10 \def (arity g c2 TMP_8 TMP_9) in (let TMP_11 \def (TSort n) in
+(let TMP_12 \def (sn3 c2 TMP_11) in (let TMP_13 \def (arity_sort g c2 n) in
+(let TMP_14 \def (TSort n) in (let TMP_15 \def (nf2_sort c2 n) in (let TMP_16
+\def (sn3_nf2 c2 TMP_14 TMP_15) in (let TMP_17 \def (conj TMP_10 TMP_12
+TMP_13 TMP_16) in (let TMP_18 \def (TSort n) in (let TMP_19 \def (lift1 is
+TMP_18) in (let TMP_20 \def (lift1_sort n is) in (eq_ind_r T TMP_3 TMP_7
+TMP_17 TMP_19 TMP_20))))))))))))))))))))))) in (let TMP_191 \def (\lambda (c:
+C).(\lambda (d: C).(\lambda (u: T).(\lambda (i: nat).(\lambda (H0: (getl i c
+(CHead d (Bind Abbr) u))).(\lambda (a0: A).(\lambda (_: (arity g d u
+a0)).(\lambda (H2: ((\forall (d1: C).(\forall (is: PList).((drop1 is d1 d)
+\to (\forall (c2: C).((csubc g d1 c2) \to (sc3 g a0 c2 (lift1 is
+u))))))))).(\lambda (d1: C).(\lambda (is: PList).(\lambda (H3: (drop1 is d1
+c)).(\lambda (c2: C).(\lambda (H4: (csubc g d1 c2)).(let H_x \def
+(drop1_getl_trans is c d1 H3 Abbr d u i H0) in (let H5 \def H_x in (let
+TMP_23 \def (\lambda (e2: C).(let TMP_22 \def (ptrans is i) in (drop1 TMP_22
+e2 d))) in (let TMP_29 \def (\lambda (e2: C).(let TMP_24 \def (trans is i) in
+(let TMP_25 \def (Bind Abbr) in (let TMP_26 \def (ptrans is i) in (let TMP_27
+\def (lift1 TMP_26 u) in (let TMP_28 \def (CHead e2 TMP_25 TMP_27) in (getl
+TMP_24 d1 TMP_28))))))) in (let TMP_30 \def (TLRef i) in (let TMP_31 \def
+(lift1 is TMP_30) in (let TMP_32 \def (sc3 g a0 c2 TMP_31) in (let TMP_190
+\def (\lambda (x: C).(\lambda (_: (drop1 (ptrans is i) x d)).(\lambda (H7:
+(getl (trans is i) d1 (CHead x (Bind Abbr) (lift1 (ptrans is i) u)))).(let
+TMP_33 \def (Bind Abbr) in (let TMP_34 \def (ptrans is i) in (let TMP_35 \def
+(lift1 TMP_34 u) in (let TMP_36 \def (CHead x TMP_33 TMP_35) in (let TMP_37
+\def (trans is i) in (let H_x0 \def (csubc_getl_conf g d1 TMP_36 TMP_37 H7 c2
+H4) in (let H8 \def H_x0 in (let TMP_39 \def (\lambda (e2: C).(let TMP_38
+\def (trans is i) in (getl TMP_38 c2 e2))) in (let TMP_44 \def (\lambda (e2:
+C).(let TMP_40 \def (Bind Abbr) in (let TMP_41 \def (ptrans is i) in (let
+TMP_42 \def (lift1 TMP_41 u) in (let TMP_43 \def (CHead x TMP_40 TMP_42) in
+(csubc g TMP_43 e2)))))) in (let TMP_45 \def (TLRef i) in (let TMP_46 \def
+(lift1 is TMP_45) in (let TMP_47 \def (sc3 g a0 c2 TMP_46) in (let TMP_189
+\def (\lambda (x0: C).(\lambda (H9: (getl (trans is i) c2 x0)).(\lambda (H10:
+(csubc g (CHead x (Bind Abbr) (lift1 (ptrans is i) u)) x0)).(let TMP_48 \def
+(ptrans is i) in (let TMP_49 \def (lift1 TMP_48 u) in (let TMP_50 \def (Bind
+Abbr) in (let H_x1 \def (csubc_gen_head_l g x x0 TMP_49 TMP_50 H10) in (let
+H11 \def H_x1 in (let TMP_55 \def (\lambda (c3: C).(let TMP_51 \def (Bind
+Abbr) in (let TMP_52 \def (ptrans is i) in (let TMP_53 \def (lift1 TMP_52 u)
+in (let TMP_54 \def (CHead c3 TMP_51 TMP_53) in (eq C x0 TMP_54)))))) in (let
+TMP_56 \def (\lambda (c3: C).(csubc g x c3)) in (let TMP_57 \def (ex2 C
+TMP_55 TMP_56) in (let TMP_60 \def (\lambda (_: C).(\lambda (_: T).(\lambda
+(_: A).(let TMP_58 \def (Bind Abbr) in (let TMP_59 \def (Bind Abst) in (eq K
+TMP_58 TMP_59)))))) in (let TMP_63 \def (\lambda (c3: C).(\lambda (w:
+T).(\lambda (_: A).(let TMP_61 \def (Bind Abbr) in (let TMP_62 \def (CHead c3
+TMP_61 w) in (eq C x0 TMP_62)))))) in (let TMP_64 \def (\lambda (c3:
+C).(\lambda (_: T).(\lambda (_: A).(csubc g x c3)))) in (let TMP_68 \def
+(\lambda (_: C).(\lambda (_: T).(\lambda (a1: A).(let TMP_65 \def (asucc g
+a1) in (let TMP_66 \def (ptrans is i) in (let TMP_67 \def (lift1 TMP_66 u) in
+(sc3 g TMP_65 x TMP_67))))))) in (let TMP_69 \def (\lambda (c3: C).(\lambda
+(w: T).(\lambda (a1: A).(sc3 g a1 c3 w)))) in (let TMP_70 \def (ex5_3 C T A
+TMP_60 TMP_63 TMP_64 TMP_68 TMP_69) in (let TMP_73 \def (\lambda (b:
+B).(\lambda (c3: C).(\lambda (v2: T).(let TMP_71 \def (Bind b) in (let TMP_72
+\def (CHead c3 TMP_71 v2) in (eq C x0 TMP_72)))))) in (let TMP_76 \def
+(\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(let TMP_74 \def (Bind Abbr)
+in (let TMP_75 \def (Bind Void) in (eq K TMP_74 TMP_75)))))) in (let TMP_78
+\def (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(let TMP_77 \def (eq B b
+Void) in (not TMP_77))))) in (let TMP_79 \def (\lambda (_: B).(\lambda (c3:
+C).(\lambda (_: T).(csubc g x c3)))) in (let TMP_80 \def (ex4_3 B C T TMP_73
+TMP_76 TMP_78 TMP_79) in (let TMP_81 \def (TLRef i) in (let TMP_82 \def
+(lift1 is TMP_81) in (let TMP_83 \def (sc3 g a0 c2 TMP_82) in (let TMP_137
+\def (\lambda (H12: (ex2 C (\lambda (c3: C).(eq C x0 (CHead c3 (Bind Abbr)
+(lift1 (ptrans is i) u)))) (\lambda (c3: C).(csubc g x c3)))).(let TMP_88
+\def (\lambda (c3: C).(let TMP_84 \def (Bind Abbr) in (let TMP_85 \def
+(ptrans is i) in (let TMP_86 \def (lift1 TMP_85 u) in (let TMP_87 \def (CHead
+c3 TMP_84 TMP_86) in (eq C x0 TMP_87)))))) in (let TMP_89 \def (\lambda (c3:
+C).(csubc g x c3)) in (let TMP_90 \def (TLRef i) in (let TMP_91 \def (lift1
+is TMP_90) in (let TMP_92 \def (sc3 g a0 c2 TMP_91) in (let TMP_136 \def
+(\lambda (x1: C).(\lambda (H13: (eq C x0 (CHead x1 (Bind Abbr) (lift1 (ptrans
+is i) u)))).(\lambda (_: (csubc g x x1)).(let TMP_94 \def (\lambda (c0:
+C).(let TMP_93 \def (trans is i) in (getl TMP_93 c2 c0))) in (let TMP_95 \def
+(Bind Abbr) in (let TMP_96 \def (ptrans is i) in (let TMP_97 \def (lift1
+TMP_96 u) in (let TMP_98 \def (CHead x1 TMP_95 TMP_97) in (let H15 \def
+(eq_ind C x0 TMP_94 H9 TMP_98 H13) in (let H_y \def (sc3_abbr g a0 TNil) in
+(let TMP_99 \def (trans is i) in (let TMP_100 \def (TLRef TMP_99) in (let
+TMP_101 \def (\lambda (t0: T).(sc3 g a0 c2 t0)) in (let TMP_102 \def (trans
+is i) in (let TMP_103 \def (ptrans is i) in (let TMP_104 \def (lift1 TMP_103
+u) in (let TMP_105 \def (S i) in (let TMP_106 \def (lift TMP_105 O u) in (let
+TMP_107 \def (lift1 is TMP_106) in (let TMP_108 \def (\lambda (t0: T).(sc3 g
+a0 c2 t0)) in (let TMP_109 \def (S i) in (let TMP_110 \def (PConsTail is
+TMP_109 O) in (let TMP_111 \def (lift1 TMP_110 u) in (let TMP_112 \def
+(\lambda (t0: T).(sc3 g a0 c2 t0)) in (let TMP_113 \def (S i) in (let TMP_114
+\def (PConsTail is TMP_113 O) in (let TMP_115 \def (S i) in (let TMP_116 \def
+(getl_drop Abbr c d u i H0) in (let TMP_117 \def (drop1_cons_tail c d TMP_115
+O TMP_116 is d1 H3) in (let TMP_118 \def (H2 d1 TMP_114 TMP_117 c2 H4) in
+(let TMP_119 \def (S i) in (let TMP_120 \def (lift TMP_119 O u) in (let
+TMP_121 \def (lift1 is TMP_120) in (let TMP_122 \def (S i) in (let TMP_123
+\def (lift1_cons_tail u TMP_122 O is) in (let TMP_124 \def (eq_ind T TMP_111
+TMP_112 TMP_118 TMP_121 TMP_123) in (let TMP_125 \def (trans is i) in (let
+TMP_126 \def (S TMP_125) in (let TMP_127 \def (ptrans is i) in (let TMP_128
+\def (lift1 TMP_127 u) in (let TMP_129 \def (lift TMP_126 O TMP_128) in (let
+TMP_130 \def (lift1_free is i u) in (let TMP_131 \def (eq_ind T TMP_107
+TMP_108 TMP_124 TMP_129 TMP_130) in (let TMP_132 \def (H_y TMP_102 x1 TMP_104
+c2 TMP_131 H15) in (let TMP_133 \def (TLRef i) in (let TMP_134 \def (lift1 is
+TMP_133) in (let TMP_135 \def (lift1_lref is i) in (eq_ind_r T TMP_100
+TMP_101 TMP_132 TMP_134
+TMP_135)))))))))))))))))))))))))))))))))))))))))))))))) in (ex2_ind C TMP_88
+TMP_89 TMP_92 TMP_136 H12)))))))) in (let TMP_164 \def (\lambda (H12: (ex5_3
+C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq K (Bind Abbr) (Bind
+Abst))))) (\lambda (c3: C).(\lambda (w: T).(\lambda (_: A).(eq C x0 (CHead c3
+(Bind Abbr) w))))) (\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g
+x c3)))) (\lambda (_: C).(\lambda (_: T).(\lambda (a1: A).(sc3 g (asucc g a1)
+x (lift1 (ptrans is i) u))))) (\lambda (c3: C).(\lambda (w: T).(\lambda (a1:
+A).(sc3 g a1 c3 w)))))).(let TMP_140 \def (\lambda (_: C).(\lambda (_:
+T).(\lambda (_: A).(let TMP_138 \def (Bind Abbr) in (let TMP_139 \def (Bind
+Abst) in (eq K TMP_138 TMP_139)))))) in (let TMP_143 \def (\lambda (c3:
+C).(\lambda (w: T).(\lambda (_: A).(let TMP_141 \def (Bind Abbr) in (let
+TMP_142 \def (CHead c3 TMP_141 w) in (eq C x0 TMP_142)))))) in (let TMP_144
+\def (\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g x c3)))) in
+(let TMP_148 \def (\lambda (_: C).(\lambda (_: T).(\lambda (a1: A).(let
+TMP_145 \def (asucc g a1) in (let TMP_146 \def (ptrans is i) in (let TMP_147
+\def (lift1 TMP_146 u) in (sc3 g TMP_145 x TMP_147))))))) in (let TMP_149
+\def (\lambda (c3: C).(\lambda (w: T).(\lambda (a1: A).(sc3 g a1 c3 w)))) in
+(let TMP_150 \def (TLRef i) in (let TMP_151 \def (lift1 is TMP_150) in (let
+TMP_152 \def (sc3 g a0 c2 TMP_151) in (let TMP_163 \def (\lambda (x1:
+C).(\lambda (x2: T).(\lambda (x3: A).(\lambda (H13: (eq K (Bind Abbr) (Bind
+Abst))).(\lambda (H14: (eq C x0 (CHead x1 (Bind Abbr) x2))).(\lambda (_:
+(csubc g x x1)).(\lambda (_: (sc3 g (asucc g x3) x (lift1 (ptrans is i)
+u))).(\lambda (_: (sc3 g x3 x1 x2)).(let TMP_154 \def (\lambda (c0: C).(let
+TMP_153 \def (trans is i) in (getl TMP_153 c2 c0))) in (let TMP_155 \def
+(Bind Abbr) in (let TMP_156 \def (CHead x1 TMP_155 x2) in (let H18 \def
+(eq_ind C x0 TMP_154 H9 TMP_156 H14) in (let TMP_157 \def (Bind Abbr) in (let
+TMP_158 \def (\lambda (ee: K).(match ee with [(Bind b) \Rightarrow (match b
+with [Abbr \Rightarrow True | Abst \Rightarrow False | Void \Rightarrow
+False]) | (Flat _) \Rightarrow False])) in (let TMP_159 \def (Bind Abst) in
+(let H19 \def (eq_ind K TMP_157 TMP_158 I TMP_159 H13) in (let TMP_160 \def
+(TLRef i) in (let TMP_161 \def (lift1 is TMP_160) in (let TMP_162 \def (sc3 g
+a0 c2 TMP_161) in (False_ind TMP_162 H19)))))))))))))))))))) in (ex5_3_ind C
+T A TMP_140 TMP_143 TMP_144 TMP_148 TMP_149 TMP_152 TMP_163 H12))))))))))) in
+(let TMP_188 \def (\lambda (H12: (ex4_3 B C T (\lambda (b: B).(\lambda (c3:
+C).(\lambda (v2: T).(eq C x0 (CHead c3 (Bind b) v2))))) (\lambda (_:
+B).(\lambda (_: C).(\lambda (_: T).(eq K (Bind Abbr) (Bind Void))))) (\lambda
+(b: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_:
+B).(\lambda (c3: C).(\lambda (_: T).(csubc g x c3)))))).(let TMP_167 \def
+(\lambda (b: B).(\lambda (c3: C).(\lambda (v2: T).(let TMP_165 \def (Bind b)
+in (let TMP_166 \def (CHead c3 TMP_165 v2) in (eq C x0 TMP_166)))))) in (let
+TMP_170 \def (\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(let TMP_168
+\def (Bind Abbr) in (let TMP_169 \def (Bind Void) in (eq K TMP_168
+TMP_169)))))) in (let TMP_172 \def (\lambda (b: B).(\lambda (_: C).(\lambda
+(_: T).(let TMP_171 \def (eq B b Void) in (not TMP_171))))) in (let TMP_173
+\def (\lambda (_: B).(\lambda (c3: C).(\lambda (_: T).(csubc g x c3)))) in
+(let TMP_174 \def (TLRef i) in (let TMP_175 \def (lift1 is TMP_174) in (let
+TMP_176 \def (sc3 g a0 c2 TMP_175) in (let TMP_187 \def (\lambda (x1:
+B).(\lambda (x2: C).(\lambda (x3: T).(\lambda (H13: (eq C x0 (CHead x2 (Bind
+x1) x3))).(\lambda (H14: (eq K (Bind Abbr) (Bind Void))).(\lambda (_: (not
+(eq B x1 Void))).(\lambda (_: (csubc g x x2)).(let TMP_178 \def (\lambda (c0:
+C).(let TMP_177 \def (trans is i) in (getl TMP_177 c2 c0))) in (let TMP_179
+\def (Bind x1) in (let TMP_180 \def (CHead x2 TMP_179 x3) in (let H17 \def
+(eq_ind C x0 TMP_178 H9 TMP_180 H13) in (let TMP_181 \def (Bind Abbr) in (let
+TMP_182 \def (\lambda (ee: K).(match ee with [(Bind b) \Rightarrow (match b
+with [Abbr \Rightarrow True | Abst \Rightarrow False | Void \Rightarrow
+False]) | (Flat _) \Rightarrow False])) in (let TMP_183 \def (Bind Void) in
+(let H18 \def (eq_ind K TMP_181 TMP_182 I TMP_183 H14) in (let TMP_184 \def
+(TLRef i) in (let TMP_185 \def (lift1 is TMP_184) in (let TMP_186 \def (sc3 g
+a0 c2 TMP_185) in (False_ind TMP_186 H18))))))))))))))))))) in (ex4_3_ind B C
+T TMP_167 TMP_170 TMP_172 TMP_173 TMP_176 TMP_187 H12)))))))))) in (or3_ind
+TMP_57 TMP_70 TMP_80 TMP_83 TMP_137 TMP_164 TMP_188
+H11))))))))))))))))))))))))))))) in (ex2_ind C TMP_39 TMP_44 TMP_47 TMP_189
+H8))))))))))))))))) in (ex2_ind C TMP_23 TMP_29 TMP_32 TMP_190
+H5)))))))))))))))))))))) in (let TMP_371 \def (\lambda (c: C).(\lambda (d:
+C).(\lambda (u: T).(\lambda (i: nat).(\lambda (H0: (getl i c (CHead d (Bind
+Abst) u))).(\lambda (a0: A).(\lambda (H1: (arity g d u (asucc g
+a0))).(\lambda (_: ((\forall (d1: C).(\forall (is: PList).((drop1 is d1 d)
+\to (\forall (c2: C).((csubc g d1 c2) \to (sc3 g (asucc g a0) c2 (lift1 is
+u))))))))).(\lambda (d1: C).(\lambda (is: PList).(\lambda (H3: (drop1 is d1
+c)).(\lambda (c2: C).(\lambda (H4: (csubc g d1 c2)).(let H5 \def H0 in (let
+H_x \def (drop1_getl_trans is c d1 H3 Abst d u i H5) in (let H6 \def H_x in
+(let TMP_193 \def (\lambda (e2: C).(let TMP_192 \def (ptrans is i) in (drop1
+TMP_192 e2 d))) in (let TMP_199 \def (\lambda (e2: C).(let TMP_194 \def
+(trans is i) in (let TMP_195 \def (Bind Abst) in (let TMP_196 \def (ptrans is
+i) in (let TMP_197 \def (lift1 TMP_196 u) in (let TMP_198 \def (CHead e2
+TMP_195 TMP_197) in (getl TMP_194 d1 TMP_198))))))) in (let TMP_200 \def
+(TLRef i) in (let TMP_201 \def (lift1 is TMP_200) in (let TMP_202 \def (sc3 g
+a0 c2 TMP_201) in (let TMP_370 \def (\lambda (x: C).(\lambda (H7: (drop1
+(ptrans is i) x d)).(\lambda (H8: (getl (trans is i) d1 (CHead x (Bind Abst)
+(lift1 (ptrans is i) u)))).(let TMP_203 \def (Bind Abst) in (let TMP_204 \def
+(ptrans is i) in (let TMP_205 \def (lift1 TMP_204 u) in (let TMP_206 \def
+(CHead x TMP_203 TMP_205) in (let TMP_207 \def (trans is i) in (let H_x0 \def
+(csubc_getl_conf g d1 TMP_206 TMP_207 H8 c2 H4) in (let H9 \def H_x0 in (let
+TMP_209 \def (\lambda (e2: C).(let TMP_208 \def (trans is i) in (getl TMP_208
+c2 e2))) in (let TMP_214 \def (\lambda (e2: C).(let TMP_210 \def (Bind Abst)
+in (let TMP_211 \def (ptrans is i) in (let TMP_212 \def (lift1 TMP_211 u) in
+(let TMP_213 \def (CHead x TMP_210 TMP_212) in (csubc g TMP_213 e2)))))) in
+(let TMP_215 \def (TLRef i) in (let TMP_216 \def (lift1 is TMP_215) in (let
+TMP_217 \def (sc3 g a0 c2 TMP_216) in (let TMP_369 \def (\lambda (x0:
+C).(\lambda (H10: (getl (trans is i) c2 x0)).(\lambda (H11: (csubc g (CHead x
+(Bind Abst) (lift1 (ptrans is i) u)) x0)).(let TMP_218 \def (ptrans is i) in
+(let TMP_219 \def (lift1 TMP_218 u) in (let TMP_220 \def (Bind Abst) in (let
+H_x1 \def (csubc_gen_head_l g x x0 TMP_219 TMP_220 H11) in (let H12 \def H_x1
+in (let TMP_225 \def (\lambda (c3: C).(let TMP_221 \def (Bind Abst) in (let
+TMP_222 \def (ptrans is i) in (let TMP_223 \def (lift1 TMP_222 u) in (let
+TMP_224 \def (CHead c3 TMP_221 TMP_223) in (eq C x0 TMP_224)))))) in (let
+TMP_226 \def (\lambda (c3: C).(csubc g x c3)) in (let TMP_227 \def (ex2 C
+TMP_225 TMP_226) in (let TMP_230 \def (\lambda (_: C).(\lambda (_:
+T).(\lambda (_: A).(let TMP_228 \def (Bind Abst) in (let TMP_229 \def (Bind
+Abst) in (eq K TMP_228 TMP_229)))))) in (let TMP_233 \def (\lambda (c3:
+C).(\lambda (w: T).(\lambda (_: A).(let TMP_231 \def (Bind Abbr) in (let
+TMP_232 \def (CHead c3 TMP_231 w) in (eq C x0 TMP_232)))))) in (let TMP_234
+\def (\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g x c3)))) in
+(let TMP_238 \def (\lambda (_: C).(\lambda (_: T).(\lambda (a1: A).(let
+TMP_235 \def (asucc g a1) in (let TMP_236 \def (ptrans is i) in (let TMP_237
+\def (lift1 TMP_236 u) in (sc3 g TMP_235 x TMP_237))))))) in (let TMP_239
+\def (\lambda (c3: C).(\lambda (w: T).(\lambda (a1: A).(sc3 g a1 c3 w)))) in
+(let TMP_240 \def (ex5_3 C T A TMP_230 TMP_233 TMP_234 TMP_238 TMP_239) in
+(let TMP_243 \def (\lambda (b: B).(\lambda (c3: C).(\lambda (v2: T).(let
+TMP_241 \def (Bind b) in (let TMP_242 \def (CHead c3 TMP_241 v2) in (eq C x0
+TMP_242)))))) in (let TMP_246 \def (\lambda (_: B).(\lambda (_: C).(\lambda
+(_: T).(let TMP_244 \def (Bind Abst) in (let TMP_245 \def (Bind Void) in (eq
+K TMP_244 TMP_245)))))) in (let TMP_248 \def (\lambda (b: B).(\lambda (_:
+C).(\lambda (_: T).(let TMP_247 \def (eq B b Void) in (not TMP_247))))) in
+(let TMP_249 \def (\lambda (_: B).(\lambda (c3: C).(\lambda (_: T).(csubc g x
+c3)))) in (let TMP_250 \def (ex4_3 B C T TMP_243 TMP_246 TMP_248 TMP_249) in
+(let TMP_251 \def (TLRef i) in (let TMP_252 \def (lift1 is TMP_251) in (let
+TMP_253 \def (sc3 g a0 c2 TMP_252) in (let TMP_295 \def (\lambda (H13: (ex2 C
(\lambda (c3: C).(eq C x0 (CHead c3 (Bind Abst) (lift1 (ptrans is i) u))))
-(\lambda (c3: C).(csubc g x c3))) (ex5_3 C T A (\lambda (_: C).(\lambda (_:
-T).(\lambda (_: A).(eq K (Bind Abst) (Bind Abst))))) (\lambda (c3:
-C).(\lambda (w: T).(\lambda (_: A).(eq C x0 (CHead c3 (Bind Abbr) w)))))
-(\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g x c3)))) (\lambda
-(_: C).(\lambda (_: T).(\lambda (a1: A).(sc3 g (asucc g a1) x (lift1 (ptrans
-is i) u))))) (\lambda (c3: C).(\lambda (w: T).(\lambda (a1: A).(sc3 g a1 c3
-w))))) (ex4_3 B C T (\lambda (b: B).(\lambda (c3: C).(\lambda (v2: T).(eq C
-x0 (CHead c3 (Bind b) v2))))) (\lambda (_: B).(\lambda (_: C).(\lambda (_:
-T).(eq K (Bind Abst) (Bind Void))))) (\lambda (b: B).(\lambda (_: C).(\lambda
-(_: T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c3: C).(\lambda (_:
-T).(csubc g x c3))))) (sc3 g a0 c2 (lift1 is (TLRef i))) (\lambda (H13: (ex2
-C (\lambda (c3: C).(eq C x0 (CHead c3 (Bind Abst) (lift1 (ptrans is i) u))))
-(\lambda (c3: C).(csubc g x c3)))).(ex2_ind C (\lambda (c3: C).(eq C x0
-(CHead c3 (Bind Abst) (lift1 (ptrans is i) u)))) (\lambda (c3: C).(csubc g x
-c3)) (sc3 g a0 c2 (lift1 is (TLRef i))) (\lambda (x1: C).(\lambda (H14: (eq C
-x0 (CHead x1 (Bind Abst) (lift1 (ptrans is i) u)))).(\lambda (_: (csubc g x
-x1)).(let H16 \def (eq_ind C x0 (\lambda (c0: C).(getl (trans is i) c2 c0))
-H10 (CHead x1 (Bind Abst) (lift1 (ptrans is i) u)) H14) in (let H_y \def
-(sc3_abst g a0 TNil) in (eq_ind_r T (TLRef (trans is i)) (\lambda (t0:
-T).(sc3 g a0 c2 t0)) (H_y c2 (trans is i) (csubc_arity_conf g d1 c2 H4 (TLRef
-(trans is i)) a0 (eq_ind T (lift1 is (TLRef i)) (\lambda (t0: T).(arity g d1
-t0 a0)) (arity_lift1 g a0 c is d1 (TLRef i) H3 (arity_abst g c d u i H0 a0
-H1)) (TLRef (trans is i)) (lift1_lref is i))) (nf2_lref_abst c2 x1 (lift1
-(ptrans is i) u) (trans is i) H16) I) (lift1 is (TLRef i)) (lift1_lref is
-i))))))) H13)) (\lambda (H13: (ex5_3 C T A (\lambda (_: C).(\lambda (_:
-T).(\lambda (_: A).(eq K (Bind Abst) (Bind Abst))))) (\lambda (c3:
-C).(\lambda (w: T).(\lambda (_: A).(eq C x0 (CHead c3 (Bind Abbr) w)))))
-(\lambda (c3: C).(\lambda (_: T).(\lambda (_: A).(csubc g x c3)))) (\lambda
-(_: C).(\lambda (_: T).(\lambda (a1: A).(sc3 g (asucc g a1) x (lift1 (ptrans
-is i) u))))) (\lambda (c3: C).(\lambda (w: T).(\lambda (a1: A).(sc3 g a1 c3
-w)))))).(ex5_3_ind C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(eq
-K (Bind Abst) (Bind Abst))))) (\lambda (c3: C).(\lambda (w: T).(\lambda (_:
-A).(eq C x0 (CHead c3 (Bind Abbr) w))))) (\lambda (c3: C).(\lambda (_:
-T).(\lambda (_: A).(csubc g x c3)))) (\lambda (_: C).(\lambda (_: T).(\lambda
-(a1: A).(sc3 g (asucc g a1) x (lift1 (ptrans is i) u))))) (\lambda (c3:
-C).(\lambda (w: T).(\lambda (a1: A).(sc3 g a1 c3 w)))) (sc3 g a0 c2 (lift1 is
-(TLRef i))) (\lambda (x1: C).(\lambda (x2: T).(\lambda (x3: A).(\lambda (_:
-(eq K (Bind Abst) (Bind Abst))).(\lambda (H15: (eq C x0 (CHead x1 (Bind Abbr)
-x2))).(\lambda (_: (csubc g x x1)).(\lambda (H17: (sc3 g (asucc g x3) x
-(lift1 (ptrans is i) u))).(\lambda (H18: (sc3 g x3 x1 x2)).(let H19 \def
-(eq_ind C x0 (\lambda (c0: C).(getl (trans is i) c2 c0)) H10 (CHead x1 (Bind
-Abbr) x2) H15) in (let H_y \def (sc3_abbr g a0 TNil) in (eq_ind_r T (TLRef
-(trans is i)) (\lambda (t0: T).(sc3 g a0 c2 t0)) (H_y (trans is i) x1 x2 c2
-(let H_y0 \def (arity_lift1 g (asucc g a0) d (ptrans is i) x u H7 H1) in (let
-H_y1 \def (sc3_arity_gen g x (lift1 (ptrans is i) u) (asucc g x3) H17) in
-(sc3_repl g x3 c2 (lift (S (trans is i)) O x2) (sc3_lift g x3 x1 x2 H18 c2 (S
-(trans is i)) O (getl_drop Abbr c2 x1 x2 (trans is i) H19)) a0 (asucc_inj g
-x3 a0 (arity_mono g x (lift1 (ptrans is i) u) (asucc g x3) H_y1 (asucc g a0)
-H_y0))))) H19) (lift1 is (TLRef i)) (lift1_lref is i)))))))))))) H13))
-(\lambda (H13: (ex4_3 B C T (\lambda (b: B).(\lambda (c3: C).(\lambda (v2:
-T).(eq C x0 (CHead c3 (Bind b) v2))))) (\lambda (_: B).(\lambda (_:
-C).(\lambda (_: T).(eq K (Bind Abst) (Bind Void))))) (\lambda (b: B).(\lambda
-(_: C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_: B).(\lambda (c3:
-C).(\lambda (_: T).(csubc g x c3)))))).(ex4_3_ind B C T (\lambda (b:
-B).(\lambda (c3: C).(\lambda (v2: T).(eq C x0 (CHead c3 (Bind b) v2)))))
-(\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(eq K (Bind Abst) (Bind
-Void))))) (\lambda (b: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b
-Void))))) (\lambda (_: B).(\lambda (c3: C).(\lambda (_: T).(csubc g x c3))))
-(sc3 g a0 c2 (lift1 is (TLRef i))) (\lambda (x1: B).(\lambda (x2: C).(\lambda
-(x3: T).(\lambda (H14: (eq C x0 (CHead x2 (Bind x1) x3))).(\lambda (H15: (eq
-K (Bind Abst) (Bind Void))).(\lambda (_: (not (eq B x1 Void))).(\lambda (_:
-(csubc g x x2)).(let H18 \def (eq_ind C x0 (\lambda (c0: C).(getl (trans is
-i) c2 c0)) H10 (CHead x2 (Bind x1) x3) H14) in (let H19 \def (eq_ind K (Bind
-Abst) (\lambda (ee: K).(match ee in K return (\lambda (_: K).Prop) with
-[(Bind b) \Rightarrow (match b in B return (\lambda (_: B).Prop) with [Abbr
-\Rightarrow False | Abst \Rightarrow True | Void \Rightarrow False]) | (Flat
-_) \Rightarrow False])) I (Bind Void) H15) in (False_ind (sc3 g a0 c2 (lift1
-is (TLRef i))) H19)))))))))) H13)) H12)))))) H9)))))) H6)))))))))))))))))
+(\lambda (c3: C).(csubc g x c3)))).(let TMP_258 \def (\lambda (c3: C).(let
+TMP_254 \def (Bind Abst) in (let TMP_255 \def (ptrans is i) in (let TMP_256
+\def (lift1 TMP_255 u) in (let TMP_257 \def (CHead c3 TMP_254 TMP_256) in (eq
+C x0 TMP_257)))))) in (let TMP_259 \def (\lambda (c3: C).(csubc g x c3)) in
+(let TMP_260 \def (TLRef i) in (let TMP_261 \def (lift1 is TMP_260) in (let
+TMP_262 \def (sc3 g a0 c2 TMP_261) in (let TMP_294 \def (\lambda (x1:
+C).(\lambda (H14: (eq C x0 (CHead x1 (Bind Abst) (lift1 (ptrans is i)
+u)))).(\lambda (_: (csubc g x x1)).(let TMP_264 \def (\lambda (c0: C).(let
+TMP_263 \def (trans is i) in (getl TMP_263 c2 c0))) in (let TMP_265 \def
+(Bind Abst) in (let TMP_266 \def (ptrans is i) in (let TMP_267 \def (lift1
+TMP_266 u) in (let TMP_268 \def (CHead x1 TMP_265 TMP_267) in (let H16 \def
+(eq_ind C x0 TMP_264 H10 TMP_268 H14) in (let H_y \def (sc3_abst g a0 TNil)
+in (let TMP_269 \def (trans is i) in (let TMP_270 \def (TLRef TMP_269) in
+(let TMP_271 \def (\lambda (t0: T).(sc3 g a0 c2 t0)) in (let TMP_272 \def
+(trans is i) in (let TMP_273 \def (trans is i) in (let TMP_274 \def (TLRef
+TMP_273) in (let TMP_275 \def (TLRef i) in (let TMP_276 \def (lift1 is
+TMP_275) in (let TMP_277 \def (\lambda (t0: T).(arity g d1 t0 a0)) in (let
+TMP_278 \def (TLRef i) in (let TMP_279 \def (arity_abst g c d u i H0 a0 H1)
+in (let TMP_280 \def (arity_lift1 g a0 c is d1 TMP_278 H3 TMP_279) in (let
+TMP_281 \def (trans is i) in (let TMP_282 \def (TLRef TMP_281) in (let
+TMP_283 \def (lift1_lref is i) in (let TMP_284 \def (eq_ind T TMP_276 TMP_277
+TMP_280 TMP_282 TMP_283) in (let TMP_285 \def (csubc_arity_conf g d1 c2 H4
+TMP_274 a0 TMP_284) in (let TMP_286 \def (ptrans is i) in (let TMP_287 \def
+(lift1 TMP_286 u) in (let TMP_288 \def (trans is i) in (let TMP_289 \def
+(nf2_lref_abst c2 x1 TMP_287 TMP_288 H16) in (let TMP_290 \def (H_y c2
+TMP_272 TMP_285 TMP_289 I) in (let TMP_291 \def (TLRef i) in (let TMP_292
+\def (lift1 is TMP_291) in (let TMP_293 \def (lift1_lref is i) in (eq_ind_r T
+TMP_270 TMP_271 TMP_290 TMP_292 TMP_293))))))))))))))))))))))))))))))))))))
+in (ex2_ind C TMP_258 TMP_259 TMP_262 TMP_294 H13)))))))) in (let TMP_344
+\def (\lambda (H13: (ex5_3 C T A (\lambda (_: C).(\lambda (_: T).(\lambda (_:
+A).(eq K (Bind Abst) (Bind Abst))))) (\lambda (c3: C).(\lambda (w:
+T).(\lambda (_: A).(eq C x0 (CHead c3 (Bind Abbr) w))))) (\lambda (c3:
+C).(\lambda (_: T).(\lambda (_: A).(csubc g x c3)))) (\lambda (_: C).(\lambda
+(_: T).(\lambda (a1: A).(sc3 g (asucc g a1) x (lift1 (ptrans is i) u)))))
+(\lambda (c3: C).(\lambda (w: T).(\lambda (a1: A).(sc3 g a1 c3 w)))))).(let
+TMP_298 \def (\lambda (_: C).(\lambda (_: T).(\lambda (_: A).(let TMP_296
+\def (Bind Abst) in (let TMP_297 \def (Bind Abst) in (eq K TMP_296
+TMP_297)))))) in (let TMP_301 \def (\lambda (c3: C).(\lambda (w: T).(\lambda
+(_: A).(let TMP_299 \def (Bind Abbr) in (let TMP_300 \def (CHead c3 TMP_299
+w) in (eq C x0 TMP_300)))))) in (let TMP_302 \def (\lambda (c3: C).(\lambda
+(_: T).(\lambda (_: A).(csubc g x c3)))) in (let TMP_306 \def (\lambda (_:
+C).(\lambda (_: T).(\lambda (a1: A).(let TMP_303 \def (asucc g a1) in (let
+TMP_304 \def (ptrans is i) in (let TMP_305 \def (lift1 TMP_304 u) in (sc3 g
+TMP_303 x TMP_305))))))) in (let TMP_307 \def (\lambda (c3: C).(\lambda (w:
+T).(\lambda (a1: A).(sc3 g a1 c3 w)))) in (let TMP_308 \def (TLRef i) in (let
+TMP_309 \def (lift1 is TMP_308) in (let TMP_310 \def (sc3 g a0 c2 TMP_309) in
+(let TMP_343 \def (\lambda (x1: C).(\lambda (x2: T).(\lambda (x3: A).(\lambda
+(_: (eq K (Bind Abst) (Bind Abst))).(\lambda (H15: (eq C x0 (CHead x1 (Bind
+Abbr) x2))).(\lambda (_: (csubc g x x1)).(\lambda (H17: (sc3 g (asucc g x3) x
+(lift1 (ptrans is i) u))).(\lambda (H18: (sc3 g x3 x1 x2)).(let TMP_312 \def
+(\lambda (c0: C).(let TMP_311 \def (trans is i) in (getl TMP_311 c2 c0))) in
+(let TMP_313 \def (Bind Abbr) in (let TMP_314 \def (CHead x1 TMP_313 x2) in
+(let H19 \def (eq_ind C x0 TMP_312 H10 TMP_314 H15) in (let H_y \def
+(sc3_abbr g a0 TNil) in (let TMP_315 \def (trans is i) in (let TMP_316 \def
+(TLRef TMP_315) in (let TMP_317 \def (\lambda (t0: T).(sc3 g a0 c2 t0)) in
+(let TMP_318 \def (trans is i) in (let TMP_319 \def (asucc g a0) in (let
+TMP_320 \def (ptrans is i) in (let H_y0 \def (arity_lift1 g TMP_319 d TMP_320
+x u H7 H1) in (let TMP_321 \def (ptrans is i) in (let TMP_322 \def (lift1
+TMP_321 u) in (let TMP_323 \def (asucc g x3) in (let H_y1 \def (sc3_arity_gen
+g x TMP_322 TMP_323 H17) in (let TMP_324 \def (trans is i) in (let TMP_325
+\def (S TMP_324) in (let TMP_326 \def (lift TMP_325 O x2) in (let TMP_327
+\def (trans is i) in (let TMP_328 \def (S TMP_327) in (let TMP_329 \def
+(trans is i) in (let TMP_330 \def (getl_drop Abbr c2 x1 x2 TMP_329 H19) in
+(let TMP_331 \def (sc3_lift g x3 x1 x2 H18 c2 TMP_328 O TMP_330) in (let
+TMP_332 \def (ptrans is i) in (let TMP_333 \def (lift1 TMP_332 u) in (let
+TMP_334 \def (asucc g x3) in (let TMP_335 \def (asucc g a0) in (let TMP_336
+\def (arity_mono g x TMP_333 TMP_334 H_y1 TMP_335 H_y0) in (let TMP_337 \def
+(asucc_inj g x3 a0 TMP_336) in (let TMP_338 \def (sc3_repl g x3 c2 TMP_326
+TMP_331 a0 TMP_337) in (let TMP_339 \def (H_y TMP_318 x1 x2 c2 TMP_338 H19)
+in (let TMP_340 \def (TLRef i) in (let TMP_341 \def (lift1 is TMP_340) in
+(let TMP_342 \def (lift1_lref is i) in (eq_ind_r T TMP_316 TMP_317 TMP_339
+TMP_341 TMP_342)))))))))))))))))))))))))))))))))))))))))))) in (ex5_3_ind C T
+A TMP_298 TMP_301 TMP_302 TMP_306 TMP_307 TMP_310 TMP_343 H13))))))))))) in
+(let TMP_368 \def (\lambda (H13: (ex4_3 B C T (\lambda (b: B).(\lambda (c3:
+C).(\lambda (v2: T).(eq C x0 (CHead c3 (Bind b) v2))))) (\lambda (_:
+B).(\lambda (_: C).(\lambda (_: T).(eq K (Bind Abst) (Bind Void))))) (\lambda
+(b: B).(\lambda (_: C).(\lambda (_: T).(not (eq B b Void))))) (\lambda (_:
+B).(\lambda (c3: C).(\lambda (_: T).(csubc g x c3)))))).(let TMP_347 \def
+(\lambda (b: B).(\lambda (c3: C).(\lambda (v2: T).(let TMP_345 \def (Bind b)
+in (let TMP_346 \def (CHead c3 TMP_345 v2) in (eq C x0 TMP_346)))))) in (let
+TMP_350 \def (\lambda (_: B).(\lambda (_: C).(\lambda (_: T).(let TMP_348
+\def (Bind Abst) in (let TMP_349 \def (Bind Void) in (eq K TMP_348
+TMP_349)))))) in (let TMP_352 \def (\lambda (b: B).(\lambda (_: C).(\lambda
+(_: T).(let TMP_351 \def (eq B b Void) in (not TMP_351))))) in (let TMP_353
+\def (\lambda (_: B).(\lambda (c3: C).(\lambda (_: T).(csubc g x c3)))) in
+(let TMP_354 \def (TLRef i) in (let TMP_355 \def (lift1 is TMP_354) in (let
+TMP_356 \def (sc3 g a0 c2 TMP_355) in (let TMP_367 \def (\lambda (x1:
+B).(\lambda (x2: C).(\lambda (x3: T).(\lambda (H14: (eq C x0 (CHead x2 (Bind
+x1) x3))).(\lambda (H15: (eq K (Bind Abst) (Bind Void))).(\lambda (_: (not
+(eq B x1 Void))).(\lambda (_: (csubc g x x2)).(let TMP_358 \def (\lambda (c0:
+C).(let TMP_357 \def (trans is i) in (getl TMP_357 c2 c0))) in (let TMP_359
+\def (Bind x1) in (let TMP_360 \def (CHead x2 TMP_359 x3) in (let H18 \def
+(eq_ind C x0 TMP_358 H10 TMP_360 H14) in (let TMP_361 \def (Bind Abst) in
+(let TMP_362 \def (\lambda (ee: K).(match ee with [(Bind b) \Rightarrow
+(match b with [Abbr \Rightarrow False | Abst \Rightarrow True | Void
+\Rightarrow False]) | (Flat _) \Rightarrow False])) in (let TMP_363 \def
+(Bind Void) in (let H19 \def (eq_ind K TMP_361 TMP_362 I TMP_363 H15) in (let
+TMP_364 \def (TLRef i) in (let TMP_365 \def (lift1 is TMP_364) in (let
+TMP_366 \def (sc3 g a0 c2 TMP_365) in (False_ind TMP_366
+H19))))))))))))))))))) in (ex4_3_ind B C T TMP_347 TMP_350 TMP_352 TMP_353
+TMP_356 TMP_367 H13)))))))))) in (or3_ind TMP_227 TMP_240 TMP_250 TMP_253
+TMP_295 TMP_344 TMP_368 H12))))))))))))))))))))))))))))) in (ex2_ind C
+TMP_209 TMP_214 TMP_217 TMP_369 H9))))))))))))))))) in (ex2_ind C TMP_193
+TMP_199 TMP_202 TMP_370 H6))))))))))))))))))))))) in (let TMP_399 \def
(\lambda (b: B).(\lambda (H0: (not (eq B b Abst))).(\lambda (c: C).(\lambda
(u: T).(\lambda (a1: A).(\lambda (_: (arity g c u a1)).(\lambda (H2:
((\forall (d1: C).(\forall (is: PList).((drop1 is d1 c) \to (\forall (c2:
(CHead c (Bind b) u)) \to (\forall (c2: C).((csubc g d1 c2) \to (sc3 g a2 c2
(lift1 is t0))))))))).(\lambda (d1: C).(\lambda (is: PList).(\lambda (H5:
(drop1 is d1 c)).(\lambda (c2: C).(\lambda (H6: (csubc g d1 c2)).(let H_y
-\def (sc3_bind g b H0 a1 a2 TNil) in (eq_ind_r T (THead (Bind b) (lift1 is u)
-(lift1 (Ss is) t0)) (\lambda (t1: T).(sc3 g a2 c2 t1)) (H_y c2 (lift1 is u)
-(lift1 (Ss is) t0) (H4 (CHead d1 (Bind b) (lift1 is u)) (Ss is)
-(drop1_skip_bind b c is d1 u H5) (CHead c2 (Bind b) (lift1 is u)) (csubc_head
-g d1 c2 H6 (Bind b) (lift1 is u))) (H2 d1 is H5 c2 H6)) (lift1 is (THead
-(Bind b) u t0)) (lift1_bind b is u t0))))))))))))))))))) (\lambda (c:
-C).(\lambda (u: T).(\lambda (a1: A).(\lambda (H0: (arity g c u (asucc g
-a1))).(\lambda (H1: ((\forall (d1: C).(\forall (is: PList).((drop1 is d1 c)
-\to (\forall (c2: C).((csubc g d1 c2) \to (sc3 g (asucc g a1) c2 (lift1 is
-u))))))))).(\lambda (t0: T).(\lambda (a2: A).(\lambda (H2: (arity g (CHead c
-(Bind Abst) u) t0 a2)).(\lambda (H3: ((\forall (d1: C).(\forall (is:
+\def (sc3_bind g b H0 a1 a2 TNil) in (let TMP_372 \def (Bind b) in (let
+TMP_373 \def (lift1 is u) in (let TMP_374 \def (Ss is) in (let TMP_375 \def
+(lift1 TMP_374 t0) in (let TMP_376 \def (THead TMP_372 TMP_373 TMP_375) in
+(let TMP_377 \def (\lambda (t1: T).(sc3 g a2 c2 t1)) in (let TMP_378 \def
+(lift1 is u) in (let TMP_379 \def (Ss is) in (let TMP_380 \def (lift1 TMP_379
+t0) in (let TMP_381 \def (Bind b) in (let TMP_382 \def (lift1 is u) in (let
+TMP_383 \def (CHead d1 TMP_381 TMP_382) in (let TMP_384 \def (Ss is) in (let
+TMP_385 \def (drop1_skip_bind b c is d1 u H5) in (let TMP_386 \def (Bind b)
+in (let TMP_387 \def (lift1 is u) in (let TMP_388 \def (CHead c2 TMP_386
+TMP_387) in (let TMP_389 \def (Bind b) in (let TMP_390 \def (lift1 is u) in
+(let TMP_391 \def (csubc_head g d1 c2 H6 TMP_389 TMP_390) in (let TMP_392
+\def (H4 TMP_383 TMP_384 TMP_385 TMP_388 TMP_391) in (let TMP_393 \def (H2 d1
+is H5 c2 H6) in (let TMP_394 \def (H_y c2 TMP_378 TMP_380 TMP_392 TMP_393) in
+(let TMP_395 \def (Bind b) in (let TMP_396 \def (THead TMP_395 u t0) in (let
+TMP_397 \def (lift1 is TMP_396) in (let TMP_398 \def (lift1_bind b is u t0)
+in (eq_ind_r T TMP_376 TMP_377 TMP_394 TMP_397
+TMP_398))))))))))))))))))))))))))))))))))))))))))))) in (let TMP_547 \def
+(\lambda (c: C).(\lambda (u: T).(\lambda (a1: A).(\lambda (H0: (arity g c u
+(asucc g a1))).(\lambda (H1: ((\forall (d1: C).(\forall (is: PList).((drop1
+is d1 c) \to (\forall (c2: C).((csubc g d1 c2) \to (sc3 g (asucc g a1) c2
+(lift1 is u))))))))).(\lambda (t0: T).(\lambda (a2: A).(\lambda (H2: (arity g
+(CHead c (Bind Abst) u) t0 a2)).(\lambda (H3: ((\forall (d1: C).(\forall (is:
PList).((drop1 is d1 (CHead c (Bind Abst) u)) \to (\forall (c2: C).((csubc g
d1 c2) \to (sc3 g a2 c2 (lift1 is t0))))))))).(\lambda (d1: C).(\lambda (is:
PList).(\lambda (H4: (drop1 is d1 c)).(\lambda (c2: C).(\lambda (H5: (csubc g
-d1 c2)).(eq_ind_r T (THead (Bind Abst) (lift1 is u) (lift1 (Ss is) t0))
-(\lambda (t1: T).(land (arity g c2 t1 (AHead a1 a2)) (\forall (d: C).(\forall
-(w: T).((sc3 g a1 d w) \to (\forall (is0: PList).((drop1 is0 d c2) \to (sc3 g
-a2 d (THead (Flat Appl) w (lift1 is0 t1)))))))))) (conj (arity g c2 (THead
-(Bind Abst) (lift1 is u) (lift1 (Ss is) t0)) (AHead a1 a2)) (\forall (d:
-C).(\forall (w: T).((sc3 g a1 d w) \to (\forall (is0: PList).((drop1 is0 d
-c2) \to (sc3 g a2 d (THead (Flat Appl) w (lift1 is0 (THead (Bind Abst) (lift1
-is u) (lift1 (Ss is) t0)))))))))) (csubc_arity_conf g d1 c2 H5 (THead (Bind
-Abst) (lift1 is u) (lift1 (Ss is) t0)) (AHead a1 a2) (arity_head g d1 (lift1
-is u) a1 (arity_lift1 g (asucc g a1) c is d1 u H4 H0) (lift1 (Ss is) t0) a2
-(arity_lift1 g a2 (CHead c (Bind Abst) u) (Ss is) (CHead d1 (Bind Abst)
-(lift1 is u)) t0 (drop1_skip_bind Abst c is d1 u H4) H2))) (\lambda (d:
-C).(\lambda (w: T).(\lambda (H6: (sc3 g a1 d w)).(\lambda (is0:
-PList).(\lambda (H7: (drop1 is0 d c2)).(eq_ind_r T (THead (Bind Abst) (lift1
-is0 (lift1 is u)) (lift1 (Ss is0) (lift1 (Ss is) t0))) (\lambda (t1: T).(sc3
-g a2 d (THead (Flat Appl) w t1))) (let H8 \def (sc3_appl g a1 a2 TNil) in (H8
-d w (lift1 (Ss is0) (lift1 (Ss is) t0)) (let H_y \def (sc3_bind g Abbr
-(\lambda (H9: (eq B Abbr Abst)).(not_abbr_abst H9)) a1 a2 TNil) in (H_y d w
-(lift1 (Ss is0) (lift1 (Ss is) t0)) (let H_x \def (csubc_drop1_conf_rev g is0
-d c2 H7 d1 H5) in (let H9 \def H_x in (ex2_ind C (\lambda (c3: C).(drop1 is0
-c3 d1)) (\lambda (c3: C).(csubc g c3 d)) (sc3 g a2 (CHead d (Bind Abbr) w)
-(lift1 (Ss is0) (lift1 (Ss is) t0))) (\lambda (x: C).(\lambda (H10: (drop1
-is0 x d1)).(\lambda (H11: (csubc g x d)).(eq_ind_r T (lift1 (papp (Ss is0)
-(Ss is)) t0) (\lambda (t1: T).(sc3 g a2 (CHead d (Bind Abbr) w) t1))
-(eq_ind_r PList (Ss (papp is0 is)) (\lambda (p: PList).(sc3 g a2 (CHead d
-(Bind Abbr) w) (lift1 p t0))) (H3 (CHead x (Bind Abst) (lift1 (papp is0 is)
-u)) (Ss (papp is0 is)) (drop1_skip_bind Abst c (papp is0 is) x u (drop1_trans
-is0 x d1 H10 is c H4)) (CHead d (Bind Abbr) w) (csubc_abst g x d H11 (lift1
-(papp is0 is) u) a1 (H1 x (papp is0 is) (drop1_trans is0 x d1 H10 is c H4) x
-(csubc_refl g x)) w H6)) (papp (Ss is0) (Ss is)) (papp_ss is0 is)) (lift1 (Ss
-is0) (lift1 (Ss is) t0)) (lift1_lift1 (Ss is0) (Ss is) t0))))) H9))) H6)) H6
-(lift1 is0 (lift1 is u)) (sc3_lift1 g c2 (asucc g a1) is0 d (lift1 is u) (H1
-d1 is H4 c2 H5) H7))) (lift1 is0 (THead (Bind Abst) (lift1 is u) (lift1 (Ss
-is) t0))) (lift1_bind Abst is0 (lift1 is u) (lift1 (Ss is) t0))))))))) (lift1
-is (THead (Bind Abst) u t0)) (lift1_bind Abst is u t0))))))))))))))))
-(\lambda (c: C).(\lambda (u: T).(\lambda (a1: A).(\lambda (_: (arity g c u
-a1)).(\lambda (H1: ((\forall (d1: C).(\forall (is: PList).((drop1 is d1 c)
-\to (\forall (c2: C).((csubc g d1 c2) \to (sc3 g a1 c2 (lift1 is
-u))))))))).(\lambda (t0: T).(\lambda (a2: A).(\lambda (_: (arity g c t0
-(AHead a1 a2))).(\lambda (H3: ((\forall (d1: C).(\forall (is: PList).((drop1
-is d1 c) \to (\forall (c2: C).((csubc g d1 c2) \to (sc3 g (AHead a1 a2) c2
-(lift1 is t0))))))))).(\lambda (d1: C).(\lambda (is: PList).(\lambda (H4:
-(drop1 is d1 c)).(\lambda (c2: C).(\lambda (H5: (csubc g d1 c2)).(let H_y
-\def (H1 d1 is H4 c2 H5) in (let H_y0 \def (H3 d1 is H4 c2 H5) in (let H6
-\def H_y0 in (land_ind (arity g c2 (lift1 is t0) (AHead a1 a2)) (\forall (d:
-C).(\forall (w: T).((sc3 g a1 d w) \to (\forall (is0: PList).((drop1 is0 d
-c2) \to (sc3 g a2 d (THead (Flat Appl) w (lift1 is0 (lift1 is t0)))))))))
-(sc3 g a2 c2 (lift1 is (THead (Flat Appl) u t0))) (\lambda (_: (arity g c2
-(lift1 is t0) (AHead a1 a2))).(\lambda (H8: ((\forall (d: C).(\forall (w:
-T).((sc3 g a1 d w) \to (\forall (is0: PList).((drop1 is0 d c2) \to (sc3 g a2
-d (THead (Flat Appl) w (lift1 is0 (lift1 is t0))))))))))).(let H_y1 \def (H8
-c2 (lift1 is u) H_y PNil) in (eq_ind_r T (THead (Flat Appl) (lift1 is u)
-(lift1 is t0)) (\lambda (t1: T).(sc3 g a2 c2 t1)) (H_y1 (drop1_nil c2))
-(lift1 is (THead (Flat Appl) u t0)) (lift1_flat Appl is u t0)))))
-H6)))))))))))))))))) (\lambda (c: C).(\lambda (u: T).(\lambda (a0:
-A).(\lambda (_: (arity g c u (asucc g a0))).(\lambda (H1: ((\forall (d1:
-C).(\forall (is: PList).((drop1 is d1 c) \to (\forall (c2: C).((csubc g d1
-c2) \to (sc3 g (asucc g a0) c2 (lift1 is u))))))))).(\lambda (t0: T).(\lambda
-(_: (arity g c t0 a0)).(\lambda (H3: ((\forall (d1: C).(\forall (is:
-PList).((drop1 is d1 c) \to (\forall (c2: C).((csubc g d1 c2) \to (sc3 g a0
-c2 (lift1 is t0))))))))).(\lambda (d1: C).(\lambda (is: PList).(\lambda (H4:
-(drop1 is d1 c)).(\lambda (c2: C).(\lambda (H5: (csubc g d1 c2)).(let H_y
-\def (sc3_cast g a0 TNil) in (eq_ind_r T (THead (Flat Cast) (lift1 is u)
-(lift1 is t0)) (\lambda (t1: T).(sc3 g a0 c2 t1)) (H_y c2 (lift1 is u) (H1 d1
-is H4 c2 H5) (lift1 is t0) (H3 d1 is H4 c2 H5)) (lift1 is (THead (Flat Cast)
-u t0)) (lift1_flat Cast is u t0)))))))))))))))) (\lambda (c: C).(\lambda (t0:
-T).(\lambda (a1: A).(\lambda (_: (arity g c t0 a1)).(\lambda (H1: ((\forall
-(d1: C).(\forall (is: PList).((drop1 is d1 c) \to (\forall (c2: C).((csubc g
-d1 c2) \to (sc3 g a1 c2 (lift1 is t0))))))))).(\lambda (a2: A).(\lambda (H2:
-(leq g a1 a2)).(\lambda (d1: C).(\lambda (is: PList).(\lambda (H3: (drop1 is
-d1 c)).(\lambda (c2: C).(\lambda (H4: (csubc g d1 c2)).(sc3_repl g a1 c2
-(lift1 is t0) (H1 d1 is H3 c2 H4) a2 H2))))))))))))) c1 t a H))))).
-(* COMMENTS
-Initial nodes: 5940
-END *)
+d1 c2)).(let TMP_400 \def (Bind Abst) in (let TMP_401 \def (lift1 is u) in
+(let TMP_402 \def (Ss is) in (let TMP_403 \def (lift1 TMP_402 t0) in (let
+TMP_404 \def (THead TMP_400 TMP_401 TMP_403) in (let TMP_411 \def (\lambda
+(t1: T).(let TMP_405 \def (AHead a1 a2) in (let TMP_406 \def (arity g c2 t1
+TMP_405) in (let TMP_410 \def (\forall (d: C).(\forall (w: T).((sc3 g a1 d w)
+\to (\forall (is0: PList).((drop1 is0 d c2) \to (let TMP_407 \def (Flat Appl)
+in (let TMP_408 \def (lift1 is0 t1) in (let TMP_409 \def (THead TMP_407 w
+TMP_408) in (sc3 g a2 d TMP_409))))))))) in (land TMP_406 TMP_410))))) in
+(let TMP_412 \def (Bind Abst) in (let TMP_413 \def (lift1 is u) in (let
+TMP_414 \def (Ss is) in (let TMP_415 \def (lift1 TMP_414 t0) in (let TMP_416
+\def (THead TMP_412 TMP_413 TMP_415) in (let TMP_417 \def (AHead a1 a2) in
+(let TMP_418 \def (arity g c2 TMP_416 TMP_417) in (let TMP_427 \def (\forall
+(d: C).(\forall (w: T).((sc3 g a1 d w) \to (\forall (is0: PList).((drop1 is0
+d c2) \to (let TMP_419 \def (Flat Appl) in (let TMP_420 \def (Bind Abst) in
+(let TMP_421 \def (lift1 is u) in (let TMP_422 \def (Ss is) in (let TMP_423
+\def (lift1 TMP_422 t0) in (let TMP_424 \def (THead TMP_420 TMP_421 TMP_423)
+in (let TMP_425 \def (lift1 is0 TMP_424) in (let TMP_426 \def (THead TMP_419
+w TMP_425) in (sc3 g a2 d TMP_426)))))))))))))) in (let TMP_428 \def (Bind
+Abst) in (let TMP_429 \def (lift1 is u) in (let TMP_430 \def (Ss is) in (let
+TMP_431 \def (lift1 TMP_430 t0) in (let TMP_432 \def (THead TMP_428 TMP_429
+TMP_431) in (let TMP_433 \def (AHead a1 a2) in (let TMP_434 \def (lift1 is u)
+in (let TMP_435 \def (asucc g a1) in (let TMP_436 \def (arity_lift1 g TMP_435
+c is d1 u H4 H0) in (let TMP_437 \def (Ss is) in (let TMP_438 \def (lift1
+TMP_437 t0) in (let TMP_439 \def (Bind Abst) in (let TMP_440 \def (CHead c
+TMP_439 u) in (let TMP_441 \def (Ss is) in (let TMP_442 \def (Bind Abst) in
+(let TMP_443 \def (lift1 is u) in (let TMP_444 \def (CHead d1 TMP_442
+TMP_443) in (let TMP_445 \def (drop1_skip_bind Abst c is d1 u H4) in (let
+TMP_446 \def (arity_lift1 g a2 TMP_440 TMP_441 TMP_444 t0 TMP_445 H2) in (let
+TMP_447 \def (arity_head g d1 TMP_434 a1 TMP_436 TMP_438 a2 TMP_446) in (let
+TMP_448 \def (csubc_arity_conf g d1 c2 H5 TMP_432 TMP_433 TMP_447) in (let
+TMP_541 \def (\lambda (d: C).(\lambda (w: T).(\lambda (H6: (sc3 g a1 d
+w)).(\lambda (is0: PList).(\lambda (H7: (drop1 is0 d c2)).(let TMP_449 \def
+(Bind Abst) in (let TMP_450 \def (lift1 is u) in (let TMP_451 \def (lift1 is0
+TMP_450) in (let TMP_452 \def (Ss is0) in (let TMP_453 \def (Ss is) in (let
+TMP_454 \def (lift1 TMP_453 t0) in (let TMP_455 \def (lift1 TMP_452 TMP_454)
+in (let TMP_456 \def (THead TMP_449 TMP_451 TMP_455) in (let TMP_459 \def
+(\lambda (t1: T).(let TMP_457 \def (Flat Appl) in (let TMP_458 \def (THead
+TMP_457 w t1) in (sc3 g a2 d TMP_458)))) in (let H8 \def (sc3_appl g a1 a2
+TNil) in (let TMP_460 \def (Ss is0) in (let TMP_461 \def (Ss is) in (let
+TMP_462 \def (lift1 TMP_461 t0) in (let TMP_463 \def (lift1 TMP_460 TMP_462)
+in (let H_y \def (sc3_bind g Abbr not_abbr_abst a1 a2 TNil) in (let TMP_464
+\def (Ss is0) in (let TMP_465 \def (Ss is) in (let TMP_466 \def (lift1
+TMP_465 t0) in (let TMP_467 \def (lift1 TMP_464 TMP_466) in (let H_x \def
+(csubc_drop1_conf_rev g is0 d c2 H7 d1 H5) in (let H9 \def H_x in (let
+TMP_468 \def (\lambda (c3: C).(drop1 is0 c3 d1)) in (let TMP_469 \def
+(\lambda (c3: C).(csubc g c3 d)) in (let TMP_470 \def (Bind Abbr) in (let
+TMP_471 \def (CHead d TMP_470 w) in (let TMP_472 \def (Ss is0) in (let
+TMP_473 \def (Ss is) in (let TMP_474 \def (lift1 TMP_473 t0) in (let TMP_475
+\def (lift1 TMP_472 TMP_474) in (let TMP_476 \def (sc3 g a2 TMP_471 TMP_475)
+in (let TMP_521 \def (\lambda (x: C).(\lambda (H10: (drop1 is0 x
+d1)).(\lambda (H11: (csubc g x d)).(let TMP_477 \def (Ss is0) in (let TMP_478
+\def (Ss is) in (let TMP_479 \def (papp TMP_477 TMP_478) in (let TMP_480 \def
+(lift1 TMP_479 t0) in (let TMP_483 \def (\lambda (t1: T).(let TMP_481 \def
+(Bind Abbr) in (let TMP_482 \def (CHead d TMP_481 w) in (sc3 g a2 TMP_482
+t1)))) in (let TMP_484 \def (papp is0 is) in (let TMP_485 \def (Ss TMP_484)
+in (let TMP_489 \def (\lambda (p: PList).(let TMP_486 \def (Bind Abbr) in
+(let TMP_487 \def (CHead d TMP_486 w) in (let TMP_488 \def (lift1 p t0) in
+(sc3 g a2 TMP_487 TMP_488))))) in (let TMP_490 \def (Bind Abst) in (let
+TMP_491 \def (papp is0 is) in (let TMP_492 \def (lift1 TMP_491 u) in (let
+TMP_493 \def (CHead x TMP_490 TMP_492) in (let TMP_494 \def (papp is0 is) in
+(let TMP_495 \def (Ss TMP_494) in (let TMP_496 \def (papp is0 is) in (let
+TMP_497 \def (drop1_trans is0 x d1 H10 is c H4) in (let TMP_498 \def
+(drop1_skip_bind Abst c TMP_496 x u TMP_497) in (let TMP_499 \def (Bind Abbr)
+in (let TMP_500 \def (CHead d TMP_499 w) in (let TMP_501 \def (papp is0 is)
+in (let TMP_502 \def (lift1 TMP_501 u) in (let TMP_503 \def (papp is0 is) in
+(let TMP_504 \def (drop1_trans is0 x d1 H10 is c H4) in (let TMP_505 \def
+(csubc_refl g x) in (let TMP_506 \def (H1 x TMP_503 TMP_504 x TMP_505) in
+(let TMP_507 \def (csubc_abst g x d H11 TMP_502 a1 TMP_506 w H6) in (let
+TMP_508 \def (H3 TMP_493 TMP_495 TMP_498 TMP_500 TMP_507) in (let TMP_509
+\def (Ss is0) in (let TMP_510 \def (Ss is) in (let TMP_511 \def (papp TMP_509
+TMP_510) in (let TMP_512 \def (papp_ss is0 is) in (let TMP_513 \def (eq_ind_r
+PList TMP_485 TMP_489 TMP_508 TMP_511 TMP_512) in (let TMP_514 \def (Ss is0)
+in (let TMP_515 \def (Ss is) in (let TMP_516 \def (lift1 TMP_515 t0) in (let
+TMP_517 \def (lift1 TMP_514 TMP_516) in (let TMP_518 \def (Ss is0) in (let
+TMP_519 \def (Ss is) in (let TMP_520 \def (lift1_lift1 TMP_518 TMP_519 t0) in
+(eq_ind_r T TMP_480 TMP_483 TMP_513 TMP_517
+TMP_520))))))))))))))))))))))))))))))))))))))))))) in (let TMP_522 \def
+(ex2_ind C TMP_468 TMP_469 TMP_476 TMP_521 H9) in (let TMP_523 \def (H_y d w
+TMP_467 TMP_522 H6) in (let TMP_524 \def (lift1 is u) in (let TMP_525 \def
+(lift1 is0 TMP_524) in (let TMP_526 \def (asucc g a1) in (let TMP_527 \def
+(lift1 is u) in (let TMP_528 \def (H1 d1 is H4 c2 H5) in (let TMP_529 \def
+(sc3_lift1 g c2 TMP_526 is0 d TMP_527 TMP_528 H7) in (let TMP_530 \def (H8 d
+w TMP_463 TMP_523 H6 TMP_525 TMP_529) in (let TMP_531 \def (Bind Abst) in
+(let TMP_532 \def (lift1 is u) in (let TMP_533 \def (Ss is) in (let TMP_534
+\def (lift1 TMP_533 t0) in (let TMP_535 \def (THead TMP_531 TMP_532 TMP_534)
+in (let TMP_536 \def (lift1 is0 TMP_535) in (let TMP_537 \def (lift1 is u) in
+(let TMP_538 \def (Ss is) in (let TMP_539 \def (lift1 TMP_538 t0) in (let
+TMP_540 \def (lift1_bind Abst is0 TMP_537 TMP_539) in (eq_ind_r T TMP_456
+TMP_459 TMP_530 TMP_536
+TMP_540)))))))))))))))))))))))))))))))))))))))))))))))))))))))) in (let
+TMP_542 \def (conj TMP_418 TMP_427 TMP_448 TMP_541) in (let TMP_543 \def
+(Bind Abst) in (let TMP_544 \def (THead TMP_543 u t0) in (let TMP_545 \def
+(lift1 is TMP_544) in (let TMP_546 \def (lift1_bind Abst is u t0) in
+(eq_ind_r T TMP_404 TMP_411 TMP_542 TMP_545
+TMP_546)))))))))))))))))))))))))))))))))))))))))))))))))))))))) in (let
+TMP_573 \def (\lambda (c: C).(\lambda (u: T).(\lambda (a1: A).(\lambda (_:
+(arity g c u a1)).(\lambda (H1: ((\forall (d1: C).(\forall (is:
+PList).((drop1 is d1 c) \to (\forall (c2: C).((csubc g d1 c2) \to (sc3 g a1
+c2 (lift1 is u))))))))).(\lambda (t0: T).(\lambda (a2: A).(\lambda (_: (arity
+g c t0 (AHead a1 a2))).(\lambda (H3: ((\forall (d1: C).(\forall (is:
+PList).((drop1 is d1 c) \to (\forall (c2: C).((csubc g d1 c2) \to (sc3 g
+(AHead a1 a2) c2 (lift1 is t0))))))))).(\lambda (d1: C).(\lambda (is:
+PList).(\lambda (H4: (drop1 is d1 c)).(\lambda (c2: C).(\lambda (H5: (csubc g
+d1 c2)).(let H_y \def (H1 d1 is H4 c2 H5) in (let H_y0 \def (H3 d1 is H4 c2
+H5) in (let H6 \def H_y0 in (let TMP_548 \def (lift1 is t0) in (let TMP_549
+\def (AHead a1 a2) in (let TMP_550 \def (arity g c2 TMP_548 TMP_549) in (let
+TMP_555 \def (\forall (d: C).(\forall (w: T).((sc3 g a1 d w) \to (\forall
+(is0: PList).((drop1 is0 d c2) \to (let TMP_551 \def (Flat Appl) in (let
+TMP_552 \def (lift1 is t0) in (let TMP_553 \def (lift1 is0 TMP_552) in (let
+TMP_554 \def (THead TMP_551 w TMP_553) in (sc3 g a2 d TMP_554)))))))))) in
+(let TMP_556 \def (Flat Appl) in (let TMP_557 \def (THead TMP_556 u t0) in
+(let TMP_558 \def (lift1 is TMP_557) in (let TMP_559 \def (sc3 g a2 c2
+TMP_558) in (let TMP_572 \def (\lambda (_: (arity g c2 (lift1 is t0) (AHead
+a1 a2))).(\lambda (H8: ((\forall (d: C).(\forall (w: T).((sc3 g a1 d w) \to
+(\forall (is0: PList).((drop1 is0 d c2) \to (sc3 g a2 d (THead (Flat Appl) w
+(lift1 is0 (lift1 is t0))))))))))).(let TMP_560 \def (lift1 is u) in (let
+H_y1 \def (H8 c2 TMP_560 H_y PNil) in (let TMP_561 \def (Flat Appl) in (let
+TMP_562 \def (lift1 is u) in (let TMP_563 \def (lift1 is t0) in (let TMP_564
+\def (THead TMP_561 TMP_562 TMP_563) in (let TMP_565 \def (\lambda (t1:
+T).(sc3 g a2 c2 t1)) in (let TMP_566 \def (drop1_nil c2) in (let TMP_567 \def
+(H_y1 TMP_566) in (let TMP_568 \def (Flat Appl) in (let TMP_569 \def (THead
+TMP_568 u t0) in (let TMP_570 \def (lift1 is TMP_569) in (let TMP_571 \def
+(lift1_flat Appl is u t0) in (eq_ind_r T TMP_564 TMP_565 TMP_567 TMP_570
+TMP_571)))))))))))))))) in (land_ind TMP_550 TMP_555 TMP_559 TMP_572
+H6))))))))))))))))))))))))))) in (let TMP_588 \def (\lambda (c: C).(\lambda
+(u: T).(\lambda (a0: A).(\lambda (_: (arity g c u (asucc g a0))).(\lambda
+(H1: ((\forall (d1: C).(\forall (is: PList).((drop1 is d1 c) \to (\forall
+(c2: C).((csubc g d1 c2) \to (sc3 g (asucc g a0) c2 (lift1 is
+u))))))))).(\lambda (t0: T).(\lambda (_: (arity g c t0 a0)).(\lambda (H3:
+((\forall (d1: C).(\forall (is: PList).((drop1 is d1 c) \to (\forall (c2:
+C).((csubc g d1 c2) \to (sc3 g a0 c2 (lift1 is t0))))))))).(\lambda (d1:
+C).(\lambda (is: PList).(\lambda (H4: (drop1 is d1 c)).(\lambda (c2:
+C).(\lambda (H5: (csubc g d1 c2)).(let H_y \def (sc3_cast g a0 TNil) in (let
+TMP_574 \def (Flat Cast) in (let TMP_575 \def (lift1 is u) in (let TMP_576
+\def (lift1 is t0) in (let TMP_577 \def (THead TMP_574 TMP_575 TMP_576) in
+(let TMP_578 \def (\lambda (t1: T).(sc3 g a0 c2 t1)) in (let TMP_579 \def
+(lift1 is u) in (let TMP_580 \def (H1 d1 is H4 c2 H5) in (let TMP_581 \def
+(lift1 is t0) in (let TMP_582 \def (H3 d1 is H4 c2 H5) in (let TMP_583 \def
+(H_y c2 TMP_579 TMP_580 TMP_581 TMP_582) in (let TMP_584 \def (Flat Cast) in
+(let TMP_585 \def (THead TMP_584 u t0) in (let TMP_586 \def (lift1 is
+TMP_585) in (let TMP_587 \def (lift1_flat Cast is u t0) in (eq_ind_r T
+TMP_577 TMP_578 TMP_583 TMP_586 TMP_587))))))))))))))))))))))))))))) in (let
+TMP_591 \def (\lambda (c: C).(\lambda (t0: T).(\lambda (a1: A).(\lambda (_:
+(arity g c t0 a1)).(\lambda (H1: ((\forall (d1: C).(\forall (is:
+PList).((drop1 is d1 c) \to (\forall (c2: C).((csubc g d1 c2) \to (sc3 g a1
+c2 (lift1 is t0))))))))).(\lambda (a2: A).(\lambda (H2: (leq g a1
+a2)).(\lambda (d1: C).(\lambda (is: PList).(\lambda (H3: (drop1 is d1
+c)).(\lambda (c2: C).(\lambda (H4: (csubc g d1 c2)).(let TMP_589 \def (lift1
+is t0) in (let TMP_590 \def (H1 d1 is H3 c2 H4) in (sc3_repl g a1 c2 TMP_589
+TMP_590 a2 H2))))))))))))))) in (arity_ind g TMP_2 TMP_21 TMP_191 TMP_371
+TMP_399 TMP_547 TMP_573 TMP_588 TMP_591 c1 t a H)))))))))))))).
theorem sc3_arity:
\forall (g: G).(\forall (c: C).(\forall (t: T).(\forall (a: A).((arity g c t
a) \to (sc3 g a c t)))))
\def
\lambda (g: G).(\lambda (c: C).(\lambda (t: T).(\lambda (a: A).(\lambda (H:
-(arity g c t a)).(let H_y \def (sc3_arity_csubc g c t a H c PNil) in (H_y
-(drop1_nil c) c (csubc_refl g c))))))).
-(* COMMENTS
-Initial nodes: 47
-END *)
+(arity g c t a)).(let H_y \def (sc3_arity_csubc g c t a H c PNil) in (let
+TMP_1 \def (drop1_nil c) in (let TMP_2 \def (csubc_refl g c) in (H_y TMP_1 c
+TMP_2)))))))).
(* This file was automatically generated: do not edit *********************)
-include "Basic-1/sn3/defs.ma".
+include "basic_1/sn3/defs.ma".
-include "Basic-1/arity/defs.ma".
+include "basic_1/arity/defs.ma".
-include "Basic-1/drop1/defs.ma".
+include "basic_1/drop1/defs.ma".
-definition sc3:
- G \to (A \to (C \to (T \to Prop)))
-\def
- let rec sc3 (g: G) (a: A) on a: (C \to (T \to Prop)) \def (\lambda (c:
-C).(\lambda (t: T).(match a with [(ASort h n) \Rightarrow (land (arity g c t
-(ASort h n)) (sn3 c t)) | (AHead a1 a2) \Rightarrow (land (arity g c t (AHead
-a1 a2)) (\forall (d: C).(\forall (w: T).((sc3 g a1 d w) \to (\forall (is:
-PList).((drop1 is d c) \to (sc3 g a2 d (THead (Flat Appl) w (lift1 is
-t)))))))))]))) in sc3.
+let rec sc3 (g: G) (a: A) on a: C \to (T \to Prop) \def \lambda (c:
+C).(\lambda (t: T).(match a with [(ASort h n) \Rightarrow (let TMP_7 \def
+(ASort h n) in (let TMP_8 \def (arity g c t TMP_7) in (let TMP_9 \def (sn3 c
+t) in (land TMP_8 TMP_9)))) | (AHead a1 a2) \Rightarrow (let TMP_1 \def
+(AHead a1 a2) in (let TMP_2 \def (arity g c t TMP_1) in (let TMP_6 \def
+(\forall (d: C).(\forall (w: T).((sc3 g a1 d w) \to (\forall (is:
+PList).((drop1 is d c) \to (let TMP_3 \def (Flat Appl) in (let TMP_4 \def
+(lift1 is t) in (let TMP_5 \def (THead TMP_3 w TMP_4) in (sc3 g a2 d
+TMP_5))))))))) in (land TMP_2 TMP_6))))])).
(* This file was automatically generated: do not edit *********************)
-include "Basic-1/sc3/defs.ma".
+include "basic_1/sc3/defs.ma".
-include "Basic-1/sn3/lift1.ma".
+include "basic_1/sn3/lift1.ma".
-include "Basic-1/nf2/lift1.ma".
+include "basic_1/nf2/lift1.ma".
-include "Basic-1/csuba/arity.ma".
+include "basic_1/csuba/arity.ma".
-include "Basic-1/arity/lift1.ma".
+include "basic_1/arity/lift1.ma".
-include "Basic-1/arity/aprem.ma".
+include "basic_1/arity/aprem.ma".
-include "Basic-1/llt/props.ma".
+include "basic_1/llt/props.ma".
-include "Basic-1/drop1/getl.ma".
+include "basic_1/llt/fwd.ma".
-include "Basic-1/drop1/props.ma".
+include "basic_1/drop1/getl.ma".
-include "Basic-1/lift1/props.ma".
+include "basic_1/drop1/props.ma".
+
+include "basic_1/lift1/drop1.ma".
theorem sc3_arity_gen:
\forall (g: G).(\forall (c: C).(\forall (t: T).(\forall (a: A).((sc3 g a c
t) \to (arity g c t a)))))
\def
- \lambda (g: G).(\lambda (c: C).(\lambda (t: T).(\lambda (a: A).(A_ind
-(\lambda (a0: A).((sc3 g a0 c t) \to (arity g c t a0))) (\lambda (n:
-nat).(\lambda (n0: nat).(\lambda (H: (land (arity g c t (ASort n n0)) (sn3 c
-t))).(let H0 \def H in (land_ind (arity g c t (ASort n n0)) (sn3 c t) (arity
-g c t (ASort n n0)) (\lambda (H1: (arity g c t (ASort n n0))).(\lambda (_:
-(sn3 c t)).H1)) H0))))) (\lambda (a0: A).(\lambda (_: (((sc3 g a0 c t) \to
-(arity g c t a0)))).(\lambda (a1: A).(\lambda (_: (((sc3 g a1 c t) \to (arity
-g c t a1)))).(\lambda (H1: (land (arity g c t (AHead a0 a1)) (\forall (d:
+ \lambda (g: G).(\lambda (c: C).(\lambda (t: T).(\lambda (a: A).(let TMP_1
+\def (\lambda (a0: A).((sc3 g a0 c t) \to (arity g c t a0))) in (let TMP_8
+\def (\lambda (n: nat).(\lambda (n0: nat).(\lambda (H: (land (arity g c t
+(ASort n n0)) (sn3 c t))).(let H0 \def H in (let TMP_2 \def (ASort n n0) in
+(let TMP_3 \def (arity g c t TMP_2) in (let TMP_4 \def (sn3 c t) in (let
+TMP_5 \def (ASort n n0) in (let TMP_6 \def (arity g c t TMP_5) in (let TMP_7
+\def (\lambda (H1: (arity g c t (ASort n n0))).(\lambda (_: (sn3 c t)).H1))
+in (land_ind TMP_3 TMP_4 TMP_6 TMP_7 H0))))))))))) in (let TMP_18 \def
+(\lambda (a0: A).(\lambda (_: (((sc3 g a0 c t) \to (arity g c t
+a0)))).(\lambda (a1: A).(\lambda (_: (((sc3 g a1 c t) \to (arity g c t
+a1)))).(\lambda (H1: (land (arity g c t (AHead a0 a1)) (\forall (d:
C).(\forall (w: T).((sc3 g a0 d w) \to (\forall (is: PList).((drop1 is d c)
\to (sc3 g a1 d (THead (Flat Appl) w (lift1 is t)))))))))).(let H2 \def H1 in
-(land_ind (arity g c t (AHead a0 a1)) (\forall (d: C).(\forall (w: T).((sc3 g
-a0 d w) \to (\forall (is: PList).((drop1 is d c) \to (sc3 g a1 d (THead (Flat
-Appl) w (lift1 is t)))))))) (arity g c t (AHead a0 a1)) (\lambda (H3: (arity
-g c t (AHead a0 a1))).(\lambda (_: ((\forall (d: C).(\forall (w: T).((sc3 g
-a0 d w) \to (\forall (is: PList).((drop1 is d c) \to (sc3 g a1 d (THead (Flat
-Appl) w (lift1 is t)))))))))).H3)) H2))))))) a)))).
-(* COMMENTS
-Initial nodes: 369
-END *)
+(let TMP_9 \def (AHead a0 a1) in (let TMP_10 \def (arity g c t TMP_9) in (let
+TMP_14 \def (\forall (d: C).(\forall (w: T).((sc3 g a0 d w) \to (\forall (is:
+PList).((drop1 is d c) \to (let TMP_11 \def (Flat Appl) in (let TMP_12 \def
+(lift1 is t) in (let TMP_13 \def (THead TMP_11 w TMP_12) in (sc3 g a1 d
+TMP_13))))))))) in (let TMP_15 \def (AHead a0 a1) in (let TMP_16 \def (arity
+g c t TMP_15) in (let TMP_17 \def (\lambda (H3: (arity g c t (AHead a0
+a1))).(\lambda (_: ((\forall (d: C).(\forall (w: T).((sc3 g a0 d w) \to
+(\forall (is: PList).((drop1 is d c) \to (sc3 g a1 d (THead (Flat Appl) w
+(lift1 is t)))))))))).H3)) in (land_ind TMP_10 TMP_14 TMP_16 TMP_17
+H2))))))))))))) in (A_ind TMP_1 TMP_8 TMP_18 a))))))).
theorem sc3_repl:
\forall (g: G).(\forall (a1: A).(\forall (c: C).(\forall (t: T).((sc3 g a1 c
t) \to (\forall (a2: A).((leq g a1 a2) \to (sc3 g a2 c t)))))))
\def
- \lambda (g: G).(\lambda (a1: A).(llt_wf_ind (\lambda (a: A).(\forall (c:
+ \lambda (g: G).(\lambda (a1: A).(let TMP_1 \def (\lambda (a: A).(\forall (c:
C).(\forall (t: T).((sc3 g a c t) \to (\forall (a2: A).((leq g a a2) \to (sc3
-g a2 c t))))))) (\lambda (a2: A).(A_ind (\lambda (a: A).(((\forall (a3:
-A).((llt a3 a) \to (\forall (c: C).(\forall (t: T).((sc3 g a3 c t) \to
-(\forall (a4: A).((leq g a3 a4) \to (sc3 g a4 c t))))))))) \to (\forall (c:
-C).(\forall (t: T).((sc3 g a c t) \to (\forall (a3: A).((leq g a a3) \to (sc3
-g a3 c t)))))))) (\lambda (n: nat).(\lambda (n0: nat).(\lambda (_: ((\forall
-(a3: A).((llt a3 (ASort n n0)) \to (\forall (c: C).(\forall (t: T).((sc3 g a3
-c t) \to (\forall (a4: A).((leq g a3 a4) \to (sc3 g a4 c t)))))))))).(\lambda
-(c: C).(\lambda (t: T).(\lambda (H0: (land (arity g c t (ASort n n0)) (sn3 c
-t))).(\lambda (a3: A).(\lambda (H1: (leq g (ASort n n0) a3)).(let H2 \def H0
-in (land_ind (arity g c t (ASort n n0)) (sn3 c t) (sc3 g a3 c t) (\lambda
-(H3: (arity g c t (ASort n n0))).(\lambda (H4: (sn3 c t)).(let H_y \def
-(arity_repl g c t (ASort n n0) H3 a3 H1) in (let H_x \def (leq_gen_sort1 g n
-n0 a3 H1) in (let H5 \def H_x in (ex2_3_ind nat nat nat (\lambda (n2:
-nat).(\lambda (h2: nat).(\lambda (k: nat).(eq A (aplus g (ASort n n0) k)
-(aplus g (ASort h2 n2) k))))) (\lambda (n2: nat).(\lambda (h2: nat).(\lambda
-(_: nat).(eq A a3 (ASort h2 n2))))) (sc3 g a3 c t) (\lambda (x0:
-nat).(\lambda (x1: nat).(\lambda (x2: nat).(\lambda (_: (eq A (aplus g (ASort
-n n0) x2) (aplus g (ASort x1 x0) x2))).(\lambda (H7: (eq A a3 (ASort x1
-x0))).(let H8 \def (f_equal A A (\lambda (e: A).e) a3 (ASort x1 x0) H7) in
-(let H9 \def (eq_ind A a3 (\lambda (a: A).(arity g c t a)) H_y (ASort x1 x0)
-H8) in (eq_ind_r A (ASort x1 x0) (\lambda (a: A).(sc3 g a c t)) (conj (arity
-g c t (ASort x1 x0)) (sn3 c t) H9 H4) a3 H8)))))))) H5)))))) H2))))))))))
-(\lambda (a: A).(\lambda (_: ((((\forall (a3: A).((llt a3 a) \to (\forall (c:
-C).(\forall (t: T).((sc3 g a3 c t) \to (\forall (a4: A).((leq g a3 a4) \to
-(sc3 g a4 c t))))))))) \to (\forall (c: C).(\forall (t: T).((sc3 g a c t) \to
-(\forall (a3: A).((leq g a a3) \to (sc3 g a3 c t))))))))).(\lambda (a0:
-A).(\lambda (H0: ((((\forall (a3: A).((llt a3 a0) \to (\forall (c:
-C).(\forall (t: T).((sc3 g a3 c t) \to (\forall (a4: A).((leq g a3 a4) \to
-(sc3 g a4 c t))))))))) \to (\forall (c: C).(\forall (t: T).((sc3 g a0 c t)
-\to (\forall (a3: A).((leq g a0 a3) \to (sc3 g a3 c t))))))))).(\lambda (H1:
-((\forall (a3: A).((llt a3 (AHead a a0)) \to (\forall (c: C).(\forall (t:
+g a2 c t))))))) in (let TMP_73 \def (\lambda (a2: A).(let TMP_2 \def (\lambda
+(a: A).(((\forall (a3: A).((llt a3 a) \to (\forall (c: C).(\forall (t:
T).((sc3 g a3 c t) \to (\forall (a4: A).((leq g a3 a4) \to (sc3 g a4 c
-t)))))))))).(\lambda (c: C).(\lambda (t: T).(\lambda (H2: (land (arity g c t
-(AHead a a0)) (\forall (d: C).(\forall (w: T).((sc3 g a d w) \to (\forall
-(is: PList).((drop1 is d c) \to (sc3 g a0 d (THead (Flat Appl) w (lift1 is
+t))))))))) \to (\forall (c: C).(\forall (t: T).((sc3 g a c t) \to (\forall
+(a3: A).((leq g a a3) \to (sc3 g a3 c t)))))))) in (let TMP_28 \def (\lambda
+(n: nat).(\lambda (n0: nat).(\lambda (_: ((\forall (a3: A).((llt a3 (ASort n
+n0)) \to (\forall (c: C).(\forall (t: T).((sc3 g a3 c t) \to (\forall (a4:
+A).((leq g a3 a4) \to (sc3 g a4 c t)))))))))).(\lambda (c: C).(\lambda (t:
+T).(\lambda (H0: (land (arity g c t (ASort n n0)) (sn3 c t))).(\lambda (a3:
+A).(\lambda (H1: (leq g (ASort n n0) a3)).(let H2 \def H0 in (let TMP_3 \def
+(ASort n n0) in (let TMP_4 \def (arity g c t TMP_3) in (let TMP_5 \def (sn3 c
+t) in (let TMP_6 \def (sc3 g a3 c t) in (let TMP_27 \def (\lambda (H3: (arity
+g c t (ASort n n0))).(\lambda (H4: (sn3 c t)).(let TMP_7 \def (ASort n n0) in
+(let H_y \def (arity_repl g c t TMP_7 H3 a3 H1) in (let H_x \def
+(leq_gen_sort1 g n n0 a3 H1) in (let H5 \def H_x in (let TMP_12 \def (\lambda
+(n2: nat).(\lambda (h2: nat).(\lambda (k: nat).(let TMP_8 \def (ASort n n0)
+in (let TMP_9 \def (aplus g TMP_8 k) in (let TMP_10 \def (ASort h2 n2) in
+(let TMP_11 \def (aplus g TMP_10 k) in (eq A TMP_9 TMP_11)))))))) in (let
+TMP_14 \def (\lambda (n2: nat).(\lambda (h2: nat).(\lambda (_: nat).(let
+TMP_13 \def (ASort h2 n2) in (eq A a3 TMP_13))))) in (let TMP_15 \def (sc3 g
+a3 c t) in (let TMP_26 \def (\lambda (x0: nat).(\lambda (x1: nat).(\lambda
+(x2: nat).(\lambda (_: (eq A (aplus g (ASort n n0) x2) (aplus g (ASort x1 x0)
+x2))).(\lambda (H7: (eq A a3 (ASort x1 x0))).(let TMP_16 \def (\lambda (e:
+A).e) in (let TMP_17 \def (ASort x1 x0) in (let H8 \def (f_equal A A TMP_16
+a3 TMP_17 H7) in (let TMP_18 \def (\lambda (a: A).(arity g c t a)) in (let
+TMP_19 \def (ASort x1 x0) in (let H9 \def (eq_ind A a3 TMP_18 H_y TMP_19 H8)
+in (let TMP_20 \def (ASort x1 x0) in (let TMP_21 \def (\lambda (a: A).(sc3 g
+a c t)) in (let TMP_22 \def (ASort x1 x0) in (let TMP_23 \def (arity g c t
+TMP_22) in (let TMP_24 \def (sn3 c t) in (let TMP_25 \def (conj TMP_23 TMP_24
+H9 H4) in (eq_ind_r A TMP_20 TMP_21 TMP_25 a3 H8)))))))))))))))))) in
+(ex2_3_ind nat nat nat TMP_12 TMP_14 TMP_15 TMP_26 H5))))))))))) in (land_ind
+TMP_4 TMP_5 TMP_6 TMP_27 H2))))))))))))))) in (let TMP_72 \def (\lambda (a:
+A).(\lambda (_: ((((\forall (a3: A).((llt a3 a) \to (\forall (c: C).(\forall
+(t: T).((sc3 g a3 c t) \to (\forall (a4: A).((leq g a3 a4) \to (sc3 g a4 c
+t))))))))) \to (\forall (c: C).(\forall (t: T).((sc3 g a c t) \to (\forall
+(a3: A).((leq g a a3) \to (sc3 g a3 c t))))))))).(\lambda (a0: A).(\lambda
+(H0: ((((\forall (a3: A).((llt a3 a0) \to (\forall (c: C).(\forall (t:
+T).((sc3 g a3 c t) \to (\forall (a4: A).((leq g a3 a4) \to (sc3 g a4 c
+t))))))))) \to (\forall (c: C).(\forall (t: T).((sc3 g a0 c t) \to (\forall
+(a3: A).((leq g a0 a3) \to (sc3 g a3 c t))))))))).(\lambda (H1: ((\forall
+(a3: A).((llt a3 (AHead a a0)) \to (\forall (c: C).(\forall (t: T).((sc3 g a3
+c t) \to (\forall (a4: A).((leq g a3 a4) \to (sc3 g a4 c t)))))))))).(\lambda
+(c: C).(\lambda (t: T).(\lambda (H2: (land (arity g c t (AHead a a0))
+(\forall (d: C).(\forall (w: T).((sc3 g a d w) \to (\forall (is:
+PList).((drop1 is d c) \to (sc3 g a0 d (THead (Flat Appl) w (lift1 is
t)))))))))).(\lambda (a3: A).(\lambda (H3: (leq g (AHead a a0) a3)).(let H4
-\def H2 in (land_ind (arity g c t (AHead a a0)) (\forall (d: C).(\forall (w:
-T).((sc3 g a d w) \to (\forall (is: PList).((drop1 is d c) \to (sc3 g a0 d
-(THead (Flat Appl) w (lift1 is t)))))))) (sc3 g a3 c t) (\lambda (H5: (arity
-g c t (AHead a a0))).(\lambda (H6: ((\forall (d: C).(\forall (w: T).((sc3 g a
-d w) \to (\forall (is: PList).((drop1 is d c) \to (sc3 g a0 d (THead (Flat
-Appl) w (lift1 is t)))))))))).(let H_x \def (leq_gen_head1 g a a0 a3 H3) in
-(let H7 \def H_x in (ex3_2_ind A A (\lambda (a4: A).(\lambda (_: A).(leq g a
-a4))) (\lambda (_: A).(\lambda (a5: A).(leq g a0 a5))) (\lambda (a4:
-A).(\lambda (a5: A).(eq A a3 (AHead a4 a5)))) (sc3 g a3 c t) (\lambda (x0:
-A).(\lambda (x1: A).(\lambda (H8: (leq g a x0)).(\lambda (H9: (leq g a0
-x1)).(\lambda (H10: (eq A a3 (AHead x0 x1))).(let H11 \def (f_equal A A
-(\lambda (e: A).e) a3 (AHead x0 x1) H10) in (eq_ind_r A (AHead x0 x1)
-(\lambda (a4: A).(sc3 g a4 c t)) (conj (arity g c t (AHead x0 x1)) (\forall
-(d: C).(\forall (w: T).((sc3 g x0 d w) \to (\forall (is: PList).((drop1 is d
-c) \to (sc3 g x1 d (THead (Flat Appl) w (lift1 is t)))))))) (arity_repl g c t
-(AHead a a0) H5 (AHead x0 x1) (leq_head g a x0 H8 a0 x1 H9)) (\lambda (d:
-C).(\lambda (w: T).(\lambda (H12: (sc3 g x0 d w)).(\lambda (is:
-PList).(\lambda (H13: (drop1 is d c)).(H0 (\lambda (a4: A).(\lambda (H14:
-(llt a4 a0)).(\lambda (c0: C).(\lambda (t0: T).(\lambda (H15: (sc3 g a4 c0
-t0)).(\lambda (a5: A).(\lambda (H16: (leq g a4 a5)).(H1 a4 (llt_trans a4 a0
-(AHead a a0) H14 (llt_head_dx a a0)) c0 t0 H15 a5 H16)))))))) d (THead (Flat
-Appl) w (lift1 is t)) (H6 d w (H1 x0 (llt_repl g a x0 H8 (AHead a a0)
-(llt_head_sx a a0)) d w H12 a (leq_sym g a x0 H8)) is H13) x1 H9))))))) a3
-H11))))))) H7))))) H4)))))))))))) a2)) a1)).
-(* COMMENTS
-Initial nodes: 1359
-END *)
+\def H2 in (let TMP_29 \def (AHead a a0) in (let TMP_30 \def (arity g c t
+TMP_29) in (let TMP_34 \def (\forall (d: C).(\forall (w: T).((sc3 g a d w)
+\to (\forall (is: PList).((drop1 is d c) \to (let TMP_31 \def (Flat Appl) in
+(let TMP_32 \def (lift1 is t) in (let TMP_33 \def (THead TMP_31 w TMP_32) in
+(sc3 g a0 d TMP_33))))))))) in (let TMP_35 \def (sc3 g a3 c t) in (let TMP_71
+\def (\lambda (H5: (arity g c t (AHead a a0))).(\lambda (H6: ((\forall (d:
+C).(\forall (w: T).((sc3 g a d w) \to (\forall (is: PList).((drop1 is d c)
+\to (sc3 g a0 d (THead (Flat Appl) w (lift1 is t)))))))))).(let H_x \def
+(leq_gen_head1 g a a0 a3 H3) in (let H7 \def H_x in (let TMP_36 \def (\lambda
+(a4: A).(\lambda (_: A).(leq g a a4))) in (let TMP_37 \def (\lambda (_:
+A).(\lambda (a5: A).(leq g a0 a5))) in (let TMP_39 \def (\lambda (a4:
+A).(\lambda (a5: A).(let TMP_38 \def (AHead a4 a5) in (eq A a3 TMP_38)))) in
+(let TMP_40 \def (sc3 g a3 c t) in (let TMP_70 \def (\lambda (x0: A).(\lambda
+(x1: A).(\lambda (H8: (leq g a x0)).(\lambda (H9: (leq g a0 x1)).(\lambda
+(H10: (eq A a3 (AHead x0 x1))).(let TMP_41 \def (\lambda (e: A).e) in (let
+TMP_42 \def (AHead x0 x1) in (let H11 \def (f_equal A A TMP_41 a3 TMP_42 H10)
+in (let TMP_43 \def (AHead x0 x1) in (let TMP_44 \def (\lambda (a4: A).(sc3 g
+a4 c t)) in (let TMP_45 \def (AHead x0 x1) in (let TMP_46 \def (arity g c t
+TMP_45) in (let TMP_50 \def (\forall (d: C).(\forall (w: T).((sc3 g x0 d w)
+\to (\forall (is: PList).((drop1 is d c) \to (let TMP_47 \def (Flat Appl) in
+(let TMP_48 \def (lift1 is t) in (let TMP_49 \def (THead TMP_47 w TMP_48) in
+(sc3 g x1 d TMP_49))))))))) in (let TMP_51 \def (AHead a a0) in (let TMP_52
+\def (AHead x0 x1) in (let TMP_53 \def (leq_head g a x0 H8 a0 x1 H9) in (let
+TMP_54 \def (arity_repl g c t TMP_51 H5 TMP_52 TMP_53) in (let TMP_68 \def
+(\lambda (d: C).(\lambda (w: T).(\lambda (H12: (sc3 g x0 d w)).(\lambda (is:
+PList).(\lambda (H13: (drop1 is d c)).(let TMP_58 \def (\lambda (a4:
+A).(\lambda (H14: (llt a4 a0)).(\lambda (c0: C).(\lambda (t0: T).(\lambda
+(H15: (sc3 g a4 c0 t0)).(\lambda (a5: A).(\lambda (H16: (leq g a4 a5)).(let
+TMP_55 \def (AHead a a0) in (let TMP_56 \def (llt_head_dx a a0) in (let
+TMP_57 \def (llt_trans a4 a0 TMP_55 H14 TMP_56) in (H1 a4 TMP_57 c0 t0 H15 a5
+H16))))))))))) in (let TMP_59 \def (Flat Appl) in (let TMP_60 \def (lift1 is
+t) in (let TMP_61 \def (THead TMP_59 w TMP_60) in (let TMP_62 \def (AHead a
+a0) in (let TMP_63 \def (llt_head_sx a a0) in (let TMP_64 \def (llt_repl g a
+x0 H8 TMP_62 TMP_63) in (let TMP_65 \def (leq_sym g a x0 H8) in (let TMP_66
+\def (H1 x0 TMP_64 d w H12 a TMP_65) in (let TMP_67 \def (H6 d w TMP_66 is
+H13) in (H0 TMP_58 d TMP_61 TMP_67 x1 H9)))))))))))))))) in (let TMP_69 \def
+(conj TMP_46 TMP_50 TMP_54 TMP_68) in (eq_ind_r A TMP_43 TMP_44 TMP_69 a3
+H11)))))))))))))))))))) in (ex3_2_ind A A TMP_36 TMP_37 TMP_39 TMP_40 TMP_70
+H7)))))))))) in (land_ind TMP_30 TMP_34 TMP_35 TMP_71 H4))))))))))))))))) in
+(A_ind TMP_2 TMP_28 TMP_72 a2))))) in (llt_wf_ind TMP_1 TMP_73 a1)))).
theorem sc3_lift:
\forall (g: G).(\forall (a: A).(\forall (e: C).(\forall (t: T).((sc3 g a e
t) \to (\forall (c: C).(\forall (h: nat).(\forall (d: nat).((drop h d c e)
\to (sc3 g a c (lift h d t))))))))))
\def
- \lambda (g: G).(\lambda (a: A).(A_ind (\lambda (a0: A).(\forall (e:
+ \lambda (g: G).(\lambda (a: A).(let TMP_2 \def (\lambda (a0: A).(\forall (e:
C).(\forall (t: T).((sc3 g a0 e t) \to (\forall (c: C).(\forall (h:
-nat).(\forall (d: nat).((drop h d c e) \to (sc3 g a0 c (lift h d t))))))))))
-(\lambda (n: nat).(\lambda (n0: nat).(\lambda (e: C).(\lambda (t: T).(\lambda
-(H: (land (arity g e t (ASort n n0)) (sn3 e t))).(\lambda (c: C).(\lambda (h:
-nat).(\lambda (d: nat).(\lambda (H0: (drop h d c e)).(let H1 \def H in
-(land_ind (arity g e t (ASort n n0)) (sn3 e t) (land (arity g c (lift h d t)
-(ASort n n0)) (sn3 c (lift h d t))) (\lambda (H2: (arity g e t (ASort n
-n0))).(\lambda (H3: (sn3 e t)).(conj (arity g c (lift h d t) (ASort n n0))
-(sn3 c (lift h d t)) (arity_lift g e t (ASort n n0) H2 c h d H0) (sn3_lift e
-t H3 c h d H0)))) H1))))))))))) (\lambda (a0: A).(\lambda (_: ((\forall (e:
-C).(\forall (t: T).((sc3 g a0 e t) \to (\forall (c: C).(\forall (h:
-nat).(\forall (d: nat).((drop h d c e) \to (sc3 g a0 c (lift h d
-t))))))))))).(\lambda (a1: A).(\lambda (_: ((\forall (e: C).(\forall (t:
-T).((sc3 g a1 e t) \to (\forall (c: C).(\forall (h: nat).(\forall (d:
-nat).((drop h d c e) \to (sc3 g a1 c (lift h d t))))))))))).(\lambda (e:
-C).(\lambda (t: T).(\lambda (H1: (land (arity g e t (AHead a0 a1)) (\forall
-(d: C).(\forall (w: T).((sc3 g a0 d w) \to (\forall (is: PList).((drop1 is d
-e) \to (sc3 g a1 d (THead (Flat Appl) w (lift1 is t)))))))))).(\lambda (c:
-C).(\lambda (h: nat).(\lambda (d: nat).(\lambda (H2: (drop h d c e)).(let H3
-\def H1 in (land_ind (arity g e t (AHead a0 a1)) (\forall (d0: C).(\forall
-(w: T).((sc3 g a0 d0 w) \to (\forall (is: PList).((drop1 is d0 e) \to (sc3 g
-a1 d0 (THead (Flat Appl) w (lift1 is t)))))))) (land (arity g c (lift h d t)
-(AHead a0 a1)) (\forall (d0: C).(\forall (w: T).((sc3 g a0 d0 w) \to (\forall
-(is: PList).((drop1 is d0 c) \to (sc3 g a1 d0 (THead (Flat Appl) w (lift1 is
-(lift h d t)))))))))) (\lambda (H4: (arity g e t (AHead a0 a1))).(\lambda
-(H5: ((\forall (d0: C).(\forall (w: T).((sc3 g a0 d0 w) \to (\forall (is:
-PList).((drop1 is d0 e) \to (sc3 g a1 d0 (THead (Flat Appl) w (lift1 is
-t)))))))))).(conj (arity g c (lift h d t) (AHead a0 a1)) (\forall (d0:
-C).(\forall (w: T).((sc3 g a0 d0 w) \to (\forall (is: PList).((drop1 is d0 c)
-\to (sc3 g a1 d0 (THead (Flat Appl) w (lift1 is (lift h d t)))))))))
-(arity_lift g e t (AHead a0 a1) H4 c h d H2) (\lambda (d0: C).(\lambda (w:
+nat).(\forall (d: nat).((drop h d c e) \to (let TMP_1 \def (lift h d t) in
+(sc3 g a0 c TMP_1)))))))))) in (let TMP_21 \def (\lambda (n: nat).(\lambda
+(n0: nat).(\lambda (e: C).(\lambda (t: T).(\lambda (H: (land (arity g e t
+(ASort n n0)) (sn3 e t))).(\lambda (c: C).(\lambda (h: nat).(\lambda (d:
+nat).(\lambda (H0: (drop h d c e)).(let H1 \def H in (let TMP_3 \def (ASort n
+n0) in (let TMP_4 \def (arity g e t TMP_3) in (let TMP_5 \def (sn3 e t) in
+(let TMP_6 \def (lift h d t) in (let TMP_7 \def (ASort n n0) in (let TMP_8
+\def (arity g c TMP_6 TMP_7) in (let TMP_9 \def (lift h d t) in (let TMP_10
+\def (sn3 c TMP_9) in (let TMP_11 \def (land TMP_8 TMP_10) in (let TMP_20
+\def (\lambda (H2: (arity g e t (ASort n n0))).(\lambda (H3: (sn3 e t)).(let
+TMP_12 \def (lift h d t) in (let TMP_13 \def (ASort n n0) in (let TMP_14 \def
+(arity g c TMP_12 TMP_13) in (let TMP_15 \def (lift h d t) in (let TMP_16
+\def (sn3 c TMP_15) in (let TMP_17 \def (ASort n n0) in (let TMP_18 \def
+(arity_lift g e t TMP_17 H2 c h d H0) in (let TMP_19 \def (sn3_lift e t H3 c
+h d H0) in (conj TMP_14 TMP_16 TMP_18 TMP_19))))))))))) in (land_ind TMP_4
+TMP_5 TMP_11 TMP_20 H1))))))))))))))))))))) in (let TMP_60 \def (\lambda (a0:
+A).(\lambda (_: ((\forall (e: C).(\forall (t: T).((sc3 g a0 e t) \to (\forall
+(c: C).(\forall (h: nat).(\forall (d: nat).((drop h d c e) \to (sc3 g a0 c
+(lift h d t))))))))))).(\lambda (a1: A).(\lambda (_: ((\forall (e:
+C).(\forall (t: T).((sc3 g a1 e t) \to (\forall (c: C).(\forall (h:
+nat).(\forall (d: nat).((drop h d c e) \to (sc3 g a1 c (lift h d
+t))))))))))).(\lambda (e: C).(\lambda (t: T).(\lambda (H1: (land (arity g e t
+(AHead a0 a1)) (\forall (d: C).(\forall (w: T).((sc3 g a0 d w) \to (\forall
+(is: PList).((drop1 is d e) \to (sc3 g a1 d (THead (Flat Appl) w (lift1 is
+t)))))))))).(\lambda (c: C).(\lambda (h: nat).(\lambda (d: nat).(\lambda (H2:
+(drop h d c e)).(let H3 \def H1 in (let TMP_22 \def (AHead a0 a1) in (let
+TMP_23 \def (arity g e t TMP_22) in (let TMP_27 \def (\forall (d0:
+C).(\forall (w: T).((sc3 g a0 d0 w) \to (\forall (is: PList).((drop1 is d0 e)
+\to (let TMP_24 \def (Flat Appl) in (let TMP_25 \def (lift1 is t) in (let
+TMP_26 \def (THead TMP_24 w TMP_25) in (sc3 g a1 d0 TMP_26))))))))) in (let
+TMP_28 \def (lift h d t) in (let TMP_29 \def (AHead a0 a1) in (let TMP_30
+\def (arity g c TMP_28 TMP_29) in (let TMP_35 \def (\forall (d0: C).(\forall
+(w: T).((sc3 g a0 d0 w) \to (\forall (is: PList).((drop1 is d0 c) \to (let
+TMP_31 \def (Flat Appl) in (let TMP_32 \def (lift h d t) in (let TMP_33 \def
+(lift1 is TMP_32) in (let TMP_34 \def (THead TMP_31 w TMP_33) in (sc3 g a1 d0
+TMP_34)))))))))) in (let TMP_36 \def (land TMP_30 TMP_35) in (let TMP_59 \def
+(\lambda (H4: (arity g e t (AHead a0 a1))).(\lambda (H5: ((\forall (d0:
+C).(\forall (w: T).((sc3 g a0 d0 w) \to (\forall (is: PList).((drop1 is d0 e)
+\to (sc3 g a1 d0 (THead (Flat Appl) w (lift1 is t)))))))))).(let TMP_37 \def
+(lift h d t) in (let TMP_38 \def (AHead a0 a1) in (let TMP_39 \def (arity g c
+TMP_37 TMP_38) in (let TMP_44 \def (\forall (d0: C).(\forall (w: T).((sc3 g
+a0 d0 w) \to (\forall (is: PList).((drop1 is d0 c) \to (let TMP_40 \def (Flat
+Appl) in (let TMP_41 \def (lift h d t) in (let TMP_42 \def (lift1 is TMP_41)
+in (let TMP_43 \def (THead TMP_40 w TMP_42) in (sc3 g a1 d0 TMP_43))))))))))
+in (let TMP_45 \def (AHead a0 a1) in (let TMP_46 \def (arity_lift g e t
+TMP_45 H4 c h d H2) in (let TMP_58 \def (\lambda (d0: C).(\lambda (w:
T).(\lambda (H6: (sc3 g a0 d0 w)).(\lambda (is: PList).(\lambda (H7: (drop1
-is d0 c)).(let H_y \def (H5 d0 w H6 (PConsTail is h d)) in (eq_ind T (lift1
-(PConsTail is h d) t) (\lambda (t0: T).(sc3 g a1 d0 (THead (Flat Appl) w
-t0))) (H_y (drop1_cons_tail c e h d H2 is d0 H7)) (lift1 is (lift h d t))
-(lift1_cons_tail t h d is))))))))))) H3))))))))))))) a)).
-(* COMMENTS
-Initial nodes: 849
-END *)
+is d0 c)).(let TMP_47 \def (PConsTail is h d) in (let H_y \def (H5 d0 w H6
+TMP_47) in (let TMP_48 \def (PConsTail is h d) in (let TMP_49 \def (lift1
+TMP_48 t) in (let TMP_52 \def (\lambda (t0: T).(let TMP_50 \def (Flat Appl)
+in (let TMP_51 \def (THead TMP_50 w t0) in (sc3 g a1 d0 TMP_51)))) in (let
+TMP_53 \def (drop1_cons_tail c e h d H2 is d0 H7) in (let TMP_54 \def (H_y
+TMP_53) in (let TMP_55 \def (lift h d t) in (let TMP_56 \def (lift1 is
+TMP_55) in (let TMP_57 \def (lift1_cons_tail t h d is) in (eq_ind T TMP_49
+TMP_52 TMP_54 TMP_56 TMP_57)))))))))))))))) in (conj TMP_39 TMP_44 TMP_46
+TMP_58)))))))))) in (land_ind TMP_23 TMP_27 TMP_36 TMP_59
+H3)))))))))))))))))))))) in (A_ind TMP_2 TMP_21 TMP_60 a))))).
theorem sc3_lift1:
\forall (g: G).(\forall (e: C).(\forall (a: A).(\forall (hds:
PList).(\forall (c: C).(\forall (t: T).((sc3 g a e t) \to ((drop1 hds c e)
\to (sc3 g a c (lift1 hds t)))))))))
\def
- \lambda (g: G).(\lambda (e: C).(\lambda (a: A).(\lambda (hds:
-PList).(PList_ind (\lambda (p: PList).(\forall (c: C).(\forall (t: T).((sc3 g
-a e t) \to ((drop1 p c e) \to (sc3 g a c (lift1 p t))))))) (\lambda (c:
-C).(\lambda (t: T).(\lambda (H: (sc3 g a e t)).(\lambda (H0: (drop1 PNil c
-e)).(let H_y \def (drop1_gen_pnil c e H0) in (eq_ind_r C e (\lambda (c0:
-C).(sc3 g a c0 t)) H c H_y)))))) (\lambda (n: nat).(\lambda (n0:
-nat).(\lambda (p: PList).(\lambda (H: ((\forall (c: C).(\forall (t: T).((sc3
-g a e t) \to ((drop1 p c e) \to (sc3 g a c (lift1 p t)))))))).(\lambda (c:
-C).(\lambda (t: T).(\lambda (H0: (sc3 g a e t)).(\lambda (H1: (drop1 (PCons n
-n0 p) c e)).(let H_x \def (drop1_gen_pcons c e p n n0 H1) in (let H2 \def H_x
-in (ex2_ind C (\lambda (c2: C).(drop n n0 c c2)) (\lambda (c2: C).(drop1 p c2
-e)) (sc3 g a c (lift n n0 (lift1 p t))) (\lambda (x: C).(\lambda (H3: (drop n
-n0 c x)).(\lambda (H4: (drop1 p x e)).(sc3_lift g a x (lift1 p t) (H x t H0
-H4) c n n0 H3)))) H2))))))))))) hds)))).
-(* COMMENTS
-Initial nodes: 289
-END *)
+ \lambda (g: G).(\lambda (e: C).(\lambda (a: A).(\lambda (hds: PList).(let
+TMP_2 \def (\lambda (p: PList).(\forall (c: C).(\forall (t: T).((sc3 g a e t)
+\to ((drop1 p c e) \to (let TMP_1 \def (lift1 p t) in (sc3 g a c TMP_1)))))))
+in (let TMP_4 \def (\lambda (c: C).(\lambda (t: T).(\lambda (H: (sc3 g a e
+t)).(\lambda (H0: (drop1 PNil c e)).(let H_y \def (drop1_gen_pnil c e H0) in
+(let TMP_3 \def (\lambda (c0: C).(sc3 g a c0 t)) in (eq_ind_r C e TMP_3 H c
+H_y))))))) in (let TMP_13 \def (\lambda (n: nat).(\lambda (n0: nat).(\lambda
+(p: PList).(\lambda (H: ((\forall (c: C).(\forall (t: T).((sc3 g a e t) \to
+((drop1 p c e) \to (sc3 g a c (lift1 p t)))))))).(\lambda (c: C).(\lambda (t:
+T).(\lambda (H0: (sc3 g a e t)).(\lambda (H1: (drop1 (PCons n n0 p) c
+e)).(let H_x \def (drop1_gen_pcons c e p n n0 H1) in (let H2 \def H_x in (let
+TMP_5 \def (\lambda (c2: C).(drop n n0 c c2)) in (let TMP_6 \def (\lambda
+(c2: C).(drop1 p c2 e)) in (let TMP_7 \def (lift1 p t) in (let TMP_8 \def
+(lift n n0 TMP_7) in (let TMP_9 \def (sc3 g a c TMP_8) in (let TMP_12 \def
+(\lambda (x: C).(\lambda (H3: (drop n n0 c x)).(\lambda (H4: (drop1 p x
+e)).(let TMP_10 \def (lift1 p t) in (let TMP_11 \def (H x t H0 H4) in
+(sc3_lift g a x TMP_10 TMP_11 c n n0 H3)))))) in (ex2_ind C TMP_5 TMP_6 TMP_9
+TMP_12 H2))))))))))))))))) in (PList_ind TMP_2 TMP_4 TMP_13 hds))))))).
theorem sc3_abbr:
\forall (g: G).(\forall (a: A).(\forall (vs: TList).(\forall (i:
(Flat Appl) vs (lift (S i) O v))) \to ((getl i c (CHead d (Bind Abbr) v)) \to
(sc3 g a c (THeads (Flat Appl) vs (TLRef i)))))))))))
\def
- \lambda (g: G).(\lambda (a: A).(A_ind (\lambda (a0: A).(\forall (vs:
-TList).(\forall (i: nat).(\forall (d: C).(\forall (v: T).(\forall (c:
+ \lambda (g: G).(\lambda (a: A).(let TMP_4 \def (\lambda (a0: A).(\forall
+(vs: TList).(\forall (i: nat).(\forall (d: C).(\forall (v: T).(\forall (c:
C).((sc3 g a0 c (THeads (Flat Appl) vs (lift (S i) O v))) \to ((getl i c
-(CHead d (Bind Abbr) v)) \to (sc3 g a0 c (THeads (Flat Appl) vs (TLRef
-i))))))))))) (\lambda (n: nat).(\lambda (n0: nat).(\lambda (vs:
-TList).(\lambda (i: nat).(\lambda (d: C).(\lambda (v: T).(\lambda (c:
-C).(\lambda (H: (land (arity g c (THeads (Flat Appl) vs (lift (S i) O v))
-(ASort n n0)) (sn3 c (THeads (Flat Appl) vs (lift (S i) O v))))).(\lambda
-(H0: (getl i c (CHead d (Bind Abbr) v))).(let H1 \def H in (land_ind (arity g
-c (THeads (Flat Appl) vs (lift (S i) O v)) (ASort n n0)) (sn3 c (THeads (Flat
-Appl) vs (lift (S i) O v))) (land (arity g c (THeads (Flat Appl) vs (TLRef
-i)) (ASort n n0)) (sn3 c (THeads (Flat Appl) vs (TLRef i)))) (\lambda (H2:
-(arity g c (THeads (Flat Appl) vs (lift (S i) O v)) (ASort n n0))).(\lambda
-(H3: (sn3 c (THeads (Flat Appl) vs (lift (S i) O v)))).(conj (arity g c
-(THeads (Flat Appl) vs (TLRef i)) (ASort n n0)) (sn3 c (THeads (Flat Appl) vs
-(TLRef i))) (arity_appls_abbr g c d v i H0 vs (ASort n n0) H2)
-(sn3_appls_abbr c d v i H0 vs H3)))) H1))))))))))) (\lambda (a0: A).(\lambda
-(_: ((\forall (vs: TList).(\forall (i: nat).(\forall (d: C).(\forall (v:
-T).(\forall (c: C).((sc3 g a0 c (THeads (Flat Appl) vs (lift (S i) O v))) \to
-((getl i c (CHead d (Bind Abbr) v)) \to (sc3 g a0 c (THeads (Flat Appl) vs
-(TLRef i)))))))))))).(\lambda (a1: A).(\lambda (H0: ((\forall (vs:
-TList).(\forall (i: nat).(\forall (d: C).(\forall (v: T).(\forall (c:
+(CHead d (Bind Abbr) v)) \to (let TMP_1 \def (Flat Appl) in (let TMP_2 \def
+(TLRef i) in (let TMP_3 \def (THeads TMP_1 vs TMP_2) in (sc3 g a0 c
+TMP_3)))))))))))) in (let TMP_39 \def (\lambda (n: nat).(\lambda (n0:
+nat).(\lambda (vs: TList).(\lambda (i: nat).(\lambda (d: C).(\lambda (v:
+T).(\lambda (c: C).(\lambda (H: (land (arity g c (THeads (Flat Appl) vs (lift
+(S i) O v)) (ASort n n0)) (sn3 c (THeads (Flat Appl) vs (lift (S i) O
+v))))).(\lambda (H0: (getl i c (CHead d (Bind Abbr) v))).(let H1 \def H in
+(let TMP_5 \def (Flat Appl) in (let TMP_6 \def (S i) in (let TMP_7 \def (lift
+TMP_6 O v) in (let TMP_8 \def (THeads TMP_5 vs TMP_7) in (let TMP_9 \def
+(ASort n n0) in (let TMP_10 \def (arity g c TMP_8 TMP_9) in (let TMP_11 \def
+(Flat Appl) in (let TMP_12 \def (S i) in (let TMP_13 \def (lift TMP_12 O v)
+in (let TMP_14 \def (THeads TMP_11 vs TMP_13) in (let TMP_15 \def (sn3 c
+TMP_14) in (let TMP_16 \def (Flat Appl) in (let TMP_17 \def (TLRef i) in (let
+TMP_18 \def (THeads TMP_16 vs TMP_17) in (let TMP_19 \def (ASort n n0) in
+(let TMP_20 \def (arity g c TMP_18 TMP_19) in (let TMP_21 \def (Flat Appl) in
+(let TMP_22 \def (TLRef i) in (let TMP_23 \def (THeads TMP_21 vs TMP_22) in
+(let TMP_24 \def (sn3 c TMP_23) in (let TMP_25 \def (land TMP_20 TMP_24) in
+(let TMP_38 \def (\lambda (H2: (arity g c (THeads (Flat Appl) vs (lift (S i)
+O v)) (ASort n n0))).(\lambda (H3: (sn3 c (THeads (Flat Appl) vs (lift (S i)
+O v)))).(let TMP_26 \def (Flat Appl) in (let TMP_27 \def (TLRef i) in (let
+TMP_28 \def (THeads TMP_26 vs TMP_27) in (let TMP_29 \def (ASort n n0) in
+(let TMP_30 \def (arity g c TMP_28 TMP_29) in (let TMP_31 \def (Flat Appl) in
+(let TMP_32 \def (TLRef i) in (let TMP_33 \def (THeads TMP_31 vs TMP_32) in
+(let TMP_34 \def (sn3 c TMP_33) in (let TMP_35 \def (ASort n n0) in (let
+TMP_36 \def (arity_appls_abbr g c d v i H0 vs TMP_35 H2) in (let TMP_37 \def
+(sn3_appls_abbr c d v i H0 vs H3) in (conj TMP_30 TMP_34 TMP_36
+TMP_37))))))))))))))) in (land_ind TMP_10 TMP_15 TMP_25 TMP_38
+H1))))))))))))))))))))))))))))))))) in (let TMP_166 \def (\lambda (a0:
+A).(\lambda (_: ((\forall (vs: TList).(\forall (i: nat).(\forall (d:
+C).(\forall (v: T).(\forall (c: C).((sc3 g a0 c (THeads (Flat Appl) vs (lift
+(S i) O v))) \to ((getl i c (CHead d (Bind Abbr) v)) \to (sc3 g a0 c (THeads
+(Flat Appl) vs (TLRef i)))))))))))).(\lambda (a1: A).(\lambda (H0: ((\forall
+(vs: TList).(\forall (i: nat).(\forall (d: C).(\forall (v: T).(\forall (c:
C).((sc3 g a1 c (THeads (Flat Appl) vs (lift (S i) O v))) \to ((getl i c
(CHead d (Bind Abbr) v)) \to (sc3 g a1 c (THeads (Flat Appl) vs (TLRef
i)))))))))))).(\lambda (vs: TList).(\lambda (i: nat).(\lambda (d: C).(\lambda
(lift (S i) O v)) (AHead a0 a1)) (\forall (d0: C).(\forall (w: T).((sc3 g a0
d0 w) \to (\forall (is: PList).((drop1 is d0 c) \to (sc3 g a1 d0 (THead (Flat
Appl) w (lift1 is (THeads (Flat Appl) vs (lift (S i) O v)))))))))))).(\lambda
-(H2: (getl i c (CHead d (Bind Abbr) v))).(let H3 \def H1 in (land_ind (arity
-g c (THeads (Flat Appl) vs (lift (S i) O v)) (AHead a0 a1)) (\forall (d0:
+(H2: (getl i c (CHead d (Bind Abbr) v))).(let H3 \def H1 in (let TMP_40 \def
+(Flat Appl) in (let TMP_41 \def (S i) in (let TMP_42 \def (lift TMP_41 O v)
+in (let TMP_43 \def (THeads TMP_40 vs TMP_42) in (let TMP_44 \def (AHead a0
+a1) in (let TMP_45 \def (arity g c TMP_43 TMP_44) in (let TMP_53 \def
+(\forall (d0: C).(\forall (w: T).((sc3 g a0 d0 w) \to (\forall (is:
+PList).((drop1 is d0 c) \to (let TMP_46 \def (Flat Appl) in (let TMP_47 \def
+(Flat Appl) in (let TMP_48 \def (S i) in (let TMP_49 \def (lift TMP_48 O v)
+in (let TMP_50 \def (THeads TMP_47 vs TMP_49) in (let TMP_51 \def (lift1 is
+TMP_50) in (let TMP_52 \def (THead TMP_46 w TMP_51) in (sc3 g a1 d0
+TMP_52))))))))))))) in (let TMP_54 \def (Flat Appl) in (let TMP_55 \def
+(TLRef i) in (let TMP_56 \def (THeads TMP_54 vs TMP_55) in (let TMP_57 \def
+(AHead a0 a1) in (let TMP_58 \def (arity g c TMP_56 TMP_57) in (let TMP_65
+\def (\forall (d0: C).(\forall (w: T).((sc3 g a0 d0 w) \to (\forall (is:
+PList).((drop1 is d0 c) \to (let TMP_59 \def (Flat Appl) in (let TMP_60 \def
+(Flat Appl) in (let TMP_61 \def (TLRef i) in (let TMP_62 \def (THeads TMP_60
+vs TMP_61) in (let TMP_63 \def (lift1 is TMP_62) in (let TMP_64 \def (THead
+TMP_59 w TMP_63) in (sc3 g a1 d0 TMP_64)))))))))))) in (let TMP_66 \def (land
+TMP_58 TMP_65) in (let TMP_165 \def (\lambda (H4: (arity g c (THeads (Flat
+Appl) vs (lift (S i) O v)) (AHead a0 a1))).(\lambda (H5: ((\forall (d0:
C).(\forall (w: T).((sc3 g a0 d0 w) \to (\forall (is: PList).((drop1 is d0 c)
\to (sc3 g a1 d0 (THead (Flat Appl) w (lift1 is (THeads (Flat Appl) vs (lift
-(S i) O v)))))))))) (land (arity g c (THeads (Flat Appl) vs (TLRef i)) (AHead
-a0 a1)) (\forall (d0: C).(\forall (w: T).((sc3 g a0 d0 w) \to (\forall (is:
-PList).((drop1 is d0 c) \to (sc3 g a1 d0 (THead (Flat Appl) w (lift1 is
-(THeads (Flat Appl) vs (TLRef i))))))))))) (\lambda (H4: (arity g c (THeads
-(Flat Appl) vs (lift (S i) O v)) (AHead a0 a1))).(\lambda (H5: ((\forall (d0:
-C).(\forall (w: T).((sc3 g a0 d0 w) \to (\forall (is: PList).((drop1 is d0 c)
-\to (sc3 g a1 d0 (THead (Flat Appl) w (lift1 is (THeads (Flat Appl) vs (lift
-(S i) O v)))))))))))).(conj (arity g c (THeads (Flat Appl) vs (TLRef i))
-(AHead a0 a1)) (\forall (d0: C).(\forall (w: T).((sc3 g a0 d0 w) \to (\forall
-(is: PList).((drop1 is d0 c) \to (sc3 g a1 d0 (THead (Flat Appl) w (lift1 is
-(THeads (Flat Appl) vs (TLRef i)))))))))) (arity_appls_abbr g c d v i H2 vs
-(AHead a0 a1) H4) (\lambda (d0: C).(\lambda (w: T).(\lambda (H6: (sc3 g a0 d0
-w)).(\lambda (is: PList).(\lambda (H7: (drop1 is d0 c)).(let H_x \def
-(drop1_getl_trans is c d0 H7 Abbr d v i H2) in (let H8 \def H_x in (ex2_ind C
-(\lambda (e2: C).(drop1 (ptrans is i) e2 d)) (\lambda (e2: C).(getl (trans is
-i) d0 (CHead e2 (Bind Abbr) (lift1 (ptrans is i) v)))) (sc3 g a1 d0 (THead
-(Flat Appl) w (lift1 is (THeads (Flat Appl) vs (TLRef i))))) (\lambda (x:
-C).(\lambda (_: (drop1 (ptrans is i) x d)).(\lambda (H10: (getl (trans is i)
-d0 (CHead x (Bind Abbr) (lift1 (ptrans is i) v)))).(let H_y \def (H0 (TCons w
-(lifts1 is vs))) in (eq_ind_r T (THeads (Flat Appl) (lifts1 is vs) (lift1 is
-(TLRef i))) (\lambda (t: T).(sc3 g a1 d0 (THead (Flat Appl) w t))) (eq_ind_r
-T (TLRef (trans is i)) (\lambda (t: T).(sc3 g a1 d0 (THead (Flat Appl) w
-(THeads (Flat Appl) (lifts1 is vs) t)))) (H_y (trans is i) x (lift1 (ptrans
-is i) v) d0 (eq_ind T (lift1 is (lift (S i) O v)) (\lambda (t: T).(sc3 g a1
-d0 (THead (Flat Appl) w (THeads (Flat Appl) (lifts1 is vs) t)))) (eq_ind T
-(lift1 is (THeads (Flat Appl) vs (lift (S i) O v))) (\lambda (t: T).(sc3 g a1
-d0 (THead (Flat Appl) w t))) (H5 d0 w H6 is H7) (THeads (Flat Appl) (lifts1
-is vs) (lift1 is (lift (S i) O v))) (lifts1_flat Appl is (lift (S i) O v)
-vs)) (lift (S (trans is i)) O (lift1 (ptrans is i) v)) (lift1_free is i v))
-H10) (lift1 is (TLRef i)) (lift1_lref is i)) (lift1 is (THeads (Flat Appl) vs
-(TLRef i))) (lifts1_flat Appl is (TLRef i) vs)))))) H8)))))))))))
-H3))))))))))))) a)).
-(* COMMENTS
-Initial nodes: 1563
-END *)
+(S i) O v)))))))))))).(let TMP_67 \def (Flat Appl) in (let TMP_68 \def (TLRef
+i) in (let TMP_69 \def (THeads TMP_67 vs TMP_68) in (let TMP_70 \def (AHead
+a0 a1) in (let TMP_71 \def (arity g c TMP_69 TMP_70) in (let TMP_78 \def
+(\forall (d0: C).(\forall (w: T).((sc3 g a0 d0 w) \to (\forall (is:
+PList).((drop1 is d0 c) \to (let TMP_72 \def (Flat Appl) in (let TMP_73 \def
+(Flat Appl) in (let TMP_74 \def (TLRef i) in (let TMP_75 \def (THeads TMP_73
+vs TMP_74) in (let TMP_76 \def (lift1 is TMP_75) in (let TMP_77 \def (THead
+TMP_72 w TMP_76) in (sc3 g a1 d0 TMP_77)))))))))))) in (let TMP_79 \def
+(AHead a0 a1) in (let TMP_80 \def (arity_appls_abbr g c d v i H2 vs TMP_79
+H4) in (let TMP_164 \def (\lambda (d0: C).(\lambda (w: T).(\lambda (H6: (sc3
+g a0 d0 w)).(\lambda (is: PList).(\lambda (H7: (drop1 is d0 c)).(let H_x \def
+(drop1_getl_trans is c d0 H7 Abbr d v i H2) in (let H8 \def H_x in (let
+TMP_82 \def (\lambda (e2: C).(let TMP_81 \def (ptrans is i) in (drop1 TMP_81
+e2 d))) in (let TMP_88 \def (\lambda (e2: C).(let TMP_83 \def (trans is i) in
+(let TMP_84 \def (Bind Abbr) in (let TMP_85 \def (ptrans is i) in (let TMP_86
+\def (lift1 TMP_85 v) in (let TMP_87 \def (CHead e2 TMP_84 TMP_86) in (getl
+TMP_83 d0 TMP_87))))))) in (let TMP_89 \def (Flat Appl) in (let TMP_90 \def
+(Flat Appl) in (let TMP_91 \def (TLRef i) in (let TMP_92 \def (THeads TMP_90
+vs TMP_91) in (let TMP_93 \def (lift1 is TMP_92) in (let TMP_94 \def (THead
+TMP_89 w TMP_93) in (let TMP_95 \def (sc3 g a1 d0 TMP_94) in (let TMP_163
+\def (\lambda (x: C).(\lambda (_: (drop1 (ptrans is i) x d)).(\lambda (H10:
+(getl (trans is i) d0 (CHead x (Bind Abbr) (lift1 (ptrans is i) v)))).(let
+TMP_96 \def (lifts1 is vs) in (let TMP_97 \def (TCons w TMP_96) in (let H_y
+\def (H0 TMP_97) in (let TMP_98 \def (Flat Appl) in (let TMP_99 \def (lifts1
+is vs) in (let TMP_100 \def (TLRef i) in (let TMP_101 \def (lift1 is TMP_100)
+in (let TMP_102 \def (THeads TMP_98 TMP_99 TMP_101) in (let TMP_105 \def
+(\lambda (t: T).(let TMP_103 \def (Flat Appl) in (let TMP_104 \def (THead
+TMP_103 w t) in (sc3 g a1 d0 TMP_104)))) in (let TMP_106 \def (trans is i) in
+(let TMP_107 \def (TLRef TMP_106) in (let TMP_113 \def (\lambda (t: T).(let
+TMP_108 \def (Flat Appl) in (let TMP_109 \def (Flat Appl) in (let TMP_110
+\def (lifts1 is vs) in (let TMP_111 \def (THeads TMP_109 TMP_110 t) in (let
+TMP_112 \def (THead TMP_108 w TMP_111) in (sc3 g a1 d0 TMP_112))))))) in (let
+TMP_114 \def (trans is i) in (let TMP_115 \def (ptrans is i) in (let TMP_116
+\def (lift1 TMP_115 v) in (let TMP_117 \def (S i) in (let TMP_118 \def (lift
+TMP_117 O v) in (let TMP_119 \def (lift1 is TMP_118) in (let TMP_125 \def
+(\lambda (t: T).(let TMP_120 \def (Flat Appl) in (let TMP_121 \def (Flat
+Appl) in (let TMP_122 \def (lifts1 is vs) in (let TMP_123 \def (THeads
+TMP_121 TMP_122 t) in (let TMP_124 \def (THead TMP_120 w TMP_123) in (sc3 g
+a1 d0 TMP_124))))))) in (let TMP_126 \def (Flat Appl) in (let TMP_127 \def (S
+i) in (let TMP_128 \def (lift TMP_127 O v) in (let TMP_129 \def (THeads
+TMP_126 vs TMP_128) in (let TMP_130 \def (lift1 is TMP_129) in (let TMP_133
+\def (\lambda (t: T).(let TMP_131 \def (Flat Appl) in (let TMP_132 \def
+(THead TMP_131 w t) in (sc3 g a1 d0 TMP_132)))) in (let TMP_134 \def (H5 d0 w
+H6 is H7) in (let TMP_135 \def (Flat Appl) in (let TMP_136 \def (lifts1 is
+vs) in (let TMP_137 \def (S i) in (let TMP_138 \def (lift TMP_137 O v) in
+(let TMP_139 \def (lift1 is TMP_138) in (let TMP_140 \def (THeads TMP_135
+TMP_136 TMP_139) in (let TMP_141 \def (S i) in (let TMP_142 \def (lift
+TMP_141 O v) in (let TMP_143 \def (lifts1_flat Appl is TMP_142 vs) in (let
+TMP_144 \def (eq_ind T TMP_130 TMP_133 TMP_134 TMP_140 TMP_143) in (let
+TMP_145 \def (trans is i) in (let TMP_146 \def (S TMP_145) in (let TMP_147
+\def (ptrans is i) in (let TMP_148 \def (lift1 TMP_147 v) in (let TMP_149
+\def (lift TMP_146 O TMP_148) in (let TMP_150 \def (lift1_free is i v) in
+(let TMP_151 \def (eq_ind T TMP_119 TMP_125 TMP_144 TMP_149 TMP_150) in (let
+TMP_152 \def (H_y TMP_114 x TMP_116 d0 TMP_151 H10) in (let TMP_153 \def
+(TLRef i) in (let TMP_154 \def (lift1 is TMP_153) in (let TMP_155 \def
+(lift1_lref is i) in (let TMP_156 \def (eq_ind_r T TMP_107 TMP_113 TMP_152
+TMP_154 TMP_155) in (let TMP_157 \def (Flat Appl) in (let TMP_158 \def (TLRef
+i) in (let TMP_159 \def (THeads TMP_157 vs TMP_158) in (let TMP_160 \def
+(lift1 is TMP_159) in (let TMP_161 \def (TLRef i) in (let TMP_162 \def
+(lifts1_flat Appl is TMP_161 vs) in (eq_ind_r T TMP_102 TMP_105 TMP_156
+TMP_160 TMP_162)))))))))))))))))))))))))))))))))))))))))))))))))))))))))) in
+(ex2_ind C TMP_82 TMP_88 TMP_95 TMP_163 H8)))))))))))))))))) in (conj TMP_71
+TMP_78 TMP_80 TMP_164)))))))))))) in (land_ind TMP_45 TMP_53 TMP_66 TMP_165
+H3)))))))))))))))))))))))))))) in (A_ind TMP_4 TMP_39 TMP_166 a))))).
theorem sc3_cast:
\forall (g: G).(\forall (a: A).(\forall (vs: TList).(\forall (c: C).(\forall
T).((sc3 g a c (THeads (Flat Appl) vs t)) \to (sc3 g a c (THeads (Flat Appl)
vs (THead (Flat Cast) u t))))))))))
\def
- \lambda (g: G).(\lambda (a: A).(A_ind (\lambda (a0: A).(\forall (vs:
-TList).(\forall (c: C).(\forall (u: T).((sc3 g (asucc g a0) c (THeads (Flat
-Appl) vs u)) \to (\forall (t: T).((sc3 g a0 c (THeads (Flat Appl) vs t)) \to
-(sc3 g a0 c (THeads (Flat Appl) vs (THead (Flat Cast) u t)))))))))) (\lambda
-(n: nat).(\lambda (n0: nat).(\lambda (vs: TList).(\lambda (c: C).(\lambda (u:
-T).(\lambda (H: (sc3 g (match n with [O \Rightarrow (ASort O (next g n0)) |
-(S h) \Rightarrow (ASort h n0)]) c (THeads (Flat Appl) vs u))).(\lambda (t:
-T).(\lambda (H0: (land (arity g c (THeads (Flat Appl) vs t) (ASort n n0))
-(sn3 c (THeads (Flat Appl) vs t)))).(nat_ind (\lambda (n1: nat).((sc3 g
-(match n1 with [O \Rightarrow (ASort O (next g n0)) | (S h) \Rightarrow
-(ASort h n0)]) c (THeads (Flat Appl) vs u)) \to ((land (arity g c (THeads
-(Flat Appl) vs t) (ASort n1 n0)) (sn3 c (THeads (Flat Appl) vs t))) \to (land
-(arity g c (THeads (Flat Appl) vs (THead (Flat Cast) u t)) (ASort n1 n0))
-(sn3 c (THeads (Flat Appl) vs (THead (Flat Cast) u t))))))) (\lambda (H1:
-(sc3 g (ASort O (next g n0)) c (THeads (Flat Appl) vs u))).(\lambda (H2:
-(land (arity g c (THeads (Flat Appl) vs t) (ASort O n0)) (sn3 c (THeads (Flat
-Appl) vs t)))).(let H3 \def H1 in (land_ind (arity g c (THeads (Flat Appl) vs
-u) (ASort O (next g n0))) (sn3 c (THeads (Flat Appl) vs u)) (land (arity g c
-(THeads (Flat Appl) vs (THead (Flat Cast) u t)) (ASort O n0)) (sn3 c (THeads
-(Flat Appl) vs (THead (Flat Cast) u t)))) (\lambda (H4: (arity g c (THeads
-(Flat Appl) vs u) (ASort O (next g n0)))).(\lambda (H5: (sn3 c (THeads (Flat
-Appl) vs u))).(let H6 \def H2 in (land_ind (arity g c (THeads (Flat Appl) vs
-t) (ASort O n0)) (sn3 c (THeads (Flat Appl) vs t)) (land (arity g c (THeads
-(Flat Appl) vs (THead (Flat Cast) u t)) (ASort O n0)) (sn3 c (THeads (Flat
-Appl) vs (THead (Flat Cast) u t)))) (\lambda (H7: (arity g c (THeads (Flat
-Appl) vs t) (ASort O n0))).(\lambda (H8: (sn3 c (THeads (Flat Appl) vs
-t))).(conj (arity g c (THeads (Flat Appl) vs (THead (Flat Cast) u t)) (ASort
-O n0)) (sn3 c (THeads (Flat Appl) vs (THead (Flat Cast) u t)))
-(arity_appls_cast g c u t vs (ASort O n0) H4 H7) (sn3_appls_cast c vs u H5 t
-H8)))) H6)))) H3)))) (\lambda (n1: nat).(\lambda (_: (((sc3 g (match n1 with
-[O \Rightarrow (ASort O (next g n0)) | (S h) \Rightarrow (ASort h n0)]) c
+ \lambda (g: G).(\lambda (a: A).(let TMP_5 \def (\lambda (a0: A).(\forall
+(vs: TList).(\forall (c: C).(\forall (u: T).((sc3 g (asucc g a0) c (THeads
+(Flat Appl) vs u)) \to (\forall (t: T).((sc3 g a0 c (THeads (Flat Appl) vs
+t)) \to (let TMP_1 \def (Flat Appl) in (let TMP_2 \def (Flat Cast) in (let
+TMP_3 \def (THead TMP_2 u t) in (let TMP_4 \def (THeads TMP_1 vs TMP_3) in
+(sc3 g a0 c TMP_4)))))))))))) in (let TMP_134 \def (\lambda (n: nat).(\lambda
+(n0: nat).(\lambda (vs: TList).(\lambda (c: C).(\lambda (u: T).(\lambda (H:
+(sc3 g (match n with [O \Rightarrow (ASort O (next g n0)) | (S h) \Rightarrow
+(ASort h n0)]) c (THeads (Flat Appl) vs u))).(\lambda (t: T).(\lambda (H0:
+(land (arity g c (THeads (Flat Appl) vs t) (ASort n n0)) (sn3 c (THeads (Flat
+Appl) vs t)))).(let TMP_17 \def (\lambda (n1: nat).((sc3 g (match n1 with [O
+\Rightarrow (ASort O (next g n0)) | (S h) \Rightarrow (ASort h n0)]) c
(THeads (Flat Appl) vs u)) \to ((land (arity g c (THeads (Flat Appl) vs t)
-(ASort n1 n0)) (sn3 c (THeads (Flat Appl) vs t))) \to (land (arity g c
-(THeads (Flat Appl) vs (THead (Flat Cast) u t)) (ASort n1 n0)) (sn3 c (THeads
-(Flat Appl) vs (THead (Flat Cast) u t)))))))).(\lambda (H1: (sc3 g (ASort n1
-n0) c (THeads (Flat Appl) vs u))).(\lambda (H2: (land (arity g c (THeads
-(Flat Appl) vs t) (ASort (S n1) n0)) (sn3 c (THeads (Flat Appl) vs t)))).(let
-H3 \def H1 in (land_ind (arity g c (THeads (Flat Appl) vs u) (ASort n1 n0))
-(sn3 c (THeads (Flat Appl) vs u)) (land (arity g c (THeads (Flat Appl) vs
-(THead (Flat Cast) u t)) (ASort (S n1) n0)) (sn3 c (THeads (Flat Appl) vs
-(THead (Flat Cast) u t)))) (\lambda (H4: (arity g c (THeads (Flat Appl) vs u)
-(ASort n1 n0))).(\lambda (H5: (sn3 c (THeads (Flat Appl) vs u))).(let H6 \def
-H2 in (land_ind (arity g c (THeads (Flat Appl) vs t) (ASort (S n1) n0)) (sn3
-c (THeads (Flat Appl) vs t)) (land (arity g c (THeads (Flat Appl) vs (THead
-(Flat Cast) u t)) (ASort (S n1) n0)) (sn3 c (THeads (Flat Appl) vs (THead
-(Flat Cast) u t)))) (\lambda (H7: (arity g c (THeads (Flat Appl) vs t) (ASort
-(S n1) n0))).(\lambda (H8: (sn3 c (THeads (Flat Appl) vs t))).(conj (arity g
-c (THeads (Flat Appl) vs (THead (Flat Cast) u t)) (ASort (S n1) n0)) (sn3 c
-(THeads (Flat Appl) vs (THead (Flat Cast) u t))) (arity_appls_cast g c u t vs
-(ASort (S n1) n0) H4 H7) (sn3_appls_cast c vs u H5 t H8)))) H6)))) H3)))))) n
-H H0))))))))) (\lambda (a0: A).(\lambda (_: ((\forall (vs: TList).(\forall
-(c: C).(\forall (u: T).((sc3 g (asucc g a0) c (THeads (Flat Appl) vs u)) \to
-(\forall (t: T).((sc3 g a0 c (THeads (Flat Appl) vs t)) \to (sc3 g a0 c
-(THeads (Flat Appl) vs (THead (Flat Cast) u t))))))))))).(\lambda (a1:
-A).(\lambda (H0: ((\forall (vs: TList).(\forall (c: C).(\forall (u: T).((sc3
-g (asucc g a1) c (THeads (Flat Appl) vs u)) \to (\forall (t: T).((sc3 g a1 c
-(THeads (Flat Appl) vs t)) \to (sc3 g a1 c (THeads (Flat Appl) vs (THead
-(Flat Cast) u t))))))))))).(\lambda (vs: TList).(\lambda (c: C).(\lambda (u:
-T).(\lambda (H1: (land (arity g c (THeads (Flat Appl) vs u) (AHead a0 (asucc
-g a1))) (\forall (d: C).(\forall (w: T).((sc3 g a0 d w) \to (\forall (is:
-PList).((drop1 is d c) \to (sc3 g (asucc g a1) d (THead (Flat Appl) w (lift1
-is (THeads (Flat Appl) vs u))))))))))).(\lambda (t: T).(\lambda (H2: (land
-(arity g c (THeads (Flat Appl) vs t) (AHead a0 a1)) (\forall (d: C).(\forall
-(w: T).((sc3 g a0 d w) \to (\forall (is: PList).((drop1 is d c) \to (sc3 g a1
-d (THead (Flat Appl) w (lift1 is (THeads (Flat Appl) vs t))))))))))).(let H3
-\def H1 in (land_ind (arity g c (THeads (Flat Appl) vs u) (AHead a0 (asucc g
-a1))) (\forall (d: C).(\forall (w: T).((sc3 g a0 d w) \to (\forall (is:
-PList).((drop1 is d c) \to (sc3 g (asucc g a1) d (THead (Flat Appl) w (lift1
-is (THeads (Flat Appl) vs u))))))))) (land (arity g c (THeads (Flat Appl) vs
-(THead (Flat Cast) u t)) (AHead a0 a1)) (\forall (d: C).(\forall (w: T).((sc3
-g a0 d w) \to (\forall (is: PList).((drop1 is d c) \to (sc3 g a1 d (THead
-(Flat Appl) w (lift1 is (THeads (Flat Appl) vs (THead (Flat Cast) u
-t))))))))))) (\lambda (H4: (arity g c (THeads (Flat Appl) vs u) (AHead a0
-(asucc g a1)))).(\lambda (H5: ((\forall (d: C).(\forall (w: T).((sc3 g a0 d
-w) \to (\forall (is: PList).((drop1 is d c) \to (sc3 g (asucc g a1) d (THead
-(Flat Appl) w (lift1 is (THeads (Flat Appl) vs u))))))))))).(let H6 \def H2
-in (land_ind (arity g c (THeads (Flat Appl) vs t) (AHead a0 a1)) (\forall (d:
+(ASort n1 n0)) (sn3 c (THeads (Flat Appl) vs t))) \to (let TMP_6 \def (Flat
+Appl) in (let TMP_7 \def (Flat Cast) in (let TMP_8 \def (THead TMP_7 u t) in
+(let TMP_9 \def (THeads TMP_6 vs TMP_8) in (let TMP_10 \def (ASort n1 n0) in
+(let TMP_11 \def (arity g c TMP_9 TMP_10) in (let TMP_12 \def (Flat Appl) in
+(let TMP_13 \def (Flat Cast) in (let TMP_14 \def (THead TMP_13 u t) in (let
+TMP_15 \def (THeads TMP_12 vs TMP_14) in (let TMP_16 \def (sn3 c TMP_15) in
+(land TMP_11 TMP_16))))))))))))))) in (let TMP_73 \def (\lambda (H1: (sc3 g
+(ASort O (next g n0)) c (THeads (Flat Appl) vs u))).(\lambda (H2: (land
+(arity g c (THeads (Flat Appl) vs t) (ASort O n0)) (sn3 c (THeads (Flat Appl)
+vs t)))).(let H3 \def H1 in (let TMP_18 \def (Flat Appl) in (let TMP_19 \def
+(THeads TMP_18 vs u) in (let TMP_20 \def (next g n0) in (let TMP_21 \def
+(ASort O TMP_20) in (let TMP_22 \def (arity g c TMP_19 TMP_21) in (let TMP_23
+\def (Flat Appl) in (let TMP_24 \def (THeads TMP_23 vs u) in (let TMP_25 \def
+(sn3 c TMP_24) in (let TMP_26 \def (Flat Appl) in (let TMP_27 \def (Flat
+Cast) in (let TMP_28 \def (THead TMP_27 u t) in (let TMP_29 \def (THeads
+TMP_26 vs TMP_28) in (let TMP_30 \def (ASort O n0) in (let TMP_31 \def (arity
+g c TMP_29 TMP_30) in (let TMP_32 \def (Flat Appl) in (let TMP_33 \def (Flat
+Cast) in (let TMP_34 \def (THead TMP_33 u t) in (let TMP_35 \def (THeads
+TMP_32 vs TMP_34) in (let TMP_36 \def (sn3 c TMP_35) in (let TMP_37 \def
+(land TMP_31 TMP_36) in (let TMP_72 \def (\lambda (H4: (arity g c (THeads
+(Flat Appl) vs u) (ASort O (next g n0)))).(\lambda (H5: (sn3 c (THeads (Flat
+Appl) vs u))).(let H6 \def H2 in (let TMP_38 \def (Flat Appl) in (let TMP_39
+\def (THeads TMP_38 vs t) in (let TMP_40 \def (ASort O n0) in (let TMP_41
+\def (arity g c TMP_39 TMP_40) in (let TMP_42 \def (Flat Appl) in (let TMP_43
+\def (THeads TMP_42 vs t) in (let TMP_44 \def (sn3 c TMP_43) in (let TMP_45
+\def (Flat Appl) in (let TMP_46 \def (Flat Cast) in (let TMP_47 \def (THead
+TMP_46 u t) in (let TMP_48 \def (THeads TMP_45 vs TMP_47) in (let TMP_49 \def
+(ASort O n0) in (let TMP_50 \def (arity g c TMP_48 TMP_49) in (let TMP_51
+\def (Flat Appl) in (let TMP_52 \def (Flat Cast) in (let TMP_53 \def (THead
+TMP_52 u t) in (let TMP_54 \def (THeads TMP_51 vs TMP_53) in (let TMP_55 \def
+(sn3 c TMP_54) in (let TMP_56 \def (land TMP_50 TMP_55) in (let TMP_71 \def
+(\lambda (H7: (arity g c (THeads (Flat Appl) vs t) (ASort O n0))).(\lambda
+(H8: (sn3 c (THeads (Flat Appl) vs t))).(let TMP_57 \def (Flat Appl) in (let
+TMP_58 \def (Flat Cast) in (let TMP_59 \def (THead TMP_58 u t) in (let TMP_60
+\def (THeads TMP_57 vs TMP_59) in (let TMP_61 \def (ASort O n0) in (let
+TMP_62 \def (arity g c TMP_60 TMP_61) in (let TMP_63 \def (Flat Appl) in (let
+TMP_64 \def (Flat Cast) in (let TMP_65 \def (THead TMP_64 u t) in (let TMP_66
+\def (THeads TMP_63 vs TMP_65) in (let TMP_67 \def (sn3 c TMP_66) in (let
+TMP_68 \def (ASort O n0) in (let TMP_69 \def (arity_appls_cast g c u t vs
+TMP_68 H4 H7) in (let TMP_70 \def (sn3_appls_cast c vs u H5 t H8) in (conj
+TMP_62 TMP_67 TMP_69 TMP_70))))))))))))))))) in (land_ind TMP_41 TMP_44
+TMP_56 TMP_71 H6)))))))))))))))))))))))) in (land_ind TMP_22 TMP_25 TMP_37
+TMP_72 H3))))))))))))))))))))))))) in (let TMP_133 \def (\lambda (n1:
+nat).(\lambda (_: (((sc3 g (match n1 with [O \Rightarrow (ASort O (next g
+n0)) | (S h) \Rightarrow (ASort h n0)]) c (THeads (Flat Appl) vs u)) \to
+((land (arity g c (THeads (Flat Appl) vs t) (ASort n1 n0)) (sn3 c (THeads
+(Flat Appl) vs t))) \to (land (arity g c (THeads (Flat Appl) vs (THead (Flat
+Cast) u t)) (ASort n1 n0)) (sn3 c (THeads (Flat Appl) vs (THead (Flat Cast) u
+t)))))))).(\lambda (H1: (sc3 g (ASort n1 n0) c (THeads (Flat Appl) vs
+u))).(\lambda (H2: (land (arity g c (THeads (Flat Appl) vs t) (ASort (S n1)
+n0)) (sn3 c (THeads (Flat Appl) vs t)))).(let H3 \def H1 in (let TMP_74 \def
+(Flat Appl) in (let TMP_75 \def (THeads TMP_74 vs u) in (let TMP_76 \def
+(ASort n1 n0) in (let TMP_77 \def (arity g c TMP_75 TMP_76) in (let TMP_78
+\def (Flat Appl) in (let TMP_79 \def (THeads TMP_78 vs u) in (let TMP_80 \def
+(sn3 c TMP_79) in (let TMP_81 \def (Flat Appl) in (let TMP_82 \def (Flat
+Cast) in (let TMP_83 \def (THead TMP_82 u t) in (let TMP_84 \def (THeads
+TMP_81 vs TMP_83) in (let TMP_85 \def (S n1) in (let TMP_86 \def (ASort
+TMP_85 n0) in (let TMP_87 \def (arity g c TMP_84 TMP_86) in (let TMP_88 \def
+(Flat Appl) in (let TMP_89 \def (Flat Cast) in (let TMP_90 \def (THead TMP_89
+u t) in (let TMP_91 \def (THeads TMP_88 vs TMP_90) in (let TMP_92 \def (sn3 c
+TMP_91) in (let TMP_93 \def (land TMP_87 TMP_92) in (let TMP_132 \def
+(\lambda (H4: (arity g c (THeads (Flat Appl) vs u) (ASort n1 n0))).(\lambda
+(H5: (sn3 c (THeads (Flat Appl) vs u))).(let H6 \def H2 in (let TMP_94 \def
+(Flat Appl) in (let TMP_95 \def (THeads TMP_94 vs t) in (let TMP_96 \def (S
+n1) in (let TMP_97 \def (ASort TMP_96 n0) in (let TMP_98 \def (arity g c
+TMP_95 TMP_97) in (let TMP_99 \def (Flat Appl) in (let TMP_100 \def (THeads
+TMP_99 vs t) in (let TMP_101 \def (sn3 c TMP_100) in (let TMP_102 \def (Flat
+Appl) in (let TMP_103 \def (Flat Cast) in (let TMP_104 \def (THead TMP_103 u
+t) in (let TMP_105 \def (THeads TMP_102 vs TMP_104) in (let TMP_106 \def (S
+n1) in (let TMP_107 \def (ASort TMP_106 n0) in (let TMP_108 \def (arity g c
+TMP_105 TMP_107) in (let TMP_109 \def (Flat Appl) in (let TMP_110 \def (Flat
+Cast) in (let TMP_111 \def (THead TMP_110 u t) in (let TMP_112 \def (THeads
+TMP_109 vs TMP_111) in (let TMP_113 \def (sn3 c TMP_112) in (let TMP_114 \def
+(land TMP_108 TMP_113) in (let TMP_131 \def (\lambda (H7: (arity g c (THeads
+(Flat Appl) vs t) (ASort (S n1) n0))).(\lambda (H8: (sn3 c (THeads (Flat
+Appl) vs t))).(let TMP_115 \def (Flat Appl) in (let TMP_116 \def (Flat Cast)
+in (let TMP_117 \def (THead TMP_116 u t) in (let TMP_118 \def (THeads TMP_115
+vs TMP_117) in (let TMP_119 \def (S n1) in (let TMP_120 \def (ASort TMP_119
+n0) in (let TMP_121 \def (arity g c TMP_118 TMP_120) in (let TMP_122 \def
+(Flat Appl) in (let TMP_123 \def (Flat Cast) in (let TMP_124 \def (THead
+TMP_123 u t) in (let TMP_125 \def (THeads TMP_122 vs TMP_124) in (let TMP_126
+\def (sn3 c TMP_125) in (let TMP_127 \def (S n1) in (let TMP_128 \def (ASort
+TMP_127 n0) in (let TMP_129 \def (arity_appls_cast g c u t vs TMP_128 H4 H7)
+in (let TMP_130 \def (sn3_appls_cast c vs u H5 t H8) in (conj TMP_121 TMP_126
+TMP_129 TMP_130))))))))))))))))))) in (land_ind TMP_98 TMP_101 TMP_114
+TMP_131 H6)))))))))))))))))))))))))) in (land_ind TMP_77 TMP_80 TMP_93
+TMP_132 H3))))))))))))))))))))))))))) in (nat_ind TMP_17 TMP_73 TMP_133 n H
+H0)))))))))))) in (let TMP_270 \def (\lambda (a0: A).(\lambda (_: ((\forall
+(vs: TList).(\forall (c: C).(\forall (u: T).((sc3 g (asucc g a0) c (THeads
+(Flat Appl) vs u)) \to (\forall (t: T).((sc3 g a0 c (THeads (Flat Appl) vs
+t)) \to (sc3 g a0 c (THeads (Flat Appl) vs (THead (Flat Cast) u
+t))))))))))).(\lambda (a1: A).(\lambda (H0: ((\forall (vs: TList).(\forall
+(c: C).(\forall (u: T).((sc3 g (asucc g a1) c (THeads (Flat Appl) vs u)) \to
+(\forall (t: T).((sc3 g a1 c (THeads (Flat Appl) vs t)) \to (sc3 g a1 c
+(THeads (Flat Appl) vs (THead (Flat Cast) u t))))))))))).(\lambda (vs:
+TList).(\lambda (c: C).(\lambda (u: T).(\lambda (H1: (land (arity g c (THeads
+(Flat Appl) vs u) (AHead a0 (asucc g a1))) (\forall (d: C).(\forall (w:
+T).((sc3 g a0 d w) \to (\forall (is: PList).((drop1 is d c) \to (sc3 g (asucc
+g a1) d (THead (Flat Appl) w (lift1 is (THeads (Flat Appl) vs
+u))))))))))).(\lambda (t: T).(\lambda (H2: (land (arity g c (THeads (Flat
+Appl) vs t) (AHead a0 a1)) (\forall (d: C).(\forall (w: T).((sc3 g a0 d w)
+\to (\forall (is: PList).((drop1 is d c) \to (sc3 g a1 d (THead (Flat Appl) w
+(lift1 is (THeads (Flat Appl) vs t))))))))))).(let H3 \def H1 in (let TMP_135
+\def (Flat Appl) in (let TMP_136 \def (THeads TMP_135 vs u) in (let TMP_137
+\def (asucc g a1) in (let TMP_138 \def (AHead a0 TMP_137) in (let TMP_139
+\def (arity g c TMP_136 TMP_138) in (let TMP_146 \def (\forall (d:
C).(\forall (w: T).((sc3 g a0 d w) \to (\forall (is: PList).((drop1 is d c)
-\to (sc3 g a1 d (THead (Flat Appl) w (lift1 is (THeads (Flat Appl) vs
-t))))))))) (land (arity g c (THeads (Flat Appl) vs (THead (Flat Cast) u t))
-(AHead a0 a1)) (\forall (d: C).(\forall (w: T).((sc3 g a0 d w) \to (\forall
-(is: PList).((drop1 is d c) \to (sc3 g a1 d (THead (Flat Appl) w (lift1 is
-(THeads (Flat Appl) vs (THead (Flat Cast) u t))))))))))) (\lambda (H7: (arity
-g c (THeads (Flat Appl) vs t) (AHead a0 a1))).(\lambda (H8: ((\forall (d:
+\to (let TMP_140 \def (asucc g a1) in (let TMP_141 \def (Flat Appl) in (let
+TMP_142 \def (Flat Appl) in (let TMP_143 \def (THeads TMP_142 vs u) in (let
+TMP_144 \def (lift1 is TMP_143) in (let TMP_145 \def (THead TMP_141 w
+TMP_144) in (sc3 g TMP_140 d TMP_145)))))))))))) in (let TMP_147 \def (Flat
+Appl) in (let TMP_148 \def (Flat Cast) in (let TMP_149 \def (THead TMP_148 u
+t) in (let TMP_150 \def (THeads TMP_147 vs TMP_149) in (let TMP_151 \def
+(AHead a0 a1) in (let TMP_152 \def (arity g c TMP_150 TMP_151) in (let
+TMP_160 \def (\forall (d: C).(\forall (w: T).((sc3 g a0 d w) \to (\forall
+(is: PList).((drop1 is d c) \to (let TMP_153 \def (Flat Appl) in (let TMP_154
+\def (Flat Appl) in (let TMP_155 \def (Flat Cast) in (let TMP_156 \def (THead
+TMP_155 u t) in (let TMP_157 \def (THeads TMP_154 vs TMP_156) in (let TMP_158
+\def (lift1 is TMP_157) in (let TMP_159 \def (THead TMP_153 w TMP_158) in
+(sc3 g a1 d TMP_159))))))))))))) in (let TMP_161 \def (land TMP_152 TMP_160)
+in (let TMP_269 \def (\lambda (H4: (arity g c (THeads (Flat Appl) vs u)
+(AHead a0 (asucc g a1)))).(\lambda (H5: ((\forall (d: C).(\forall (w:
+T).((sc3 g a0 d w) \to (\forall (is: PList).((drop1 is d c) \to (sc3 g (asucc
+g a1) d (THead (Flat Appl) w (lift1 is (THeads (Flat Appl) vs
+u))))))))))).(let H6 \def H2 in (let TMP_162 \def (Flat Appl) in (let TMP_163
+\def (THeads TMP_162 vs t) in (let TMP_164 \def (AHead a0 a1) in (let TMP_165
+\def (arity g c TMP_163 TMP_164) in (let TMP_171 \def (\forall (d:
C).(\forall (w: T).((sc3 g a0 d w) \to (\forall (is: PList).((drop1 is d c)
-\to (sc3 g a1 d (THead (Flat Appl) w (lift1 is (THeads (Flat Appl) vs
-t))))))))))).(conj (arity g c (THeads (Flat Appl) vs (THead (Flat Cast) u t))
-(AHead a0 a1)) (\forall (d: C).(\forall (w: T).((sc3 g a0 d w) \to (\forall
-(is: PList).((drop1 is d c) \to (sc3 g a1 d (THead (Flat Appl) w (lift1 is
-(THeads (Flat Appl) vs (THead (Flat Cast) u t)))))))))) (arity_appls_cast g c
-u t vs (AHead a0 a1) H4 H7) (\lambda (d: C).(\lambda (w: T).(\lambda (H9:
-(sc3 g a0 d w)).(\lambda (is: PList).(\lambda (H10: (drop1 is d c)).(let H_y
-\def (H0 (TCons w (lifts1 is vs))) in (eq_ind_r T (THeads (Flat Appl) (lifts1
-is vs) (lift1 is (THead (Flat Cast) u t))) (\lambda (t0: T).(sc3 g a1 d
-(THead (Flat Appl) w t0))) (eq_ind_r T (THead (Flat Cast) (lift1 is u) (lift1
-is t)) (\lambda (t0: T).(sc3 g a1 d (THead (Flat Appl) w (THeads (Flat Appl)
-(lifts1 is vs) t0)))) (H_y d (lift1 is u) (eq_ind T (lift1 is (THeads (Flat
-Appl) vs u)) (\lambda (t0: T).(sc3 g (asucc g a1) d (THead (Flat Appl) w
-t0))) (H5 d w H9 is H10) (THeads (Flat Appl) (lifts1 is vs) (lift1 is u))
-(lifts1_flat Appl is u vs)) (lift1 is t) (eq_ind T (lift1 is (THeads (Flat
-Appl) vs t)) (\lambda (t0: T).(sc3 g a1 d (THead (Flat Appl) w t0))) (H8 d w
-H9 is H10) (THeads (Flat Appl) (lifts1 is vs) (lift1 is t)) (lifts1_flat Appl
-is t vs))) (lift1 is (THead (Flat Cast) u t)) (lift1_flat Cast is u t))
-(lift1 is (THeads (Flat Appl) vs (THead (Flat Cast) u t))) (lifts1_flat Appl
-is (THead (Flat Cast) u t) vs))))))))))) H6)))) H3)))))))))))) a)).
-(* COMMENTS
-Initial nodes: 2625
-END *)
+\to (let TMP_166 \def (Flat Appl) in (let TMP_167 \def (Flat Appl) in (let
+TMP_168 \def (THeads TMP_167 vs t) in (let TMP_169 \def (lift1 is TMP_168) in
+(let TMP_170 \def (THead TMP_166 w TMP_169) in (sc3 g a1 d TMP_170)))))))))))
+in (let TMP_172 \def (Flat Appl) in (let TMP_173 \def (Flat Cast) in (let
+TMP_174 \def (THead TMP_173 u t) in (let TMP_175 \def (THeads TMP_172 vs
+TMP_174) in (let TMP_176 \def (AHead a0 a1) in (let TMP_177 \def (arity g c
+TMP_175 TMP_176) in (let TMP_185 \def (\forall (d: C).(\forall (w: T).((sc3 g
+a0 d w) \to (\forall (is: PList).((drop1 is d c) \to (let TMP_178 \def (Flat
+Appl) in (let TMP_179 \def (Flat Appl) in (let TMP_180 \def (Flat Cast) in
+(let TMP_181 \def (THead TMP_180 u t) in (let TMP_182 \def (THeads TMP_179 vs
+TMP_181) in (let TMP_183 \def (lift1 is TMP_182) in (let TMP_184 \def (THead
+TMP_178 w TMP_183) in (sc3 g a1 d TMP_184))))))))))))) in (let TMP_186 \def
+(land TMP_177 TMP_185) in (let TMP_268 \def (\lambda (H7: (arity g c (THeads
+(Flat Appl) vs t) (AHead a0 a1))).(\lambda (H8: ((\forall (d: C).(\forall (w:
+T).((sc3 g a0 d w) \to (\forall (is: PList).((drop1 is d c) \to (sc3 g a1 d
+(THead (Flat Appl) w (lift1 is (THeads (Flat Appl) vs t))))))))))).(let
+TMP_187 \def (Flat Appl) in (let TMP_188 \def (Flat Cast) in (let TMP_189
+\def (THead TMP_188 u t) in (let TMP_190 \def (THeads TMP_187 vs TMP_189) in
+(let TMP_191 \def (AHead a0 a1) in (let TMP_192 \def (arity g c TMP_190
+TMP_191) in (let TMP_200 \def (\forall (d: C).(\forall (w: T).((sc3 g a0 d w)
+\to (\forall (is: PList).((drop1 is d c) \to (let TMP_193 \def (Flat Appl) in
+(let TMP_194 \def (Flat Appl) in (let TMP_195 \def (Flat Cast) in (let
+TMP_196 \def (THead TMP_195 u t) in (let TMP_197 \def (THeads TMP_194 vs
+TMP_196) in (let TMP_198 \def (lift1 is TMP_197) in (let TMP_199 \def (THead
+TMP_193 w TMP_198) in (sc3 g a1 d TMP_199))))))))))))) in (let TMP_201 \def
+(AHead a0 a1) in (let TMP_202 \def (arity_appls_cast g c u t vs TMP_201 H4
+H7) in (let TMP_267 \def (\lambda (d: C).(\lambda (w: T).(\lambda (H9: (sc3 g
+a0 d w)).(\lambda (is: PList).(\lambda (H10: (drop1 is d c)).(let TMP_203
+\def (lifts1 is vs) in (let TMP_204 \def (TCons w TMP_203) in (let H_y \def
+(H0 TMP_204) in (let TMP_205 \def (Flat Appl) in (let TMP_206 \def (lifts1 is
+vs) in (let TMP_207 \def (Flat Cast) in (let TMP_208 \def (THead TMP_207 u t)
+in (let TMP_209 \def (lift1 is TMP_208) in (let TMP_210 \def (THeads TMP_205
+TMP_206 TMP_209) in (let TMP_213 \def (\lambda (t0: T).(let TMP_211 \def
+(Flat Appl) in (let TMP_212 \def (THead TMP_211 w t0) in (sc3 g a1 d
+TMP_212)))) in (let TMP_214 \def (Flat Cast) in (let TMP_215 \def (lift1 is
+u) in (let TMP_216 \def (lift1 is t) in (let TMP_217 \def (THead TMP_214
+TMP_215 TMP_216) in (let TMP_223 \def (\lambda (t0: T).(let TMP_218 \def
+(Flat Appl) in (let TMP_219 \def (Flat Appl) in (let TMP_220 \def (lifts1 is
+vs) in (let TMP_221 \def (THeads TMP_219 TMP_220 t0) in (let TMP_222 \def
+(THead TMP_218 w TMP_221) in (sc3 g a1 d TMP_222))))))) in (let TMP_224 \def
+(lift1 is u) in (let TMP_225 \def (Flat Appl) in (let TMP_226 \def (THeads
+TMP_225 vs u) in (let TMP_227 \def (lift1 is TMP_226) in (let TMP_231 \def
+(\lambda (t0: T).(let TMP_228 \def (asucc g a1) in (let TMP_229 \def (Flat
+Appl) in (let TMP_230 \def (THead TMP_229 w t0) in (sc3 g TMP_228 d
+TMP_230))))) in (let TMP_232 \def (H5 d w H9 is H10) in (let TMP_233 \def
+(Flat Appl) in (let TMP_234 \def (lifts1 is vs) in (let TMP_235 \def (lift1
+is u) in (let TMP_236 \def (THeads TMP_233 TMP_234 TMP_235) in (let TMP_237
+\def (lifts1_flat Appl is u vs) in (let TMP_238 \def (eq_ind T TMP_227
+TMP_231 TMP_232 TMP_236 TMP_237) in (let TMP_239 \def (lift1 is t) in (let
+TMP_240 \def (Flat Appl) in (let TMP_241 \def (THeads TMP_240 vs t) in (let
+TMP_242 \def (lift1 is TMP_241) in (let TMP_245 \def (\lambda (t0: T).(let
+TMP_243 \def (Flat Appl) in (let TMP_244 \def (THead TMP_243 w t0) in (sc3 g
+a1 d TMP_244)))) in (let TMP_246 \def (H8 d w H9 is H10) in (let TMP_247 \def
+(Flat Appl) in (let TMP_248 \def (lifts1 is vs) in (let TMP_249 \def (lift1
+is t) in (let TMP_250 \def (THeads TMP_247 TMP_248 TMP_249) in (let TMP_251
+\def (lifts1_flat Appl is t vs) in (let TMP_252 \def (eq_ind T TMP_242
+TMP_245 TMP_246 TMP_250 TMP_251) in (let TMP_253 \def (H_y d TMP_224 TMP_238
+TMP_239 TMP_252) in (let TMP_254 \def (Flat Cast) in (let TMP_255 \def (THead
+TMP_254 u t) in (let TMP_256 \def (lift1 is TMP_255) in (let TMP_257 \def
+(lift1_flat Cast is u t) in (let TMP_258 \def (eq_ind_r T TMP_217 TMP_223
+TMP_253 TMP_256 TMP_257) in (let TMP_259 \def (Flat Appl) in (let TMP_260
+\def (Flat Cast) in (let TMP_261 \def (THead TMP_260 u t) in (let TMP_262
+\def (THeads TMP_259 vs TMP_261) in (let TMP_263 \def (lift1 is TMP_262) in
+(let TMP_264 \def (Flat Cast) in (let TMP_265 \def (THead TMP_264 u t) in
+(let TMP_266 \def (lifts1_flat Appl is TMP_265 vs) in (eq_ind_r T TMP_210
+TMP_213 TMP_258 TMP_263
+TMP_266))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) in (conj
+TMP_192 TMP_200 TMP_202 TMP_267))))))))))))) in (land_ind TMP_165 TMP_171
+TMP_186 TMP_268 H6)))))))))))))))))) in (land_ind TMP_139 TMP_146 TMP_161
+TMP_269 H3))))))))))))))))))))))))))) in (A_ind TMP_5 TMP_134 TMP_270 a))))).
theorem sc3_props__sc3_sn3_abst:
\forall (g: G).(\forall (a: A).(land (\forall (c: C).(\forall (t: T).((sc3 g
(THeads (Flat Appl) vs (TLRef i)) in (\forall (c: C).((arity g c t a) \to
((nf2 c (TLRef i)) \to ((sns3 c vs) \to (sc3 g a c t))))))))))
\def
- \lambda (g: G).(\lambda (a: A).(A_ind (\lambda (a0: A).(land (\forall (c:
-C).(\forall (t: T).((sc3 g a0 c t) \to (sn3 c t)))) (\forall (vs:
-TList).(\forall (i: nat).(let t \def (THeads (Flat Appl) vs (TLRef i)) in
+ \lambda (g: G).(\lambda (a: A).(let TMP_5 \def (\lambda (a0: A).(let TMP_1
+\def (\forall (c: C).(\forall (t: T).((sc3 g a0 c t) \to (sn3 c t)))) in (let
+TMP_4 \def (\forall (vs: TList).(\forall (i: nat).(let TMP_2 \def (Flat Appl)
+in (let TMP_3 \def (TLRef i) in (let t \def (THeads TMP_2 vs TMP_3) in
(\forall (c: C).((arity g c t a0) \to ((nf2 c (TLRef i)) \to ((sns3 c vs) \to
-(sc3 g a0 c t)))))))))) (\lambda (n: nat).(\lambda (n0: nat).(conj (\forall
-(c: C).(\forall (t: T).((land (arity g c t (ASort n n0)) (sn3 c t)) \to (sn3
-c t)))) (\forall (vs: TList).(\forall (i: nat).(\forall (c: C).((arity g c
-(THeads (Flat Appl) vs (TLRef i)) (ASort n n0)) \to ((nf2 c (TLRef i)) \to
-((sns3 c vs) \to (land (arity g c (THeads (Flat Appl) vs (TLRef i)) (ASort n
-n0)) (sn3 c (THeads (Flat Appl) vs (TLRef i)))))))))) (\lambda (c:
-C).(\lambda (t: T).(\lambda (H: (land (arity g c t (ASort n n0)) (sn3 c
-t))).(let H0 \def H in (land_ind (arity g c t (ASort n n0)) (sn3 c t) (sn3 c
-t) (\lambda (_: (arity g c t (ASort n n0))).(\lambda (H2: (sn3 c t)).H2))
-H0))))) (\lambda (vs: TList).(\lambda (i: nat).(\lambda (c: C).(\lambda (H:
-(arity g c (THeads (Flat Appl) vs (TLRef i)) (ASort n n0))).(\lambda (H0:
-(nf2 c (TLRef i))).(\lambda (H1: (sns3 c vs)).(conj (arity g c (THeads (Flat
-Appl) vs (TLRef i)) (ASort n n0)) (sn3 c (THeads (Flat Appl) vs (TLRef i))) H
-(sn3_appls_lref c i H0 vs H1))))))))))) (\lambda (a0: A).(\lambda (H: (land
+(sc3 g a0 c t)))))))))) in (land TMP_1 TMP_4)))) in (let TMP_34 \def (\lambda
+(n: nat).(\lambda (n0: nat).(let TMP_6 \def (\forall (c: C).(\forall (t:
+T).((land (arity g c t (ASort n n0)) (sn3 c t)) \to (sn3 c t)))) in (let
+TMP_16 \def (\forall (vs: TList).(\forall (i: nat).(\forall (c: C).((arity g
+c (THeads (Flat Appl) vs (TLRef i)) (ASort n n0)) \to ((nf2 c (TLRef i)) \to
+((sns3 c vs) \to (let TMP_7 \def (Flat Appl) in (let TMP_8 \def (TLRef i) in
+(let TMP_9 \def (THeads TMP_7 vs TMP_8) in (let TMP_10 \def (ASort n n0) in
+(let TMP_11 \def (arity g c TMP_9 TMP_10) in (let TMP_12 \def (Flat Appl) in
+(let TMP_13 \def (TLRef i) in (let TMP_14 \def (THeads TMP_12 vs TMP_13) in
+(let TMP_15 \def (sn3 c TMP_14) in (land TMP_11 TMP_15)))))))))))))))) in
+(let TMP_22 \def (\lambda (c: C).(\lambda (t: T).(\lambda (H: (land (arity g
+c t (ASort n n0)) (sn3 c t))).(let H0 \def H in (let TMP_17 \def (ASort n n0)
+in (let TMP_18 \def (arity g c t TMP_17) in (let TMP_19 \def (sn3 c t) in
+(let TMP_20 \def (sn3 c t) in (let TMP_21 \def (\lambda (_: (arity g c t
+(ASort n n0))).(\lambda (H2: (sn3 c t)).H2)) in (land_ind TMP_18 TMP_19
+TMP_20 TMP_21 H0)))))))))) in (let TMP_33 \def (\lambda (vs: TList).(\lambda
+(i: nat).(\lambda (c: C).(\lambda (H: (arity g c (THeads (Flat Appl) vs
+(TLRef i)) (ASort n n0))).(\lambda (H0: (nf2 c (TLRef i))).(\lambda (H1:
+(sns3 c vs)).(let TMP_23 \def (Flat Appl) in (let TMP_24 \def (TLRef i) in
+(let TMP_25 \def (THeads TMP_23 vs TMP_24) in (let TMP_26 \def (ASort n n0)
+in (let TMP_27 \def (arity g c TMP_25 TMP_26) in (let TMP_28 \def (Flat Appl)
+in (let TMP_29 \def (TLRef i) in (let TMP_30 \def (THeads TMP_28 vs TMP_29)
+in (let TMP_31 \def (sn3 c TMP_30) in (let TMP_32 \def (sn3_appls_lref c i H0
+vs H1) in (conj TMP_27 TMP_31 H TMP_32))))))))))))))))) in (conj TMP_6 TMP_16
+TMP_22 TMP_33))))))) in (let TMP_254 \def (\lambda (a0: A).(\lambda (H: (land
(\forall (c: C).(\forall (t: T).((sc3 g a0 c t) \to (sn3 c t)))) (\forall
(vs: TList).(\forall (i: nat).(\forall (c: C).((arity g c (THeads (Flat Appl)
vs (TLRef i)) a0) \to ((nf2 c (TLRef i)) \to ((sns3 c vs) \to (sc3 g a0 c
(land (\forall (c: C).(\forall (t: T).((sc3 g a1 c t) \to (sn3 c t))))
(\forall (vs: TList).(\forall (i: nat).(\forall (c: C).((arity g c (THeads
(Flat Appl) vs (TLRef i)) a1) \to ((nf2 c (TLRef i)) \to ((sns3 c vs) \to
-(sc3 g a1 c (THeads (Flat Appl) vs (TLRef i))))))))))).(conj (\forall (c:
-C).(\forall (t: T).((land (arity g c t (AHead a0 a1)) (\forall (d:
-C).(\forall (w: T).((sc3 g a0 d w) \to (\forall (is: PList).((drop1 is d c)
-\to (sc3 g a1 d (THead (Flat Appl) w (lift1 is t))))))))) \to (sn3 c t))))
-(\forall (vs: TList).(\forall (i: nat).(\forall (c: C).((arity g c (THeads
-(Flat Appl) vs (TLRef i)) (AHead a0 a1)) \to ((nf2 c (TLRef i)) \to ((sns3 c
-vs) \to (land (arity g c (THeads (Flat Appl) vs (TLRef i)) (AHead a0 a1))
-(\forall (d: C).(\forall (w: T).((sc3 g a0 d w) \to (\forall (is:
-PList).((drop1 is d c) \to (sc3 g a1 d (THead (Flat Appl) w (lift1 is (THeads
-(Flat Appl) vs (TLRef i))))))))))))))))) (\lambda (c: C).(\lambda (t:
+(sc3 g a1 c (THeads (Flat Appl) vs (TLRef i))))))))))).(let TMP_35 \def
+(\forall (c: C).(\forall (t: T).((land (arity g c t (AHead a0 a1)) (\forall
+(d: C).(\forall (w: T).((sc3 g a0 d w) \to (\forall (is: PList).((drop1 is d
+c) \to (sc3 g a1 d (THead (Flat Appl) w (lift1 is t))))))))) \to (sn3 c t))))
+in (let TMP_48 \def (\forall (vs: TList).(\forall (i: nat).(\forall (c:
+C).((arity g c (THeads (Flat Appl) vs (TLRef i)) (AHead a0 a1)) \to ((nf2 c
+(TLRef i)) \to ((sns3 c vs) \to (let TMP_36 \def (Flat Appl) in (let TMP_37
+\def (TLRef i) in (let TMP_38 \def (THeads TMP_36 vs TMP_37) in (let TMP_39
+\def (AHead a0 a1) in (let TMP_40 \def (arity g c TMP_38 TMP_39) in (let
+TMP_47 \def (\forall (d: C).(\forall (w: T).((sc3 g a0 d w) \to (\forall (is:
+PList).((drop1 is d c) \to (let TMP_41 \def (Flat Appl) in (let TMP_42 \def
+(Flat Appl) in (let TMP_43 \def (TLRef i) in (let TMP_44 \def (THeads TMP_42
+vs TMP_43) in (let TMP_45 \def (lift1 is TMP_44) in (let TMP_46 \def (THead
+TMP_41 w TMP_45) in (sc3 g a1 d TMP_46)))))))))))) in (land TMP_40
+TMP_47))))))))))))) in (let TMP_130 \def (\lambda (c: C).(\lambda (t:
T).(\lambda (H1: (land (arity g c t (AHead a0 a1)) (\forall (d: C).(\forall
(w: T).((sc3 g a0 d w) \to (\forall (is: PList).((drop1 is d c) \to (sc3 g a1
-d (THead (Flat Appl) w (lift1 is t)))))))))).(let H2 \def H in (land_ind
-(\forall (c0: C).(\forall (t0: T).((sc3 g a0 c0 t0) \to (sn3 c0 t0))))
-(\forall (vs: TList).(\forall (i: nat).(\forall (c0: C).((arity g c0 (THeads
-(Flat Appl) vs (TLRef i)) a0) \to ((nf2 c0 (TLRef i)) \to ((sns3 c0 vs) \to
-(sc3 g a0 c0 (THeads (Flat Appl) vs (TLRef i))))))))) (sn3 c t) (\lambda (_:
-((\forall (c0: C).(\forall (t0: T).((sc3 g a0 c0 t0) \to (sn3 c0
+d (THead (Flat Appl) w (lift1 is t)))))))))).(let H2 \def H in (let TMP_49
+\def (\forall (c0: C).(\forall (t0: T).((sc3 g a0 c0 t0) \to (sn3 c0 t0))))
+in (let TMP_53 \def (\forall (vs: TList).(\forall (i: nat).(\forall (c0:
+C).((arity g c0 (THeads (Flat Appl) vs (TLRef i)) a0) \to ((nf2 c0 (TLRef i))
+\to ((sns3 c0 vs) \to (let TMP_50 \def (Flat Appl) in (let TMP_51 \def (TLRef
+i) in (let TMP_52 \def (THeads TMP_50 vs TMP_51) in (sc3 g a0 c0
+TMP_52)))))))))) in (let TMP_54 \def (sn3 c t) in (let TMP_129 \def (\lambda
+(_: ((\forall (c0: C).(\forall (t0: T).((sc3 g a0 c0 t0) \to (sn3 c0
t0)))))).(\lambda (H4: ((\forall (vs: TList).(\forall (i: nat).(\forall (c0:
C).((arity g c0 (THeads (Flat Appl) vs (TLRef i)) a0) \to ((nf2 c0 (TLRef i))
\to ((sns3 c0 vs) \to (sc3 g a0 c0 (THeads (Flat Appl) vs (TLRef
-i))))))))))).(let H5 \def H0 in (land_ind (\forall (c0: C).(\forall (t0:
-T).((sc3 g a1 c0 t0) \to (sn3 c0 t0)))) (\forall (vs: TList).(\forall (i:
-nat).(\forall (c0: C).((arity g c0 (THeads (Flat Appl) vs (TLRef i)) a1) \to
-((nf2 c0 (TLRef i)) \to ((sns3 c0 vs) \to (sc3 g a1 c0 (THeads (Flat Appl) vs
-(TLRef i))))))))) (sn3 c t) (\lambda (H6: ((\forall (c0: C).(\forall (t0:
-T).((sc3 g a1 c0 t0) \to (sn3 c0 t0)))))).(\lambda (_: ((\forall (vs:
+i))))))))))).(let H5 \def H0 in (let TMP_55 \def (\forall (c0: C).(\forall
+(t0: T).((sc3 g a1 c0 t0) \to (sn3 c0 t0)))) in (let TMP_59 \def (\forall
+(vs: TList).(\forall (i: nat).(\forall (c0: C).((arity g c0 (THeads (Flat
+Appl) vs (TLRef i)) a1) \to ((nf2 c0 (TLRef i)) \to ((sns3 c0 vs) \to (let
+TMP_56 \def (Flat Appl) in (let TMP_57 \def (TLRef i) in (let TMP_58 \def
+(THeads TMP_56 vs TMP_57) in (sc3 g a1 c0 TMP_58)))))))))) in (let TMP_60
+\def (sn3 c t) in (let TMP_128 \def (\lambda (H6: ((\forall (c0: C).(\forall
+(t0: T).((sc3 g a1 c0 t0) \to (sn3 c0 t0)))))).(\lambda (_: ((\forall (vs:
TList).(\forall (i: nat).(\forall (c0: C).((arity g c0 (THeads (Flat Appl) vs
(TLRef i)) a1) \to ((nf2 c0 (TLRef i)) \to ((sns3 c0 vs) \to (sc3 g a1 c0
-(THeads (Flat Appl) vs (TLRef i))))))))))).(let H8 \def H1 in (land_ind
-(arity g c t (AHead a0 a1)) (\forall (d: C).(\forall (w: T).((sc3 g a0 d w)
-\to (\forall (is: PList).((drop1 is d c) \to (sc3 g a1 d (THead (Flat Appl) w
-(lift1 is t)))))))) (sn3 c t) (\lambda (H9: (arity g c t (AHead a0
-a1))).(\lambda (H10: ((\forall (d: C).(\forall (w: T).((sc3 g a0 d w) \to
-(\forall (is: PList).((drop1 is d c) \to (sc3 g a1 d (THead (Flat Appl) w
-(lift1 is t)))))))))).(let H_y \def (arity_aprem g c t (AHead a0 a1) H9 O a0)
-in (let H11 \def (H_y (aprem_zero a0 a1)) in (ex2_3_ind C T nat (\lambda (d:
-C).(\lambda (_: T).(\lambda (j: nat).(drop j O d c)))) (\lambda (d:
-C).(\lambda (u: T).(\lambda (_: nat).(arity g d u (asucc g a0))))) (sn3 c t)
-(\lambda (x0: C).(\lambda (x1: T).(\lambda (x2: nat).(\lambda (H12: (drop x2
-O x0 c)).(\lambda (H13: (arity g x0 x1 (asucc g a0))).(let H_y0 \def (H10
-(CHead x0 (Bind Abst) x1) (TLRef O) (H4 TNil O (CHead x0 (Bind Abst) x1)
-(arity_abst g (CHead x0 (Bind Abst) x1) x0 x1 O (getl_refl Abst x0 x1) a0
-H13) (nf2_lref_abst (CHead x0 (Bind Abst) x1) x0 x1 O (getl_refl Abst x0 x1))
-I) (PCons (S x2) O PNil)) in (let H_y1 \def (H6 (CHead x0 (Bind Abst) x1)
-(THead (Flat Appl) (TLRef O) (lift (S x2) O t)) (H_y0 (drop1_cons (CHead x0
-(Bind Abst) x1) c (S x2) O (drop_drop (Bind Abst) x2 x0 c H12 x1) c PNil
-(drop1_nil c)))) in (let H_x \def (sn3_gen_flat Appl (CHead x0 (Bind Abst)
-x1) (TLRef O) (lift (S x2) O t) H_y1) in (let H14 \def H_x in (land_ind (sn3
-(CHead x0 (Bind Abst) x1) (TLRef O)) (sn3 (CHead x0 (Bind Abst) x1) (lift (S
-x2) O t)) (sn3 c t) (\lambda (_: (sn3 (CHead x0 (Bind Abst) x1) (TLRef
-O))).(\lambda (H16: (sn3 (CHead x0 (Bind Abst) x1) (lift (S x2) O
-t))).(sn3_gen_lift (CHead x0 (Bind Abst) x1) t (S x2) O H16 c (drop_drop
-(Bind Abst) x2 x0 c H12 x1)))) H14)))))))))) H11))))) H8)))) H5)))) H2)))))
-(\lambda (vs: TList).(\lambda (i: nat).(\lambda (c: C).(\lambda (H1: (arity g
-c (THeads (Flat Appl) vs (TLRef i)) (AHead a0 a1))).(\lambda (H2: (nf2 c
-(TLRef i))).(\lambda (H3: (sns3 c vs)).(conj (arity g c (THeads (Flat Appl)
-vs (TLRef i)) (AHead a0 a1)) (\forall (d: C).(\forall (w: T).((sc3 g a0 d w)
-\to (\forall (is: PList).((drop1 is d c) \to (sc3 g a1 d (THead (Flat Appl) w
-(lift1 is (THeads (Flat Appl) vs (TLRef i)))))))))) H1 (\lambda (d:
-C).(\lambda (w: T).(\lambda (H4: (sc3 g a0 d w)).(\lambda (is:
-PList).(\lambda (H5: (drop1 is d c)).(let H6 \def H in (land_ind (\forall
-(c0: C).(\forall (t: T).((sc3 g a0 c0 t) \to (sn3 c0 t)))) (\forall (vs0:
+(THeads (Flat Appl) vs (TLRef i))))))))))).(let H8 \def H1 in (let TMP_61
+\def (AHead a0 a1) in (let TMP_62 \def (arity g c t TMP_61) in (let TMP_66
+\def (\forall (d: C).(\forall (w: T).((sc3 g a0 d w) \to (\forall (is:
+PList).((drop1 is d c) \to (let TMP_63 \def (Flat Appl) in (let TMP_64 \def
+(lift1 is t) in (let TMP_65 \def (THead TMP_63 w TMP_64) in (sc3 g a1 d
+TMP_65))))))))) in (let TMP_67 \def (sn3 c t) in (let TMP_127 \def (\lambda
+(H9: (arity g c t (AHead a0 a1))).(\lambda (H10: ((\forall (d: C).(\forall
+(w: T).((sc3 g a0 d w) \to (\forall (is: PList).((drop1 is d c) \to (sc3 g a1
+d (THead (Flat Appl) w (lift1 is t)))))))))).(let TMP_68 \def (AHead a0 a1)
+in (let H_y \def (arity_aprem g c t TMP_68 H9 O a0) in (let TMP_69 \def
+(aprem_zero a0 a1) in (let H11 \def (H_y TMP_69) in (let TMP_70 \def (\lambda
+(d: C).(\lambda (_: T).(\lambda (j: nat).(drop j O d c)))) in (let TMP_72
+\def (\lambda (d: C).(\lambda (u: T).(\lambda (_: nat).(let TMP_71 \def
+(asucc g a0) in (arity g d u TMP_71))))) in (let TMP_73 \def (sn3 c t) in
+(let TMP_126 \def (\lambda (x0: C).(\lambda (x1: T).(\lambda (x2:
+nat).(\lambda (H12: (drop x2 O x0 c)).(\lambda (H13: (arity g x0 x1 (asucc g
+a0))).(let TMP_74 \def (Bind Abst) in (let TMP_75 \def (CHead x0 TMP_74 x1)
+in (let TMP_76 \def (TLRef O) in (let TMP_77 \def (Bind Abst) in (let TMP_78
+\def (CHead x0 TMP_77 x1) in (let TMP_79 \def (Bind Abst) in (let TMP_80 \def
+(CHead x0 TMP_79 x1) in (let TMP_81 \def (getl_refl Abst x0 x1) in (let
+TMP_82 \def (arity_abst g TMP_80 x0 x1 O TMP_81 a0 H13) in (let TMP_83 \def
+(Bind Abst) in (let TMP_84 \def (CHead x0 TMP_83 x1) in (let TMP_85 \def
+(getl_refl Abst x0 x1) in (let TMP_86 \def (nf2_lref_abst TMP_84 x0 x1 O
+TMP_85) in (let TMP_87 \def (H4 TNil O TMP_78 TMP_82 TMP_86 I) in (let TMP_88
+\def (S x2) in (let TMP_89 \def (PCons TMP_88 O PNil) in (let H_y0 \def (H10
+TMP_75 TMP_76 TMP_87 TMP_89) in (let TMP_90 \def (Bind Abst) in (let TMP_91
+\def (CHead x0 TMP_90 x1) in (let TMP_92 \def (Flat Appl) in (let TMP_93 \def
+(TLRef O) in (let TMP_94 \def (S x2) in (let TMP_95 \def (lift TMP_94 O t) in
+(let TMP_96 \def (THead TMP_92 TMP_93 TMP_95) in (let TMP_97 \def (Bind Abst)
+in (let TMP_98 \def (CHead x0 TMP_97 x1) in (let TMP_99 \def (S x2) in (let
+TMP_100 \def (Bind Abst) in (let TMP_101 \def (drop_drop TMP_100 x2 x0 c H12
+x1) in (let TMP_102 \def (drop1_nil c) in (let TMP_103 \def (drop1_cons
+TMP_98 c TMP_99 O TMP_101 c PNil TMP_102) in (let TMP_104 \def (H_y0 TMP_103)
+in (let H_y1 \def (H6 TMP_91 TMP_96 TMP_104) in (let TMP_105 \def (Bind Abst)
+in (let TMP_106 \def (CHead x0 TMP_105 x1) in (let TMP_107 \def (TLRef O) in
+(let TMP_108 \def (S x2) in (let TMP_109 \def (lift TMP_108 O t) in (let H_x
+\def (sn3_gen_flat Appl TMP_106 TMP_107 TMP_109 H_y1) in (let H14 \def H_x in
+(let TMP_110 \def (Bind Abst) in (let TMP_111 \def (CHead x0 TMP_110 x1) in
+(let TMP_112 \def (TLRef O) in (let TMP_113 \def (sn3 TMP_111 TMP_112) in
+(let TMP_114 \def (Bind Abst) in (let TMP_115 \def (CHead x0 TMP_114 x1) in
+(let TMP_116 \def (S x2) in (let TMP_117 \def (lift TMP_116 O t) in (let
+TMP_118 \def (sn3 TMP_115 TMP_117) in (let TMP_119 \def (sn3 c t) in (let
+TMP_125 \def (\lambda (_: (sn3 (CHead x0 (Bind Abst) x1) (TLRef O))).(\lambda
+(H16: (sn3 (CHead x0 (Bind Abst) x1) (lift (S x2) O t))).(let TMP_120 \def
+(Bind Abst) in (let TMP_121 \def (CHead x0 TMP_120 x1) in (let TMP_122 \def
+(S x2) in (let TMP_123 \def (Bind Abst) in (let TMP_124 \def (drop_drop
+TMP_123 x2 x0 c H12 x1) in (sn3_gen_lift TMP_121 t TMP_122 O H16 c
+TMP_124)))))))) in (land_ind TMP_113 TMP_118 TMP_119 TMP_125
+H14))))))))))))))))))))))))))))))))))))))))))))))))))))))))) in (ex2_3_ind C
+T nat TMP_70 TMP_72 TMP_73 TMP_126 H11))))))))))) in (land_ind TMP_62 TMP_66
+TMP_67 TMP_127 H8))))))))) in (land_ind TMP_55 TMP_59 TMP_60 TMP_128
+H5)))))))) in (land_ind TMP_49 TMP_53 TMP_54 TMP_129 H2))))))))) in (let
+TMP_253 \def (\lambda (vs: TList).(\lambda (i: nat).(\lambda (c: C).(\lambda
+(H1: (arity g c (THeads (Flat Appl) vs (TLRef i)) (AHead a0 a1))).(\lambda
+(H2: (nf2 c (TLRef i))).(\lambda (H3: (sns3 c vs)).(let TMP_131 \def (Flat
+Appl) in (let TMP_132 \def (TLRef i) in (let TMP_133 \def (THeads TMP_131 vs
+TMP_132) in (let TMP_134 \def (AHead a0 a1) in (let TMP_135 \def (arity g c
+TMP_133 TMP_134) in (let TMP_142 \def (\forall (d: C).(\forall (w: T).((sc3 g
+a0 d w) \to (\forall (is: PList).((drop1 is d c) \to (let TMP_136 \def (Flat
+Appl) in (let TMP_137 \def (Flat Appl) in (let TMP_138 \def (TLRef i) in (let
+TMP_139 \def (THeads TMP_137 vs TMP_138) in (let TMP_140 \def (lift1 is
+TMP_139) in (let TMP_141 \def (THead TMP_136 w TMP_140) in (sc3 g a1 d
+TMP_141)))))))))))) in (let TMP_252 \def (\lambda (d: C).(\lambda (w:
+T).(\lambda (H4: (sc3 g a0 d w)).(\lambda (is: PList).(\lambda (H5: (drop1 is
+d c)).(let H6 \def H in (let TMP_143 \def (\forall (c0: C).(\forall (t:
+T).((sc3 g a0 c0 t) \to (sn3 c0 t)))) in (let TMP_147 \def (\forall (vs0:
TList).(\forall (i0: nat).(\forall (c0: C).((arity g c0 (THeads (Flat Appl)
-vs0 (TLRef i0)) a0) \to ((nf2 c0 (TLRef i0)) \to ((sns3 c0 vs0) \to (sc3 g a0
-c0 (THeads (Flat Appl) vs0 (TLRef i0))))))))) (sc3 g a1 d (THead (Flat Appl)
-w (lift1 is (THeads (Flat Appl) vs (TLRef i))))) (\lambda (H7: ((\forall (c0:
-C).(\forall (t: T).((sc3 g a0 c0 t) \to (sn3 c0 t)))))).(\lambda (_:
-((\forall (vs0: TList).(\forall (i0: nat).(\forall (c0: C).((arity g c0
-(THeads (Flat Appl) vs0 (TLRef i0)) a0) \to ((nf2 c0 (TLRef i0)) \to ((sns3
-c0 vs0) \to (sc3 g a0 c0 (THeads (Flat Appl) vs0 (TLRef i0))))))))))).(let H9
-\def H0 in (land_ind (\forall (c0: C).(\forall (t: T).((sc3 g a1 c0 t) \to
-(sn3 c0 t)))) (\forall (vs0: TList).(\forall (i0: nat).(\forall (c0:
-C).((arity g c0 (THeads (Flat Appl) vs0 (TLRef i0)) a1) \to ((nf2 c0 (TLRef
-i0)) \to ((sns3 c0 vs0) \to (sc3 g a1 c0 (THeads (Flat Appl) vs0 (TLRef
-i0))))))))) (sc3 g a1 d (THead (Flat Appl) w (lift1 is (THeads (Flat Appl) vs
-(TLRef i))))) (\lambda (_: ((\forall (c0: C).(\forall (t: T).((sc3 g a1 c0 t)
-\to (sn3 c0 t)))))).(\lambda (H11: ((\forall (vs0: TList).(\forall (i0:
-nat).(\forall (c0: C).((arity g c0 (THeads (Flat Appl) vs0 (TLRef i0)) a1)
-\to ((nf2 c0 (TLRef i0)) \to ((sns3 c0 vs0) \to (sc3 g a1 c0 (THeads (Flat
-Appl) vs0 (TLRef i0))))))))))).(let H_y \def (H11 (TCons w (lifts1 is vs)))
-in (eq_ind_r T (THeads (Flat Appl) (lifts1 is vs) (lift1 is (TLRef i)))
-(\lambda (t: T).(sc3 g a1 d (THead (Flat Appl) w t))) (eq_ind_r T (TLRef
-(trans is i)) (\lambda (t: T).(sc3 g a1 d (THead (Flat Appl) w (THeads (Flat
-Appl) (lifts1 is vs) t)))) (H_y (trans is i) d (eq_ind T (lift1 is (TLRef i))
-(\lambda (t: T).(arity g d (THead (Flat Appl) w (THeads (Flat Appl) (lifts1
-is vs) t)) a1)) (eq_ind T (lift1 is (THeads (Flat Appl) vs (TLRef i)))
-(\lambda (t: T).(arity g d (THead (Flat Appl) w t) a1)) (arity_appl g d w a0
-(sc3_arity_gen g d w a0 H4) (lift1 is (THeads (Flat Appl) vs (TLRef i))) a1
-(arity_lift1 g (AHead a0 a1) c is d (THeads (Flat Appl) vs (TLRef i)) H5 H1))
-(THeads (Flat Appl) (lifts1 is vs) (lift1 is (TLRef i))) (lifts1_flat Appl is
-(TLRef i) vs)) (TLRef (trans is i)) (lift1_lref is i)) (eq_ind T (lift1 is
-(TLRef i)) (\lambda (t: T).(nf2 d t)) (nf2_lift1 c is d (TLRef i) H5 H2)
-(TLRef (trans is i)) (lift1_lref is i)) (conj (sn3 d w) (sns3 d (lifts1 is
-vs)) (H7 d w H4) (sns3_lifts1 c is d H5 vs H3))) (lift1 is (TLRef i))
-(lift1_lref is i)) (lift1 is (THeads (Flat Appl) vs (TLRef i))) (lifts1_flat
-Appl is (TLRef i) vs))))) H9)))) H6))))))))))))))))))) a)).
-(* COMMENTS
-Initial nodes: 2737
-END *)
+vs0 (TLRef i0)) a0) \to ((nf2 c0 (TLRef i0)) \to ((sns3 c0 vs0) \to (let
+TMP_144 \def (Flat Appl) in (let TMP_145 \def (TLRef i0) in (let TMP_146 \def
+(THeads TMP_144 vs0 TMP_145) in (sc3 g a0 c0 TMP_146)))))))))) in (let
+TMP_148 \def (Flat Appl) in (let TMP_149 \def (Flat Appl) in (let TMP_150
+\def (TLRef i) in (let TMP_151 \def (THeads TMP_149 vs TMP_150) in (let
+TMP_152 \def (lift1 is TMP_151) in (let TMP_153 \def (THead TMP_148 w
+TMP_152) in (let TMP_154 \def (sc3 g a1 d TMP_153) in (let TMP_251 \def
+(\lambda (H7: ((\forall (c0: C).(\forall (t: T).((sc3 g a0 c0 t) \to (sn3 c0
+t)))))).(\lambda (_: ((\forall (vs0: TList).(\forall (i0: nat).(\forall (c0:
+C).((arity g c0 (THeads (Flat Appl) vs0 (TLRef i0)) a0) \to ((nf2 c0 (TLRef
+i0)) \to ((sns3 c0 vs0) \to (sc3 g a0 c0 (THeads (Flat Appl) vs0 (TLRef
+i0))))))))))).(let H9 \def H0 in (let TMP_155 \def (\forall (c0: C).(\forall
+(t: T).((sc3 g a1 c0 t) \to (sn3 c0 t)))) in (let TMP_159 \def (\forall (vs0:
+TList).(\forall (i0: nat).(\forall (c0: C).((arity g c0 (THeads (Flat Appl)
+vs0 (TLRef i0)) a1) \to ((nf2 c0 (TLRef i0)) \to ((sns3 c0 vs0) \to (let
+TMP_156 \def (Flat Appl) in (let TMP_157 \def (TLRef i0) in (let TMP_158 \def
+(THeads TMP_156 vs0 TMP_157) in (sc3 g a1 c0 TMP_158)))))))))) in (let
+TMP_160 \def (Flat Appl) in (let TMP_161 \def (Flat Appl) in (let TMP_162
+\def (TLRef i) in (let TMP_163 \def (THeads TMP_161 vs TMP_162) in (let
+TMP_164 \def (lift1 is TMP_163) in (let TMP_165 \def (THead TMP_160 w
+TMP_164) in (let TMP_166 \def (sc3 g a1 d TMP_165) in (let TMP_250 \def
+(\lambda (_: ((\forall (c0: C).(\forall (t: T).((sc3 g a1 c0 t) \to (sn3 c0
+t)))))).(\lambda (H11: ((\forall (vs0: TList).(\forall (i0: nat).(\forall
+(c0: C).((arity g c0 (THeads (Flat Appl) vs0 (TLRef i0)) a1) \to ((nf2 c0
+(TLRef i0)) \to ((sns3 c0 vs0) \to (sc3 g a1 c0 (THeads (Flat Appl) vs0
+(TLRef i0))))))))))).(let TMP_167 \def (lifts1 is vs) in (let TMP_168 \def
+(TCons w TMP_167) in (let H_y \def (H11 TMP_168) in (let TMP_169 \def (Flat
+Appl) in (let TMP_170 \def (lifts1 is vs) in (let TMP_171 \def (TLRef i) in
+(let TMP_172 \def (lift1 is TMP_171) in (let TMP_173 \def (THeads TMP_169
+TMP_170 TMP_172) in (let TMP_176 \def (\lambda (t: T).(let TMP_174 \def (Flat
+Appl) in (let TMP_175 \def (THead TMP_174 w t) in (sc3 g a1 d TMP_175)))) in
+(let TMP_177 \def (trans is i) in (let TMP_178 \def (TLRef TMP_177) in (let
+TMP_184 \def (\lambda (t: T).(let TMP_179 \def (Flat Appl) in (let TMP_180
+\def (Flat Appl) in (let TMP_181 \def (lifts1 is vs) in (let TMP_182 \def
+(THeads TMP_180 TMP_181 t) in (let TMP_183 \def (THead TMP_179 w TMP_182) in
+(sc3 g a1 d TMP_183))))))) in (let TMP_185 \def (trans is i) in (let TMP_186
+\def (TLRef i) in (let TMP_187 \def (lift1 is TMP_186) in (let TMP_193 \def
+(\lambda (t: T).(let TMP_188 \def (Flat Appl) in (let TMP_189 \def (Flat
+Appl) in (let TMP_190 \def (lifts1 is vs) in (let TMP_191 \def (THeads
+TMP_189 TMP_190 t) in (let TMP_192 \def (THead TMP_188 w TMP_191) in (arity g
+d TMP_192 a1))))))) in (let TMP_194 \def (Flat Appl) in (let TMP_195 \def
+(TLRef i) in (let TMP_196 \def (THeads TMP_194 vs TMP_195) in (let TMP_197
+\def (lift1 is TMP_196) in (let TMP_200 \def (\lambda (t: T).(let TMP_198
+\def (Flat Appl) in (let TMP_199 \def (THead TMP_198 w t) in (arity g d
+TMP_199 a1)))) in (let TMP_201 \def (sc3_arity_gen g d w a0 H4) in (let
+TMP_202 \def (Flat Appl) in (let TMP_203 \def (TLRef i) in (let TMP_204 \def
+(THeads TMP_202 vs TMP_203) in (let TMP_205 \def (lift1 is TMP_204) in (let
+TMP_206 \def (AHead a0 a1) in (let TMP_207 \def (Flat Appl) in (let TMP_208
+\def (TLRef i) in (let TMP_209 \def (THeads TMP_207 vs TMP_208) in (let
+TMP_210 \def (arity_lift1 g TMP_206 c is d TMP_209 H5 H1) in (let TMP_211
+\def (arity_appl g d w a0 TMP_201 TMP_205 a1 TMP_210) in (let TMP_212 \def
+(Flat Appl) in (let TMP_213 \def (lifts1 is vs) in (let TMP_214 \def (TLRef
+i) in (let TMP_215 \def (lift1 is TMP_214) in (let TMP_216 \def (THeads
+TMP_212 TMP_213 TMP_215) in (let TMP_217 \def (TLRef i) in (let TMP_218 \def
+(lifts1_flat Appl is TMP_217 vs) in (let TMP_219 \def (eq_ind T TMP_197
+TMP_200 TMP_211 TMP_216 TMP_218) in (let TMP_220 \def (trans is i) in (let
+TMP_221 \def (TLRef TMP_220) in (let TMP_222 \def (lift1_lref is i) in (let
+TMP_223 \def (eq_ind T TMP_187 TMP_193 TMP_219 TMP_221 TMP_222) in (let
+TMP_224 \def (TLRef i) in (let TMP_225 \def (lift1 is TMP_224) in (let
+TMP_226 \def (\lambda (t: T).(nf2 d t)) in (let TMP_227 \def (TLRef i) in
+(let TMP_228 \def (nf2_lift1 c is d TMP_227 H5 H2) in (let TMP_229 \def
+(trans is i) in (let TMP_230 \def (TLRef TMP_229) in (let TMP_231 \def
+(lift1_lref is i) in (let TMP_232 \def (eq_ind T TMP_225 TMP_226 TMP_228
+TMP_230 TMP_231) in (let TMP_233 \def (sn3 d w) in (let TMP_234 \def (lifts1
+is vs) in (let TMP_235 \def (sns3 d TMP_234) in (let TMP_236 \def (H7 d w H4)
+in (let TMP_237 \def (sns3_lifts1 c is d H5 vs H3) in (let TMP_238 \def (conj
+TMP_233 TMP_235 TMP_236 TMP_237) in (let TMP_239 \def (H_y TMP_185 d TMP_223
+TMP_232 TMP_238) in (let TMP_240 \def (TLRef i) in (let TMP_241 \def (lift1
+is TMP_240) in (let TMP_242 \def (lift1_lref is i) in (let TMP_243 \def
+(eq_ind_r T TMP_178 TMP_184 TMP_239 TMP_241 TMP_242) in (let TMP_244 \def
+(Flat Appl) in (let TMP_245 \def (TLRef i) in (let TMP_246 \def (THeads
+TMP_244 vs TMP_245) in (let TMP_247 \def (lift1 is TMP_246) in (let TMP_248
+\def (TLRef i) in (let TMP_249 \def (lifts1_flat Appl is TMP_248 vs) in
+(eq_ind_r T TMP_173 TMP_176 TMP_243 TMP_247
+TMP_249)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+)) in (land_ind TMP_155 TMP_159 TMP_166 TMP_250 H9)))))))))))))) in (land_ind
+TMP_143 TMP_147 TMP_154 TMP_251 H6))))))))))))))))) in (conj TMP_135 TMP_142
+H1 TMP_252)))))))))))))) in (conj TMP_35 TMP_48 TMP_130 TMP_253))))))))) in
+(A_ind TMP_5 TMP_34 TMP_254 a))))).
theorem sc3_sn3:
\forall (g: G).(\forall (a: A).(\forall (c: C).(\forall (t: T).((sc3 g a c
\def
\lambda (g: G).(\lambda (a: A).(\lambda (c: C).(\lambda (t: T).(\lambda (H:
(sc3 g a c t)).(let H_x \def (sc3_props__sc3_sn3_abst g a) in (let H0 \def
-H_x in (land_ind (\forall (c0: C).(\forall (t0: T).((sc3 g a c0 t0) \to (sn3
-c0 t0)))) (\forall (vs: TList).(\forall (i: nat).(\forall (c0: C).((arity g
-c0 (THeads (Flat Appl) vs (TLRef i)) a) \to ((nf2 c0 (TLRef i)) \to ((sns3 c0
-vs) \to (sc3 g a c0 (THeads (Flat Appl) vs (TLRef i))))))))) (sn3 c t)
-(\lambda (H1: ((\forall (c0: C).(\forall (t0: T).((sc3 g a c0 t0) \to (sn3 c0
+H_x in (let TMP_1 \def (\forall (c0: C).(\forall (t0: T).((sc3 g a c0 t0) \to
+(sn3 c0 t0)))) in (let TMP_5 \def (\forall (vs: TList).(\forall (i:
+nat).(\forall (c0: C).((arity g c0 (THeads (Flat Appl) vs (TLRef i)) a) \to
+((nf2 c0 (TLRef i)) \to ((sns3 c0 vs) \to (let TMP_2 \def (Flat Appl) in (let
+TMP_3 \def (TLRef i) in (let TMP_4 \def (THeads TMP_2 vs TMP_3) in (sc3 g a
+c0 TMP_4)))))))))) in (let TMP_6 \def (sn3 c t) in (let TMP_7 \def (\lambda
+(H1: ((\forall (c0: C).(\forall (t0: T).((sc3 g a c0 t0) \to (sn3 c0
t0)))))).(\lambda (_: ((\forall (vs: TList).(\forall (i: nat).(\forall (c0:
C).((arity g c0 (THeads (Flat Appl) vs (TLRef i)) a) \to ((nf2 c0 (TLRef i))
\to ((sns3 c0 vs) \to (sc3 g a c0 (THeads (Flat Appl) vs (TLRef
-i))))))))))).(H1 c t H))) H0))))))).
-(* COMMENTS
-Initial nodes: 203
-END *)
+i))))))))))).(H1 c t H))) in (land_ind TMP_1 TMP_5 TMP_6 TMP_7 H0))))))))))).
theorem sc3_abst:
\forall (g: G).(\forall (a: A).(\forall (vs: TList).(\forall (c: C).(\forall
\lambda (g: G).(\lambda (a: A).(\lambda (vs: TList).(\lambda (c: C).(\lambda
(i: nat).(\lambda (H: (arity g c (THeads (Flat Appl) vs (TLRef i))
a)).(\lambda (H0: (nf2 c (TLRef i))).(\lambda (H1: (sns3 c vs)).(let H_x \def
-(sc3_props__sc3_sn3_abst g a) in (let H2 \def H_x in (land_ind (\forall (c0:
-C).(\forall (t: T).((sc3 g a c0 t) \to (sn3 c0 t)))) (\forall (vs0:
-TList).(\forall (i0: nat).(\forall (c0: C).((arity g c0 (THeads (Flat Appl)
-vs0 (TLRef i0)) a) \to ((nf2 c0 (TLRef i0)) \to ((sns3 c0 vs0) \to (sc3 g a
-c0 (THeads (Flat Appl) vs0 (TLRef i0))))))))) (sc3 g a c (THeads (Flat Appl)
-vs (TLRef i))) (\lambda (_: ((\forall (c0: C).(\forall (t: T).((sc3 g a c0 t)
-\to (sn3 c0 t)))))).(\lambda (H4: ((\forall (vs0: TList).(\forall (i0:
-nat).(\forall (c0: C).((arity g c0 (THeads (Flat Appl) vs0 (TLRef i0)) a) \to
-((nf2 c0 (TLRef i0)) \to ((sns3 c0 vs0) \to (sc3 g a c0 (THeads (Flat Appl)
-vs0 (TLRef i0))))))))))).(H4 vs i c H H0 H1))) H2)))))))))).
-(* COMMENTS
-Initial nodes: 249
-END *)
+(sc3_props__sc3_sn3_abst g a) in (let H2 \def H_x in (let TMP_1 \def (\forall
+(c0: C).(\forall (t: T).((sc3 g a c0 t) \to (sn3 c0 t)))) in (let TMP_5 \def
+(\forall (vs0: TList).(\forall (i0: nat).(\forall (c0: C).((arity g c0
+(THeads (Flat Appl) vs0 (TLRef i0)) a) \to ((nf2 c0 (TLRef i0)) \to ((sns3 c0
+vs0) \to (let TMP_2 \def (Flat Appl) in (let TMP_3 \def (TLRef i0) in (let
+TMP_4 \def (THeads TMP_2 vs0 TMP_3) in (sc3 g a c0 TMP_4)))))))))) in (let
+TMP_6 \def (Flat Appl) in (let TMP_7 \def (TLRef i) in (let TMP_8 \def
+(THeads TMP_6 vs TMP_7) in (let TMP_9 \def (sc3 g a c TMP_8) in (let TMP_10
+\def (\lambda (_: ((\forall (c0: C).(\forall (t: T).((sc3 g a c0 t) \to (sn3
+c0 t)))))).(\lambda (H4: ((\forall (vs0: TList).(\forall (i0: nat).(\forall
+(c0: C).((arity g c0 (THeads (Flat Appl) vs0 (TLRef i0)) a) \to ((nf2 c0
+(TLRef i0)) \to ((sns3 c0 vs0) \to (sc3 g a c0 (THeads (Flat Appl) vs0 (TLRef
+i0))))))))))).(H4 vs i c H H0 H1))) in (land_ind TMP_1 TMP_5 TMP_9 TMP_10
+H2))))))))))))))))).
theorem sc3_bind:
\forall (g: G).(\forall (b: B).((not (eq B b Abst)) \to (\forall (a1:
(THead (Bind b) v t)))))))))))))
\def
\lambda (g: G).(\lambda (b: B).(\lambda (H: (not (eq B b Abst))).(\lambda
-(a1: A).(\lambda (a2: A).(A_ind (\lambda (a: A).(\forall (vs: TList).(\forall
-(c: C).(\forall (v: T).(\forall (t: T).((sc3 g a (CHead c (Bind b) v) (THeads
-(Flat Appl) (lifts (S O) O vs) t)) \to ((sc3 g a1 c v) \to (sc3 g a c (THeads
-(Flat Appl) vs (THead (Bind b) v t)))))))))) (\lambda (n: nat).(\lambda (n0:
+(a1: A).(\lambda (a2: A).(let TMP_5 \def (\lambda (a: A).(\forall (vs:
+TList).(\forall (c: C).(\forall (v: T).(\forall (t: T).((sc3 g a (CHead c
+(Bind b) v) (THeads (Flat Appl) (lifts (S O) O vs) t)) \to ((sc3 g a1 c v)
+\to (let TMP_1 \def (Flat Appl) in (let TMP_2 \def (Bind b) in (let TMP_3
+\def (THead TMP_2 v t) in (let TMP_4 \def (THeads TMP_1 vs TMP_3) in (sc3 g a
+c TMP_4)))))))))))) in (let TMP_50 \def (\lambda (n: nat).(\lambda (n0:
nat).(\lambda (vs: TList).(\lambda (c: C).(\lambda (v: T).(\lambda (t:
T).(\lambda (H0: (land (arity g (CHead c (Bind b) v) (THeads (Flat Appl)
(lifts (S O) O vs) t) (ASort n n0)) (sn3 (CHead c (Bind b) v) (THeads (Flat
Appl) (lifts (S O) O vs) t)))).(\lambda (H1: (sc3 g a1 c v)).(let H2 \def H0
-in (land_ind (arity g (CHead c (Bind b) v) (THeads (Flat Appl) (lifts (S O) O
-vs) t) (ASort n n0)) (sn3 (CHead c (Bind b) v) (THeads (Flat Appl) (lifts (S
-O) O vs) t)) (land (arity g c (THeads (Flat Appl) vs (THead (Bind b) v t))
-(ASort n n0)) (sn3 c (THeads (Flat Appl) vs (THead (Bind b) v t)))) (\lambda
-(H3: (arity g (CHead c (Bind b) v) (THeads (Flat Appl) (lifts (S O) O vs) t)
-(ASort n n0))).(\lambda (H4: (sn3 (CHead c (Bind b) v) (THeads (Flat Appl)
-(lifts (S O) O vs) t))).(conj (arity g c (THeads (Flat Appl) vs (THead (Bind
-b) v t)) (ASort n n0)) (sn3 c (THeads (Flat Appl) vs (THead (Bind b) v t)))
-(arity_appls_bind g b H c v a1 (sc3_arity_gen g c v a1 H1) t vs (ASort n n0)
-H3) (sn3_appls_bind b H c v (sc3_sn3 g a1 c v H1) vs t H4)))) H2))))))))))
-(\lambda (a: A).(\lambda (_: ((\forall (vs: TList).(\forall (c: C).(\forall
-(v: T).(\forall (t: T).((sc3 g a (CHead c (Bind b) v) (THeads (Flat Appl)
-(lifts (S O) O vs) t)) \to ((sc3 g a1 c v) \to (sc3 g a c (THeads (Flat Appl)
-vs (THead (Bind b) v t))))))))))).(\lambda (a0: A).(\lambda (H1: ((\forall
-(vs: TList).(\forall (c: C).(\forall (v: T).(\forall (t: T).((sc3 g a0 (CHead
-c (Bind b) v) (THeads (Flat Appl) (lifts (S O) O vs) t)) \to ((sc3 g a1 c v)
+in (let TMP_6 \def (Bind b) in (let TMP_7 \def (CHead c TMP_6 v) in (let
+TMP_8 \def (Flat Appl) in (let TMP_9 \def (S O) in (let TMP_10 \def (lifts
+TMP_9 O vs) in (let TMP_11 \def (THeads TMP_8 TMP_10 t) in (let TMP_12 \def
+(ASort n n0) in (let TMP_13 \def (arity g TMP_7 TMP_11 TMP_12) in (let TMP_14
+\def (Bind b) in (let TMP_15 \def (CHead c TMP_14 v) in (let TMP_16 \def
+(Flat Appl) in (let TMP_17 \def (S O) in (let TMP_18 \def (lifts TMP_17 O vs)
+in (let TMP_19 \def (THeads TMP_16 TMP_18 t) in (let TMP_20 \def (sn3 TMP_15
+TMP_19) in (let TMP_21 \def (Flat Appl) in (let TMP_22 \def (Bind b) in (let
+TMP_23 \def (THead TMP_22 v t) in (let TMP_24 \def (THeads TMP_21 vs TMP_23)
+in (let TMP_25 \def (ASort n n0) in (let TMP_26 \def (arity g c TMP_24
+TMP_25) in (let TMP_27 \def (Flat Appl) in (let TMP_28 \def (Bind b) in (let
+TMP_29 \def (THead TMP_28 v t) in (let TMP_30 \def (THeads TMP_27 vs TMP_29)
+in (let TMP_31 \def (sn3 c TMP_30) in (let TMP_32 \def (land TMP_26 TMP_31)
+in (let TMP_49 \def (\lambda (H3: (arity g (CHead c (Bind b) v) (THeads (Flat
+Appl) (lifts (S O) O vs) t) (ASort n n0))).(\lambda (H4: (sn3 (CHead c (Bind
+b) v) (THeads (Flat Appl) (lifts (S O) O vs) t))).(let TMP_33 \def (Flat
+Appl) in (let TMP_34 \def (Bind b) in (let TMP_35 \def (THead TMP_34 v t) in
+(let TMP_36 \def (THeads TMP_33 vs TMP_35) in (let TMP_37 \def (ASort n n0)
+in (let TMP_38 \def (arity g c TMP_36 TMP_37) in (let TMP_39 \def (Flat Appl)
+in (let TMP_40 \def (Bind b) in (let TMP_41 \def (THead TMP_40 v t) in (let
+TMP_42 \def (THeads TMP_39 vs TMP_41) in (let TMP_43 \def (sn3 c TMP_42) in
+(let TMP_44 \def (sc3_arity_gen g c v a1 H1) in (let TMP_45 \def (ASort n n0)
+in (let TMP_46 \def (arity_appls_bind g b H c v a1 TMP_44 t vs TMP_45 H3) in
+(let TMP_47 \def (sc3_sn3 g a1 c v H1) in (let TMP_48 \def (sn3_appls_bind b
+H c v TMP_47 vs t H4) in (conj TMP_38 TMP_43 TMP_46 TMP_48)))))))))))))))))))
+in (land_ind TMP_13 TMP_20 TMP_32 TMP_49
+H2)))))))))))))))))))))))))))))))))))))) in (let TMP_206 \def (\lambda (a:
+A).(\lambda (_: ((\forall (vs: TList).(\forall (c: C).(\forall (v:
+T).(\forall (t: T).((sc3 g a (CHead c (Bind b) v) (THeads (Flat Appl) (lifts
+(S O) O vs) t)) \to ((sc3 g a1 c v) \to (sc3 g a c (THeads (Flat Appl) vs
+(THead (Bind b) v t))))))))))).(\lambda (a0: A).(\lambda (H1: ((\forall (vs:
+TList).(\forall (c: C).(\forall (v: T).(\forall (t: T).((sc3 g a0 (CHead c
+(Bind b) v) (THeads (Flat Appl) (lifts (S O) O vs) t)) \to ((sc3 g a1 c v)
\to (sc3 g a0 c (THeads (Flat Appl) vs (THead (Bind b) v
t))))))))))).(\lambda (vs: TList).(\lambda (c: C).(\lambda (v: T).(\lambda
(t: T).(\lambda (H2: (land (arity g (CHead c (Bind b) v) (THeads (Flat Appl)
(lifts (S O) O vs) t) (AHead a a0)) (\forall (d: C).(\forall (w: T).((sc3 g a
d w) \to (\forall (is: PList).((drop1 is d (CHead c (Bind b) v)) \to (sc3 g
a0 d (THead (Flat Appl) w (lift1 is (THeads (Flat Appl) (lifts (S O) O vs)
-t))))))))))).(\lambda (H3: (sc3 g a1 c v)).(let H4 \def H2 in (land_ind
-(arity g (CHead c (Bind b) v) (THeads (Flat Appl) (lifts (S O) O vs) t)
-(AHead a a0)) (\forall (d: C).(\forall (w: T).((sc3 g a d w) \to (\forall
-(is: PList).((drop1 is d (CHead c (Bind b) v)) \to (sc3 g a0 d (THead (Flat
-Appl) w (lift1 is (THeads (Flat Appl) (lifts (S O) O vs) t))))))))) (land
-(arity g c (THeads (Flat Appl) vs (THead (Bind b) v t)) (AHead a a0))
+t))))))))))).(\lambda (H3: (sc3 g a1 c v)).(let H4 \def H2 in (let TMP_51
+\def (Bind b) in (let TMP_52 \def (CHead c TMP_51 v) in (let TMP_53 \def
+(Flat Appl) in (let TMP_54 \def (S O) in (let TMP_55 \def (lifts TMP_54 O vs)
+in (let TMP_56 \def (THeads TMP_53 TMP_55 t) in (let TMP_57 \def (AHead a a0)
+in (let TMP_58 \def (arity g TMP_52 TMP_56 TMP_57) in (let TMP_66 \def
(\forall (d: C).(\forall (w: T).((sc3 g a d w) \to (\forall (is:
-PList).((drop1 is d c) \to (sc3 g a0 d (THead (Flat Appl) w (lift1 is (THeads
-(Flat Appl) vs (THead (Bind b) v t))))))))))) (\lambda (H5: (arity g (CHead c
-(Bind b) v) (THeads (Flat Appl) (lifts (S O) O vs) t) (AHead a a0))).(\lambda
-(H6: ((\forall (d: C).(\forall (w: T).((sc3 g a d w) \to (\forall (is:
-PList).((drop1 is d (CHead c (Bind b) v)) \to (sc3 g a0 d (THead (Flat Appl)
-w (lift1 is (THeads (Flat Appl) (lifts (S O) O vs) t))))))))))).(conj (arity
-g c (THeads (Flat Appl) vs (THead (Bind b) v t)) (AHead a a0)) (\forall (d:
+PList).((drop1 is d (CHead c (Bind b) v)) \to (let TMP_59 \def (Flat Appl) in
+(let TMP_60 \def (Flat Appl) in (let TMP_61 \def (S O) in (let TMP_62 \def
+(lifts TMP_61 O vs) in (let TMP_63 \def (THeads TMP_60 TMP_62 t) in (let
+TMP_64 \def (lift1 is TMP_63) in (let TMP_65 \def (THead TMP_59 w TMP_64) in
+(sc3 g a0 d TMP_65))))))))))))) in (let TMP_67 \def (Flat Appl) in (let
+TMP_68 \def (Bind b) in (let TMP_69 \def (THead TMP_68 v t) in (let TMP_70
+\def (THeads TMP_67 vs TMP_69) in (let TMP_71 \def (AHead a a0) in (let
+TMP_72 \def (arity g c TMP_70 TMP_71) in (let TMP_80 \def (\forall (d:
C).(\forall (w: T).((sc3 g a d w) \to (\forall (is: PList).((drop1 is d c)
-\to (sc3 g a0 d (THead (Flat Appl) w (lift1 is (THeads (Flat Appl) vs (THead
-(Bind b) v t)))))))))) (arity_appls_bind g b H c v a1 (sc3_arity_gen g c v a1
-H3) t vs (AHead a a0) H5) (\lambda (d: C).(\lambda (w: T).(\lambda (H7: (sc3
-g a d w)).(\lambda (is: PList).(\lambda (H8: (drop1 is d c)).(let H_y \def
-(H1 (TCons w (lifts1 is vs))) in (eq_ind_r T (THeads (Flat Appl) (lifts1 is
-vs) (lift1 is (THead (Bind b) v t))) (\lambda (t0: T).(sc3 g a0 d (THead
-(Flat Appl) w t0))) (eq_ind_r T (THead (Bind b) (lift1 is v) (lift1 (Ss is)
-t)) (\lambda (t0: T).(sc3 g a0 d (THead (Flat Appl) w (THeads (Flat Appl)
-(lifts1 is vs) t0)))) (H_y d (lift1 is v) (lift1 (Ss is) t) (eq_ind TList
-(lifts1 (Ss is) (lifts (S O) O vs)) (\lambda (t0: TList).(sc3 g a0 (CHead d
-(Bind b) (lift1 is v)) (THead (Flat Appl) (lift (S O) O w) (THeads (Flat
-Appl) t0 (lift1 (Ss is) t))))) (eq_ind T (lift1 (Ss is) (THeads (Flat Appl)
-(lifts (S O) O vs) t)) (\lambda (t0: T).(sc3 g a0 (CHead d (Bind b) (lift1 is
-v)) (THead (Flat Appl) (lift (S O) O w) t0))) (H6 (CHead d (Bind b) (lift1 is
-v)) (lift (S O) O w) (sc3_lift g a d w H7 (CHead d (Bind b) (lift1 is v)) (S
-O) O (drop_drop (Bind b) O d d (drop_refl d) (lift1 is v))) (Ss is)
-(drop1_skip_bind b c is d v H8)) (THeads (Flat Appl) (lifts1 (Ss is) (lifts
-(S O) O vs)) (lift1 (Ss is) t)) (lifts1_flat Appl (Ss is) t (lifts (S O) O
-vs))) (lifts (S O) O (lifts1 is vs)) (lifts1_xhg is vs)) (sc3_lift1 g c a1 is
-d v H3 H8)) (lift1 is (THead (Bind b) v t)) (lift1_bind b is v t)) (lift1 is
-(THeads (Flat Appl) vs (THead (Bind b) v t))) (lifts1_flat Appl is (THead
-(Bind b) v t) vs))))))))))) H4)))))))))))) a2))))).
-(* COMMENTS
-Initial nodes: 1797
-END *)
+\to (let TMP_73 \def (Flat Appl) in (let TMP_74 \def (Flat Appl) in (let
+TMP_75 \def (Bind b) in (let TMP_76 \def (THead TMP_75 v t) in (let TMP_77
+\def (THeads TMP_74 vs TMP_76) in (let TMP_78 \def (lift1 is TMP_77) in (let
+TMP_79 \def (THead TMP_73 w TMP_78) in (sc3 g a0 d TMP_79))))))))))))) in
+(let TMP_81 \def (land TMP_72 TMP_80) in (let TMP_205 \def (\lambda (H5:
+(arity g (CHead c (Bind b) v) (THeads (Flat Appl) (lifts (S O) O vs) t)
+(AHead a a0))).(\lambda (H6: ((\forall (d: C).(\forall (w: T).((sc3 g a d w)
+\to (\forall (is: PList).((drop1 is d (CHead c (Bind b) v)) \to (sc3 g a0 d
+(THead (Flat Appl) w (lift1 is (THeads (Flat Appl) (lifts (S O) O vs)
+t))))))))))).(let TMP_82 \def (Flat Appl) in (let TMP_83 \def (Bind b) in
+(let TMP_84 \def (THead TMP_83 v t) in (let TMP_85 \def (THeads TMP_82 vs
+TMP_84) in (let TMP_86 \def (AHead a a0) in (let TMP_87 \def (arity g c
+TMP_85 TMP_86) in (let TMP_95 \def (\forall (d: C).(\forall (w: T).((sc3 g a
+d w) \to (\forall (is: PList).((drop1 is d c) \to (let TMP_88 \def (Flat
+Appl) in (let TMP_89 \def (Flat Appl) in (let TMP_90 \def (Bind b) in (let
+TMP_91 \def (THead TMP_90 v t) in (let TMP_92 \def (THeads TMP_89 vs TMP_91)
+in (let TMP_93 \def (lift1 is TMP_92) in (let TMP_94 \def (THead TMP_88 w
+TMP_93) in (sc3 g a0 d TMP_94))))))))))))) in (let TMP_96 \def (sc3_arity_gen
+g c v a1 H3) in (let TMP_97 \def (AHead a a0) in (let TMP_98 \def
+(arity_appls_bind g b H c v a1 TMP_96 t vs TMP_97 H5) in (let TMP_204 \def
+(\lambda (d: C).(\lambda (w: T).(\lambda (H7: (sc3 g a d w)).(\lambda (is:
+PList).(\lambda (H8: (drop1 is d c)).(let TMP_99 \def (lifts1 is vs) in (let
+TMP_100 \def (TCons w TMP_99) in (let H_y \def (H1 TMP_100) in (let TMP_101
+\def (Flat Appl) in (let TMP_102 \def (lifts1 is vs) in (let TMP_103 \def
+(Bind b) in (let TMP_104 \def (THead TMP_103 v t) in (let TMP_105 \def (lift1
+is TMP_104) in (let TMP_106 \def (THeads TMP_101 TMP_102 TMP_105) in (let
+TMP_109 \def (\lambda (t0: T).(let TMP_107 \def (Flat Appl) in (let TMP_108
+\def (THead TMP_107 w t0) in (sc3 g a0 d TMP_108)))) in (let TMP_110 \def
+(Bind b) in (let TMP_111 \def (lift1 is v) in (let TMP_112 \def (Ss is) in
+(let TMP_113 \def (lift1 TMP_112 t) in (let TMP_114 \def (THead TMP_110
+TMP_111 TMP_113) in (let TMP_120 \def (\lambda (t0: T).(let TMP_115 \def
+(Flat Appl) in (let TMP_116 \def (Flat Appl) in (let TMP_117 \def (lifts1 is
+vs) in (let TMP_118 \def (THeads TMP_116 TMP_117 t0) in (let TMP_119 \def
+(THead TMP_115 w TMP_118) in (sc3 g a0 d TMP_119))))))) in (let TMP_121 \def
+(lift1 is v) in (let TMP_122 \def (Ss is) in (let TMP_123 \def (lift1 TMP_122
+t) in (let TMP_124 \def (Ss is) in (let TMP_125 \def (S O) in (let TMP_126
+\def (lifts TMP_125 O vs) in (let TMP_127 \def (lifts1 TMP_124 TMP_126) in
+(let TMP_139 \def (\lambda (t0: TList).(let TMP_128 \def (Bind b) in (let
+TMP_129 \def (lift1 is v) in (let TMP_130 \def (CHead d TMP_128 TMP_129) in
+(let TMP_131 \def (Flat Appl) in (let TMP_132 \def (S O) in (let TMP_133 \def
+(lift TMP_132 O w) in (let TMP_134 \def (Flat Appl) in (let TMP_135 \def (Ss
+is) in (let TMP_136 \def (lift1 TMP_135 t) in (let TMP_137 \def (THeads
+TMP_134 t0 TMP_136) in (let TMP_138 \def (THead TMP_131 TMP_133 TMP_137) in
+(sc3 g a0 TMP_130 TMP_138))))))))))))) in (let TMP_140 \def (Ss is) in (let
+TMP_141 \def (Flat Appl) in (let TMP_142 \def (S O) in (let TMP_143 \def
+(lifts TMP_142 O vs) in (let TMP_144 \def (THeads TMP_141 TMP_143 t) in (let
+TMP_145 \def (lift1 TMP_140 TMP_144) in (let TMP_153 \def (\lambda (t0:
+T).(let TMP_146 \def (Bind b) in (let TMP_147 \def (lift1 is v) in (let
+TMP_148 \def (CHead d TMP_146 TMP_147) in (let TMP_149 \def (Flat Appl) in
+(let TMP_150 \def (S O) in (let TMP_151 \def (lift TMP_150 O w) in (let
+TMP_152 \def (THead TMP_149 TMP_151 t0) in (sc3 g a0 TMP_148 TMP_152)))))))))
+in (let TMP_154 \def (Bind b) in (let TMP_155 \def (lift1 is v) in (let
+TMP_156 \def (CHead d TMP_154 TMP_155) in (let TMP_157 \def (S O) in (let
+TMP_158 \def (lift TMP_157 O w) in (let TMP_159 \def (Bind b) in (let TMP_160
+\def (lift1 is v) in (let TMP_161 \def (CHead d TMP_159 TMP_160) in (let
+TMP_162 \def (S O) in (let TMP_163 \def (Bind b) in (let TMP_164 \def
+(drop_refl d) in (let TMP_165 \def (lift1 is v) in (let TMP_166 \def
+(drop_drop TMP_163 O d d TMP_164 TMP_165) in (let TMP_167 \def (sc3_lift g a
+d w H7 TMP_161 TMP_162 O TMP_166) in (let TMP_168 \def (Ss is) in (let
+TMP_169 \def (drop1_skip_bind b c is d v H8) in (let TMP_170 \def (H6 TMP_156
+TMP_158 TMP_167 TMP_168 TMP_169) in (let TMP_171 \def (Flat Appl) in (let
+TMP_172 \def (Ss is) in (let TMP_173 \def (S O) in (let TMP_174 \def (lifts
+TMP_173 O vs) in (let TMP_175 \def (lifts1 TMP_172 TMP_174) in (let TMP_176
+\def (Ss is) in (let TMP_177 \def (lift1 TMP_176 t) in (let TMP_178 \def
+(THeads TMP_171 TMP_175 TMP_177) in (let TMP_179 \def (Ss is) in (let TMP_180
+\def (S O) in (let TMP_181 \def (lifts TMP_180 O vs) in (let TMP_182 \def
+(lifts1_flat Appl TMP_179 t TMP_181) in (let TMP_183 \def (eq_ind T TMP_145
+TMP_153 TMP_170 TMP_178 TMP_182) in (let TMP_184 \def (S O) in (let TMP_185
+\def (lifts1 is vs) in (let TMP_186 \def (lifts TMP_184 O TMP_185) in (let
+TMP_187 \def (lifts1_xhg is vs) in (let TMP_188 \def (eq_ind TList TMP_127
+TMP_139 TMP_183 TMP_186 TMP_187) in (let TMP_189 \def (sc3_lift1 g c a1 is d
+v H3 H8) in (let TMP_190 \def (H_y d TMP_121 TMP_123 TMP_188 TMP_189) in (let
+TMP_191 \def (Bind b) in (let TMP_192 \def (THead TMP_191 v t) in (let
+TMP_193 \def (lift1 is TMP_192) in (let TMP_194 \def (lift1_bind b is v t) in
+(let TMP_195 \def (eq_ind_r T TMP_114 TMP_120 TMP_190 TMP_193 TMP_194) in
+(let TMP_196 \def (Flat Appl) in (let TMP_197 \def (Bind b) in (let TMP_198
+\def (THead TMP_197 v t) in (let TMP_199 \def (THeads TMP_196 vs TMP_198) in
+(let TMP_200 \def (lift1 is TMP_199) in (let TMP_201 \def (Bind b) in (let
+TMP_202 \def (THead TMP_201 v t) in (let TMP_203 \def (lifts1_flat Appl is
+TMP_202 vs) in (eq_ind_r T TMP_106 TMP_109 TMP_195 TMP_200
+TMP_203)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+)))))))))))))))) in (conj TMP_87 TMP_95 TMP_98 TMP_204)))))))))))))) in
+(land_ind TMP_58 TMP_66 TMP_81 TMP_205 H4)))))))))))))))))))))))))))))) in
+(A_ind TMP_5 TMP_50 TMP_206 a2)))))))).
theorem sc3_appl:
\forall (g: G).(\forall (a1: A).(\forall (a2: A).(\forall (vs:
T).((sc3 g (asucc g a1) c w) \to (sc3 g a2 c (THeads (Flat Appl) vs (THead
(Flat Appl) v (THead (Bind Abst) w t))))))))))))))
\def
- \lambda (g: G).(\lambda (a1: A).(\lambda (a2: A).(A_ind (\lambda (a:
-A).(\forall (vs: TList).(\forall (c: C).(\forall (v: T).(\forall (t: T).((sc3
-g a c (THeads (Flat Appl) vs (THead (Bind Abbr) v t))) \to ((sc3 g a1 c v)
-\to (\forall (w: T).((sc3 g (asucc g a1) c w) \to (sc3 g a c (THeads (Flat
-Appl) vs (THead (Flat Appl) v (THead (Bind Abst) w t))))))))))))) (\lambda
-(n: nat).(\lambda (n0: nat).(\lambda (vs: TList).(\lambda (c: C).(\lambda (v:
-T).(\lambda (t: T).(\lambda (H: (land (arity g c (THeads (Flat Appl) vs
-(THead (Bind Abbr) v t)) (ASort n n0)) (sn3 c (THeads (Flat Appl) vs (THead
-(Bind Abbr) v t))))).(\lambda (H0: (sc3 g a1 c v)).(\lambda (w: T).(\lambda
-(H1: (sc3 g (asucc g a1) c w)).(let H2 \def H in (land_ind (arity g c (THeads
-(Flat Appl) vs (THead (Bind Abbr) v t)) (ASort n n0)) (sn3 c (THeads (Flat
-Appl) vs (THead (Bind Abbr) v t))) (land (arity g c (THeads (Flat Appl) vs
-(THead (Flat Appl) v (THead (Bind Abst) w t))) (ASort n n0)) (sn3 c (THeads
-(Flat Appl) vs (THead (Flat Appl) v (THead (Bind Abst) w t))))) (\lambda (H3:
-(arity g c (THeads (Flat Appl) vs (THead (Bind Abbr) v t)) (ASort n
-n0))).(\lambda (H4: (sn3 c (THeads (Flat Appl) vs (THead (Bind Abbr) v
-t)))).(conj (arity g c (THeads (Flat Appl) vs (THead (Flat Appl) v (THead
-(Bind Abst) w t))) (ASort n n0)) (sn3 c (THeads (Flat Appl) vs (THead (Flat
-Appl) v (THead (Bind Abst) w t)))) (arity_appls_appl g c v a1 (sc3_arity_gen
-g c v a1 H0) w (sc3_arity_gen g c w (asucc g a1) H1) t vs (ASort n n0) H3)
-(sn3_appls_beta c v t vs H4 w (sc3_sn3 g (asucc g a1) c w H1)))))
-H2)))))))))))) (\lambda (a: A).(\lambda (_: ((\forall (vs: TList).(\forall
-(c: C).(\forall (v: T).(\forall (t: T).((sc3 g a c (THeads (Flat Appl) vs
+ \lambda (g: G).(\lambda (a1: A).(\lambda (a2: A).(let TMP_7 \def (\lambda
+(a: A).(\forall (vs: TList).(\forall (c: C).(\forall (v: T).(\forall (t:
+T).((sc3 g a c (THeads (Flat Appl) vs (THead (Bind Abbr) v t))) \to ((sc3 g
+a1 c v) \to (\forall (w: T).((sc3 g (asucc g a1) c w) \to (let TMP_1 \def
+(Flat Appl) in (let TMP_2 \def (Flat Appl) in (let TMP_3 \def (Bind Abst) in
+(let TMP_4 \def (THead TMP_3 w t) in (let TMP_5 \def (THead TMP_2 v TMP_4) in
+(let TMP_6 \def (THeads TMP_1 vs TMP_5) in (sc3 g a c TMP_6))))))))))))))))
+in (let TMP_59 \def (\lambda (n: nat).(\lambda (n0: nat).(\lambda (vs:
+TList).(\lambda (c: C).(\lambda (v: T).(\lambda (t: T).(\lambda (H: (land
+(arity g c (THeads (Flat Appl) vs (THead (Bind Abbr) v t)) (ASort n n0)) (sn3
+c (THeads (Flat Appl) vs (THead (Bind Abbr) v t))))).(\lambda (H0: (sc3 g a1
+c v)).(\lambda (w: T).(\lambda (H1: (sc3 g (asucc g a1) c w)).(let H2 \def H
+in (let TMP_8 \def (Flat Appl) in (let TMP_9 \def (Bind Abbr) in (let TMP_10
+\def (THead TMP_9 v t) in (let TMP_11 \def (THeads TMP_8 vs TMP_10) in (let
+TMP_12 \def (ASort n n0) in (let TMP_13 \def (arity g c TMP_11 TMP_12) in
+(let TMP_14 \def (Flat Appl) in (let TMP_15 \def (Bind Abbr) in (let TMP_16
+\def (THead TMP_15 v t) in (let TMP_17 \def (THeads TMP_14 vs TMP_16) in (let
+TMP_18 \def (sn3 c TMP_17) in (let TMP_19 \def (Flat Appl) in (let TMP_20
+\def (Flat Appl) in (let TMP_21 \def (Bind Abst) in (let TMP_22 \def (THead
+TMP_21 w t) in (let TMP_23 \def (THead TMP_20 v TMP_22) in (let TMP_24 \def
+(THeads TMP_19 vs TMP_23) in (let TMP_25 \def (ASort n n0) in (let TMP_26
+\def (arity g c TMP_24 TMP_25) in (let TMP_27 \def (Flat Appl) in (let TMP_28
+\def (Flat Appl) in (let TMP_29 \def (Bind Abst) in (let TMP_30 \def (THead
+TMP_29 w t) in (let TMP_31 \def (THead TMP_28 v TMP_30) in (let TMP_32 \def
+(THeads TMP_27 vs TMP_31) in (let TMP_33 \def (sn3 c TMP_32) in (let TMP_34
+\def (land TMP_26 TMP_33) in (let TMP_58 \def (\lambda (H3: (arity g c
+(THeads (Flat Appl) vs (THead (Bind Abbr) v t)) (ASort n n0))).(\lambda (H4:
+(sn3 c (THeads (Flat Appl) vs (THead (Bind Abbr) v t)))).(let TMP_35 \def
+(Flat Appl) in (let TMP_36 \def (Flat Appl) in (let TMP_37 \def (Bind Abst)
+in (let TMP_38 \def (THead TMP_37 w t) in (let TMP_39 \def (THead TMP_36 v
+TMP_38) in (let TMP_40 \def (THeads TMP_35 vs TMP_39) in (let TMP_41 \def
+(ASort n n0) in (let TMP_42 \def (arity g c TMP_40 TMP_41) in (let TMP_43
+\def (Flat Appl) in (let TMP_44 \def (Flat Appl) in (let TMP_45 \def (Bind
+Abst) in (let TMP_46 \def (THead TMP_45 w t) in (let TMP_47 \def (THead
+TMP_44 v TMP_46) in (let TMP_48 \def (THeads TMP_43 vs TMP_47) in (let TMP_49
+\def (sn3 c TMP_48) in (let TMP_50 \def (sc3_arity_gen g c v a1 H0) in (let
+TMP_51 \def (asucc g a1) in (let TMP_52 \def (sc3_arity_gen g c w TMP_51 H1)
+in (let TMP_53 \def (ASort n n0) in (let TMP_54 \def (arity_appls_appl g c v
+a1 TMP_50 w TMP_52 t vs TMP_53 H3) in (let TMP_55 \def (asucc g a1) in (let
+TMP_56 \def (sc3_sn3 g TMP_55 c w H1) in (let TMP_57 \def (sn3_appls_beta c v
+t vs H4 w TMP_56) in (conj TMP_42 TMP_49 TMP_54
+TMP_57)))))))))))))))))))))))))) in (land_ind TMP_13 TMP_18 TMP_34 TMP_58
+H2)))))))))))))))))))))))))))))))))))))))) in (let TMP_226 \def (\lambda (a:
+A).(\lambda (_: ((\forall (vs: TList).(\forall (c: C).(\forall (v:
+T).(\forall (t: T).((sc3 g a c (THeads (Flat Appl) vs (THead (Bind Abbr) v
+t))) \to ((sc3 g a1 c v) \to (\forall (w: T).((sc3 g (asucc g a1) c w) \to
+(sc3 g a c (THeads (Flat Appl) vs (THead (Flat Appl) v (THead (Bind Abst) w
+t)))))))))))))).(\lambda (a0: A).(\lambda (H0: ((\forall (vs: TList).(\forall
+(c: C).(\forall (v: T).(\forall (t: T).((sc3 g a0 c (THeads (Flat Appl) vs
(THead (Bind Abbr) v t))) \to ((sc3 g a1 c v) \to (\forall (w: T).((sc3 g
-(asucc g a1) c w) \to (sc3 g a c (THeads (Flat Appl) vs (THead (Flat Appl) v
-(THead (Bind Abst) w t)))))))))))))).(\lambda (a0: A).(\lambda (H0: ((\forall
-(vs: TList).(\forall (c: C).(\forall (v: T).(\forall (t: T).((sc3 g a0 c
-(THeads (Flat Appl) vs (THead (Bind Abbr) v t))) \to ((sc3 g a1 c v) \to
-(\forall (w: T).((sc3 g (asucc g a1) c w) \to (sc3 g a0 c (THeads (Flat Appl)
-vs (THead (Flat Appl) v (THead (Bind Abst) w t)))))))))))))).(\lambda (vs:
-TList).(\lambda (c: C).(\lambda (v: T).(\lambda (t: T).(\lambda (H1: (land
-(arity g c (THeads (Flat Appl) vs (THead (Bind Abbr) v t)) (AHead a a0))
-(\forall (d: C).(\forall (w: T).((sc3 g a d w) \to (\forall (is:
-PList).((drop1 is d c) \to (sc3 g a0 d (THead (Flat Appl) w (lift1 is (THeads
-(Flat Appl) vs (THead (Bind Abbr) v t)))))))))))).(\lambda (H2: (sc3 g a1 c
-v)).(\lambda (w: T).(\lambda (H3: (sc3 g (asucc g a1) c w)).(let H4 \def H1
-in (land_ind (arity g c (THeads (Flat Appl) vs (THead (Bind Abbr) v t))
-(AHead a a0)) (\forall (d: C).(\forall (w0: T).((sc3 g a d w0) \to (\forall
-(is: PList).((drop1 is d c) \to (sc3 g a0 d (THead (Flat Appl) w0 (lift1 is
-(THeads (Flat Appl) vs (THead (Bind Abbr) v t)))))))))) (land (arity g c
-(THeads (Flat Appl) vs (THead (Flat Appl) v (THead (Bind Abst) w t))) (AHead
-a a0)) (\forall (d: C).(\forall (w0: T).((sc3 g a d w0) \to (\forall (is:
-PList).((drop1 is d c) \to (sc3 g a0 d (THead (Flat Appl) w0 (lift1 is
-(THeads (Flat Appl) vs (THead (Flat Appl) v (THead (Bind Abst) w
-t)))))))))))) (\lambda (H5: (arity g c (THeads (Flat Appl) vs (THead (Bind
-Abbr) v t)) (AHead a a0))).(\lambda (H6: ((\forall (d: C).(\forall (w0:
-T).((sc3 g a d w0) \to (\forall (is: PList).((drop1 is d c) \to (sc3 g a0 d
-(THead (Flat Appl) w0 (lift1 is (THeads (Flat Appl) vs (THead (Bind Abbr) v
-t)))))))))))).(conj (arity g c (THeads (Flat Appl) vs (THead (Flat Appl) v
-(THead (Bind Abst) w t))) (AHead a a0)) (\forall (d: C).(\forall (w0:
-T).((sc3 g a d w0) \to (\forall (is: PList).((drop1 is d c) \to (sc3 g a0 d
-(THead (Flat Appl) w0 (lift1 is (THeads (Flat Appl) vs (THead (Flat Appl) v
-(THead (Bind Abst) w t))))))))))) (arity_appls_appl g c v a1 (sc3_arity_gen g
-c v a1 H2) w (sc3_arity_gen g c w (asucc g a1) H3) t vs (AHead a a0) H5)
-(\lambda (d: C).(\lambda (w0: T).(\lambda (H7: (sc3 g a d w0)).(\lambda (is:
-PList).(\lambda (H8: (drop1 is d c)).(eq_ind_r T (THeads (Flat Appl) (lifts1
-is vs) (lift1 is (THead (Flat Appl) v (THead (Bind Abst) w t)))) (\lambda
-(t0: T).(sc3 g a0 d (THead (Flat Appl) w0 t0))) (eq_ind_r T (THead (Flat
-Appl) (lift1 is v) (lift1 is (THead (Bind Abst) w t))) (\lambda (t0: T).(sc3
-g a0 d (THead (Flat Appl) w0 (THeads (Flat Appl) (lifts1 is vs) t0))))
-(eq_ind_r T (THead (Bind Abst) (lift1 is w) (lift1 (Ss is) t)) (\lambda (t0:
-T).(sc3 g a0 d (THead (Flat Appl) w0 (THeads (Flat Appl) (lifts1 is vs)
-(THead (Flat Appl) (lift1 is v) t0))))) (let H_y \def (H0 (TCons w0 (lifts1
-is vs))) in (H_y d (lift1 is v) (lift1 (Ss is) t) (eq_ind T (lift1 is (THead
-(Bind Abbr) v t)) (\lambda (t0: T).(sc3 g a0 d (THead (Flat Appl) w0 (THeads
-(Flat Appl) (lifts1 is vs) t0)))) (eq_ind T (lift1 is (THeads (Flat Appl) vs
-(THead (Bind Abbr) v t))) (\lambda (t0: T).(sc3 g a0 d (THead (Flat Appl) w0
-t0))) (H6 d w0 H7 is H8) (THeads (Flat Appl) (lifts1 is vs) (lift1 is (THead
-(Bind Abbr) v t))) (lifts1_flat Appl is (THead (Bind Abbr) v t) vs)) (THead
-(Bind Abbr) (lift1 is v) (lift1 (Ss is) t)) (lift1_bind Abbr is v t))
-(sc3_lift1 g c a1 is d v H2 H8) (lift1 is w) (sc3_lift1 g c (asucc g a1) is d
-w H3 H8))) (lift1 is (THead (Bind Abst) w t)) (lift1_bind Abst is w t))
-(lift1 is (THead (Flat Appl) v (THead (Bind Abst) w t))) (lift1_flat Appl is
-v (THead (Bind Abst) w t))) (lift1 is (THeads (Flat Appl) vs (THead (Flat
-Appl) v (THead (Bind Abst) w t)))) (lifts1_flat Appl is (THead (Flat Appl) v
-(THead (Bind Abst) w t)) vs)))))))))) H4)))))))))))))) a2))).
-(* COMMENTS
-Initial nodes: 1901
-END *)
+(asucc g a1) c w) \to (sc3 g a0 c (THeads (Flat Appl) vs (THead (Flat Appl) v
+(THead (Bind Abst) w t)))))))))))))).(\lambda (vs: TList).(\lambda (c:
+C).(\lambda (v: T).(\lambda (t: T).(\lambda (H1: (land (arity g c (THeads
+(Flat Appl) vs (THead (Bind Abbr) v t)) (AHead a a0)) (\forall (d:
+C).(\forall (w: T).((sc3 g a d w) \to (\forall (is: PList).((drop1 is d c)
+\to (sc3 g a0 d (THead (Flat Appl) w (lift1 is (THeads (Flat Appl) vs (THead
+(Bind Abbr) v t)))))))))))).(\lambda (H2: (sc3 g a1 c v)).(\lambda (w:
+T).(\lambda (H3: (sc3 g (asucc g a1) c w)).(let H4 \def H1 in (let TMP_60
+\def (Flat Appl) in (let TMP_61 \def (Bind Abbr) in (let TMP_62 \def (THead
+TMP_61 v t) in (let TMP_63 \def (THeads TMP_60 vs TMP_62) in (let TMP_64 \def
+(AHead a a0) in (let TMP_65 \def (arity g c TMP_63 TMP_64) in (let TMP_73
+\def (\forall (d: C).(\forall (w0: T).((sc3 g a d w0) \to (\forall (is:
+PList).((drop1 is d c) \to (let TMP_66 \def (Flat Appl) in (let TMP_67 \def
+(Flat Appl) in (let TMP_68 \def (Bind Abbr) in (let TMP_69 \def (THead TMP_68
+v t) in (let TMP_70 \def (THeads TMP_67 vs TMP_69) in (let TMP_71 \def (lift1
+is TMP_70) in (let TMP_72 \def (THead TMP_66 w0 TMP_71) in (sc3 g a0 d
+TMP_72))))))))))))) in (let TMP_74 \def (Flat Appl) in (let TMP_75 \def (Flat
+Appl) in (let TMP_76 \def (Bind Abst) in (let TMP_77 \def (THead TMP_76 w t)
+in (let TMP_78 \def (THead TMP_75 v TMP_77) in (let TMP_79 \def (THeads
+TMP_74 vs TMP_78) in (let TMP_80 \def (AHead a a0) in (let TMP_81 \def (arity
+g c TMP_79 TMP_80) in (let TMP_91 \def (\forall (d: C).(\forall (w0: T).((sc3
+g a d w0) \to (\forall (is: PList).((drop1 is d c) \to (let TMP_82 \def (Flat
+Appl) in (let TMP_83 \def (Flat Appl) in (let TMP_84 \def (Flat Appl) in (let
+TMP_85 \def (Bind Abst) in (let TMP_86 \def (THead TMP_85 w t) in (let TMP_87
+\def (THead TMP_84 v TMP_86) in (let TMP_88 \def (THeads TMP_83 vs TMP_87) in
+(let TMP_89 \def (lift1 is TMP_88) in (let TMP_90 \def (THead TMP_82 w0
+TMP_89) in (sc3 g a0 d TMP_90))))))))))))))) in (let TMP_92 \def (land TMP_81
+TMP_91) in (let TMP_225 \def (\lambda (H5: (arity g c (THeads (Flat Appl) vs
+(THead (Bind Abbr) v t)) (AHead a a0))).(\lambda (H6: ((\forall (d:
+C).(\forall (w0: T).((sc3 g a d w0) \to (\forall (is: PList).((drop1 is d c)
+\to (sc3 g a0 d (THead (Flat Appl) w0 (lift1 is (THeads (Flat Appl) vs (THead
+(Bind Abbr) v t)))))))))))).(let TMP_93 \def (Flat Appl) in (let TMP_94 \def
+(Flat Appl) in (let TMP_95 \def (Bind Abst) in (let TMP_96 \def (THead TMP_95
+w t) in (let TMP_97 \def (THead TMP_94 v TMP_96) in (let TMP_98 \def (THeads
+TMP_93 vs TMP_97) in (let TMP_99 \def (AHead a a0) in (let TMP_100 \def
+(arity g c TMP_98 TMP_99) in (let TMP_110 \def (\forall (d: C).(\forall (w0:
+T).((sc3 g a d w0) \to (\forall (is: PList).((drop1 is d c) \to (let TMP_101
+\def (Flat Appl) in (let TMP_102 \def (Flat Appl) in (let TMP_103 \def (Flat
+Appl) in (let TMP_104 \def (Bind Abst) in (let TMP_105 \def (THead TMP_104 w
+t) in (let TMP_106 \def (THead TMP_103 v TMP_105) in (let TMP_107 \def
+(THeads TMP_102 vs TMP_106) in (let TMP_108 \def (lift1 is TMP_107) in (let
+TMP_109 \def (THead TMP_101 w0 TMP_108) in (sc3 g a0 d TMP_109)))))))))))))))
+in (let TMP_111 \def (sc3_arity_gen g c v a1 H2) in (let TMP_112 \def (asucc
+g a1) in (let TMP_113 \def (sc3_arity_gen g c w TMP_112 H3) in (let TMP_114
+\def (AHead a a0) in (let TMP_115 \def (arity_appls_appl g c v a1 TMP_111 w
+TMP_113 t vs TMP_114 H5) in (let TMP_224 \def (\lambda (d: C).(\lambda (w0:
+T).(\lambda (H7: (sc3 g a d w0)).(\lambda (is: PList).(\lambda (H8: (drop1 is
+d c)).(let TMP_116 \def (Flat Appl) in (let TMP_117 \def (lifts1 is vs) in
+(let TMP_118 \def (Flat Appl) in (let TMP_119 \def (Bind Abst) in (let
+TMP_120 \def (THead TMP_119 w t) in (let TMP_121 \def (THead TMP_118 v
+TMP_120) in (let TMP_122 \def (lift1 is TMP_121) in (let TMP_123 \def (THeads
+TMP_116 TMP_117 TMP_122) in (let TMP_126 \def (\lambda (t0: T).(let TMP_124
+\def (Flat Appl) in (let TMP_125 \def (THead TMP_124 w0 t0) in (sc3 g a0 d
+TMP_125)))) in (let TMP_127 \def (Flat Appl) in (let TMP_128 \def (lift1 is
+v) in (let TMP_129 \def (Bind Abst) in (let TMP_130 \def (THead TMP_129 w t)
+in (let TMP_131 \def (lift1 is TMP_130) in (let TMP_132 \def (THead TMP_127
+TMP_128 TMP_131) in (let TMP_138 \def (\lambda (t0: T).(let TMP_133 \def
+(Flat Appl) in (let TMP_134 \def (Flat Appl) in (let TMP_135 \def (lifts1 is
+vs) in (let TMP_136 \def (THeads TMP_134 TMP_135 t0) in (let TMP_137 \def
+(THead TMP_133 w0 TMP_136) in (sc3 g a0 d TMP_137))))))) in (let TMP_139 \def
+(Bind Abst) in (let TMP_140 \def (lift1 is w) in (let TMP_141 \def (Ss is) in
+(let TMP_142 \def (lift1 TMP_141 t) in (let TMP_143 \def (THead TMP_139
+TMP_140 TMP_142) in (let TMP_152 \def (\lambda (t0: T).(let TMP_144 \def
+(Flat Appl) in (let TMP_145 \def (Flat Appl) in (let TMP_146 \def (lifts1 is
+vs) in (let TMP_147 \def (Flat Appl) in (let TMP_148 \def (lift1 is v) in
+(let TMP_149 \def (THead TMP_147 TMP_148 t0) in (let TMP_150 \def (THeads
+TMP_145 TMP_146 TMP_149) in (let TMP_151 \def (THead TMP_144 w0 TMP_150) in
+(sc3 g a0 d TMP_151)))))))))) in (let TMP_153 \def (lifts1 is vs) in (let
+TMP_154 \def (TCons w0 TMP_153) in (let H_y \def (H0 TMP_154) in (let TMP_155
+\def (lift1 is v) in (let TMP_156 \def (Ss is) in (let TMP_157 \def (lift1
+TMP_156 t) in (let TMP_158 \def (Bind Abbr) in (let TMP_159 \def (THead
+TMP_158 v t) in (let TMP_160 \def (lift1 is TMP_159) in (let TMP_166 \def
+(\lambda (t0: T).(let TMP_161 \def (Flat Appl) in (let TMP_162 \def (Flat
+Appl) in (let TMP_163 \def (lifts1 is vs) in (let TMP_164 \def (THeads
+TMP_162 TMP_163 t0) in (let TMP_165 \def (THead TMP_161 w0 TMP_164) in (sc3 g
+a0 d TMP_165))))))) in (let TMP_167 \def (Flat Appl) in (let TMP_168 \def
+(Bind Abbr) in (let TMP_169 \def (THead TMP_168 v t) in (let TMP_170 \def
+(THeads TMP_167 vs TMP_169) in (let TMP_171 \def (lift1 is TMP_170) in (let
+TMP_174 \def (\lambda (t0: T).(let TMP_172 \def (Flat Appl) in (let TMP_173
+\def (THead TMP_172 w0 t0) in (sc3 g a0 d TMP_173)))) in (let TMP_175 \def
+(H6 d w0 H7 is H8) in (let TMP_176 \def (Flat Appl) in (let TMP_177 \def
+(lifts1 is vs) in (let TMP_178 \def (Bind Abbr) in (let TMP_179 \def (THead
+TMP_178 v t) in (let TMP_180 \def (lift1 is TMP_179) in (let TMP_181 \def
+(THeads TMP_176 TMP_177 TMP_180) in (let TMP_182 \def (Bind Abbr) in (let
+TMP_183 \def (THead TMP_182 v t) in (let TMP_184 \def (lifts1_flat Appl is
+TMP_183 vs) in (let TMP_185 \def (eq_ind T TMP_171 TMP_174 TMP_175 TMP_181
+TMP_184) in (let TMP_186 \def (Bind Abbr) in (let TMP_187 \def (lift1 is v)
+in (let TMP_188 \def (Ss is) in (let TMP_189 \def (lift1 TMP_188 t) in (let
+TMP_190 \def (THead TMP_186 TMP_187 TMP_189) in (let TMP_191 \def (lift1_bind
+Abbr is v t) in (let TMP_192 \def (eq_ind T TMP_160 TMP_166 TMP_185 TMP_190
+TMP_191) in (let TMP_193 \def (sc3_lift1 g c a1 is d v H2 H8) in (let TMP_194
+\def (lift1 is w) in (let TMP_195 \def (asucc g a1) in (let TMP_196 \def
+(sc3_lift1 g c TMP_195 is d w H3 H8) in (let TMP_197 \def (H_y d TMP_155
+TMP_157 TMP_192 TMP_193 TMP_194 TMP_196) in (let TMP_198 \def (Bind Abst) in
+(let TMP_199 \def (THead TMP_198 w t) in (let TMP_200 \def (lift1 is TMP_199)
+in (let TMP_201 \def (lift1_bind Abst is w t) in (let TMP_202 \def (eq_ind_r
+T TMP_143 TMP_152 TMP_197 TMP_200 TMP_201) in (let TMP_203 \def (Flat Appl)
+in (let TMP_204 \def (Bind Abst) in (let TMP_205 \def (THead TMP_204 w t) in
+(let TMP_206 \def (THead TMP_203 v TMP_205) in (let TMP_207 \def (lift1 is
+TMP_206) in (let TMP_208 \def (Bind Abst) in (let TMP_209 \def (THead TMP_208
+w t) in (let TMP_210 \def (lift1_flat Appl is v TMP_209) in (let TMP_211 \def
+(eq_ind_r T TMP_132 TMP_138 TMP_202 TMP_207 TMP_210) in (let TMP_212 \def
+(Flat Appl) in (let TMP_213 \def (Flat Appl) in (let TMP_214 \def (Bind Abst)
+in (let TMP_215 \def (THead TMP_214 w t) in (let TMP_216 \def (THead TMP_213
+v TMP_215) in (let TMP_217 \def (THeads TMP_212 vs TMP_216) in (let TMP_218
+\def (lift1 is TMP_217) in (let TMP_219 \def (Flat Appl) in (let TMP_220 \def
+(Bind Abst) in (let TMP_221 \def (THead TMP_220 w t) in (let TMP_222 \def
+(THead TMP_219 v TMP_221) in (let TMP_223 \def (lifts1_flat Appl is TMP_222
+vs) in (eq_ind_r T TMP_123 TMP_126 TMP_211 TMP_218
+TMP_223)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+)))))))))))))))))))))) in (conj TMP_100 TMP_110 TMP_115
+TMP_224)))))))))))))))))) in (land_ind TMP_65 TMP_73 TMP_92 TMP_225
+H4)))))))))))))))))))))))))))))))) in (A_ind TMP_7 TMP_59 TMP_226 a2)))))).