proposition: Fact rem_scal k a : rem (k*a) p = rem (k*rem a p) p.
proof: Proof. rewrite (div_rem_spec1 a p) at 1. rewrite Nat.mul_add_distr_l. apply rem_erase with (k*div a p). ring. Qed.
imports: List Arith Lia Permutation Extraction Undecidability.Shared.Libs.DLW.Utils(utils_tac utils_list)