The action on identifications of functions
Content created by Fredrik Bakke, Egbert Rijke and Vojtěch Štěpančík.
Created on 2023-06-10.
Last modified on 2026-02-12.
module foundation.action-on-identifications-functions where
Imports
open import foundation.universe-levels open import foundation-core.constant-maps open import foundation-core.function-types open import foundation-core.identity-types
Idea
Any function f : A → B preserves
identifications, in the sense that it maps
identifications p : x = y in A to an identification ap f p : f x = f y
in B. This action on identifications can be thought of as the functoriality of
identity types.
Definition
The functorial action of functions on identity types
ap : {l1 l2 : Level} {A : UU l1} {B : UU l2} (f : A → B) {x y : A} → x = y → f x = f y ap f refl = refl
Properties
The identity function acts trivially on identifications
module _ {l : Level} {A : UU l} {x y : A} where ap-id : (p : x = y) → ap id p = p ap-id refl = refl inv-ap-id : (p : x = y) → p = ap id p inv-ap-id p = inv (ap-id p)
The action on identifications of a composite function is the composite of the actions
module _ {l1 l2 l3 : Level} {A : UU l1} {B : UU l2} {C : UU l3} (g : B → C) (f : A → B) where ap-comp : {x y : A} (p : x = y) → ap (g ∘ f) p = (ap g ∘ ap f) p ap-comp refl = refl inv-ap-comp : {x y : A} (p : x = y) → (ap g ∘ ap f) p = ap (g ∘ f) p inv-ap-comp q = inv (ap-comp q) ap-comp-assoc : {l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {C : UU l3} {D : UU l4} (h : C → D) (g : B → C) (f : A → B) {x y : A} (p : x = y) → ap (h ∘ g) (ap f p) = ap h (ap (g ∘ f) p) ap-comp-assoc h g f refl = refl
The action on identifications of any map preserves refl
module _ {l1 l2 : Level} {A : UU l1} {B : UU l2} (f : A → B) (x : A) where ap-refl : ap f (refl {x = x}) = refl ap-refl = refl
The action on identifications of any map preserves concatenation of identifications
module _ {l1 l2 : Level} {A : UU l1} {B : UU l2} (f : A → B) where ap-concat : {x y z : A} (p : x = y) (q : y = z) → ap f (p ∙ q) = ap f p ∙ ap f q ap-concat refl q = refl inv-ap-concat : {x y z : A} (p : x = y) (q : y = z) → ap f p ∙ ap f q = ap f (p ∙ q) inv-ap-concat p q = inv (ap-concat p q) compute-right-refl-ap-concat : {x y : A} (p : x = y) → ap-concat p refl = ap (ap f) right-unit ∙ inv right-unit compute-right-refl-ap-concat refl = refl
The action on identifications of any map preserves inverses
module _ {l1 l2 : Level} {A : UU l1} {B : UU l2} (f : A → B) {x y : A} where ap-inv : (p : x = y) → ap f (inv p) = inv (ap f p) ap-inv refl = refl inv-ap-inv : (p : x = y) → inv (ap f p) = ap f (inv p) inv-ap-inv p = inv (ap-inv p)
The action on identifications of a constant map is constant
module _ {l1 l2 : Level} {A : UU l1} {B : UU l2} (b : B) {x y : A} where ap-const : (p : x = y) → ap (const A b) p = refl ap-const refl = refl inv-ap-const : (p : x = y) → refl = ap (const A b) p inv-ap-const p = inv (ap-const p)
See also
- Action of functions on higher identifications.
- Action of binary functions on identifications.
- Action of dependent functions on identifications.
Recent changes
- 2026-02-12. Fredrik Bakke. Forks (#1746).
- 2024-04-11. Fredrik Bakke. Refactor diagonals (#1096).
- 2024-02-06. Egbert Rijke and Fredrik Bakke. Refactor files about identity types and homotopies (#1014).
- 2023-12-05. Vojtěch Štěpančík. Functoriality of sequential colimits (#919).
- 2023-10-22. Egbert Rijke and Fredrik Bakke. Refactor synthetic homotopy theory (#654).