proposition: Fact ra_mult_rel v e : ⟦ra_mult⟧ v e <-> e = vec_head v * vec_head (vec_tail v).
proof: Proof. vec split v with n; vec split v with m; vec nil v. split. + intros H; apply ra_rel_fun with (1 := H), ra_mult_val. + intros; subst; apply ra_mult_val. Qed.
imports: Arith List Lia Undecidability.Shared.Libs.DLW(utils_tac utils_nat utils_list gcd crt sums finite pos vec) Undecidability.MuRec.Util(recalg recomp prim_min)