Type indices #
In this file, we declare the notion of a type index, and prove some of its basic properties.
Main declarations #
ConNF.TypeIndex
: The type of type indices.
@[reducible]
Either the base type or a proper type index (an inhabitant of Λ
).
The base type is written ⊥
.
Instances For
Allows us to use termination_by
clauses with TypeIndex
.
@[simp]
theorem
ConNF.TypeIndex.type
[ConNF.Params]
:
(Ordinal.type fun (x1 x2 : ConNF.TypeIndex) => x1 < x2) = Ordinal.type fun (x1 x2 : ConNF.Λ) => x1 < x2
@[simp]
theorem
ConNF.Λ_card_Iio_lt
[ConNF.Params]
(α : ConNF.Λ)
:
Cardinal.mk ↑{β : ConNF.Λ | β < α} < (Cardinal.mk ConNF.μ).ord.cof
theorem
ConNF.Λ_card_Iic_lt
[ConNF.Params]
(α : ConNF.Λ)
:
Cardinal.mk ↑{β : ConNF.Λ | β ≤ α} < (Cardinal.mk ConNF.μ).ord.cof
theorem
ConNF.TypeIndex.card_Iio_lt
[ConNF.Params]
(α : ConNF.TypeIndex)
:
Cardinal.mk ↑{β : ConNF.TypeIndex | β < α} < (Cardinal.mk ConNF.μ).ord.cof
theorem
ConNF.TypeIndex.card_Iic_lt
[ConNF.Params]
(α : ConNF.TypeIndex)
:
Cardinal.mk ↑{β : ConNF.TypeIndex | β ≤ α} < (Cardinal.mk ConNF.μ).ord.cof