Equality in the fibers of a map

Content created by Egbert Rijke, Fredrik Bakke, Jonathan Prieto-Cubides and Raymond Baker.

Created on 2022-01-26.
Last modified on 2024-02-06.

module foundation.equality-fibers-of-maps where
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.identity-types
open import foundation.transport-along-identifications
open import foundation.universe-levels

open import foundation-core.equality-dependent-pair-types
open import foundation-core.equivalences
open import foundation-core.families-of-equivalences
open import foundation-core.fibers-of-maps
open import foundation-core.function-types
open import foundation-core.functoriality-dependent-pair-types
open import foundation-core.homotopies


In the file foundation-core.fibers-of-maps we already gave one characterization of the identity type of fiber f b, for an arbitrary map f : A → B. Here we give a second characterization, using the fibers of the action on identifications of f.


For any map f : A → B any b : B and any x y : fiber f b, there is an equivalence

(x = y) ≃ fiber (ap f) (pr2 x ∙ inv (pr2 y))


module _
  {l1 l2 : Level} {A : UU l1} {B : UU l2} (f : A  B) {b : B}

  fiber-ap-eq-fiber-fiberwise :
    (s t : fiber f b) (p : pr1 s  pr1 t) 
    tr  (a : A)  f a  b) p (pr2 s)  pr2 t 
    ap f p  pr2 s  inv (pr2 t)
  fiber-ap-eq-fiber-fiberwise (.x' , p) (x' , refl) refl =
    inv  concat right-unit refl

    is-fiberwise-equiv-fiber-ap-eq-fiber-fiberwise :
      (s t : fiber f b)  is-fiberwise-equiv (fiber-ap-eq-fiber-fiberwise s t)
    is-fiberwise-equiv-fiber-ap-eq-fiber-fiberwise (x , y) (.x , refl) refl =
        ( inv)
        ( concat right-unit refl)
        ( is-equiv-concat right-unit refl)
        ( is-equiv-inv (y  refl) refl)

  fiber-ap-eq-fiber :
    (s t : fiber f b)  s  t 
    fiber (ap f {x = pr1 s} {y = pr1 t}) (pr2 s  inv (pr2 t))
  pr1 (fiber-ap-eq-fiber s .s refl) = refl
  pr2 (fiber-ap-eq-fiber s .s refl) = inv (right-inv (pr2 s))

  triangle-fiber-ap-eq-fiber :
    (s t : fiber f b) 
    fiber-ap-eq-fiber s t ~
    tot (fiber-ap-eq-fiber-fiberwise s t)  pair-eq-Σ {s = s} {t}
  triangle-fiber-ap-eq-fiber (x , refl) .(x , refl) refl = refl

    is-equiv-fiber-ap-eq-fiber :
      (s t : fiber f b)  is-equiv (fiber-ap-eq-fiber s t)
    is-equiv-fiber-ap-eq-fiber s t =
        ( fiber-ap-eq-fiber s t)
        ( tot (fiber-ap-eq-fiber-fiberwise s t))
        ( pair-eq-Σ {s = s} {t})
        ( triangle-fiber-ap-eq-fiber s t)
        ( is-equiv-pair-eq-Σ s t)
        ( is-equiv-tot-is-fiberwise-equiv
          ( is-fiberwise-equiv-fiber-ap-eq-fiber-fiberwise s t))

  equiv-fiber-ap-eq-fiber :
    (s t : fiber f b) 
    (s  t)  fiber (ap f {x = pr1 s} {y = pr1 t}) (pr2 s  inv (pr2 t))
  pr1 (equiv-fiber-ap-eq-fiber s t) = fiber-ap-eq-fiber s t
  pr2 (equiv-fiber-ap-eq-fiber s t) = is-equiv-fiber-ap-eq-fiber s t

  map-inv-fiber-ap-eq-fiber :
    (s t : fiber f b) 
    fiber (ap f {x = pr1 s} {y = pr1 t}) (pr2 s  inv (pr2 t)) 
    s  t
  map-inv-fiber-ap-eq-fiber (x , refl) (.x , p) (refl , u) =
    eq-pair-eq-fiber (ap inv u  inv-inv p)

  ap-pr1-map-inv-fiber-ap-eq-fiber :
    (s t : fiber f b) 
    (v : fiber (ap f {x = pr1 s} {y = pr1 t}) (pr2 s  inv (pr2 t))) 
    ap pr1 (map-inv-fiber-ap-eq-fiber s t v)  pr1 v
  ap-pr1-map-inv-fiber-ap-eq-fiber (x , refl) (.x , p) (refl , u) =
    ap-pr1-eq-pair-eq-fiber (ap inv u  inv-inv p)

module _
  {l1 l2 : Level} {A : UU l1} {B : UU l2} (f : A  B) (x y : A)

  eq-fiber-fiber-ap :
    (q : f x  f y)  (x , q)  (y , refl)  fiber (ap f {x} {y}) q
  eq-fiber-fiber-ap q =
    tr (fiber (ap f)) right-unit  fiber-ap-eq-fiber f (x , q) (y , refl)

    is-equiv-eq-fiber-fiber-ap :
      (q : (f x)  f y)  is-equiv (eq-fiber-fiber-ap q)
    is-equiv-eq-fiber-fiber-ap q =
        ( tr (fiber (ap f)) right-unit)
        ( fiber-ap-eq-fiber f (x , q) (y , refl))
        ( is-equiv-fiber-ap-eq-fiber f (x , q) (y , refl))
        ( is-equiv-tr (fiber (ap f)) right-unit)

Table of files about fibers of maps

The following table lists files that are about fibers of maps as a general concept.

Fibers of maps (foundation-core)foundation-core.fibers-of-maps
Fibers of maps (foundation)foundation.fibers-of-maps
Equality in the fibers of a mapfoundation.equality-fibers-of-maps
Functoriality of fibers of mapsfoundation.functoriality-fibers-of-maps
Fibers of pointed mapsstructured-types.fibers-of-pointed-maps
Fibers of maps of finite typesunivalent-combinatorics.fibers-of-maps
The universal property of the family of fibers of mapsfoundation.universal-property-family-of-fibers-of-maps

See also

Recent changes