Tom de Jong, Nicolai Kraus, Fredrik Nordvall Forsberg, Chuangjie Xu,
16 October 2025.

A collection of properties of exponentiation that did not nicely fit
the other files.

\begin{code}

{-# OPTIONS --safe --without-K --exact-split #-}

open import UF.Univalence
open import UF.PropTrunc
open import UF.Size

module Ordinals.Exponentiation.Miscellaneous
       (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 Fin.Type
open import MLTT.Spartan
open import Naturals.Exponentiation
open import Naturals.Order
open import Notation.Order

open import Ordinals.Arithmetic fe
open import Ordinals.Exponentiation.Supremum ua pt sr
open import Ordinals.Fin
open import Ordinals.Omega ua pt sr
open import Ordinals.OrdinalOfOrdinals ua
open import Ordinals.OrdinalOfOrdinalsSuprema ua
open import Ordinals.Type
open import Ordinals.Underlying

open PropositionalTruncation pt
open suprema pt sr

Fin-ordinal-_^โ‚’ฯ‰-is-ฯ‰_ : (k : โ„•) โ†’ 1 < k โ†’ Fin-ordinal k ^โ‚’ ฯ‰ ๏ผ ฯ‰
Fin-ordinal- k@(succ (succ k')) ^โ‚’ฯ‰-is-ฯ‰ p =
  ๐•œ ^โ‚’ ฯ‰                           ๏ผโŸจ ap (๐•œ ^โ‚’_) ฯ‰-is-sup-of-Fin โŸฉ
  ๐•œ ^โ‚’ (sup (ฮป n โ†’ Fin-ordinal n)) ๏ผโŸจ I โŸฉ
  sup (ฮป n โ†’ ๐•œ ^โ‚’ Fin-ordinal n)   ๏ผโŸจ II โŸฉ
  sup (ฮป n โ†’ Fin-ordinal (k โ„•^ n)) ๏ผโŸจ โŠด-antisym _ _ III IV โŸฉ
  sup (ฮป n โ†’ Fin-ordinal n)        ๏ผโŸจ ฯ‰-is-sup-of-Fin โปยน โŸฉ
  ฯ‰                                โˆŽ
   where
    ๐•œ = Fin-ordinal k

    I = ^โ‚’-satisfies-sup-specification ๐•œ ๐•œ-non-zero โˆฃ 0 โˆฃ Fin-ordinal
     where
      ๐•œ-non-zero : ๐•œ โ‰  ๐Ÿ˜โ‚’
      ๐•œ-non-zero eq = transport โŸจ_โŸฉ eq fzero

    II = ap sup (dfunext fe' ฮป n โ†’ Fin-ordinal-^โ‚’ ua pt sr (succ k') n โปยน)

    III : sup (ฮป n โ†’ Fin-ordinal (k โ„•^ n)) โŠด sup (ฮป n โ†’ Fin-ordinal n)
    III = sup-composition-โŠด (k โ„•^_) Fin-ordinal

    IV : sup (ฮป n โ†’ Fin-ordinal n) โŠด sup (ฮป n โ†’ Fin-ordinal (k โ„•^ n))
    IV = sup-monotone Fin-ordinal (Fin-ordinal โˆ˜ (k โ„•^_)) IVโ‚€
     where
      IVโ‚€ : (n : โ„•) โ†’ Fin-ordinal n โŠด Fin-ordinal (k โ„•^ n)
      IVโ‚€ n = Fin-ordinal-preserves-โ‰ค ua
               (exponent-smaller-than-exponential-for-base-at-least-two n k โ‹†)

\end{code}