Martin Escardo 3rd January 2023 Type-class for notation for underlying set and order of various kinds of ordinals. \begin{code} {-# OPTIONS --without-K --exact-split --safe --auto-inline #-} module Ordinals.Underlying where open import MLTT.Spartan open import Ordinals.Notions record Underlying {𝓤} (O : 𝓤 ⁺ ̇ ) : 𝓤 ⁺ ̇ where field ⟨_⟩ : O → 𝓤 ̇ underlying-order : (α : O) → ⟨ α ⟩ → ⟨ α ⟩ → 𝓤 ̇ underlying-weak-order : (α : O) → ⟨ α ⟩ → ⟨ α ⟩ → 𝓤 ̇ underlying-weak-order α x y = ¬ (underlying-order α y x) underlying-porder : (α : O) → ⟨ α ⟩ → ⟨ α ⟩ → 𝓤 ̇ underlying-porder α = extensional-po (underlying-order α) syntax underlying-order α x y = x ≺⟨ α ⟩ y syntax underlying-weak-order α x y = x ≾⟨ α ⟩ y syntax underlying-porder α x y = x ≼⟨ α ⟩ y open Underlying {{...}} public \end{code}