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}