# Dependent binary homotopies ```agda module foundation.dependent-binary-homotopies where ``` <details><summary>Imports</summary> ```agda open import foundation.binary-homotopies open import foundation.universe-levels open import foundation-core.dependent-identifications ``` </details> ## Idea Consider a [binary homotopy](foundation-core.homotopies.md) `H : f ~ g` between two functions `f g : (x : A) (y : B x) → C x y`. Furthermore, consider a type family `D : (x : A) (y : B x) (z : C x y) → 𝒰` and two functions ```text f' : (x : A) (y : B x) → D x y (f x y) g' : (x : A) (y : B x) → D x y (g x y) ``` A **dependent binary homotopy** from `f'` to `g'` over `H` is a family of [dependent identifications](foundation-core.dependent-identifications.md) from `f' x y` to `g' x y` over `H x y`. ## Definitions ### Dependent homotopies ```agda module _ {l1 l2 l3 l4 : Level} {A : UU l1} {B : A → UU l2} {C : (x : A) → B x → UU l3} (D : (x : A) (y : B x) (z : C x y) → UU l4) {f g : (x : A) (y : B x) → C x y} (H : binary-htpy f g) where dependent-binary-homotopy : ((x : A) (y : B x) → D x y (f x y)) → ((x : A) (y : B x) → D x y (g x y)) → UU (l1 ⊔ l2 ⊔ l4) dependent-binary-homotopy f' g' = (x : A) (y : B x) → dependent-identification (D x y) (H x y) (f' x y) (g' x y) ``` ### The reflexive dependent binary homotopy ```agda module _ {l1 l2 l3 l4 : Level} {A : UU l1} {B : A → UU l2} {C : (x : A) → B x → UU l3} (D : (x : A) (y : B x) (z : C x y) → UU l4) {f : (x : A) (y : B x) → C x y} where refl-dependent-binary-homotopy : {f' : (x : A) (y : B x) → D x y (f x y)} → dependent-binary-homotopy D (refl-binary-htpy f) f' f' refl-dependent-binary-homotopy {f'} = refl-binary-htpy f' ```