DEFINITION subst1_gen_lift_lt()
TYPE =
       u:T
         .t1:T
           .x:T
             .i:nat
               .h:nat
                 .d:nat
                   .subst1 i (lift h d u) (lift h (S (plus i d)) t1) x
                     ex2 T λt2:T.eq T x (lift h (S (plus i d)) t2) λt2:T.subst1 i u t1 t2
BODY =
        assume uT
        assume t1T
        assume xT
        assume inat
        assume hnat
        assume dnat
        suppose Hsubst1 i (lift h d u) (lift h (S (plus i d)) t1) x
          we proceed by induction on H to prove ex2 T λt2:T.eq T x (lift h (S (plus i d)) t2) λt2:T.subst1 i u t1 t2
             case subst1_refl : 
                the thesis becomes 
                ex2
                  T
                  λt2:T.eq T (lift h (S (plus i d)) t1) (lift h (S (plus i d)) t2)
                  λt2:T.subst1 i u t1 t2
                   (h1
                      by (refl_equal . .)
eq T (lift h (S (plus i d)) t1) (lift h (S (plus i d)) t1)
                   end of h1
                   (h2
                      by (subst1_refl . . .)
subst1 i u t1 t1
                   end of h2
                   by (ex_intro2 . . . . h1 h2)

                      ex2
                        T
                        λt2:T.eq T (lift h (S (plus i d)) t1) (lift h (S (plus i d)) t2)
                        λt2:T.subst1 i u t1 t2
             case subst1_single : t2:T H0:subst0 i (lift h d u) (lift h (S (plus i d)) t1) t2 
                the thesis becomes ex2 T λt3:T.eq T t2 (lift h (S (plus i d)) t3) λt3:T.subst1 i u t1 t3
                   by (subst0_gen_lift_lt . . . . . . H0)
                   we proved ex2 T λt2:T.eq T t2 (lift h (S (plus i d)) t2) λt2:T.subst0 i u t1 t2
                   we proceed by induction on the previous result to prove ex2 T λt3:T.eq T t2 (lift h (S (plus i d)) t3) λt3:T.subst1 i u t1 t3
                      case ex_intro2 : x0:T H1:eq T t2 (lift h (S (plus i d)) x0) H2:subst0 i u t1 x0 
                         the thesis becomes ex2 T λt3:T.eq T t2 (lift h (S (plus i d)) t3) λt3:T.subst1 i u t1 t3
                            by (subst1_single . . . . H2)
                            we proved subst1 i u t1 x0
                            by (ex_intro2 . . . . H1 previous)
ex2 T λt3:T.eq T t2 (lift h (S (plus i d)) t3) λt3:T.subst1 i u t1 t3
ex2 T λt3:T.eq T t2 (lift h (S (plus i d)) t3) λt3:T.subst1 i u t1 t3
          we proved ex2 T λt2:T.eq T x (lift h (S (plus i d)) t2) λt2:T.subst1 i u t1 t2
       we proved 
          u:T
            .t1:T
              .x:T
                .i:nat
                  .h:nat
                    .d:nat
                      .subst1 i (lift h d u) (lift h (S (plus i d)) t1) x
                        ex2 T λt2:T.eq T x (lift h (S (plus i d)) t2) λt2:T.subst1 i u t1 t2