The pigeonhole step, stated independently of Latin squares.
theorem
LatinQuarter.product_eq_zero_of_card_lt
{R : Type u_1}
[CommRing R]
{ι : Type u_2}
{κ : Type u_3}
[Fintype ι]
[Fintype κ]
(z : κ → R)
(hz : ∀ (j : κ), z j * z j = 0)
(f : ι → κ)
(hcard : Fintype.card κ < Fintype.card ι)
: