Skip to content

Ordinals.BuraliForti

Martin Escardo, 21th December 2020 - 18th February 2021.

In collaboration with  Marc Bezem, Thierry Coquand, Peter Dybjer.

The Burali-Forti argument in HoTT/UF with applications to the type of groups in a universe
------------------------------------------------------------------------------------------

Abstract. We use the Burali-Forti argument to show that, in HoTT/UF,
the embedding

    ๐“ค โ†’ ๐“คโบ.

of a universe ๐“ค into its successor ๐“คโบ is not equivalence.

Similarly, the embedding hSet ๐“ค โ†’ hSet ๐“คโบ of the type of sets of ๐“ค
into that of ๐“คโบ in not an equivalence either.  We also establish this
for the types of magmas, monoids and groups, where the case of groups
requires considerable more work (invoked here but performed in the
modules FreeGroup.lagda and FreeGroupOfLargeLocallySmallSet.lagda).

We work with ordinals as defined in the HoTT book for that purpose.
https://homotopytypetheory.org/book/

Introduction
------------

Univalence is used three times (at least):

    1. to know that the type of ordinals is a 0-type and hence all
       ordinals in a universe form an ordinal in the next universe,

    2. to develop the Burali-Forti argument that no ordinal in the
       universe ๐“ค is equivalent to the ordinal of ordinals in ๐“ค.

    3. to resize down the values of the order relation of the ordinal
       of ordinals, to conclude that the ordinal of ordinals is large.

There are also a number of uses of univalence via functional and
propositional extensionality.

Propositional resizing is not needed, thanks to (3).

An ordinal in a universe ๐“ค is a type X : ๐“ค equipped with a relation

    _โ‰บ_ : X โ†’ X โ†’ ๐“ค

required to be

    1. proposition-valued,

    2. transitive,

    3. extensional (any two points with same predecessors are the same),

    4. well founded (every element is accessible, or, equivalently,
       the principle of transfinite induction holds).

The HoTT book additionally requires X to be a set, but this follows
automatically from the above requirements for the order.

We denote by

    Ordinal ๐“ค

the type of ordinals in a universe ๐“ค.

The underlying type of an ordinal ฮฑ is denoted by โŸจ ฮฑ โŸฉ and its order
relation is denoted by _โ‰บโŸจ ฮฑ โŸฉ_.

Equivalence of ordinals,

    _โ‰ƒโ‚’_ : Ordinal ๐“ค โ†’ Ordinal ๐“ฅ โ†’ ๐“ค โŠ” ๐“ฅ,

means that that there is an equivalence of the underlying types that
preserves and reflects order.

For ordinals ฮฑ and ฮฒ in the *same* universe, their identity type ฮฑ ๏ผ ฮฒ
is canonically equivalent to the ordinal-equivalence type ฮฑ โ‰ƒโ‚’ ฮฒ,
by univalence.

The lower set of a point x : โŸจ ฮฑ โŸฉ is written ฮฑ โ†“ x, and is itself an
ordinal under the inherited order. The ordinals in a universe ๐“ค form
an ordinal in the successor universe ๐“คโบ, denoted by

    OrdinalOfOrdinals ๐“ค : Ordinal ๐“คโบ.

Its order relation is denoted by _โŠฒ_ and is defined by

    ฮฑ โŠฒ ฮฒ = ฮฃ b ๊ž‰ โŸจ ฮฒ โŸฉ , ฮฑ ๏ผ (ฮฒ โ†“ b).

This order has type

    _โŠฒ_ : Ordinal ๐“ค โ†’ Ordinal ๐“ค โ†’ ๐“คโบ,

as required for it to make the type Ordinal ๐“ค into an ordinal in the
next universe.

But, by univalence, it is pointwise equivalent to the "resized down"
order

    _โŠฒโป_ : Ordinal ๐“ค โ†’ Ordinal ๐“ค โ†’ ๐“ค

defined by

    ฮฑ โŠฒโป ฮฒ = ฮฃ b ๊ž‰ โŸจ ฮฒ โŸฉ , ฮฑ โ‰ƒโ‚€ (ฮฒ โ†“ b).

The existence of such a resized-down order is crucial for the
corollaries of Burali-Forti, but not for Burali-Forti itself.

Agda formulation of the Burali-Forti argument and its corollaries
-----------------------------------------------------------------


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


As discussed above, we assume univalence as a hypothesis:


open import UF.Univalence

module Ordinals.BuraliForti
       (ua : Univalence)
       where

open import UF.Subsingletons
open import UF.Retracts
open import UF.Equiv hiding (_โ‰…_)
open import UF.UniverseEmbedding
open import UF.UA-FunExt
open import UF.FunExt
open import UF.Size

private

 fe : FunExt
 fe = Univalence-gives-FunExt ua

 fe' : Fun-Ext
 fe' = Univalence-gives-Fun-Ext ua

 pe : Prop-Ext
 pe = Univalence-gives-Prop-Ext ua

open import MLTT.Spartan

open import Ordinals.Arithmetic fe
open import Ordinals.Equivalence
open import Ordinals.Notions
open import Ordinals.OrdinalOfOrdinals ua
open import Ordinals.Type
open import Ordinals.WellOrderTransport


Our version of Burali-Forti says that there is no ordinal in the
universe ๐“ค equivalent to the ordinal of all ordinals in the universe ๐“ค.


Burali-Forti : ยฌ (ฮฃ ฮฑ ๊ž‰ Ordinal ๐“ค , ฮฑ โ‰ƒโ‚’ OO ๐“ค)
Burali-Forti {๐“ค} (ฮฑ , ๐•—) = ฮณ
 where
  a : OO ๐“ค โ‰ƒโ‚’ ฮฑ
  a = โ‰ƒโ‚’-sym ฮฑ (OO ๐“ค) ๐•—

  b : ฮฑ โ‰ƒโ‚’ (OO ๐“ค โ†“ ฮฑ)
  b = ordinals-in-OO-are-lowersets-of-OO ฮฑ

  c : OO ๐“ค โ‰ƒโ‚’ (OO ๐“ค โ†“ ฮฑ)
  c = โ‰ƒโ‚’-trans (OO ๐“ค) ฮฑ (OO ๐“ค โ†“ ฮฑ) a b

  d : OO ๐“ค ๏ผ (OO ๐“ค โ†“ ฮฑ)
  d = eqtoidโ‚’ (ua (๐“ค โบ)) fe' (OO ๐“ค) (OO ๐“ค โ†“ ฮฑ) c

  e : OO ๐“ค โŠฒ OO ๐“ค
  e = ฮฑ , d

  ฮณ : ๐Ÿ˜
  ฮณ = irreflexive _โŠฒ_ (OO ๐“ค) (โŠฒ-is-well-founded (OO ๐“ค)) e


Some corollaries follow.

The main work is in the first one, which says that the type of all
ordinals is large, happens in the function transfer-structure, which
is developed in the module OrdinalsWellOrderTransport, where the
difficulties are explained.

As discussed above, the type OO ๐“ค of ordinals in the
universe ๐“ค lives in the next universe ๐“คโบ. We say that a type in the
universe ๐“คโบ is small if it is equivalent to some type in ๐“ค, and large
otherwise. This is defined in the module UF.Size.

Our first corollary of Burali-Forti is that the type of ordinals is
large, as expected:


the-type-of-ordinals-is-large : is-large (Ordinal ๐“ค)
the-type-of-ordinals-is-large {๐“ค} (X , ๐•—) = ฮณ
 where
  ฮด : ฮฃ s ๊ž‰ OrdinalStructure X , (X , s) โ‰ƒโ‚’ OO ๐“ค
  ฮด = transfer-structure fe {๐“ค} {๐“ค โบ} X (OO ๐“ค)
       ๐•— (_โŠฒโป_ , โŠฒ-is-equivalent-to-โŠฒโป)

  ฮณ : ๐Ÿ˜
  ฮณ = Burali-Forti ((X , prโ‚ ฮด) , prโ‚‚ ฮด)


It is crucial in the above proof, in order to be able to transfer the
ordinal structure of the ordinal of ordinals to the type X along the
hypothetical equivalence ๐•— : X โ‰ƒ Ordinal ๐“ค, that the order _โŠฒ_ has a
resized-down version _โŠฒโป_ , as mentioned above.

By a *universe embedding* we mean a map

    f : ๐“ค โ†’ ๐“ฅ

of universes such that

    f X โ‰ƒ X.

Of course, any two universe embeddings are equal, by univalence, so
that there is at most one universe embedding.

Moreover, universe embeddings are automatically type embeddings
(meaning that they have subsingleton fibers), as shown in the module
UF.UniverseEmbeddings.

So the following says that the universe ๐“คโบ is strictly larger than the
universe ๐“ค:


successive-universe-embeddings-dont-have-sections : (f : ๐“ค ฬ‡ โ†’ ๐“ค โบ ฬ‡ )
                                                  โ†’ is-universe-embedding f
                                                  โ†’ ยฌ has-section f
successive-universe-embeddings-dont-have-sections {๐“ค} f i (s , ฮท) = ฮณ
 where
  X : ๐“ค ฬ‡
  X = s (Ordinal ๐“ค)

  p : f X ๏ผ Ordinal ๐“ค
  p = ฮท (Ordinal ๐“ค)

  e : X โ‰ƒ Ordinal ๐“ค
  e = transport (X โ‰ƒ_) p (โ‰ƒ-sym (i X))

  ฮณ : ๐Ÿ˜
  ฮณ = the-type-of-ordinals-is-large (X , e)


successive-universe-embeddings-are-not-equivs : (f : ๐“ค ฬ‡ โ†’ ๐“ค โบ ฬ‡ )
                                              โ†’ is-universe-embedding f
                                              โ†’ ยฌ is-equiv f
successive-universe-embeddings-are-not-equivs f i j =
  successive-universe-embeddings-dont-have-sections f i
   (equivs-have-sections f j)


In particular, we have the following, where

  Lift {๐“ค} (๐“ค โบ) : ๐“ค โ†’ ๐“คโบ

is the canonical embedding of the universe ๐“ค into the successor
universe ๐“คโบ, defined in the module UF.UniverseEmbedding:


Lift-doesnt-have-section : ยฌ has-section (Lift {๐“ค} (๐“ค โบ))
Lift-doesnt-have-section {๐“ค} h =
  successive-universe-embeddings-dont-have-sections
   (Lift (๐“ค โบ)) (ฮป X โ†’ Lift-is-universe-embedding (๐“ค โบ) X) h

Lift-is-not-equiv : ยฌ is-equiv (Lift {๐“ค} (๐“ค โบ))
Lift-is-not-equiv {๐“ค} e = Lift-doesnt-have-section
                           (equivs-have-sections (Lift (๐“ค โบ)) e)

For a universe ๐“ค, we define the type

    hSet ๐“ค : ๐“คโบ

of sets in the universe ๐“ค by

    hSet ๐“ค = ฮฃ A ๊ž‰ ๐“ค ฬ‡ , is-set A.

By an *hSet embedding* we mean a map

    f : hSet ๐“ค โ†’ hSet ๐“ฅ

such that the underlying type of f ๐• is equivalent to the
underlying type of ๐•, that is,

    prโ‚ (f ๐•) โ‰ƒ prโ‚ ๐•,

for all ๐• : hSet ๐“ค.

Any hSet-embedding is a type embedding, and any two hSet-embeddings
are equal by univalence. The map

    Lift-hSet {๐“ค} ๐“ฅ : hSet ๐“ค โ†’ hSet (๐“ค โŠ” ๐“ฅ)

is the unique hSet embedding, given by

    Lift-hSet ๐“ฅ (X , i) = Lift ๐“ฅ X , Lift-is-set X i)

where

    Lift-is-set X i : is-set (Lift ๐“ฅ X)

is derived from the fact that Lift ๐“ฅ X โ‰ƒ X using i : is-set X.


open import UF.Sets

Lift-hSet-doesnt-have-section : ยฌ has-section (Lift-hSet {๐“ค} (๐“ค โบ))
Lift-hSet-doesnt-have-section {๐“ค} (s , ฮท) = ฮณ
 where
  ๐• : hSet (๐“ค โบ)
  ๐• = (Ordinal ๐“ค , (the-type-of-ordinals-is-a-set (ua ๐“ค) fe'))

  ๐• : hSet ๐“ค
  ๐• = s ๐•

  X : ๐“ค ฬ‡
  X = prโ‚ ๐•

  have : (Lift (๐“ค โบ) X , _) ๏ผ ๐•
  have = ฮท ๐•

  p : Lift (๐“ค โบ) X ๏ผ Ordinal ๐“ค
  p = ap prโ‚ (ฮท ๐•)

  d : X โ‰ƒ Lift (๐“ค โบ) X
  d = โ‰ƒ-sym (Lift-is-universe-embedding (๐“ค โบ) X)

  e : X โ‰ƒ Ordinal ๐“ค
  e = transport (X โ‰ƒ_) p d

  ฮณ : ๐Ÿ˜
  ฮณ = the-type-of-ordinals-is-large (X , e)


Finally, the following says that the type of sets in ๐“คโบ is strictly
larger than that of sets in ๐“ค, as we wanted to show:


Lift-hSet-is-not-equiv : ยฌ is-equiv (Lift-hSet {๐“ค} (๐“ค โบ))
Lift-hSet-is-not-equiv {๐“ค} e = Lift-hSet-doesnt-have-section
                                (equivs-have-sections (Lift-hSet (๐“ค โบ)) e)

This doesn't show that ยฌ (hSet ๐“ค โ‰ƒ hSet ๐“คโบ), as in principle there may
be an equivalence that is not an hSet embedding in the sense defined
above, which we leave as an open problem. Notice that excluded middle,
which is not assumed but is consistent, implies that there is an
automorphism of hSet ๐“ค that swaps the empty set ๐Ÿ˜ and the one-point
set ๐Ÿ™ and leaves all the other sets unchanged, so that potentially
there are automorphisms of hSet ๐“ค that are not hSet embeddings. We
don't know whether such a rogue equivalence hSet ๐“ค โ‰ƒ hSet ๐“คโบ exists,
but this shouldn't be the case, of course.

Similarly, the above also doesn't show that ยฌ (๐“ค โ‰ƒ ๐“คโบ), but we know
that this is the case by a different argument, which generalizes
Thierry Coquand's "paradox of trees", developed in the module
LawvereFPT.

We also wish to know that e.g. the types of groups in the universes ๐“ค
and ๐“คโบ are not equivalent.

Marc Bezem conjectures that ยฌ (ฮฃ A : ๐“ค ฬ‡ , A โ‰ƒ โˆฅ ๐“ค ฬ‡ โˆฅโ‚€), that is, there
is no type in ๐“ค equivalent to the set truncation of ๐“ค.

Added 18th January 2021. The following generalizes
Lift-hSet-is-not-equiv.

In the following, A generalizes is-set, and A-lifts generalizes the
fact that the lift of a set is a set.


module _ (A : {๐“ค : Universe} โ†’ ๐“ค ฬ‡ โ†’ ๐“ค ฬ‡ )
         (A-lifts : โˆ€ {๐“ค} ๐“ฅ {X : ๐“ค ฬ‡ } โ†’ A X โ†’ A (Lift ๐“ฅ X))
         (type-of-ordinals-is-A : {๐“ค : Universe} โ†’ A (Ordinal ๐“ค))
       where

 ๐“ : (๐“ค : Universe) โ†’ ๐“ค โบ ฬ‡
 ๐“ ๐“ค = ฮฃ X ๊ž‰ ๐“ค ฬ‡ , A X

 Lift-๐“ : โˆ€ {๐“ค} ๐“ฅ โ†’ ๐“ ๐“ค โ†’ ๐“ (๐“ค โŠ” ๐“ฅ)
 Lift-๐“ {๐“ค} ๐“ฅ (X , a) = Lift ๐“ฅ X , A-lifts ๐“ฅ a

 Lift-๐“-doesnt-have-section : ยฌ has-section (Lift-๐“ {๐“ค} (๐“ค โบ))
 Lift-๐“-doesnt-have-section {๐“ค} (s , ฮท) = ฮณ
  where
   ๐• : ๐“ (๐“ค โบ)
   ๐• = (Ordinal ๐“ค , type-of-ordinals-is-A)

   ๐• : ๐“ ๐“ค
   ๐• = s ๐•

   X : ๐“ค ฬ‡
   X = prโ‚ ๐•

   have : (Lift (๐“ค โบ) X , _) ๏ผ ๐•
   have = ฮท ๐•

   p : Lift (๐“ค โบ) X ๏ผ Ordinal ๐“ค
   p = ap prโ‚ (ฮท ๐•)

   d : X โ‰ƒ Lift (๐“ค โบ) X
   d = โ‰ƒ-sym (Lift-is-universe-embedding (๐“ค โบ) X)

   e : X โ‰ƒ Ordinal ๐“ค
   e = transport (X โ‰ƒ_) p d

   ฮณ : ๐Ÿ˜
   ฮณ = the-type-of-ordinals-is-large (X , e)

 Lift-๐“-is-not-equiv : ยฌ is-equiv (Lift-๐“ {๐“ค} (๐“ค โบ))
 Lift-๐“-is-not-equiv {๐“ค} e = Lift-๐“-doesnt-have-section
                               (equivs-have-sections (Lift-๐“ (๐“ค โบ)) e)

Examples of the above situation include hSets, pointed types,
โˆž-magmas, magmas and monoids:


module examples where


hSet again:


 Lift-hSet-is-not-equiv-bis : ยฌ is-equiv (Lift-hSet {๐“ค} (๐“ค โบ))
 Lift-hSet-is-not-equiv-bis {๐“ค} = Lift-๐“-is-not-equiv
                                    is-set
                                    (ฮป ๐“ฅ {X} โ†’ Lift-is-set ๐“ฅ X)
                                    (the-type-of-ordinals-is-a-set (ua _) fe')

Pointed types:


 PointedType : (๐“ค : Universe) โ†’ ๐“ค โบ ฬ‡
 PointedType ๐“ค = ฮฃ X ๊ž‰ ๐“ค ฬ‡ , X

 Lift-PointedType : โˆ€ {๐“ค} ๐“ฅ โ†’ PointedType ๐“ค โ†’ PointedType (๐“ค โŠ” ๐“ฅ)
 Lift-PointedType {๐“ค} ๐“ฅ (X , x) = Lift ๐“ฅ X , lift ๐“ฅ x


In the following, A is the identity function, and to prove that the
ordinal or ordinals is pointed, we choose the ordinal zero:


 Lift-PointedType-is-not-equiv : ยฌ is-equiv (Lift-PointedType {๐“ค} (๐“ค โบ))
 Lift-PointedType-is-not-equiv {๐“ค} = Lift-๐“-is-not-equiv id lift ๐Ÿ˜โ‚’


โˆž-magmas.

In the following, A is magma structure:


 โˆž-Magma-structure : ๐“ค ฬ‡ โ†’ ๐“ค ฬ‡
 โˆž-Magma-structure X = X โ†’ X โ†’ X

 โˆž-Magma : (๐“ค : Universe) โ†’ ๐“ค โบ ฬ‡
 โˆž-Magma ๐“ค = ฮฃ X ๊ž‰ ๐“ค ฬ‡ , โˆž-Magma-structure X

 lift-โˆž-Magma-structure : โˆ€ ๐“ฅ {X : ๐“ค ฬ‡ }
                        โ†’ โˆž-Magma-structure X
                        โ†’ โˆž-Magma-structure (Lift ๐“ฅ X)
 lift-โˆž-Magma-structure ๐“ฅ _ยท_ x y = lift ๐“ฅ (lower x ยท lower y)

 Lift-โˆž-Magma : โˆ€ {๐“ค} ๐“ฅ โ†’ โˆž-Magma ๐“ค โ†’ โˆž-Magma (๐“ค โŠ” ๐“ฅ)
 Lift-โˆž-Magma {๐“ค} ๐“ฅ (X , _ยท_) = Lift ๐“ฅ X , lift-โˆž-Magma-structure ๐“ฅ _ยท_

 Lift-โˆž-Magma-is-not-equiv : ยฌ is-equiv (Lift-โˆž-Magma {๐“ค} (๐“ค โบ))
 Lift-โˆž-Magma-is-not-equiv {๐“ค} = Lift-๐“-is-not-equiv
                                   โˆž-Magma-structure
                                   lift-โˆž-Magma-structure
                                   _+โ‚’_

Magmas:


 Magma-structure : ๐“ค ฬ‡ โ†’ ๐“ค ฬ‡
 Magma-structure X = is-set X ร— (X โ†’ X โ†’ X)

 Magma : (๐“ค : Universe) โ†’ ๐“ค โบ ฬ‡
 Magma ๐“ค = ฮฃ X ๊ž‰ ๐“ค ฬ‡ , Magma-structure X

 lift-Magma-structure : โˆ€ ๐“ฅ {X : ๐“ค ฬ‡ }
                        โ†’ Magma-structure X
                        โ†’ Magma-structure (Lift ๐“ฅ X)
 lift-Magma-structure ๐“ฅ {X} (X-is-set , _ยท_) = Lift-is-set ๐“ฅ X X-is-set ,
                                               ฮป x y โ†’ lift ๐“ฅ (lower x ยท lower y)

 Lift-Magma : โˆ€ {๐“ค} ๐“ฅ โ†’ Magma ๐“ค โ†’ Magma (๐“ค โŠ” ๐“ฅ)
 Lift-Magma {๐“ค} ๐“ฅ (X , _ยท_) = Lift ๐“ฅ X , lift-Magma-structure ๐“ฅ _ยท_

 Lift-Magma-structure-is-not-equiv : ยฌ is-equiv (Lift-Magma {๐“ค} (๐“ค โบ))
 Lift-Magma-structure-is-not-equiv {๐“ค} =
  Lift-๐“-is-not-equiv
    Magma-structure
    lift-Magma-structure
    (the-type-of-ordinals-is-a-set (ua _) fe' , _+โ‚’_)


Monoids:


 open import Ordinals.AdditionProperties ua

 monoid-structure : ๐“ค ฬ‡ โ†’ ๐“ค ฬ‡
 monoid-structure X = (X โ†’ X โ†’ X) ร— X

 monoid-axioms : (X : ๐“ค ฬ‡ ) โ†’ monoid-structure X โ†’ ๐“ค ฬ‡
 monoid-axioms X (_ยท_ , e) = is-set X
                           ร— left-neutral  e _ยท_
                           ร— right-neutral e _ยท_
                           ร— associative     _ยท_


We will consider A = Monoid-structure (with capital M), and
๐“ = Monoid.


 Monoid-structure : ๐“ค ฬ‡ โ†’ ๐“ค ฬ‡
 Monoid-structure X = ฮฃ s ๊ž‰ monoid-structure X , monoid-axioms X s

 Monoid : (๐“ค : Universe) โ†’ ๐“ค โบ ฬ‡
 Monoid ๐“ค = ฮฃ X ๊ž‰ ๐“ค ฬ‡ , Monoid-structure X

 lift-Monoid-structure : โˆ€ ๐“ฅ {X : ๐“ค ฬ‡ }
                       โ†’ Monoid-structure X
                       โ†’ Monoid-structure (Lift ๐“ฅ X)
 lift-Monoid-structure ๐“ฅ {X} ((_ยท_ , e) , X-is-set , l , r , a) = ฮณ
  where
   X' = Lift ๐“ฅ X

   _ยท'_ : X' โ†’ X' โ†’ X'
   x' ยท' y' = lift ๐“ฅ (lower x' ยท lower y')

   e' : X'
   e' = lift ๐“ฅ e

   l' : left-neutral e' _ยท'_
   l' x' = ap (lift ๐“ฅ) (l (lower x'))

   r' : right-neutral e' _ยท'_
   r' x' = ap (lift ๐“ฅ) (r (lower x'))

   a' : associative _ยท'_
   a' x' y' z' = ap (lift ๐“ฅ) (a (lower x') (lower y') (lower z'))

   ฮณ : Monoid-structure (Lift ๐“ฅ X)
   ฮณ = (_ยท'_ , e') , Lift-is-set ๐“ฅ X X-is-set , l' , r' , a'

 Lift-Monoid : โˆ€ {๐“ค} ๐“ฅ โ†’ Monoid ๐“ค โ†’ Monoid (๐“ค โŠ” ๐“ฅ)
 Lift-Monoid {๐“ค} ๐“ฅ (X , _ยท_) = Lift ๐“ฅ X , lift-Monoid-structure ๐“ฅ _ยท_

 type-of-ordinals-has-Monoid-structure : {๐“ค : Universe} โ†’ Monoid-structure (Ordinal ๐“ค)
 type-of-ordinals-has-Monoid-structure {๐“ค} = (_+โ‚’_ , ๐Ÿ˜โ‚’) ,
                                             (the-type-of-ordinals-is-a-set (ua ๐“ค) fe'),
                                             ๐Ÿ˜โ‚’-left-neutral ,
                                             ๐Ÿ˜โ‚’-right-neutral ,
                                             +โ‚’-assoc

 Lift-Monoid-structure-is-not-equiv : ยฌ is-equiv (Lift-Monoid {๐“ค} (๐“ค โบ))
 Lift-Monoid-structure-is-not-equiv {๐“ค} = Lift-๐“-is-not-equiv
                                            Monoid-structure
                                            lift-Monoid-structure
                                            type-of-ordinals-has-Monoid-structure

Added 18 Feb 2021. The same is true for groups, using the following
fact and a fact proved in the module FreeGroupOfLargeLocallySmallSet.
We need to assume that propositional truncations exist.


open import Groups.Type
open import Groups.Large
open import UF.PropTrunc

module _ (pt : propositional-truncations-exist) where

 there-is-a-large-group : ฮฃ F ๊ž‰ Group (๐“ค โบ) , ((G : Group ๐“ค) โ†’ ยฌ (G โ‰… F))
 there-is-a-large-group {๐“ค} = large-group-with-no-small-copy fe' pe pt
                               (Ordinal ๐“ค ,
                                (the-type-of-ordinals-is-a-set (ua ๐“ค) fe') ,
                                the-type-of-ordinals-is-large ,
                                the-type-of-ordinals-is-locally-small (ua ๐“ค) fe')

And from this it of course follows that the embedding of the type of
groups of one universe into that of its successor universe is not an
equivalence:


 Lift-Group-structure-is-not-equiv : ยฌ is-equiv (Lift-Group {๐“ค} (๐“ค โบ))
 Lift-Group-structure-is-not-equiv {๐“ค} e = ฮณ there-is-a-large-group
  where
   Lower-Group : Group (๐“ค โบ) โ†’ Group ๐“ค
   Lower-Group = inverse (Lift-Group (๐“ค โบ)) e

   ฮณ : (ฮฃ F ๊ž‰ Group (๐“ค โบ) , ((G : Group ๐“ค) โ†’ ยฌ (G โ‰… F))) โ†’ ๐Ÿ˜
   ฮณ (F , ฯ•) = ฯ• G i
     where
      G : Group ๐“ค
      G = Lower-Group F

      F' : Group (๐“ค โบ)
      F' = Lift-Group (๐“ค โบ) G

      p : F' ๏ผ F
      p = inverses-are-sections (Lift-Group (๐“ค โบ)) e F

      j : G โ‰… F'
      j = โ‰…-sym F' G (Lifted-Group-is-isomorphic G)

      i : G โ‰… F
      i = transport (G โ‰…_) p j