DEFINITION csuba_drop_abbr()
TYPE =
       i:nat
         .c1:C
           .d1:C
             .u:T
               .drop i O c1 (CHead d1 (Bind Abbr) u)
                 g:G
                      .c2:C
                        .csuba g c1 c2
                          ex2 C λd2:C.drop i O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
BODY =
       assume inat
          we proceed by induction on i to prove 
             c1:C
               .d1:C
                 .u:T
                   .drop i O c1 (CHead d1 (Bind Abbr) u)
                     g:G
                          .c2:C
                            .csuba g c1 c2
                              ex2 C λd2:C.drop i O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
             case O : 
                the thesis becomes 
                c1:C
                  .d1:C
                    .u:T
                      .drop O O c1 (CHead d1 (Bind Abbr) u)
                        g:G
                             .c2:C
                               .csuba g c1 c2
                                 ex2 C λd2:C.drop O O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                    assume c1C
                    assume d1C
                    assume uT
                    suppose Hdrop O O c1 (CHead d1 (Bind Abbr) u)
                    assume gG
                    assume c2C
                    suppose H0csuba g c1 c2
                      (H1
                         by (drop_gen_refl . . H)
                         we proved eq C c1 (CHead d1 (Bind Abbr) u)
                         we proceed by induction on the previous result to prove csuba g (CHead d1 (Bind Abbr) u) c2
                            case refl_equal : 
                               the thesis becomes the hypothesis H0
csuba g (CHead d1 (Bind Abbr) u) c2
                      end of H1
                      (H_x
                         by (csuba_gen_abbr . . . . H1)
ex2 C λd2:C.eq C c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                      end of H_x
                      (H2consider H_x
                      we proceed by induction on H2 to prove ex2 C λd2:C.drop O O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                         case ex_intro2 : x:C H3:eq C c2 (CHead x (Bind Abbr) u) H4:csuba g d1 x 
                            the thesis becomes ex2 C λd2:C.drop O O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                               by (drop_refl .)
                               we proved drop O O (CHead x (Bind Abbr) u) (CHead x (Bind Abbr) u)
                               by (ex_intro2 . . . . previous H4)
                               we proved 
                                  ex2
                                    C
                                    λd2:C.drop O O (CHead x (Bind Abbr) u) (CHead d2 (Bind Abbr) u)
                                    λd2:C.csuba g d1 d2
                               by (eq_ind_r . . . previous . H3)
ex2 C λd2:C.drop O O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                      we proved ex2 C λd2:C.drop O O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2

                      c1:C
                        .d1:C
                          .u:T
                            .drop O O c1 (CHead d1 (Bind Abbr) u)
                              g:G
                                   .c2:C
                                     .csuba g c1 c2
                                       ex2 C λd2:C.drop O O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
             case S : n:nat 
                the thesis becomes 
                c1:C
                  .d1:C
                    .u:T
                      .drop (S n) O c1 (CHead d1 (Bind Abbr) u)
                        g:G
                             .c2:C
                               .csuba g c1 c2
                                 ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                (H) by induction hypothesis we know 
                   c1:C
                     .d1:C
                       .u:T
                         .drop n O c1 (CHead d1 (Bind Abbr) u)
                           g:G
                                .c2:C
                                  .csuba g c1 c2
                                    ex2 C λd2:C.drop n O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                   assume c1C
                      we proceed by induction on c1 to prove 
                         d1:C
                           .u:T
                             .drop (S n) O c1 (CHead d1 (Bind Abbr) u)
                               g:G
                                    .c2:C
                                      .csuba g c1 c2
                                        ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                         case CSort : n0:nat 
                            the thesis becomes 
                            d1:C
                              .u:T
                                .H0:drop (S n) O (CSort n0) (CHead d1 (Bind Abbr) u)
                                  .g:G
                                    .c2:C
                                      .csuba g (CSort n0) c2
                                        ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                assume d1C
                                assume uT
                                suppose H0drop (S n) O (CSort n0) (CHead d1 (Bind Abbr) u)
                                assume gG
                                assume c2C
                                suppose csuba g (CSort n0) c2
                                  by (drop_gen_sort . . . . H0)
                                  we proved 
                                     and3
                                       eq C (CHead d1 (Bind Abbr) u) (CSort n0)
                                       eq nat (S n) O
                                       eq nat O O
                                  we proceed by induction on the previous result to prove ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                     case and3_intro : :eq C (CHead d1 (Bind Abbr) u) (CSort n0) H3:eq nat (S n) O :eq nat O O 
                                        the thesis becomes ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                           (H5
                                              we proceed by induction on H3 to prove <λ:nat.Prop> CASE O OF OFalse | S True
                                                 case refl_equal : 
                                                    the thesis becomes <λ:nat.Prop> CASE S n OF OFalse | S True
                                                       consider I
                                                       we proved True
<λ:nat.Prop> CASE S n OF OFalse | S True
<λ:nat.Prop> CASE O OF OFalse | S True
                                           end of H5
                                           consider H5
                                           we proved <λ:nat.Prop> CASE O OF OFalse | S True
                                           that is equivalent to False
                                           we proceed by induction on the previous result to prove ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                  we proved ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2

                                  d1:C
                                    .u:T
                                      .H0:drop (S n) O (CSort n0) (CHead d1 (Bind Abbr) u)
                                        .g:G
                                          .c2:C
                                            .csuba g (CSort n0) c2
                                              ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                         case CHead : c:C k:K t:T 
                            the thesis becomes 
                            d1:C
                              .u:T
                                .H1:drop (S n) O (CHead c k t) (CHead d1 (Bind Abbr) u)
                                  .g:G
                                    .c2:C
                                      .H2:csuba g (CHead c k t) c2
                                        .ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                            (H0) by induction hypothesis we know 
                               d1:C
                                 .u:T
                                   .drop (S n) O c (CHead d1 (Bind Abbr) u)
                                     g:G
                                          .c2:C
                                            .csuba g c c2
                                              ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                assume d1C
                                assume uT
                                suppose H1drop (S n) O (CHead c k t) (CHead d1 (Bind Abbr) u)
                                assume gG
                                assume c2C
                                suppose H2csuba g (CHead c k t) c2
                                  by (drop_gen_drop . . . . . H1)
                                  we proved drop (r k n) O c (CHead d1 (Bind Abbr) u)
                                     assume bB
                                      suppose H3csuba g (CHead c (Bind b) t) c2
                                      suppose H4drop (r (Bind b) n) O c (CHead d1 (Bind Abbr) u)
                                         suppose H5csuba g (CHead c (Bind Abbr) t) c2
                                         suppose H6drop (r (Bind Abbr) n) O c (CHead d1 (Bind Abbr) u)
                                           (H_x
                                              by (csuba_gen_abbr . . . . H5)
ex2 C λd2:C.eq C c2 (CHead d2 (Bind Abbr) t) λd2:C.csuba g c d2
                                           end of H_x
                                           (H7consider H_x
                                           we proceed by induction on H7 to prove ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                              case ex_intro2 : x:C H8:eq C c2 (CHead x (Bind Abbr) t) H9:csuba g c x 
                                                 the thesis becomes ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                                    (H10
                                                       consider H6
                                                       we proved drop (r (Bind Abbr) n) O c (CHead d1 (Bind Abbr) u)
                                                       that is equivalent to drop n O c (CHead d1 (Bind Abbr) u)
                                                       by (H . . . previous . . H9)
ex2 C λd2:C.drop n O x (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                                    end of H10
                                                    we proceed by induction on H10 to prove 
                                                       ex2
                                                         C
                                                         λd2:C.drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Abbr) u)
                                                         λd2:C.csuba g d1 d2
                                                       case ex_intro2 : x0:C H11:drop n O x (CHead x0 (Bind Abbr) u) H12:csuba g d1 x0 
                                                          the thesis becomes 
                                                          ex2
                                                            C
                                                            λd2:C.drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Abbr) u)
                                                            λd2:C.csuba g d1 d2
                                                             (H13
                                                                by (refl_equal . .)
eq nat (r (Bind Abbr) n) (r (Bind Abbr) n)
                                                             end of H13
                                                             (H14
                                                                consider H13
                                                                we proved eq nat (r (Bind Abbr) n) (r (Bind Abbr) n)
                                                                that is equivalent to eq nat n (r (Bind Abbr) n)
                                                                we proceed by induction on the previous result to prove drop (r (Bind Abbr) n) O x (CHead x0 (Bind Abbr) u)
                                                                   case refl_equal : 
                                                                      the thesis becomes the hypothesis H11
drop (r (Bind Abbr) n) O x (CHead x0 (Bind Abbr) u)
                                                             end of H14
                                                             by (drop_drop . . . . H14 .)
                                                             we proved drop (S n) O (CHead x (Bind Abbr) t) (CHead x0 (Bind Abbr) u)
                                                             by (ex_intro2 . . . . previous H12)

                                                                ex2
                                                                  C
                                                                  λd2:C.drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Abbr) u)
                                                                  λd2:C.csuba g d1 d2
                                                    we proved 
                                                       ex2
                                                         C
                                                         λd2:C.drop (S n) O (CHead x (Bind Abbr) t) (CHead d2 (Bind Abbr) u)
                                                         λd2:C.csuba g d1 d2
                                                    by (eq_ind_r . . . previous . H8)
ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                           we proved ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2

                                           csuba g (CHead c (Bind Abbr) t) c2
                                             (drop (r (Bind Abbr) n) O c (CHead d1 (Bind Abbr) u)
                                                  ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2)
                                         suppose H5csuba g (CHead c (Bind Abst) t) c2
                                         suppose H6drop (r (Bind Abst) n) O c (CHead d1 (Bind Abbr) u)
                                           (H_x
                                              by (csuba_gen_abst . . . . H5)

                                                 or
                                                   ex2 C λd2:C.eq C c2 (CHead d2 (Bind Abst) t) λd2:C.csuba g c d2
                                                   ex4_3
                                                     C
                                                     T
                                                     A
                                                     λd2:C.λu2:T.λ:A.eq C c2 (CHead d2 (Bind Abbr) u2)
                                                     λd2:C.λ:T.λ:A.csuba g c d2
                                                     λ:C.λ:T.λa:A.arity g c t (asucc g a)
                                                     λd2:C.λu2:T.λa:A.arity g d2 u2 a
                                           end of H_x
                                           (H7consider H_x
                                           we proceed by induction on H7 to prove ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                              case or_introl : H8:ex2 C λd2:C.eq C c2 (CHead d2 (Bind Abst) t) λd2:C.csuba g c d2 
                                                 the thesis becomes ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                                    we proceed by induction on H8 to prove ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                                       case ex_intro2 : x:C H9:eq C c2 (CHead x (Bind Abst) t) H10:csuba g c x 
                                                          the thesis becomes ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                                             (H11
                                                                consider H6
                                                                we proved drop (r (Bind Abst) n) O c (CHead d1 (Bind Abbr) u)
                                                                that is equivalent to drop n O c (CHead d1 (Bind Abbr) u)
                                                                by (H . . . previous . . H10)
ex2 C λd2:C.drop n O x (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                                             end of H11
                                                             we proceed by induction on H11 to prove 
                                                                ex2
                                                                  C
                                                                  λd2:C.drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Abbr) u)
                                                                  λd2:C.csuba g d1 d2
                                                                case ex_intro2 : x0:C H12:drop n O x (CHead x0 (Bind Abbr) u) H13:csuba g d1 x0 
                                                                   the thesis becomes 
                                                                   ex2
                                                                     C
                                                                     λd2:C.drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Abbr) u)
                                                                     λd2:C.csuba g d1 d2
                                                                      (H14
                                                                         by (refl_equal . .)
eq nat (r (Bind Abbr) n) (r (Bind Abbr) n)
                                                                      end of H14
                                                                      (H15
                                                                         consider H14
                                                                         we proved eq nat (r (Bind Abbr) n) (r (Bind Abbr) n)
                                                                         that is equivalent to eq nat n (r (Bind Abbr) n)
                                                                         we proceed by induction on the previous result to prove drop (r (Bind Abbr) n) O x (CHead x0 (Bind Abbr) u)
                                                                            case refl_equal : 
                                                                               the thesis becomes the hypothesis H12
drop (r (Bind Abbr) n) O x (CHead x0 (Bind Abbr) u)
                                                                      end of H15
                                                                      consider H15
                                                                      we proved drop (r (Bind Abbr) n) O x (CHead x0 (Bind Abbr) u)
                                                                      that is equivalent to drop (r (Bind Abst) n) O x (CHead x0 (Bind Abbr) u)
                                                                      by (drop_drop . . . . previous .)
                                                                      we proved drop (S n) O (CHead x (Bind Abst) t) (CHead x0 (Bind Abbr) u)
                                                                      by (ex_intro2 . . . . previous H13)

                                                                         ex2
                                                                           C
                                                                           λd2:C.drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Abbr) u)
                                                                           λd2:C.csuba g d1 d2
                                                             we proved 
                                                                ex2
                                                                  C
                                                                  λd2:C.drop (S n) O (CHead x (Bind Abst) t) (CHead d2 (Bind Abbr) u)
                                                                  λd2:C.csuba g d1 d2
                                                             by (eq_ind_r . . . previous . H9)
ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                              case or_intror : H8:ex4_3 C T A λd2:C.λu2:T.λ:A.eq C c2 (CHead d2 (Bind Abbr) u2) λd2:C.λ:T.λ:A.csuba g c d2 λ:C.λ:T.λa:A.arity g c t (asucc g a) λd2:C.λu2:T.λa:A.arity g d2 u2 a 
                                                 the thesis becomes ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                                    we proceed by induction on H8 to prove ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                                       case ex4_3_intro : x0:C x1:T x2:A H9:eq C c2 (CHead x0 (Bind Abbr) x1) H10:csuba g c x0 :arity g c t (asucc g x2) :arity g x0 x1 x2 
                                                          the thesis becomes ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                                             (H13
                                                                consider H6
                                                                we proved drop (r (Bind Abst) n) O c (CHead d1 (Bind Abbr) u)
                                                                that is equivalent to drop n O c (CHead d1 (Bind Abbr) u)
                                                                by (H . . . previous . . H10)
ex2 C λd2:C.drop n O x0 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                                             end of H13
                                                             we proceed by induction on H13 to prove 
                                                                ex2
                                                                  C
                                                                  λd2:C.drop (S n) O (CHead x0 (Bind Abbr) x1) (CHead d2 (Bind Abbr) u)
                                                                  λd2:C.csuba g d1 d2
                                                                case ex_intro2 : x:C H14:drop n O x0 (CHead x (Bind Abbr) u) H15:csuba g d1 x 
                                                                   the thesis becomes 
                                                                   ex2
                                                                     C
                                                                     λd2:C.drop (S n) O (CHead x0 (Bind Abbr) x1) (CHead d2 (Bind Abbr) u)
                                                                     λd2:C.csuba g d1 d2
                                                                      (H16
                                                                         by (refl_equal . .)
eq nat (r (Bind Abbr) n) (r (Bind Abbr) n)
                                                                      end of H16
                                                                      (H17
                                                                         consider H16
                                                                         we proved eq nat (r (Bind Abbr) n) (r (Bind Abbr) n)
                                                                         that is equivalent to eq nat n (r (Bind Abbr) n)
                                                                         we proceed by induction on the previous result to prove drop (r (Bind Abbr) n) O x0 (CHead x (Bind Abbr) u)
                                                                            case refl_equal : 
                                                                               the thesis becomes the hypothesis H14
drop (r (Bind Abbr) n) O x0 (CHead x (Bind Abbr) u)
                                                                      end of H17
                                                                      by (drop_drop . . . . H17 .)
                                                                      we proved drop (S n) O (CHead x0 (Bind Abbr) x1) (CHead x (Bind Abbr) u)
                                                                      by (ex_intro2 . . . . previous H15)

                                                                         ex2
                                                                           C
                                                                           λd2:C.drop (S n) O (CHead x0 (Bind Abbr) x1) (CHead d2 (Bind Abbr) u)
                                                                           λd2:C.csuba g d1 d2
                                                             we proved 
                                                                ex2
                                                                  C
                                                                  λd2:C.drop (S n) O (CHead x0 (Bind Abbr) x1) (CHead d2 (Bind Abbr) u)
                                                                  λd2:C.csuba g d1 d2
                                                             by (eq_ind_r . . . previous . H9)
ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                           we proved ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2

                                           csuba g (CHead c (Bind Abst) t) c2
                                             (drop (r (Bind Abst) n) O c (CHead d1 (Bind Abbr) u)
                                                  ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2)
                                         suppose H5csuba g (CHead c (Bind Void) t) c2
                                         suppose H6drop (r (Bind Void) n) O c (CHead d1 (Bind Abbr) u)
                                           (H_x
                                              by (csuba_gen_void . . . . H5)
ex2_3 B C T λb:B.λd2:C.λu2:T.eq C c2 (CHead d2 (Bind b) u2) λ:B.λd2:C.λ:T.csuba g c d2
                                           end of H_x
                                           (H7consider H_x
                                           we proceed by induction on H7 to prove ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                              case ex2_3_intro : x0:B x1:C x2:T H8:eq C c2 (CHead x1 (Bind x0) x2) H9:csuba g c x1 
                                                 the thesis becomes ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                                    (H10
                                                       consider H6
                                                       we proved drop (r (Bind Void) n) O c (CHead d1 (Bind Abbr) u)
                                                       that is equivalent to drop n O c (CHead d1 (Bind Abbr) u)
                                                       by (H . . . previous . . H9)
ex2 C λd2:C.drop n O x1 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                                    end of H10
                                                    we proceed by induction on H10 to prove 
                                                       ex2
                                                         C
                                                         λd2:C.drop (S n) O (CHead x1 (Bind x0) x2) (CHead d2 (Bind Abbr) u)
                                                         λd2:C.csuba g d1 d2
                                                       case ex_intro2 : x:C H11:drop n O x1 (CHead x (Bind Abbr) u) H12:csuba g d1 x 
                                                          the thesis becomes 
                                                          ex2
                                                            C
                                                            λd2:C.drop (S n) O (CHead x1 (Bind x0) x2) (CHead d2 (Bind Abbr) u)
                                                            λd2:C.csuba g d1 d2
                                                             (H13
                                                                by (refl_equal . .)
eq nat (r (Bind Abbr) n) (r (Bind Abbr) n)
                                                             end of H13
                                                             (H14
                                                                consider H13
                                                                we proved eq nat (r (Bind Abbr) n) (r (Bind Abbr) n)
                                                                that is equivalent to eq nat n (r (Bind Abbr) n)
                                                                we proceed by induction on the previous result to prove drop (r (Bind Abbr) n) O x1 (CHead x (Bind Abbr) u)
                                                                   case refl_equal : 
                                                                      the thesis becomes the hypothesis H11
drop (r (Bind Abbr) n) O x1 (CHead x (Bind Abbr) u)
                                                             end of H14
                                                             consider H14
                                                             we proved drop (r (Bind Abbr) n) O x1 (CHead x (Bind Abbr) u)
                                                             that is equivalent to drop (r (Bind x0) n) O x1 (CHead x (Bind Abbr) u)
                                                             by (drop_drop . . . . previous .)
                                                             we proved drop (S n) O (CHead x1 (Bind x0) x2) (CHead x (Bind Abbr) u)
                                                             by (ex_intro2 . . . . previous H12)

                                                                ex2
                                                                  C
                                                                  λd2:C.drop (S n) O (CHead x1 (Bind x0) x2) (CHead d2 (Bind Abbr) u)
                                                                  λd2:C.csuba g d1 d2
                                                    we proved 
                                                       ex2
                                                         C
                                                         λd2:C.drop (S n) O (CHead x1 (Bind x0) x2) (CHead d2 (Bind Abbr) u)
                                                         λd2:C.csuba g d1 d2
                                                    by (eq_ind_r . . . previous . H8)
ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                           we proved ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2

                                           csuba g (CHead c (Bind Void) t) c2
                                             (drop (r (Bind Void) n) O c (CHead d1 (Bind Abbr) u)
                                                  ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2)
                                        by (previous . H3 H4)
                                        we proved ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2

                                        H3:csuba g (CHead c (Bind b) t) c2
                                          .H4:drop (r (Bind b) n) O c (CHead d1 (Bind Abbr) u)
                                            .ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                     assume fF
                                      suppose H3csuba g (CHead c (Flat f) t) c2
                                      suppose H4drop (r (Flat f) n) O c (CHead d1 (Bind Abbr) u)
                                        (H_x
                                           by (csuba_gen_flat . . . . . H3)
ex2_2 C T λd2:C.λu2:T.eq C c2 (CHead d2 (Flat f) u2) λd2:C.λ:T.csuba g c d2
                                        end of H_x
                                        (H5consider H_x
                                        we proceed by induction on H5 to prove ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                           case ex2_2_intro : x0:C x1:T H6:eq C c2 (CHead x0 (Flat f) x1) H7:csuba g c x0 
                                              the thesis becomes ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                                 (H8
                                                    consider H4
                                                    we proved drop (r (Flat f) n) O c (CHead d1 (Bind Abbr) u)
                                                    that is equivalent to drop (S n) O c (CHead d1 (Bind Abbr) u)
                                                    by (H0 . . previous . . H7)
ex2 C λd2:C.drop (S n) O x0 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                                 end of H8
                                                 we proceed by induction on H8 to prove 
                                                    ex2
                                                      C
                                                      λd2:C.drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abbr) u)
                                                      λd2:C.csuba g d1 d2
                                                    case ex_intro2 : x:C H9:drop (S n) O x0 (CHead x (Bind Abbr) u) H10:csuba g d1 x 
                                                       the thesis becomes 
                                                       ex2
                                                         C
                                                         λd2:C.drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abbr) u)
                                                         λd2:C.csuba g d1 d2
                                                          consider H9
                                                          we proved drop (S n) O x0 (CHead x (Bind Abbr) u)
                                                          that is equivalent to drop (r (Flat f) n) O x0 (CHead x (Bind Abbr) u)
                                                          by (drop_drop . . . . previous .)
                                                          we proved drop (S n) O (CHead x0 (Flat f) x1) (CHead x (Bind Abbr) u)
                                                          by (ex_intro2 . . . . previous H10)

                                                             ex2
                                                               C
                                                               λd2:C.drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abbr) u)
                                                               λd2:C.csuba g d1 d2
                                                 we proved 
                                                    ex2
                                                      C
                                                      λd2:C.drop (S n) O (CHead x0 (Flat f) x1) (CHead d2 (Bind Abbr) u)
                                                      λd2:C.csuba g d1 d2
                                                 by (eq_ind_r . . . previous . H6)
ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                        we proved ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2

                                        H3:csuba g (CHead c (Flat f) t) c2
                                          .H4:drop (r (Flat f) n) O c (CHead d1 (Bind Abbr) u)
                                            .ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                                  by (previous . H2 previous)
                                  we proved ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2

                                  d1:C
                                    .u:T
                                      .H1:drop (S n) O (CHead c k t) (CHead d1 (Bind Abbr) u)
                                        .g:G
                                          .c2:C
                                            .H2:csuba g (CHead c k t) c2
                                              .ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
                      we proved 
                         d1:C
                           .u:T
                             .drop (S n) O c1 (CHead d1 (Bind Abbr) u)
                               g:G
                                    .c2:C
                                      .csuba g c1 c2
                                        ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2

                      c1:C
                        .d1:C
                          .u:T
                            .drop (S n) O c1 (CHead d1 (Bind Abbr) u)
                              g:G
                                   .c2:C
                                     .csuba g c1 c2
                                       ex2 C λd2:C.drop (S n) O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
          we proved 
             c1:C
               .d1:C
                 .u:T
                   .drop i O c1 (CHead d1 (Bind Abbr) u)
                     g:G
                          .c2:C
                            .csuba g c1 c2
                              ex2 C λd2:C.drop i O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2
       we proved 
          i:nat
            .c1:C
              .d1:C
                .u:T
                  .drop i O c1 (CHead d1 (Bind Abbr) u)
                    g:G
                         .c2:C
                           .csuba g c1 c2
                             ex2 C λd2:C.drop i O c2 (CHead d2 (Bind Abbr) u) λd2:C.csuba g d1 d2