foundations.Transport.md.

Version of Sunday, January 22, 2023, 10:42 PM

Powered by agda version 2.6.2.2-442c76b and pandoc 2.14.0.3


Investigations on graph-theoretical constructions in Homotopy type theory

Jonathan Prieto-Cubides j.w.w. Håkon Robbestad Gylterud

Department of Informatics

University of Bergen, Norway

{-# OPTIONS --without-K --exact-split #-}
module foundations.Transport where

open import foundations.BasicTypes public
open import foundations.AlgebraOnPaths public
transport
  :  {ℓ₁ ℓ₂ : Level} {A : Type ℓ₁}
   (C : A  Type ℓ₂) {a₁ a₂ : A}
   (p : a₁  a₂)
  -------------------------------
   (C a₁  C a₂)

transport C idp =  x  x)

More syntax:

tr     = transport
tr₁    = transport
transp = transport
coe
  :  { : Level} {A B : Type }
   A  B
  ---------
   (A  B)

coe p a = tr  X  X) p a

and its inverse:

!coe
  :  { : Level} {A B : Type }
   A  B
  ---------
   (B  A)

!coe p a = tr  X  X) (! p) a

Let be , , , and . Using the same notation from {% cite hottbook %}, one of the definitions for the Pathover type is as the shorthand for the path between the tr along a path of the point and the point in the fiber . That is, a pathover is a term that inhabit the type also denoted by .

PathOver
  :  {ℓ₁ ℓ₂ : Level} {A : Type ℓ₁}
   (B : A  Type ℓ₂) {a₁ a₂ : A}
   (b₁ : B a₁)  (α : a₁  a₂)  (b₂ : B a₂)
  --------------------------------------------
   Type ℓ₂

PathOver B b₁ α b₂ = tr B α b₁  b₂
infix 30 PathOver

syntax PathOver B b₁ α b₂  = b₁  b₂ [ B  α ]

Another notation:

≡Over = PathOver
infix 30 ≡Over
syntax ≡Over B b α b' = b  b' [ B / α ]
infixl 80 _·d_
_·d_
  :  {ℓ₁ ℓ₂ : Level} {A : Type ℓ₁} {B : A  Type ℓ₂}
   {a₁ a₂ a₃ : A} {p : a₁  a₂} {q : a₂  a₃}
   {b₁ : B a₁}{b₂ : B a₂} {b₃ : B a₃}
   (b₁  b₂ [ B / p ])
   (b₂  b₃ [ B / q ])
  -------------------------
   b₁  b₃ [ B / (p · q) ]

_·d_ {p = idp} {q = idp} idp idp = idp -- α β = α · β
pathover-comp = _·d_
_∙d_          = _·d_
tr₁-≡
  :  { : Level} {A : Type } {a₀ a₁ a₂ : A}
   (α : a₁  a₂)
   (ε : a₀  a₁)
   (δ : a₀  a₂)
   (ε  δ [  a'  a₀  a') / α ])
  ----------------------------------
   α  ! ε · δ

tr₁-≡ idp .idp idp idp = idp
tr₂
  :   {ℓ₁ ℓ₂ ℓ₃ : Level} {A : Type ℓ₁} {B : A  Type ℓ₂}
   (C : (a : A)  (B a  Type ℓ₃))
   {a₁ a₂ : A}{b₁ : B a₁}{b₂ : B a₂}
   (p : a₁  a₂)
   (q : b₁  b₂ [ B  p ])
   C a₁ b₁
  -----------------------
   C a₂ b₂

tr₂ C idp idp = id

Gylterud’s tr₂-commute:

:

tr₂-commute
  :  {ℓ₁ ℓ₂ ℓ₃ : Level} {A : Type ℓ₁} {B : A  Type ℓ₂}
   (C : (a : A)  (B a  Type ℓ₃))
   (D : (a : A)  (B a  Type ℓ₃))
   (f :  a b  C a b  D a b)
    {a a' b b'}
   (p : a  a')
   (q : b  b' [ B / p ])
  ---------------------------------------------------
    c  tr₂ D p q (f a b c)  f a' b' (tr₂ C p q c)

tr₂-commute C D f idp idp c = idp

Latest changes

(2022-12-28)(57c278b4) Last updated: 2021-09-16 15:00:00 by jonathan.cubides
(2022-07-06)(d3a4a8cf) minors by jonathan.cubides
(2022-01-26)(4aef326b) [ reports ] added some revisions by jonathan.cubides
(2021-12-20)(049db6a8) Added code of cubical experiments. by jonathan.cubides
(2021-12-20)(961730c9) [ html ] regular update by jonathan.cubides
(2021-12-20)(e0ef9faa) Fixed compilation and format, remove hidden parts by jonathan.cubides
(2021-12-20)(5120e5d1) Added cubical experiment to the master by jonathan.cubides
(2021-12-17)(828fdd0a) More revisions added for CPP by jonathan.cubides
(2021-12-15)(0d6a99d8) Fixed some broken links and descriptions by jonathan.cubides
(2021-12-15)(662a1f2d) [ .gitignore ] add by jonathan.cubides
(2021-12-15)(0630ce66) Minor fixes by jonathan.cubides
(2021-12-13)(04f10eba) Fixed a lot of details by jonathan.cubides
(2021-12-10)(24195c9f) [ .gitignore ] ignore .zip and arxiv related files by jonathan.cubides
(2021-12-09)(538d2859) minor fixes before dinner by jonathan.cubides
(2021-12-09)(36a1a69f) [ planar.pdf ] w.i.p revisions to share on arxiv first by jonathan.cubides