proposition: Lemma der_mon {n m t Gamma} : der Gamma n t -> n <= m -> der Gamma m t.
proof: Proof. elim: n m Gamma t; first by move=> > /derE. move=> n IH m Gamma t. move /derE => [ζ [s' [k']]] [? [? ?]] ?. have -> : m = S (Nat.pred m) by lia. apply: der_var; try eassumption. apply: Forall_impl; last by eassumption. move=> ? /IH. apply. by lia. Qed.
imports: List Lia ssreflect ssrbool ssrfun Undecidability.HilbertCalculi.HSC