Model parameters #
In this file, we define the parameters that we will use to construct our model of tangled type theory.
Main declarations #
ConNF.Params
: The type of model parameters.
- Λ : Type u
- κ : Type u
- μ : Type u
- Λ_nonempty : Nonempty ConNF.Λ
- ΛWellOrder : LtWellOrder ConNF.Λ
- Λ_noMaxOrder : NoMaxOrder ConNF.Λ
- aleph0_lt_κ : Cardinal.aleph0 < Cardinal.mk ConNF.κ
- κ_isRegular : (Cardinal.mk ConNF.κ).IsRegular
- μ_isStrongLimit : (Cardinal.mk ConNF.μ).IsStrongLimit
- κ_lt_μ : Cardinal.mk ConNF.κ < Cardinal.mk ConNF.μ
- κ_le_μ_ord_cof : Cardinal.mk ConNF.κ ≤ (Cardinal.mk ConNF.μ).ord.cof
- Λ_type_le_μ_ord_cof : (Ordinal.type fun (x1 x2 : ConNF.Λ) => x1 < x2) ≤ (Cardinal.mk ConNF.μ).ord.cof.ord
Instances
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ConNF.instLtWellOrderΛ = ConNF.Params.ΛWellOrder
Allows us to use termination_by
clauses with Λ
.
theorem
ConNF.Λ_type_le_μ_ord
[ConNF.Params]
:
(Ordinal.type fun (x1 x2 : ConNF.Λ) => x1 < x2) ≤ (Cardinal.mk ConNF.μ).ord
Equations
- ConNF.instLtWellOrderκ = ConNF.κEquiv.ltWellOrder
Equations
- ConNF.instOfNatκ n = ConNF.κEquiv.ofNat n
Equations
- ConNF.instLtWellOrderμ = ConNF.μEquiv.ltWellOrder
theorem
ConNF.Λ_type_isLimit
[ConNF.Params]
:
(Ordinal.type fun (x1 x2 : ConNF.Λ) => x1 < x2).IsLimit
@[simp]
theorem
ConNF.κ_type
[ConNF.Params]
:
(Ordinal.type fun (x1 x2 : ConNF.κ) => x1 < x2) = (Cardinal.mk ConNF.κ).ord
@[simp]
theorem
ConNF.μ_type
[ConNF.Params]
:
(Ordinal.type fun (x1 x2 : ConNF.μ) => x1 < x2) = (Cardinal.mk ConNF.μ).ord
Equations
- ConNF.instAddMonoidκ = ConNF.κEquiv.addMonoid
theorem
ConNF.instCovariantClassκHAddLe
[ConNF.Params]
:
CovariantClass ConNF.κ ConNF.κ (fun (x1 x2 : ConNF.κ) => x1 + x2) fun (x1 x2 : ConNF.κ) => x1 ≤ x2
theorem
ConNF.instCovariantClassκHAddLt
[ConNF.Params]
:
CovariantClass ConNF.κ ConNF.κ (fun (x1 x2 : ConNF.κ) => x1 + x2) fun (x1 x2 : ConNF.κ) => x1 < x2
theorem
ConNF.instCovariantClassκSwapHAddLe
[ConNF.Params]
:
CovariantClass ConNF.κ ConNF.κ (Function.swap fun (x1 x2 : ConNF.κ) => x1 + x2) fun (x1 x2 : ConNF.κ) => x1 ≤ x2
theorem
ConNF.κ_typein
[ConNF.Params]
(x : ConNF.κ)
:
(Ordinal.typein fun (x1 x2 : ConNF.κ) => x1 < x2).toRelEmbedding x = ↑(ConNF.κEquiv x)
theorem
ConNF.κ_card_Iio_eq
[ConNF.Params]
(x : ConNF.κ)
:
Cardinal.mk ↑{y : ConNF.κ | y < x} = (↑(ConNF.κEquiv x)).card
theorem
ConNF.μ_card_Iio_lt
[ConNF.Params]
(ν : ConNF.μ)
:
Cardinal.mk ↑{ξ : ConNF.μ | ξ < ν} < Cardinal.mk ConNF.μ
theorem
ConNF.μ_card_Iic_lt
[ConNF.Params]
(ν : ConNF.μ)
:
Cardinal.mk ↑{ξ : ConNF.μ | ξ ≤ ν} < Cardinal.mk ConNF.μ
theorem
ConNF.μ_bounded_lt_of_lt_μ_ord_cof
[ConNF.Params]
(s : Set ConNF.μ)
(h : Cardinal.mk ↑s < (Cardinal.mk ConNF.μ).ord.cof)
:
Set.Bounded (fun (x1 x2 : ConNF.μ) => x1 < x2) s
theorem
ConNF.card_lt_of_μ_bounded
[ConNF.Params]
(s : Set ConNF.μ)
(h : Set.Bounded (fun (x1 x2 : ConNF.μ) => x1 < x2) s)
:
Cardinal.mk ↑s < Cardinal.mk ConNF.μ