proposition: Fact scal_one_comm k x : scal k o ⊗ x = x ⊗ scal k o.
proof: Proof. Proof using M_sum M_times sum_cancel distr_r distr_l. destruct M_times as [ T1 T2 T3 ]. induction k as [ | k IHk ]. + rewrite mscal_0, times_zero_l, times_zero_r; auto. + rewrite mscal_S, distr_l, distr_r; f_equal; auto. rewrite T1, T2; auto. Qed.
imports: List Arith ZArith Lia Undecidability.Shared.Libs.DLW.Utils(utils_tac utils_list binomial)