DEFINITION sc3_abst()
TYPE =
       g:G
         .a:A
           .vs:TList
             .c:C
               .i:nat
                 .arity g c (THeads (Flat Appl) vs (TLRef i)) a
                   (nf2 c (TLRef i)
                        (sns3 c vs)(sc3 g a c (THeads (Flat Appl) vs (TLRef i))))
BODY =
        assume gG
        assume aA
        assume vsTList
        assume cC
        assume inat
        suppose Harity g c (THeads (Flat Appl) vs (TLRef i)) a
        suppose H0nf2 c (TLRef i)
        suppose H1sns3 c vs
          (H_x
             by (sc3_props__sc3_sn3_abst . .)

                land
                  c:C.t:T.(sc3 g a c t)(sn3 c t)
                  vs:TList
                    .i:nat
                      .let t := THeads (Flat Appl) vs (TLRef i)
                      in c:C.(arity g c t a)(nf2 c (TLRef i))(sns3 c vs)(sc3 g a c t)
          end of H_x
          (H2consider H_x
          consider H2
          we proved 
             land
               c:C.t:T.(sc3 g a c t)(sn3 c t)
               vs:TList
                 .i:nat
                   .let t := THeads (Flat Appl) vs (TLRef i)
                   in c:C.(arity g c t a)(nf2 c (TLRef i))(sns3 c vs)(sc3 g a c t)
          that is equivalent to 
             land
               c0:C.t:T.(sc3 g a c0 t)(sn3 c0 t)
               vs0:TList
                 .i0:nat
                   .c0:C
                     .arity g c0 (THeads (Flat Appl) vs0 (TLRef i0)) a
                       (nf2 c0 (TLRef i0)
                            (sns3 c0 vs0)(sc3 g a c0 (THeads (Flat Appl) vs0 (TLRef i0))))
          we proceed by induction on the previous result to prove sc3 g a c (THeads (Flat Appl) vs (TLRef i))
             case conj : :c0:C.t:T.(sc3 g a c0 t)(sn3 c0 t) H4:vs0:TList.i0:nat.c0:C.(arity g c0 (THeads (Flat Appl) vs0 (TLRef i0)) a)(nf2 c0 (TLRef i0))(sns3 c0 vs0)(sc3 g a c0 (THeads (Flat Appl) vs0 (TLRef i0))) 
                the thesis becomes sc3 g a c (THeads (Flat Appl) vs (TLRef i))
                   by (H4 . . . H H0 H1)
sc3 g a c (THeads (Flat Appl) vs (TLRef i))
          we proved sc3 g a c (THeads (Flat Appl) vs (TLRef i))
       we proved 
          g:G
            .a:A
              .vs:TList
                .c:C
                  .i:nat
                    .arity g c (THeads (Flat Appl) vs (TLRef i)) a
                      (nf2 c (TLRef i)
                           (sns3 c vs)(sc3 g a c (THeads (Flat Appl) vs (TLRef i))))