DEFINITION lifts1_xhg()
TYPE =
       hds:PList
         .ts:TList
           .eq
             TList
             lifts1 (Ss hds) (lifts (S OO ts)
             lifts (S OO (lifts1 hds ts)
BODY =
        assume hdsPList
        assume tsTList
          we proceed by induction on ts to prove 
             eq
               TList
               lifts1 (Ss hds) (lifts (S OO ts)
               lifts (S OO (lifts1 hds ts)
             case TNil : 
                the thesis becomes 
                eq
                  TList
                  lifts1 (Ss hds) (lifts (S OO TNil)
                  lifts (S OO (lifts1 hds TNil)
                   by (refl_equal . .)
                   we proved eq TList TNil TNil

                      eq
                        TList
                        lifts1 (Ss hds) (lifts (S OO TNil)
                        lifts (S OO (lifts1 hds TNil)
             case TCons : t:T t0:TList 
                the thesis becomes 
                eq
                  TList
                  lifts1 (Ss hds) (lifts (S OO (TCons t t0))
                  lifts (S OO (lifts1 hds (TCons t t0))
                (H) by induction hypothesis we know 
                   eq TList (lifts1 (Ss hds) (lifts (S OO t0)) (lifts (S OO (lifts1 hds t0))
                   (h1
                      by (refl_equal . .)
                      we proved 
                         eq
                           TList
                           TCons (lift (S OO (lift1 hds t)) (lifts (S OO (lifts1 hds t0))
                           TCons (lift (S OO (lift1 hds t)) (lifts (S OO (lifts1 hds t0))
                      by (eq_ind_r . . . previous . H)

                         eq
                           TList
                           TCons (lift (S OO (lift1 hds t)) (lifts1 (Ss hds) (lifts (S OO t0))
                           TCons (lift (S OO (lift1 hds t)) (lifts (S OO (lifts1 hds t0))
                   end of h1
                   (h2
                      by (lift1_xhg . .)
eq T (lift1 (Ss hds) (lift (S OO t)) (lift (S OO (lift1 hds t))
                   end of h2
                   by (eq_ind_r . . . h1 . h2)
                   we proved 
                      eq
                        TList
                        TCons
                          lift1 (Ss hds) (lift (S OO t)
                          lifts1 (Ss hds) (lifts (S OO t0)
                        TCons (lift (S OO (lift1 hds t)) (lifts (S OO (lifts1 hds t0))

                      eq
                        TList
                        lifts1 (Ss hds) (lifts (S OO (TCons t t0))
                        lifts (S OO (lifts1 hds (TCons t t0))
          we proved 
             eq
               TList
               lifts1 (Ss hds) (lifts (S OO ts)
               lifts (S OO (lifts1 hds ts)
       we proved 
          hds:PList
            .ts:TList
              .eq
                TList
                lifts1 (Ss hds) (lifts (S OO ts)
                lifts (S OO (lifts1 hds ts)