proposition: Lemma bound_ren {k k' xi t} : bound k t -> (forall n, n < k -> xi n < k') -> bound k' (ren xi t).
proof: Proof. elim: t k k' xi. - move=> > /boundE ? H /=. apply: dclvar. by apply: H. - move=> ? IH1 ? IH2 > /boundE + ? /=. move=> [/IH1 {}IH1 /IH2 {}IH2]. apply: dclApp; [by apply: IH1|by apply: IH2]. - move=> ? IH > /boundE /IH {}IH H /=. apply: dcllam. apply: IH. move=> [|n] /=; [|have := H n]; lia. Qed.
imports: Undecidability.LambdaCalculus.Lambda PeanoNat Lia List Relations ssreflect