We give an abstract construction of ordinal exponentiation using suprema of
ordinals.
\begin{code}
{-# OPTIONS --safe --without-K --exact-split #-}
open import UF.Univalence
open import UF.PropTrunc
open import UF.Size
module Ordinals.Exponentiation.Supremum
(ua : Univalence)
(pt : propositional-truncations-exist)
(sr : Set-Replacement pt)
where
open import UF.FunExt
open import UF.UA-FunExt
private
fe : FunExt
fe = Univalence-gives-FunExt ua
fe' : Fun-Ext
fe' {π€} {π₯} = fe π€ π₯
open import MLTT.Spartan
open import UF.Base
open import UF.ImageAndSurjection pt
open import UF.Subsingletons
open import UF.UniverseEmbedding
open import Ordinals.AdditionProperties ua
open import Ordinals.Arithmetic fe
open import Ordinals.Exponentiation.Specification ua pt sr
open import Ordinals.MultiplicationProperties ua
open import Ordinals.OrdinalOfOrdinals ua
open import Ordinals.OrdinalOfOrdinalsSuprema ua
open import Ordinals.Propositions ua
open import Ordinals.Type
open import Ordinals.Underlying
open PropositionalTruncation pt
open suprema pt sr
\end{code}
We define
Ξ± ^β Ξ² = sup {1 + β¨ Ξ² β©} (inl _ β¦ πβ; inr b β¦ Ξ± ^β (Ξ² β b) Γβ Ξ±)
by transfinite recursion on Ξ².
As we will show, this gives a well defined ordinal exponentiation function
whenever Ξ± β΅ πβ. Moreover, many desirable properties also hold in the absence of
this assumption)
\begin{code}
exp-bundled :
(Ξ± : Ordinal π€)
β Ξ£ f κ (Ordinal π₯ β Ordinal (π€ β π₯)) ,
((Ξ² : Ordinal π₯)
β f Ξ² οΌ sup {I = π + β¨ Ξ² β©} (cases (Ξ» _ β πβ) (Ξ» b β f (Ξ² β b) Γβ Ξ±)))
exp-bundled {π€} {π₯} Ξ± =
transfinite-recursion-on-OO-bundled
(Ordinal (π€ β π₯))
(Ξ» Ξ² ih β sup {I = π {π€} + β¨ Ξ² β©} (cases (Ξ» _ β πβ) Ξ» b β ih b Γβ Ξ±))
abstract
_^β_ : (Ξ± : Ordinal π€) β (Ξ² : Ordinal π₯) β Ordinal (π€ β π₯)
_^β_ Ξ± = prβ (exp-bundled Ξ±)
infixr 8 _^β_
^β-behaviour :
(Ξ± : Ordinal π€) (Ξ² : Ordinal π₯)
β Ξ± ^β Ξ²
οΌ sup {I = π {π€} + β¨ Ξ² β©} (cases (Ξ» _ β πβ) (Ξ» b β Ξ± ^β (Ξ² β b) Γβ Ξ±))
^β-behaviour Ξ± = prβ (exp-bundled Ξ±)
module _
(Ξ± : Ordinal π€)
(Ξ² : Ordinal π₯)
where
^β-family : π {π€} + β¨ Ξ² β© β Ordinal (π€ β π₯)
^β-family = cases (Ξ» _ β πβ) (Ξ» b β Ξ± ^β (Ξ² β b) Γβ Ξ±)
^β-is-upper-bound : (x : π + β¨ Ξ² β©) β ^β-family x β΄ Ξ± ^β Ξ²
^β-is-upper-bound x =
transportβ»ΒΉ
(^β-family x β΄_)
(^β-behaviour Ξ± Ξ²)
(sup-is-upper-bound ^β-family x)
^β-is-upper-boundβ : πβ β΄ Ξ± ^β Ξ²
^β-is-upper-boundβ = ^β-is-upper-bound (inl β)
^β-is-upper-boundβ : {b : β¨ Ξ² β©} β Ξ± ^β (Ξ² β b) Γβ Ξ± β΄ Ξ± ^β Ξ²
^β-is-upper-boundβ {b} = ^β-is-upper-bound (inr b)
^β-is-lower-bound-of-upper-bounds :
(Ξ³ : Ordinal (π€ β π₯))
β πβ β΄ Ξ³
β ((b : β¨ Ξ² β©) β Ξ± ^β (Ξ² β b) Γβ Ξ± β΄ Ξ³)
β Ξ± ^β Ξ² β΄ Ξ³
^β-is-lower-bound-of-upper-bounds Ξ³ lβ lβ =
transportβ»ΒΉ (_β΄ Ξ³)
(^β-behaviour Ξ± Ξ²)
(sup-is-lower-bound-of-upper-bounds
^β-family Ξ³ (dep-cases (Ξ» _ β lβ) lβ))
\end{code}
Since ^β is defined as a supremum which in turn can be realized as a quotient,
it enjoyes an induction principle which we formulate and prove below.
\begin{code}
^β-β₯ : β¨ Ξ± ^β Ξ² β©
^β-β₯ = [ πβ , Ξ± ^β Ξ² ]β¨ ^β-is-upper-boundβ β© β
Γβ-to-^β : {b : β¨ Ξ² β©} β β¨ Ξ± ^β (Ξ² β b) Γβ Ξ± β© β β¨ Ξ± ^β Ξ² β©
Γβ-to-^β {b} = [ Ξ± ^β (Ξ² β b) Γβ Ξ± , Ξ± ^β Ξ² ]β¨ ^β-is-upper-boundβ β©
private
ΞΉ : (x : π + β¨ Ξ² β©) β β¨ ^β-family x β© β β¨ Ξ± ^β Ξ² β©
ΞΉ x = [ ^β-family x , Ξ± ^β Ξ² ]β¨ ^β-is-upper-bound x β©
ΞΉ-is-jointly-surjective :
(e : β¨ Ξ± ^β Ξ² β©)
β β x κ π + β¨ Ξ² β© , Ξ£ y κ β¨ ^β-family x β© , ΞΉ x y οΌ e
ΞΉ-is-jointly-surjective e = β₯β₯-functor II III
where
Ο = Ξ» (x : π + β¨ Ξ² β©)
β [ ^β-family x , sup ^β-family ]β¨ sup-is-upper-bound ^β-family x β©
I : {Ξ³ : Ordinal (π€ β π₯)} (e : β¨ Ξ³ β©)
(p : Ξ³ οΌ sup ^β-family) {x : π + β¨ Ξ² β©} {y : β¨ ^β-family x β©}
β Ο x y οΌ Idtofun (ap β¨_β© p) e
β [ ^β-family x , Ξ³ ]β¨
transportβ»ΒΉ (^β-family x β΄_) p (sup-is-upper-bound ^β-family x) β© y
οΌ e
I _ refl = id
p = ^β-behaviour Ξ± Ξ²
q = ap β¨_β© p
e' = Idtofun q e
II : (Ξ£ x κ π + β¨ Ξ² β© , Ξ£ y κ β¨ ^β-family x β© , Ο x y οΌ e')
β (Ξ£ x κ π + β¨ Ξ² β© , Ξ£ y κ β¨ ^β-family x β© , ΞΉ x y οΌ e)
II (x , y , eq) = x , y , I e p eq
III : β x κ π + β¨ Ξ² β© , Ξ£ y κ β¨ ^β-family x β© , Ο x y οΌ e'
III = sup-is-upper-bound-jointly-surjective ^β-family (Idtofun q e)
^β-induction : {π¦ : Universe} (P : β¨ Ξ± ^β Ξ² β© β π¦ Μ )
β ((e : β¨ Ξ± ^β Ξ² β©) β is-prop (P e))
β P ^β-β₯
β ((b : β¨ Ξ² β©) (y : β¨ Ξ± ^β (Ξ² β b) Γβ Ξ± β©) β P (Γβ-to-^β y))
β (e : β¨ Ξ± ^β Ξ² β©) β P e
^β-induction P P-is-prop-valued P-β₯ P-component =
surjection-induction Ο Ο-is-surjection P P-is-prop-valued Ο
where
Ο : (Ξ£ x κ π + β¨ Ξ² β© , β¨ ^β-family x β©) β β¨ Ξ± ^β Ξ² β©
Ο (x , y) = ΞΉ x y
Ο-is-surjection : is-surjection Ο
Ο-is-surjection e =
β₯β₯-functor
(Ξ» (x , y , p) β (x , y) , p)
(ΞΉ-is-jointly-surjective e)
Ο : ((x , y) : domain Ο) β P (ΞΉ x y)
Ο (inl β , β) = P-β₯
Ο (inr b , y) = P-component b y
\end{code}
We introduce a more descriptive name for the fact that our exponentiation
function is always at least πβ and derive the corollary that πβ is strictly
below any exponentiated ordinal.
\begin{code}
^β-has-least-element : (Ξ± : Ordinal π€) (Ξ² : Ordinal π₯) β πβ β΄ Ξ± ^β Ξ²
^β-has-least-element = ^β-is-upper-boundβ
^β-is-positive : (Ξ± : Ordinal π€) (Ξ² : Ordinal π₯) β πβ β² Ξ± ^β Ξ²
^β-is-positive Ξ± Ξ² =
β²-β΄-gives-β² πβ πβ (Ξ± ^β Ξ²) πβ-β²-πβ (^β-has-least-element Ξ± Ξ²)
\end{code}
The exponentiation function meets the zero specification as formulated in
Ordinals.Exponentiation.Specification.
\begin{code}
^β-satisfies-zero-specification : {π€ π₯ : Universe} (Ξ± : Ordinal π€)
β exp-specification-zero {π€} {π₯} Ξ± (Ξ± ^β_)
^β-satisfies-zero-specification {π€} {π₯} Ξ± = β΄-antisym (Ξ± ^β πβ) πβ I II
where
I : Ξ± ^β πβ β΄ πβ
I = ^β-is-lower-bound-of-upper-bounds Ξ± πβ πβ (β΄-refl πβ) π-induction
II : πβ β΄ Ξ± ^β πβ
II = ^β-has-least-element Ξ± πβ
\end{code}
The exponentiation function meets the successor specification (as formulated in
Ordinals.Exponentiation.Specification) for base ordinals Ξ± β΅ πβ.
The proof relies on the following general lemma.
\begin{code}
^β-Γβ-right-β΄ : (Ξ± : Ordinal π€) (Ξ² : Ordinal π₯) (Ξ³ : Ordinal π¦)
β πβ {π£} β΄ Ξ³
β Ξ± ^β Ξ² β΄ Ξ± ^β Ξ² Γβ Ξ³
^β-Γβ-right-β΄ Ξ± Ξ² Ξ³ l =
β΄-trans (Ξ± ^β Ξ²) (Ξ± ^β Ξ² Γβ πβ) (Ξ± ^β Ξ² Γβ Ξ³)
(οΌ-to-β΄ (Ξ± ^β Ξ²) (Ξ± ^β Ξ² Γβ πβ) ((πβ-right-neutral-Γβ (Ξ± ^β Ξ²)) β»ΒΉ))
(Γβ-right-monotone-β΄ (Ξ± ^β Ξ²) πβ Ξ³ (πβ-β΄-shift Ξ³ l))
^β-satisfies-succ-specification : {π€ π₯ : Universe} (Ξ± : Ordinal π€)
β πβ {π€} β΄ Ξ±
β exp-specification-succ {π€} {π₯} Ξ± (Ξ± ^β_)
^β-satisfies-succ-specification {π€} {π₯} Ξ± l Ξ² =
β΄-antisym (Ξ± ^β (Ξ² +β πβ)) (Ξ± ^β Ξ² Γβ Ξ±) I II
where
I : Ξ± ^β (Ξ² +β πβ) β΄ Ξ± ^β Ξ² Γβ Ξ±
I = ^β-is-lower-bound-of-upper-bounds Ξ± (Ξ² +β πβ) (Ξ± ^β Ξ² Γβ Ξ±) Iβ Iβ
where
Iβ : πβ β΄ Ξ± ^β Ξ² Γβ Ξ±
Iβ = β΄-trans πβ (Ξ± ^β Ξ²) (Ξ± ^β Ξ² Γβ Ξ±)
(^β-is-upper-boundβ Ξ± Ξ²)
(^β-Γβ-right-β΄ Ξ± Ξ² Ξ± l)
Iβ : (x : β¨ Ξ² +β πβ β©) β Ξ± ^β ((Ξ² +β πβ) β x) Γβ Ξ± β΄ Ξ± ^β Ξ² Γβ Ξ±
Iβ (inl b) = β΄-trans
(Ξ± ^β ((Ξ² +β πβ) β inl b) Γβ Ξ±)
(Ξ± ^β Ξ²)
(Ξ± ^β Ξ² Γβ Ξ±)
(transport (_β΄ Ξ± ^β Ξ²)
(ap (Ξ» - β Ξ± ^β - Γβ Ξ±) (+β-β-left b))
(^β-is-upper-boundβ Ξ± Ξ²))
(^β-Γβ-right-β΄ Ξ± Ξ² Ξ± l)
Iβ (inr β) = οΌ-to-β΄
(Ξ± ^β ((Ξ² +β πβ) β inr β) Γβ Ξ±)
(Ξ± ^β Ξ² Γβ Ξ±)
(ap (Ξ» - β Ξ± ^β - Γβ Ξ±) (successor-lemma-right Ξ²))
II : Ξ± ^β Ξ² Γβ Ξ± β΄ Ξ± ^β (Ξ² +β πβ)
II = transport
(_β΄ Ξ± ^β (Ξ² +β πβ))
(ap (Ξ» - β Ξ± ^β - Γβ Ξ±) (successor-lemma-right Ξ²))
(^β-is-upper-boundβ Ξ± (Ξ² +β πβ))
\end{code}
The exponentiation function meets the supremum specification (as formulated in
Ordinals.Exponentiation.Specification).
The proof relies on the following monotonicity property of the exponentiation.
\begin{code}
^β-monotone-in-exponent : (Ξ± : Ordinal π€) (Ξ² Ξ³ : Ordinal π₯)
β Ξ² β΄ Ξ³ β Ξ± ^β Ξ² β΄ Ξ± ^β Ξ³
^β-monotone-in-exponent {π€} {π₯} Ξ± Ξ² Ξ³ π@(f , _) =
transportββ»ΒΉ _β΄_
(^β-behaviour Ξ± Ξ²) (^β-behaviour Ξ± Ξ³)
(transport (Ξ» - β sup - β΄ sup G) I (sup-composition-β΄ f' G))
where
F = ^β-family Ξ± Ξ²
G = ^β-family Ξ± Ξ³
f' : π + β¨ Ξ² β© β π + β¨ Ξ³ β©
f' = cases (Ξ» _ β inl β) (Ξ» b β inr (f b))
initial-segments-agree : (b : β¨ Ξ² β©) β Ξ² β b οΌ Ξ³ β f b
initial-segments-agree b = simulations-preserve-β Ξ² Ξ³ π b
I : G β f' οΌ F
I = dfunext fe' II
where
II : (x : π + β¨ Ξ² β©) β G (f' x) οΌ F x
II (inl β) = refl
II (inr b) = ap (Ξ» - β Ξ± ^β - Γβ Ξ±) (initial-segments-agree b β»ΒΉ)
^β-satisfies-sup-specification-generalized :
{π€ π₯ : Universe} (Ξ± : Ordinal π€)
β exp-specification-sup-generalized {π€} {π₯} Ξ± (Ξ± ^β_)
^β-satisfies-sup-specification-generalized {π€} {π₯} Ξ± _ {S} S-inh F =
β΄-antisym (Ξ± ^β sup F) (sup (Ξ» - β Ξ± ^β F (lower -))) I II
where
II : sup (Ξ» - β Ξ± ^β F (lower -)) β΄ Ξ± ^β sup F
II = sup-is-lower-bound-of-upper-bounds
(Ξ» - β Ξ± ^β F (lower -))
(Ξ± ^β sup F)
(Ξ» i β ^β-monotone-in-exponent Ξ± (F (lower i)) (sup F)
(sup-is-upper-bound F (lower i)))
I : Ξ± ^β sup F β΄ sup (Ξ» - β Ξ± ^β F (lower -))
I = ^β-is-lower-bound-of-upper-bounds
Ξ±
(sup F)
(sup (Ξ» - β Ξ± ^β F (lower -)))
Iβ
Iβ
where
Iβ : πβ β΄ sup (Ξ» - β Ξ± ^β F (lower -))
Iβ = β₯β₯-rec (β΄-is-prop-valued πβ (sup (Ξ» - β Ξ± ^β F (lower -)))) Iβ' S-inh
where
Iβ' : S β πβ β΄ sup (Ξ» - β Ξ± ^β F (lower -))
Iβ' sβ = β΄-trans
πβ
(Ξ± ^β (F sβ))
(sup (Ξ» - β Ξ± ^β F (lower -)))
(^β-is-upper-boundβ Ξ± (F sβ))
(sup-is-upper-bound (Ξ» - β Ξ± ^β F (lower -)) (lift π€ sβ))
Iβ : (y : β¨ sup F β©)
β Ξ± ^β (sup F β y) Γβ Ξ± β΄ sup (Ξ» - β Ξ± ^β F (lower -))
Iβ y = β₯β₯-rec
(β΄-is-prop-valued
(Ξ± ^β (sup F β y) Γβ Ξ±)
(sup (Ξ» - β Ξ± ^β F (lower -))))
Iβ'
(initial-segment-of-sup-is-initial-segment-of-some-component F y)
where
Iβ' : (Ξ£ s κ S , Ξ£ x κ β¨ F s β© , sup F β y οΌ F s β x)
β Ξ± ^β (sup F β y) Γβ Ξ± β΄ sup (Ξ» - β Ξ± ^β F (lower -))
Iβ' (s , x , p) =
transportβ»ΒΉ
(_β΄ sup (Ξ» - β Ξ± ^β F (lower -)))
(ap (Ξ» - β Ξ± ^β - Γβ Ξ±) p)
(β΄-trans
(Ξ± ^β (F s β x) Γβ Ξ±)
(Ξ± ^β F s)
(sup (Ξ» - β Ξ± ^β (F (lower -))))
(^β-is-upper-boundβ Ξ± (F s))
(sup-is-upper-bound (Ξ» - β Ξ± ^β (F (lower -))) (lift π€ s)))
^β-satisfies-sup-specification : (Ξ± : Ordinal π€)
β exp-specification-sup Ξ± (Ξ± ^β_)
^β-satisfies-sup-specification Ξ± =
exp-specification-sup-from-generalized
Ξ± (Ξ± ^β_) (^β-satisfies-sup-specification-generalized Ξ±)
\end{code}
Exponentiating by πβ and πβ behaves as expected (and this behaviour follows
abstractly from the zero and successor specifications).
\begin{code}
πβ-neutral-^β : (Ξ± : Ordinal π€) β πβ β΄ Ξ± β Ξ± ^β πβ οΌ Ξ±
πβ-neutral-^β Ξ± l = πβ-neutral-exp Ξ± (Ξ± ^β_)
(^β-satisfies-zero-specification Ξ±)
(^β-satisfies-succ-specification Ξ± l)
^β-πβ-is-Γβ : (Ξ± : Ordinal π€) β πβ β΄ Ξ± β Ξ± ^β πβ οΌ Ξ± Γβ Ξ±
^β-πβ-is-Γβ Ξ± l = exp-πβ-is-Γβ Ξ± (Ξ± ^β_)
(^β-satisfies-zero-specification Ξ±)
(^β-satisfies-succ-specification Ξ± l)
\end{code}
More generally, we have
Ξ± ^β (Ξ² +β Ξ³) οΌ Ξ± ^β Ξ² Γβ Ξ± ^β Ξ³,
the proof of which makes use of the following general lemma which folds the
product into the supremum.
\begin{code}
Γβ-^β-lemma :
(Ξ± : Ordinal π€) (Ξ² : Ordinal π₯) (Ξ³ : Ordinal (π€ β π₯))
β Ξ³ Γβ Ξ± ^β Ξ²
οΌ sup (cases (Ξ» (_ : π {π€}) β Ξ³) (Ξ» (b : β¨ Ξ² β©) β Ξ³ Γβ Ξ± ^β (Ξ² β b) Γβ Ξ±))
Γβ-^β-lemma {π€} {π₯} Ξ± Ξ² Ξ³ =
Ξ³ Γβ Ξ± ^β Ξ² οΌβ¨ I β©
Ξ³ Γβ sup (^β-family Ξ± Ξ²) οΌβ¨ II β©
sup (Ξ» - β Ξ³ Γβ (^β-family Ξ± Ξ² -)) οΌβ¨ III β©
sup F β
where
F : π + β¨ Ξ² β© β Ordinal (π€ β π₯)
F = cases (Ξ» _ β Ξ³) (Ξ» b β Ξ³ Γβ Ξ± ^β (Ξ² β b) Γβ Ξ±)
I = ap (Ξ³ Γβ_) (^β-behaviour Ξ± Ξ²)
II = Γβ-preserves-suprema pt sr Ξ³ (^β-family Ξ± Ξ²)
III = ap sup (dfunext fe' h)
where
h : (Ξ» - β Ξ³ Γβ ^β-family Ξ± Ξ² -) βΌ F
h (inl β) = πβ-right-neutral-Γβ Ξ³
h (inr b) = (Γβ-assoc Ξ³ (Ξ± ^β (Ξ² β b)) Ξ±) β»ΒΉ
^β-by-+β : (Ξ± : Ordinal π€) (Ξ² Ξ³ : Ordinal π₯)
β Ξ± ^β (Ξ² +β Ξ³) οΌ Ξ± ^β Ξ² Γβ Ξ± ^β Ξ³
^β-by-+β {π€} {π₯} Ξ± Ξ² =
transfinite-induction-on-OO (Ξ» Ξ³ β Ξ± ^β (Ξ² +β Ξ³) οΌ Ξ± ^β Ξ² Γβ Ξ± ^β Ξ³) I
where
I : (Ξ³ : Ordinal π₯)
β ((c : β¨ Ξ³ β©) β Ξ± ^β (Ξ² +β (Ξ³ β c)) οΌ Ξ± ^β Ξ² Γβ Ξ± ^β (Ξ³ β c))
β Ξ± ^β (Ξ² +β Ξ³) οΌ Ξ± ^β Ξ² Γβ Ξ± ^β Ξ³
I Ξ³ IH = Ξ± ^β (Ξ² +β Ξ³) οΌβ¨ β΄-antisym (Ξ± ^β (Ξ² +β Ξ³)) (sup F) II III β©
sup F οΌβ¨ (Γβ-^β-lemma Ξ± Ξ³ (Ξ± ^β Ξ²)) β»ΒΉ β©
Ξ± ^β Ξ² Γβ Ξ± ^β Ξ³ β
where
F : π + β¨ Ξ³ β© β Ordinal (π€ β π₯)
F = cases (Ξ» _ β Ξ± ^β Ξ²) (Ξ» c β Ξ± ^β Ξ² Γβ Ξ± ^β (Ξ³ β c) Γβ Ξ±)
eq : (c : β¨ Ξ³ β©)
β Ξ± ^β Ξ² Γβ Ξ± ^β (Ξ³ β c) Γβ Ξ± οΌ Ξ± ^β ((Ξ² +β Ξ³) β inr c) Γβ Ξ±
eq c = Ξ± ^β Ξ² Γβ Ξ± ^β (Ξ³ β c) Γβ Ξ± οΌβ¨ eβ β©
Ξ± ^β (Ξ² +β (Ξ³ β c)) Γβ Ξ± οΌβ¨ eβ β©
Ξ± ^β ((Ξ² +β Ξ³) β inr c) Γβ Ξ± β
where
eβ = ap (_Γβ Ξ±) ((IH c) β»ΒΉ)
eβ = ap (Ξ» - β Ξ± ^β - Γβ Ξ±) (+β-β-right c)
II : Ξ± ^β (Ξ² +β Ξ³) β΄ sup F
II = ^β-is-lower-bound-of-upper-bounds Ξ± (Ξ² +β Ξ³) (sup F)
IIβ IIβ
where
IIβ : πβ β΄ sup F
IIβ = β΄-trans πβ (Ξ± ^β Ξ²) (sup F)
(^β-has-least-element Ξ± Ξ²)
(sup-is-upper-bound _ (inl β))
IIβ : (x : β¨ Ξ² +β Ξ³ β©) β Ξ± ^β (Ξ² +β Ξ³ β x) Γβ Ξ± β΄ sup F
IIβ (inl b) = transport
(_β΄ sup F)
(ap (Ξ» - β Ξ± ^β - Γβ Ξ±) (+β-β-left b))
(β΄-trans (Ξ± ^β (Ξ² β b) Γβ Ξ±) (Ξ± ^β Ξ²) (sup F)
(^β-is-upper-boundβ Ξ± Ξ²)
(sup-is-upper-bound F (inl β)))
IIβ (inr c) =
transport (_β΄ sup F) (eq c) (sup-is-upper-bound F (inr c))
III : sup F β΄ Ξ± ^β (Ξ² +β Ξ³)
III = sup-is-lower-bound-of-upper-bounds _ (Ξ± ^β (Ξ² +β Ξ³)) III'
where
III' : (x : π + β¨ Ξ³ β©) β F x β΄ Ξ± ^β (Ξ² +β Ξ³)
III' (inl β) = ^β-monotone-in-exponent Ξ± Ξ² (Ξ² +β Ξ³) (+β-left-β΄ Ξ² Ξ³)
III' (inr c) =
transportβ»ΒΉ (_β΄ Ξ± ^β (Ξ² +β Ξ³)) (eq c) (^β-is-upper-boundβ Ξ± (Ξ² +β Ξ³))
\end{code}
The general lemma
Ξ± ^β (Ξ² +β Ξ³) οΌ Ξ± ^β Ξ² Γβ Ξ± ^β Ξ³
has the successor specification
Ξ± ^β (Ξ² +β πβ) = Ξ± ^β Ξ² Γβ Ξ±
as a special case, but deriving it like this forces the universe parameters to
be less general compared to the direct proof given above in
^β-satisifies-succ-specification.
The proof above of πβ-neutral-^β goes via
^β-satisifies-succ-specification, so in order to avoid an implicit
dependency on that proof, we reprove it from scratch here.
\begin{code}
^β-satisfies-succ-specification' : (Ξ± : Ordinal π€)
β πβ β΄ Ξ±
β exp-specification-succ {π€} {π€} Ξ± (Ξ± ^β_)
^β-satisfies-succ-specification' {π€} Ξ± l Ξ² =
Ξ± ^β (Ξ² +β πβ) οΌβ¨ ^β-by-+β Ξ± Ξ² πβ β©
Ξ± ^β Ξ² Γβ Ξ± ^β πβ οΌβ¨ ap (Ξ± ^β Ξ² Γβ_) (πβ-neutral-^β' Ξ± l) β©
Ξ± ^β Ξ² Γβ Ξ± β
where
πβ-neutral-^β' : (Ξ± : Ordinal π€) β πβ {π€} β΄ Ξ± β Ξ± ^β πβ οΌ Ξ±
πβ-neutral-^β' Ξ± l = β΄-antisym (Ξ± ^β πβ) Ξ± II III
where
I = Ξ± ^β (πβ β β) Γβ Ξ± οΌβ¨ ap (Ξ» - β Ξ± ^β - Γβ Ξ±) πβ-β β©
Ξ± ^β πβ Γβ Ξ± οΌβ¨ ap (_Γβ Ξ±) (^β-satisfies-zero-specification Ξ±) β©
πβ Γβ Ξ± οΌβ¨ πβ-left-neutral-Γβ Ξ± β©
Ξ± β
II : Ξ± ^β πβ β΄ Ξ±
II = ^β-is-lower-bound-of-upper-bounds Ξ± πβ Ξ± l (Ξ» _ β II')
where
II' : Ξ± ^β (πβ β β) Γβ Ξ± β΄ Ξ±
II' = transportβ»ΒΉ (_β΄ Ξ±) I (β΄-refl Ξ±)
III : Ξ± β΄ Ξ± ^β πβ
III = transport (_β΄ Ξ± ^β πβ) I (^β-is-upper-boundβ Ξ± πβ)
\end{code}
Exponentiating by a product is iterated exponentiation:
\begin{code}
^β-by-Γβ : (Ξ± : Ordinal π€) (Ξ² Ξ³ : Ordinal π₯)
β Ξ± ^β (Ξ² Γβ Ξ³) οΌ (Ξ± ^β Ξ²) ^β Ξ³
^β-by-Γβ {π€} {π₯} Ξ± Ξ² =
transfinite-induction-on-OO (Ξ» Ξ³ β Ξ± ^β (Ξ² Γβ Ξ³) οΌ (Ξ± ^β Ξ²) ^β Ξ³) I
where
I : (Ξ³ : Ordinal π₯)
β ((c : β¨ Ξ³ β©) β Ξ± ^β (Ξ² Γβ (Ξ³ β c)) οΌ (Ξ± ^β Ξ²) ^β (Ξ³ β c))
β Ξ± ^β (Ξ² Γβ Ξ³) οΌ (Ξ± ^β Ξ²) ^β Ξ³
I Ξ³ IH = β΄-antisym (Ξ± ^β (Ξ² Γβ Ξ³)) ((Ξ± ^β Ξ²) ^β Ξ³) II III
where
II : Ξ± ^β (Ξ² Γβ Ξ³) β΄ (Ξ± ^β Ξ²) ^β Ξ³
II = ^β-is-lower-bound-of-upper-bounds Ξ± (Ξ² Γβ Ξ³) ((Ξ± ^β Ξ²) ^β Ξ³)
(^β-is-upper-boundβ (Ξ± ^β Ξ²) Ξ³)
II'
where
II' : (x : β¨ Ξ² Γβ Ξ³ β©) β Ξ± ^β (Ξ² Γβ Ξ³ β x) Γβ Ξ± β΄ (Ξ± ^β Ξ²) ^β Ξ³
II' (b , c) =
transportβ»ΒΉ (_β΄ (Ξ± ^β Ξ²) ^β Ξ³) eq
(β΄-trans
((Ξ± ^β Ξ²) ^β (Ξ³ β c) Γβ (Ξ± ^β (Ξ² β b) Γβ Ξ±))
((Ξ± ^β Ξ²) ^β (Ξ³ β c) Γβ Ξ± ^β Ξ²)
((Ξ± ^β Ξ²) ^β Ξ³)
(Γβ-right-monotone-β΄
((Ξ± ^β Ξ²) ^β (Ξ³ β c))
(Ξ± ^β (Ξ² β b) Γβ Ξ±)
(Ξ± ^β Ξ²)
(^β-is-upper-boundβ Ξ± Ξ²))
(^β-is-upper-boundβ (Ξ± ^β Ξ²) Ξ³))
where
eq = Ξ± ^β (Ξ² Γβ Ξ³ β (b , c)) Γβ Ξ± οΌβ¨ eβ β©
Ξ± ^β (Ξ² Γβ (Ξ³ β c) +β (Ξ² β b)) Γβ Ξ± οΌβ¨ eβ β©
Ξ± ^β (Ξ² Γβ (Ξ³ β c)) Γβ Ξ± ^β (Ξ² β b) Γβ Ξ± οΌβ¨ eβ β©
(Ξ± ^β Ξ²) ^β (Ξ³ β c) Γβ Ξ± ^β (Ξ² β b) Γβ Ξ± οΌβ¨ eβ β©
(Ξ± ^β Ξ²) ^β (Ξ³ β c) Γβ (Ξ± ^β (Ξ² β b) Γβ Ξ±) β
where
eβ = ap (Ξ» - β Ξ± ^β - Γβ Ξ±) (Γβ-β Ξ² Ξ³)
eβ = ap (_Γβ Ξ±) (^β-by-+β Ξ± (Ξ² Γβ (Ξ³ β c)) (Ξ² β b))
eβ = ap (Ξ» - β - Γβ Ξ± ^β (Ξ² β b) Γβ Ξ±) (IH c)
eβ = Γβ-assoc ((Ξ± ^β Ξ²) ^β (Ξ³ β c)) (Ξ± ^β (Ξ² β b)) Ξ±
III : (Ξ± ^β Ξ²) ^β Ξ³ β΄ Ξ± ^β (Ξ² Γβ Ξ³)
III = ^β-is-lower-bound-of-upper-bounds (Ξ± ^β Ξ²) Ξ³ (Ξ± ^β (Ξ² Γβ Ξ³))
(^β-is-upper-boundβ Ξ± (Ξ² Γβ Ξ³))
III'
where
III' : (c : β¨ Ξ³ β©) β (Ξ± ^β Ξ²) ^β (Ξ³ β c) Γβ Ξ± ^β Ξ² β΄ Ξ± ^β (Ξ² Γβ Ξ³)
III' c =
transportβ»ΒΉ (_β΄ Ξ± ^β (Ξ² Γβ Ξ³)) eq
(^β-monotone-in-exponent Ξ± (Ξ² Γβ ((Ξ³ β c) +β πβ)) (Ξ² Γβ Ξ³)
(Γβ-right-monotone-β΄ Ξ² ((Ξ³ β c) +β πβ) Ξ³
(upper-bound-of-successors-of-initial-segments Ξ³ c)))
where
eq = (Ξ± ^β Ξ²) ^β (Ξ³ β c) Γβ Ξ± ^β Ξ² οΌβ¨ eβ β©
Ξ± ^β (Ξ² Γβ (Ξ³ β c)) Γβ Ξ± ^β Ξ² οΌβ¨ eβ β©
Ξ± ^β (Ξ² Γβ (Ξ³ β c) +β Ξ²) οΌβ¨ eβ β©
Ξ± ^β (Ξ² Γβ ((Ξ³ β c) +β πβ)) β
where
eβ = ap (_Γβ Ξ± ^β Ξ²) ((IH c) β»ΒΉ)
eβ = (^β-by-+β Ξ± (Ξ² Γβ (Ξ³ β c)) Ξ²) β»ΒΉ
eβ = ap (Ξ± ^β_) (Γβ-successor Ξ² (Ξ³ β c) β»ΒΉ)
\end{code}
The following characterizes initial segments of exponentiated ordinals.
\begin{code}
^β-β-β₯ : (Ξ± : Ordinal π€) (Ξ² : Ordinal π₯)
β Ξ± ^β Ξ² β ^β-β₯ Ξ± Ξ² οΌ πβ
^β-β-β₯ Ξ± Ξ² = Ξ± ^β Ξ² β ^β-β₯ Ξ± Ξ² οΌβ¨ I β©
πβ β β οΌβ¨ πβ-β β©
πβ β
where
I = (simulations-preserve-β πβ (Ξ± ^β Ξ²) (^β-is-upper-boundβ Ξ± Ξ²) β) β»ΒΉ
^β-β-Γβ-to-^β : (Ξ± Ξ² : Ordinal π€)
{b : β¨ Ξ² β©} {e : β¨ Ξ± ^β (Ξ² β b) β©} {a : β¨ Ξ± β©}
β Ξ± ^β Ξ² β Γβ-to-^β Ξ± Ξ² (e , a)
οΌ Ξ± ^β (Ξ² β b) Γβ (Ξ± β a) +β (Ξ± ^β (Ξ² β b) β e)
^β-β-Γβ-to-^β Ξ± Ξ² {b} {e} {a} =
Ξ± ^β Ξ² β Γβ-to-^β Ξ± Ξ² (e , a) οΌβ¨ I β©
Ξ± ^β (Ξ² β b) Γβ Ξ± β (e , a) οΌβ¨ II β©
Ξ± ^β (Ξ² β b) Γβ (Ξ± β a) +β (Ξ± ^β (Ξ² β b) β e) β
where
I = (simulations-preserve-β
(Ξ± ^β (Ξ² β b) Γβ Ξ±)
(Ξ± ^β Ξ²)
(^β-is-upper-boundβ Ξ± Ξ²)
(e , a)) β»ΒΉ
II = Γβ-β (Ξ± ^β (Ξ² β b)) Ξ±
^β-β :
(Ξ± Ξ² : Ordinal π€) {x : β¨ Ξ± ^β Ξ² β©}
β (Ξ± ^β Ξ² β x οΌ πβ)
β¨ (Ξ£ b κ β¨ Ξ² β© , Ξ£ e κ β¨ Ξ± ^β (Ξ² β b) β© , Ξ£ a κ β¨ Ξ± β© ,
Ξ± ^β Ξ² β x οΌ Ξ± ^β (Ξ² β b) Γβ (Ξ± β a) +β (Ξ± ^β (Ξ² β b) β e))
^β-β {π€} Ξ± Ξ² {x} =
^β-induction Ξ± Ξ² P
(Ξ» _ β β₯β₯-is-prop)
(β£ inl (^β-β-β₯ Ξ± Ξ²) β£)
(Ξ» b (e , a) β β£ inr (b , e , a , ^β-β-Γβ-to-^β Ξ± Ξ²) β£)
x
where
P : (x : β¨ Ξ± ^β Ξ² β©) β π€ βΊ Μ
P x = (Ξ± ^β Ξ² β x οΌ πβ)
β¨ (Ξ£ b κ β¨ Ξ² β© , Ξ£ e κ β¨ Ξ± ^β (Ξ² β b) β© , Ξ£ a κ β¨ Ξ± β© ,
Ξ± ^β Ξ² β x οΌ Ξ± ^β (Ξ² β b) Γβ (Ξ± β a) +β (Ξ± ^β (Ξ² β b) β e))
\end{code}
Finally, using the above characterization of initial segments, we show that ^β
is (stricly) order preserving in the exponent (provided that the base is
strictly greater than πβ).
\begin{code}
^β-β²-lemma : (Ξ± Ξ² : Ordinal π€)
β πβ β² Ξ±
β {b : β¨ Ξ² β©} β Ξ± ^β (Ξ² β b) β² Ξ± ^β Ξ²
^β-β²-lemma Ξ± Ξ² (aβ , p) {b} = e , (q β»ΒΉ)
where
β₯ : β¨ Ξ± ^β (Ξ² β b) β©
β₯ = ^β-β₯ Ξ± (Ξ² β b)
e : β¨ Ξ± ^β Ξ² β©
e = Γβ-to-^β Ξ± Ξ² (β₯ , aβ)
q = Ξ± ^β Ξ² β e οΌβ¨ I β©
Ξ± ^β (Ξ² β b) Γβ (Ξ± β aβ) +β (Ξ± ^β (Ξ² β b) β β₯) οΌβ¨ II β©
Ξ± ^β (Ξ² β b) Γβ (Ξ± β aβ) +β πβ οΌβ¨ III β©
Ξ± ^β (Ξ² β b) Γβ (Ξ± β aβ) οΌβ¨ IV β©
Ξ± ^β (Ξ² β b) Γβ πβ οΌβ¨ V β©
Ξ± ^β (Ξ² β b) β
where
I = ^β-β-Γβ-to-^β Ξ± Ξ²
II = ap (Ξ± ^β (Ξ² β b) Γβ (Ξ± β aβ) +β_) (^β-β-β₯ Ξ± (Ξ² β b))
III = πβ-right-neutral (Ξ± ^β (Ξ² β b) Γβ (Ξ± β aβ))
IV = ap (Ξ± ^β (Ξ² β b) Γβ_) (p β»ΒΉ)
V = πβ-right-neutral-Γβ (Ξ± ^β (Ξ² β b))
^β-order-preserving-in-exponent : (Ξ± Ξ² Ξ³ : Ordinal π€)
β πβ β² Ξ±
β Ξ² β² Ξ³ β Ξ± ^β Ξ² β² Ξ± ^β Ξ³
^β-order-preserving-in-exponent Ξ± Ξ² Ξ³ h (c , refl) = ^β-β²-lemma Ξ± Ξ³ h
\end{code}