Binary equivalences
Content created by Fredrik Bakke, Jonathan Prieto-Cubides and Egbert Rijke.
Created on 2022-03-10.
Last modified on 2023-06-08.
module foundation.binary-equivalences where
Imports
open import foundation.dependent-pair-types open import foundation.universe-levels open import foundation-core.cartesian-product-types open import foundation-core.equivalences
Idea
A binary operation f : A → B → C
is said to be a binary equivalence if the
functions λ x → f x b
and λ y → f a y
are equivalences for each a : A
and
b : B
respectively.
Definitions
fix-left : {l1 l2 l3 : Level} {A : UU l1} {B : UU l2} {C : UU l3} (f : A → B → C) → A → B → C fix-left f a = f a fix-right : {l1 l2 l3 : Level} {A : UU l1} {B : UU l2} {C : UU l3} (f : A → B → C) → B → A → C fix-right f b a = f a b is-binary-equiv : {l1 l2 l3 : Level} {A : UU l1} {B : UU l2} {C : UU l3} → (A → B → C) → UU (l1 ⊔ l2 ⊔ l3) is-binary-equiv {A = A} {B = B} f = ((b : B) → is-equiv (fix-right f b)) × ((a : A) → is-equiv (fix-left f a)) is-equiv-fix-left : {l1 l2 l3 : Level} {A : UU l1} {B : UU l2} {C : UU l3} (f : A → B → C) → is-binary-equiv f → {a : A} → is-equiv (fix-left f a) is-equiv-fix-left f H {a} = pr2 H a is-equiv-fix-right : {l1 l2 l3 : Level} {A : UU l1} {B : UU l2} {C : UU l3} (f : A → B → C) → is-binary-equiv f → {b : B} → is-equiv (fix-right f b) is-equiv-fix-right f H {b} = pr1 H b
Recent changes
- 2023-06-08. Fredrik Bakke. Remove empty
foundation
modules and replace them by their core counterparts (#644). - 2023-03-21. Fredrik Bakke. Formatting fixes (#530).
- 2023-03-14. Fredrik Bakke. Remove all unused imports (#502).
- 2023-03-13. Jonathan Prieto-Cubides. More maintenance (#506).
- 2023-03-07. Fredrik Bakke. Add blank lines between
<details>
tags and markdown syntax (#490).