DEFINITION arity_lift1()
TYPE =
       g:G
         .a:A
           .c2:C
             .hds:PList.c1:C.t:T.(drop1 hds c1 c2)(arity g c2 t a)(arity g c1 (lift1 hds t) a)
BODY =
        assume gG
        assume aA
        assume c2C
        assume hdsPList
          we proceed by induction on hds to prove c1:C.t:T.(drop1 hds c1 c2)(arity g c2 t a)(arity g c1 (lift1 hds t) a)
             case PNil : 
                the thesis becomes c1:C.t:T.(drop1 PNil c1 c2)(arity g c2 t a)(arity g c1 (lift1 PNil t) a)
                    assume c1C
                    assume tT
                    suppose Hdrop1 PNil c1 c2
                    suppose H0arity g c2 t a
                      (H_y
                         by (drop1_gen_pnil . . H)
eq C c1 c2
                      end of H_y
                      by (eq_ind_r . . . H0 . H_y)
                      we proved arity g c1 t a
                      that is equivalent to arity g c1 (lift1 PNil t) a
c1:C.t:T.(drop1 PNil c1 c2)(arity g c2 t a)(arity g c1 (lift1 PNil t) a)
             case PCons : n:nat n0:nat p:PList 
                the thesis becomes c1:C.t:T.H0:(drop1 (PCons n n0 p) c1 c2).H1:(arity g c2 t a).(arity g c1 (lift n n0 (lift1 p t)) a)
                (H) by induction hypothesis we know c1:C.t:T.(drop1 p c1 c2)(arity g c2 t a)(arity g c1 (lift1 p t) a)
                    assume c1C
                    assume tT
                    suppose H0drop1 (PCons n n0 p) c1 c2
                    suppose H1arity g c2 t a
                      (H_x
                         by (drop1_gen_pcons . . . . . H0)
ex2 C λc2:C.drop n n0 c1 c2 λc2:C.drop1 p c2 c2
                      end of H_x
                      (H2consider H_x
                      we proceed by induction on H2 to prove arity g c1 (lift n n0 (lift1 p t)) a
                         case ex_intro2 : x:C H3:drop n n0 c1 x H4:drop1 p x c2 
                            the thesis becomes arity g c1 (lift n n0 (lift1 p t)) a
                               by (H . . H4 H1)
                               we proved arity g x (lift1 p t) a
                               by (arity_lift . . . . previous . . . H3)
arity g c1 (lift n n0 (lift1 p t)) a
                      we proved arity g c1 (lift n n0 (lift1 p t)) a
                      that is equivalent to arity g c1 (lift1 (PCons n n0 p) t) a
c1:C.t:T.H0:(drop1 (PCons n n0 p) c1 c2).H1:(arity g c2 t a).(arity g c1 (lift n n0 (lift1 p t)) a)
          we proved c1:C.t:T.(drop1 hds c1 c2)(arity g c2 t a)(arity g c1 (lift1 hds t) a)
       we proved 
          g:G
            .a:A
              .c2:C
                .hds:PList.c1:C.t:T.(drop1 hds c1 c2)(arity g c2 t a)(arity g c1 (lift1 hds t) a)