foundations.HalfAdjointType.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 #-}

Half-adjoints are an auxiliary notion that helps us to define a suitable notion of equivalence, meaning that it is a proposition and that it captures the usual notion of equivalence.

module foundations.HalfAdjointType where
open import foundations.Transport
open import foundations.TransportLemmas

open import foundations.ProductIdentities
open import foundations.CoproductIdentities

open import foundations.EquivalenceType

open import foundations.HomotopyType
open import foundations.HomotopyLemmas
open import foundations.FibreType
module _
  {ℓ₁ ℓ₂ : Level}
  {A : Type ℓ₁}
  {B : Type ℓ₂}
  where

Half-adjoint equivalence:

  record
    ishae (f : A  B)
    : Type (ℓ₁  ℓ₂)
    where
    constructor hae
    field
      g : B  A
      η : (g  f)  id
      ε : (f  g)  id
      τ : (a : A)  ap f (η a)  ε (f a)

Half adjoint equivalences give contractible fibers.

  ishae-contr
    : (f : A  B)
     ishae f
    -------------
     isContrMap f

  ishae-contr f (hae g η ε τ) y = ((g y) , (ε y)) , contra
    where
      lemma : (c c' : fib f y)  Σ (π₁ c  π₁ c')  γ  (ap f γ) · π₂ c'  π₂ c)  c  c'
      lemma c c' (p , q) = Σ-bycomponents (p , lemma2)
        where
          lemma2 : tr  z  f z  y) p (π₂ c)  π₂ c'
          lemma2 =
            begin
              tr  z  f z  y) p (π₂ c)
                ≡⟨ transport-eq-fun-l f p (π₂ c) 
              inv (ap f p) · (π₂ c)
                ≡⟨ ap (inv (ap f p) ·_) (inv q) 
              inv (ap f p) · ((ap f p) · (π₂ c'))
                ≡⟨ inv (·-assoc (inv (ap f p)) (ap f p) (π₂ c')) 
              inv (ap f p) · (ap f p) · (π₂ c')
                ≡⟨ ap ( (π₂ c')) (·-linv (ap f p)) 
              π₂ c'
            

      contra : (x : fib f y)  (g y , ε y)  x
      contra (x , p) = lemma (g y , ε y) (x , p) (γ , lemma3)
        where
          γ : g y  x
          γ = inv (ap g p) · η x

          lemma3 : (ap f γ · p)  ε y
          lemma3 =
            begin
              ap f γ · p
                ≡⟨ ap ( p) (ap-· f (inv (ap g p)) (η x)) 
              ap f (inv (ap g p)) · ap f (η x) · p
                ≡⟨ ·-assoc (ap f (inv (ap g p))) _ p 
              ap f (inv (ap g p)) · (ap f (η x) · p)
                ≡⟨ ap ( (ap f (η x) · p)) (ap-inv f (ap g p)) 
              inv (ap f (ap g p)) · (ap f (η x) · p)
                ≡⟨ ap  u  inv (ap f (ap g p)) · (u · p)) (τ x) 
              inv (ap f (ap g p)) · (ε (f x) · p)
                ≡⟨ ap  u  inv (ap f (ap g p)) · (ε (f x) · u)) (inv (ap-id p)) 
              inv (ap f (ap g p)) · (ε (f x) · ap id p)
                ≡⟨ ap (inv (ap f (ap g p)) ·_) (h-naturality ε p) 
              inv (ap f (ap g p)) · (ap (f  g) p · ε y)
                ≡⟨ ap  u  inv u · (ap (f  g) p · ε y)) (ap-comp g f p) 
              inv (ap (f  g) p) · (ap (f  g) p · ε y)
                ≡⟨ inv (·-assoc (inv (ap (f  g) p)) _ (ε y)) 
              (inv (ap (f  g) p) · ap (f  g) p) · ε y
                ≡⟨ ap ( ε y) (·-linv (ap  z  f (g z)) p)) 
              ε y
            

Half-adjointness implies equivalence:

  ishae-≃
    : {f : A  B}
     ishae f
    ---------
     A  B

  ishae-≃ ishaef = _ , (ishae-contr _ ishaef)

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