fact: Fixpoint prelower_aux (P: Preterm) (k: nat) : Preterm := match P with | Fun _ => P | Var i => match (le_gt_dec k i) with | left _ => Var (pred i) | right _ => Var i end | App M N => App (prelower_aux M k) (prelower_aux N k) | Abs A M => Abs A (prelower_aux M (S k)) end.
imports: Coq(Compare_dec Arith Lia) CoLoR(RelExtras ListExtras LogicUtil)