# Fibers of maps
```agda
module foundation.fibers-of-maps where
open import foundation-core.fibers-of-maps public
```
<details><summary>Imports</summary>
```agda
open import foundation.action-on-identifications-functions
open import foundation.cones-over-cospan-diagrams
open import foundation.dependent-pair-types
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.type-arithmetic-unit-type
open import foundation.unit-type
open import foundation.universe-levels
open import foundation-core.contractible-types
open import foundation-core.equivalences
open import foundation-core.function-types
open import foundation-core.functoriality-dependent-pair-types
open import foundation-core.homotopies
open import foundation-core.identity-types
open import foundation-core.pullbacks
open import foundation-core.transport-along-identifications
open import foundation-core.universal-property-pullbacks
```
</details>
## Properties
```agda
module _
{l1 l2 : Level} {A : UU l1} {B : UU l2} (f : A → B) (b : B)
where
square-fiber :
f ∘ pr1 ~ point b ∘ terminal-map (fiber f b)
square-fiber = pr2
cone-fiber : cone f (point b) (fiber f b)
pr1 cone-fiber = pr1
pr1 (pr2 cone-fiber) = terminal-map (fiber f b)
pr2 (pr2 cone-fiber) = square-fiber
abstract
is-pullback-cone-fiber : is-pullback f (point b) cone-fiber
is-pullback-cone-fiber =
is-equiv-tot-is-fiberwise-equiv
( λ a → is-equiv-map-inv-left-unit-law-product)
abstract
universal-property-pullback-cone-fiber :
universal-property-pullback f (point b) cone-fiber
universal-property-pullback-cone-fiber =
universal-property-pullback-is-pullback f
( point b)
( cone-fiber)
( is-pullback-cone-fiber)
```
### The fiber of the terminal map at any point is equivalent to its domain
```agda
module _
{l : Level} {A : UU l}
where
equiv-fiber-terminal-map :
(u : unit) → fiber (terminal-map A) u ≃ A
equiv-fiber-terminal-map u =
right-unit-law-Σ-is-contr
( λ a → is-prop-unit (terminal-map A a) u)
inv-equiv-fiber-terminal-map :
(u : unit) → A ≃ fiber (terminal-map A) u
inv-equiv-fiber-terminal-map u =
inv-equiv (equiv-fiber-terminal-map u)
equiv-fiber-terminal-map-star :
fiber (terminal-map A) star ≃ A
equiv-fiber-terminal-map-star = equiv-fiber-terminal-map star
inv-equiv-fiber-terminal-map-star :
A ≃ fiber (terminal-map A) star
inv-equiv-fiber-terminal-map-star =
inv-equiv equiv-fiber-terminal-map-star
```
### The total space of the fibers of the terminal map is equivalent to its domain
```agda
module _
{l : Level} {A : UU l}
where
equiv-total-fiber-terminal-map :
Σ unit (fiber (terminal-map A)) ≃ A
equiv-total-fiber-terminal-map =
( left-unit-law-Σ-is-contr is-contr-unit star) ∘e
( equiv-tot equiv-fiber-terminal-map)
inv-equiv-total-fiber-terminal-map :
A ≃ Σ unit (fiber (terminal-map A))
inv-equiv-total-fiber-terminal-map =
inv-equiv equiv-total-fiber-terminal-map
```
### Transport in fibers
```agda
module _
{l1 l2 : Level} {A : UU l1} {B : UU l2} (f : A → B)
where
compute-tr-fiber :
{y y' : B} (p : y = y') (u : fiber f y) →
tot (λ x → concat' _ p) u = tr (fiber f) p u
compute-tr-fiber refl u = ap (pair _) right-unit
```
## Table of files about fibers of maps
The following table lists files that are about fibers of maps as a general
concept.
{{#include tables/fibers-of-maps.md}}