ι : Type ?u.79714
α : Type u_1
β : Type ?u.79720
γ : Type ?u.79723
inst✝ : CommMonoid α
s✝ t : Multiset α
a : α
m : Multiset ι
f g : ι → α
p : α → Prop
s : Multiset α
p_mul : ∀ (a b : α), p a → p b → p (a * b)
p_one : p 1
p_s : ∀ (a : α), a ∈ s → p a
⊢ p (foldr (fun x x_1 => x * x_1) (_ : ∀ (x y z : α), x * (y * z) = y * (x * z)) 1 s)
ι : Type ?u.79714
α : Type u_1
β : Type ?u.79720
γ : Type ?u.79723
inst✝ : CommMonoid α
s✝ t : Multiset α
a : α
m : Multiset ι
f g : ι → α
p : α → Prop
s : Multiset α
p_mul : ∀ (a b : α), p a → p b → p (a * b)
p_one : p 1
p_s : ∀ (a : α), a ∈ s → p a
⊢ p (prod s)
rw [prod_eq_foldr]
no goals
ι : Type ?u.79714
α : Type u_1
β : Type ?u.79720
γ : Type ?u.79723
inst✝ : CommMonoid α
s✝ t : Multiset α
a : α
m : Multiset ι
f g : ι → α
p : α → Prop
s : Multiset α
p_mul : ∀ (a b : α), p a → p b → p (a * b)
p_one : p 1
p_s : ∀ (a : α), a ∈ s → p a
x y z : α
⊢ (fun x x_1 => x * x_1) x ((fun x x_1 => x * x_1) y z) = (fun x x_1 => x * x_1) y ((fun x x_1 => x * x_1) x z)
simp [mul_left_comm]