proposition: Lemma maybe_reachable_mon' {M n n' X X' Y Y'} : n <= n' -> (X, Y) = (X', Y') -> maybe_reachable M n X Y -> maybe_reachable M n' X' Y'.
proof: Proof. move /reachable_n_mon => H [-> ->] [?|]; first by (left; apply: H). move=> [Z [HZ ?]]. right. exists Z. by constructor; [apply: H | ]. Qed.
imports: List Lia Relation_Operators Undecidability.StackMachines.Util(Nat_facts List_facts) Undecidability.StackMachines.Reductions.CM1_HALT_to_SMNdl_UB.SMX ssreflect ssrbool ssrfun