DEFINITION subst()
TYPE =
       natTTT
BODY =
FIXsubst{
         subst:natTTT
         :=λd:nat
           .λv:T
             .λt:T
               .<λt1:T.T>
                 CASE t OF
                   TSort nTSort n
                 | TLRef i
                       <λb:bool.T>
                         CASE blt i d OF
                           trueTLRef i
                         | false
                               <λb:bool.T>
                                 CASE blt d i OF
                                   trueTLRef (pred i)
                                 | falselift d O v
                 | THead k u t0THead k (subst d v u) (subst (s k d) v t0)
         }