Skip to content

Commit ef59036

Browse files
vihdzpgoliath-klein
authored andcommitted
feat: lift (ℶ_ o) = ℶ_ (lift o) (leanprover-community#33059)
1 parent 573059d commit ef59036

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

Mathlib/SetTheory/Cardinal/Aleph.lean

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -587,6 +587,21 @@ theorem isStrongLimit_preBeth {o : Ordinal} : IsStrongLimit (preBeth o) ↔ IsSu
587587
· intro h
588588
simpa using h.two_power_lt (preBeth_strictMono (lt_succ a))
589589

590+
@[simp]
591+
theorem lift_preBeth (o : Ordinal) : lift.{v} (preBeth o) = preBeth (Ordinal.lift.{v} o) := by
592+
induction o using SuccOrder.prelimitRecOn with
593+
| succ o _ IH => simp [IH]
594+
| isSuccPrelimit o ho IH =>
595+
rw [preBeth_limit ho, preBeth_limit (isSuccPrelimit_lift.2 ho), lift_iSup (bddAbove_of_small _)]
596+
apply congrArg sSup
597+
ext x
598+
constructor <;> rintro ⟨⟨i, hi⟩, rfl⟩
599+
· refine ⟨⟨i.lift, ?_⟩, (IH _ hi).symm⟩
600+
simpa
601+
· obtain ⟨i, rfl⟩ := Ordinal.mem_range_lift_of_le hi.le
602+
rw [mem_Iio, Ordinal.lift_lt] at hi
603+
exact ⟨⟨i, hi⟩, IH _ hi⟩
604+
590605
/-- The Beth function is defined so that `beth 0 = ℵ₀'`, `beth (succ o) = 2 ^ beth o`, and that for
591606
a limit ordinal `o`, `beth o` is the supremum of `beth a` for `a < o`.
592607
@@ -649,4 +664,8 @@ theorem beth_ne_zero (o : Ordinal) : ℶ_ o ≠ 0 :=
649664
theorem isStrongLimit_beth {o : Ordinal} : IsStrongLimit (ℶ_ o) ↔ IsSuccPrelimit o := by
650665
rw [beth_eq_preBeth, isStrongLimit_preBeth, isSuccLimit_add_iff_of_isSuccLimit isSuccLimit_omega0]
651666

667+
@[simp]
668+
theorem lift_beth (o : Ordinal) : lift.{v} (ℶ_ o) = ℶ_ (Ordinal.lift.{v} o) := by
669+
rw [beth_eq_preBeth, beth_eq_preBeth, lift_preBeth, Ordinal.lift_add, lift_omega0]
670+
652671
end Cardinal

0 commit comments

Comments
 (0)