Skip to content

Commit

Permalink
Epis w.r.t. truncated types in all universes
Browse files Browse the repository at this point in the history
  • Loading branch information
tomdjong committed Nov 13, 2023
1 parent e632ce1 commit dd9ecf2
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 24 deletions.
12 changes: 6 additions & 6 deletions src/foundation/epimorphisms-with-respect-to-sets.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ every set `C` the precomposition function `(B β†’ C) β†’ (A β†’ C)` is an embedd

```agda
is-epimorphism-Set :
{l1 l2 : Level} (l : Level) {A : UU l1} {B : UU l2}
(f : A β†’ B) β†’ UU (l1 βŠ” l2 βŠ” lsuc l)
is-epimorphism-Set l f =
is-epimorphism-Truncated-Type l zero-𝕋 f
{l1 l2 : Level} {A : UU l1} {B : UU l2}
(f : A → B) → UUω
is-epimorphism-Set f =
is-epimorphism-Truncated-Type zero-𝕋 f
```

## Properties
Expand All @@ -52,7 +52,7 @@ is-epimorphism-Set l f =
abstract
is-epimorphism-is-surjective-Set :
{l1 l2 : Level} {A : UU l1} {B : UU l2} {f : A β†’ B} β†’
is-surjective f β†’ {l : Level} β†’ is-epimorphism-Set l f
is-surjective f β†’ is-epimorphism-Set f
is-epimorphism-is-surjective-Set H C =
is-emb-is-injective
( is-set-function-type (is-set-type-Set C))
Expand All @@ -73,7 +73,7 @@ abstract
abstract
is-surjective-is-epimorphism-Set :
{l1 l2 : Level} {A : UU l1} {B : UU l2} {f : A β†’ B} β†’
({l : Level} β†’ is-epimorphism-Set l f) β†’ is-surjective f
is-epimorphism-Set f β†’ is-surjective f
is-surjective-is-epimorphism-Set {l1} {l2} {A} {B} {f} H b =
map-equiv
( equiv-eq
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,11 @@ is an embedding for every `k`-truncated type `X`.

```agda
is-epimorphism-Truncated-Type :
{l1 l2 : Level} (l : Level) (k : 𝕋) {A : UU l1} {B : UU l2} β†’
(A β†’ B) β†’ UU (l1 βŠ” l2 βŠ” lsuc l)
is-epimorphism-Truncated-Type l k f =
(X : Truncated-Type l k) β†’ is-emb (precomp f (type-Truncated-Type X))
{l1 l2 : Level} (k : 𝕋) {A : UU l1} {B : UU l2} β†’
(A → B) → UUω
is-epimorphism-Truncated-Type k f =
{l : Level} (X : Truncated-Type l k) β†’
is-emb (precomp f (type-Truncated-Type X))
```

## Properties
Expand All @@ -53,19 +54,19 @@ is-epimorphism-Truncated-Type l k f =

```agda
is-epimorphism-is-epimorphism-succ-Truncated-Type :
{l1 l2 : Level} (l : Level) (k : 𝕋) {A : UU l1} {B : UU l2} (f : A β†’ B) β†’
is-epimorphism-Truncated-Type l (succ-𝕋 k) f β†’
is-epimorphism-Truncated-Type l k f
is-epimorphism-is-epimorphism-succ-Truncated-Type l k f H X =
{l1 l2 : Level} (k : 𝕋) {A : UU l1} {B : UU l2} (f : A β†’ B) β†’
is-epimorphism-Truncated-Type (succ-𝕋 k) f β†’
is-epimorphism-Truncated-Type k f
is-epimorphism-is-epimorphism-succ-Truncated-Type k f H X =
H (truncated-type-succ-Truncated-Type k X)
```

### Every map is a `-1`-epimorphism

```agda
is-neg-one-epimorphism :
{l1 l2 l3 : Level} {A : UU l1} {B : UU l2} (f : A β†’ B) β†’
is-epimorphism-Truncated-Type l3 neg-one-𝕋 f
{l1 l2 : Level} {A : UU l1} {B : UU l2} (f : A β†’ B) β†’
is-epimorphism-Truncated-Type neg-one-𝕋 f
is-neg-one-epimorphism f P =
is-emb-is-prop
( is-prop-function-type (is-prop-type-Prop P))
Expand All @@ -76,23 +77,23 @@ is-neg-one-epimorphism f P =

```agda
is-epimorphism-is-truncation-equivalence-Truncated-Type :
{l1 l2 : Level} (l : Level) (k : 𝕋) {A : UU l1} {B : UU l2} (f : A β†’ B) β†’
{l1 l2 : Level} (k : 𝕋) {A : UU l1} {B : UU l2} (f : A β†’ B) β†’
is-truncation-equivalence k f β†’
is-epimorphism-Truncated-Type l k f
is-epimorphism-is-truncation-equivalence-Truncated-Type l k f H X =
is-epimorphism-Truncated-Type k f
is-epimorphism-is-truncation-equivalence-Truncated-Type k f H X =
is-emb-is-equiv (is-equiv-precomp-is-truncation-equivalence k f H X)
```

### A map is a `k`-epimorphism if and only if its `k`-truncation is a `k`-epimorphism

```agda
module _
{l1 l2 l3 : Level} (k : 𝕋) {A : UU l1} {B : UU l2} (f : A β†’ B)
{l1 l2 : Level} (k : 𝕋) {A : UU l1} {B : UU l2} (f : A β†’ B)
where

is-epimorphism-is-epimorphism-map-trunc-Truncated-Type :
is-epimorphism-Truncated-Type l3 k (map-trunc k f) β†’
is-epimorphism-Truncated-Type l3 k f
is-epimorphism-Truncated-Type k (map-trunc k f) β†’
is-epimorphism-Truncated-Type k f
is-epimorphism-is-epimorphism-map-trunc-Truncated-Type H X =
is-emb-bottom-is-emb-top-is-equiv-coherence-square-maps
( precomp (map-trunc k f) (type-Truncated-Type X))
Expand All @@ -111,8 +112,8 @@ module _
( H X)

is-epimorphism-map-trunc-is-epimorphism-Truncated-Type :
is-epimorphism-Truncated-Type l3 k f β†’
is-epimorphism-Truncated-Type l3 k (map-trunc k f)
is-epimorphism-Truncated-Type k f β†’
is-epimorphism-Truncated-Type k (map-trunc k f)
is-epimorphism-map-trunc-is-epimorphism-Truncated-Type H X =
is-emb-top-is-emb-bottom-is-equiv-coherence-square-maps
( precomp (map-trunc k f) (type-Truncated-Type X))
Expand Down

0 comments on commit dd9ecf2

Please sign in to comment.