DEFINITION subst1_gen_lift_ge()
TYPE =
       u:T
         .t1:T
           .x:T
             .i:nat
               .h:nat
                 .d:nat
                   .subst1 i u (lift h d t1) x
                     (le (plus d h) i
                          ex2 T λt2:T.eq T x (lift h d t2) λt2:T.subst1 (minus i h) u t1 t2)
BODY =
        assume uT
        assume t1T
        assume xT
        assume inat
        assume hnat
        assume dnat
        suppose Hsubst1 i u (lift h d t1) x
        suppose H0le (plus d h) i
          we proceed by induction on H to prove ex2 T λt2:T.eq T x (lift h d t2) λt2:T.subst1 (minus i h) u t1 t2
             case subst1_refl : 
                the thesis becomes ex2 T λt2:T.eq T (lift h d t1) (lift h d t2) λt2:T.subst1 (minus i h) u t1 t2
                   (h1
                      by (refl_equal . .)
eq T (lift h d t1) (lift h d t1)
                   end of h1
                   (h2
                      by (subst1_refl . . .)
subst1 (minus i h) u t1 t1
                   end of h2
                   by (ex_intro2 . . . . h1 h2)
ex2 T λt2:T.eq T (lift h d t1) (lift h d t2) λt2:T.subst1 (minus i h) u t1 t2
             case subst1_single : t2:T H1:subst0 i u (lift h d t1) t2 
                the thesis becomes ex2 T λt3:T.eq T t2 (lift h d t3) λt3:T.subst1 (minus i h) u t1 t3
                   by (subst0_gen_lift_ge . . . . . . H1 H0)
                   we proved ex2 T λt2:T.eq T t2 (lift h d t2) λt2:T.subst0 (minus i h) u t1 t2
                   we proceed by induction on the previous result to prove ex2 T λt3:T.eq T t2 (lift h d t3) λt3:T.subst1 (minus i h) u t1 t3
                      case ex_intro2 : x0:T H2:eq T t2 (lift h d x0) H3:subst0 (minus i h) u t1 x0 
                         the thesis becomes ex2 T λt3:T.eq T t2 (lift h d t3) λt3:T.subst1 (minus i h) u t1 t3
                            by (subst1_single . . . . H3)
                            we proved subst1 (minus i h) u t1 x0
                            by (ex_intro2 . . . . H2 previous)
ex2 T λt3:T.eq T t2 (lift h d t3) λt3:T.subst1 (minus i h) u t1 t3
ex2 T λt3:T.eq T t2 (lift h d t3) λt3:T.subst1 (minus i h) u t1 t3
          we proved ex2 T λt2:T.eq T x (lift h d t2) λt2:T.subst1 (minus i h) u t1 t2
       we proved 
          u:T
            .t1:T
              .x:T
                .i:nat
                  .h:nat
                    .d:nat
                      .subst1 i u (lift h d t1) x
                        (le (plus d h) i
                             ex2 T λt2:T.eq T x (lift h d t2) λt2:T.subst1 (minus i h) u t1 t2)