DEFINITION subst_lref_lt()
TYPE =
       v:T
         .d:nat.i:nat.(lt i d)(eq T (subst d v (TLRef i)) (TLRef i))
BODY =
        assume vT
        assume dnat
        assume inat
        suppose Hlt i d
          (h1
             by (refl_equal . .)
             we proved eq T (TLRef i) (TLRef i)

                eq
                  T
                  <λb1:bool.T>
                    CASE true OF
                      trueTLRef i
                    | false<λb1:bool.T> CASE blt d i OF trueTLRef (pred i) | falselift d O v
                  TLRef i
          end of h1
          (h2
             by (lt_blt . . H)
eq bool (blt i d) true
          end of h2
          by (eq_ind_r . . . h1 . h2)
          we proved 
             eq
               T
               <λb1:bool.T>
                 CASE blt i d OF
                   trueTLRef i
                 | false<λb1:bool.T> CASE blt d i OF trueTLRef (pred i) | falselift d O v
               TLRef i
          that is equivalent to eq T (subst d v (TLRef i)) (TLRef i)
       we proved 
          v:T
            .d:nat.i:nat.(lt i d)(eq T (subst d v (TLRef i)) (TLRef i))