Large globular types

Content created by Egbert Rijke.

Created on 2024-11-17.
Last modified on 2024-12-03.

{-# OPTIONS --guardedness #-}

module globular-types.large-globular-types where
Imports
open import foundation.dependent-pair-types
open import foundation.universe-levels

open import globular-types.globular-types

Idea

A large globular type is a hierarchy of types indexed by universe levels, equipped with a large binary relation valued in globular types.

Thus, a large globular type consists of a base hierarchy of types indexed by universe levels A called the -cells, and for every pair of -cells, a type of -cells, and for every pair of -cells a type of -cells, and so on ad infinitum. For every pair of -cells s and t, there is a type of -cells from s to t, and we say the -cells have source s and target t.

The standard interpretation of the higher cells of a globular type is as arrows from their source to their target. For instance, given two -cells x and y, two -cells f and g from x to y, two -cells H and K from f to g, and a -cell α from H to K, a common depiction would be

             f
       -------------
     /   //     \\   \
    /   //   α   \\   ∨
   x  H|| ≡≡≡≡≡≡> ||K  y.
    \   \\       //   ∧
     \   V       V   /
       -------------
             g

Definitions

The structure of a large globular type

record
  large-globular-structure
  {α : Level  Level} (β : Level  Level  Level) (A : (l : Level)  UU (α l))
  : UUω
  where
  field
    1-cell-large-globular-structure :
      {l1 l2 : Level} (x : A l1) (y : A l2)  UU (β l1 l2)
    globular-structure-1-cell-large-globular-structure :
      {l1 l2 : Level} (x : A l1) (y : A l2) 
      globular-structure (β l1 l2) (1-cell-large-globular-structure x y)

open large-globular-structure public

Iterated projections for large globular structures

module _
  {α : Level  Level} {β : Level  Level  Level}
  {A : (l : Level)  UU (α l)}
  (G : large-globular-structure β A)
  {l1 l2 : Level} {x : A l1} {y : A l2}
  (f g : 1-cell-large-globular-structure G x y)
  where

  2-cell-large-globular-structure : UU (β l1 l2)
  2-cell-large-globular-structure =
    1-cell-globular-structure
      ( globular-structure-1-cell-large-globular-structure G x y) f g

  globular-structure-2-cell-large-globular-structure :
    globular-structure (β l1 l2) 2-cell-large-globular-structure
  globular-structure-2-cell-large-globular-structure =
    globular-structure-1-cell-globular-structure
      ( globular-structure-1-cell-large-globular-structure G x y) f g

module _
  {α : Level  Level} {β : Level  Level  Level}
  {A : (l : Level)  UU (α l)}
  (G : large-globular-structure β A)
  {l1 l2 : Level} {x : A l1} {y : A l2}
  {f g : 1-cell-large-globular-structure G x y}
  (p q : 2-cell-large-globular-structure G f g)
  where

  3-cell-large-globular-structure : UU (β l1 l2)
  3-cell-large-globular-structure =
    1-cell-globular-structure
      ( globular-structure-2-cell-large-globular-structure G f g) p q

  globular-structure-3-cell-large-globular-structure :
    globular-structure (β l1 l2) 3-cell-large-globular-structure
  globular-structure-3-cell-large-globular-structure =
    globular-structure-1-cell-globular-structure
      ( globular-structure-2-cell-large-globular-structure G f g) p q

module _
  {α : Level  Level} {β : Level  Level  Level}
  {A : (l : Level)  UU (α l)}
  (G : large-globular-structure β A)
  {l1 l2 : Level} {x : A l1} {y : A l2}
  {f g : 1-cell-large-globular-structure G x y}
  {p q : 2-cell-large-globular-structure G f g}
  (H K : 3-cell-large-globular-structure G p q)
  where

  4-cell-large-globular-structure : UU (β l1 l2)
  4-cell-large-globular-structure =
    1-cell-globular-structure
      ( globular-structure-3-cell-large-globular-structure G p q) H K

  globular-structure-4-cell-large-globular-structure :
    globular-structure (β l1 l2) 4-cell-large-globular-structure
  globular-structure-4-cell-large-globular-structure =
    globular-structure-1-cell-globular-structure
      ( globular-structure-3-cell-large-globular-structure G p q) H K

The type of large globular types

record
  Large-Globular-Type (α : Level  Level) (β : Level  Level  Level) : UUω
  where
  field
    0-cell-Large-Globular-Type :
      (l : Level)  UU (α l)
    1-cell-globular-type-Large-Globular-Type :
      {l1 l2 : Level}
      (x : 0-cell-Large-Globular-Type l1)
      (y : 0-cell-Large-Globular-Type l2) 
      Globular-Type (β l1 l2) (β l1 l2)

open Large-Globular-Type public

make-Large-Globular-Type :
  {α : Level  Level} {β : Level  Level  Level} 
  {A : (l : Level)  UU (α l)} 
  large-globular-structure β A  Large-Globular-Type α β
0-cell-Large-Globular-Type
  ( make-Large-Globular-Type {A = A} B) =
  A
1-cell-globular-type-Large-Globular-Type
  ( make-Large-Globular-Type B)
  x y =
  make-Globular-Type
    ( globular-structure-1-cell-large-globular-structure B x y)

module _
  {α : Level  Level} {β : Level  Level  Level} (A : Large-Globular-Type α β)
  where

  1-cell-Large-Globular-Type :
    {l1 l2 : Level}
    (x : 0-cell-Large-Globular-Type A l1)
    (y : 0-cell-Large-Globular-Type A l2) 
    UU (β l1 l2)
  1-cell-Large-Globular-Type x y =
    0-cell-Globular-Type
      ( 1-cell-globular-type-Large-Globular-Type A x y)

  2-cell-Large-Globular-Type :
    {l1 l2 : Level}
    {x : 0-cell-Large-Globular-Type A l1}
    {y : 0-cell-Large-Globular-Type A l2}
    (f g : 1-cell-Large-Globular-Type x y)  UU (β l1 l2)
  2-cell-Large-Globular-Type =
    1-cell-Globular-Type ( 1-cell-globular-type-Large-Globular-Type A _ _)

  3-cell-Large-Globular-Type :
    {l1 l2 : Level}
    {x : 0-cell-Large-Globular-Type A l1}
    {y : 0-cell-Large-Globular-Type A l2}
    {f g : 1-cell-Large-Globular-Type x y}
    (s t : 2-cell-Large-Globular-Type f g)  UU (β l1 l2)
  3-cell-Large-Globular-Type =
    2-cell-Globular-Type ( 1-cell-globular-type-Large-Globular-Type A _ _)

  4-cell-Large-Globular-Type :
    {l1 l2 : Level}
    {x : 0-cell-Large-Globular-Type A l1}
    {y : 0-cell-Large-Globular-Type A l2}
    {f g : 1-cell-Large-Globular-Type x y}
    {s t : 2-cell-Large-Globular-Type f g}
    (u v : 3-cell-Large-Globular-Type s t)  UU (β l1 l2)
  4-cell-Large-Globular-Type =
    3-cell-Globular-Type ( 1-cell-globular-type-Large-Globular-Type A _ _)

  5-cell-Large-Globular-Type :
    {l1 l2 : Level}
    {x : 0-cell-Large-Globular-Type A l1}
    {y : 0-cell-Large-Globular-Type A l2}
    {f g : 1-cell-Large-Globular-Type x y}
    {s t : 2-cell-Large-Globular-Type f g}
    {u v : 3-cell-Large-Globular-Type s t}
    (a b : 4-cell-Large-Globular-Type u v)  UU (β l1 l2)
  5-cell-Large-Globular-Type =
    4-cell-Globular-Type ( 1-cell-globular-type-Large-Globular-Type A _ _)

  2-cell-globular-type-Large-Globular-Type :
    {l1 l2 : Level}
    {x : 0-cell-Large-Globular-Type A l1}
    {y : 0-cell-Large-Globular-Type A l2}
    (f g : 1-cell-Large-Globular-Type x y) 
    Globular-Type (β l1 l2) (β l1 l2)
  2-cell-globular-type-Large-Globular-Type =
    1-cell-globular-type-Globular-Type
      ( 1-cell-globular-type-Large-Globular-Type A _ _)

  3-cell-globular-type-Large-Globular-Type :
    {l1 l2 : Level}
    {x : 0-cell-Large-Globular-Type A l1}
    {y : 0-cell-Large-Globular-Type A l2}
    {f g : 1-cell-Large-Globular-Type x y}
    (s t : 2-cell-Large-Globular-Type f g) 
    Globular-Type (β l1 l2) (β l1 l2)
  3-cell-globular-type-Large-Globular-Type =
    2-cell-globular-type-Globular-Type
      ( 1-cell-globular-type-Large-Globular-Type A _ _)

  4-cell-globular-type-Large-Globular-Type :
    {l1 l2 : Level}
    {x : 0-cell-Large-Globular-Type A l1}
    {y : 0-cell-Large-Globular-Type A l2}
    {f g : 1-cell-Large-Globular-Type x y}
    {s t : 2-cell-Large-Globular-Type f g}
    (u v : 3-cell-Large-Globular-Type s t) 
    Globular-Type (β l1 l2) (β l1 l2)
  4-cell-globular-type-Large-Globular-Type =
    3-cell-globular-type-Globular-Type
      ( 1-cell-globular-type-Large-Globular-Type A _ _)

  5-cell-globular-type-Large-Globular-Type :
    {l1 l2 : Level}
    {x : 0-cell-Large-Globular-Type A l1}
    {y : 0-cell-Large-Globular-Type A l2}
    {f g : 1-cell-Large-Globular-Type x y}
    {s t : 2-cell-Large-Globular-Type f g}
    {u v : 3-cell-Large-Globular-Type s t}
    (a b : 4-cell-Large-Globular-Type u v) 
    Globular-Type (β l1 l2) (β l1 l2)
  5-cell-globular-type-Large-Globular-Type =
    4-cell-globular-type-Globular-Type
      ( 1-cell-globular-type-Large-Globular-Type A _ _)

  globular-structure-1-cell-Large-Globular-Type :
    {l1 l2 : Level}
    (x : 0-cell-Large-Globular-Type A l1)
    (y : 0-cell-Large-Globular-Type A l2) 
    globular-structure (β l1 l2) (1-cell-Large-Globular-Type x y)
  globular-structure-1-cell-Large-Globular-Type x y =
    globular-structure-0-cell-Globular-Type
      ( 1-cell-globular-type-Large-Globular-Type A x y)

  globular-structure-2-cell-Large-Globular-Type :
    {l1 l2 : Level}
    {x : 0-cell-Large-Globular-Type A l1}
    {y : 0-cell-Large-Globular-Type A l2}
    (f g : 1-cell-Large-Globular-Type x y) 
    globular-structure (β l1 l2) (2-cell-Large-Globular-Type f g)
  globular-structure-2-cell-Large-Globular-Type =
    globular-structure-1-cell-Globular-Type
      ( 1-cell-globular-type-Large-Globular-Type A _ _)

  globular-structure-3-cell-Large-Globular-Type :
    {l1 l2 : Level}
    {x : 0-cell-Large-Globular-Type A l1}
    {y : 0-cell-Large-Globular-Type A l2}
    {f g : 1-cell-Large-Globular-Type x y}
    (s t : 2-cell-Large-Globular-Type f g) 
    globular-structure (β l1 l2) (3-cell-Large-Globular-Type s t)
  globular-structure-3-cell-Large-Globular-Type =
    globular-structure-2-cell-Globular-Type
      ( 1-cell-globular-type-Large-Globular-Type A _ _)

  globular-structure-4-cell-Large-Globular-Type :
    {l1 l2 : Level}
    {x : 0-cell-Large-Globular-Type A l1}
    {y : 0-cell-Large-Globular-Type A l2}
    {f g : 1-cell-Large-Globular-Type x y}
    {s t : 2-cell-Large-Globular-Type f g}
    (u v : 3-cell-Large-Globular-Type s t) 
    globular-structure (β l1 l2) (4-cell-Large-Globular-Type u v)
  globular-structure-4-cell-Large-Globular-Type =
    globular-structure-3-cell-Globular-Type
      ( 1-cell-globular-type-Large-Globular-Type A _ _)

  large-globular-structure-0-cell-Large-Globular-Type :
    large-globular-structure β (0-cell-Large-Globular-Type A)
  1-cell-large-globular-structure
    large-globular-structure-0-cell-Large-Globular-Type =
    1-cell-Large-Globular-Type
  globular-structure-1-cell-large-globular-structure
    large-globular-structure-0-cell-Large-Globular-Type =
    globular-structure-1-cell-Large-Globular-Type

Recent changes