Specification
Tom de Jong, Nicolai Kraus, Fredrik Nordvall Forsberg, Chuangjie Xu 6 November 2024 Refactored between November 2024 and January 2025. Revised October 2026. We define types expressing what ordinal exponentiation should be for zero, successor and supremum exponents, and we record a few properties that follow immediately follow from those specifications.{-# OPTIONS --safe --without-K #-} open import UF.PropTrunc open import UF.Size open import UF.Univalence module Ordinals.Exponentiation.Specification (ua : Univalence) (pt : propositional-truncations-exist) (sr : Set-Replacement pt) where open import MLTT.Spartan open import UF.ClassicalLogic open import UF.FunExt open import UF.Subsingletons open import UF.Subsingletons-FunExt open import UF.UA-FunExt open import UF.UniverseEmbedding private fe : FunExt fe = Univalence-gives-FunExt ua fe' : Fun-Ext fe' = Univalence-gives-Fun-Ext ua open import Ordinals.AdditionProperties ua open import Ordinals.Arithmetic fe open import Ordinals.Maps open import Ordinals.MultiplicationProperties ua open import Ordinals.OrdinalOfOrdinals ua open import Ordinals.OrdinalOfOrdinalsSuprema ua open import Ordinals.SupremaPreservation ua pt sr open import Ordinals.Type open import Ordinals.Underlying open PropositionalTruncation pt open suprema pt srIn what follows F should be thought of as implementing ordinal exponentiation with base ฮฑ, i.e. F ฮฒ produces the ordinal ฮฑ^ฮฒ. The three requirements below, together with ๐โ^ฮฒ ๏ผ ๐โ for ฮฒ โ ๐โ, classically *define* ordinal exponentiation.module _ {๐ค ๐ฅ : Universe} (ฮฑ : Ordinal ๐ค) (F : Ordinal ๐ฅ โ Ordinal (๐ค โ ๐ฅ)) where exp-specification-zero : (๐ค โ ๐ฅ) โบ ฬ exp-specification-zero = F (๐โ {๐ฅ}) ๏ผ ๐โ exp-specification-succ : (๐ค โ ๐ฅ) โบ ฬ exp-specification-succ = (ฮฒ : Ordinal ๐ฅ) โ F (ฮฒ +โ ๐โ) ๏ผ (F ฮฒ รโ ฮฑ) exp-specification-sup-generalized : (๐ค โ ๐ฅ) โบ ฬ exp-specification-sup-generalized = ฮฑ โ ๐โ โ {I : ๐ฅ ฬ } โ โฅ I โฅ โ (ฮฒ : I โ Ordinal ๐ฅ) โ F (sup ฮฒ) ๏ผ sup (ฮป (i : Lift ๐ค I) โ F (ฮฒ (lower i))) module _ (ฮฑ : Ordinal ๐ค) (F : Ordinal ๐ค โ Ordinal ๐ค) where exp-specification-sup : ๐ค โบ ฬ exp-specification-sup = ฮฑ โ ๐โ โ preserves-inhabited-suprema F exp-specification-sup-from-generalized : exp-specification-sup-generalized ฮฑ F โ exp-specification-sup exp-specification-sup-from-generalized ฯ l {I} I-inh ฮฒ = ฯ l I-inh ฮฒ โ e where e : sup (F โ ฮฒ โ lower) ๏ผ sup (F โ ฮฒ) e = โด-antisym _ _ (sup-composition-โด lower (F โ ฮฒ)) (sup-composition-โด (lift ๐ค) (F โ ฮฒ โ lower))Added 29 January 2025 by Tom de Jong. Minor changes 15 May 2025 by Fredrik Nordvall Forsberg. Revised 14-16 October 2026 by Tom de Jong, following an observation by Nicolai Kraus.exp-specification-zero-sup-combined : ๐ค โบ ฬ exp-specification-zero-sup-combined = preserves-suprema-up-to-join F ๐โ exp-specification-sup-from-zero-sup-combined : exp-specification-zero-sup-combined โ exp-specification-sup exp-specification-sup-from-zero-sup-combined ฯ _ = prโ (rl-implication (preservation-of-suprema-equivalence F ๐โ) ฯ) exp-specification-zero-sup-combined-from-sup : ฮฑ โ ๐โ โ exp-specification-zero ฮฑ F ร exp-specification-sup โ exp-specification-zero-sup-combined exp-specification-zero-sup-combined-from-sup ฮฑ-nonzero (ฯโ , ฯโ) = lr-implication (preservation-of-suprema-equivalence F ๐โ) (ฯโ , (ฯโ ฮฑ-nonzero))In Ordinals.OperationsByCases, it is shown that the the combined zero supremum specification together with the successor specification uniquely specifies exponentiation with a nonzero base. The following special cases follow directly from the specification.module _ (ฮฑ : Ordinal ๐ค) (exp-ฮฑ : Ordinal ๐ค โ Ordinal ๐ค) (exp-zero : exp-specification-zero ฮฑ exp-ฮฑ) (exp-succ : exp-specification-succ ฮฑ exp-ฮฑ) where ๐โ-neutral-exp : exp-ฮฑ ๐โ ๏ผ ฮฑ ๐โ-neutral-exp = exp-ฮฑ ๐โ ๏ผโจ ap (exp-ฮฑ) (๐โ-left-neutral ๐โ โปยน) โฉ exp-ฮฑ (๐โ {๐ค} +โ ๐โ) ๏ผโจ exp-succ ๐โ โฉ exp-ฮฑ (๐โ) รโ ฮฑ ๏ผโจ ap (_รโ ฮฑ) exp-zero โฉ ๐โ รโ ฮฑ ๏ผโจ ๐โ-left-neutral-รโ ฮฑ โฉ ฮฑ โ exp-๐โ-is-รโ : exp-ฮฑ ๐โ ๏ผ ฮฑ รโ ฮฑ exp-๐โ-is-รโ = exp-ฮฑ (๐โ +โ ๐โ) ๏ผโจ exp-succ ๐โ โฉ exp-ฮฑ ๐โ รโ ฮฑ ๏ผโจ ap (_รโ ฮฑ) ๐โ-neutral-exp โฉ ฮฑ รโ ฮฑ โThe specification for suprema implies monotonicity.exp-is-monotone-in-exponent : (ฮฑ : Ordinal ๐ค) (exp-ฮฑ : Ordinal ๐ค โ Ordinal ๐ค) โ (ฮฑ โ ๐โ) โ exp-specification-sup ฮฑ exp-ฮฑ โ is-monotone-โด exp-ฮฑ exp-is-monotone-in-exponent ฮฑ exp-ฮฑ ฮฝ exp-sup = is-monotone-if-preserves-inhabited-suprema exp-ฮฑ (exp-sup ฮฝ)