@@ -106,7 +106,7 @@ def Ordinal : Type (u + 1) :=
106106 Quotient Ordinal.isEquivalent
107107
108108/-- A "canonical" type order-isomorphic to the ordinal `o`, living in the same universe. This is
109- defined through the axiom of choice.
109+ defined through the axiom of choice; in particular, it has no useful def-eqs, and it is not exposed .
110110
111111Use this over `Iio o` only when it is paramount to have a `Type u` rather than a `Type (u + 1)`,
112112and convert using
@@ -116,23 +116,26 @@ Ordinal.ToType.mk : Iio o → o.ToType
116116Ordinal.ToType.toOrd : o.ToType → Iio o
117117```
118118-/
119+ @[no_expose]
119120def Ordinal.ToType (o : Ordinal.{u}) : Type u :=
120121 o.out.α
121122
122123@ [deprecated (since := "2025-12-04" )]
123124alias Ordinal.toType := Ordinal.ToType
124125
125- instance hasWellFounded_toType (o : Ordinal) : WellFoundedRelation o.ToType :=
126- ⟨o.out.r, o.out.wo.wf⟩
127-
126+ @[no_expose]
128127instance linearOrder_toType (o : Ordinal) : LinearOrder o.ToType :=
129128 @IsWellOrder.linearOrder _ o.out.r o.out.wo
130129
131130instance wellFoundedLT_toType (o : Ordinal) : WellFoundedLT o.ToType :=
132131 o.out.wo.toIsWellFounded
133132
133+ instance hasWellFounded_toType (o : Ordinal) : WellFoundedRelation o.ToType :=
134+ WellFoundedLT.toWellFoundedRelation
135+
134136namespace Ordinal
135137
138+ @[no_expose]
136139noncomputable instance (o : Ordinal) : SuccOrder o.ToType :=
137140 .ofLinearWellFoundedLT _
138141
@@ -1077,6 +1080,7 @@ theorem mk_toType (o : Ordinal) : #o.ToType = o.card :=
10771080
10781081/-- The ordinal corresponding to a cardinal `c` is the least ordinal
10791082 whose cardinal is `c`. For the order-embedding version, see `ord.order_embedding`. -/
1083+ @[no_expose]
10801084def ord (c : Cardinal) : Ordinal :=
10811085 Quot.liftOn c (fun α : Type u => ⨅ r : { r // IsWellOrder α r }, @type α r.1 r.2 ) <| by
10821086 rintro α β ⟨f⟩
@@ -1085,8 +1089,10 @@ def ord (c : Cardinal) : Ordinal :=
10851089 refine ⟨⟨_, RelIso.IsWellOrder.preimage r ?_⟩, type_preimage _ _⟩
10861090 exacts [f.symm, f]
10871091
1088- theorem ord_eq_Inf (α : Type u) : ord #α = ⨅ r : { r // IsWellOrder α r }, @type α r.1 r.2 :=
1089- rfl
1092+ theorem ord_eq_iInf (α : Type u) : ord #α = ⨅ r : { r // IsWellOrder α r }, @type α r.1 r.2 :=
1093+ (rfl)
1094+
1095+ @ [deprecated (since := "2026-03-15" )] alias ord_eq_Inf := ord_eq_iInf
10901096
10911097/-- There exists a well-order on `α` whose order type is exactly `ord #α`. -/
10921098theorem ord_eq (α) : ∃ (r : α → α → Prop ) (wo : IsWellOrder α r), ord #α = @type α r wo :=
0 commit comments