DEFINITION sc3_sn3()
TYPE =
       g:G.a:A.c:C.t:T.(sc3 g a c t)(sn3 c t)
BODY =
        assume gG
        assume aA
        assume cC
        assume tT
        suppose Hsc3 g a c t
          (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
          (H0consider H_x
          consider H0
          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.t0:T.(sc3 g a c0 t0)(sn3 c0 t0)
               vs:TList
                 .i:nat
                   .c0:C
                     .arity g c0 (THeads (Flat Appl) vs (TLRef i)) a
                       (nf2 c0 (TLRef i)
                            (sns3 c0 vs)(sc3 g a c0 (THeads (Flat Appl) vs (TLRef i))))
          we proceed by induction on the previous result to prove sn3 c t
             case conj : H1:c0:C.t0:T.(sc3 g a c0 t0)(sn3 c0 t0) :vs:TList.i:nat.c0:C.(arity g c0 (THeads (Flat Appl) vs (TLRef i)) a)(nf2 c0 (TLRef i))(sns3 c0 vs)(sc3 g a c0 (THeads (Flat Appl) vs (TLRef i))) 
                the thesis becomes sn3 c t
                   by (H1 . . H)
sn3 c t
          we proved sn3 c t
       we proved g:G.a:A.c:C.t:T.(sc3 g a c t)(sn3 c t)