Martin Escardo, 4th October 2018
We worked with ordinals with top in order to be able to construct the
sum of an ordinal-indexed family of ordinals, with the lexicographic
order. Here we justify that some such restriction is needed.
This implements the following email communication:
On 22/07/18 06:17, Michael Shulman wrote:
> Ah, I see. In fact I think "every subset of an ordinal is an
> ordinal" is equivalent to LEM as follows: consider the ordinal Prop,
> with (P < Q) = (~P /\ Q) as before, and consider the subset A of all
> P such that ~~P is true. Then False \notin A, so given any Q \in A,
> we cannot have any P \in A with P < Q. Thus the hypothesis of
> extensionality for A is vacuous, so to say that A is extensional is
> to say that it is a prop. But True \in A, so this is to say
> that ~~P -> (P = True), i.e. DNE holds, hence LEM.
>
> On Fri, Jul 20, 2018 at 3:42 PM, Martin Escardo <m.escardo@cs.bham.ac.uk> wrote:
>> On 20/07/18 23:31, Michael Shulman wrote:
>>> Do you know of a model in which preservation of extensionality
>>> definitely fails (or a proof of a taboo from it)?
>>
>> No. But here is an idea that made me to give up trying to prove
>> extensionality of the lexicographic order on Sigma.
>>
>> Any prop is an ordinal in a unique way (with the empty order).
>>
>> Now suppose that X is an ordinal, and consider P:X->U prop
>> valued. Then the lexicographic order on the sum Sigma (x:X),P (x) is
>> nothing but a subset of X. While classically the subset will remain
>> extensional (for if we have x and y not equal, then either x<y or
>> y<x, and hence they will not have the same lower set),
>> constructively this seems very dubious.
\begin{code}
{-# OPTIONS --safe --without-K #-}
open import MLTT.Spartan
open import UF.FunExt
open import UF.Subsingletons
module Ordinals.ShulmanTaboo
(fe : FunExt)
(pe : propext 𝓤₀)
where
open import Ordinals.Type
open import Ordinals.OrdinalOfTruthValues fe 𝓤₀ pe
open import Ordinals.Notions
open import Ordinals.Underlying
open import UF.Base
open import UF.ClassicalLogic
open import UF.SubtypeClassifier
open import UF.Subsingletons-FunExt
fe₀ : funext 𝓤₀ 𝓤₀
fe₀ = fe 𝓤₀ 𝓤₀
\end{code}
The type of truth values is Ω, following topos-theoretic notation, and
the ordinal of truth values, ordered by p < q iff p = ⊥ and q = ⊤, is
denoted by Ωₒ (the subscript is the letter "o", for "ordinal", and not
the number zero). This is parametrized by an arbitrary universe, which
in this module is instantiated to 𝓤₀.
\begin{code}
X : 𝓤₁ ̇
X = Σ p ꞉ ⟨ Ωₒ ⟩ , ¬ (p = ⊥)
recall-that : is-extensional (underlying-order Ωₒ)
recall-that = Extensionality Ωₒ
\end{code}
However, the extensionality of the restriction of the underlying order
of the ordinal Ωₒ of truth values to X is a constructive taboo (it
implies excluded middle), as shown by Shulman in the message quoted
above:
\begin{code}
_≺_ : X → X → 𝓤₁ ̇
(p , _) ≺ (q , _) = p ≺⟨ Ωₒ ⟩ q
shulmans-taboo : is-extensional _≺_ → EM 𝓤₀
shulmans-taboo e = DNE-gives-EM fe₀ δ
where
i : is-prop X
i x y = e x y f g
where
f : (z : X) → z ≺ x → z ≺ y
f (p , φ) (a , _) = 𝟘-elim (φ a)
g : (z : X) → z ≺ y → z ≺ x
g (q , ψ) (b , _) = 𝟘-elim (ψ b)
δ : (P : 𝓤₀ ̇ ) → is-prop P → ¬¬ P → P
δ P j φ = Idtofun s φ
where
p q : X
p = (¬¬ P , negations-are-props fe₀) ,
(λ r → Idtofun (ap pr₁ r) φ)
q = (P , j) ,
(λ r → φ (Idtofun (ap pr₁ r)))
r : p = q
r = i p q
s : ¬¬ P = P
s = ap (pr₁ ∘ pr₁) r
\end{code}
TODO. Use this to show that if the sum of any ordinal-indexed family
of ordinals is an ordinal under the lexicographic ordering, then
excluded middle holds, as explained in the message quoted
above. (Routine, tedious.)