DEFINITION sn3_cflat()
TYPE =
       c:C.t:T.(sn3 c t)f:F.u:T.(sn3 (CHead c (Flat f) u) t)
BODY =
        assume cC
        assume tT
        suppose Hsn3 c t
        assume fF
        assume uT
          we proceed by induction on H to prove sn3 (CHead c (Flat f) u) t
             case sn3_sing : t1:T :t2:T.((eq T t1 t2)P:Prop.P)(pr3 c t1 t2)(sn3 c t2) 
                the thesis becomes sn3 (CHead c (Flat f) u) t1
                (H1) by induction hypothesis we know t2:T.((eq T t1 t2)P:Prop.P)(pr3 c t1 t2)(sn3 (CHead c (Flat f) u) t2)
                    assume t2T
                    suppose H2(eq T t1 t2)P:Prop.P
                    suppose H3pr2 (CHead c (Flat f) u) t1 t2
                      by (pr2_gen_cflat . . . . . H3)
                      we proved pr2 c t1 t2
                      by (pr3_pr2 . . . previous)
                      we proved pr3 c t1 t2
                      by (H1 . H2 previous)
                      we proved sn3 (CHead c (Flat f) u) t2
                   we proved 
                      t2:T
                        .(eq T t1 t2)P:Prop.P
                          (pr2 (CHead c (Flat f) u) t1 t2)(sn3 (CHead c (Flat f) u) t2)
                   by (sn3_pr2_intro . . previous)
sn3 (CHead c (Flat f) u) t1
          we proved sn3 (CHead c (Flat f) u) t
       we proved c:C.t:T.(sn3 c t)f:F.u:T.(sn3 (CHead c (Flat f) u) t)