case inl
a b : Cardinal
h : ℵ₀ ≤ a
h' : b ≠ 0
hb : ℵ₀ ≤ b
⊢ a * b = max a b

case inr
a b : Cardinal
h : ℵ₀ ≤ a
h' : b ≠ 0
hb : b < ℵ₀
⊢ a * b = max a b
a b : Cardinal
h : ℵ₀ ≤ a
h' : b ≠ 0
⊢ a * b = max a b
cases' le_or_lt ℵ₀ b with hb hb
case inr
a b : Cardinal
h : ℵ₀ ≤ a
h' : b ≠ 0
hb : b < ℵ₀
⊢ max a b ≤ a * b
case inr
a b : Cardinal
h : ℵ₀ ≤ a
h' : b ≠ 0
hb : b < ℵ₀
⊢ a * b = max a b
refine' (mul_le_max_of_aleph0_le_left h).antisymm _
case inr
a b : Cardinal
h : ℵ₀ ≤ a
h' : b ≠ 0
hb : b < ℵ₀
this : b ≤ a
⊢ max a b ≤ a * b
case inr
a b : Cardinal
h : ℵ₀ ≤ a
h' : b ≠ 0
hb : b < ℵ₀
⊢ max a b ≤ a * b
have : b ≤ a := hb.le.trans h
case inr
a b : Cardinal
h : ℵ₀ ≤ a
h' : b ≠ 0
hb : b < ℵ₀
this : b ≤ a
⊢ a ≤ a * b
case inr
a b : Cardinal
h : ℵ₀ ≤ a
h' : b ≠ 0
hb : b < ℵ₀
this : b ≤ a
⊢ max a b ≤ a * b
rw [max_eq_left this]
case h.e'_3
a b : Cardinal
h : ℵ₀ ≤ a
h' : b ≠ 0
hb : b < ℵ₀
this : b ≤ a
⊢ a = a * 1
case inr
a b : Cardinal
h : ℵ₀ ≤ a
h' : b ≠ 0
hb : b < ℵ₀
this : b ≤ a
⊢ a ≤ a * b
convert mul_le_mul_left' (one_le_iff_ne_zero.mpr h') a
no goals
case h.e'_3
a b : Cardinal
h : ℵ₀ ≤ a
h' : b ≠ 0
hb : b < ℵ₀
this : b ≤ a
⊢ a = a * 1
rw [mul_one]
no goals
case inl
a b : Cardinal
h : ℵ₀ ≤ a
h' : b ≠ 0
hb : ℵ₀ ≤ b
⊢ a * b = max a b
exact mul_eq_max h hb