@@ -307,6 +307,21 @@ theorem ord_cof_eq (α : Type*) [LinearOrder α] [WellFoundedLT α] :
307307 · obtain ⟨x, z, hz, rfl⟩ := x
308308 exact (hz _ hxy').asymm hxy
309309
310+ @[simp]
311+ theorem _root_.Order.cof_ord_cof (α : Type *) [LinearOrder α] [WellFoundedLT α] :
312+ (Order.cof α).ord.cof = Order.cof α := by
313+ obtain ⟨s, hs, hs'⟩ := ord_cof_eq α
314+ rw [← hs', cof_type]
315+ apply le_antisymm
316+ · rw [← card_ord (Order.cof α), ← hs', card_type]
317+ exact cof_le_cardinalMk s
318+ · rw [le_cof_iff]
319+ exact fun t ht ↦ (cof_le (hs.trans ht)).trans_eq (mk_image_eq Subtype.val_injective)
320+
321+ @[simp]
322+ theorem cof_cof (o : Ordinal) : o.cof.ord.cof = o.cof := by
323+ simpa using Order.cof_ord_cof o.ToType
324+
310325/-! ### Cofinality of suprema and least strict upper bounds -/
311326
312327-- TODO: use `⨆ i, succ (f i)` instead of `lsub`
@@ -590,12 +605,6 @@ theorem exists_fundamental_sequence (a : Ordinal.{u}) :
590605 exact (wo.wf.not_lt_min {j | r j i ∧ f i ≤ f j} ⟨IsTrans.trans _ _ _ hkj hji, H⟩) hkj
591606 · rwa [bfamilyOfFamily'_typein]
592607
593- @[simp]
594- theorem cof_cof (a : Ordinal.{u}) : cof (cof a).ord = cof a := by
595- obtain ⟨f, hf⟩ := exists_fundamental_sequence a
596- obtain ⟨g, hg⟩ := exists_fundamental_sequence a.cof.ord
597- exact ord_injective (hf.trans hg).cof_eq.symm
598-
599608theorem IsFundamentalSequence.of_isNormal {f : Ordinal.{u} → Ordinal.{u}} (hf : IsNormal f)
600609 {a o} (ha : IsSuccLimit a) {g} (hg : IsFundamentalSequence a o g) :
601610 IsFundamentalSequence (f a) o fun b hb => f (g b hb) := by
0 commit comments