α : Type u_1
β : Type u_2
γ : Type ?u.54312
δ : Type ?u.54315
a : α
b : β
s : Multiset α
t : Multiset β
l₁ : List α
l₂ : List β
⊢ product ↑l₁ ↑l₂ = ↑(List.product l₁ l₂)
α : Type u_1
β : Type u_2
γ : Type ?u.54312
δ : Type ?u.54315
a : α
b : β
s : Multiset α
t : Multiset β
l₁ : List α
l₂ : List β
⊢ ↑l₁ ×ˢ ↑l₂ = ↑(l₁ ×ˢ l₂)
dsimp only [SProd.sprod]
α : Type u_1
β : Type u_2
γ : Type ?u.54312
δ : Type ?u.54315
a : α
b : β
s : Multiset α
t : Multiset β
l₁ : List α
l₂ : List β
⊢ (bind ↑l₁ fun a => map (Prod.mk a) ↑l₂) = bind ↑l₁ fun a => ↑(List.map (Prod.mk a) l₂)
α : Type u_1
β : Type u_2
γ : Type ?u.54312
δ : Type ?u.54315
a : α
b : β
s : Multiset α
t : Multiset β
l₁ : List α
l₂ : List β
⊢ product ↑l₁ ↑l₂ = ↑(List.product l₁ l₂)
rw [product, List.product, ← coe_bind]
no goals
α : Type u_1
β : Type u_2
γ : Type ?u.54312
δ : Type ?u.54315
a : α
b : β
s : Multiset α
t : Multiset β
l₁ : List α
l₂ : List β
⊢ (bind ↑l₁ fun a => map (Prod.mk a) ↑l₂) = bind ↑l₁ fun a => ↑(List.map (Prod.mk a) l₂)
simp