proposition: Lemma mod_frac_lt {n m: nat} : (S m) mod (n + 1) = 0 -> S m < (S m * (n + 2)) / (n + 1).
proof: Proof. have ->: S m * (n + 2) = S m + S m * (n + 1) by lia. have := Nat.div_mod_eq (S m) (n + 1). rewrite Nat.div_add; lia. Qed.
imports: List PeanoNat BinNat Lia Undecidability.CounterMachines.CM1 ssreflect ssrbool ssrfun