proposition: Lemma halting_monotone {M : Cm1} {x: Config} {n m: nat} : n <= m -> halting M (Nat.iter n (step M) x) -> halting M (Nat.iter m (step M) x).
proof: Proof. move=> ? ?. have -> : m = n + (m-n) by lia. rewrite iter_plus. elim: (m-n); first done. move=> * /=. by congruence. Qed.
imports: List PeanoNat BinNat Lia Undecidability.CounterMachines.CM1 ssreflect ssrbool ssrfun