DEFINITION TList_ind()
TYPE =
       P:TListProp
         .P TNil
           (t:T.t1:TList.(P t1)(P (TCons t t1)))t:TList.(P t)
BODY =
        assume PTListProp
        suppose HTNil
        suppose H1t:T.t1:TList.(P t1)(P (TCons t t1))
          (aux) by well-founded reasoning we prove t:TList.(P t)
          assume tTList
             by cases on t we prove P t
                case TNil 
                   the thesis becomes the hypothesis H
                case TCons t1:T t2:TList 
                   the thesis becomes P (TCons t1 t2)
                   by (aux .)
                   we proved P t2
                   by (H1 . . previous)
P (TCons t1 t2)
             we proved P t
t:TList.(P t)
          done
          consider aux
          we proved t:TList.(P t)
       we proved 
          P:TListProp
            .P TNil
              (t:T.t1:TList.(P t1)(P (TCons t t1)))t:TList.(P t)