DEFINITION ty3_cred_pr2()
TYPE =
       g:G
         .c:C
           .v1:T
             .v2:T
               .pr2 c v1 v2
                 b:B.t1:T.t2:T.(ty3 g (CHead c (Bind b) v1) t1 t2)(ty3 g (CHead c (Bind b) v2) t1 t2)
BODY =
        assume gG
        assume cC
        assume v1T
        assume v2T
        suppose Hpr2 c v1 v2
          we proceed by induction on H to prove b:B.t1:T.t2:T.(ty3 g (CHead c (Bind b) v1) t1 t2)(ty3 g (CHead c (Bind b) v2) t1 t2)
             case pr2_free : c0:C t1:T t2:T H0:pr0 t1 t2 
                the thesis becomes b:B.t0:T.t3:T.H1:(ty3 g (CHead c0 (Bind b) t1) t0 t3).(ty3 g (CHead c0 (Bind b) t2) t0 t3)
                    assume bB
                    assume t0T
                    assume t3T
                    suppose H1ty3 g (CHead c0 (Bind b) t1) t0 t3
                      (h1
                         by (wcpr0_refl .)
                         we proved wcpr0 c0 c0
                         by (wcpr0_comp . . previous . . H0 .)
wcpr0 (CHead c0 (Bind b) t1) (CHead c0 (Bind b) t2)
                      end of h1
                      (h2by (pr0_refl .) we proved pr0 t0 t0
                      by (ty3_sred_wcpr0_pr0 . . . . H1 . h1 . h2)
                      we proved ty3 g (CHead c0 (Bind b) t2) t0 t3
b:B.t0:T.t3:T.H1:(ty3 g (CHead c0 (Bind b) t1) t0 t3).(ty3 g (CHead c0 (Bind b) t2) t0 t3)
             case pr2_delta : c0:C d:C u:T i:nat H0:getl i c0 (CHead d (Bind Abbr) u) t1:T t2:T H1:pr0 t1 t2 t:T H2:subst0 i u t2 t 
                the thesis becomes b:B.t0:T.t3:T.H3:(ty3 g (CHead c0 (Bind b) t1) t0 t3).(ty3 g (CHead c0 (Bind b) t) t0 t3)
                    assume bB
                    assume t0T
                    assume t3T
                    suppose H3ty3 g (CHead c0 (Bind b) t1) t0 t3
                      (h1
                         (h1
                            by (wcpr0_refl .)
                            we proved wcpr0 c0 c0
                            by (wcpr0_comp . . previous . . H1 .)
wcpr0 (CHead c0 (Bind b) t1) (CHead c0 (Bind b) t2)
                         end of h1
                         (h2by (pr0_refl .) we proved pr0 t0 t0
                         by (ty3_sred_wcpr0_pr0 . . . . H3 . h1 . h2)
ty3 g (CHead c0 (Bind b) t2) t0 t3
                      end of h1
                      (h2
                         by (clear_bind . . .)
                         we proved clear (CHead c0 (Bind b) t2) (CHead c0 (Bind b) t2)
                         by (getl_clear_bind . . . . previous . . H0)
getl (S i) (CHead c0 (Bind b) t2) (CHead d (Bind Abbr) u)
                      end of h2
                      (h3
                         by (csubst0_snd_bind . . . . . H2 .)
csubst0 (S i) u (CHead c0 (Bind b) t2) (CHead c0 (Bind b) t)
                      end of h3
                      by (ty3_csubst0 . . . . h1 . . . h2 . h3)
                      we proved ty3 g (CHead c0 (Bind b) t) t0 t3
b:B.t0:T.t3:T.H3:(ty3 g (CHead c0 (Bind b) t1) t0 t3).(ty3 g (CHead c0 (Bind b) t) t0 t3)
          we proved b:B.t1:T.t2:T.(ty3 g (CHead c (Bind b) v1) t1 t2)(ty3 g (CHead c (Bind b) v2) t1 t2)
       we proved 
          g:G
            .c:C
              .v1:T
                .v2:T
                  .pr2 c v1 v2
                    b:B.t1:T.t2:T.(ty3 g (CHead c (Bind b) v1) t1 t2)(ty3 g (CHead c (Bind b) v2) t1 t2)