This is an archived version pinned as of the submission of my master's thesis. An up-to-date version may be found online.
Effective maps for equivalence relations
module foundation.effective-maps-equivalence-relations where
Imports
open import foundation.surjective-maps open import foundation.universe-levels open import foundation-core.cartesian-product-types open import foundation-core.equivalence-relations open import foundation-core.equivalences open import foundation-core.identity-types
Idea
Consider a type A
equipped with an equivalence relation R
, and let
f : A → X
be a map. Then f
is effective if R x y ≃ Id (f x) (f y)
for all
x y : A
. If f
is both effective and surjective, then it follows that X
satisfies the universal property of the quotient A/R
.
Definition
Effective maps
is-effective : {l1 l2 l3 : Level} {A : UU l1} (R : equivalence-relation l2 A) {B : UU l3} (f : A → B) → UU (l1 ⊔ l2 ⊔ l3) is-effective {A = A} R f = (x y : A) → (f x = f y) ≃ sim-equivalence-relation R x y
Maps that are effective and surjective
module _ {l1 l2 : Level} {A : UU l1} (R : equivalence-relation l2 A) where is-surjective-and-effective : {l3 : Level} {B : UU l3} (f : A → B) → UU (l1 ⊔ l2 ⊔ l3) is-surjective-and-effective f = is-surjective f × is-effective R f