Skip to content

Commit

Permalink
Dependent epimorphisms (#827)
Browse files Browse the repository at this point in the history
This short PR adds the notion of dependent epimorphism to the library.
  • Loading branch information
EgbertRijke authored Oct 10, 2023
1 parent 41d31fb commit 3dc09e8
Show file tree
Hide file tree
Showing 6 changed files with 96 additions and 7 deletions.
1 change: 1 addition & 0 deletions src/foundation.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ open import foundation.decidable-subtypes public
open import foundation.decidable-types public
open import foundation.dependent-binary-homotopies public
open import foundation.dependent-binomial-theorem public
open import foundation.dependent-epimorphisms public
open import foundation.dependent-identifications public
open import foundation.dependent-pair-types public
open import foundation.descent-coproduct-types public
Expand Down
55 changes: 55 additions & 0 deletions src/foundation/dependent-epimorphisms.lagda.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Dependent epimorphisms

```agda
module foundation.dependent-epimorphisms where
```

<details><summary>Imports</summary>

```agda
open import foundation.function-types
open import foundation.universe-levels

open import foundation-core.embeddings
```

</details>

## Idea

A **dependent epimorphism** is a map `f : A B` such that the precomposition
function

```text
- ∘ f : ((b : B) C b) ((a : A) C (f a))
```

is an [embedding](foundation-core.embeddings.md) for every type family `C` over
`B`.

Clearly, every dependent epimorphism is an
[epimorphism](foundation.epimorphisms.md). The converse is also true, i.e.,
every epimorphism is a dependent epimorphism. Therefore it follows that a map
`f : A B` is [acyclic](synthetic-homotopy-theory.acyclic-maps.md) if and only
if it is an epimorphism, if and only if it is a dependent epimorphism.

## Definitions

### The predicate of being a dependent epimorphism

```agda
module _
{l1 l2 : Level} {A : UU l1} {B : UU l2}
where

is-dependent-epimorphism : (A B) UUω
is-dependent-epimorphism f =
{l : Level} (C : B UU l) is-emb (precomp-Π f C)
```

## See also

- [Acyclic maps](synthetic-homotopy-theory.acyclic-maps.md)
- [Epimorphisms](foundation.epimorphisms.md)
- [Epimorphisms with respect to sets](foundation.epimorphisms-with-respect-to-sets.md)
- [Epimorphisms with respect to truncated types](foundation.epimorphisms-with-respect-to-truncated-types.md)
7 changes: 7 additions & 0 deletions src/foundation/epimorphisms-with-respect-to-sets.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,3 +97,10 @@ abstract
h : B Prop (l1 ⊔ l2)
h y = ∃-Prop A (λ x f x = y)
```

## See also

- [Acyclic maps](synthetic-homotopy-theory.acyclic-maps.md)
- [Dependent epimorphisms](foundation.dependent-epimorphisms.md)
- [Epimorphisms](foundation.epimorphisms.md)
- [Epimorphisms with respect to truncated types](foundation.epimorphisms-with-respect-to-truncated-types.md)
Original file line number Diff line number Diff line change
Expand Up @@ -110,3 +110,10 @@ module _
( is-truncation-trunc X)
( H X)
```

## See also

- [Acyclic maps](synthetic-homotopy-theory.acyclic-maps.md)
- [Dependent epimorphisms](foundation.dependent-epimorphisms.md)
- [Epimorphisms](foundation.epimorphisms.md)
- [Epimorphisms with respect to sets](foundation.epimorphisms-with-respect-to-sets.md)
20 changes: 15 additions & 5 deletions src/foundation/epimorphisms.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,23 @@ function
- ∘ f : (B X) (A X)
```

is an embedding for every type `X`.
is an [embedding](foundation-core.embeddings.md) for every type `X`.

## Definitions

```agda
is-epimorphism :
{l1 l2 : Level} (l : Level) {A : UU l1} {B : UU l2}
(A B) UU (l1 ⊔ l2 ⊔ lsuc l)
is-epimorphism l f = (X : UU l) is-emb (precomp f X)
module _
{l1 l2 : Level} (l : Level) {A : UU l1} {B : UU l2}
where

is-epimorphism : (A B) UUω
is-epimorphism f = {l : Level} (X : UU l) is-emb (precomp f X)
```

## See also

- [Acyclic maps](synthetic-homotopy-theory.acyclic-maps.md)
- [Dependent epimorphisms](foundation.dependent-epimorphisms.md)
- [Epimorphisms](foundation.epimorphisms.md)
- [Epimorphisms with respect to sets](foundation.epimorphisms-with-respect-to-sets.md)
- [Epimorphisms with respect to truncated types](foundation.epimorphisms-with-respect-to-truncated-types.md)
13 changes: 11 additions & 2 deletions src/synthetic-homotopy-theory/acyclic-maps.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,13 @@ open import synthetic-homotopy-theory.acyclic-types

## Idea

A map `f : A B` is said to be **acyclic** if its fibers are acyclic types.
A map `f : A B` is said to be **acyclic** if its
[fibers](foundation-core.fibers-of-maps.md) are
[acyclic types](synthetic-homotopy-theory.acyclic-types.md).

## Definition
## Definitions

### The predicate of being an acyclic map

```agda
module _
Expand All @@ -39,6 +43,11 @@ module _

## See also

- [Dependent epimorphisms](foundation.dependent-epimorphisms.md)
- [Epimorphisms](foundation.epimorphisms.md)
- [Epimorphisms with respect to sets](foundation.epimorphisms-with-respect-to-sets.md)
- [Epimorphisms with respect to truncated types](foundation.epimorphisms-with-respect-to-truncated-types.md)

### Table of files related to cyclic types, groups, and rings

{{#include tables/cyclic-types.md}}

0 comments on commit 3dc09e8

Please sign in to comment.