α : Type u_2
α' : Type ?u.9016
β : Type u_3
β' : Type ?u.9022
γ : Type u_1
γ' : Type ?u.9028
δ : Type ?u.9031
δ' : Type ?u.9034
ε : Type ?u.9037
ε' : Type ?u.9040
ζ : Type ?u.9043
ζ' : Type ?u.9046
ν : Type ?u.9049
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s s' : Finset α
t t' : Finset β
u u' : Finset γ
a a' : α
b b' : β
c : γ
⊢ card (image₂ f s t) = card (s ×ˢ t) ↔ InjOn (fun x => f x.fst x.snd) ↑(s ×ˢ t)
α : Type u_2
α' : Type ?u.9016
β : Type u_3
β' : Type ?u.9022
γ : Type u_1
γ' : Type ?u.9028
δ : Type ?u.9031
δ' : Type ?u.9034
ε : Type ?u.9037
ε' : Type ?u.9040
ζ : Type ?u.9043
ζ' : Type ?u.9046
ν : Type ?u.9049
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s s' : Finset α
t t' : Finset β
u u' : Finset γ
a a' : α
b b' : β
c : γ
⊢ card (image₂ f s t) = card s * card t ↔ InjOn (fun x => f x.fst x.snd) (↑s ×ˢ ↑t)
rw [← card_product, ← coe_product]
no goals
α : Type u_2
α' : Type ?u.9016
β : Type u_3
β' : Type ?u.9022
γ : Type u_1
γ' : Type ?u.9028
δ : Type ?u.9031
δ' : Type ?u.9034
ε : Type ?u.9037
ε' : Type ?u.9040
ζ : Type ?u.9043
ζ' : Type ?u.9046
ν : Type ?u.9049
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s s' : Finset α
t t' : Finset β
u u' : Finset γ
a a' : α
b b' : β
c : γ
⊢ card (image₂ f s t) = card (s ×ˢ t) ↔ InjOn (fun x => f x.fst x.snd) ↑(s ×ˢ t)
exact card_image_iff