Skip to content

Commit a33cc54

Browse files
committed
add result
1 parent f5ca261 commit a33cc54

2 files changed

Lines changed: 21 additions & 4 deletions

File tree

Mathlib/Order/DirSupClosed.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ lemma dirSupInaccOn_Iic (a : α) : DirSupInaccOn D (Iic a) :=
289289

290290
end Preorder
291291

292-
namespace PartialOrder
292+
section PartialOrder
293293
variable [PartialOrder α]
294294

295295
theorem dirSupClosed_singleton (a : α) : DirSupClosed {a} := by
@@ -301,7 +301,7 @@ theorem dirSupClosed_singleton (a : α) : DirSupClosed {a} := by
301301
theorem dirSupClosedOn_singleton (a : α) : DirSupClosedOn D {a} :=
302302
(dirSupClosed_singleton a).dirSupClosedOn
303303

304-
theorem DirSupClosed.of_finite (hs : s.Finite) : DirSupClosed s := by
304+
theorem Set.Finite.dirSupClosed (hs : s.Finite) : DirSupClosed s := by
305305
intro t ht ht₀ ht₁ a ha
306306
obtain ⟨b, hbt, hb⟩ := ht₁.finite_le ht₀ (hs.subset ht)
307307
exact ht <| ha.unique ⟨hb, fun x hx ↦ hx hbt⟩ ▸ hbt

Mathlib/SetTheory/Cardinal/Cofinality/Ordinal.lean

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,8 @@ theorem cof_omega0 : cof ω = ℵ₀ :=
151151

152152
@[deprecated (since := "2026-02-18")] alias cof_eq_one_iff_is_succ := cof_eq_one_iff
153153

154-
theorem ord_cof_eq (α : Type*) [LinearOrder α] [WellFoundedLT α] :
154+
variable (α) in
155+
theorem ord_cof_eq [LinearOrder α] [WellFoundedLT α] :
155156
∃ s : Set α, IsCofinal s ∧ typeLT s = (Order.cof α).ord := by
156157
obtain ⟨s, hs, hs'⟩ := Order.cof_eq α
157158
obtain ⟨r, hr, hr'⟩ := exists_ord_eq s
@@ -166,8 +167,9 @@ theorem ord_cof_eq (α : Type*) [LinearOrder α] [WellFoundedLT α] :
166167
· obtain ⟨x, z, hz, rfl⟩ := x
167168
exact (hz _ hxy').asymm hxy
168169

170+
variable (α) in
169171
@[simp]
170-
theorem _root_.Order.cof_ord_cof (α : Type*) [LinearOrder α] [WellFoundedLT α] :
172+
theorem _root_.Order.cof_ord_cof [LinearOrder α] [WellFoundedLT α] :
171173
(Order.cof α).ord.cof = Order.cof α := by
172174
obtain ⟨s, hs, hs'⟩ := ord_cof_eq α
173175
rw [← hs', cof_type]
@@ -183,6 +185,21 @@ theorem cof_ord_cof (o : Ordinal) : o.cof.ord.cof = o.cof := by
183185

184186
@[deprecated (since := "2026-03-21")] alias cof_cof := cof_ord_cof
185187

188+
theorem dirSupClosed_of_type_le_omega0 [LinearOrder α] [WellFoundedLT α]
189+
{s : Set α} (hs : IsCofinal s) (hω : typeLT s ≤ ω) : DirSupClosed s := by
190+
obtain hω | hω := hω.lt_or_eq
191+
· obtain ⟨n, hn⟩ := lt_omega0.1
192+
apply_fun card at hn
193+
apply Finite.dirSupClosed
194+
rw [Set.Finite, ← mk_lt_aleph0_iff]
195+
simp_all
196+
· let e : ℕ ≃o s := by
197+
rw [omega0, ← lift_id (type _), lift_type_eq] at hω
198+
exact OrderIso.ofRelIsoLT hω.some.symm
199+
have hfs : .range (Subtype.val ∘ e) = s := by simp
200+
rw [← hfs] at hs ⊢
201+
exact dirSupClosed_range_nat ((Subtype.mono_coe _).comp e.monotone) hs
202+
186203
/-! ### Cofinalities and suprema -/
187204

188205
section LinearOrder

0 commit comments

Comments
 (0)