DEFINITION nf2_abst_shift()
TYPE =
       ∀c:C
         .∀u:T
           .nf2 c u
             →∀t:T
                  .(nf2 (CHead c (Bind Abst) u) t)→(nf2 c (THead (Bind Abst) u t))
BODY =
        assume c: C
        assume u: T
          we must prove 
                nf2 c u
                  →∀t:T
                       .(nf2 (CHead c (Bind Abst) u) t)→(nf2 c (THead (Bind Abst) u t))
          or equivalently 
                ∀t2:T.(pr2 c u t2)→(eq T u t2)
                  →∀t:T
                       .(nf2 (CHead c (Bind Abst) u) t)→(nf2 c (THead (Bind Abst) u t))
           suppose H: ∀t2:T.(pr2 c u t2)→(eq T u t2)
           assume t: T
             we must prove 
                   (nf2 (CHead c (Bind Abst) u) t)→(nf2 c (THead (Bind Abst) u t))
             or equivalently 
                   ∀t2:T.(pr2 (CHead c (Bind Abst) u) t t2)→(eq T t t2)
                     →nf2 c (THead (Bind Abst) u t)
             suppose H0: ∀t2:T.(pr2 (CHead c (Bind Abst) u) t t2)→(eq T t t2)
                we must prove nf2 c (THead (Bind Abst) u t)
                or equivalently 
                      ∀t2:T
                        .pr2 c (THead (Bind Abst) u t) t2
                          →eq T (THead (Bind Abst) u t) t2
                 assume t2: T
                 suppose H1: pr2 c (THead (Bind Abst) u t) t2
                   (H2) 
                      by (pr2_gen_abst . . . . H1)

                         ex3_2
                           T
                           T
                           λu2:T.λt2:T.eq T t2 (THead (Bind Abst) u2 t2)
                           λu2:T.λ:T.pr2 c u u2
                           λ:T.λt2:T.∀b:B.∀u:T.(pr2 (CHead c (Bind b) u) t t2)
                   end of H2
                   we proceed by induction on H2 to prove eq T (THead (Bind Abst) u t) t2
                      case ex3_2_intro : x0:T x1:T H3:eq T t2 (THead (Bind Abst) x0 x1) H4:pr2 c u x0 H5:∀b:B.∀u0:T.(pr2 (CHead c (Bind b) u0) t x1) ⇒
                         the thesis becomes eq T (THead (Bind Abst) u t) t2
                            (h1) 
                               by (refl_equal . .)
eq K (Bind Abst) (Bind Abst)
                            end of h1
                            (h2) by (H . H4) we proved eq T u x0
                            (h3) 
                               by (H5 . .)
                               we proved pr2 (CHead c (Bind Abst) u) t x1
                               by (H0 . previous)
eq T t x1
                            end of h3
                            by (f_equal3 . . . . . . . . . . . h1 h2 h3)
                            we proved eq T (THead (Bind Abst) u t) (THead (Bind Abst) x0 x1)
                            by (eq_ind_r . . . previous . H3)
eq T (THead (Bind Abst) u t) t2
                   we proved eq T (THead (Bind Abst) u t) t2
                we proved 
                   ∀t2:T
                     .pr2 c (THead (Bind Abst) u t) t2
                       →eq T (THead (Bind Abst) u t) t2
                that is equivalent to nf2 c (THead (Bind Abst) u t)
             we proved 
                ∀t2:T.(pr2 (CHead c (Bind Abst) u) t t2)→(eq T t t2)
                  →nf2 c (THead (Bind Abst) u t)
             that is equivalent to 
                (nf2 (CHead c (Bind Abst) u) t)→(nf2 c (THead (Bind Abst) u t))
          we proved 
             ∀t2:T.(pr2 c u t2)→(eq T u t2)
               →∀t:T
                    .(nf2 (CHead c (Bind Abst) u) t)→(nf2 c (THead (Bind Abst) u t))
          that is equivalent to 
             nf2 c u
               →∀t:T
                    .(nf2 (CHead c (Bind Abst) u) t)→(nf2 c (THead (Bind Abst) u t))
       we proved 
          ∀c:C
            .∀u:T
              .nf2 c u
                →∀t:T
                     .(nf2 (CHead c (Bind Abst) u) t)→(nf2 c (THead (Bind Abst) u t))