DEFINITION drop_ind()
TYPE =
       P:natnatCCProp
         .c:C.(P O O c c)
           (k:K
                  .n:nat
                    .c:C
                      .c1:C
                        .drop (r k n) O c c1
                          (P (r k n) O c c1)t:T.(P (S n) O (CHead c k t) c1)
                (k:K
                       .n:nat
                         .n1:nat
                           .c:C
                             .c1:C
                               .drop n (r k n1) c c1
                                 (P n (r k n1) c c1
                                      t:T.(P n (S n1) (CHead c k (lift n (r k n1) t)) (CHead c1 k t)))
                     n:nat.n1:nat.c:C.c1:C.(drop n n1 c c1)(P n n1 c c1)))
BODY =
        assume PnatnatCCProp
        suppose Hc:C.(P O O c c)
        suppose H1
           k:K
             .n:nat
               .c:C
                 .c1:C
                   .drop (r k n) O c c1
                     (P (r k n) O c c1)t:T.(P (S n) O (CHead c k t) c1)
        suppose H2
           k:K
             .n:nat
               .n1:nat
                 .c:C
                   .c1:C
                     .drop n (r k n1) c c1
                       (P n (r k n1) c c1
                            t:T.(P n (S n1) (CHead c k (lift n (r k n1) t)) (CHead c1 k t)))
          (aux) by well-founded reasoning we prove n:nat.n1:nat.c:C.c1:C.(drop n n1 c c1)(P n n1 c c1)
           assume nnat
           assume n1nat
           assume cC
           assume c1C
           suppose H3drop n n1 c c1
             by cases on H3 we prove P n n1 c c1
                case drop_refl c2:C 
                   the thesis becomes O O c2 c2
                   by (H .)
O O c2 c2
                case drop_drop k:K n2:nat c2:C c3:C H4:drop (r k n2) O c2 c3 t:T 
                   the thesis becomes P (S n2) O (CHead c2 k t) c3
                   by (aux . . . . H4)
                   we proved P (r k n2) O c2 c3
                   by (H1 . . . . H4 previous .)
P (S n2) O (CHead c2 k t) c3
                case drop_skip k:K n2:nat n3:nat c2:C c3:C H4:drop n2 (r k n3) c2 c3 t:T 
                   the thesis becomes P n2 (S n3) (CHead c2 k (lift n2 (r k n3) t)) (CHead c3 k t)
                   by (aux . . . . H4)
                   we proved P n2 (r k n3) c2 c3
                   by (H2 . . . . . H4 previous .)
P n2 (S n3) (CHead c2 k (lift n2 (r k n3) t)) (CHead c3 k t)
             we proved P n n1 c c1
n:nat.n1:nat.c:C.c1:C.(drop n n1 c c1)(P n n1 c c1)
          done
          consider aux
          we proved n:nat.n1:nat.c:C.c1:C.(drop n n1 c c1)(P n n1 c c1)
       we proved 
          P:natnatCCProp
            .c:C.(P O O c c)
              (k:K
                     .n:nat
                       .c:C
                         .c1:C
                           .drop (r k n) O c c1
                             (P (r k n) O c c1)t:T.(P (S n) O (CHead c k t) c1)
                   (k:K
                          .n:nat
                            .n1:nat
                              .c:C
                                .c1:C
                                  .drop n (r k n1) c c1
                                    (P n (r k n1) c c1
                                         t:T.(P n (S n1) (CHead c k (lift n (r k n1) t)) (CHead c1 k t)))
                        n:nat.n1:nat.c:C.c1:C.(drop n n1 c c1)(P n n1 c c1)))