foundations.UnivalenceTransport.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.UnivalenceTransport where

open import foundations.TransportLemmas
open import foundations.EquivalenceType

open import foundations.HomotopyType
open import foundations.FunExtAxiom
open import foundations.QuasiinverseType
open import foundations.QuasiinverseLemmas

open import foundations.UnivalenceAxiom

transport-family-ap
  :  {ℓ₁ ℓ₂ : Level} {A : Type ℓ₁}
   (B : A  Type ℓ₂)
   {x y : A}
   (p : x  y)
   (u : B x)
  ---------------------------------------------------
   tr B p u  tr  X  X) (ap B p) u

transport-family-ap B idp u = idp
transport-family-idtoeqv
  :  {ℓ₁ ℓ₂ : Level} {A : Type ℓ₁}
   (B : A  Type ℓ₂)
   {x y : A}
   (p : x  y)
   (u : B x)
  ----------------------------------------------
   tr B p u  fun≃ (idtoeqv (ap B p)) u

transport-family-idtoeqv B idp u = idp

:

transport-ua
     :  {ℓ₁ ℓ₂ : Level} {A : Type ℓ₁}
      (B : A  Type ℓ₂)
      {x y : A}
      (p : x  y)
      (e : B x  B y)
      ap B p  ua e
     -----------------
      (u : B x)  tr B p u  (fun≃ e) u

transport-ua B idp e q u =
     begin
       tr B idp u
         ≡⟨ transport-family-idtoeqv B idp u 
       fun≃ (idtoeqv (ap B idp)) u
         ≡⟨ ap  r  fun≃ (idtoeqv r) u) q 
       fun≃ (idtoeqv (ua e)) u
         ≡⟨ ap  r  fun≃ r u) (ua-β e) 
       fun≃ e u
     
funext-transport-ua
   :  {ℓ₁ ℓ₂ : Level} {A : Type ℓ₁}
    (B : A  Type ℓ₂)
    {x y : A}
    (p : x  y)
    (e : B x  B y)
    ap B p  ua e
   -----------------
    tr B p  (fun≃ e)

funext-transport-ua B p e x₁ = funext (transport-ua B p e x₁)
module _
 { : Level} {A B : Type }
 where

 abstract
   coe-ua
     : (α : A  B)
     -------------------------------------
      (∀ x  (coe (ua α) x)  ((α ) x))

   coe-ua α = happly (ap (lemap) (ua-β α))

   coe-!-ua
     : (α : A  B)
     -------------------------------------
      (∀ x  (coe (! ua α) x)  ((rapply α ) x))

   coe-!-ua α = happly (ap (remap) (ua-β α))

   coe-ua-·
     : {C : Type }
      (α : A  B)
      (β : B  C)
     --------------------------------------------------
      coe (ua α · ua β)  ((coe (ua α)) :> coe (ua β))

   coe-ua-· α β =
       begin
         coe (ua α · ua β)
           ≡⟨⟩
         tr  X  X) (ua α · ua β)
           ≡⟨ ! (transport-comp (ua α) (ua β)) 
         (tr  X  X) (ua α)) :> (tr  X  X) (ua β))
           ≡⟨ idp 
         ((coe (ua α)) :> coe (ua β))
       

   idtoequiv-ua-· ite-ua-·
     : {C : Type }
      (α : A  B)
      (β : B  C)
     ---------------------------------------------------
      idtoeqv (ua α · ua β)  ((idtoeqv (ua α)) :>≃ (idtoeqv (ua β)))

   idtoequiv-ua-· α β = sameEqv (coe-ua-· α β)
       where open import foundations.HLevelLemmas
   ite-ua-· = idtoequiv-ua-·

   :>≃-ite-ua
     : {C : Type }
      (α : A  B)   (β : B  C)
     ------------------------------
      (α :>≃ β)  idtoeqv (ua α · ua β)

   :>≃-ite-ua {C = C} α β =
     begin
       (α :>≃ β)
         ≡⟨ sameEqv  
       (α :>≃ (idtoeqv (ua β)))
         ≡⟨ sameEqv  
       (idtoeqv {A = A} (ua {A = A} α)) :>≃ (idtoeqv (ua β))
         ≡⟨ ! ite-ua-· {C = C} α β 
       idtoeqv (ua α · ua β)
       
       where
       open import foundations.HLevelLemmas

        : π₁ (α :>≃ β)  π₁ (α :>≃ idtoeqv (ua β))
        = ap  w  π₁ (α :>≃ w)) (! ua-β β)

        : π₁ (α :>≃ idtoeqv (ua β))  π₁ (idtoeqv (ua α) :>≃ idtoeqv (ua β))
        = ap  w  π₁ (w :>≃ idtoeqv (ua β))) (! ua-β α)

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