DEFINITION nf2_lref_abst()
TYPE =
       c:C
         .e:C
           .u:T.i:nat.(getl i c (CHead e (Bind Abst) u))(nf2 c (TLRef i))
BODY =
        assume cC
        assume eC
        assume uT
        assume inat
        suppose Hgetl i c (CHead e (Bind Abst) u)
          we must prove nf2 c (TLRef i)
          or equivalently t2:T.(pr2 c (TLRef i) t2)(eq T (TLRef i) t2)
           assume t2T
           suppose H0pr2 c (TLRef i) t2
             (H1
                by (pr2_gen_lref . . . H0)

                   or
                     eq T t2 (TLRef i)
                     ex2_2
                       C
                       T
                       λd:C.λu:T.getl i c (CHead d (Bind Abbr) u)
                       λ:C.λu:T.eq T t2 (lift (S i) O u)
             end of H1
             we proceed by induction on H1 to prove eq T (TLRef i) t2
                case or_introl : H2:eq T t2 (TLRef i) 
                   the thesis becomes eq T (TLRef i) t2
                      by (refl_equal . .)
                      we proved eq T (TLRef i) (TLRef i)
                      by (eq_ind_r . . . previous . H2)
eq T (TLRef i) t2
                case or_intror : H2:ex2_2 C T λd:C.λu0:T.getl i c (CHead d (Bind Abbr) u0) λ:C.λu0:T.eq T t2 (lift (S i) O u0) 
                   the thesis becomes eq T (TLRef i) t2
                      we proceed by induction on H2 to prove eq T (TLRef i) t2
                         case ex2_2_intro : x0:C x1:T H3:getl i c (CHead x0 (Bind Abbr) x1) H4:eq T t2 (lift (S i) O x1) 
                            the thesis becomes eq T (TLRef i) t2
                               (H6
                                  by (getl_mono . . . H . H3)
                                  we proved eq C (CHead e (Bind Abst) u) (CHead x0 (Bind Abbr) x1)
                                  we proceed by induction on the previous result to prove 
                                     <λ:C.Prop>
                                       CASE CHead x0 (Bind Abbr) x1 OF
                                         CSort False
                                       | CHead  k 
                                             <λ:K.Prop>
                                               CASE k OF
                                                 Bind b<λ:B.Prop> CASE b OF AbbrFalse | AbstTrue | VoidFalse
                                               | Flat False
                                     case refl_equal : 
                                        the thesis becomes 
                                        <λ:C.Prop>
                                          CASE CHead e (Bind Abst) u OF
                                            CSort False
                                          | CHead  k 
                                                <λ:K.Prop>
                                                  CASE k OF
                                                    Bind b<λ:B.Prop> CASE b OF AbbrFalse | AbstTrue | VoidFalse
                                                  | Flat False
                                           consider I
                                           we proved True

                                              <λ:C.Prop>
                                                CASE CHead e (Bind Abst) u OF
                                                  CSort False
                                                | CHead  k 
                                                      <λ:K.Prop>
                                                        CASE k OF
                                                          Bind b<λ:B.Prop> CASE b OF AbbrFalse | AbstTrue | VoidFalse
                                                        | Flat False

                                     <λ:C.Prop>
                                       CASE CHead x0 (Bind Abbr) x1 OF
                                         CSort False
                                       | CHead  k 
                                             <λ:K.Prop>
                                               CASE k OF
                                                 Bind b<λ:B.Prop> CASE b OF AbbrFalse | AbstTrue | VoidFalse
                                               | Flat False
                               end of H6
                               consider H6
                               we proved 
                                  <λ:C.Prop>
                                    CASE CHead x0 (Bind Abbr) x1 OF
                                      CSort False
                                    | CHead  k 
                                          <λ:K.Prop>
                                            CASE k OF
                                              Bind b<λ:B.Prop> CASE b OF AbbrFalse | AbstTrue | VoidFalse
                                            | Flat False
                               that is equivalent to False
                               we proceed by induction on the previous result to prove eq T (TLRef i) (lift (S i) O x1)
                               we proved eq T (TLRef i) (lift (S i) O x1)
                               by (eq_ind_r . . . previous . H4)
eq T (TLRef i) t2
eq T (TLRef i) t2
             we proved eq T (TLRef i) t2
          we proved t2:T.(pr2 c (TLRef i) t2)(eq T (TLRef i) t2)
          that is equivalent to nf2 c (TLRef i)
       we proved 
          c:C
            .e:C
              .u:T.i:nat.(getl i c (CHead e (Bind Abst) u))(nf2 c (TLRef i))