Tom de Jong, 9 January 2026.

The purpose of this module is to re-export the constructions of Various.Dedekind
but without any assumptions on ℚ and its strict order by fulfilling them using
Andrew Sneap's development of rational numbers.

\begin{code}

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

open import UF.FunExt
open import UF.PropTrunc
open import UF.Subsingletons

module Various.DedekindNonAxiomatic
        (pt  : propositional-truncations-exist)
        (fe  : Fun-Ext)
        (pe  : Prop-Ext)
       where

 open PropositionalTruncation pt

 open import MLTT.Spartan
 open import Notation.Order using (_<_ ; _≮_)
 open import Rationals.Order
 open import Rationals.Type

 open import Various.Dedekind pt fe pe
               _<ℚ_ ℚ<-is-prop ℚ<-irrefl
             public

 ℚ-order-criterion : (p q : )  q  p  p  q  p < q
 ℚ-order-criterion p q h₁ h₂ = κ (ℚ-trichotomous p q)
  where
   κ : (p < q) + (p  q) + (q < p)  p < q
   κ (inl l) = l
   κ (inr (inl e)) = 𝟘-elim (h₂ e)
   κ (inr (inr l)) = 𝟘-elim (h₁ l)

 ℚ-tightness : (p q : )  q  p  p  q  p  q
 ℚ-tightness p q h₁ h₂ = κ (ℚ-trichotomous p q)
  where
   κ : (p < q) + (p  q) + (q < p)  p  q
   κ (inl l) = 𝟘-elim (h₂ l)
   κ (inr (inl e)) = e
   κ (inr (inr l)) = 𝟘-elim (h₁ l)

 open ℚ-assumptions
       ℚ-dense
       ℚ<-trans
       ℚ-order-criterion
        p q r l   located-property p r q l )
       ℚ-tightness
        q   ℚ-no-least-element q )
        p   ℚ-no-max-element p )
       0ℚ
       1/2
       1ℚ
       0<1/2
       1/2<1
      public

\end{code}