ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Cardinal.alephIdx.init
theorem alephIdx.init {a b} : b < alephIdx a → ∃ c, alephIdx c = b 
Arguments: {a : Cardinal.{u_1}} {b : Ordinal.{u_1}}
Goal: b < a.alephIdx → ∃ c, c.alephIdx = b
-- Cardinal.alephIdx.relIso_coe
@[simp]
theorem alephIdx.relIso_coe : (alephIdx.relIso : Cardinal → Ordinal) = alephIdx 
Goal: ⇑Cardinal.alephIdx.relIso = Cardinal.alephIdx
-- Cardinal.type_cardinal
@[simp]
theorem type_cardinal : @type Cardinal (· < ·) _ = Ordinal.univ.{u, u + 1} 
Goal: (Ordinal.type fun x x_1 => x < x_1) = Ordinal.univ.{u, u + 1}
-- Cardinal.mk_cardinal
@[simp]
theorem mk_cardinal : #Cardinal = univ.{u, u + 1} 
Goal: #Cardinal.{u} = Cardinal.univ.{u, u + 1}
-- Cardinal.aleph'.relIso_coe
@[simp]
theorem aleph'.relIso_coe : (Aleph'.relIso : Ordinal → Cardinal) = aleph' 
Goal: ⇑Cardinal.Aleph'.relIso = Cardinal.aleph'
-- Cardinal.aleph'_lt
@[simp]
theorem aleph'_lt {o₁ o₂ : Ordinal} : aleph' o₁ < aleph' o₂ ↔ o₁ < o₂ 
Arguments: {o₁ o₂ : Ordinal.{u_1}}
Goal: Cardinal.aleph' o₁ < Cardinal.aleph' o₂ ↔ o₁ < o₂
-- Cardinal.aleph'_le
@[simp]
theorem aleph'_le {o₁ o₂ : Ordinal} : aleph' o₁ ≤ aleph' o₂ ↔ o₁ ≤ o₂ 
Arguments: {o₁ o₂ : Ordinal.{u_1}}
Goal: Cardinal.aleph' o₁ ≤ Cardinal.aleph' o₂ ↔ o₁ ≤ o₂
-- Cardinal.aleph'_alephIdx
@[simp]
theorem aleph'_alephIdx (c : Cardinal) : aleph' c.alephIdx = c 
Arguments: (c : Cardinal.{u_1})
Goal: Cardinal.aleph' c.alephIdx = c
-- Cardinal.alephIdx_aleph'
@[simp]
theorem alephIdx_aleph' (o : Ordinal) : (aleph' o).alephIdx = o 
Arguments: (o : Ordinal.{u_1})
Goal: (Cardinal.aleph' o).alephIdx = o
-- Cardinal.aleph'_zero
@[simp]
theorem aleph'_zero : aleph' 0 = 0 
Goal: Cardinal.aleph' 0 = 0
-- Cardinal.aleph'_succ
@[simp]
theorem aleph'_succ {o : Ordinal} : aleph' (succ o) = succ (aleph' o) 
Arguments: {o : Ordinal.{u_1}}
Goal: Cardinal.aleph' (Order.succ o) = Order.succ (Cardinal.aleph' o)
-- Cardinal.aleph'_nat
@[simp]
theorem aleph'_nat : ∀ n : ℕ, aleph' n = n
  
Arguments: (n : ℕ)
Goal: Cardinal.aleph' ↑n = ↑n
-- Cardinal.aleph'_le_of_limit
theorem aleph'_le_of_limit {o : Ordinal} (l : o.IsLimit) {c} :
    aleph' o ≤ c ↔ ∀ o' < o, aleph' o' ≤ c 
Arguments: {o : Ordinal.{u_1}} (l : o.IsLimit) {c : Cardinal.{u_1}}
Goal: Cardinal.aleph' o ≤ c ↔ ∀ o' < o, Cardinal.aleph' o' ≤ c
-- Cardinal.aleph'_limit
theorem aleph'_limit {o : Ordinal} (ho : o.IsLimit) : aleph' o = ⨆ a : Iio o, aleph' a 
Arguments: {o : Ordinal.{u_1}} (ho : o.IsLimit)
Goal: Cardinal.aleph' o = ⨆ a, Cardinal.aleph' ↑a
-- Cardinal.aleph'_omega
@[simp]
theorem aleph'_omega : aleph' ω = ℵ₀ 
Goal: Cardinal.aleph' ω = ℵ₀
-- Cardinal.aleph_lt
@[simp]
theorem aleph_lt {o₁ o₂ : Ordinal} : aleph o₁ < aleph o₂ ↔ o₁ < o₂ 
Arguments: {o₁ o₂ : Ordinal.{u_1}}
Goal: Cardinal.aleph o₁ < Cardinal.aleph o₂ ↔ o₁ < o₂
-- Cardinal.aleph_le
@[simp]
theorem aleph_le {o₁ o₂ : Ordinal} : aleph o₁ ≤ aleph o₂ ↔ o₁ ≤ o₂ 
Arguments: {o₁ o₂ : Ordinal.{u_1}}
Goal: Cardinal.aleph o₁ ≤ Cardinal.aleph o₂ ↔ o₁ ≤ o₂
-- Cardinal.max_aleph_eq
@[simp]
theorem max_aleph_eq (o₁ o₂ : Ordinal) : max (aleph o₁) (aleph o₂) = aleph (max o₁ o₂) 
Arguments: (o₁ o₂ : Ordinal.{u_1})
Goal: max (Cardinal.aleph o₁) (Cardinal.aleph o₂) = Cardinal.aleph (max o₁ o₂)
-- Cardinal.aleph_succ
@[simp]
theorem aleph_succ {o : Ordinal} : aleph (succ o) = succ (aleph o) 
Arguments: {o : Ordinal.{u_1}}
Goal: Cardinal.aleph (Order.succ o) = Order.succ (Cardinal.aleph o)
-- Cardinal.aleph_zero
@[simp]
theorem aleph_zero : aleph 0 = ℵ₀ 
Goal: Cardinal.aleph 0 = ℵ₀
-- Cardinal.aleph_limit
theorem aleph_limit {o : Ordinal} (ho : o.IsLimit) : aleph o = ⨆ a : Iio o, aleph a 
Arguments: {o : Ordinal.{u_1}} (ho : o.IsLimit)
Goal: Cardinal.aleph o = ⨆ a, Cardinal.aleph ↑a
-- Cardinal.aleph0_le_aleph'
theorem aleph0_le_aleph' {o : Ordinal} : ℵ₀ ≤ aleph' o ↔ ω ≤ o 
Arguments: {o : Ordinal.{u_1}}
Goal: ℵ₀ ≤ Cardinal.aleph' o ↔ ω ≤ o
-- Cardinal.aleph0_le_aleph
theorem aleph0_le_aleph (o : Ordinal) : ℵ₀ ≤ aleph o 
Arguments: (o : Ordinal.{u_1})
Goal: ℵ₀ ≤ Cardinal.aleph o
-- Cardinal.aleph'_pos
theorem aleph'_pos {o : Ordinal} (ho : 0 < o) : 0 < aleph' o 
Arguments: {o : Ordinal.{u_1}} (ho : 0 < o)
Goal: 0 < Cardinal.aleph' o
-- Cardinal.aleph_pos
theorem aleph_pos (o : Ordinal) : 0 < aleph o 
Arguments: (o : Ordinal.{u_1})
Goal: 0 < Cardinal.aleph o
-- Cardinal.aleph_toNat
@[simp]
theorem aleph_toNat (o : Ordinal) : toNat (aleph o) = 0 
Arguments: (o : Ordinal.{u_1})
Goal: Cardinal.toNat (Cardinal.aleph o) = 0
-- Cardinal.aleph_toPartENat
@[simp]
theorem aleph_toPartENat (o : Ordinal) : toPartENat (aleph o) = ⊤ 
Arguments: (o : Ordinal.{u_1})
Goal: Cardinal.toPartENat (Cardinal.aleph o) = ⊤
-- Cardinal.ord_aleph_isLimit
theorem ord_aleph_isLimit (o : Ordinal) : (aleph o).ord.IsLimit 
Arguments: (o : Ordinal.{u_1})
Goal: (Cardinal.aleph o).ord.IsLimit
-- Cardinal.exists_aleph
theorem exists_aleph {c : Cardinal} : ℵ₀ ≤ c ↔ ∃ o, c = aleph o 
Arguments: {c : Cardinal.{u_1}}
Goal: ℵ₀ ≤ c ↔ ∃ o, c = Cardinal.aleph o
-- Cardinal.aleph'_isNormal
theorem aleph'_isNormal : IsNormal (ord ∘ aleph') 
Goal: Ordinal.IsNormal (Cardinal.ord ∘ Cardinal.aleph')
-- Cardinal.aleph_isNormal
theorem aleph_isNormal : IsNormal (ord ∘ aleph) 
Goal: Ordinal.IsNormal (Cardinal.ord ∘ Cardinal.aleph)
-- Cardinal.succ_aleph0
theorem succ_aleph0 : succ ℵ₀ = aleph 1 
Goal: Order.succ ℵ₀ = Cardinal.aleph 1
-- Cardinal.aleph0_lt_aleph_one
theorem aleph0_lt_aleph_one : ℵ₀ < aleph 1 
Goal: ℵ₀ < Cardinal.aleph 1
-- Cardinal.countable_iff_lt_aleph_one
theorem countable_iff_lt_aleph_one {α : Type*} (s : Set α) : s.Countable ↔ #s < aleph 1 
Arguments: {α : Type u_1} (s : Set α)
Goal: s.Countable ↔ #↑s < Cardinal.aleph 1
-- Cardinal.ord_card_unbounded
theorem ord_card_unbounded : Unbounded (· < ·) { b : Ordinal | b.card.ord = b } 
Goal: Set.Unbounded (fun x x_1 => x < x_1) {b | b.card.ord = b}
-- Cardinal.eq_aleph'_of_eq_card_ord
theorem eq_aleph'_of_eq_card_ord {o : Ordinal} (ho : o.card.ord = o) : ∃ a, (aleph' a).ord = o 
Arguments: {o : Ordinal.{u_1}} (ho : o.card.ord = o)
Goal: ∃ a, (Cardinal.aleph' a).ord = o
-- Cardinal.ord_aleph'_eq_enum_card
theorem ord_aleph'_eq_enum_card : ord ∘ aleph' = enumOrd { b : Ordinal | b.card.ord = b } 
Goal: Cardinal.ord ∘ Cardinal.aleph' = Ordinal.enumOrd {b | b.card.ord = b}
-- Cardinal.ord_card_unbounded'
theorem ord_card_unbounded' : Unbounded (· < ·) { b : Ordinal | b.card.ord = b ∧ ω ≤ b } 
Goal: Set.Unbounded (fun x x_1 => x < x_1) {b | b.card.ord = b ∧ ω ≤ b}
-- Cardinal.eq_aleph_of_eq_card_ord
theorem eq_aleph_of_eq_card_ord {o : Ordinal} (ho : o.card.ord = o) (ho' : ω ≤ o) :
    ∃ a, (aleph a).ord = o 
Arguments: {o : Ordinal.{u_1}} (ho : o.card.ord = o) (ho' : ω ≤ o)
Goal: ∃ a, (Cardinal.aleph a).ord = o
-- Cardinal.ord_aleph_eq_enum_card
theorem ord_aleph_eq_enum_card :
    ord ∘ aleph = enumOrd { b : Ordinal | b.card.ord = b ∧ ω ≤ b } 
Goal: Cardinal.ord ∘ Cardinal.aleph = Ordinal.enumOrd {b | b.card.ord = b ∧ ω ≤ b}
-- Cardinal.beth_zero
@[simp]
theorem beth_zero : beth 0 = aleph0 
Goal: Cardinal.beth 0 = ℵ₀
-- Cardinal.beth_succ
@[simp]
theorem beth_succ (o : Ordinal) : beth (succ o) = 2 ^ beth o 
Arguments: (o : Ordinal.{u_1})
Goal: Cardinal.beth (Order.succ o) = 2 ^ Cardinal.beth o
-- Cardinal.beth_limit
theorem beth_limit {o : Ordinal} : o.IsLimit → beth o = ⨆ a : Iio o, beth a 
Arguments: {o : Ordinal.{u_1}}
Goal: o.IsLimit → Cardinal.beth o = ⨆ a, Cardinal.beth ↑a
-- Cardinal.beth_strictMono
theorem beth_strictMono : StrictMono beth 
Goal: StrictMono Cardinal.beth
-- Cardinal.beth_mono
theorem beth_mono : Monotone beth 
Goal: Monotone Cardinal.beth
-- Cardinal.beth_lt
@[simp]
theorem beth_lt {o₁ o₂ : Ordinal} : beth o₁ < beth o₂ ↔ o₁ < o₂ 
Arguments: {o₁ o₂ : Ordinal.{u_1}}
Goal: Cardinal.beth o₁ < Cardinal.beth o₂ ↔ o₁ < o₂
-- Cardinal.beth_le
@[simp]
theorem beth_le {o₁ o₂ : Ordinal} : beth o₁ ≤ beth o₂ ↔ o₁ ≤ o₂ 
Arguments: {o₁ o₂ : Ordinal.{u_1}}
Goal: Cardinal.beth o₁ ≤ Cardinal.beth o₂ ↔ o₁ ≤ o₂
-- Cardinal.aleph_le_beth
theorem aleph_le_beth (o : Ordinal) : aleph o ≤ beth o 
Arguments: (o : Ordinal.{u_1})
Goal: Cardinal.aleph o ≤ Cardinal.beth o
-- Cardinal.aleph0_le_beth
theorem aleph0_le_beth (o : Ordinal) : ℵ₀ ≤ beth o 
Arguments: (o : Ordinal.{u_1})
Goal: ℵ₀ ≤ Cardinal.beth o
-- Cardinal.beth_pos
theorem beth_pos (o : Ordinal) : 0 < beth o 
Arguments: (o : Ordinal.{u_1})
Goal: 0 < Cardinal.beth o
-- Cardinal.beth_ne_zero
theorem beth_ne_zero (o : Ordinal) : beth o ≠ 0 
Arguments: (o : Ordinal.{u_1})
Goal: Cardinal.beth o ≠ 0
-- Cardinal.beth_normal
theorem beth_normal : IsNormal.{u} fun o => (beth o).ord 
Goal: Ordinal.IsNormal fun o => (Cardinal.beth o).ord
-- Cardinal.mul_eq_self
theorem mul_eq_self {c : Cardinal} (h : ℵ₀ ≤ c) : c * c = c 
Arguments: {c : Cardinal.{u_1}} (h : ℵ₀ ≤ c)
Goal: c * c = c
-- Cardinal.mul_eq_max
theorem mul_eq_max {a b : Cardinal} (ha : ℵ₀ ≤ a) (hb : ℵ₀ ≤ b) : a * b = max a b 
Arguments: {a b : Cardinal.{u_1}} (ha : ℵ₀ ≤ a) (hb : ℵ₀ ≤ b)
Goal: a * b = max a b
-- Cardinal.mul_mk_eq_max
@[simp]
theorem mul_mk_eq_max {α β : Type u} [Infinite α] [Infinite β] : #α * #β = max #α #β 
Arguments: {α β : Type u} [Infinite α] [Infinite β]
Goal: #α * #β = max #α #β
-- Cardinal.aleph_mul_aleph
@[simp]
theorem aleph_mul_aleph (o₁ o₂ : Ordinal) : aleph o₁ * aleph o₂ = aleph (max o₁ o₂) 
Arguments: (o₁ o₂ : Ordinal.{u_1})
Goal: Cardinal.aleph o₁ * Cardinal.aleph o₂ = Cardinal.aleph (max o₁ o₂)
-- Cardinal.aleph0_mul_eq
@[simp]
theorem aleph0_mul_eq {a : Cardinal} (ha : ℵ₀ ≤ a) : ℵ₀ * a = a 
Arguments: {a : Cardinal.{u_1}} (ha : ℵ₀ ≤ a)
Goal: ℵ₀ * a = a
-- Cardinal.mul_aleph0_eq
@[simp]
theorem mul_aleph0_eq {a : Cardinal} (ha : ℵ₀ ≤ a) : a * ℵ₀ = a 
Arguments: {a : Cardinal.{u_1}} (ha : ℵ₀ ≤ a)
Goal: a * ℵ₀ = a
-- Cardinal.aleph0_mul_mk_eq
theorem aleph0_mul_mk_eq {α : Type*} [Infinite α] : ℵ₀ * #α = #α 
Arguments: {α : Type u_1} [Infinite α]
Goal: ℵ₀ * #α = #α
-- Cardinal.mk_mul_aleph0_eq
theorem mk_mul_aleph0_eq {α : Type*} [Infinite α] : #α * ℵ₀ = #α 
Arguments: {α : Type u_1} [Infinite α]
Goal: #α * ℵ₀ = #α
-- Cardinal.aleph0_mul_aleph
@[simp]
theorem aleph0_mul_aleph (o : Ordinal) : ℵ₀ * aleph o = aleph o 
Arguments: (o : Ordinal.{u_1})
Goal: ℵ₀ * Cardinal.aleph o = Cardinal.aleph o
-- Cardinal.aleph_mul_aleph0
@[simp]
theorem aleph_mul_aleph0 (o : Ordinal) : aleph o * ℵ₀ = aleph o 
Arguments: (o : Ordinal.{u_1})
Goal: Cardinal.aleph o * ℵ₀ = Cardinal.aleph o
-- Cardinal.mul_lt_of_lt
theorem mul_lt_of_lt {a b c : Cardinal} (hc : ℵ₀ ≤ c) (h1 : a < c) (h2 : b < c) : a * b < c 
Arguments: {a b c : Cardinal.{u_1}} (hc : ℵ₀ ≤ c) (h1 : a < c) (h2 : b < c)
Goal: a * b < c
-- Cardinal.mul_le_max_of_aleph0_le_left
theorem mul_le_max_of_aleph0_le_left {a b : Cardinal} (h : ℵ₀ ≤ a) : a * b ≤ max a b 
Arguments: {a b : Cardinal.{u_1}} (h : ℵ₀ ≤ a)
Goal: a * b ≤ max a b
-- Cardinal.mul_eq_max_of_aleph0_le_left
theorem mul_eq_max_of_aleph0_le_left {a b : Cardinal} (h : ℵ₀ ≤ a) (h' : b ≠ 0) :
    a * b = max a b 
Arguments: {a b : Cardinal.{u_1}} (h : ℵ₀ ≤ a) (h' : b ≠ 0)
Goal: a * b = max a b
-- Cardinal.mul_le_max_of_aleph0_le_right
theorem mul_le_max_of_aleph0_le_right {a b : Cardinal} (h : ℵ₀ ≤ b) : a * b ≤ max a b 
Arguments: {a b : Cardinal.{u_1}} (h : ℵ₀ ≤ b)
Goal: a * b ≤ max a b
-- Cardinal.mul_eq_max_of_aleph0_le_right
theorem mul_eq_max_of_aleph0_le_right {a b : Cardinal} (h' : a ≠ 0) (h : ℵ₀ ≤ b) :
    a * b = max a b 
Arguments: {a b : Cardinal.{u_1}} (h' : a ≠ 0) (h : ℵ₀ ≤ b)
Goal: a * b = max a b
-- Cardinal.mul_eq_max'
theorem mul_eq_max' {a b : Cardinal} (h : ℵ₀ ≤ a * b) : a * b = max a b 
Arguments: {a b : Cardinal.{u_1}} (h : ℵ₀ ≤ a * b)
Goal: a * b = max a b
-- Cardinal.mul_le_max
theorem mul_le_max (a b : Cardinal) : a * b ≤ max (max a b) ℵ₀ 
Arguments: (a b : Cardinal.{u_1})
Goal: a * b ≤ max (max a b) ℵ₀
-- Cardinal.mul_eq_left
theorem mul_eq_left {a b : Cardinal} (ha : ℵ₀ ≤ a) (hb : b ≤ a) (hb' : b ≠ 0) : a * b = a 
Arguments: {a b : Cardinal.{u_1}} (ha : ℵ₀ ≤ a) (hb : b ≤ a) (hb' : b ≠ 0)
Goal: a * b = a
-- Cardinal.mul_eq_right
theorem mul_eq_right {a b : Cardinal} (hb : ℵ₀ ≤ b) (ha : a ≤ b) (ha' : a ≠ 0) : a * b = b 
Arguments: {a b : Cardinal.{u_1}} (hb : ℵ₀ ≤ b) (ha : a ≤ b) (ha' : a ≠ 0)
Goal: a * b = b
-- Cardinal.le_mul_left
theorem le_mul_left {a b : Cardinal} (h : b ≠ 0) : a ≤ b * a 
Arguments: {a b : Cardinal.{u_1}} (h : b ≠ 0)
Goal: a ≤ b * a
-- Cardinal.le_mul_right
theorem le_mul_right {a b : Cardinal} (h : b ≠ 0) : a ≤ a * b 
Arguments: {a b : Cardinal.{u_1}} (h : b ≠ 0)
Goal: a ≤ a * b
-- Cardinal.mul_eq_left_iff
theorem mul_eq_left_iff {a b : Cardinal} : a * b = a ↔ max ℵ₀ b ≤ a ∧ b ≠ 0 ∨ b = 1 ∨ a = 0 
Arguments: {a b : Cardinal.{u_1}}
Goal: a * b = a ↔ max ℵ₀ b ≤ a ∧ b ≠ 0 ∨ b = 1 ∨ a = 0
-- Cardinal.add_eq_self
theorem add_eq_self {c : Cardinal} (h : ℵ₀ ≤ c) : c + c = c 
Arguments: {c : Cardinal.{u_1}} (h : ℵ₀ ≤ c)
Goal: c + c = c
-- Cardinal.add_eq_max
theorem add_eq_max {a b : Cardinal} (ha : ℵ₀ ≤ a) : a + b = max a b 
Arguments: {a b : Cardinal.{u_1}} (ha : ℵ₀ ≤ a)
Goal: a + b = max a b
-- Cardinal.add_eq_max'
theorem add_eq_max' {a b : Cardinal} (ha : ℵ₀ ≤ b) : a + b = max a b 
Arguments: {a b : Cardinal.{u_1}} (ha : ℵ₀ ≤ b)
Goal: a + b = max a b
-- Cardinal.add_mk_eq_max
@[simp]
theorem add_mk_eq_max {α β : Type u} [Infinite α] : #α + #β = max #α #β 
Arguments: {α β : Type u} [Infinite α]
Goal: #α + #β = max #α #β
-- Cardinal.add_mk_eq_max'
@[simp]
theorem add_mk_eq_max' {α β : Type u} [Infinite β] : #α + #β = max #α #β 
Arguments: {α β : Type u} [Infinite β]
Goal: #α + #β = max #α #β
-- Cardinal.add_le_max
theorem add_le_max (a b : Cardinal) : a + b ≤ max (max a b) ℵ₀ 
Arguments: (a b : Cardinal.{u_1})
Goal: a + b ≤ max (max a b) ℵ₀
-- Cardinal.add_le_of_le
theorem add_le_of_le {a b c : Cardinal} (hc : ℵ₀ ≤ c) (h1 : a ≤ c) (h2 : b ≤ c) : a + b ≤ c 
Arguments: {a b c : Cardinal.{u_1}} (hc : ℵ₀ ≤ c) (h1 : a ≤ c) (h2 : b ≤ c)
Goal: a + b ≤ c
-- Cardinal.add_lt_of_lt
theorem add_lt_of_lt {a b c : Cardinal} (hc : ℵ₀ ≤ c) (h1 : a < c) (h2 : b < c) : a + b < c 
Arguments: {a b c : Cardinal.{u_1}} (hc : ℵ₀ ≤ c) (h1 : a < c) (h2 : b < c)
Goal: a + b < c
-- Cardinal.eq_of_add_eq_of_aleph0_le
theorem eq_of_add_eq_of_aleph0_le {a b c : Cardinal} (h : a + b = c) (ha : a < c) (hc : ℵ₀ ≤ c) :
    b = c 
Arguments: {a b c : Cardinal.{u_1}} (h : a + b = c) (ha : a < c) (hc : ℵ₀ ≤ c)
Goal: b = c
-- Cardinal.add_eq_left
theorem add_eq_left {a b : Cardinal} (ha : ℵ₀ ≤ a) (hb : b ≤ a) : a + b = a 
Arguments: {a b : Cardinal.{u_1}} (ha : ℵ₀ ≤ a) (hb : b ≤ a)
Goal: a + b = a
-- Cardinal.add_eq_right
theorem add_eq_right {a b : Cardinal} (hb : ℵ₀ ≤ b) (ha : a ≤ b) : a + b = b 
Arguments: {a b : Cardinal.{u_1}} (hb : ℵ₀ ≤ b) (ha : a ≤ b)
Goal: a + b = b
-- Cardinal.add_eq_left_iff
theorem add_eq_left_iff {a b : Cardinal} : a + b = a ↔ max ℵ₀ b ≤ a ∨ b = 0 
Arguments: {a b : Cardinal.{u_1}}
Goal: a + b = a ↔ max ℵ₀ b ≤ a ∨ b = 0
-- Cardinal.add_eq_right_iff
theorem add_eq_right_iff {a b : Cardinal} : a + b = b ↔ max ℵ₀ a ≤ b ∨ a = 0 
Arguments: {a b : Cardinal.{u_1}}
Goal: a + b = b ↔ max ℵ₀ a ≤ b ∨ a = 0
-- Cardinal.add_nat_eq
theorem add_nat_eq {a : Cardinal} (n : ℕ) (ha : ℵ₀ ≤ a) : a + n = a 
Arguments: {a : Cardinal.{u_1}} (n : ℕ) (ha : ℵ₀ ≤ a)
Goal: a + ↑n = a
-- Cardinal.nat_add_eq
theorem nat_add_eq {a : Cardinal} (n : ℕ) (ha : ℵ₀ ≤ a) : n + a = a 
Arguments: {a : Cardinal.{u_1}} (n : ℕ) (ha : ℵ₀ ≤ a)
Goal: ↑n + a = a
-- Cardinal.add_one_eq
theorem add_one_eq {a : Cardinal} (ha : ℵ₀ ≤ a) : a + 1 = a 
Arguments: {a : Cardinal.{u_1}} (ha : ℵ₀ ≤ a)
Goal: a + 1 = a
-- Cardinal.mk_add_one_eq
theorem mk_add_one_eq {α : Type*} [Infinite α] : #α + 1 = #α 
Arguments: {α : Type u_1} [Infinite α]
Goal: #α + 1 = #α
-- Cardinal.eq_of_add_eq_add_left
protected theorem eq_of_add_eq_add_left {a b c : Cardinal} (h : a + b = a + c) (ha : a < ℵ₀) :
    b = c 
Arguments: {a b c : Cardinal.{u_1}} (h : a + b = a + c) (ha : a < ℵ₀)
Goal: b = c
-- Cardinal.eq_of_add_eq_add_right
protected theorem eq_of_add_eq_add_right {a b c : Cardinal} (h : a + b = c + b) (hb : b < ℵ₀) :
    a = c 
Arguments: {a b c : Cardinal.{u_1}} (h : a + b = c + b) (hb : b < ℵ₀)
Goal: a = c
-- Cardinal.ciSup_add
protected theorem ciSup_add (c : Cardinal.{v}) : (⨆ i, f i) + c = ⨆ i, f i + c 
Arguments: {ι : Type u} (f : ι → Cardinal.{v}) [Nonempty ι] (hf : BddAbove (Set.range f)) (c : Cardinal.{v})
Goal: (⨆ i, f i) + c = ⨆ i, f i + c
-- Cardinal.add_ciSup
protected theorem add_ciSup (c : Cardinal.{v}) : c + (⨆ i, f i) = ⨆ i, c + f i 
Arguments: {ι : Type u} (f : ι → Cardinal.{v}) [Nonempty ι] (hf : BddAbove (Set.range f)) (c : Cardinal.{v})
Goal: c + ⨆ i, f i = ⨆ i, c + f i
-- Cardinal.ciSup_add_ciSup
protected theorem ciSup_add_ciSup (g : ι' → Cardinal.{v}) (hg : BddAbove (range g)) :
    (⨆ i, f i) + (⨆ j, g j) = ⨆ (i) (j), f i + g j 
Arguments: {ι : Type u} {ι' : Type w} (f : ι → Cardinal.{v}) [Nonempty ι] [Nonempty ι'] (hf : BddAbove (Set.range f)) (g : ι' → Cardinal.{v}) (hg : BddAbove (Set.range g))
Goal: (⨆ i, f i) + ⨆ j, g j = ⨆ i, ⨆ j, f i + g j
-- Cardinal.ciSup_mul
protected theorem ciSup_mul (c : Cardinal.{v}) : (⨆ i, f i) * c = ⨆ i, f i * c 
Arguments: {ι : Type u} (f : ι → Cardinal.{v}) (c : Cardinal.{v})
Goal: (⨆ i, f i) * c = ⨆ i, f i * c
-- Cardinal.mul_ciSup
protected theorem mul_ciSup (c : Cardinal.{v}) : c * (⨆ i, f i) = ⨆ i, c * f i 
Arguments: {ι : Type u} (f : ι → Cardinal.{v}) (c : Cardinal.{v})
Goal: c * ⨆ i, f i = ⨆ i, c * f i
-- Cardinal.ciSup_mul_ciSup
protected theorem ciSup_mul_ciSup (g : ι' → Cardinal.{v}) :
    (⨆ i, f i) * (⨆ j, g j) = ⨆ (i) (j), f i * g j 
Arguments: {ι : Type u} {ι' : Type w} (f : ι → Cardinal.{v}) (g : ι' → Cardinal.{v})
Goal: (⨆ i, f i) * ⨆ j, g j = ⨆ i, ⨆ j, f i * g j
-- Cardinal.aleph_add_aleph
@[simp]
theorem aleph_add_aleph (o₁ o₂ : Ordinal) : aleph o₁ + aleph o₂ = aleph (max o₁ o₂) 
Arguments: (o₁ o₂ : Ordinal.{u_1})
Goal: Cardinal.aleph o₁ + Cardinal.aleph o₂ = Cardinal.aleph (max o₁ o₂)
-- Cardinal.principal_add_ord
theorem principal_add_ord {c : Cardinal} (hc : ℵ₀ ≤ c) : Ordinal.Principal (· + ·) c.ord 
Arguments: {c : Cardinal.{u_1}} (hc : ℵ₀ ≤ c)
Goal: Ordinal.Principal (fun x x_1 => x + x_1) c.ord
-- Cardinal.principal_add_aleph
theorem principal_add_aleph (o : Ordinal) : Ordinal.Principal (· + ·) (aleph o).ord 
Arguments: (o : Ordinal.{u_1})
Goal: Ordinal.Principal (fun x x_1 => x + x_1) (Cardinal.aleph o).ord
-- Cardinal.add_right_inj_of_lt_aleph0
theorem add_right_inj_of_lt_aleph0 {α β γ : Cardinal} (γ₀ : γ < aleph0) : α + γ = β + γ ↔ α = β 
Arguments: {α β γ : Cardinal.{u_1}} (γ₀ : γ < ℵ₀)
Goal: α + γ = β + γ ↔ α = β
-- Cardinal.add_nat_inj
@[simp]
theorem add_nat_inj {α β : Cardinal} (n : ℕ) : α + n = β + n ↔ α = β 
Arguments: {α β : Cardinal.{u_1}} (n : ℕ)
Goal: α + ↑n = β + ↑n ↔ α = β
-- Cardinal.add_one_inj
@[simp]
theorem add_one_inj {α β : Cardinal} : α + 1 = β + 1 ↔ α = β 
Arguments: {α β : Cardinal.{u_1}}
Goal: α + 1 = β + 1 ↔ α = β
-- Cardinal.add_le_add_iff_of_lt_aleph0
theorem add_le_add_iff_of_lt_aleph0 {α β γ : Cardinal} (γ₀ : γ < Cardinal.aleph0) :
    α + γ ≤ β + γ ↔ α ≤ β 
Arguments: {α β γ : Cardinal.{u_1}} (γ₀ : γ < ℵ₀)
Goal: α + γ ≤ β + γ ↔ α ≤ β
-- Cardinal.add_nat_le_add_nat_iff
@[simp]
theorem add_nat_le_add_nat_iff {α β : Cardinal} (n : ℕ) : α + n ≤ β + n ↔ α ≤ β 
Arguments: {α β : Cardinal.{u_1}} (n : ℕ)
Goal: α + ↑n ≤ β + ↑n ↔ α ≤ β
-- Cardinal.add_one_le_add_one_iff
@[simp]
theorem add_one_le_add_one_iff {α β : Cardinal} : α + 1 ≤ β + 1 ↔ α ≤ β 
Arguments: {α β : Cardinal.{u_1}}
Goal: α + 1 ≤ β + 1 ↔ α ≤ β
-- Cardinal.pow_le
theorem pow_le {κ μ : Cardinal.{u}} (H1 : ℵ₀ ≤ κ) (H2 : μ < ℵ₀) : κ ^ μ ≤ κ 
Arguments: {κ μ : Cardinal.{u}} (H1 : ℵ₀ ≤ κ) (H2 : μ < ℵ₀)
Goal: κ ^ μ ≤ κ
-- Cardinal.pow_eq
theorem pow_eq {κ μ : Cardinal.{u}} (H1 : ℵ₀ ≤ κ) (H2 : 1 ≤ μ) (H3 : μ < ℵ₀) : κ ^ μ = κ 
Arguments: {κ μ : Cardinal.{u}} (H1 : ℵ₀ ≤ κ) (H2 : 1 ≤ μ) (H3 : μ < ℵ₀)
Goal: κ ^ μ = κ
-- Cardinal.power_self_eq
theorem power_self_eq {c : Cardinal} (h : ℵ₀ ≤ c) : c ^ c = 2 ^ c 
Arguments: {c : Cardinal.{u_1}} (h : ℵ₀ ≤ c)
Goal: c ^ c = 2 ^ c
-- Cardinal.prod_eq_two_power
theorem prod_eq_two_power {ι : Type u} [Infinite ι] {c : ι → Cardinal.{v}} (h₁ : ∀ i, 2 ≤ c i)
    (h₂ : ∀ i, lift.{u} (c i) ≤ lift.{v} #ι) : prod c = 2 ^ lift.{v} #ι 
Arguments: {ι : Type u} [Infinite ι] {c : ι → Cardinal.{v}} (h₁ : ∀ (i : ι), 2 ≤ c i) (h₂ : ∀ (i : ι), Cardinal.lift.{u, v} (c i) ≤ Cardinal.lift.{v, u} #ι)
Goal: Cardinal.prod c = 2 ^ Cardinal.lift.{v, u} #ι
-- Cardinal.power_eq_two_power
theorem power_eq_two_power {c₁ c₂ : Cardinal} (h₁ : ℵ₀ ≤ c₁) (h₂ : 2 ≤ c₂) (h₂' : c₂ ≤ c₁) :
    c₂ ^ c₁ = 2 ^ c₁ 
Arguments: {c₁ c₂ : Cardinal.{u_1}} (h₁ : ℵ₀ ≤ c₁) (h₂ : 2 ≤ c₂) (h₂' : c₂ ≤ c₁)
Goal: c₂ ^ c₁ = 2 ^ c₁
-- Cardinal.nat_power_eq
theorem nat_power_eq {c : Cardinal.{u}} (h : ℵ₀ ≤ c) {n : ℕ} (hn : 2 ≤ n) :
    (n : Cardinal.{u}) ^ c = 2 ^ c 
Arguments: {c : Cardinal.{u}} (h : ℵ₀ ≤ c) {n : ℕ} (hn : 2 ≤ n)
Goal: ↑n ^ c = 2 ^ c
-- Cardinal.power_nat_le
theorem power_nat_le {c : Cardinal.{u}} {n : ℕ} (h : ℵ₀ ≤ c) : c ^ n ≤ c 
Arguments: {c : Cardinal.{u}} {n : ℕ} (h : ℵ₀ ≤ c)
Goal: c ^ n ≤ c
-- Cardinal.power_nat_eq
theorem power_nat_eq {c : Cardinal.{u}} {n : ℕ} (h1 : ℵ₀ ≤ c) (h2 : 1 ≤ n) : c ^ n = c 
Arguments: {c : Cardinal.{u}} {n : ℕ} (h1 : ℵ₀ ≤ c) (h2 : 1 ≤ n)
Goal: c ^ n = c
-- Cardinal.power_nat_le_max
theorem power_nat_le_max {c : Cardinal.{u}} {n : ℕ} : c ^ (n : Cardinal.{u}) ≤ max c ℵ₀ 
Arguments: {c : Cardinal.{u}} {n : ℕ}
Goal: c ^ ↑n ≤ max c ℵ₀
-- Cardinal.powerlt_aleph0
theorem powerlt_aleph0 {c : Cardinal} (h : ℵ₀ ≤ c) : c ^< ℵ₀ = c 
Arguments: {c : Cardinal.{u_1}} (h : ℵ₀ ≤ c)
Goal: c ^< ℵ₀ = c
-- Cardinal.powerlt_aleph0_le
theorem powerlt_aleph0_le (c : Cardinal) : c ^< ℵ₀ ≤ max c ℵ₀ 
Arguments: (c : Cardinal.{u_1})
Goal: c ^< ℵ₀ ≤ max c ℵ₀
-- Cardinal.mk_equiv_eq_zero_iff_lift_ne
theorem mk_equiv_eq_zero_iff_lift_ne : #(α ≃ β') = 0 ↔ lift.{v} #α ≠ lift.{u} #β' 
Arguments: {α : Type u} {β' : Type v}
Goal: #(α ≃ β') = 0 ↔ Cardinal.lift.{v, u} #α ≠ Cardinal.lift.{u, v} #β'
-- Cardinal.mk_equiv_eq_zero_iff_ne
theorem mk_equiv_eq_zero_iff_ne : #(α ≃ β) = 0 ↔ #α ≠ #β 
Arguments: {α β : Type u}
Goal: #(α ≃ β) = 0 ↔ #α ≠ #β
-- Cardinal.mk_equiv_comm
theorem mk_equiv_comm : #(α ≃ β') = #(β' ≃ α) 
Arguments: {α : Type u} {β' : Type v}
Goal: #(α ≃ β') = #(β' ≃ α)
-- Cardinal.mk_embedding_eq_zero_iff_lift_lt
theorem mk_embedding_eq_zero_iff_lift_lt : #(α ↪ β') = 0 ↔ lift.{u} #β' < lift.{v} #α 
Arguments: {α : Type u} {β' : Type v}
Goal: #(α ↪ β') = 0 ↔ Cardinal.lift.{u, v} #β' < Cardinal.lift.{v, u} #α
-- Cardinal.mk_embedding_eq_zero_iff_lt
theorem mk_embedding_eq_zero_iff_lt : #(α ↪ β) = 0 ↔ #β < #α 
Arguments: {α β : Type u}
Goal: #(α ↪ β) = 0 ↔ #β < #α
-- Cardinal.mk_arrow_eq_zero_iff
theorem mk_arrow_eq_zero_iff : #(α → β') = 0 ↔ #α ≠ 0 ∧ #β' = 0 
Arguments: {α : Type u} {β' : Type v}
Goal: #(α → β') = 0 ↔ #α ≠ 0 ∧ #β' = 0
-- Cardinal.mk_surjective_eq_zero_iff_lift
theorem mk_surjective_eq_zero_iff_lift :
    #{f : α → β' | Surjective f} = 0 ↔ lift.{v} #α < lift.{u} #β' ∨ (#α ≠ 0 ∧ #β' = 0) 
Arguments: {α : Type u} {β' : Type v}
Goal: #↑{f | Function.Surjective f} = 0 ↔ Cardinal.lift.{v, u} #α < Cardinal.lift.{u, v} #β' ∨ #α ≠ 0 ∧ #β' = 0
-- Cardinal.mk_surjective_eq_zero_iff
theorem mk_surjective_eq_zero_iff :
    #{f : α → β | Surjective f} = 0 ↔ #α < #β ∨ (#α ≠ 0 ∧ #β = 0) 
Arguments: {α β : Type u}
Goal: #↑{f | Function.Surjective f} = 0 ↔ #α < #β ∨ #α ≠ 0 ∧ #β = 0
-- Cardinal.mk_equiv_le_embedding
theorem mk_equiv_le_embedding : #(α ≃ β') ≤ #(α ↪ β') 
Arguments: (α : Type u) (β' : Type v)
Goal: #(α ≃ β') ≤ #(α ↪ β')
-- Cardinal.mk_embedding_le_arrow
theorem mk_embedding_le_arrow : #(α ↪ β') ≤ #(α → β') 
Arguments: (α : Type u) (β' : Type v)
Goal: #(α ↪ β') ≤ #(α → β')
-- Cardinal.mk_perm_eq_self_power
theorem mk_perm_eq_self_power : #(Equiv.Perm α) = #α ^ #α 
Arguments: {α : Type u} [Infinite α]
Goal: #(Equiv.Perm α) = #α ^ #α
-- Cardinal.mk_perm_eq_two_power
theorem mk_perm_eq_two_power : #(Equiv.Perm α) = 2 ^ #α 
Arguments: {α : Type u} [Infinite α]
Goal: #(Equiv.Perm α) = 2 ^ #α
-- Cardinal.mk_equiv_eq_arrow_of_lift_eq
theorem mk_equiv_eq_arrow_of_lift_eq (leq : lift.{v} #α = lift.{u} #β') :
    #(α ≃ β') = #(α → β') 
Arguments: {α : Type u} {β' : Type v} [Infinite α] (leq : Cardinal.lift.{v, u} #α = Cardinal.lift.{u, v} #β')
Goal: #(α ≃ β') = #(α → β')
-- Cardinal.mk_equiv_eq_arrow_of_eq
theorem mk_equiv_eq_arrow_of_eq (eq : #α = #β) : #(α ≃ β) = #(α → β) 
Arguments: {α β : Type u} [Infinite α] (eq : #α = #β)
Goal: #(α ≃ β) = #(α → β)