From 6d2508db22399c8f976fa4263dbf22dd7c37ff0f Mon Sep 17 00:00:00 2001 From: Daniel Schepler Date: Sun, 3 May 2026 16:11:57 -0400 Subject: [PATCH 1/5] Add properties: effective congruences / effective cocongruences --- .../001_limits-colimits-existence.sql | 32 +++++++++++++++++++ .../100_related-category-properties.sql | 12 +++++++ 2 files changed, 44 insertions(+) diff --git a/databases/catdat/data/002_category-properties/001_limits-colimits-existence.sql b/databases/catdat/data/002_category-properties/001_limits-colimits-existence.sql index 69f42efd..91b81257 100644 --- a/databases/catdat/data/002_category-properties/001_limits-colimits-existence.sql +++ b/databases/catdat/data/002_category-properties/001_limits-colimits-existence.sql @@ -343,6 +343,38 @@ VALUES 'quotients of congruences', TRUE ), +( + 'effective congruences', + 'has', + 'A congruence $f, g : E \rightrightarrows X$ (see definition here) is effective if it is the kernel pair of some morphism, i.e. if there is a morphism $h : X \to Y$ such that we have a cartesian square + $$ + \begin{CD} + E @> f >> X \\ + @V g VV @VV h V \\ + X @>> h > Y. + \end{CD} + $$ + A category has effective congruences if every congruence in the category is effective.', + 'https://ncatlab.org/nlab/show/congruence', + 'effective cocongruences', + TRUE +), +( + 'effective cocongruences', + 'has', + 'A cocongruence $f, g : X \rightrightarrows E$ (see definition here) is effective if it is the cokernel pair of some morphism, i.e. if there is a morphism $h : Y \to X$ such that we have a cocartesian square + $$ + \begin{CD} + Y @> h >> X \\ + @V h VV @VV f V \\ + X @>> g > E. + \end{CD} + $$ + A category has effective cocongruences if every cocongruence in the category is effective.', + NULL, + 'effective congruences', + TRUE +), ( 'cosifted limits', 'has', diff --git a/databases/catdat/data/002_category-properties/100_related-category-properties.sql b/databases/catdat/data/002_category-properties/100_related-category-properties.sql index c609e74e..35053691 100644 --- a/databases/catdat/data/002_category-properties/100_related-category-properties.sql +++ b/databases/catdat/data/002_category-properties/100_related-category-properties.sql @@ -293,9 +293,17 @@ VALUES ('quotients of congruences', 'coequalizers'), ('quotients of congruences', 'cokernels'), ('quotients of congruences', 'regular'), +('quotients of congruences', 'effective congruences'), ('coquotients of cocongruences', 'equalizers'), ('coquotients of cocongruences', 'kernels'), ('coquotients of cocongruences', 'coregular'), +('coquotients of cocongruences', 'effective cocongruences'), +('effective congruences', 'normal'), +('effective congruences', 'quotients of congruences'), +('effective congruences', 'mono-regular'), +('effective cocongruences', 'conormal'), +('effective cocongruences', 'coquotients of cocongruences'), +('effective cocongruences', 'epi-regular'), ('direct', 'one-way'), ('direct', 'skeletal'), ('inverse', 'one-way'), @@ -341,15 +349,19 @@ VALUES ('cofiltered', 'finitely complete'), ('cofiltered', 'cofiltered limits'), ('mono-regular', 'normal'), +('mono-regular', 'effective congruences'), ('mono-regular', 'subobject-trivial'), ('epi-regular', 'conormal'), +('epi-regular', 'effective cocongruences'), ('epi-regular', 'quotient-trivial'), ('normal', 'zero morphisms'), ('normal', 'mono-regular'), ('normal', 'kernels'), +('normal', 'effective congruences'), ('conormal', 'zero morphisms'), ('conormal', 'epi-regular'), ('conormal', 'cokernels'), +('conormal', 'effective cocongruences'), ('multi-complete', 'complete'), ('multi-complete', 'multi-terminal object'), ('multi-terminal object', 'multi-complete'), From 3189d571dc7d75e24ede6a45a999462d798aded9 Mon Sep 17 00:00:00 2001 From: Daniel Schepler Date: Sun, 3 May 2026 16:14:40 -0400 Subject: [PATCH 2/5] Add results on effective congruences --- .../004_morphism-behavior-implications.sql | 10 ++-- .../005_additional-structure-implications.sql | 26 +++++++++- .../007_locally-presentable-implications.sql | 9 +++- .../008_topos-theory-implications.sql | 52 ++++++++++++++----- .../catdat/data/009_lemmas/001_lemmas.sql | 32 ++++++++++++ 5 files changed, 110 insertions(+), 19 deletions(-) diff --git a/databases/catdat/data/004_category-implications/004_morphism-behavior-implications.sql b/databases/catdat/data/004_category-implications/004_morphism-behavior-implications.sql index 5b83b6b4..4196ec49 100644 --- a/databases/catdat/data/004_category-implications/004_morphism-behavior-implications.sql +++ b/databases/catdat/data/004_category-implications/004_morphism-behavior-implications.sql @@ -37,8 +37,8 @@ VALUES ( 'reflexive_pair_trivial', '["left cancellative"]', - '["reflexive coequalizers", "coreflexive equalizers"]', - 'Any parallel pair of morphisms with a common section (or retraction) must be a pair of equal isomorphisms.', + '["reflexive coequalizers", "coreflexive equalizers", "effective congruences", "effective cocongruences"]', + 'Any parallel pair of morphisms with a common section (or retraction) must be a pair of equal isomorphisms. In particular, they are the kernel pair of the identity morphism on the target, and the cokernel pair of the identity morphism on the source.', FALSE ), ( @@ -192,8 +192,8 @@ VALUES ( 'core-hin_quotients', '["core-thin"]', - '["quotients of congruences"]', - 'If $p_1, p_2 : E \rightrightarrows X$ is a congruence, the symmetry morphism $s : E \to E$ is an automorphism of $E$, hence equal to $\id_E$ by assumption. But then $p_1 = p_2 \circ s = p_2$, and simply $\id_X$ is a coequalizer.', + '["quotients of congruences", "effective congruences"]', + 'If $p_1, p_2 : E \rightrightarrows X$ is a congruence, the symmetry morphism $s : E \to E$ is an automorphism of $E$, hence equal to $\id_E$ by assumption. But then $p_1 = p_2 \circ s = p_2$, and simply $\id_X$ is a coequalizer. Also, for the reflexivity morphism $r : X \to E$, we have $p_1 \circ r = \id$. For the reverse composition, $p_1 \circ r \circ p_1 = p_1 \circ \id$ and $p_2 \circ r \circ p_1 = p_2 \circ \id$, so since $p_1, p_2$ are jointly monomorphic, we get $r \circ p_1 = \id$. Therefore, $p_1 = p_2$ is an isomorphism, so $E$ is the kernel pair of $\id_X$.', FALSE ), ( @@ -230,4 +230,4 @@ VALUES '["subobject-trivial"]', 'This is because a monomorphism which is also a regular epimorphism is an isomorphism.', FALSE -); \ No newline at end of file +); diff --git a/databases/catdat/data/004_category-implications/005_additional-structure-implications.sql b/databases/catdat/data/004_category-implications/005_additional-structure-implications.sql index 24b71cdb..3667650e 100644 --- a/databases/catdat/data/004_category-implications/005_additional-structure-implications.sql +++ b/databases/catdat/data/004_category-implications/005_additional-structure-implications.sql @@ -27,6 +27,30 @@ VALUES 'This is trivial.', FALSE ), +( + 'preadditive_kernels_normal_imply_effective_congruences', + '["preadditive", "kernels", "normal"]', + '["effective congruences"]', + 'Let $f, g : E \rightrightarrows X$ be a congruence. Then let $E_0$ be the kernel of $g$. We see that $f|_{E_0} : E_0 \to X$ is a monomorphism. Let $f|_{E_0}$ be the kernel of a morphism $h : X \to Y$. We claim that $E$ is also the kernel pair of $h$.
+ To see this, suppose we have a pair of generalized elements $x_1, x_2 \in X(T)$. Then we have + $$\begin{align*} + (x_1,x_2) \in E & \iff (x_1 - x_2,0) \in E \\ + & \iff x_1 - x_2 \in E_0 \\ + & \iff h(x_1 - x_2) = 0 \\ + & \iff h(x_1) = h(x_2). + \end{align*}$$ + In particular, applying the forward implications in the case $T := E$, $x_1 := f$, $x_2 := g$, we conclude that $h \circ f = h \circ g$, so we get the required commutative diagram. From there, the reverse implications show this diagram is a cartesian square.', + FALSE +), +( + 'additive_effective_congruences_imply_normal', + '["additive", "finitely complete", "effective congruences"]', + '["normal"]', + 'Let $i : Y \hookrightarrow X$ be a monomorphism. Then the pullback $E$ of + $$X \times X \xrightarrow{p_1 - p_2} X \xhookleftarrow{~~~i~~~} Y$$ + is a congruence on $X$. This is because for generalized elements $x_1, x_2 \in X(T)$, $(x_1, x_2)$ factors through $E$ if and only if $x_1 - x_2$ factors through $Y$. In other words, the relation on $X(T)$ is exactly $x_1 \equiv x_2 \pmod{Y(T)}$, which is an equivalence relation on $X(T)$ (and in fact a congruence in $\mathbf{Ab}$). Now by assumption, $E$ is the kernel pair of some morphism $h : X \to Z$; in other words, $(x_1, x_2)$ factors through $E$ if and only if $h(x_1) = h(x_2)$. In particular, for $x \in X(T)$, $x$ factors through $Y$ if and only if $(x, 0)$ factors through $E$, which is equivalent to $h(x) = h(0) = 0$. We have thus shown that $Y$ is the kernel of $h$.', + FALSE +), ( 'additive_definition', '["additive"]', @@ -110,4 +134,4 @@ VALUES '["trivial"]', 'This follows since the dual of a non-trivial Grothendieck abelian category cannot be Grothendieck abelian. See Peter Freyd, Abelian categories, p. 116.', FALSE -); \ No newline at end of file +); diff --git a/databases/catdat/data/004_category-implications/007_locally-presentable-implications.sql b/databases/catdat/data/004_category-implications/007_locally-presentable-implications.sql index e9555508..b801b7bc 100644 --- a/databases/catdat/data/004_category-implications/007_locally-presentable-implications.sql +++ b/databases/catdat/data/004_category-implications/007_locally-presentable-implications.sql @@ -223,10 +223,17 @@ VALUES 'This follows from one of equivalent formulations of multi-algebraic categories.', TRUE ), +( + 'multi-algebraic_implies_effective_congruences', + '["multi-algebraic"]', + '["effective congruences"]', + 'This is Thm. 4.0 in Yves Diers, Catégories Multialgébriques or its English translation.', + FALSE +), ( 'locally-finitely-multi-presentable_stable-monos', '["locally finitely multi-presentable"]', '["filtered-colimit-stable monomorphisms"]', 'Every locally finitely multi-presentable category is a multi-reflective full subcategory of a presheaf category closed under filtered colimits (Adamek-Rosicky, 4.30). Since multi-reflective full subcategories are in general closed under connected limits (Adamek-Rosicky, Thm. 4.26), in particular, we can calculate not only filtered colimits but also kernel pairs as well as in a presheaf category.', FALSE -); \ No newline at end of file +); diff --git a/databases/catdat/data/004_category-implications/008_topos-theory-implications.sql b/databases/catdat/data/004_category-implications/008_topos-theory-implications.sql index ced55c45..14f7a664 100644 --- a/databases/catdat/data/004_category-implications/008_topos-theory-implications.sql +++ b/databases/catdat/data/004_category-implications/008_topos-theory-implications.sql @@ -121,8 +121,8 @@ VALUES ( 'topos_consequence', '["elementary topos"]', - '["finitely cocomplete", "disjoint finite coproducts", "epi-regular"]', - 'See Mac Lane & Moerdijk, Cor. IV.5.4, Cor. IV.10.5, Thm. 4.7.8.', + '["finitely cocomplete", "disjoint finite coproducts", "epi-regular", "effective congruences"]', + 'See Mac Lane & Moerdijk, Cor. IV.5.4, Cor. IV.10.5, Thm. 4.7.8; and Johnstone, Part A, Proposition 2.4.1.', FALSE ), ( @@ -167,6 +167,41 @@ VALUES 'This is proven in Johnstone, A2.6.3 (for every quasitopos).', FALSE ), +( + 'regular_effective_congruences_implies_quotients', + '["regular", "effective congruences"]', + '["quotients of congruences"]', + 'We assume that every congruence is effective, and the regularity condition implies that every effective congruence has a quotient.', + FALSE +), +( + 'regular_epi-regular_extensive_consequences', + '["regular", "epi-regular", "extensive"]', + '["effective cocongruences", "co-Malcev"]', + 'Suppose we have a coreflexive corelation + $$X+X'' \xtwoheadrightarrow{p} E \xtwoheadrightarrow{r} X$$ + on $X$, where we let $X''$ be an isomorphic copy of $X$ for clarity below. Let $Y$ be the equalizer of $p\circ i_1, p\circ i_2 : X \rightrightarrows E$. That means that for a generalized element $x \in X(T)$, $x \in Y(T)$ if and only if $p(x) = p(x'')$. Then by the assumptions $p$ is a regular epimorphism. By regularity, $p$ is the coequalizer of its kernel pair, which can be expressed as the equalizer $K$ of + $$p \circ \pi_1,\, p\circ \pi_2 : (X+X'') \times (X+X'') \rightrightarrows E,$$ + where $\pi_1, \pi_2$ are the projections. By distributivity and extensivity, it is sufficient to calculate the equalizer on each "quadrant" of $(X+X'') \times (X+X'')$, i.e. the four copies of $X \times X$.
+ On the $X\times X$ quadrant, for generalized elements $x_1, x_2 \in X(T)$, we have $(x_1, x_2) \in K(T)$ if and only if $p(x_1) = p(x_2)$. Since $p\circ i_1$ is a split monomorphism, this is equivalent to $x_1 = x_2$. Thus, the $X\times X$ quadrant of $K$ is the diagonal of $X$. On the $X\times X''$ quadrant, we have $(x_1, x_2'')\in K(T)$ if and only if $p(x_1) = p(x_2'')$. Since $r(p(x_1)) = x_1$ and $r(p(x_2'')) = x_2$, this condition implies $x_1 = x_2$; and then by definition of $Y$, $x_1 = x_2 \in Y(T)$. The converse is straightforward. Thus, the $X\times X''$ quadrant of $K$ is the diagonal of $Y$. Similarly, the $X''\times X$ quadrant of $K$ is the diagonal of $Y$, and the $X''\times X''$ quadrant of $K$ is the diagonal of $X$.
+ + Thus, we get that a morphism $h : X+X'' \to Z$ factors through $E$ if and only if $h(x) = h(x)$ for every generalized element $x \in X$; $h(y) = h(y'')$ for every $y \in Y$; $h(y'') = h(y)$ for every $y\in Y$; and $h(x'') = h(x'')$ for every $x \in X$. Clearly this is equivalent to $h(y) = h(y'')$ for every $y\in Y$, so in fact $E$ is the cokernel pair of $i_1 \circ \operatorname{inc}_Y$ and $i_2 \circ \operatorname{inc}_Y$. This means that $E$ is an effective cocongruence.

+ + Remark: The assumptions are satisfied in particular for every elementary topos. Therefore, every elementary topos has effective cocongruences and is co-Malcev. This special case is Example 2.2.18 in Malcev, protomodular, homological and semi-abelian categories. An alternative proof of this special case is given later in A.5.17.', + FALSE +), +( + 'pretopos_balanced', + '["effective congruences", "extensive"]', + '["mono-regular"]', + 'Let $\alpha : A \hookrightarrow B$ be a monomorphism. Let $B''$ be a copy of $B$, and likewise let $A''$ be a copy of $A$. Consider the congruence on $B + B''$ generated by $y \sim y''$ for $y \in A$. Formally, we define $E := B + B'' + A + A''$ and define the two morphisms $f, g : E \rightrightarrows B + B''$ by extending the identity on $B + B''$ and + $$\begin{align*} + f(y) & = \alpha(y), & f(y'') & = \alpha(y)'', \\ + g(y) & = \alpha(y)'', & g(y'') & = \alpha(y), + \end{align*}$$ + on generalized elements. Extensivity can be used to show that $f, g$ are jointly monomorphic. Clearly, the pair $f, g$ is reflexive and symmetric. For transitivity, one once again uses extensivity. By assumption, there is a morphism $h : B + B'' \to C$ such that $f, g$ is the kernel pair of $h$, that is, two generalized elements $x, y \in B + B''$ satisfy $h(x) = h(y)$ if and only if $x = f(e)$, $y = g(e)$ for some $e \in E$. In particular, for $x \in B$, we have $h(x) = h(x'')$ if and only if $x = f(e)$, $x'' = g(e)$ for some $e \in E$. By disjointness of coproducts, we must necessarily have $e \in A$, and $x = \alpha(e)$. This shows that $\alpha$ is the equalizer of $h \circ i_1, h \circ i_2 : B \rightrightarrows C$.', + FALSE +), ( 'lcc_implies_extensive', '["locally cartesian closed", "disjoint finite coproducts"]', @@ -181,18 +216,11 @@ VALUES 'The pullback functor preserves coproducts because it has a right adjoint. See also Remark 2.6 at the nLab.', FALSE ), -( - 'topos_is_co-malcev', - '["elementary topos"]', - '["co-Malcev"]', - 'This is Example 2.2.18 in Malcev, protomodular, homological and semi-abelian categories. An alternative proof is given later in A.5.17.', - FALSE -), ( 'subobject_classifier_disallows_malcev', '["subobject classifier", "Malcev"]', - '["thin"]', - 'The subobject classifier $\Omega$ is an internal poset (cf. Mac Lane & Moerdijk, IV.8). Concretely, the intersection of subobjects yields a morphism $\wedge : \Omega \times \Omega \to \Omega$, and the internal relation ${\leq_{\Omega}} \subseteq \Omega \times \Omega$ is the equalizer of $\wedge, p_1 : \Omega \times \Omega \rightrightarrows \Omega$. The relation ${\leq_{\Omega}}$ is reflexive, hence symmetric by assumption. Since it also antisymmetric and has a largest element $\top$, every monomorphism must be an isomorphism. Applying this to equalizers, we see that the category is thin. (And from here, we can infer that it is trivial.)', + '["subobject-trivial"]', + 'The subobject classifier $\Omega$ is an internal poset (cf. Mac Lane & Moerdijk, IV.8). Concretely, the intersection of subobjects yields a morphism $\wedge : \Omega \times \Omega \to \Omega$, and the internal relation ${\leq_{\Omega}} \subseteq \Omega \times \Omega$ is the equalizer of $\wedge, p_1 : \Omega \times \Omega \rightrightarrows \Omega$. The relation ${\leq_{\Omega}}$ is reflexive, hence symmetric by assumption. Since it also antisymmetric and has a largest element $\top$, every monomorphism must be an isomorphism. (From here, we can infer that the category is trivial.)', FALSE ), ( @@ -236,4 +264,4 @@ VALUES '["trivial"]', 'Let $N := \coprod_{m \in \IN} 1$ and consider for every $n \in \IN$ the subobject $N_{\geq n} = \coprod_{m \geq n} 1$ of $N$. For $n \leq n''$ we have $N_{\geq n''} \subseteq N_{\geq n}$. There is a (unique, split) epimorphism $N_{\geq n} \to 1$ for every $n$. By assumption, their limit $\lim_n N_{\geq n} \to 1$ is also an epimorphism. But $\lim_n N_{\geq n} = \bigcap_{n} N_{\geq n} = 0$. Thus, $0 \to 1$ is an epimorphism. It must be a regular epimorphism, but $0$ is strict initial, so that $0 \to 1$ is an isomorphism. Hence, $X \cong X \times 1 \cong X \times 0 \cong 0$ for all $X$.', FALSE -); \ No newline at end of file +); diff --git a/databases/catdat/data/009_lemmas/001_lemmas.sql b/databases/catdat/data/009_lemmas/001_lemmas.sql index dbb92647..7c471352 100644 --- a/databases/catdat/data/009_lemmas/001_lemmas.sql +++ b/databases/catdat/data/009_lemmas/001_lemmas.sql @@ -129,4 +129,36 @@ INSERT INTO lemmas ( 'Construction of a colimit of a sequence of monomorphisms as a quotient of a congruence', 'Let $\C$ be a countably extensive category with quotients of congruences. Then $\C$ has colimits of sequences of monomorphisms.', 'Suppose we have a sequence $X_1 \hookrightarrow X_2 \hookrightarrow \cdots$ with corresponding monomorphisms $f_{m,n} : X_m \hookrightarrow X_n$ for $m \le n$. Define $Y$ to be the coproduct of all $X_n$. Now for each $m\le n$, define $E_{m,n} := X_m$ with two maps $i_m, i_n \circ f_{m,n} : E_{m,n} \rightrightarrows Y$, and similarly for $m \ge n$ define $E_{m,n} := X_n$ with two maps $i_m \circ f_{n,m}, i_n : E_{m,n} \rightrightarrows Y$. Then the coproduct of all $E_{m,n}$, with the induced morphisms to $Y$, forms a congruence. Here to prove the maps are jointly monomorphic, and again in proving transitivity, we use extensivity to split the domain of the generalized elements of $\sum_{m,n=1}^\infty E_{m,n}$ so that without loss of generality we may assume each factors through one of the coproduct inclusions. Now a quotient of this congruence must be a colimit of the sequence.' +), +( + 'effective-congruence-quotients', + 'Quotients of effective congruences are strict quotients', + 'Let $f, g : E \rightrightarrows X$ be an effective congruence. If $f, g$ have a coequalizer $p : X \to X/E$, then in fact we have a cartesian square + $$\begin{CD} + E @> f >> X \\ + @V g VV @VV p V \\ + X @>> p > X/E. + \end{CD}$$', + 'Suppose we have $h : X \to Z$ so that we have a cartesian square + $$\begin{CD} + E @> f >> X \\ + @V g VV @VV h V \\ + X @>> h > Z. + \end{CD}$$ + Then by the universal property of the coequalizer, there is a unique morphism $$\bar h : X/E \to Z$$ + such that $h = \bar h \circ p$. Now suppose we have generalized elements $x_1, x_2 : T \rightrightarrows X$ such that $p \circ x_1 = p \circ x_2$. Then + $$h \circ x_1 = \bar h \circ p \circ x_1 = \bar h \circ p \circ x_2 = h \circ x_2,$$ + so the pair $x_1, x_2$ factors through $f, g : E \rightrightarrows X$. The uniqueness of the factorization follows from the assumption that $E$ is a congruence, so $f, g$ are jointly monomorphic.' +), +( + 'coslice-effective-congruences', + 'Inheritance of effective congruences in coslice categories', + 'Let $\mathcal{C}$ be an extensive category, and $A$ an object of $\mathcal{C}$. If the coslice category $A \backslash \mathcal{C}$ has effective congruences, then so does $\mathcal{C}$.', + 'Let $f, g : E \rightrightarrows X$ be a congruence in $\mathcal{C}$. We then construct a congruence on $A+X$ in $A \backslash \mathcal{C}$. On an intuitive level, this will be the congruence generated by $a \sim a$ for $a\in A$ and $x \sim y$ for $(x, y) \in E$. More precisely, we will show the two maps + $$\mathrm{id}_A + f,\, \mathrm{id}_A + g : A+E \rightrightarrows A+X$$ + form a congruence. To show the pair of maps is jointly monomorphic, we use extensivity to split the domains of the generalized elements, so without loss of generality we may assume each comes from either $A$ or $E$. Reflexivity and symmetry are straightforward; and for transitivity, we again use extensivity to split the domains of the generalized elements, and provide an argument on each subdomain where the three generalized elements all come from either $A$ or $E$.
+ Now if this congruence is the kernel pair of $h : A+X \to Z$ in $A \backslash \mathcal{C}$, then $E$ is the kernel pair of $h \circ i_2 : X \to Z$ in $\mathcal{C}$. Namely, if we have two generalized elements $x_1, x_2 : T \rightrightarrows X$ such that $h \circ i_2 \circ x_1 = h \circ i_2 \circ x_2$, then we can construct a map pair + $$\mathrm{id}_A + x_1,\, \mathrm{id}_A + x_2 : A+T \rightrightarrows A+X$$ + in $A \backslash \mathcal{C}$ with $h \circ (\mathrm{id}_A + x_1) = h \circ (\mathrm{id}_A + x_2)$. Therefore, $\mathrm{id}_A + x_1, \mathrm{id}_A + x_2$ factors through $A+E$ in $A \backslash \mathcal{C}$, so $x_1, x_2$ factors through $A+E$ in $\mathcal{C}$; and using disjoint coproducts, we may conclude $x_1, x_2$ factors through $E$.' ); + From 5f676c299efe33bc7fe04ea7312e34b6d7678410 Mon Sep 17 00:00:00 2001 From: Daniel Schepler Date: Sun, 3 May 2026 16:20:12 -0400 Subject: [PATCH 3/5] Decide effective (co)congruences for most categories Note that Script Raccoon contributed many enhancements to the proofs and presentation. --- .vscode/settings.json | 3 +++ .../001_categories/100_related-categories.sql | 1 + .../Alg(R).sql | 6 ++++++ .../003_category-property-assignments/Cat.sql | 10 +++++++++- .../FinGrp.sql | 8 +++++++- .../FreeAb.sql | 9 ++++++++- .../Haus.sql | 6 ++++++ .../003_category-property-assignments/Man.sql | 6 ++++++ .../Meas.sql | 6 ++++++ .../003_category-property-assignments/Met.sql | 20 ++++++++++++++++++- .../Met_c.sql | 6 ++++++ .../Met_oo.sql | 6 ++++++ .../003_category-property-assignments/Mon.sql | 13 +++++++++++- .../PMet.sql | 6 ++++++ .../003_category-property-assignments/Pos.sql | 7 +++++++ .../Prost.sql | 6 ++++++ .../003_category-property-assignments/Rel.sql | 6 ++++++ .../Ring.sql | 8 +++++++- .../003_category-property-assignments/Rng.sql | 12 +++++++++++ .../Set_c.sql | 6 ++++++ .../Set_f.sql | 14 ++++++++++++- .../Set_pointed.sql | 7 +++++++ .../Setne.sql | 15 +++++++++++++- .../SetxSet.sql | 6 ++++++ .../003_category-property-assignments/Top.sql | 6 ++++++ .../Top_pointed.sql | 15 +++++++++++--- .../TorsFreeAb.sql | 7 ------- .../003_category-property-assignments/Z.sql | 14 ++++++++++++- .../catdat/scripts/expected-data/Ab.json | 2 ++ .../catdat/scripts/expected-data/Set.json | 2 ++ .../catdat/scripts/expected-data/Top.json | 4 +++- 31 files changed, 223 insertions(+), 20 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 76b8493e..9074afb3 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -105,6 +105,7 @@ "Diers", "diffeomorphism", "diffeomorphisms", + "disjointness", "dualizable", "Dualization", "Eilenberg", @@ -135,6 +136,7 @@ "hypercategory", "hypercollection", "hypercollections", + "idempotents", "infima", "infimum", "infinitary", @@ -185,6 +187,7 @@ "Prerendering", "presheaf", "presheaves", + "pretopos", "procyclic", "proset", "prosets", diff --git a/databases/catdat/data/001_categories/100_related-categories.sql b/databases/catdat/data/001_categories/100_related-categories.sql index 5fc756f0..2b76e80a 100644 --- a/databases/catdat/data/001_categories/100_related-categories.sql +++ b/databases/catdat/data/001_categories/100_related-categories.sql @@ -85,6 +85,7 @@ VALUES ('Met_oo', 'Met_c'), ('Mon', 'CMon'), ('Mon', 'Grp'), +('Mon', 'Cat'), ('N', 'N_oo'), ('N', 'On'), ('N', 'Z_div'), diff --git a/databases/catdat/data/003_category-property-assignments/Alg(R).sql b/databases/catdat/data/003_category-property-assignments/Alg(R).sql index 4db5c6c4..43b3fcca 100644 --- a/databases/catdat/data/003_category-property-assignments/Alg(R).sql +++ b/databases/catdat/data/003_category-property-assignments/Alg(R).sql @@ -96,4 +96,10 @@ VALUES 'cofiltered-limit-stable epimorphisms', FALSE, 'We already know that $\CAlg(R)$ does not have this property. Now apply the contrapositive of the dual of this lemma to the forgetful functor $\CAlg(R) \to \Alg(R)$. It preserves epimorphisms by MSE/5133488.' +), +( + 'Alg(R)', + 'effective cocongruences', + FALSE, + 'The counterexample is similar to the one for $\mathbf{Ring}$: Let $X := R[p] / (p^2-p)$ with cocongruence $E := R \langle p, q \rangle / (p^2-p, q^2-q, pq-q, qp-p)$.' ); diff --git a/databases/catdat/data/003_category-property-assignments/Cat.sql b/databases/catdat/data/003_category-property-assignments/Cat.sql index 2c5f4d36..9a7feb4a 100644 --- a/databases/catdat/data/003_category-property-assignments/Cat.sql +++ b/databases/catdat/data/003_category-property-assignments/Cat.sql @@ -88,4 +88,12 @@ VALUES 'cofiltered-limit-stable epimorphisms', FALSE, 'We already know that $\Set$ does not have this property. Now apply the contrapositive of the dual of this lemma to the functor $\Set \to \Cat$ that maps a set to its discrete category.' -); \ No newline at end of file +), +( + 'Cat', + 'effective cocongruences', + FALSE, + 'The counterexample is similar to the one for $\mathbf{Mon}$: Let $X$ be the walking idempotent, and let $E$ be the delooping of the monoid with presentation + $$\langle p, q \mid p^2=p,\, q^2=q,\, pq=q,\, qp=p \rangle.$$ + The induced relation on functors in $[X, \mathcal{C}]$ is that $F \sim G$ if and only if $F$ and $G$ send the object of $X$ to the same object of $\mathcal{C}$, and they send the idempotent of $X$ to idempotent morphisms $a, b$ in $\mathcal{C}$ satisfying $ab=b$, $ba=a$. From here, the proof that this gives a cocongruence on $\mathbf{Cat}$ which is not effective is similar to the one in $\mathbf{Mon}$.' +); diff --git a/databases/catdat/data/003_category-property-assignments/FinGrp.sql b/databases/catdat/data/003_category-property-assignments/FinGrp.sql index f711ffbd..5ee3f201 100644 --- a/databases/catdat/data/003_category-property-assignments/FinGrp.sql +++ b/databases/catdat/data/003_category-property-assignments/FinGrp.sql @@ -65,6 +65,12 @@ VALUES TRUE, 'The proof works exactly as for the category of finite sets.' ), +( + 'FinGrp', + 'effective congruences', + TRUE, + 'Suppose we have a congruence $f, g : E \rightrightarrows X$ in $\mathbf{FinGrp}$. Since the embedding $\mathbf{FinGrp} \hookrightarrow \mathbf{Grp}$ preserves finite limits, it is also a congruence in $\mathbf{Grp}$. We already know that $\mathbf{Grp}$ has effective congruences since it is algebraic. Using this result, we see that $E$ is the kernel pair of $X \to (X/E)_{\mathbf{Grp}}$ in $\mathbf{Grp}$. Also, the quotient $(X/E)_{\mathbf{Grp}}$ is finite; and the forgetful functor $\mathbf{FinGrp} \to \mathbf{Grp}$ is fully faithful and therefore reflects limits. Thus, we conclude that $E$ is the kernel pair of $X \to (X/E)_{\mathbf{Grp}}$ in $\mathbf{FinGrp}$ as well.' +), ( 'FinGrp', 'normal', @@ -118,4 +124,4 @@ VALUES 'countable', FALSE, 'This is trivial.' -); \ No newline at end of file +); diff --git a/databases/catdat/data/003_category-property-assignments/FreeAb.sql b/databases/catdat/data/003_category-property-assignments/FreeAb.sql index d6e0aa76..c479f199 100644 --- a/databases/catdat/data/003_category-property-assignments/FreeAb.sql +++ b/databases/catdat/data/003_category-property-assignments/FreeAb.sql @@ -84,6 +84,13 @@ VALUES 'sequential colimits', FALSE, 'See MO/509715.' +), +( + 'FreeAb', + 'effective cocongruences', + FALSE, + 'We will let $E$ be the abelian group with presentation $\langle a, b, c \mid a - b = 2c \rangle$, with two morphisms $\mathbb{Z} \rightrightarrows E$ given by $1\mapsto a$, $1\mapsto b$. Note that $E$ is free with basis $\{ b, c \}$. Then $\operatorname{Hom}(E, G) \cong \{ (x, y, z) \in G^3 \mid x - y = 2z \}$. Observe that since $G$ is torsion-free, the projection onto the first two coordinates is injective; and $(x, y)$ is in the image precisely when $x \equiv y \pmod{2G}$, which gives an equivalence relation. Therefore, $E$ gives a cocongruence on $\mathbb{Z}$.
+ On the other hand, if $E$ were the cokernel pair of $h : H \to \mathbb{Z}$, that would mean that for $x, y : \mathbb{Z} \to G$, $x \equiv y \pmod{2G}$ if and only if $x \circ h = y \circ h$. In particular, from the case $G := \mathbb{Z}$, $x := 2 \operatorname{id}$, $y := 0$, we would have $2h = 0$. That implies $h = 0$, but then that would give $\operatorname{id}_{\mathbb{Z}} \equiv 0 \pmod{2}$, resulting in a contradiction.' ); INSERT INTO category_property_comments (category_id, property_id, comment) @@ -92,4 +99,4 @@ VALUES 'FreeAb', 'accessible', 'The question if this category is accessible is undecidable in ZFC. See MSE/720885.' -); \ No newline at end of file +); diff --git a/databases/catdat/data/003_category-property-assignments/Haus.sql b/databases/catdat/data/003_category-property-assignments/Haus.sql index 8d70a7ec..5afefc1e 100644 --- a/databases/catdat/data/003_category-property-assignments/Haus.sql +++ b/databases/catdat/data/003_category-property-assignments/Haus.sql @@ -65,6 +65,12 @@ VALUES TRUE, 'See MO/509548.' ), +( + 'Haus', + 'effective cocongruences', + TRUE, + 'As the proof at MO/509548 shows, in fact any coreflexive corelation on $X$ in $\mathbf{Haus}$ is of the form $X +_S X$ for a closed subset $S$ of $X$. Such a cocongruence is clearly effective.' +), ( 'Haus', 'cartesian filtered colimits', diff --git a/databases/catdat/data/003_category-property-assignments/Man.sql b/databases/catdat/data/003_category-property-assignments/Man.sql index 883066c1..3f691ead 100644 --- a/databases/catdat/data/003_category-property-assignments/Man.sql +++ b/databases/catdat/data/003_category-property-assignments/Man.sql @@ -80,6 +80,12 @@ VALUES Because $r \circ (p \circ i_1) : X \to X$ is the identity, the image of $p \circ i_1$ is the equalizer of $\id_E$ and $(p \circ i_1) \circ r$, hence closed. Likewise, the image of $p \circ i_2$ is closed. Thus, the image of $p$, which is the union of these images, is closed.
Now, since the pushforward maps of tangent spaces compose to the identity, we see that $p$ must be a local immersion and $r$ must be a submersion. Also, since the fibers of $r$ have one or two points each, we see that the dimension of $E$ must locally be the same as the dimension of $X$. This implies that in fact $p$ and $r$ are local diffeomorphisms. Therefore, the cardinality of the fiber of $r$ is locally constant. Thus, if $U$ is the subset of $X$ where $r$ has fiber of a single point, with the subspace topology, then $U$ is a clopen submanifold of $X$ which serves as the equalizer of $p \circ i_1$ and $p \circ i_2$.' ), +( + 'Man', + 'effective cocongruences', + TRUE, + 'From the proof that $\mathbf{Man}$ has coquotients of cocongruences, we know that for any cocongruence $X \rightrightarrows E$, there is a clopen submanifold $U$ of $X$ such that the fibers of $r : E \twoheadrightarrow X$ have one point on $U$, and two points on $X \setminus U$. Therefore, $E$ is the cokernel pair of the inclusion map $U \hookrightarrow X$.' +), ( 'Man', 'small', diff --git a/databases/catdat/data/003_category-property-assignments/Meas.sql b/databases/catdat/data/003_category-property-assignments/Meas.sql index 3cd30515..129d25f4 100644 --- a/databases/catdat/data/003_category-property-assignments/Meas.sql +++ b/databases/catdat/data/003_category-property-assignments/Meas.sql @@ -100,4 +100,10 @@ VALUES 'cofiltered-limit-stable epimorphisms', FALSE, 'We already know that $\Set$ does not have this property. Now apply the contrapositive of the dual of this lemma to the functor $\Set \to \Meas$ which equips a set with the trivial $\sigma$-algebra.' +), +( + 'Meas', + 'effective cocongruences', + FALSE, + 'The proof is similar to the one for $\mathbf{Top}$: Use the trivial $\sigma$-algebra on a two-point set.' ); diff --git a/databases/catdat/data/003_category-property-assignments/Met.sql b/databases/catdat/data/003_category-property-assignments/Met.sql index f3ab4aa0..8312ea5c 100644 --- a/databases/catdat/data/003_category-property-assignments/Met.sql +++ b/databases/catdat/data/003_category-property-assignments/Met.sql @@ -144,4 +144,22 @@ VALUES 'If $(N,z,s)$ is a natural numbers object in $\Met$, then $$1 \xrightarrow{z} N \xleftarrow{s} N$$ is a coproduct cocone by Johnstone, Part A, Lemma 2.5.5. Since there is a map $1 \to N$, we have $N \neq \varnothing$. However, the coproduct of two non-empty metric spaces does not exist, see MSE/1778408.' -); \ No newline at end of file +), +( + 'Met', + 'effective congruences', + FALSE, + 'Any kernel pair of $h : X \to Z$ in $\mathbf{Met}$ corresponds to a closed subset of $X\times X$. However, there are plenty of non-closed congruences, such as $\Delta \cup (\mathbb{Q} \times \mathbb{Q}) \subseteq \mathbb{R} \times \mathbb{R}$ with the subspace metric.' +), +( + 'Met', + 'effective cocongruences', + FALSE, + 'We will define a cocongruence on the interval $(0,1) \subseteq \mathbb{R}$ where $E := (-1, 0) \cup (0, 1) \subseteq \mathbb{R}$, and the two maps $(0, 1) \rightrightarrows E$ are the inclusion map and $x \mapsto -x$. Then for any metric space $X$, the induced relation on non-expansive maps $(0, 1) \to X$ is that $f \sim g$ if and only if + $$d(f(x), g(y)) \le x+y$$ + for each $x, y \in (0, 1)$. This is reflexive since $d(f(x), f(y)) \le |x-y| < x+y$, and it is clearly symmetric. For transitivity, suppose $f\sim g$ and $g\sim h$. Then for any $\varepsilon > 0$, we have + $$d(f(x), h(y)) \le d(f(x), g(\varepsilon)) + d(g(\varepsilon), h(y)) \le (x + \varepsilon) + (y + \varepsilon).$$ + Since this holds for every $\varepsilon > 0$, we conclude $d(f(x), h(y)) \le x+y$.
+ On the other hand, if this cocongruence were effective, then by the dual of this result, it would be the cokernel pair of the equalizer of the two inclusion maps. However, that equalizer is empty, so $E$ would have to be a binary copower of $(0,1)$, which does not exist in $\mathbf{Met}$.' +); + diff --git a/databases/catdat/data/003_category-property-assignments/Met_c.sql b/databases/catdat/data/003_category-property-assignments/Met_c.sql index 855e50ec..d061e8be 100644 --- a/databases/catdat/data/003_category-property-assignments/Met_c.sql +++ b/databases/catdat/data/003_category-property-assignments/Met_c.sql @@ -65,6 +65,12 @@ VALUES TRUE, 'Every non-empty metric space is weakly terminal (by using constant maps).' ), +( + 'Met_c', + 'effective cocongruences', + TRUE, + 'Suppose we have a cocongruence $f, g : X \rightrightarrows E$ in $\mathbf{Met}_\mathrm{c}$. Then the image in $\mathbf{Haus}$ is a coreflexive corelation (since epimorphisms in both categories are continuous maps with dense image). By MO/509548, that implies that image is of the form $X +_S X$ for a closed subset $S$ of $X$. Since $S$ is metrizable, and the functor $\mathbf{Met}_\mathrm{c} \to \mathbf{Haus}$ is fully faithful and therefore reflects colimits, we conclude that $E$ is effective in $\mathbf{Met}_\mathrm{c}$.' +), ( 'Met_c', 'powers', diff --git a/databases/catdat/data/003_category-property-assignments/Met_oo.sql b/databases/catdat/data/003_category-property-assignments/Met_oo.sql index f46a0963..f146fa14 100644 --- a/databases/catdat/data/003_category-property-assignments/Met_oo.sql +++ b/databases/catdat/data/003_category-property-assignments/Met_oo.sql @@ -88,4 +88,10 @@ VALUES 'cofiltered-limit-stable epimorphisms', FALSE, 'We already know that $\Set$ does not have this property. Now apply the contrapositive of the dual of this lemma to the functor $\Set \to \Met_{\infty}$ that equips a set with the discrete topology.' +), +( + 'Met_oo', + 'effective cocongruences', + FALSE, + 'The same counterexample as for $\mathbf{Met}$ works here. The difference in this case is that a binary copower of two copies of $(0,1)$ does exist in $\mathbf{Met}_\infty$. However, this would assign a distance of $\infty$ between points in $(-1,0)$ and points in $(0,1)$, which does not agree with the chosen subspace metric on $(-1,0) \cup (0,1)$.' ); diff --git a/databases/catdat/data/003_category-property-assignments/Mon.sql b/databases/catdat/data/003_category-property-assignments/Mon.sql index 6361a214..3e2260f1 100644 --- a/databases/catdat/data/003_category-property-assignments/Mon.sql +++ b/databases/catdat/data/003_category-property-assignments/Mon.sql @@ -100,5 +100,16 @@ VALUES 'CSP', FALSE, 'If $M \to N$ is an epimorphism in $\Mon$ and $M$ is infinite, then $\card(N) \leq \card(M)$ (see MO/510431). This implies that in $\Mon$ the canonical homomorphism $\coprod_{n \geq 0} \IN \to \prod_{n \geq 0} \IN$ is not an epimorphism because its domain is countable and its codomain is uncountable.' +), +( + 'Mon', + 'effective cocongruences', + FALSE, + 'We adapt the counterexample from MO/510744 for $\mathbf{Ring}$. Namely, consider the monoids + $$\begin{align*} X & := \langle p \mid p^2 = p \rangle \cong (\{ 0, 1 \}, \cdot),\\ + E & := \langle p, q \mid p^2 = p,\, q^2 = q,\, pq = q,\, qp = p \rangle. \end{align*}$$ + Then $X$ represents the functor sending a monoid $M$ to its idempotents, and $E$ represents the relation on idempotents $a, b$ of $M$ that $ab = b$, $ba = a$. The equations are equivalent to $aM = bM$, showing that the relation is indeed an equivalence relation.
+ On the other hand, using the multiplicative map + $$E \to M_{2\times 2}(\mathbb{Z}), \quad p \mapsto \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix},\quad q \mapsto \begin{pmatrix} 1 & 1 \\ 0 & 0 \end{pmatrix},$$ + we can see that $p \ne q$ in $E$, so the equalizer of the two maps $X \rightrightarrows E$ is the trivial submonoid $\{ 1 \}$. Therefore, if $E$ were effective, it would be isomorphic to the coproduct $X \sqcup X$, whose underlying set consists of words in $p,q$ with $p,q$ strictly alternating. In particular, in this coproduct, $pq \ne q$.' ); - diff --git a/databases/catdat/data/003_category-property-assignments/PMet.sql b/databases/catdat/data/003_category-property-assignments/PMet.sql index 6085d837..c9d400b8 100644 --- a/databases/catdat/data/003_category-property-assignments/PMet.sql +++ b/databases/catdat/data/003_category-property-assignments/PMet.sql @@ -138,4 +138,10 @@ VALUES 'If $(N,z,s)$ is a natural numbers object in $\PMet$, then $$1 \xrightarrow{z} N \xleftarrow{s} N$$ is a coproduct cocone by Johnstone, Part A, Lemma 2.5.5. Since there is a map $1 \to N$, we have $N \neq \varnothing$. However, the coproduct of two non-empty pseudo-metric spaces does not exist, see MSE/1778408.' +), +( + 'PMet', + 'effective cocongruences', + FALSE, + 'The proof is similar to the one for $\mathbf{Top}$: Equip a two-point set with the zero metric; this pseudo-metric space represents the functor taking a pseudo-metric space to the pairs of points with $d(x,y) = 0$. In this case, once you conclude $Z = \varnothing$, the map $h : Z \to 1$ does not have any cokernel pair, since that would have to be a coproduct $1+1$, which does not exist.' ); diff --git a/databases/catdat/data/003_category-property-assignments/Pos.sql b/databases/catdat/data/003_category-property-assignments/Pos.sql index 9609edef..5d0e6892 100644 --- a/databases/catdat/data/003_category-property-assignments/Pos.sql +++ b/databases/catdat/data/003_category-property-assignments/Pos.sql @@ -94,4 +94,11 @@ VALUES 'cofiltered-limit-stable epimorphisms', FALSE, 'Pick any poset $X$ which has a decreasing sequence of non-empty sets $X = X_0 \supseteq X_1 \supseteq \cdots$ with empty intersection, such as $X_n = \IN_{\geq n}$ with the natural ordering. The unique map $X_n \to 1$ is surjective, but their limit $\varnothing \to 1$ is not surjective.' +), +( + 'Pos', + 'effective cocongruences', + FALSE, + 'Let $X$ be $\mathbb{R}$ with the standard (total) order, and let $E$ be the poset with underlying set $\mathbb{R} \times \{ 0, 1 \}$ and partial order such that $(x, m) \le (y, n)$ if and only if $x < y$ or $(x, m) = (y, n)$. The two maps $\mathbb{R} \rightrightarrows E$ will be $x \mapsto (x, 0)$ and $x \mapsto (x, 1)$ respectively. For any partial order $(\mathbb{P}, \le)$, the induced equivalence relation on the set of order-preserving functions $\mathbb{R} \to \mathbb{P}$ is that $f \sim g$ if and only if $f(x) \le g(y)$ and $g(x) \le f(y)$ whenever $x < y$. This relation is clearly reflexive and symmetric; for transitivity, if $f \sim g$ and $g \sim h$, then whenever $x < y$, we have $f(x) \le g(\frac{x+y}{2}) \le h(y)$ and similarly $h(x) \le g(\frac{x+y}{2}) \le f(y)$, showing that $f \sim h$.
+ On the other hand, if this cocongruence on $\mathbb{R}$ were effective, then by the dual of this result, $E$ would be the cokernel pair of the equalizer of the two maps $\mathbb{R} \rightrightarrows E$. However, that equalizer is the empty poset, so $E$ would have to be the coproduct poset $\mathbb{R} + \mathbb{R}$, giving a contradiction.' ); diff --git a/databases/catdat/data/003_category-property-assignments/Prost.sql b/databases/catdat/data/003_category-property-assignments/Prost.sql index f229c8db..50170fde 100644 --- a/databases/catdat/data/003_category-property-assignments/Prost.sql +++ b/databases/catdat/data/003_category-property-assignments/Prost.sql @@ -100,4 +100,10 @@ VALUES 'cofiltered-limit-stable epimorphisms', FALSE, 'We know that $\Set$ does not have this property. Now use the contrapositive of the dual of this lemma applied to the functor $\Set \to \Prost$ that equips a set with the chaotic preorder.' +), +( + 'Prost', + 'effective cocongruences', + FALSE, + 'Consider the proset $E := \{ a, b \}$ with the chaotic preorder. This represents the functor which sends a proset to the pairs of elements $x,y$ with $x \le y$ and $y \le x$. Therefore, it defines a cocongruence $1 \rightrightarrows E$, where the maps are the two possible functions. However, this cannot be effective: for any map $h : Z \to 1$ which equalizes the two functions, $Z$ must be empty. But that means the cokernel pair of $h$ is the two-element proset with the trivial preorder.' ); diff --git a/databases/catdat/data/003_category-property-assignments/Rel.sql b/databases/catdat/data/003_category-property-assignments/Rel.sql index f7337d53..353689ba 100644 --- a/databases/catdat/data/003_category-property-assignments/Rel.sql +++ b/databases/catdat/data/003_category-property-assignments/Rel.sql @@ -71,6 +71,12 @@ VALUES TRUE, 'A proof can be found here.' ), +( + 'Rel', + 'effective congruences', + TRUE, + 'A proof can be found here.' +), ( 'Rel', 'preadditive', diff --git a/databases/catdat/data/003_category-property-assignments/Ring.sql b/databases/catdat/data/003_category-property-assignments/Ring.sql index efd9a051..d80d7c72 100644 --- a/databases/catdat/data/003_category-property-assignments/Ring.sql +++ b/databases/catdat/data/003_category-property-assignments/Ring.sql @@ -96,4 +96,10 @@ VALUES 'cofiltered-limit-stable epimorphisms', FALSE, 'We know that $\CRing$ does not have this property. Now use the contrapositive of the dual of this lemma applied to the forgetful functor $\CRing \to \Ring$. It preserves epimorphisms by MSE/5133488.' -); \ No newline at end of file +), +( + 'Ring', + 'effective cocongruences', + FALSE, + 'See MO/510744.' +); diff --git a/databases/catdat/data/003_category-property-assignments/Rng.sql b/databases/catdat/data/003_category-property-assignments/Rng.sql index 1bcfc6a8..90b26b76 100644 --- a/databases/catdat/data/003_category-property-assignments/Rng.sql +++ b/databases/catdat/data/003_category-property-assignments/Rng.sql @@ -96,4 +96,16 @@ VALUES 'cofiltered-limit-stable epimorphisms', FALSE, 'We know that $\Ring$ does not have this property. Now use the contrapositive of the dual of this lemma applied to the forgetful functor $\Ring \to \Rng$. We only need to verify that it preserves epimorphisms: Let $f : R \to S$ be an epimorphism in $\Ring$ and let $g,h : S \rightrightarrows T$ be two homomorphisms of rngs with $gf = hf$. The element $e = g(1) = h(1) \in T$ is idempotent, and $g,h$ become homomorphisms of rings $S \rightrightarrows eTe$. Hence, $g=h$.' +), +( + 'Rng', + 'effective cocongruences', + FALSE, + 'The counterexample is similar to the one at MO/510744 for $\mathbf{Ring}$: in this case, + $$X := \langle p \mid p^2 = p \rangle_{\mathbf{Rng}} \cong \mathbb{Z}$$ + and + $$E := \langle p, q \mid p^2 = p, q^2 = q, pq = q, qp = p \rangle_{\mathbf{Rng}} \cong \begin{pmatrix} \mathbb{Z} & \mathbb{Z} \\ 0 & 0 \end{pmatrix}$$ + via + $$p \mapsto \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix}, \quad q \mapsto \begin{pmatrix} 1 & 1 \\ 0 & 0 \end{pmatrix}.$$ + From here, the rest of the proof is similar to the one for $\mathbf{Ring}$.' ); diff --git a/databases/catdat/data/003_category-property-assignments/Set_c.sql b/databases/catdat/data/003_category-property-assignments/Set_c.sql index b11d2b96..fdd2cef0 100644 --- a/databases/catdat/data/003_category-property-assignments/Set_c.sql +++ b/databases/catdat/data/003_category-property-assignments/Set_c.sql @@ -77,6 +77,12 @@ VALUES TRUE, 'This is because $\{0,1\}$ is a subobject classifier in $\Set$, which is countable, and the monomorphisms coincide.' ), +( + 'Set_c', + 'effective congruences', + TRUE, + 'Let $f, g : E \rightrightarrows X$ be a congruence in $\mathbf{Set}_\mathrm{c}$. Then using $1$ as a test object, we see that this induces an equivalence relation on $X$. We already know that $\mathbf{Set}$ has effective congruences (as does every topos). Using this result, we see that $E$ is the kernel pair of $X \to (X/E)_{\mathbf{Set}}$ in $\mathbf{Set}$. Also, the quotient $(X/E)_{\mathbf{Set}}$ is countable; and the forgetful functor $\mathbf{Set}_\mathrm{c} \to \mathbf{Set}$ is fully faithful and therefore reflects limits. Thus, we conclude that $E$ is the kernel pair of $X \to (X/E)_{\mathbf{Set}}$ in $\mathbf{Set}_\mathrm{c}$ as well.' +), ( 'Set_c', 'small', diff --git a/databases/catdat/data/003_category-property-assignments/Set_f.sql b/databases/catdat/data/003_category-property-assignments/Set_f.sql index 075caa4d..e8916ec8 100644 --- a/databases/catdat/data/003_category-property-assignments/Set_f.sql +++ b/databases/catdat/data/003_category-property-assignments/Set_f.sql @@ -41,6 +41,18 @@ VALUES TRUE, 'A congruence on a set $X$ in $\Set_\f$ is the same as an equivalence relation $R$ on $X$ whose equivalence classes are finite. In that case, the usual quotient map $p : X \to X/R$ is finite-to-one. Moreover, if $h : X/R \to Y$ is a map such that $h \circ p : X \to Y$ is finite-to-one, then $h$ is finite-to-one as well because $h^*(\{y\}) \subseteq p^*((h \circ p)^*(\{y\}))$ for all $y \in Y$. Therefore, $p$ is also the quotient in $\Set_\f$.' ), +( + 'Set_f', + 'effective congruences', + TRUE, + 'Let $f, g : E \rightrightarrows X$ be a congruence in $\mathbf{Set}_\mathrm{f}$. From the proof on quotients of congruences in $\mathbf{Set}_\mathrm{f}$, we have a quotient map $p : X \to X/E$ in $\mathbf{Set}_\mathrm{f}$, and $E$ is the kernel pair of $p$ in $\mathbf{Set}$. It remains to see that $E$ is also the kernel pair of $p$ in $\mathbf{Set}_f$. Thus, suppose we have $x_1, x_2 : T \rightrightarrows X$ with $p \circ x_1 = p \circ x_2$. Then there is a unique $e : T \to E$ in $\mathbf{Set}$ with $x_1 = f\circ e$ and $x_2 = g\circ e$. Since $f\circ e$ is finite-to-one, we must have $e$ is finite-to-one as well.' +), +( + 'Set_f', + 'effective cocongruences', + TRUE, + 'Suppose we have a cocongruence $f, g : X \rightrightarrows E$ in $\mathbf{Set}_f$. Then it is a coreflexive corelation in $\mathbf{Set}$. Since $\mathbf{Set}$ is co-Malcev and has effective cocongruences, that implies $E$ is the cokernel pair of some function $h : Z \to X$ in $\mathbf{Set}$. By the dual of this result, if $\mathrm{inc}_Y : Y \hookrightarrow X$ is the equalizer of $f$ and $g$, then $E$ is also the cokernel pair of $\mathrm{inc}_Y$ in $\mathbf{Set}$. It remains to see that $E$ is the cokernel pair of $\mathrm{inc}_Y$ in $\mathbf{Set}_\mathrm{f}$ as well. Thus, suppose $a, b : X \rightrightarrows T$ are such that $a |_Y = b |_Y$. Then there is a unique $c : E\to T$ in $\mathbf{Set}$ with $a = c\circ f$ and $b = c\circ g$. Since $(f;g) : X + X \to E$ is surjective and $c \circ (f;g) = (a;b)$ is finite-to-one, we see $c$ is finite-to-one as well.' +), ( 'Set_f', 'locally cartesian closed', @@ -132,4 +144,4 @@ VALUES FALSE, 'We will prove that the family of singleton sets $(1)_{n \in \IN}$ has no multi-coproduct, generalizing the proof that the family does not have a coproduct given above. A cocone is just a map of sets $f : \IN \to X$. A morphism from $f : \IN \to X$ to $g : \IN \to Y$ is a finite-to-one map $h : X \to Y$ with $g = h \circ f$. This describes the category of cocones, and we need to show that it has no multi-initial object. To this end, we claim that the connected component of the unique map $! : \IN \to 1$ consists precisely of the maps $f : \IN \to X$ with finite image. Once that is established, we can recycle the proof for missing coproducts since there we have only used finite codomains.
Let $g = h \circ f$ be as above. If $\im(f)$ is finite, then $\im(g) = h_*(\im(f))$ is finite as well. Conversely, if $\im(g)$ is finite, then $\im(f) \subseteq \bigcup_{y \in \im(g)} h^*(\{y\})$ is finite as well. This shows that the connected component of $!$ is contained in the collection of maps with finite image. Conversely, if $f$ has finite image, then there is a morphism from the corestriction $f'' : \IN \to \im(f)$ to $f$, and also a morphism from $f''$ to $!$. This proves the remaining inclusion.' -); \ No newline at end of file +); diff --git a/databases/catdat/data/003_category-property-assignments/Set_pointed.sql b/databases/catdat/data/003_category-property-assignments/Set_pointed.sql index 948787ef..2beb4939 100644 --- a/databases/catdat/data/003_category-property-assignments/Set_pointed.sql +++ b/databases/catdat/data/003_category-property-assignments/Set_pointed.sql @@ -67,6 +67,13 @@ VALUES TRUE, 'The coproduct (wedge sum) of a family of pointed sets $(X_i)_{i \in I}$ can be realized as the subset of $\prod_{i \in I} X_i$ consisting of those tuples $x$ such that $x_i = 0$ for all but (at most) one index.' ), +( + -- TODO: rework this when Barr-exact is added + 'Set*', + 'effective cocongruences', + TRUE, + 'We have that $\mathbf{Set}_*^{\mathrm{op}}$ is a slice category of $\mathbf{Set}^{\mathrm{op}}$, which in turn is monadic over $\mathbf{Set}$. Therefore, by combining results from Borceux and Bourn Appendix A and nLab, $\mathbf{Set}_*^{\mathrm{op}}$ is Barr-exact, and in particular it has effective congruences.' +), ( 'Set*', 'skeletal', diff --git a/databases/catdat/data/003_category-property-assignments/Setne.sql b/databases/catdat/data/003_category-property-assignments/Setne.sql index b66a7605..83c35dfe 100644 --- a/databases/catdat/data/003_category-property-assignments/Setne.sql +++ b/databases/catdat/data/003_category-property-assignments/Setne.sql @@ -114,6 +114,12 @@ VALUES TRUE, 'This follows from this lemma applied to the forgetful functor to $\Set$.' ), +( + 'Setne', + 'effective congruences', + TRUE, + 'If a congruence $E \rightrightarrows X$ is the kernel pair of $h : X \to Z$, with both $E$ and $X$ non-empty, then certainly $Z$ must also be non-empty.' +), ( 'Setne', 'sequential limits', @@ -137,4 +143,11 @@ VALUES 'coquotients of cocongruences', FALSE, 'The two maps $\{0\} \rightrightarrows \{0,1\}$ form a cocongruence on $\{0\}$ — namely the cofull cocongruence on $\{0\}$ — but they do not have an equalizer.' -) +), +( + 'Setne', + 'effective cocongruences', + FALSE, + 'The two maps $\{0\} \rightrightarrows \{0,1\}$ form a cocongruence on $\{0\}$ — namely the cofull cocongruence on $\{0\}$ — but there is no map $Z \to \{0\}$ making the required commutative diagram, much less a cocartesian square.' +); + diff --git a/databases/catdat/data/003_category-property-assignments/SetxSet.sql b/databases/catdat/data/003_category-property-assignments/SetxSet.sql index b55ea360..93c8c155 100644 --- a/databases/catdat/data/003_category-property-assignments/SetxSet.sql +++ b/databases/catdat/data/003_category-property-assignments/SetxSet.sql @@ -23,6 +23,12 @@ VALUES TRUE, 'Take the two-sorted algebraic theory with no operations and no equations.' ), +( + 'SetxSet', + 'effective cocongruences', + TRUE, + 'Suppose we have a cocongruence $X \rightrightarrows E$ in $\mathbf{Set} \times \mathbf{Set}$. Then each component is a cocongruence, so they are the kernel pairs of some maps $Z_1\to X_1$, $Z_2 \to X_2$. Then $E$ is the cokernel pair of $(Z_1, Z_2) \to (X_1, X_2)$.' +), ( 'SetxSet', 'skeletal', diff --git a/databases/catdat/data/003_category-property-assignments/Top.sql b/databases/catdat/data/003_category-property-assignments/Top.sql index 273bbdc2..6cc47954 100644 --- a/databases/catdat/data/003_category-property-assignments/Top.sql +++ b/databases/catdat/data/003_category-property-assignments/Top.sql @@ -130,4 +130,10 @@ VALUES 'cofiltered-limit-stable epimorphisms', FALSE, 'We already know that $\Set$ does not have this property. Now apply the contrapositive of the dual of this lemma to the functor $\Set \to \Top$ which equips a set with the indiscrete topology.' +), +( + 'Top', + 'effective cocongruences', + FALSE, + 'Consider the indiscrete topological space $I$ on two points. This represents the functor which takes a topological space $X$ to the pairs of indistinguishable points of $X$. Therefore, we get a cocongruence $1 \rightrightarrows I$, where the maps are the two possible functions. However, this cannot be effective: if we have $h : Z\to 1$ which equalizes the two maps, then $Z$ must be empty. But that means the cokernel pair of $h$ is the discrete space on two points.' ); diff --git a/databases/catdat/data/003_category-property-assignments/Top_pointed.sql b/databases/catdat/data/003_category-property-assignments/Top_pointed.sql index df67cfa8..ad8f9393 100644 --- a/databases/catdat/data/003_category-property-assignments/Top_pointed.sql +++ b/databases/catdat/data/003_category-property-assignments/Top_pointed.sql @@ -168,7 +168,16 @@ VALUES 'cofiltered-limit-stable epimorphisms', FALSE, 'We already know that $\Set_*$ does not have this property. Now apply the contrapositive of the dual of this lemma to the functor $\Set_* \to \Top_*$ that equips a pointed set with the indiscrete topology.' +), +( + 'Top*', + 'effective congruences', + FALSE, + 'Suppose that $\mathbf{Top}_*$ had effective congruences. Then by this result, $\mathbf{Top}$ would also have effective congruences, which we know is not the case (see here).' +), +( + 'Top*', + 'effective cocongruences', + FALSE, + 'This counterexample is adapted from the counterexample for $\mathbf{Top}$. Consider the pointed topological space $I := \{ *, a, b \}$ with topology $\{ \varnothing, \{ * \}, \{ a, b \}, \{ *, a, b \} \}$. This represents the functor which sends a pointed topological space $X$ to the pairs of indistinguishable points of $X$. Therefore, we get a cocongruence $\{ *, a \} \rightrightarrows I$ on the discrete space $\{ *, a \}$, where the maps are $*\mapsto *, a\mapsto a$ and $*\mapsto *, a\mapsto b$ respectively. However, this cannot be effective: if we have $h : Z \to \{ *, a \}$ which equalizes the cocongruence, then $h$ must be the constant function with value $*$. But that means the cokernel pair of $h$ is the discrete space on $\{ *, a, b \}$.' ); - - - diff --git a/databases/catdat/data/003_category-property-assignments/TorsFreeAb.sql b/databases/catdat/data/003_category-property-assignments/TorsFreeAb.sql index d44b6edf..dc355d3a 100644 --- a/databases/catdat/data/003_category-property-assignments/TorsFreeAb.sql +++ b/databases/catdat/data/003_category-property-assignments/TorsFreeAb.sql @@ -72,11 +72,4 @@ VALUES 'CSP', FALSE, 'The canonical homomorphism $\bigoplus_{n \geq 0} \IZ \to \prod_{n \geq 0} \IZ$ is injective, but not an epimorphism, since the quotient $\prod_{n \geq 0} \IZ / \bigoplus_{n \geq 0} \IZ$ is not torsion. In fact, it is torsion-free and non-zero.' -), -( - -- TODO: rework this when effective congruences are added to the database - 'TorsFreeAb', - 'multi-algebraic', - FALSE, - 'Every multi-algebraic category has effective congruences, but the congruence $E = \{(x,y) \in \IZ^2 : 2 \mid x-y \}$ on $\IZ$ is not effective in $\TorsFreeAb$: Otherwise, the inclusion $E \hookrightarrow \IZ^2$ would be a regular monomorphism. By their classification below, $\IZ^2 / E$ would be torsion-free. But $(1,0) \notin E$ and $2 (1,0) \in E$.' ); diff --git a/databases/catdat/data/003_category-property-assignments/Z.sql b/databases/catdat/data/003_category-property-assignments/Z.sql index cd86a8f6..0813b9e6 100644 --- a/databases/catdat/data/003_category-property-assignments/Z.sql +++ b/databases/catdat/data/003_category-property-assignments/Z.sql @@ -53,6 +53,18 @@ VALUES TRUE, 'This follows immediately from the fact for $\Set$.' ), +( + 'Z', + 'effective congruences', + TRUE, + 'If we have a congruence $E \rightrightarrows X$ in $[\mathbf{CRing}, \mathbf{Set}]$, then evaluating at any commutative ring gives a congruence in $\mathbf{Set}$. Defining $Y$ pointwise to be the quotient of this congruence, we get a morphism of functors $h : X \to Y$, and by this result applied pointwise, the kernel pair of $h$ is $E$.' +), +( + 'Z', + 'effective cocongruences', + TRUE, + 'If we have a cocongruence $X\rightrightarrows E$ in $[\mathbf{CRing}, \mathbf{Set}]$, then evaluating at any commutative gives a cocongruence in $\mathbf{Set}$. Defining $Y$ pointwise to be the equalizer of the pair, we get a morphism of functors $h : Y \to X$, and by the dual of this result applied pointwise, the cokernel pair of $h$ is $E$.' +), ( 'Z', 'locally essentially small', @@ -100,4 +112,4 @@ VALUES 'cofiltered-limit-stable epimorphisms', FALSE, 'We already know that $\Set$ does not have this property. Now apply the contrapositive of the dual of this lemma to the functor $\Set \to [\CRing, \Set]$ that maps a set to its constant functor.' -); \ No newline at end of file +); diff --git a/databases/catdat/scripts/expected-data/Ab.json b/databases/catdat/scripts/expected-data/Ab.json index 409d8281..adf0df41 100644 --- a/databases/catdat/scripts/expected-data/Ab.json +++ b/databases/catdat/scripts/expected-data/Ab.json @@ -104,6 +104,8 @@ "filtered-colimit-stable monomorphisms": true, "quotients of congruences": true, "coquotients of cocongruences": true, + "effective congruences": true, + "effective cocongruences": true, "cartesian closed": false, "locally cartesian closed": false, diff --git a/databases/catdat/scripts/expected-data/Set.json b/databases/catdat/scripts/expected-data/Set.json index 7fe66a78..45f66146 100644 --- a/databases/catdat/scripts/expected-data/Set.json +++ b/databases/catdat/scripts/expected-data/Set.json @@ -99,6 +99,8 @@ "filtered-colimit-stable monomorphisms": true, "quotients of congruences": true, "coquotients of cocongruences": true, + "effective congruences": true, + "effective cocongruences": true, "Grothendieck abelian": false, "Malcev": false, diff --git a/databases/catdat/scripts/expected-data/Top.json b/databases/catdat/scripts/expected-data/Top.json index 6806592d..93cc5571 100644 --- a/databases/catdat/scripts/expected-data/Top.json +++ b/databases/catdat/scripts/expected-data/Top.json @@ -155,5 +155,7 @@ "gaunt": false, "core-thin": false, "subobject-trivial": false, - "quotient-trivial": false + "quotient-trivial": false, + "effective congruences": false, + "effective cocongruences": false } From 611052dd6124ab42c47475d210cd0e6b333ca076 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Mon, 4 May 2026 09:30:35 -0400 Subject: [PATCH 4/5] Grp has effective cocongruences --- .../003_category-property-assignments/Grp.sql | 6 + static/pdf/.gitignore | 7 ++ static/pdf/cocongruences_of_groups.pdf | Bin 0 -> 164476 bytes static/pdf/cocongruences_of_groups.tex | 108 ++++++++++++++++++ 4 files changed, 121 insertions(+) create mode 100644 static/pdf/.gitignore create mode 100644 static/pdf/cocongruences_of_groups.pdf create mode 100644 static/pdf/cocongruences_of_groups.tex diff --git a/databases/catdat/data/003_category-property-assignments/Grp.sql b/databases/catdat/data/003_category-property-assignments/Grp.sql index d15de7c1..ddbfa9b3 100644 --- a/databases/catdat/data/003_category-property-assignments/Grp.sql +++ b/databases/catdat/data/003_category-property-assignments/Grp.sql @@ -47,6 +47,12 @@ VALUES TRUE, 'Since epimorphisms are surjective (see below), this is the first isomorphism theorem for groups.' ), +( + 'Grp', + 'effective cocongruences', + TRUE, + 'A proof can be found here.' +), ( 'Grp', 'normal', diff --git a/static/pdf/.gitignore b/static/pdf/.gitignore new file mode 100644 index 00000000..372e1325 --- /dev/null +++ b/static/pdf/.gitignore @@ -0,0 +1,7 @@ +# Files from Latex Workshop +*.aux +*.fdb_latexmk +*.fls +*.log +*.synctex.gz +*.out \ No newline at end of file diff --git a/static/pdf/cocongruences_of_groups.pdf b/static/pdf/cocongruences_of_groups.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f5bdf0b6b6758fe49d41941094048c6d0ff68ded GIT binary patch literal 164476 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 literal 0 HcmV?d00001 diff --git a/static/pdf/cocongruences_of_groups.tex b/static/pdf/cocongruences_of_groups.tex new file mode 100644 index 00000000..c6957f45 --- /dev/null +++ b/static/pdf/cocongruences_of_groups.tex @@ -0,0 +1,108 @@ +\documentclass[a4paper,12pt,reqno]{amsart} +\usepackage[utf8]{inputenc} +\usepackage[top=25truemm,bottom=25truemm,left=20truemm,right=20truemm]{geometry} +\usepackage{parskip} +\usepackage{tikz-cd} + +\usepackage{amsmath, amssymb, amsfonts, amscd, amsthm, mathtools} +\usepackage{hyperref} + +\theoremstyle{plain} +\newtheorem{prop}{Proposition} +\newtheorem{cor}[prop]{Corollary} + +\theoremstyle{definition} +\newtheorem{defi}[prop]{Definition} + +\DeclareMathOperator{\id}{id} +\DeclareMathOperator{\eq}{eq} +\DeclareMathOperator{\Grp}{\mathbf{Grp}} + +\newcommand{\C}{\mathcal{C}} + +\title{Cocongruences on groups are effective} +\author{Martin Brandenburg} +\date{\today} + +\begin{document} +\maketitle + +Our goal is to prove that every cocongruence in the category $\Grp$ is effective. We will establish a more general result for categories in which pushouts and monomorphisms interact in a suitable way. + +\begin{defi} +We shall say that a category $\C$ has \emph{good pushouts of monomorphisms} if it has pushouts of monomorphisms and if, for every diagram of monomorphisms +\[\begin{tikzcd} +B \ar{r} & B' \\ +A \ar{r} \ar{u} \ar{d} & A' \ar{u} \ar{d} \\ +C \ar{r} & C' +\end{tikzcd}\] +in which each square is a pullback, the induced morphism +\[B \sqcup_A C \to B' \sqcup_{A'} C'\] +is also a monomorphism. +\end{defi} + +\begin{prop} +The category $\Grp$ has good pushouts of monomorphisms. +\end{prop} + +\begin{proof} +Consider a diagram as above. We regard every monomorphism in it as an inclusion. Choose a system of representatives $S \subseteq B$ for the right $A$-cosets in $B$, meaning that the multiplication map $\cdot : A \times S \to B$ is bijective. Likewise, choose $T \subseteq C$ such that the multiplication map $\cdot : A \times T \to C$ is bijective. We may assume that $1 \in S$ and $1 \in T$. + +It is well known (see, for example, Serre's book \emph{Trees}, Ch.\ I, §1, Thm.\ 1) that every element of the amalgamated free product $B \sqcup_A C$ has a unique representation of the form +\[w = a \cdot x_1 \cdots x_n,\] +where $a \in A$, each $x_i$ lies either in $S \setminus \{1\}$ or in $T \setminus \{1\}$, and these choices alternate. + +The map +\[A \backslash B \to A' \backslash B', \, Ab \mapsto A'b\] +is injective. Indeed, if $b_1,b_2 \in B$ satisfy $A' b_1 = A' b_2$, then $b_1 b_2^{-1} \in A'$. Since $B \cap A' = A$, it follows that $b_1 b_2^{-1} \in A$, and hence $A b_1 = A b_2$. + +Therefore, we may extend $S$ to a system of representatives $S' \subseteq B'$ for the right $A'$-cosets in $B'$. Likewise, we may extend $T$ to a system of representatives $T' \subseteq C'$ for the right $A'$-cosets in $C'$. + +With respect to these systems, an element $w \in B \sqcup_A C$ written in normal form as above remains in normal form after being mapped to $B' \sqcup_{A'} C'$. This shows that the induced map is injective. +\end{proof} + +\begin{prop} +Let $\C$ be a balanced category with good pushouts of monomorphisms and equalizers of monomorphisms. Then every cocongruence in $\C$ is effective. +\end{prop} + +\begin{proof} +Let $X \in \C$ be an object, and let $i_1,i_2 : X \rightrightarrows Y$ be a cocongruence. Since it is coreflexive, there exists a morphism $r : Y \to X$ satisfying +\[r \circ i_1 = \id_X, \quad r \circ i_2 = \id_X.\] +In particular, $i_1$ and $i_2$ are monomorphisms. Since the cocongruence is cotransitive, there exists a morphism +\[c : Y \to Y \sqcup_{i_2,X,i_1} Y\] +satisfying +\[c \circ i_1 = u_1 \circ i_1, \quad c \circ i_2 = u_2 \circ i_2,\] +where $u_1,u_2 : Y \rightrightarrows Y \sqcup_{i_2,X,i_1} Y$ are the pushout inclusions satisfying $u_1 i_2 = u_2 i_1$. We will not use the fact that the cocongruence is cosymmetric; this will follow automatically. Define the monomorphism +\[E := \eq(i_1,i_2) \hookrightarrow X.\] + +Since $i_1$ and $i_2$ agree on $E$, there exists a unique morphism +\[\varphi : X \sqcup_E X \to Y\] +defined by $\varphi \circ j_1 = i_1$ and $\varphi \circ j_2 = i_2$, where $j_1,j_2 : X \rightrightarrows X \sqcup_E X$ are the two inclusions. + +We must show that $\varphi$ is an isomorphism. It is clearly an epimorphism, since $i_1$ and $i_2$ are jointly epimorphic by assumption. Since $\C$ is balanced, it therefore suffices to prove that $\varphi$ is a monomorphism. + +We will show that even the morphism +\[\gamma := c \circ \varphi : X \sqcup_E X \to Y \sqcup_{i_2,X,i_1} Y\] +is a monomorphism. It is characterized by +\[\gamma \circ j_1 = c \circ \varphi \circ j_1 = c \circ i_1 = u_1 \circ i_1,\] +\[\gamma \circ j_2 = c \circ \varphi \circ j_2 = c \circ i_2 = u_2 \circ i_2.\] + +In other words, $\gamma$ is induced by the diagram of monomorphisms +\[\begin{tikzcd} +X \ar{r}{i_1} & Y \\ +E \ar{r} \ar{u} \ar{d} & X \ar{u}[swap]{i_2} \ar{d}{i_1} \\ +X \ar{r}[swap]{i_2} & Y +\end{tikzcd}\] + +Since $\C$ has good pushouts of monomorphisms, it suffices to verify that both squares are pullbacks. Observe that the two squares are symmetric, so it is enough to consider one of them. To verify the universal property, let $a : T \to X$ and $b : T \to X$ be morphisms satisfying $i_1 \circ a = i_2 \circ b$. Applying $r : Y \to X$, we obtain +\[a = r \circ i_1 \circ a = r \circ i_2 \circ b = b.\] + +Thus, $a$ is simply a morphism equalizing $i_1$ and $i_2$, so it factors uniquely through $E \hookrightarrow X$. +\end{proof} + +\begin{cor} +Every cocongruence in the category $\Grp$ is effective. +\end{cor} + + +\end{document} From 1890618edc9445cba717d2cc140fb15efac964e7 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Mon, 4 May 2026 17:01:24 +0200 Subject: [PATCH 5/5] use LaTeX macros in results about effective (co)congruences --- .../003_category-property-assignments/Alg(R).sql | 2 +- .../data/003_category-property-assignments/Cat.sql | 4 ++-- .../003_category-property-assignments/FinGrp.sql | 2 +- .../003_category-property-assignments/FreeAb.sql | 4 ++-- .../data/003_category-property-assignments/Haus.sql | 2 +- .../data/003_category-property-assignments/Man.sql | 2 +- .../data/003_category-property-assignments/Meas.sql | 2 +- .../data/003_category-property-assignments/Met.sql | 6 +++--- .../data/003_category-property-assignments/Met_c.sql | 2 +- .../003_category-property-assignments/Met_oo.sql | 2 +- .../data/003_category-property-assignments/Mon.sql | 4 ++-- .../data/003_category-property-assignments/PMet.sql | 2 +- .../data/003_category-property-assignments/Pos.sql | 4 ++-- .../data/003_category-property-assignments/Rng.sql | 8 ++++---- .../data/003_category-property-assignments/Set_c.sql | 2 +- .../data/003_category-property-assignments/Set_f.sql | 4 ++-- .../Set_pointed.sql | 2 +- .../003_category-property-assignments/SetxSet.sql | 2 +- .../Top_pointed.sql | 4 ++-- .../data/003_category-property-assignments/Z.sql | 4 ++-- .../005_additional-structure-implications.sql | 2 +- .../008_topos-theory-implications.sql | 2 +- databases/catdat/data/009_lemmas/001_lemmas.sql | 12 ++++++------ src/lib/server/macros.ts | 1 + 24 files changed, 41 insertions(+), 40 deletions(-) diff --git a/databases/catdat/data/003_category-property-assignments/Alg(R).sql b/databases/catdat/data/003_category-property-assignments/Alg(R).sql index 43b3fcca..5b615ef0 100644 --- a/databases/catdat/data/003_category-property-assignments/Alg(R).sql +++ b/databases/catdat/data/003_category-property-assignments/Alg(R).sql @@ -101,5 +101,5 @@ VALUES 'Alg(R)', 'effective cocongruences', FALSE, - 'The counterexample is similar to the one for $\mathbf{Ring}$: Let $X := R[p] / (p^2-p)$ with cocongruence $E := R \langle p, q \rangle / (p^2-p, q^2-q, pq-q, qp-p)$.' + 'The counterexample is similar to the one for $\Ring$: Let $X := R[p] / (p^2-p)$ with cocongruence $E := R \langle p, q \rangle / (p^2-p, q^2-q, pq-q, qp-p)$.' ); diff --git a/databases/catdat/data/003_category-property-assignments/Cat.sql b/databases/catdat/data/003_category-property-assignments/Cat.sql index 9a7feb4a..7e63e0ac 100644 --- a/databases/catdat/data/003_category-property-assignments/Cat.sql +++ b/databases/catdat/data/003_category-property-assignments/Cat.sql @@ -93,7 +93,7 @@ VALUES 'Cat', 'effective cocongruences', FALSE, - 'The counterexample is similar to the one for $\mathbf{Mon}$: Let $X$ be the walking idempotent, and let $E$ be the delooping of the monoid with presentation + 'The counterexample is similar to the one for $\Mon$: Let $X$ be the walking idempotent, and let $E$ be the delooping of the monoid with presentation $$\langle p, q \mid p^2=p,\, q^2=q,\, pq=q,\, qp=p \rangle.$$ - The induced relation on functors in $[X, \mathcal{C}]$ is that $F \sim G$ if and only if $F$ and $G$ send the object of $X$ to the same object of $\mathcal{C}$, and they send the idempotent of $X$ to idempotent morphisms $a, b$ in $\mathcal{C}$ satisfying $ab=b$, $ba=a$. From here, the proof that this gives a cocongruence on $\mathbf{Cat}$ which is not effective is similar to the one in $\mathbf{Mon}$.' + The induced relation on functors in $[X, \C]$ is that $F \sim G$ if and only if $F$ and $G$ send the object of $X$ to the same object of $\C$, and they send the idempotent of $X$ to idempotent morphisms $a, b$ in $\C$ satisfying $ab=b$, $ba=a$. From here, the proof that this gives a cocongruence on $\Cat$ which is not effective is similar to the one in $\Mon$.' ); diff --git a/databases/catdat/data/003_category-property-assignments/FinGrp.sql b/databases/catdat/data/003_category-property-assignments/FinGrp.sql index 5ee3f201..a412f578 100644 --- a/databases/catdat/data/003_category-property-assignments/FinGrp.sql +++ b/databases/catdat/data/003_category-property-assignments/FinGrp.sql @@ -69,7 +69,7 @@ VALUES 'FinGrp', 'effective congruences', TRUE, - 'Suppose we have a congruence $f, g : E \rightrightarrows X$ in $\mathbf{FinGrp}$. Since the embedding $\mathbf{FinGrp} \hookrightarrow \mathbf{Grp}$ preserves finite limits, it is also a congruence in $\mathbf{Grp}$. We already know that $\mathbf{Grp}$ has effective congruences since it is algebraic. Using this result, we see that $E$ is the kernel pair of $X \to (X/E)_{\mathbf{Grp}}$ in $\mathbf{Grp}$. Also, the quotient $(X/E)_{\mathbf{Grp}}$ is finite; and the forgetful functor $\mathbf{FinGrp} \to \mathbf{Grp}$ is fully faithful and therefore reflects limits. Thus, we conclude that $E$ is the kernel pair of $X \to (X/E)_{\mathbf{Grp}}$ in $\mathbf{FinGrp}$ as well.' + 'Suppose we have a congruence $f, g : E \rightrightarrows X$ in $\FinGrp$. Since the embedding $\FinGrp \hookrightarrow \Grp$ preserves finite limits, it is also a congruence in $\Grp$. We already know that $\Grp$ has effective congruences since it is algebraic. Using this result, we see that $E$ is the kernel pair of $X \to (X/E)_{\Grp}$ in $\Grp$. Also, the quotient $(X/E)_{\Grp}$ is finite; and the forgetful functor $\FinGrp \to \Grp$ is fully faithful and therefore reflects limits. Thus, we conclude that $E$ is the kernel pair of $X \to (X/E)_{\Grp}$ in $\FinGrp$ as well.' ), ( 'FinGrp', diff --git a/databases/catdat/data/003_category-property-assignments/FreeAb.sql b/databases/catdat/data/003_category-property-assignments/FreeAb.sql index c479f199..a9e7c494 100644 --- a/databases/catdat/data/003_category-property-assignments/FreeAb.sql +++ b/databases/catdat/data/003_category-property-assignments/FreeAb.sql @@ -89,8 +89,8 @@ VALUES 'FreeAb', 'effective cocongruences', FALSE, - 'We will let $E$ be the abelian group with presentation $\langle a, b, c \mid a - b = 2c \rangle$, with two morphisms $\mathbb{Z} \rightrightarrows E$ given by $1\mapsto a$, $1\mapsto b$. Note that $E$ is free with basis $\{ b, c \}$. Then $\operatorname{Hom}(E, G) \cong \{ (x, y, z) \in G^3 \mid x - y = 2z \}$. Observe that since $G$ is torsion-free, the projection onto the first two coordinates is injective; and $(x, y)$ is in the image precisely when $x \equiv y \pmod{2G}$, which gives an equivalence relation. Therefore, $E$ gives a cocongruence on $\mathbb{Z}$.
- On the other hand, if $E$ were the cokernel pair of $h : H \to \mathbb{Z}$, that would mean that for $x, y : \mathbb{Z} \to G$, $x \equiv y \pmod{2G}$ if and only if $x \circ h = y \circ h$. In particular, from the case $G := \mathbb{Z}$, $x := 2 \operatorname{id}$, $y := 0$, we would have $2h = 0$. That implies $h = 0$, but then that would give $\operatorname{id}_{\mathbb{Z}} \equiv 0 \pmod{2}$, resulting in a contradiction.' + 'We will let $E$ be the abelian group with presentation $\langle a, b, c \mid a - b = 2c \rangle$, with two morphisms $\IZ \rightrightarrows E$ given by $1\mapsto a$, $1\mapsto b$. Note that $E$ is free with basis $\{ b, c \}$. Then $\Hom(E, G) \cong \{ (x, y, z) \in G^3 \mid x - y = 2z \}$. Observe that since $G$ is torsion-free, the projection onto the first two coordinates is injective; and $(x, y)$ is in the image precisely when $x \equiv y \pmod{2G}$, which gives an equivalence relation. Therefore, $E$ gives a cocongruence on $\IZ$.
+ On the other hand, if $E$ were the cokernel pair of $h : H \to \IZ$, that would mean that for $x, y : \IZ \to G$, $x \equiv y \pmod{2G}$ if and only if $x \circ h = y \circ h$. In particular, from the case $G := \IZ$, $x := 2 \id$, $y := 0$, we would have $2h = 0$. That implies $h = 0$, but then that would give $\id_{\IZ} \equiv 0 \pmod{2}$, resulting in a contradiction.' ); INSERT INTO category_property_comments (category_id, property_id, comment) diff --git a/databases/catdat/data/003_category-property-assignments/Haus.sql b/databases/catdat/data/003_category-property-assignments/Haus.sql index 5afefc1e..5de2f067 100644 --- a/databases/catdat/data/003_category-property-assignments/Haus.sql +++ b/databases/catdat/data/003_category-property-assignments/Haus.sql @@ -69,7 +69,7 @@ VALUES 'Haus', 'effective cocongruences', TRUE, - 'As the proof at MO/509548 shows, in fact any coreflexive corelation on $X$ in $\mathbf{Haus}$ is of the form $X +_S X$ for a closed subset $S$ of $X$. Such a cocongruence is clearly effective.' + 'As the proof at MO/509548 shows, in fact any coreflexive corelation on $X$ in $\Haus$ is of the form $X +_S X$ for a closed subset $S$ of $X$. Such a cocongruence is clearly effective.' ), ( 'Haus', diff --git a/databases/catdat/data/003_category-property-assignments/Man.sql b/databases/catdat/data/003_category-property-assignments/Man.sql index 3f691ead..8153e7a4 100644 --- a/databases/catdat/data/003_category-property-assignments/Man.sql +++ b/databases/catdat/data/003_category-property-assignments/Man.sql @@ -84,7 +84,7 @@ VALUES 'Man', 'effective cocongruences', TRUE, - 'From the proof that $\mathbf{Man}$ has coquotients of cocongruences, we know that for any cocongruence $X \rightrightarrows E$, there is a clopen submanifold $U$ of $X$ such that the fibers of $r : E \twoheadrightarrow X$ have one point on $U$, and two points on $X \setminus U$. Therefore, $E$ is the cokernel pair of the inclusion map $U \hookrightarrow X$.' + 'From the proof that $\Man$ has coquotients of cocongruences, we know that for any cocongruence $X \rightrightarrows E$, there is a clopen submanifold $U$ of $X$ such that the fibers of $r : E \twoheadrightarrow X$ have one point on $U$, and two points on $X \setminus U$. Therefore, $E$ is the cokernel pair of the inclusion map $U \hookrightarrow X$.' ), ( 'Man', diff --git a/databases/catdat/data/003_category-property-assignments/Meas.sql b/databases/catdat/data/003_category-property-assignments/Meas.sql index 129d25f4..3ece3480 100644 --- a/databases/catdat/data/003_category-property-assignments/Meas.sql +++ b/databases/catdat/data/003_category-property-assignments/Meas.sql @@ -105,5 +105,5 @@ VALUES 'Meas', 'effective cocongruences', FALSE, - 'The proof is similar to the one for $\mathbf{Top}$: Use the trivial $\sigma$-algebra on a two-point set.' + 'The proof is similar to the one for $\Top$: Use the trivial $\sigma$-algebra on a two-point set.' ); diff --git a/databases/catdat/data/003_category-property-assignments/Met.sql b/databases/catdat/data/003_category-property-assignments/Met.sql index 8312ea5c..f997bce5 100644 --- a/databases/catdat/data/003_category-property-assignments/Met.sql +++ b/databases/catdat/data/003_category-property-assignments/Met.sql @@ -149,17 +149,17 @@ VALUES 'Met', 'effective congruences', FALSE, - 'Any kernel pair of $h : X \to Z$ in $\mathbf{Met}$ corresponds to a closed subset of $X\times X$. However, there are plenty of non-closed congruences, such as $\Delta \cup (\mathbb{Q} \times \mathbb{Q}) \subseteq \mathbb{R} \times \mathbb{R}$ with the subspace metric.' + 'Any kernel pair of $h : X \to Z$ in $\Met$ corresponds to a closed subset of $X\times X$. However, there are plenty of non-closed congruences, such as $\Delta \cup (\IQ \times \IQ) \subseteq \IR \times \IR$ with the subspace metric.' ), ( 'Met', 'effective cocongruences', FALSE, - 'We will define a cocongruence on the interval $(0,1) \subseteq \mathbb{R}$ where $E := (-1, 0) \cup (0, 1) \subseteq \mathbb{R}$, and the two maps $(0, 1) \rightrightarrows E$ are the inclusion map and $x \mapsto -x$. Then for any metric space $X$, the induced relation on non-expansive maps $(0, 1) \to X$ is that $f \sim g$ if and only if + 'We will define a cocongruence on the interval $(0,1) \subseteq \IR$ where $E := (-1, 0) \cup (0, 1) \subseteq \IR$, and the two maps $(0, 1) \rightrightarrows E$ are the inclusion map and $x \mapsto -x$. Then for any metric space $X$, the induced relation on non-expansive maps $(0, 1) \to X$ is that $f \sim g$ if and only if $$d(f(x), g(y)) \le x+y$$ for each $x, y \in (0, 1)$. This is reflexive since $d(f(x), f(y)) \le |x-y| < x+y$, and it is clearly symmetric. For transitivity, suppose $f\sim g$ and $g\sim h$. Then for any $\varepsilon > 0$, we have $$d(f(x), h(y)) \le d(f(x), g(\varepsilon)) + d(g(\varepsilon), h(y)) \le (x + \varepsilon) + (y + \varepsilon).$$ Since this holds for every $\varepsilon > 0$, we conclude $d(f(x), h(y)) \le x+y$.
- On the other hand, if this cocongruence were effective, then by the dual of this result, it would be the cokernel pair of the equalizer of the two inclusion maps. However, that equalizer is empty, so $E$ would have to be a binary copower of $(0,1)$, which does not exist in $\mathbf{Met}$.' + On the other hand, if this cocongruence were effective, then by the dual of this result, it would be the cokernel pair of the equalizer of the two inclusion maps. However, that equalizer is empty, so $E$ would have to be a binary copower of $(0,1)$, which does not exist in $\Met$.' ); diff --git a/databases/catdat/data/003_category-property-assignments/Met_c.sql b/databases/catdat/data/003_category-property-assignments/Met_c.sql index d061e8be..ac615a5b 100644 --- a/databases/catdat/data/003_category-property-assignments/Met_c.sql +++ b/databases/catdat/data/003_category-property-assignments/Met_c.sql @@ -69,7 +69,7 @@ VALUES 'Met_c', 'effective cocongruences', TRUE, - 'Suppose we have a cocongruence $f, g : X \rightrightarrows E$ in $\mathbf{Met}_\mathrm{c}$. Then the image in $\mathbf{Haus}$ is a coreflexive corelation (since epimorphisms in both categories are continuous maps with dense image). By MO/509548, that implies that image is of the form $X +_S X$ for a closed subset $S$ of $X$. Since $S$ is metrizable, and the functor $\mathbf{Met}_\mathrm{c} \to \mathbf{Haus}$ is fully faithful and therefore reflects colimits, we conclude that $E$ is effective in $\mathbf{Met}_\mathrm{c}$.' + 'Suppose we have a cocongruence $f, g : X \rightrightarrows E$ in $\Met_\c$. Then the image in $\Haus$ is a coreflexive corelation (since epimorphisms in both categories are continuous maps with dense image). By MO/509548, that implies that image is of the form $X +_S X$ for a closed subset $S$ of $X$. Since $S$ is metrizable, and the functor $\Met_\c \to \Haus$ is fully faithful and therefore reflects colimits, we conclude that $E$ is effective in $\Met_\c$.' ), ( 'Met_c', diff --git a/databases/catdat/data/003_category-property-assignments/Met_oo.sql b/databases/catdat/data/003_category-property-assignments/Met_oo.sql index f146fa14..89723a17 100644 --- a/databases/catdat/data/003_category-property-assignments/Met_oo.sql +++ b/databases/catdat/data/003_category-property-assignments/Met_oo.sql @@ -93,5 +93,5 @@ VALUES 'Met_oo', 'effective cocongruences', FALSE, - 'The same counterexample as for $\mathbf{Met}$ works here. The difference in this case is that a binary copower of two copies of $(0,1)$ does exist in $\mathbf{Met}_\infty$. However, this would assign a distance of $\infty$ between points in $(-1,0)$ and points in $(0,1)$, which does not agree with the chosen subspace metric on $(-1,0) \cup (0,1)$.' + 'The same counterexample as for $\Met$ works here. The difference in this case is that a binary copower of two copies of $(0,1)$ does exist in $\Met_\infty$. However, this would assign a distance of $\infty$ between points in $(-1,0)$ and points in $(0,1)$, which does not agree with the chosen subspace metric on $(-1,0) \cup (0,1)$.' ); diff --git a/databases/catdat/data/003_category-property-assignments/Mon.sql b/databases/catdat/data/003_category-property-assignments/Mon.sql index 3e2260f1..d45a83be 100644 --- a/databases/catdat/data/003_category-property-assignments/Mon.sql +++ b/databases/catdat/data/003_category-property-assignments/Mon.sql @@ -105,11 +105,11 @@ VALUES 'Mon', 'effective cocongruences', FALSE, - 'We adapt the counterexample from MO/510744 for $\mathbf{Ring}$. Namely, consider the monoids + 'We adapt the counterexample from MO/510744 for $\Ring$. Namely, consider the monoids $$\begin{align*} X & := \langle p \mid p^2 = p \rangle \cong (\{ 0, 1 \}, \cdot),\\ E & := \langle p, q \mid p^2 = p,\, q^2 = q,\, pq = q,\, qp = p \rangle. \end{align*}$$ Then $X$ represents the functor sending a monoid $M$ to its idempotents, and $E$ represents the relation on idempotents $a, b$ of $M$ that $ab = b$, $ba = a$. The equations are equivalent to $aM = bM$, showing that the relation is indeed an equivalence relation.
On the other hand, using the multiplicative map - $$E \to M_{2\times 2}(\mathbb{Z}), \quad p \mapsto \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix},\quad q \mapsto \begin{pmatrix} 1 & 1 \\ 0 & 0 \end{pmatrix},$$ + $$E \to M_{2\times 2}(\IZ), \quad p \mapsto \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix},\quad q \mapsto \begin{pmatrix} 1 & 1 \\ 0 & 0 \end{pmatrix},$$ we can see that $p \ne q$ in $E$, so the equalizer of the two maps $X \rightrightarrows E$ is the trivial submonoid $\{ 1 \}$. Therefore, if $E$ were effective, it would be isomorphic to the coproduct $X \sqcup X$, whose underlying set consists of words in $p,q$ with $p,q$ strictly alternating. In particular, in this coproduct, $pq \ne q$.' ); diff --git a/databases/catdat/data/003_category-property-assignments/PMet.sql b/databases/catdat/data/003_category-property-assignments/PMet.sql index c9d400b8..bc184c83 100644 --- a/databases/catdat/data/003_category-property-assignments/PMet.sql +++ b/databases/catdat/data/003_category-property-assignments/PMet.sql @@ -143,5 +143,5 @@ VALUES 'PMet', 'effective cocongruences', FALSE, - 'The proof is similar to the one for $\mathbf{Top}$: Equip a two-point set with the zero metric; this pseudo-metric space represents the functor taking a pseudo-metric space to the pairs of points with $d(x,y) = 0$. In this case, once you conclude $Z = \varnothing$, the map $h : Z \to 1$ does not have any cokernel pair, since that would have to be a coproduct $1+1$, which does not exist.' + 'The proof is similar to the one for $\Top$: Equip a two-point set with the zero metric; this pseudo-metric space represents the functor taking a pseudo-metric space to the pairs of points with $d(x,y) = 0$. In this case, once you conclude $Z = \varnothing$, the map $h : Z \to 1$ does not have any cokernel pair, since that would have to be a coproduct $1+1$, which does not exist.' ); diff --git a/databases/catdat/data/003_category-property-assignments/Pos.sql b/databases/catdat/data/003_category-property-assignments/Pos.sql index 5d0e6892..352856d9 100644 --- a/databases/catdat/data/003_category-property-assignments/Pos.sql +++ b/databases/catdat/data/003_category-property-assignments/Pos.sql @@ -99,6 +99,6 @@ VALUES 'Pos', 'effective cocongruences', FALSE, - 'Let $X$ be $\mathbb{R}$ with the standard (total) order, and let $E$ be the poset with underlying set $\mathbb{R} \times \{ 0, 1 \}$ and partial order such that $(x, m) \le (y, n)$ if and only if $x < y$ or $(x, m) = (y, n)$. The two maps $\mathbb{R} \rightrightarrows E$ will be $x \mapsto (x, 0)$ and $x \mapsto (x, 1)$ respectively. For any partial order $(\mathbb{P}, \le)$, the induced equivalence relation on the set of order-preserving functions $\mathbb{R} \to \mathbb{P}$ is that $f \sim g$ if and only if $f(x) \le g(y)$ and $g(x) \le f(y)$ whenever $x < y$. This relation is clearly reflexive and symmetric; for transitivity, if $f \sim g$ and $g \sim h$, then whenever $x < y$, we have $f(x) \le g(\frac{x+y}{2}) \le h(y)$ and similarly $h(x) \le g(\frac{x+y}{2}) \le f(y)$, showing that $f \sim h$.
- On the other hand, if this cocongruence on $\mathbb{R}$ were effective, then by the dual of this result, $E$ would be the cokernel pair of the equalizer of the two maps $\mathbb{R} \rightrightarrows E$. However, that equalizer is the empty poset, so $E$ would have to be the coproduct poset $\mathbb{R} + \mathbb{R}$, giving a contradiction.' + 'Let $X$ be $\IR$ with the standard (total) order, and let $E$ be the poset with underlying set $\IR \times \{ 0, 1 \}$ and partial order such that $(x, m) \le (y, n)$ if and only if $x < y$ or $(x, m) = (y, n)$. The two maps $\IR \rightrightarrows E$ will be $x \mapsto (x, 0)$ and $x \mapsto (x, 1)$ respectively. For any partial order $(\IP, \le)$, the induced equivalence relation on the set of order-preserving functions $\IR \to \IP$ is that $f \sim g$ if and only if $f(x) \le g(y)$ and $g(x) \le f(y)$ whenever $x < y$. This relation is clearly reflexive and symmetric; for transitivity, if $f \sim g$ and $g \sim h$, then whenever $x < y$, we have $f(x) \le g(\frac{x+y}{2}) \le h(y)$ and similarly $h(x) \le g(\frac{x+y}{2}) \le f(y)$, showing that $f \sim h$.
+ On the other hand, if this cocongruence on $\IR$ were effective, then by the dual of this result, $E$ would be the cokernel pair of the equalizer of the two maps $\IR \rightrightarrows E$. However, that equalizer is the empty poset, so $E$ would have to be the coproduct poset $\IR + \IR$, giving a contradiction.' ); diff --git a/databases/catdat/data/003_category-property-assignments/Rng.sql b/databases/catdat/data/003_category-property-assignments/Rng.sql index 90b26b76..a4bcc88b 100644 --- a/databases/catdat/data/003_category-property-assignments/Rng.sql +++ b/databases/catdat/data/003_category-property-assignments/Rng.sql @@ -101,11 +101,11 @@ VALUES 'Rng', 'effective cocongruences', FALSE, - 'The counterexample is similar to the one at MO/510744 for $\mathbf{Ring}$: in this case, - $$X := \langle p \mid p^2 = p \rangle_{\mathbf{Rng}} \cong \mathbb{Z}$$ + 'The counterexample is similar to the one at MO/510744 for $\Ring$: in this case, + $$X := \langle p \mid p^2 = p \rangle_{\Rng} \cong \IZ$$ and - $$E := \langle p, q \mid p^2 = p, q^2 = q, pq = q, qp = p \rangle_{\mathbf{Rng}} \cong \begin{pmatrix} \mathbb{Z} & \mathbb{Z} \\ 0 & 0 \end{pmatrix}$$ + $$E := \langle p, q \mid p^2 = p, q^2 = q, pq = q, qp = p \rangle_{\Rng} \cong \begin{pmatrix} \IZ & \IZ \\ 0 & 0 \end{pmatrix}$$ via $$p \mapsto \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix}, \quad q \mapsto \begin{pmatrix} 1 & 1 \\ 0 & 0 \end{pmatrix}.$$ - From here, the rest of the proof is similar to the one for $\mathbf{Ring}$.' + From here, the rest of the proof is similar to the one for $\Ring$.' ); diff --git a/databases/catdat/data/003_category-property-assignments/Set_c.sql b/databases/catdat/data/003_category-property-assignments/Set_c.sql index fdd2cef0..40d282fd 100644 --- a/databases/catdat/data/003_category-property-assignments/Set_c.sql +++ b/databases/catdat/data/003_category-property-assignments/Set_c.sql @@ -81,7 +81,7 @@ VALUES 'Set_c', 'effective congruences', TRUE, - 'Let $f, g : E \rightrightarrows X$ be a congruence in $\mathbf{Set}_\mathrm{c}$. Then using $1$ as a test object, we see that this induces an equivalence relation on $X$. We already know that $\mathbf{Set}$ has effective congruences (as does every topos). Using this result, we see that $E$ is the kernel pair of $X \to (X/E)_{\mathbf{Set}}$ in $\mathbf{Set}$. Also, the quotient $(X/E)_{\mathbf{Set}}$ is countable; and the forgetful functor $\mathbf{Set}_\mathrm{c} \to \mathbf{Set}$ is fully faithful and therefore reflects limits. Thus, we conclude that $E$ is the kernel pair of $X \to (X/E)_{\mathbf{Set}}$ in $\mathbf{Set}_\mathrm{c}$ as well.' + 'Let $f, g : E \rightrightarrows X$ be a congruence in $\Set_\c$. Then using $1$ as a test object, we see that this induces an equivalence relation on $X$. We already know that $\Set$ has effective congruences (as does every topos). Using this result, we see that $E$ is the kernel pair of $X \to (X/E)_{\Set}$ in $\Set$. Also, the quotient $(X/E)_{\Set}$ is countable; and the forgetful functor $\Set_\c \to \Set$ is fully faithful and therefore reflects limits. Thus, we conclude that $E$ is the kernel pair of $X \to (X/E)_{\Set}$ in $\Set_\c$ as well.' ), ( 'Set_c', diff --git a/databases/catdat/data/003_category-property-assignments/Set_f.sql b/databases/catdat/data/003_category-property-assignments/Set_f.sql index e8916ec8..92880ab6 100644 --- a/databases/catdat/data/003_category-property-assignments/Set_f.sql +++ b/databases/catdat/data/003_category-property-assignments/Set_f.sql @@ -45,13 +45,13 @@ VALUES 'Set_f', 'effective congruences', TRUE, - 'Let $f, g : E \rightrightarrows X$ be a congruence in $\mathbf{Set}_\mathrm{f}$. From the proof on quotients of congruences in $\mathbf{Set}_\mathrm{f}$, we have a quotient map $p : X \to X/E$ in $\mathbf{Set}_\mathrm{f}$, and $E$ is the kernel pair of $p$ in $\mathbf{Set}$. It remains to see that $E$ is also the kernel pair of $p$ in $\mathbf{Set}_f$. Thus, suppose we have $x_1, x_2 : T \rightrightarrows X$ with $p \circ x_1 = p \circ x_2$. Then there is a unique $e : T \to E$ in $\mathbf{Set}$ with $x_1 = f\circ e$ and $x_2 = g\circ e$. Since $f\circ e$ is finite-to-one, we must have $e$ is finite-to-one as well.' + 'Let $f, g : E \rightrightarrows X$ be a congruence in $\Set_\f$. From the proof on quotients of congruences in $\Set_\f$, we have a quotient map $p : X \to X/E$ in $\Set_\f$, and $E$ is the kernel pair of $p$ in $\Set$. It remains to see that $E$ is also the kernel pair of $p$ in $\Set_f$. Thus, suppose we have $x_1, x_2 : T \rightrightarrows X$ with $p \circ x_1 = p \circ x_2$. Then there is a unique $e : T \to E$ in $\Set$ with $x_1 = f\circ e$ and $x_2 = g\circ e$. Since $f\circ e$ is finite-to-one, we must have $e$ is finite-to-one as well.' ), ( 'Set_f', 'effective cocongruences', TRUE, - 'Suppose we have a cocongruence $f, g : X \rightrightarrows E$ in $\mathbf{Set}_f$. Then it is a coreflexive corelation in $\mathbf{Set}$. Since $\mathbf{Set}$ is co-Malcev and has effective cocongruences, that implies $E$ is the cokernel pair of some function $h : Z \to X$ in $\mathbf{Set}$. By the dual of this result, if $\mathrm{inc}_Y : Y \hookrightarrow X$ is the equalizer of $f$ and $g$, then $E$ is also the cokernel pair of $\mathrm{inc}_Y$ in $\mathbf{Set}$. It remains to see that $E$ is the cokernel pair of $\mathrm{inc}_Y$ in $\mathbf{Set}_\mathrm{f}$ as well. Thus, suppose $a, b : X \rightrightarrows T$ are such that $a |_Y = b |_Y$. Then there is a unique $c : E\to T$ in $\mathbf{Set}$ with $a = c\circ f$ and $b = c\circ g$. Since $(f;g) : X + X \to E$ is surjective and $c \circ (f;g) = (a;b)$ is finite-to-one, we see $c$ is finite-to-one as well.' + 'Suppose we have a cocongruence $f, g : X \rightrightarrows E$ in $\Set_f$. Then it is a coreflexive corelation in $\Set$. Since $\Set$ is co-Malcev and has effective cocongruences, that implies $E$ is the cokernel pair of some function $h : Z \to X$ in $\Set$. By the dual of this result, if $\inc_Y : Y \hookrightarrow X$ is the equalizer of $f$ and $g$, then $E$ is also the cokernel pair of $\inc_Y$ in $\Set$. It remains to see that $E$ is the cokernel pair of $\inc_Y$ in $\Set_\f$ as well. Thus, suppose $a, b : X \rightrightarrows T$ are such that $a |_Y = b |_Y$. Then there is a unique $c : E\to T$ in $\Set$ with $a = c\circ f$ and $b = c\circ g$. Since $(f;g) : X + X \to E$ is surjective and $c \circ (f;g) = (a;b)$ is finite-to-one, we see $c$ is finite-to-one as well.' ), ( 'Set_f', diff --git a/databases/catdat/data/003_category-property-assignments/Set_pointed.sql b/databases/catdat/data/003_category-property-assignments/Set_pointed.sql index 2beb4939..cc41e9dc 100644 --- a/databases/catdat/data/003_category-property-assignments/Set_pointed.sql +++ b/databases/catdat/data/003_category-property-assignments/Set_pointed.sql @@ -72,7 +72,7 @@ VALUES 'Set*', 'effective cocongruences', TRUE, - 'We have that $\mathbf{Set}_*^{\mathrm{op}}$ is a slice category of $\mathbf{Set}^{\mathrm{op}}$, which in turn is monadic over $\mathbf{Set}$. Therefore, by combining results from Borceux and Bourn Appendix A and nLab, $\mathbf{Set}_*^{\mathrm{op}}$ is Barr-exact, and in particular it has effective congruences.' + 'We have that $\Set_*^{\op}$ is a slice category of $\Set^{\op}$, which in turn is monadic over $\Set$. Therefore, by combining results from Borceux and Bourn Appendix A and nLab, $\Set_*^{\op}$ is Barr-exact, and in particular it has effective congruences.' ), ( 'Set*', diff --git a/databases/catdat/data/003_category-property-assignments/SetxSet.sql b/databases/catdat/data/003_category-property-assignments/SetxSet.sql index 93c8c155..c9228c13 100644 --- a/databases/catdat/data/003_category-property-assignments/SetxSet.sql +++ b/databases/catdat/data/003_category-property-assignments/SetxSet.sql @@ -27,7 +27,7 @@ VALUES 'SetxSet', 'effective cocongruences', TRUE, - 'Suppose we have a cocongruence $X \rightrightarrows E$ in $\mathbf{Set} \times \mathbf{Set}$. Then each component is a cocongruence, so they are the kernel pairs of some maps $Z_1\to X_1$, $Z_2 \to X_2$. Then $E$ is the cokernel pair of $(Z_1, Z_2) \to (X_1, X_2)$.' + 'Suppose we have a cocongruence $X \rightrightarrows E$ in $\Set \times \Set$. Then each component is a cocongruence, so they are the kernel pairs of some maps $Z_1\to X_1$, $Z_2 \to X_2$. Then $E$ is the cokernel pair of $(Z_1, Z_2) \to (X_1, X_2)$.' ), ( 'SetxSet', diff --git a/databases/catdat/data/003_category-property-assignments/Top_pointed.sql b/databases/catdat/data/003_category-property-assignments/Top_pointed.sql index ad8f9393..c69eaeec 100644 --- a/databases/catdat/data/003_category-property-assignments/Top_pointed.sql +++ b/databases/catdat/data/003_category-property-assignments/Top_pointed.sql @@ -173,11 +173,11 @@ VALUES 'Top*', 'effective congruences', FALSE, - 'Suppose that $\mathbf{Top}_*$ had effective congruences. Then by this result, $\mathbf{Top}$ would also have effective congruences, which we know is not the case (see here).' + 'Suppose that $\Top_*$ had effective congruences. Then by this result, $\Top$ would also have effective congruences, which we know is not the case (see here).' ), ( 'Top*', 'effective cocongruences', FALSE, - 'This counterexample is adapted from the counterexample for $\mathbf{Top}$. Consider the pointed topological space $I := \{ *, a, b \}$ with topology $\{ \varnothing, \{ * \}, \{ a, b \}, \{ *, a, b \} \}$. This represents the functor which sends a pointed topological space $X$ to the pairs of indistinguishable points of $X$. Therefore, we get a cocongruence $\{ *, a \} \rightrightarrows I$ on the discrete space $\{ *, a \}$, where the maps are $*\mapsto *, a\mapsto a$ and $*\mapsto *, a\mapsto b$ respectively. However, this cannot be effective: if we have $h : Z \to \{ *, a \}$ which equalizes the cocongruence, then $h$ must be the constant function with value $*$. But that means the cokernel pair of $h$ is the discrete space on $\{ *, a, b \}$.' + 'This counterexample is adapted from the counterexample for $\Top$. Consider the pointed topological space $I := \{ *, a, b \}$ with topology $\{ \varnothing, \{ * \}, \{ a, b \}, \{ *, a, b \} \}$. This represents the functor which sends a pointed topological space $X$ to the pairs of indistinguishable points of $X$. Therefore, we get a cocongruence $\{ *, a \} \rightrightarrows I$ on the discrete space $\{ *, a \}$, where the maps are $*\mapsto *, a\mapsto a$ and $*\mapsto *, a\mapsto b$ respectively. However, this cannot be effective: if we have $h : Z \to \{ *, a \}$ which equalizes the cocongruence, then $h$ must be the constant function with value $*$. But that means the cokernel pair of $h$ is the discrete space on $\{ *, a, b \}$.' ); diff --git a/databases/catdat/data/003_category-property-assignments/Z.sql b/databases/catdat/data/003_category-property-assignments/Z.sql index 0813b9e6..1be53edd 100644 --- a/databases/catdat/data/003_category-property-assignments/Z.sql +++ b/databases/catdat/data/003_category-property-assignments/Z.sql @@ -57,13 +57,13 @@ VALUES 'Z', 'effective congruences', TRUE, - 'If we have a congruence $E \rightrightarrows X$ in $[\mathbf{CRing}, \mathbf{Set}]$, then evaluating at any commutative ring gives a congruence in $\mathbf{Set}$. Defining $Y$ pointwise to be the quotient of this congruence, we get a morphism of functors $h : X \to Y$, and by this result applied pointwise, the kernel pair of $h$ is $E$.' + 'If we have a congruence $E \rightrightarrows X$ in $[\CRing, \Set]$, then evaluating at any commutative ring gives a congruence in $\Set$. Defining $Y$ pointwise to be the quotient of this congruence, we get a morphism of functors $h : X \to Y$, and by this result applied pointwise, the kernel pair of $h$ is $E$.' ), ( 'Z', 'effective cocongruences', TRUE, - 'If we have a cocongruence $X\rightrightarrows E$ in $[\mathbf{CRing}, \mathbf{Set}]$, then evaluating at any commutative gives a cocongruence in $\mathbf{Set}$. Defining $Y$ pointwise to be the equalizer of the pair, we get a morphism of functors $h : Y \to X$, and by the dual of this result applied pointwise, the cokernel pair of $h$ is $E$.' + 'If we have a cocongruence $X\rightrightarrows E$ in $[\CRing, \Set]$, then evaluating at any commutative gives a cocongruence in $\Set$. Defining $Y$ pointwise to be the equalizer of the pair, we get a morphism of functors $h : Y \to X$, and by the dual of this result applied pointwise, the cokernel pair of $h$ is $E$.' ), ( 'Z', diff --git a/databases/catdat/data/004_category-implications/005_additional-structure-implications.sql b/databases/catdat/data/004_category-implications/005_additional-structure-implications.sql index 3667650e..3cece9fb 100644 --- a/databases/catdat/data/004_category-implications/005_additional-structure-implications.sql +++ b/databases/catdat/data/004_category-implications/005_additional-structure-implications.sql @@ -48,7 +48,7 @@ VALUES '["normal"]', 'Let $i : Y \hookrightarrow X$ be a monomorphism. Then the pullback $E$ of $$X \times X \xrightarrow{p_1 - p_2} X \xhookleftarrow{~~~i~~~} Y$$ - is a congruence on $X$. This is because for generalized elements $x_1, x_2 \in X(T)$, $(x_1, x_2)$ factors through $E$ if and only if $x_1 - x_2$ factors through $Y$. In other words, the relation on $X(T)$ is exactly $x_1 \equiv x_2 \pmod{Y(T)}$, which is an equivalence relation on $X(T)$ (and in fact a congruence in $\mathbf{Ab}$). Now by assumption, $E$ is the kernel pair of some morphism $h : X \to Z$; in other words, $(x_1, x_2)$ factors through $E$ if and only if $h(x_1) = h(x_2)$. In particular, for $x \in X(T)$, $x$ factors through $Y$ if and only if $(x, 0)$ factors through $E$, which is equivalent to $h(x) = h(0) = 0$. We have thus shown that $Y$ is the kernel of $h$.', + is a congruence on $X$. This is because for generalized elements $x_1, x_2 \in X(T)$, $(x_1, x_2)$ factors through $E$ if and only if $x_1 - x_2$ factors through $Y$. In other words, the relation on $X(T)$ is exactly $x_1 \equiv x_2 \pmod{Y(T)}$, which is an equivalence relation on $X(T)$ (and in fact a congruence in $\Ab$). Now by assumption, $E$ is the kernel pair of some morphism $h : X \to Z$; in other words, $(x_1, x_2)$ factors through $E$ if and only if $h(x_1) = h(x_2)$. In particular, for $x \in X(T)$, $x$ factors through $Y$ if and only if $(x, 0)$ factors through $E$, which is equivalent to $h(x) = h(0) = 0$. We have thus shown that $Y$ is the kernel of $h$.', FALSE ), ( diff --git a/databases/catdat/data/004_category-implications/008_topos-theory-implications.sql b/databases/catdat/data/004_category-implications/008_topos-theory-implications.sql index 14f7a664..c6d07917 100644 --- a/databases/catdat/data/004_category-implications/008_topos-theory-implications.sql +++ b/databases/catdat/data/004_category-implications/008_topos-theory-implications.sql @@ -185,7 +185,7 @@ VALUES where $\pi_1, \pi_2$ are the projections. By distributivity and extensivity, it is sufficient to calculate the equalizer on each "quadrant" of $(X+X'') \times (X+X'')$, i.e. the four copies of $X \times X$.
On the $X\times X$ quadrant, for generalized elements $x_1, x_2 \in X(T)$, we have $(x_1, x_2) \in K(T)$ if and only if $p(x_1) = p(x_2)$. Since $p\circ i_1$ is a split monomorphism, this is equivalent to $x_1 = x_2$. Thus, the $X\times X$ quadrant of $K$ is the diagonal of $X$. On the $X\times X''$ quadrant, we have $(x_1, x_2'')\in K(T)$ if and only if $p(x_1) = p(x_2'')$. Since $r(p(x_1)) = x_1$ and $r(p(x_2'')) = x_2$, this condition implies $x_1 = x_2$; and then by definition of $Y$, $x_1 = x_2 \in Y(T)$. The converse is straightforward. Thus, the $X\times X''$ quadrant of $K$ is the diagonal of $Y$. Similarly, the $X''\times X$ quadrant of $K$ is the diagonal of $Y$, and the $X''\times X''$ quadrant of $K$ is the diagonal of $X$.
- Thus, we get that a morphism $h : X+X'' \to Z$ factors through $E$ if and only if $h(x) = h(x)$ for every generalized element $x \in X$; $h(y) = h(y'')$ for every $y \in Y$; $h(y'') = h(y)$ for every $y\in Y$; and $h(x'') = h(x'')$ for every $x \in X$. Clearly this is equivalent to $h(y) = h(y'')$ for every $y\in Y$, so in fact $E$ is the cokernel pair of $i_1 \circ \operatorname{inc}_Y$ and $i_2 \circ \operatorname{inc}_Y$. This means that $E$ is an effective cocongruence.

+ Thus, we get that a morphism $h : X+X'' \to Z$ factors through $E$ if and only if $h(x) = h(x)$ for every generalized element $x \in X$; $h(y) = h(y'')$ for every $y \in Y$; $h(y'') = h(y)$ for every $y\in Y$; and $h(x'') = h(x'')$ for every $x \in X$. Clearly this is equivalent to $h(y) = h(y'')$ for every $y\in Y$, so in fact $E$ is the cokernel pair of $i_1 \circ \inc_Y$ and $i_2 \circ \inc_Y$. This means that $E$ is an effective cocongruence.

Remark: The assumptions are satisfied in particular for every elementary topos. Therefore, every elementary topos has effective cocongruences and is co-Malcev. This special case is Example 2.2.18 in Malcev, protomodular, homological and semi-abelian categories. An alternative proof of this special case is given later in A.5.17.', FALSE diff --git a/databases/catdat/data/009_lemmas/001_lemmas.sql b/databases/catdat/data/009_lemmas/001_lemmas.sql index 7c471352..8dd7794a 100644 --- a/databases/catdat/data/009_lemmas/001_lemmas.sql +++ b/databases/catdat/data/009_lemmas/001_lemmas.sql @@ -153,12 +153,12 @@ INSERT INTO lemmas ( ( 'coslice-effective-congruences', 'Inheritance of effective congruences in coslice categories', - 'Let $\mathcal{C}$ be an extensive category, and $A$ an object of $\mathcal{C}$. If the coslice category $A \backslash \mathcal{C}$ has effective congruences, then so does $\mathcal{C}$.', - 'Let $f, g : E \rightrightarrows X$ be a congruence in $\mathcal{C}$. We then construct a congruence on $A+X$ in $A \backslash \mathcal{C}$. On an intuitive level, this will be the congruence generated by $a \sim a$ for $a\in A$ and $x \sim y$ for $(x, y) \in E$. More precisely, we will show the two maps - $$\mathrm{id}_A + f,\, \mathrm{id}_A + g : A+E \rightrightarrows A+X$$ + 'Let $\C$ be an extensive category, and $A$ an object of $\C$. If the coslice category $A \backslash \C$ has effective congruences, then so does $\C$.', + 'Let $f, g : E \rightrightarrows X$ be a congruence in $\C$. We then construct a congruence on $A+X$ in $A \backslash \C$. On an intuitive level, this will be the congruence generated by $a \sim a$ for $a\in A$ and $x \sim y$ for $(x, y) \in E$. More precisely, we will show the two maps + $$\id_A + f,\, \id_A + g : A+E \rightrightarrows A+X$$ form a congruence. To show the pair of maps is jointly monomorphic, we use extensivity to split the domains of the generalized elements, so without loss of generality we may assume each comes from either $A$ or $E$. Reflexivity and symmetry are straightforward; and for transitivity, we again use extensivity to split the domains of the generalized elements, and provide an argument on each subdomain where the three generalized elements all come from either $A$ or $E$.
- Now if this congruence is the kernel pair of $h : A+X \to Z$ in $A \backslash \mathcal{C}$, then $E$ is the kernel pair of $h \circ i_2 : X \to Z$ in $\mathcal{C}$. Namely, if we have two generalized elements $x_1, x_2 : T \rightrightarrows X$ such that $h \circ i_2 \circ x_1 = h \circ i_2 \circ x_2$, then we can construct a map pair - $$\mathrm{id}_A + x_1,\, \mathrm{id}_A + x_2 : A+T \rightrightarrows A+X$$ - in $A \backslash \mathcal{C}$ with $h \circ (\mathrm{id}_A + x_1) = h \circ (\mathrm{id}_A + x_2)$. Therefore, $\mathrm{id}_A + x_1, \mathrm{id}_A + x_2$ factors through $A+E$ in $A \backslash \mathcal{C}$, so $x_1, x_2$ factors through $A+E$ in $\mathcal{C}$; and using disjoint coproducts, we may conclude $x_1, x_2$ factors through $E$.' + Now if this congruence is the kernel pair of $h : A+X \to Z$ in $A \backslash \C$, then $E$ is the kernel pair of $h \circ i_2 : X \to Z$ in $\C$. Namely, if we have two generalized elements $x_1, x_2 : T \rightrightarrows X$ such that $h \circ i_2 \circ x_1 = h \circ i_2 \circ x_2$, then we can construct a map pair + $$\id_A + x_1,\, \id_A + x_2 : A+T \rightrightarrows A+X$$ + in $A \backslash \C$ with $h \circ (\id_A + x_1) = h \circ (\id_A + x_2)$. Therefore, $\id_A + x_1, \id_A + x_2$ factors through $A+E$ in $A \backslash \C$, so $x_1, x_2$ factors through $A+E$ in $\C$; and using disjoint coproducts, we may conclude $x_1, x_2$ factors through $E$.' ); diff --git a/src/lib/server/macros.ts b/src/lib/server/macros.ts index ad50c81b..f6c1356d 100644 --- a/src/lib/server/macros.ts +++ b/src/lib/server/macros.ts @@ -49,6 +49,7 @@ export const MACROS = { '\\Quot': '\\operatorname{Quot}', '\\supp': '\\operatorname{supp}', '\\Coexp': '\\operatorname{Coexp}', + '\\inc': '\\operatorname{inc}', // categories '\\Set': '\\mathbf{Set}', '\\Rel': '\\mathbf{Rel}',