DEFINITION sn3_gen_def()
TYPE =
       c:C
         .d:C
           .v:T
             .i:nat
               .getl i c (CHead d (Bind Abbr) v)
                 (sn3 c (TLRef i))(sn3 d v)
BODY =
        assume cC
        assume dC
        assume vT
        assume inat
        suppose Hgetl i c (CHead d (Bind Abbr) v)
        suppose H0sn3 c (TLRef i)
          (h1
             (h1
                by (pr0_refl .)
pr0 (TLRef i) (TLRef i)
             end of h1
             (h2
                by (subst0_lref . .)
subst0 i v (TLRef i) (lift (S i) O v)
             end of h2
             by (pr2_delta . . . . H . . h1 . h2)
             we proved pr2 c (TLRef i) (lift (S i) O v)
             by (pr3_pr2 . . . previous)
             we proved pr3 c (TLRef i) (lift (S i) O v)
             by (sn3_pr3_trans . . H0 . previous)
sn3 c (lift (S i) O v)
          end of h1
          (h2
             by (getl_drop . . . . . H)
drop (S i) O c d
          end of h2
          by (sn3_gen_lift . . . . h1 . h2)
          we proved sn3 d v
       we proved 
          c:C
            .d:C
              .v:T
                .i:nat
                  .getl i c (CHead d (Bind Abbr) v)
                    (sn3 c (TLRef i))(sn3 d v)