From d323f79d214fd4a51c15afa3f825fd59ebc67994 Mon Sep 17 00:00:00 2001
From: Script Raccoon
Date: Tue, 4 Aug 2026 23:56:21 +0200
Subject: [PATCH 1/6] add more special morphism rules
---
.../categories/walking_commutative_square.yaml | 5 +----
.../data/categories/walking_composable_pair.yaml | 5 +----
.../data/categories/walking_coreflexive_pair.yaml | 3 ---
database/data/categories/walking_fork.yaml | 3 ---
database/data/categories/walking_morphism.yaml | 5 +----
database/data/categories/walking_pair.yaml | 5 +----
database/data/categories/walking_span.yaml | 5 +----
database/data/categories/walking_splitting.yaml | 3 ---
database/data/special-morphism-rules.yaml | 15 +++++++++++++++
9 files changed, 20 insertions(+), 29 deletions(-)
diff --git a/database/data/categories/walking_commutative_square.yaml b/database/data/categories/walking_commutative_square.yaml
index 9af90108..36cbce01 100644
--- a/database/data/categories/walking_commutative_square.yaml
+++ b/database/data/categories/walking_commutative_square.yaml
@@ -51,7 +51,4 @@ special_objects:
products:
description: $b \times c = a$, $x \times x = x$, $a \times x = a$, $d \times x = x$
-special_morphisms:
- isomorphisms:
- description: the four identities
- proof: This is trivial.
+special_morphisms: {}
diff --git a/database/data/categories/walking_composable_pair.yaml b/database/data/categories/walking_composable_pair.yaml
index 026b7935..6fe5a57b 100644
--- a/database/data/categories/walking_composable_pair.yaml
+++ b/database/data/categories/walking_composable_pair.yaml
@@ -48,7 +48,4 @@ special_objects:
products:
description: infimum taken in $\{0 < 1 < 2\}$
-special_morphisms:
- isomorphisms:
- description: the three identities
- proof: This is trivial.
+special_morphisms: {}
diff --git a/database/data/categories/walking_coreflexive_pair.yaml b/database/data/categories/walking_coreflexive_pair.yaml
index a652f7c0..5be92d6c 100644
--- a/database/data/categories/walking_coreflexive_pair.yaml
+++ b/database/data/categories/walking_coreflexive_pair.yaml
@@ -75,9 +75,6 @@ special_objects:
description: $[1]$
special_morphisms:
- isomorphisms:
- description: the two identities
- proof: This is obvious.
monomorphisms:
description: the identities and $i$, $j$
proof: Since $pi = \id$, but $ip \neq \id$, we conclude that $i$ is a monomorphism, but $p$ is not. Likewise, $j$ is a monomorphism. Since $p$ is not a monomorphism, $ip$ and $jp$ are also no monomorphisms.
diff --git a/database/data/categories/walking_fork.yaml b/database/data/categories/walking_fork.yaml
index f5d44606..362188c5 100644
--- a/database/data/categories/walking_fork.yaml
+++ b/database/data/categories/walking_fork.yaml
@@ -68,9 +68,6 @@ special_objects:
description: $0$
special_morphisms:
- isomorphisms:
- description: the three identities
- proof: This is trivial.
epimorphisms:
description: the identities and $f,g$
proof: This is easily checked.
diff --git a/database/data/categories/walking_morphism.yaml b/database/data/categories/walking_morphism.yaml
index 05c5fdd6..1eb68c2e 100644
--- a/database/data/categories/walking_morphism.yaml
+++ b/database/data/categories/walking_morphism.yaml
@@ -53,7 +53,4 @@ special_objects:
products:
description: $0 \times x = 0$, $1 \times x = x$
-special_morphisms:
- isomorphisms:
- description: the two identities
- proof: This is trivial.
+special_morphisms: {}
diff --git a/database/data/categories/walking_pair.yaml b/database/data/categories/walking_pair.yaml
index 7df4c306..bb8c929e 100644
--- a/database/data/categories/walking_pair.yaml
+++ b/database/data/categories/walking_pair.yaml
@@ -50,7 +50,4 @@ unsatisfied_properties:
special_objects: {}
-special_morphisms:
- isomorphisms:
- description: the two identities
- proof: This is trivial.
+special_morphisms: {}
diff --git a/database/data/categories/walking_span.yaml b/database/data/categories/walking_span.yaml
index 265ec318..424548f4 100644
--- a/database/data/categories/walking_span.yaml
+++ b/database/data/categories/walking_span.yaml
@@ -50,7 +50,4 @@ special_objects:
products:
description: '[binary case] $1 \times 2 = 0$, $x \times x = x$, $0 \times x = 0$'
-special_morphisms:
- isomorphisms:
- description: the three identities
- proof: This is trivial.
+special_morphisms: {}
diff --git a/database/data/categories/walking_splitting.yaml b/database/data/categories/walking_splitting.yaml
index eaca453e..0be80008 100644
--- a/database/data/categories/walking_splitting.yaml
+++ b/database/data/categories/walking_splitting.yaml
@@ -64,9 +64,6 @@ special_objects:
description: $0$
special_morphisms:
- isomorphisms:
- description: the two identities
- proof: This is obvious.
monomorphisms:
description: the identities and $i$
proof: The morphism $i$ is even a split monomorphism. The morphism $p$ is not a monomorphism since $p \circ \id_1 = p \circ ip$. The morphism $ip$ is not a monomorphism since it would imply that $p$ is a monomorphism.
diff --git a/database/data/special-morphism-rules.yaml b/database/data/special-morphism-rules.yaml
index 0c72983f..b65d572a 100644
--- a/database/data/special-morphism-rules.yaml
+++ b/database/data/special-morphism-rules.yaml
@@ -3,6 +3,11 @@
description: every morphism
proof: The category is a groupoid.
+- property: gaunt
+ type: isomorphisms
+ description: only the identities
+ proof: The category is gaunt.
+
- property: thin
type: monomorphisms
description: every morphism
@@ -57,3 +62,13 @@
type: regular epimorphisms
description: same as epimorphisms
proof: The category is epi-regular.
+
+- property: regular-subobject-trivial
+ type: regular monomorphisms
+ description: same as isomorphisms
+ proof: The category is regular-subobject-trivial.
+
+- property: regular-quotient-trivial
+ type: regular epimorphisms
+ description: same as isomorphisms
+ proof: The category is regular-quotient-trivial.
From d9b4f66782ebfdf861e55fe2468df557b8daa28f Mon Sep 17 00:00:00 2001
From: Script Raccoon
Date: Tue, 4 Aug 2026 15:22:02 +0200
Subject: [PATCH 2/6] add extremal monos and epis
---
.../morphism-implications/mono-epi-iso.yaml | 82 +++++++++++++++----
.../extremal epimorphism.yaml | 15 ++++
.../extremal monomorphism.yaml | 15 ++++
.../strong epimorphism.yaml | 3 +
.../strong monomorphism.yaml | 3 +
5 files changed, 103 insertions(+), 15 deletions(-)
create mode 100644 database/data/morphism-properties/extremal epimorphism.yaml
create mode 100644 database/data/morphism-properties/extremal monomorphism.yaml
diff --git a/database/data/morphism-implications/mono-epi-iso.yaml b/database/data/morphism-implications/mono-epi-iso.yaml
index ec2e03a3..bd5f893c 100644
--- a/database/data/morphism-implications/mono-epi-iso.yaml
+++ b/database/data/morphism-implications/mono-epi-iso.yaml
@@ -15,6 +15,17 @@
proof: 'Let $f : A \to B$ be a split monomorphism, and choose a morphism $g : B \to A$ with $g \circ f = \id_A$. Then it is easy to check that $f$ is an equalizer of $\id_B, f \circ g : B \rightrightarrows B$.'
is_equivalence: false
+- id: split_mono_epi_is_iso
+ # This implication follows strictly from the others, but we add it
+ # because the other proofs use it and also to prevent long chains.
+ assumptions:
+ - split monomorphism
+ - epimorphism
+ conclusions:
+ - isomorphism
+ proof: 'Assume that $f : A \to B$ is a split monomorphism, and choose a morphism $g : B \to A$ with $g \circ f = \id_A$. Then $f \circ g \circ f = f = \id_B \circ f$. Thus, if $f$ is also an epimorphism, we conclude $f \circ g = \id_B$, showing that $f$ is an isomorphism with inverse $g$.'
+ is_equivalence: false
+
- id: mono_is_iso
assumptions:
- monomorphism
@@ -146,39 +157,80 @@
where $e$ is an epimorphism and $m$ is a strict monomorphism. We need to show that $D \to B$ factors through $m$. It suffices to show that it equalizes all pairs $B \rightrightarrows T$ that are equalized by $m$. Since $e$ is an epimorphism, it suffices to check this for the composite $C \to D \to B$. This is equal to $C \to A \to B$, which factors through $m$ and hence equalizes the pair.
is_equivalence: false
-- id: strong_monos_are_regular_in_coregular_category
+- id: extremal_mono_is_mono
+ assumptions:
+ - extremal monomorphism
+ conclusions:
+ - monomorphism
+ proof: This holds by definition.
+ is_equivalence: false
+
+- id: strong_mono_is_extremal
assumptions:
- strong monomorphism
+ conclusions:
+ - extremal monomorphism
+ proof: >-
+ Assume that $m : A \to B$ is a strong monomorphism that factors as $m = g \circ e$, where $e : A \to C$ is an epimorphism and $g : C \to B$ is any morphism. Then the commutative diagram
+ $$\begin{CD} A @>e>> C \\ @V{\id_A}VV @VV{g}V \\ A @>>m> B \end{CD}$$
+ can be filled with a morphism $h : C \to A$. In particular, $h \circ e = \id_A$. Thus, $e$ is an epimorphism and a split monomorphism, hence an isomorphism.
+ is_equivalence: false
+
+- id: extremal_mono_epi_is_iso
+ assumptions:
+ - extremal monomorphism
+ - epimorphism
+ conclusions:
+ - isomorphism
+ proof: This is obvious.
+ is_equivalence: false
+
+- id: extremal_monos_are_regular_in_coregular_category
+ assumptions:
+ - extremal monomorphism
mapped_assumptions:
category:
- coregular
conclusions:
- regular monomorphism
- proof: >-
- Let $m : A \to B$ be a strong monomorphism in a coregular category. We may factor it as $m = i \circ e$, where $i : C \to B$ is a regular monomorphism and $e : A \to C$ is an epimorphism. The orthogonality condition applied to the diagram
- $$\begin{CD} A @>e>> C \\ @V{\id_A}VV @VV{i}V \\ A @>>m> B \end{CD}$$
- shows that $e$ is a split monomorphism, hence an isomorphism. But then $m = i \circ e$ is a regular monomorphism as well.
+ proof: 'Let $m : A \to B$ be an extremal monomorphism in a coregular category. By coregularity, we may factor it as $m = i \circ e$, where $i : C \to B$ is a regular monomorphism and $e : A \to C$ is an epimorphism. Since $m$ is an extremal monomorphism, $e$ is an isomorphism. Therefore, $m \cong i$ is a regular monomorphism.'
is_equivalence: false
-- id: strong_monos_are_no_epis
+- id: extremal_mono_strong_criterion
assumptions:
- - strong monomorphism
- - epimorphism
+ - extremal monomorphism
+ mapped_assumptions:
+ category:
+ - pushouts
conclusions:
- - isomorphism
+ - strong monomorphism
proof: >-
- Assume that $m : A \to B$ is a strong monomorphism which is also an epimorphism. Then we apply the orthogonality condition to
- $$\begin{CD} A @>m>> B \\ @V{\id_A}VV @VV{\id_B}V \\ A @>>m> B \end{CD}$$
- to conclude that $m$ is a split epimorphism, and hence an isomorphism.
+ Let $m : A \to B$ be an extremal monomorphism and consider a diagram
+ $$\begin{CD} C @>{e}>> D \\ @V{f}VV @VV{g}V \\ A @>>{m}> B \end{CD}$$
+ in which $e : C \to D$ is an epimorphism. Choose a pushout
+ $$\begin{CD} C @>{e}>> D \\ @V{f}VV @VV{u}V \\ A @>>{v}> P. \end{CD}$$
+ Here, $v$ is an epimorphism since $e$ is an epimorphism. Moreover, by the universal property of the pushout, there is a unique morphism $h : P \to B$ such that $h \circ v = m$ and $h \circ u = g$. Since $m$ is an extremal monomorphism, $v$ is an isomorphism. Then $v^{-1} \circ u : D \to A$ is the required filling of the first diagram, since
+ $$v^{-1} \circ u \circ e = v^{-1} \circ v \circ f = f.$$
+ is_equivalence: false
+
+- id: extremal_mono_balanced
+ assumptions:
+ - monomorphism
+ mapped_assumptions:
+ category:
+ - balanced
+ conclusions:
+ - extremal monomorphism
+ proof: Assume $m$ is a monomorphism that factors as $m = g \circ e$, where $e$ is an epimorphism. But then $e$ is also a monomorphism, and since the category is balanced, $e$ must be an isomorphism.
is_equivalence: false
-- id: strong_monos_collapse
+- id: every_mono_strong_criterion
assumptions:
- monomorphism
mapped_assumptions:
category:
- - quotient-trivial
+ - epi-regular
conclusions:
- strong monomorphism
- proof: This is because any morphism is right orthogonal to any isomorphism.
+ proof: Any monomorphism is right orthogonal to any regular epimorphism because regular epimorphisms are strong (by combining this result and this result).
is_equivalence: false
diff --git a/database/data/morphism-properties/extremal epimorphism.yaml b/database/data/morphism-properties/extremal epimorphism.yaml
new file mode 100644
index 00000000..1aa7fbfa
--- /dev/null
+++ b/database/data/morphism-properties/extremal epimorphism.yaml
@@ -0,0 +1,15 @@
+id: extremal epimorphism
+relation: is an
+description: >-
+ A morphism $e : A \to B$ is an extremal epimorphism if it is a epimorphism and whenever $e = m \circ g$ is a factorization in which $m$ is a monomorphism, then $m$ is an isomorphism. The condition that $e$ is an epimorphism follows from the factorization property when the category has equalizers, but in general, we need to explicitly demand it.
+
+ By the implications below, extremal epimorphisms are closed related to strong epimorphisms: every strong epimorphism is extremal, and the converse holds when pullbacks exist.
+nlab_link: https://ncatlab.org/nlab/show/extremal+epimorphism
+invariant_under_equivalences: true
+dual: extremal monomorphism
+related:
+ - strong epimorphism
+ - epimorphism
+
+tags:
+ - types of epimorphisms
diff --git a/database/data/morphism-properties/extremal monomorphism.yaml b/database/data/morphism-properties/extremal monomorphism.yaml
new file mode 100644
index 00000000..a229bc8d
--- /dev/null
+++ b/database/data/morphism-properties/extremal monomorphism.yaml
@@ -0,0 +1,15 @@
+id: extremal monomorphism
+relation: is an
+description: >-
+ A morphism $m : A \to B$ is an extremal monomorphism if it is a monomorphism and whenever $m = g \circ e$ is a factorization in which $e$ is an epimorphism, then $e$ is an isomorphism. The condition that $m$ is a monomorphism follows from the factorization property when the category has coequalizers, but in general, we need to explicitly demand it.
+
+ By the implications below, extremal monomorphisms are closed related to strong monomorphisms: every strong monomorphism is extremal, and the converse holds when pushouts exist.
+nlab_link: https://ncatlab.org/nlab/show/extremal+monomorphism
+invariant_under_equivalences: true
+dual: extremal epimorphism
+related:
+ - strong monomorphism
+ - monomorphism
+
+tags:
+ - types of monomorphisms
diff --git a/database/data/morphism-properties/strong epimorphism.yaml b/database/data/morphism-properties/strong epimorphism.yaml
index 94b80d57..72beead0 100644
--- a/database/data/morphism-properties/strong epimorphism.yaml
+++ b/database/data/morphism-properties/strong epimorphism.yaml
@@ -6,11 +6,14 @@ description: >-
in which $m : C \to D$ is a monomorphism, there is a unique morphism $B \to C$ such that both triangles commute. Uniqueness is actually for free, and it suffices to demand commutativity of one triangle, as the other one follows.
$$\begin{CD} A @>e>> B \\ @VVV \swarrow @VVV \\ C @>>m> D \end{CD}$$
If the category has equalizers, the orthogonality condition already implies that $e$ is an epimorphism, but in general, we need to demand this.
+
+ By the implications below, strong epimorphisms are closed related to extremal epimorphisms: every strong epimorphism is extremal, and the converse holds when pullbacks exist.
nlab_link: https://ncatlab.org/nlab/show/strong+epimorphism
invariant_under_equivalences: true
dual: strong monomorphism
related:
- strict epimorphism
+ - extremal epimorphism
- epimorphism
tags:
diff --git a/database/data/morphism-properties/strong monomorphism.yaml b/database/data/morphism-properties/strong monomorphism.yaml
index d12800f1..22646378 100644
--- a/database/data/morphism-properties/strong monomorphism.yaml
+++ b/database/data/morphism-properties/strong monomorphism.yaml
@@ -6,11 +6,14 @@ description: >-
in which $e : C \to D$ is an epimorphism, there is a unique morphism $D \to A$ such that both triangles commute. Uniqueness is actually for free, and it suffices to demand commutativity of one triangle, as the other one follows.
$$\begin{CD} C @>e>> D \\ @VVV \swarrow @VVV \\ A @>>m> B \end{CD}$$
If the category has coequalizers, the orthogonality condition already implies that $m$ is a monomorphism, but in general, we need to demand this.
+
+ By the implications below, strong monomorphisms are closed related to extremal monomorphisms: every strong monomorphism is extremal, and the converse holds when pushouts exist.
nlab_link: https://ncatlab.org/nlab/show/strong+monomorphism
invariant_under_equivalences: true
dual: strong epimorphism
related:
- strict monomorphism
+ - extremal monomorphism
- monomorphism
tags:
From f27b4e84380e7ddb12ae078085abbcb4419771a9 Mon Sep 17 00:00:00 2001
From: Script Raccoon
Date: Wed, 5 Aug 2026 00:03:15 +0200
Subject: [PATCH 3/6] add the forked commutative square category
---
.../categories/forked_commutative_square.yaml | 79 +++++++++++++++++++
.../walking_commutative_square.yaml | 1 +
database/data/categories/walking_fork.yaml | 1 +
database/data/categories/walking_pair.yaml | 1 +
database/data/macros.yaml | 1 +
5 files changed, 83 insertions(+)
create mode 100644 database/data/categories/forked_commutative_square.yaml
diff --git a/database/data/categories/forked_commutative_square.yaml b/database/data/categories/forked_commutative_square.yaml
new file mode 100644
index 00000000..b86cd4bb
--- /dev/null
+++ b/database/data/categories/forked_commutative_square.yaml
@@ -0,0 +1,79 @@
+id: forked_commutative_square
+name: forked commutative square
+notation: $\ForkSquare$
+objects: $A,B,C,D,E$
+morphisms: 'The morphisms are generated by $e : A \to B$, $f : A \to C$, $g : B \to D$, $m : C \to D$ and $u,v : D \rightrightarrows E$, subject to the relations $g \circ e = m \circ f$, $u \circ g = v \circ g$, and $u \circ m = v \circ m$.'
+description: >-
+ This finite category is generated by the graph
+ $$\begin{array}{ccccc}
+ A & \xrightarrow{\hspace{1em} e \hspace{1em}} & B & & \\
+ \text{\scriptsize $f$}\bigg\downarrow\;\, && \;\,\bigg\downarrow\text{\scriptsize $g$} && \\
+ C & \xrightarrow{\hspace{1em} m \hspace{1em}} & D &
+ \begin{array}{c}
+ \xrightarrow{\hspace{1em} u \hspace{1em}}\\
+ \xrightarrow{\hspace{1em} v \hspace{1em}}
+ \end{array} & E
+ \end{array}$$
+ and the evident relations: the square commutes, and the parallel pair $u,v$ is equalized by both $g$ and $m$. We have added this category to the database solely as an example of an extremal monomorphism (namely $m$) that is not a strong monomorphism. There is probably no common name for this category, but "forked commutative square" seems like a good fit.
+nlab_link: null
+tags:
+ - category theory
+
+related:
+ - walking_fork
+ - walking_commutative_square
+
+satisfied_properties:
+ - property: small
+ proof: This is obvious.
+
+ - property: finite
+ proof: This is obvious.
+
+ - property: skeletal
+ proof: The five objects are clearly pairwise non-isomorphic.
+
+ - property: one-way
+ proof: This is obvious.
+
+ - property: strict initial object
+ proof: Clearly, $A$ is an initial object. Since $\id_A$ is the only morphism with codomain $A$, it is strict.
+
+ - property: generator
+ proof: 'The only parallel pair of distinct morphisms is $u,v : D \rightrightarrows E$. It follows that $D$ is a generator.'
+
+ - property: cogenerator
+ proof: 'The only parallel pair of distinct morphisms is $u,v : D \rightrightarrows E$. It follows that $E$ is a cogenerator.'
+
+ - property: left cancellative
+ proof: 'The only parallel pair of distinct morphisms is $u,v : D \rightrightarrows E$. Thus, it is sufficient to prove that every morphism with domain $E$ is a monomorphism. But there is only one such morphism, namely $\id_E$.'
+
+ - property: regular-subobject-trivial
+ proof: 'The only parallel pair of distinct morphisms is $u,v : D \rightrightarrows E$, so it suffices to prove that they do not have an equalizer. This is proven in the list of unsatisfied properties.'
+ # TODO: add proof reference
+
+unsatisfied_properties:
+ - property: semi-strongly connected
+ proof: There is no morphism $B \to C$ and no morphism $C \to B$.
+
+ - property: equalizers
+ proof: 'The morphisms $u,v : D \rightrightarrows E$ do not have an equalizer: the four morphisms with codomain $D$ are $g$, $m$, $g \circ e = m \circ f$, and $\id_D$. But $\id_D$ does not equalize $u,v$. The other three morphisms equalize $u,v$, but they are not universal: $m$ is not universal since $g$ does not factor through it, $g$ is not universal since $m$ does not factor through it, and $g \circ e$ is not universal since $g$ does not factor through it.'
+
+ - property: pullbacks
+ proof: 'Any two parallel morphisms with codomain $D$ are equal. It follows that a pullback of the cospan $D \xrightarrow{u} E \xleftarrow{v} D$ would be an equalizer of $u,v : D \rightrightarrows E$, which we know does not exist.'
+ # TODO: add proof reference
+
+ - property: extremal generator
+ proof: 'Since both $m$ and $g$ equalize $u,v$, it is easy to see that $D$ is the only generator. But it is not extremal since $e$ induces a bijection $e_* : \Hom(D,A) \to \Hom(D,B)$ (both sets are empty), without $e$ being an isomorphism.'
+
+ - property: extremal cogenerator
+ proof: 'We already saw that $E$ is a cogenerator, and it is also the only one because any cogenerator must admit a morphism from $E$ to be able to distinguish $u,v$. But $E$ is not extremal since $f$ induces a bijection $f^* : \Hom(C,E) \to \Hom(A,E)$ (both sets are singletons), without $f$ being an isomorphism.'
+
+special_objects:
+ initial object:
+ description: $A$
+
+special_morphisms:
+ epimorphisms:
+ description: all morphisms except for the three non-identity morphisms with codomain $D$, namely $g$, $m$, and the diagonal $g \circ e$
+ proof: 'Every one of the three non-identity morphisms with codomain $D$ equalizes $u,v$, and thus cannot be an epimorphism. Conversely, the identity morphisms are of course epimorphisms, and if a morphism does not have codomain $D$, then it is an epimorphism because the only parallel pair of distinct morphisms is $u,v : D \rightrightarrows E$.'
diff --git a/database/data/categories/walking_commutative_square.yaml b/database/data/categories/walking_commutative_square.yaml
index 36cbce01..39504d5c 100644
--- a/database/data/categories/walking_commutative_square.yaml
+++ b/database/data/categories/walking_commutative_square.yaml
@@ -14,6 +14,7 @@ tags:
related:
- walking_fork
- walking_morphism
+ - forked_commutative_square
satisfied_properties:
- property: small
diff --git a/database/data/categories/walking_fork.yaml b/database/data/categories/walking_fork.yaml
index 362188c5..fd3401c2 100644
--- a/database/data/categories/walking_fork.yaml
+++ b/database/data/categories/walking_fork.yaml
@@ -15,6 +15,7 @@ related:
- walking_commutative_square
- walking_composable_pair
- walking_pair
+ - forked_commutative_square
satisfied_properties:
- property: small
diff --git a/database/data/categories/walking_pair.yaml b/database/data/categories/walking_pair.yaml
index bb8c929e..2f09cf63 100644
--- a/database/data/categories/walking_pair.yaml
+++ b/database/data/categories/walking_pair.yaml
@@ -15,6 +15,7 @@ related:
- walking_coreflexive_pair
- walking_fork
- walking_morphism
+ - forked_commutative_square
satisfied_properties:
- property: small
diff --git a/database/data/macros.yaml b/database/data/macros.yaml
index 4d7178e6..652f1e18 100644
--- a/database/data/macros.yaml
+++ b/database/data/macros.yaml
@@ -123,6 +123,7 @@
\Cone: \mathbf{Cone}
\SemiGrp: \mathbf{SemiGrp}
\Square: \mathbf{Square}
+\ForkSquare: \mathbf{ForkSquare}
\Comp: \mathbf{Comp}
\Fork: \mathbf{Fork}
\Isom: \mathbf{Isom}
From 980ec9ac371e5d75b07baebb906de84f85f84188 Mon Sep 17 00:00:00 2001
From: Script Raccoon
Date: Wed, 5 Aug 2026 00:12:15 +0200
Subject: [PATCH 4/6] add example of a non-strong extremal monomorphism
---
.../extremal-not-strong-example.yaml | 22 +++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100644 database/data/morphisms/extremal-not-strong-example.yaml
diff --git a/database/data/morphisms/extremal-not-strong-example.yaml b/database/data/morphisms/extremal-not-strong-example.yaml
new file mode 100644
index 00000000..1c050c12
--- /dev/null
+++ b/database/data/morphisms/extremal-not-strong-example.yaml
@@ -0,0 +1,22 @@
+id: extremal-not-strong-example
+name: example of a non-strong extremal monomorphism
+notation: $m$
+category: forked_commutative_square
+description: 'This is the morphism $m : C \to D$ from the forked commutative square, see details there. It provides an example of an extremal monomorphism which is not strong, and this is the only reason we have added this morphism and its category to the database.'
+nlab_link: null
+
+tags:
+ - category theory
+
+related: []
+
+satisfied_properties:
+ - property: extremal monomorphism
+ proof: It is a monomorphism because, in fact, every morphism in the forked commutative square is a monomorphism. The only factorizations of $m$ are $m \circ \id_C$ and ${\id_D} \circ m$, and $m$ is not an epimorphism (because $u \circ m = v \circ m$ but $u \neq v$).
+
+unsatisfied_properties:
+ - property: strong monomorphism
+ proof: >-
+ The category contains a commutative diagram
+ $$\begin{CD} A @>e>> B \\ @V{f}VV @VV{g}V \\ C @>>m> D \end{CD}$$
+ in which $e$ is an epimorphism, but there is no morphism $B \to C$ at all.
From 95e4ee5111bb40bfe1191901989e4237bc43cb28 Mon Sep 17 00:00:00 2001
From: Script Raccoon
Date: Wed, 5 Aug 2026 12:54:36 +0200
Subject: [PATCH 5/6] add page with relationships between epimorphisms and
monomorphisms
---
content/relationships-epis-monos.md | 42 ++++++++++++++++++
.../effective epimorphism.yaml | 2 +-
.../effective monomorphism.yaml | 2 +-
.../extremal epimorphism.yaml | 2 +-
.../extremal monomorphism.yaml | 2 +-
.../strict epimorphism.yaml | 2 +-
.../strict monomorphism.yaml | 2 +-
.../strong epimorphism.yaml | 2 +-
.../strong monomorphism.yaml | 2 +-
src/routes/[type]-implications/+page.svelte | 6 +++
src/routes/content/[id]/+page.svelte | 11 +++++
static/img/epis.webp | Bin 0 -> 42172 bytes
static/img/monos.webp | Bin 0 -> 44692 bytes
13 files changed, 67 insertions(+), 8 deletions(-)
create mode 100644 content/relationships-epis-monos.md
create mode 100644 static/img/epis.webp
create mode 100644 static/img/monos.webp
diff --git a/content/relationships-epis-monos.md b/content/relationships-epis-monos.md
new file mode 100644
index 00000000..06893a10
--- /dev/null
+++ b/content/relationships-epis-monos.md
@@ -0,0 +1,42 @@
+---
+title: Relationships between epimorphisms and monomorphisms
+description: A graphical overview of the relationships between the various types of epimorphisms and monomorphisms
+---
+
+## Relationships between epimorphisms and monomorphisms
+
+There are several [properties of morphisms](/morphism-properties), including various types of epimorphisms and monomorphisms. The [implications](/morphism-implications) establish various relationships between these types. Here we present a graphical overview of these relationships.
+
+### The various types of epimorphisms
+
+
+
+In the diagram, an arrow $X \Longrightarrow Y$ means that every morphism with property $X$ also has property $Y$. If it is labelled with a category property $P$, the implication does not hold in general, but it holds in categories satisfying $P$. For example, in a category with pullbacks, every strict epimorphism is effective.
+
+Fun fact: This describes a category in itself, the composition of $P : X \Rightarrow Y$ and $Q : Y \Rightarrow Z$ is $P \wedge Q : X \Rightarrow Z$.
+
+### The various types of monomorphisms
+
+This diagram is just the dual of the previous diagram. The same notation applies.
+
+
+
+### TeX code
+
+```
+\begin{tikzcd}[column sep=-30pt, row sep=40pt,nodes={inner sep=10pt}]
+& \text{isomorphism} \ar[Rightarrow]{dr} \ar[Rightarrow]{dl} & & \\
+\text{split monomorphism} \ar[Rightarrow]{dr} && \text{effective monomorphism} \ar[Rightarrow]{dl} & \\
+ & \text{regular monomorphism} \ar[Rightarrow]{rr} & & \text{strict monomorphism} \ar[Rightarrow]{ul}[swap]{\text{pushouts}} \ar[Rightarrow]{d} \\
+ & \text{extremal monomorphism} \ar[Rightarrow]{u}{\text{coregular\;}} \ar[Rightarrow]{d} & & \text{strong monomorphism} \ar[Rightarrow]{ll} \\
+ & \text{monomorphism} \ar[Rightarrow]{urr}[swap]{\text{epi-regular}} &&
+\end{tikzcd}$$
+
+$$\begin{tikzcd}[column sep=-30pt, row sep=40pt,nodes={inner sep=10pt}]
+& \text{isomorphism} \ar[Rightarrow]{dr} \ar[Rightarrow]{dl} & & \\
+\text{split epimorphism} \ar[Rightarrow]{dr} && \text{effective epimorphism} \ar[Rightarrow]{dl} & \\
+ & \text{regular epimorphism} \ar[Rightarrow]{rr} & & \text{strict epimorphism} \ar[Rightarrow]{ul}[swap]{\text{pullbacks}} \ar[Rightarrow]{d} \\
+ & \text{extremal epimorphism} \ar[Rightarrow]{u}{\text{regular\;}} \ar[Rightarrow]{d} & & \text{strong epimorphism} \ar[Rightarrow]{ll} \\
+ & \text{epimorphism} \ar[Rightarrow]{urr}[swap]{\text{mono-regular}} &&
+\end{tikzcd}
+```
diff --git a/database/data/morphism-properties/effective epimorphism.yaml b/database/data/morphism-properties/effective epimorphism.yaml
index 2726981f..13b0e611 100644
--- a/database/data/morphism-properties/effective epimorphism.yaml
+++ b/database/data/morphism-properties/effective epimorphism.yaml
@@ -3,7 +3,7 @@ relation: is an
description: >-
A morphism $p : A \to B$ is an effective epimorphism if the pullback $A \times_B A$ exists and $p$ is the coequalizer of the two projections $p_1,p_2 : A \times_B A \rightrightarrows A$.
- By the implications below, effective epimorphisms are closely related to strict and regular epimorphisms. Every effective epimorphism is regular and hence strict, and in a category with pullbacks, every strict epimorphism is effective. Thus, in categories with pullbacks, all three mentioned classes of epimorphisms coincide.
+ By the implications below, effective epimorphisms are closely related to strict and regular epimorphisms. Every effective epimorphism is regular and hence strict, and in a category with pullbacks, every strict epimorphism is effective. Thus, in categories with pullbacks, all three mentioned classes of epimorphisms coincide. See also this overview.
nlab_link: https://ncatlab.org/nlab/show/effective+epimorphism
invariant_under_equivalences: true
dual: effective monomorphism
diff --git a/database/data/morphism-properties/effective monomorphism.yaml b/database/data/morphism-properties/effective monomorphism.yaml
index 29c7449f..370bc44c 100644
--- a/database/data/morphism-properties/effective monomorphism.yaml
+++ b/database/data/morphism-properties/effective monomorphism.yaml
@@ -3,7 +3,7 @@ relation: is an
description: >-
A morphism $m : A \to B$ is an effective monomorphism if the pushout $B \sqcup_A B$ exists and $m$ is the equalizer of the two coprojections $i_1,i_2 : B \rightrightarrows B \sqcup_A B$.
- By the implications below, effective monomorphisms are closely related to strict and regular monomorphisms. Every effective monomorphism is regular and hence strict, and in a category with pushouts, every strict monomorphism is effective. Thus, in categories with pushouts, all three mentioned classes of monomorphisms coincide.
+ By the implications below, effective monomorphisms are closely related to strict and regular monomorphisms. Every effective monomorphism is regular and hence strict, and in a category with pushouts, every strict monomorphism is effective. Thus, in categories with pushouts, all three mentioned classes of monomorphisms coincide. See also this overview.
nlab_link: https://ncatlab.org/nlab/show/effective+monomorphism
invariant_under_equivalences: true
dual: effective epimorphism
diff --git a/database/data/morphism-properties/extremal epimorphism.yaml b/database/data/morphism-properties/extremal epimorphism.yaml
index 1aa7fbfa..78dbb4e0 100644
--- a/database/data/morphism-properties/extremal epimorphism.yaml
+++ b/database/data/morphism-properties/extremal epimorphism.yaml
@@ -3,7 +3,7 @@ relation: is an
description: >-
A morphism $e : A \to B$ is an extremal epimorphism if it is a epimorphism and whenever $e = m \circ g$ is a factorization in which $m$ is a monomorphism, then $m$ is an isomorphism. The condition that $e$ is an epimorphism follows from the factorization property when the category has equalizers, but in general, we need to explicitly demand it.
- By the implications below, extremal epimorphisms are closed related to strong epimorphisms: every strong epimorphism is extremal, and the converse holds when pullbacks exist.
+ By the implications below, extremal epimorphisms are closely related to strong epimorphisms: every strong epimorphism is extremal, and the converse holds when pullbacks exist. See also this overview.
nlab_link: https://ncatlab.org/nlab/show/extremal+epimorphism
invariant_under_equivalences: true
dual: extremal monomorphism
diff --git a/database/data/morphism-properties/extremal monomorphism.yaml b/database/data/morphism-properties/extremal monomorphism.yaml
index a229bc8d..7e3a2893 100644
--- a/database/data/morphism-properties/extremal monomorphism.yaml
+++ b/database/data/morphism-properties/extremal monomorphism.yaml
@@ -3,7 +3,7 @@ relation: is an
description: >-
A morphism $m : A \to B$ is an extremal monomorphism if it is a monomorphism and whenever $m = g \circ e$ is a factorization in which $e$ is an epimorphism, then $e$ is an isomorphism. The condition that $m$ is a monomorphism follows from the factorization property when the category has coequalizers, but in general, we need to explicitly demand it.
- By the implications below, extremal monomorphisms are closed related to strong monomorphisms: every strong monomorphism is extremal, and the converse holds when pushouts exist.
+ By the implications below, extremal monomorphisms are closely related to strong monomorphisms: every strong monomorphism is extremal, and the converse holds when pushouts exist. See also this overview.
nlab_link: https://ncatlab.org/nlab/show/extremal+monomorphism
invariant_under_equivalences: true
dual: extremal epimorphism
diff --git a/database/data/morphism-properties/strict epimorphism.yaml b/database/data/morphism-properties/strict epimorphism.yaml
index 25162d5c..e6262297 100644
--- a/database/data/morphism-properties/strict epimorphism.yaml
+++ b/database/data/morphism-properties/strict epimorphism.yaml
@@ -3,7 +3,7 @@ relation: is a
description: >-
A morphism $p : A \to B$ is a strict epimorphism if it is the joint coequalizer of all pairs of morphisms $g,h : C \rightrightarrows A$ that it coequalizes. That is, $p$ is an epimorphism, and a morphism $t : A \to T$ factors through $p$ if we have $t \circ g = t \circ h$ for all morphisms $g,h : C \rightrightarrows A$ that satisfy $p \circ g = p \circ h$. That is, the minimal requirement for a morphism to factor through $p$ is actually sufficient.
- By the implications below, strict epimorphisms are closely related to effective and regular epimorphisms. Every effective epimorphism is regular and hence strict, and in a category with pullbacks, every strict epimorphism is effective. Thus, in categories with pullbacks, all three mentioned classes of epimorphisms coincide.
+ By the implications below, strict epimorphisms are closely related to effective and regular epimorphisms. Every effective epimorphism is regular and hence strict, and in a category with pullbacks, every strict epimorphism is effective. Thus, in categories with pullbacks, all three mentioned classes of epimorphisms coincide. See also this overview.
nlab_link: https://ncatlab.org/nlab/show/strict+epimorphism
invariant_under_equivalences: true
dual: strict monomorphism
diff --git a/database/data/morphism-properties/strict monomorphism.yaml b/database/data/morphism-properties/strict monomorphism.yaml
index df2623ec..fec5812f 100644
--- a/database/data/morphism-properties/strict monomorphism.yaml
+++ b/database/data/morphism-properties/strict monomorphism.yaml
@@ -3,7 +3,7 @@ relation: is a
description: >-
A morphism $m : A \to B$ is a strict monomorphism if it is the joint equalizer of all pairs of morphisms $g,h : B \rightrightarrows C$ that it equalizes. That is, $m$ is a monomorphism, and a morphism $t : T \to B$ factors through $m$ if we have $g \circ t = h \circ t$ for all morphisms $g,h : B \rightrightarrows C$ that satisfy $g \circ m = h \circ m$. That is, the minimal requirement for a morphism to factor through $m$ is actually sufficient.
- By the implications below, strict monomorphisms are closely related to effective and regular monomorphisms. Every effective monomorphism is regular and hence strict, and in a category with pushouts, every strict monomorphism is effective. Thus, in categories with pushouts, all three mentioned classes of monomorphisms coincide.
+ By the implications below, strict monomorphisms are closely related to effective and regular monomorphisms. Every effective monomorphism is regular and hence strict, and in a category with pushouts, every strict monomorphism is effective. Thus, in categories with pushouts, all three mentioned classes of monomorphisms coincide. See also this overview.
nlab_link: https://ncatlab.org/nlab/show/strict+monomorphism
invariant_under_equivalences: true
dual: strict epimorphism
diff --git a/database/data/morphism-properties/strong epimorphism.yaml b/database/data/morphism-properties/strong epimorphism.yaml
index 72beead0..9af2d3f0 100644
--- a/database/data/morphism-properties/strong epimorphism.yaml
+++ b/database/data/morphism-properties/strong epimorphism.yaml
@@ -7,7 +7,7 @@ description: >-
$$\begin{CD} A @>e>> B \\ @VVV \swarrow @VVV \\ C @>>m> D \end{CD}$$
If the category has equalizers, the orthogonality condition already implies that $e$ is an epimorphism, but in general, we need to demand this.
- By the implications below, strong epimorphisms are closed related to extremal epimorphisms: every strong epimorphism is extremal, and the converse holds when pullbacks exist.
+ By the implications below, strong epimorphisms are closely related to extremal epimorphisms: every strong epimorphism is extremal, and the converse holds when pullbacks exist. See also this overview.
nlab_link: https://ncatlab.org/nlab/show/strong+epimorphism
invariant_under_equivalences: true
dual: strong monomorphism
diff --git a/database/data/morphism-properties/strong monomorphism.yaml b/database/data/morphism-properties/strong monomorphism.yaml
index 22646378..1d42dc23 100644
--- a/database/data/morphism-properties/strong monomorphism.yaml
+++ b/database/data/morphism-properties/strong monomorphism.yaml
@@ -7,7 +7,7 @@ description: >-
$$\begin{CD} C @>e>> D \\ @VVV \swarrow @VVV \\ A @>>m> B \end{CD}$$
If the category has coequalizers, the orthogonality condition already implies that $m$ is a monomorphism, but in general, we need to demand this.
- By the implications below, strong monomorphisms are closed related to extremal monomorphisms: every strong monomorphism is extremal, and the converse holds when pushouts exist.
+ By the implications below, strong monomorphisms are closely related to extremal monomorphisms: every strong monomorphism is extremal, and the converse holds when pushouts exist. See also this overview.
nlab_link: https://ncatlab.org/nlab/show/strong+monomorphism
invariant_under_equivalences: true
dual: strong epimorphism
diff --git a/src/routes/[type]-implications/+page.svelte b/src/routes/[type]-implications/+page.svelte
index c3ba82ca..46c8dbca 100644
--- a/src/routes/[type]-implications/+page.svelte
+++ b/src/routes/[type]-implications/+page.svelte
@@ -47,6 +47,12 @@
each morphism whenever applicable. Moreover, implications are
automatically dualized when the corresponding dual properties exist.
+
+
+ See this page for a graphical
+ overview of the relationships between the various types of epimorphisms and
+ monomorphisms.
+
{/if}
diff --git a/src/routes/content/[id]/+page.svelte b/src/routes/content/[id]/+page.svelte
index 8c722cbb..3d6fa10c 100644
--- a/src/routes/content/[id]/+page.svelte
+++ b/src/routes/content/[id]/+page.svelte
@@ -96,5 +96,16 @@
:global(p:has(span.qed:only-child)) {
height: 1lh;
}
+
+ :global(pre) {
+ padding: 1rem;
+ border-radius: 0.75rem;
+ font-size: 0.875rem;
+ background-color: var(--secondary-bg-color);
+ }
+
+ :global(pre code) {
+ white-space: pre-wrap;
+ }
}
diff --git a/static/img/epis.webp b/static/img/epis.webp
new file mode 100644
index 0000000000000000000000000000000000000000..a2a62d3c81bb9d1c826cf017131177d3a70de7ee
GIT binary patch
literal 42172
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