DEFINITION sc3_abbr()
TYPE =
       g:G
         .a:A
           .vs:TList
             .i:nat
               .d:C
                 .v:T
                   .c:C
                     .sc3 g a c (THeads (Flat Appl) vs (lift (S i) O v))
                       (getl i c (CHead d (Bind Abbr) v)
                            sc3 g a c (THeads (Flat Appl) vs (TLRef i)))
BODY =
        assume gG
        assume aA
          we proceed by induction on a to prove 
             vs:TList
               .i:nat
                 .d:C
                   .v:T
                     .c:C
                       .sc3 g a c (THeads (Flat Appl) vs (lift (S i) O v))
                         (getl i c (CHead d (Bind Abbr) v)
                              sc3 g a c (THeads (Flat Appl) vs (TLRef i)))
             case ASort : n:nat n0:nat 
                the thesis becomes 
                vs:TList
                  .i:nat
                    .d:C
                      .v:T
                        .c:C
                          .sc3 g (ASort n n0) c (THeads (Flat Appl) vs (lift (S i) O v))
                            (getl i c (CHead d (Bind Abbr) v)
                                 sc3 g (ASort n n0) c (THeads (Flat Appl) vs (TLRef i)))
                    assume vsTList
                    assume inat
                    assume dC
                    assume vT
                    assume cC
                      we must prove 
                            sc3 g (ASort n n0) c (THeads (Flat Appl) vs (lift (S i) O v))
                              (getl i c (CHead d (Bind Abbr) v)
                                   sc3 g (ASort n n0) c (THeads (Flat Appl) vs (TLRef i)))
                      or equivalently 
                            (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)))
                              (getl i c (CHead d (Bind Abbr) v)
                                   sc3 g (ASort n n0) c (THeads (Flat Appl) vs (TLRef i)))
                       suppose 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))
                       suppose H0getl i c (CHead d (Bind Abbr) v)
                         (H1consider H
                         we proceed by induction on H1 to prove 
                            land
                              arity g c (THeads (Flat Appl) vs (TLRef i)) (ASort n n0)
                              sn3 c (THeads (Flat Appl) vs (TLRef i))
                            case conj : H2:arity g c (THeads (Flat Appl) vs (lift (S i) O v)) (ASort n n0) H3:sn3 c (THeads (Flat Appl) vs (lift (S i) O v)) 
                               the thesis becomes 
                               land
                                 arity g c (THeads (Flat Appl) vs (TLRef i)) (ASort n n0)
                                 sn3 c (THeads (Flat Appl) vs (TLRef i))
                                  (h1
                                     by (arity_appls_abbr . . . . . H0 . . H2)
arity g c (THeads (Flat Appl) vs (TLRef i)) (ASort n n0)
                                  end of h1
                                  (h2
                                     by (sn3_appls_abbr . . . . H0 . H3)
sn3 c (THeads (Flat Appl) vs (TLRef i))
                                  end of h2
                                  by (conj . . h1 h2)

                                     land
                                       arity g c (THeads (Flat Appl) vs (TLRef i)) (ASort n n0)
                                       sn3 c (THeads (Flat Appl) vs (TLRef i))
                         we proved 
                            land
                              arity g c (THeads (Flat Appl) vs (TLRef i)) (ASort n n0)
                              sn3 c (THeads (Flat Appl) vs (TLRef i))
                         that is equivalent to sc3 g (ASort n n0) c (THeads (Flat Appl) vs (TLRef i))
                      we proved 
                         (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)))
                           (getl i c (CHead d (Bind Abbr) v)
                                sc3 g (ASort n n0) c (THeads (Flat Appl) vs (TLRef i)))
                      that is equivalent to 
                         sc3 g (ASort n n0) c (THeads (Flat Appl) vs (lift (S i) O v))
                           (getl i c (CHead d (Bind Abbr) v)
                                sc3 g (ASort n n0) c (THeads (Flat Appl) vs (TLRef i)))

                      vs:TList
                        .i:nat
                          .d:C
                            .v:T
                              .c:C
                                .sc3 g (ASort n n0) c (THeads (Flat Appl) vs (lift (S i) O v))
                                  (getl i c (CHead d (Bind Abbr) v)
                                       sc3 g (ASort n n0) c (THeads (Flat Appl) vs (TLRef i)))
             case AHead : a0:A a1:A 
                the thesis becomes 
                vs:TList
                  .i:nat
                    .d:C
                      .v:T
                        .c:C
                          .sc3 g (AHead a0 a1) c (THeads (Flat Appl) vs (lift (S i) O v))
                            (getl i c (CHead d (Bind Abbr) v)
                                 sc3 g (AHead a0 a1) c (THeads (Flat Appl) vs (TLRef i)))
                () by induction hypothesis we know 
                   vs:TList
                     .i:nat
                       .d:C
                         .v:T
                           .c:C
                             .sc3 g a0 c (THeads (Flat Appl) vs (lift (S i) O v))
                               (getl i c (CHead d (Bind Abbr) v)
                                    sc3 g a0 c (THeads (Flat Appl) vs (TLRef i)))
                (H0) by induction hypothesis we know 
                   vs:TList
                     .i:nat
                       .d:C
                         .v:T
                           .c:C
                             .sc3 g a1 c (THeads (Flat Appl) vs (lift (S i) O v))
                               (getl i c (CHead d (Bind Abbr) v)
                                    sc3 g a1 c (THeads (Flat Appl) vs (TLRef i)))
                    assume vsTList
                    assume inat
                    assume dC
                    assume vT
                    assume cC
                      we must prove 
                            sc3 g (AHead a0 a1) c (THeads (Flat Appl) vs (lift (S i) O v))
                              (getl i c (CHead d (Bind Abbr) v)
                                   sc3 g (AHead a0 a1) c (THeads (Flat Appl) vs (TLRef i)))
                      or equivalently 
                            (land
                                arity g c (THeads (Flat Appl) vs (lift (S i) O v)) (AHead a0 a1)
                                d0:C
                                  .w:T
                                    .sc3 g a0 d0 w
                                      is:PList
                                           .drop1 is d0 c
                                             (sc3
                                                  g
                                                  a1
                                                  d0
                                                  THead
                                                    Flat Appl
                                                    w
                                                    lift1 is (THeads (Flat Appl) vs (lift (S i) O v))))
                              (getl i c (CHead d (Bind Abbr) v)
                                   sc3 g (AHead a0 a1) c (THeads (Flat Appl) vs (TLRef i)))
                       suppose H1
                          land
                            arity g c (THeads (Flat Appl) vs (lift (S i) O v)) (AHead a0 a1)
                            d0:C
                              .w:T
                                .sc3 g a0 d0 w
                                  is:PList
                                       .drop1 is d0 c
                                         (sc3
                                              g
                                              a1
                                              d0
                                              THead
                                                Flat Appl
                                                w
                                                lift1 is (THeads (Flat Appl) vs (lift (S i) O v)))
                       suppose H2getl i c (CHead d (Bind Abbr) v)
                         (H3consider H1
                         we proceed by induction on H3 to prove 
                            land
                              arity g c (THeads (Flat Appl) vs (TLRef i)) (AHead a0 a1)
                              d0:C
                                .w:T
                                  .sc3 g a0 d0 w
                                    is:PList
                                         .drop1 is d0 c
                                           (sc3
                                                g
                                                a1
                                                d0
                                                THead
                                                  Flat Appl
                                                  w
                                                  lift1 is (THeads (Flat Appl) vs (TLRef i)))
                            case conj : H4:arity g c (THeads (Flat Appl) vs (lift (S i) O v)) (AHead a0 a1) H5:d0:C.w:T.(sc3 g a0 d0 w)is:PList.(drop1 is d0 c)(sc3 g a1 d0 (THead (Flat Appl) w (lift1 is (THeads (Flat Appl) vs (lift (S i) O v))))) 
                               the thesis becomes 
                               land
                                 arity g c (THeads (Flat Appl) vs (TLRef i)) (AHead a0 a1)
                                 d0:C
                                   .w:T
                                     .sc3 g a0 d0 w
                                       is:PList
                                            .drop1 is d0 c
                                              (sc3
                                                   g
                                                   a1
                                                   d0
                                                   THead
                                                     Flat Appl
                                                     w
                                                     lift1 is (THeads (Flat Appl) vs (TLRef i)))
                                  (h1
                                     by (arity_appls_abbr . . . . . H2 . . H4)
arity g c (THeads (Flat Appl) vs (TLRef i)) (AHead a0 a1)
                                  end of h1
                                  (h2
                                      assume d0C
                                      assume wT
                                      suppose H6sc3 g a0 d0 w
                                      assume isPList
                                      suppose H7drop1 is d0 c
                                        (H_x
                                           by (drop1_getl_trans . . . H7 . . . . H2)

                                              ex2
                                                C
                                                λe2:C.drop1 (ptrans is i) e2 d
                                                λe2:C.getl (trans is i) d0 (CHead e2 (Bind Abbr) (lift1 (ptrans is i) v))
                                        end of H_x
                                        (H8consider H_x
                                        we proceed by induction on H8 to prove 
                                           sc3
                                             g
                                             a1
                                             d0
                                             THead
                                               Flat Appl
                                               w
                                               lift1 is (THeads (Flat Appl) vs (TLRef i))
                                           case ex_intro2 : x:C :drop1 (ptrans is i) x d H10:getl (trans is i) d0 (CHead x (Bind Abbr) (lift1 (ptrans is i) v)) 
                                              the thesis becomes 
                                              sc3
                                                g
                                                a1
                                                d0
                                                THead
                                                  Flat Appl
                                                  w
                                                  lift1 is (THeads (Flat Appl) vs (TLRef i))
                                                 (H_y
                                                    by (H0 .)

                                                       i:nat
                                                         .d:C
                                                           .v:T
                                                             .c:C
                                                               .sc3 g a1 c (THeads (Flat Appl) (TCons w (lifts1 is vs)) (lift (S i) O v))
                                                                 (getl i c (CHead d (Bind Abbr) v)
                                                                      sc3 g a1 c (THeads (Flat Appl) (TCons w (lifts1 is vs)) (TLRef i)))
                                                 end of H_y
                                                 (h1
                                                    (h1
                                                       by (lift1_free . . .)
                                                       we proved 
                                                          eq
                                                            T
                                                            lift1 is (lift (S i) O v)
                                                            lift (S (trans is i)) O (lift1 (ptrans is i) v)
                                                       we proceed by induction on the previous result to prove 
                                                          sc3
                                                            g
                                                            a1
                                                            d0
                                                            THead
                                                              Flat Appl
                                                              w
                                                              THeads
                                                                Flat Appl
                                                                lifts1 is vs
                                                                lift (S (trans is i)) O (lift1 (ptrans is i) v)
                                                          case refl_equal : 
                                                             the thesis becomes 
                                                             sc3
                                                               g
                                                               a1
                                                               d0
                                                               THead
                                                                 Flat Appl
                                                                 w
                                                                 THeads (Flat Appl) (lifts1 is vs) (lift1 is (lift (S i) O v))
                                                                by (lifts1_flat . . . .)
                                                                we proved 
                                                                   eq
                                                                     T
                                                                     lift1 is (THeads (Flat Appl) vs (lift (S i) O v))
                                                                     THeads (Flat Appl) (lifts1 is vs) (lift1 is (lift (S i) O v))
                                                                we proceed by induction on the previous result to prove 
                                                                   sc3
                                                                     g
                                                                     a1
                                                                     d0
                                                                     THead
                                                                       Flat Appl
                                                                       w
                                                                       THeads (Flat Appl) (lifts1 is vs) (lift1 is (lift (S i) O v))
                                                                   case refl_equal : 
                                                                      the thesis becomes 
                                                                      sc3
                                                                        g
                                                                        a1
                                                                        d0
                                                                        THead
                                                                          Flat Appl
                                                                          w
                                                                          lift1 is (THeads (Flat Appl) vs (lift (S i) O v))
                                                                         by (H5 . . H6 . H7)

                                                                            sc3
                                                                              g
                                                                              a1
                                                                              d0
                                                                              THead
                                                                                Flat Appl
                                                                                w
                                                                                lift1 is (THeads (Flat Appl) vs (lift (S i) O v))

                                                                   sc3
                                                                     g
                                                                     a1
                                                                     d0
                                                                     THead
                                                                       Flat Appl
                                                                       w
                                                                       THeads (Flat Appl) (lifts1 is vs) (lift1 is (lift (S i) O v))
                                                       we proved 
                                                          sc3
                                                            g
                                                            a1
                                                            d0
                                                            THead
                                                              Flat Appl
                                                              w
                                                              THeads
                                                                Flat Appl
                                                                lifts1 is vs
                                                                lift (S (trans is i)) O (lift1 (ptrans is i) v)
                                                       that is equivalent to 
                                                          sc3
                                                            g
                                                            a1
                                                            d0
                                                            THeads
                                                              Flat Appl
                                                              TCons w (lifts1 is vs)
                                                              lift (S (trans is i)) O (lift1 (ptrans is i) v)
                                                       by (H_y . . . . previous H10)
                                                       we proved 
                                                          sc3
                                                            g
                                                            a1
                                                            d0
                                                            THeads (Flat Appl) (TCons w (lifts1 is vs)) (TLRef (trans is i))

                                                          sc3
                                                            g
                                                            a1
                                                            d0
                                                            THead
                                                              Flat Appl
                                                              w
                                                              THeads (Flat Appl) (lifts1 is vs) (TLRef (trans is i))
                                                    end of h1
                                                    (h2
                                                       by (lift1_lref . .)
eq T (lift1 is (TLRef i)) (TLRef (trans is i))
                                                    end of h2
                                                    by (eq_ind_r . . . h1 . h2)

                                                       sc3
                                                         g
                                                         a1
                                                         d0
                                                         THead
                                                           Flat Appl
                                                           w
                                                           THeads (Flat Appl) (lifts1 is vs) (lift1 is (TLRef i))
                                                 end of h1
                                                 (h2
                                                    by (lifts1_flat . . . .)

                                                       eq
                                                         T
                                                         lift1 is (THeads (Flat Appl) vs (TLRef i))
                                                         THeads (Flat Appl) (lifts1 is vs) (lift1 is (TLRef i))
                                                 end of h2
                                                 by (eq_ind_r . . . h1 . h2)

                                                    sc3
                                                      g
                                                      a1
                                                      d0
                                                      THead
                                                        Flat Appl
                                                        w
                                                        lift1 is (THeads (Flat Appl) vs (TLRef i))
                                        we proved 
                                           sc3
                                             g
                                             a1
                                             d0
                                             THead
                                               Flat Appl
                                               w
                                               lift1 is (THeads (Flat Appl) vs (TLRef i))

                                        d0:C
                                          .w:T
                                            .sc3 g a0 d0 w
                                              is:PList
                                                   .drop1 is d0 c
                                                     (sc3
                                                          g
                                                          a1
                                                          d0
                                                          THead
                                                            Flat Appl
                                                            w
                                                            lift1 is (THeads (Flat Appl) vs (TLRef i)))
                                  end of h2
                                  by (conj . . h1 h2)

                                     land
                                       arity g c (THeads (Flat Appl) vs (TLRef i)) (AHead a0 a1)
                                       d0:C
                                         .w:T
                                           .sc3 g a0 d0 w
                                             is:PList
                                                  .drop1 is d0 c
                                                    (sc3
                                                         g
                                                         a1
                                                         d0
                                                         THead
                                                           Flat Appl
                                                           w
                                                           lift1 is (THeads (Flat Appl) vs (TLRef i)))
                         we proved 
                            land
                              arity g c (THeads (Flat Appl) vs (TLRef i)) (AHead a0 a1)
                              d0:C
                                .w:T
                                  .sc3 g a0 d0 w
                                    is:PList
                                         .drop1 is d0 c
                                           (sc3
                                                g
                                                a1
                                                d0
                                                THead
                                                  Flat Appl
                                                  w
                                                  lift1 is (THeads (Flat Appl) vs (TLRef i)))
                         that is equivalent to sc3 g (AHead a0 a1) c (THeads (Flat Appl) vs (TLRef i))
                      we proved 
                         (land
                             arity g c (THeads (Flat Appl) vs (lift (S i) O v)) (AHead a0 a1)
                             d0:C
                               .w:T
                                 .sc3 g a0 d0 w
                                   is:PList
                                        .drop1 is d0 c
                                          (sc3
                                               g
                                               a1
                                               d0
                                               THead
                                                 Flat Appl
                                                 w
                                                 lift1 is (THeads (Flat Appl) vs (lift (S i) O v))))
                           (getl i c (CHead d (Bind Abbr) v)
                                sc3 g (AHead a0 a1) c (THeads (Flat Appl) vs (TLRef i)))
                      that is equivalent to 
                         sc3 g (AHead a0 a1) c (THeads (Flat Appl) vs (lift (S i) O v))
                           (getl i c (CHead d (Bind Abbr) v)
                                sc3 g (AHead a0 a1) c (THeads (Flat Appl) vs (TLRef i)))

                      vs:TList
                        .i:nat
                          .d:C
                            .v:T
                              .c:C
                                .sc3 g (AHead a0 a1) c (THeads (Flat Appl) vs (lift (S i) O v))
                                  (getl i c (CHead d (Bind Abbr) v)
                                       sc3 g (AHead a0 a1) c (THeads (Flat Appl) vs (TLRef i)))
          we proved 
             vs:TList
               .i:nat
                 .d:C
                   .v:T
                     .c:C
                       .sc3 g a c (THeads (Flat Appl) vs (lift (S i) O v))
                         (getl i c (CHead d (Bind Abbr) v)
                              sc3 g a c (THeads (Flat Appl) vs (TLRef i)))
       we proved 
          g:G
            .a:A
              .vs:TList
                .i:nat
                  .d:C
                    .v:T
                      .c:C
                        .sc3 g a c (THeads (Flat Appl) vs (lift (S i) O v))
                          (getl i c (CHead d (Bind Abbr) v)
                               sc3 g a c (THeads (Flat Appl) vs (TLRef i)))