From 055bd7a229b686d96bcc1fbb9e4174cd35c97e88 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Thu, 7 May 2026 12:17:37 +0200 Subject: [PATCH 01/22] generate yaml files for all categories --- databases/catdat/data_yaml/categories/0.yaml | 56 ++++++ databases/catdat/data_yaml/categories/1.yaml | 58 ++++++ databases/catdat/data_yaml/categories/2.yaml | 52 ++++++ databases/catdat/data_yaml/categories/Ab.yaml | 66 +++++++ .../catdat/data_yaml/categories/Ab_fg.yaml | 72 +++++++ .../catdat/data_yaml/categories/Alg(R).yaml | 89 +++++++++ databases/catdat/data_yaml/categories/B.yaml | 66 +++++++ .../catdat/data_yaml/categories/BG_c.yaml | 58 ++++++ .../catdat/data_yaml/categories/BG_f.yaml | 59 ++++++ databases/catdat/data_yaml/categories/BN.yaml | 66 +++++++ .../catdat/data_yaml/categories/BOn.yaml | 85 +++++++++ .../catdat/data_yaml/categories/Ban.yaml | 85 +++++++++ .../catdat/data_yaml/categories/CAlg(R).yaml | 84 +++++++++ .../catdat/data_yaml/categories/CMon.yaml | 83 +++++++++ .../catdat/data_yaml/categories/CRing.yaml | 86 +++++++++ .../catdat/data_yaml/categories/Cat.yaml | 86 +++++++++ .../catdat/data_yaml/categories/Delta.yaml | 98 ++++++++++ databases/catdat/data_yaml/categories/FI.yaml | 89 +++++++++ databases/catdat/data_yaml/categories/FS.yaml | 100 ++++++++++ .../catdat/data_yaml/categories/FinAb.yaml | 74 ++++++++ .../catdat/data_yaml/categories/FinGrp.yaml | 95 ++++++++++ .../catdat/data_yaml/categories/FinOrd.yaml | 100 ++++++++++ .../catdat/data_yaml/categories/FinSet.yaml | 84 +++++++++ .../catdat/data_yaml/categories/Fld.yaml | 88 +++++++++ .../catdat/data_yaml/categories/FreeAb.yaml | 83 +++++++++ .../catdat/data_yaml/categories/Grp.yaml | 102 ++++++++++ .../catdat/data_yaml/categories/Haus.yaml | 95 ++++++++++ databases/catdat/data_yaml/categories/J2.yaml | 64 +++++++ .../catdat/data_yaml/categories/LRS.yaml | 62 ++++++ .../catdat/data_yaml/categories/M-Set.yaml | 63 +++++++ .../catdat/data_yaml/categories/Man.yaml | 99 ++++++++++ .../catdat/data_yaml/categories/Meas.yaml | 93 +++++++++ .../catdat/data_yaml/categories/Met.yaml | 127 +++++++++++++ .../catdat/data_yaml/categories/Met_c.yaml | 97 ++++++++++ .../catdat/data_yaml/categories/Met_oo.yaml | 82 ++++++++ .../catdat/data_yaml/categories/Mon.yaml | 100 ++++++++++ databases/catdat/data_yaml/categories/N.yaml | 69 +++++++ .../catdat/data_yaml/categories/N_oo.yaml | 73 ++++++++ databases/catdat/data_yaml/categories/On.yaml | 72 +++++++ .../catdat/data_yaml/categories/PMet.yaml | 109 +++++++++++ .../catdat/data_yaml/categories/Pos.yaml | 90 +++++++++ .../catdat/data_yaml/categories/Prost.yaml | 87 +++++++++ .../catdat/data_yaml/categories/R-Mod.yaml | 64 +++++++ .../data_yaml/categories/R-Mod_div.yaml | 58 ++++++ .../catdat/data_yaml/categories/Rel.yaml | 83 +++++++++ .../catdat/data_yaml/categories/Ring.yaml | 92 +++++++++ .../catdat/data_yaml/categories/Rng.yaml | 97 ++++++++++ .../catdat/data_yaml/categories/Sch.yaml | 71 +++++++ .../catdat/data_yaml/categories/SemiGrp.yaml | 125 +++++++++++++ .../catdat/data_yaml/categories/Set.yaml | 65 +++++++ .../catdat/data_yaml/categories/Set_c.yaml | 98 ++++++++++ .../catdat/data_yaml/categories/Set_f.yaml | 100 ++++++++++ .../catdat/data_yaml/categories/Set_op.yaml | 21 +++ .../data_yaml/categories/Set_pointed.yaml | 95 ++++++++++ .../catdat/data_yaml/categories/Setne.yaml | 98 ++++++++++ .../catdat/data_yaml/categories/SetxSet.yaml | 60 ++++++ .../catdat/data_yaml/categories/Sh(X).yaml | 60 ++++++ .../catdat/data_yaml/categories/Sh(X,Ab).yaml | 59 ++++++ databases/catdat/data_yaml/categories/Sp.yaml | 76 ++++++++ .../catdat/data_yaml/categories/Top.yaml | 111 +++++++++++ .../data_yaml/categories/Top_pointed.yaml | 134 +++++++++++++ .../catdat/data_yaml/categories/TorsAb.yaml | 82 ++++++++ .../data_yaml/categories/TorsFreeAb.yaml | 82 ++++++++ .../catdat/data_yaml/categories/Vect.yaml | 58 ++++++ databases/catdat/data_yaml/categories/Z.yaml | 101 ++++++++++ .../catdat/data_yaml/categories/Z_div.yaml | 70 +++++++ .../data_yaml/categories/real_interval.yaml | 70 +++++++ .../catdat/data_yaml/categories/sSet.yaml | 64 +++++++ .../walking_commutative_square.yaml | 71 +++++++ .../categories/walking_composable_pair.yaml | 68 +++++++ .../categories/walking_coreflexive_pair.yaml | 92 +++++++++ .../data_yaml/categories/walking_fork.yaml | 77 ++++++++ .../categories/walking_idempotent.yaml | 68 +++++++ .../categories/walking_isomorphism.yaml | 58 ++++++ .../categories/walking_morphism.yaml | 71 +++++++ .../data_yaml/categories/walking_pair.yaml | 70 +++++++ .../data_yaml/categories/walking_span.yaml | 68 +++++++ .../categories/walking_splitting.yaml | 80 ++++++++ databases/catdat/scripts/generate-yaml.ts | 176 ++++++++++++++++++ package.json | 3 +- pnpm-lock.yaml | 41 ++-- pnpm-workspace.yaml | 8 +- 82 files changed, 6471 insertions(+), 20 deletions(-) create mode 100644 databases/catdat/data_yaml/categories/0.yaml create mode 100644 databases/catdat/data_yaml/categories/1.yaml create mode 100644 databases/catdat/data_yaml/categories/2.yaml create mode 100644 databases/catdat/data_yaml/categories/Ab.yaml create mode 100644 databases/catdat/data_yaml/categories/Ab_fg.yaml create mode 100644 databases/catdat/data_yaml/categories/Alg(R).yaml create mode 100644 databases/catdat/data_yaml/categories/B.yaml create mode 100644 databases/catdat/data_yaml/categories/BG_c.yaml create mode 100644 databases/catdat/data_yaml/categories/BG_f.yaml create mode 100644 databases/catdat/data_yaml/categories/BN.yaml create mode 100644 databases/catdat/data_yaml/categories/BOn.yaml create mode 100644 databases/catdat/data_yaml/categories/Ban.yaml create mode 100644 databases/catdat/data_yaml/categories/CAlg(R).yaml create mode 100644 databases/catdat/data_yaml/categories/CMon.yaml create mode 100644 databases/catdat/data_yaml/categories/CRing.yaml create mode 100644 databases/catdat/data_yaml/categories/Cat.yaml create mode 100644 databases/catdat/data_yaml/categories/Delta.yaml create mode 100644 databases/catdat/data_yaml/categories/FI.yaml create mode 100644 databases/catdat/data_yaml/categories/FS.yaml create mode 100644 databases/catdat/data_yaml/categories/FinAb.yaml create mode 100644 databases/catdat/data_yaml/categories/FinGrp.yaml create mode 100644 databases/catdat/data_yaml/categories/FinOrd.yaml create mode 100644 databases/catdat/data_yaml/categories/FinSet.yaml create mode 100644 databases/catdat/data_yaml/categories/Fld.yaml create mode 100644 databases/catdat/data_yaml/categories/FreeAb.yaml create mode 100644 databases/catdat/data_yaml/categories/Grp.yaml create mode 100644 databases/catdat/data_yaml/categories/Haus.yaml create mode 100644 databases/catdat/data_yaml/categories/J2.yaml create mode 100644 databases/catdat/data_yaml/categories/LRS.yaml create mode 100644 databases/catdat/data_yaml/categories/M-Set.yaml create mode 100644 databases/catdat/data_yaml/categories/Man.yaml create mode 100644 databases/catdat/data_yaml/categories/Meas.yaml create mode 100644 databases/catdat/data_yaml/categories/Met.yaml create mode 100644 databases/catdat/data_yaml/categories/Met_c.yaml create mode 100644 databases/catdat/data_yaml/categories/Met_oo.yaml create mode 100644 databases/catdat/data_yaml/categories/Mon.yaml create mode 100644 databases/catdat/data_yaml/categories/N.yaml create mode 100644 databases/catdat/data_yaml/categories/N_oo.yaml create mode 100644 databases/catdat/data_yaml/categories/On.yaml create mode 100644 databases/catdat/data_yaml/categories/PMet.yaml create mode 100644 databases/catdat/data_yaml/categories/Pos.yaml create mode 100644 databases/catdat/data_yaml/categories/Prost.yaml create mode 100644 databases/catdat/data_yaml/categories/R-Mod.yaml create mode 100644 databases/catdat/data_yaml/categories/R-Mod_div.yaml create mode 100644 databases/catdat/data_yaml/categories/Rel.yaml create mode 100644 databases/catdat/data_yaml/categories/Ring.yaml create mode 100644 databases/catdat/data_yaml/categories/Rng.yaml create mode 100644 databases/catdat/data_yaml/categories/Sch.yaml create mode 100644 databases/catdat/data_yaml/categories/SemiGrp.yaml create mode 100644 databases/catdat/data_yaml/categories/Set.yaml create mode 100644 databases/catdat/data_yaml/categories/Set_c.yaml create mode 100644 databases/catdat/data_yaml/categories/Set_f.yaml create mode 100644 databases/catdat/data_yaml/categories/Set_op.yaml create mode 100644 databases/catdat/data_yaml/categories/Set_pointed.yaml create mode 100644 databases/catdat/data_yaml/categories/Setne.yaml create mode 100644 databases/catdat/data_yaml/categories/SetxSet.yaml create mode 100644 databases/catdat/data_yaml/categories/Sh(X).yaml create mode 100644 databases/catdat/data_yaml/categories/Sh(X,Ab).yaml create mode 100644 databases/catdat/data_yaml/categories/Sp.yaml create mode 100644 databases/catdat/data_yaml/categories/Top.yaml create mode 100644 databases/catdat/data_yaml/categories/Top_pointed.yaml create mode 100644 databases/catdat/data_yaml/categories/TorsAb.yaml create mode 100644 databases/catdat/data_yaml/categories/TorsFreeAb.yaml create mode 100644 databases/catdat/data_yaml/categories/Vect.yaml create mode 100644 databases/catdat/data_yaml/categories/Z.yaml create mode 100644 databases/catdat/data_yaml/categories/Z_div.yaml create mode 100644 databases/catdat/data_yaml/categories/real_interval.yaml create mode 100644 databases/catdat/data_yaml/categories/sSet.yaml create mode 100644 databases/catdat/data_yaml/categories/walking_commutative_square.yaml create mode 100644 databases/catdat/data_yaml/categories/walking_composable_pair.yaml create mode 100644 databases/catdat/data_yaml/categories/walking_coreflexive_pair.yaml create mode 100644 databases/catdat/data_yaml/categories/walking_fork.yaml create mode 100644 databases/catdat/data_yaml/categories/walking_idempotent.yaml create mode 100644 databases/catdat/data_yaml/categories/walking_isomorphism.yaml create mode 100644 databases/catdat/data_yaml/categories/walking_morphism.yaml create mode 100644 databases/catdat/data_yaml/categories/walking_pair.yaml create mode 100644 databases/catdat/data_yaml/categories/walking_span.yaml create mode 100644 databases/catdat/data_yaml/categories/walking_splitting.yaml create mode 100644 databases/catdat/scripts/generate-yaml.ts diff --git a/databases/catdat/data_yaml/categories/0.yaml b/databases/catdat/data_yaml/categories/0.yaml new file mode 100644 index 00000000..20f9ad20 --- /dev/null +++ b/databases/catdat/data_yaml/categories/0.yaml @@ -0,0 +1,56 @@ +id: '0' +name: empty category +notation: $\0$ +objects: no objects +morphisms: no morphisms +description: This is the category with no objects and no morphisms. It is the initial object in the category of small categories. +nlab_link: https://ncatlab.org/nlab/show/empty+category + +tags: + - finite + - thin + +related_categories: + - '1' + +satisfied_properties: + - property_id: preadditive + reason: This is vacuously true. + + - property_id: discrete + reason: This is trivial. + + - property_id: binary products + reason: This is vacuously true. + + - property_id: finite + reason: This is trivial. + + - property_id: small + reason: This is trivial. + + - property_id: multi-algebraic + reason: The terminal category $\1$ becomes an FPC-sketch by selecting the unique empty cone and cocone. Then, a $\Set$-valued model of this sketch is a functor $\1 \to \Set$ sending the unique object to a terminal and initial object, which never exists. Hence, $\0$ is the category of models of this FPC-sketch. + +unsatisfied_properties: + - property_id: inhabited + reason: This is trivial. + +special_objects: {} + +special_morphisms: + isomorphisms: + description: none + reason: This is trivial. + monomorphisms: + description: none + reason: This is trivial. + epimorphisms: + description: none + reason: This is trivial. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/1.yaml b/databases/catdat/data_yaml/categories/1.yaml new file mode 100644 index 00000000..42116be8 --- /dev/null +++ b/databases/catdat/data_yaml/categories/1.yaml @@ -0,0 +1,58 @@ +id: '1' +name: trivial category +notation: $\1$ +objects: a single object $0$ +morphisms: only the identity morphism +description: This is the simplest category, consisting of a single object $0$ and its identity morphism $0 \to 0$. A concrete representation is the full subcategory of $\Set$ consisting of the empty set. It is the terminal object in the category of small categories. +nlab_link: https://ncatlab.org/nlab/show/terminal+category + +tags: + - finite + - single object + - thin + +related_categories: + - '0' + - '2' + +satisfied_properties: + - property_id: trivial + reason: This is trivial. + + - property_id: finite + reason: This is trivial. + + - property_id: small + reason: This is trivial. + + - property_id: discrete + reason: This is trivial. + +unsatisfied_properties: [] + +special_objects: + initial object: + description: the unique object + terminal object: + description: the unique object + coproducts: + description: $0 \sqcup 0 = 0$ + products: + description: $0 \times 0$ + +special_morphisms: + isomorphisms: + description: every morphism + reason: This is trivial. + monomorphisms: + description: every morphism + reason: This is trivial. + epimorphisms: + description: every morphism + reason: This is clear since it is discrete. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/2.yaml b/databases/catdat/data_yaml/categories/2.yaml new file mode 100644 index 00000000..823275eb --- /dev/null +++ b/databases/catdat/data_yaml/categories/2.yaml @@ -0,0 +1,52 @@ +id: '2' +name: discrete category on two objects +notation: $\2$ +objects: two objects $0$ and $1$ +morphisms: only the two identity morphisms +description: A concrete representation is the full subcategory of $\CRing$ consisting of the two fields $\IF_2$ and $\IF_3$. + +tags: + - finite + - thin + +related_categories: + - '1' + +satisfied_properties: + - property_id: discrete + reason: This is trivial. + + - property_id: finite + reason: This is trivial. + + - property_id: small + reason: This is trivial. + + - property_id: inhabited + reason: This is trivial. + + - property_id: multi-algebraic + reason: There is an FPC-sketch whose $\Set$-model is precisely a pair $(X,Y)$ of sets such that the coproduct $X+Y$ is a singleton. Any $\Set$-model of such a sketch is isomorphic to either $(\varnothing, 1)$ or $(1, \varnothing)$, hence the category of models is equivalent to $\2$. + +unsatisfied_properties: + - property_id: connected + reason: The objects $0$, $1$ have no zig-zag path between them. + +special_objects: {} + +special_morphisms: + isomorphisms: + description: every morphism + reason: This is trivial. + monomorphisms: + description: every morphism + reason: This is trivial. + epimorphisms: + description: every morphism + reason: This is clear since it is discrete. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/Ab.yaml b/databases/catdat/data_yaml/categories/Ab.yaml new file mode 100644 index 00000000..8d9eeae1 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Ab.yaml @@ -0,0 +1,66 @@ +id: Ab +name: category of abelian groups +notation: $\Ab$ +objects: abelian groups +morphisms: group homomorphisms +description: This is the prototype of an abelian category. +nlab_link: https://ncatlab.org/nlab/show/Ab + +tags: + - algebra + +related_categories: + - CMon + - FinAb + - FreeAb + - Grp + - R-Mod + - TorsAb + - TorsFreeAb + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Ab \to \Set$ and $\Set$ is locally small. + + - property_id: abelian + reason: This is standard, see Mac Lane, Ch. VIII. + + - property_id: finitary algebraic + reason: Take the algebraic theory of a commutative group. + +unsatisfied_properties: + - property_id: split abelian + reason: "The short exact sequence $0 \\xrightarrow{} \\IZ \\xrightarrow{p} \\IZ \\xrightarrow{} \\IZ/p \\xrightarrow{} 0$ does not split. " + + - property_id: skeletal + reason: This is trivial. + + - property_id: CSP + reason: The canonical homomorphism $\bigoplus_{n \geq 0} \IZ \to \prod_{n \geq 0} \IZ$ is not surjective, hence no epimorphism. + +special_objects: + initial object: + description: trivial group + terminal object: + description: trivial group + coproducts: + description: direct sums + products: + description: direct products with pointwise operations + +special_morphisms: + isomorphisms: + description: bijective homomorphisms + reason: This characterization holds in every algebraic category. + monomorphisms: + description: injective homomorphisms + reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + epimorphisms: + description: surjective homomorphisms + reason: "For the non-trivial direction, if $f : A \\to B$ is an epimorphism, then $p \\circ f = 0$ for the projection $p : B \\to B/f(A)$ implies that $p = 0$, so that $B = f(A)$." + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/Ab_fg.yaml b/databases/catdat/data_yaml/categories/Ab_fg.yaml new file mode 100644 index 00000000..46c20c04 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Ab_fg.yaml @@ -0,0 +1,72 @@ +id: Ab_fg +name: category of finitely generated abelian groups +notation: $\Ab_{\fg}$ +objects: finitely generated abelian groups +morphisms: group homomorphisms +nlab_link: https://ncatlab.org/nlab/show/finitely+generated+module + +tags: + - algebra + +related_categories: + - Ab + - FinAb + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\FinAb \to \Set$ and $\Set$ is locally small. + + - property_id: essentially countable + reason: Every finitely generated abelian group is isomorphic to a group of the form $\IZ^n / U$, where $n \in \IN$ and $U$ is a subgroup of $\IZ^n$. Since $\IZ^n$ is Noetherian as a $\IZ$-module, $U$ is finitely generated, hence the category $\Ab_\fg$ has only countably many objects up to isomorphism. Furthermore, for any objects $A \cong \IZ^n / U$ and $B \cong \IZ^m / T$, the hom-set $\Hom(A,B)$ is countable. Indeed, precomposition with the quotient map yields an injection $\Hom(A,B) \hookrightarrow \Hom(\IZ^n, B) \cong B^n$, and $B^n$ is countable. + + - property_id: abelian + reason: This follows from the fact for abelian groups and the fact that subgroups of finitely generated abelian groups are also finitely generated. + + - property_id: generator + reason: The group $\IZ$ is a generator since it represents the forgetful functor to $\Set$. + + - property_id: ℵ₁-accessible + reason: The inclusion $\Ab_{\fg} \hookrightarrow \Ab$ is closed under $\aleph_1$-filtered colimits by MO/400763. In particular, $\Ab_{\fg}$ has $\aleph_1$-filtered colimits. Since $\Ab_{\fg}$ is essentially small, there is a set $G$ such that every f.g. abelian group is isomorphic to one in $G$. So trivially it is also a $\aleph_1$-filtered colimit of such objects (take the constant diagram). Finally, every object is $\Ab_{\fg} = \Ab_{\fp}$ is finitely presentable in $\Ab$ and hence also in $\Ab_{\fg}$, a fortiori $\aleph_1$-presentable. + +unsatisfied_properties: + - property_id: small + reason: Even the collection of trivial groups is not small. + + - property_id: cogenerator + reason: Let $Q$ be a finitely generated abelian group. By their well-known classification, we have $Q = F \oplus T$ for a free abelian group $F$ and a finite abelian group $T$. Let $p$ be a prime number which does not divide the order of $T$. Then $\Hom(\IZ/p, Q) = 0$, but $\IZ/p \neq 0$. Therefore, $Q$ is no cogenerator. + + - property_id: split abelian + reason: The short exact sequence $0 \xrightarrow{} \IZ \xrightarrow{p} \IZ \xrightarrow{} \IZ/p \xrightarrow{} 0$ does not split. + + - property_id: skeletal + reason: This is trivial. + + - property_id: countable + reason: This is trivial. + +special_objects: + initial object: + description: trivial group + terminal object: + description: trivial group + coproducts: + description: '[finite case] direct sum' + products: + description: '[finite case] direct products' + +special_morphisms: + isomorphisms: + description: bijective homomorphisms + reason: This follows exactly as for abelian groups. + monomorphisms: + description: injective homomorphisms + reason: "Let $f : A \\to B$ be a monomorphism of finitely generated abelian groups. Let $a \\in A$ be in the kernel of $a$. Then we may view $a$ as a morphism $a : \\IZ \\to A$ with $f \\circ a = 0$, and $\\IZ$ is finitely generated. Hence, $a = 0$." + epimorphisms: + description: surjective homomorphisms + reason: Use the same proof as for abelian groups. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/Alg(R).yaml b/databases/catdat/data_yaml/categories/Alg(R).yaml new file mode 100644 index 00000000..f89c5b70 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Alg(R).yaml @@ -0,0 +1,89 @@ +id: Alg(R) +name: category of algebras +notation: $\Alg(R)$ +objects: algebras over a commutative ring $R \neq 0$ +morphisms: maps preserving the ring and module structure +description: This is a generalization of the category of rings, which we get for $R = \IZ$. We assume our rings (and algebras) to be unital. For $R = 0$ we would get the trivial category, which is why we exclude this here. +nlab_link: https://ncatlab.org/nlab/show/Alg + +tags: + - algebra + +related_categories: + - CAlg(R) + - R-Mod + - Ring + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Alg(R) \to \Set$ and $\Set$ is locally small. + + - property_id: finitary algebraic + reason: Take the algebraic theory of an $R$-algebra. + + - property_id: strict terminal object + reason: "If $f : 0 \\to A$ is an algebra homomorphism, then $A$ satisfies $1=f(1)=f(0)=0$, so that $A=0$." + + - property_id: Malcev + reason: This follows in the same way as for groups, see also Example 2.2.5 in Malcev, protomodular, homological and semi-abelian categories. + + - property_id: disjoint finite products + reason: One can take the same proof as for $\Ring$. + +unsatisfied_properties: + - property_id: balanced + reason: Take a prime ideal $P \subseteq R$ and consider the $R$-algebra $A := R/P$ (which is an integral domain). Then the inclusion $A \hookrightarrow Q(A)$ is a counterexample. + + - property_id: skeletal + reason: This is trivial. + + - property_id: cogenerating set + reason: 'We apply this lemma to the collection of $R$-algebras which are fields: If $F$ is an $R$-algebra that is also a field and $A$ is a non-trivial $R$-algebra, any algebra homomorphism $F \to A$ is injective. For every infinite cardinal $\kappa$ the field of rational functions in $\kappa$ variables over some residue field of $R$ has cardinality $\geq \kappa$ and a non-trivial automorphism (swap two variables).' + + - property_id: codistributive + reason: 'If $\sqcup$ denotes the coproduct of $R$-algebras (see MSE/625874 for their description) and $A$ is an $R$-algebra, the canonical morphism $A \sqcup R^2 \to (A \sqcup R)^2 = A^2$ is usually no isomorphism. For example, for $A = R[X]$ the coproduct on the LHS is not commutative, it has the algebra presentation $\langle X,E : E^2=E \rangle$.' + + - property_id: semi-strongly connected + reason: This is because already the full subcategory $\CAlg(R)$ of commutative algebras is not semi-strongly connected, see its category page for details. + + - property_id: co-Malcev + reason: 'See MO/509552: Consider the forgetful functor $U : \Alg(R) \to \Set$ and the relation $S \subseteq U^2$ defined by $S(A) := \{(a,b) \in U(A)^2 : ab = a^2\}$. Both are representable: $U$ by $R[X]$ and $S$ by $R \langle X,Y \rangle / \langle XY-X^2 \rangle$. It is clear that $S$ is reflexive, but not symmetric.' + + - property_id: coregular + reason: 'We just need to tweak the proof for $\Ring$. Since $R \neq 0$, there is an infinite field $K$ with a homomorphism $R \to K$. Since $K$ is infinite, we may choose some $\lambda \in K \setminus \{0,1\}$. Let $B := M_2(K)$ and $A := K \times K$. Then $A \to B$, $(x,y) \mapsto \diag(x,y)$ is a regular monomorphism: A direct calculation shows that a matrix is diagonal iff it commutes with $M := \bigl(\begin{smallmatrix} 1 & 0 \\ 0 & \lambda \end{smallmatrix}\bigr)$, so that $A \to B$ is the equalizer of the identity $B \to B$ and the conjugation $B \to B$, $X \mapsto M X M^{-1}$. Consider the homomorphism $A \to K$, $(a,b) \mapsto a$. We claim that $K \to K \sqcup_A B$ is not a monomorphism, because in fact, the pushout $K \sqcup_A B$ is zero: Since $A \to K$ is surjective with kernel $0 \times K$, the pushout is $B/\langle 0 \times K \rangle$, which is $0$ because $B$ is simple (proof) or via a direct calculation with elementary matrices.' + + - property_id: regular quotient object classifier + reason: We may copy the proof for the category of commutative algebras (since the proof there did not use that $P$ is commutative). Alternatively, any regular quotient object classifier in $\Alg(R)$ would produce one in $\CAlg(R)$ by this lemma (dualized). + + - property_id: cocartesian cofiltered limits + reason: |- + Consider the ring $A = R[X]$ and the sequence of rings $B_n = R[Y]/(Y^{n+1})$ with projections $B_{n+1} \to B_n$, whose limit is $R[[Y]]$. Every element in the coproduct of rings $R[X] \sqcup R[[Y]]$ has a finite "free product" length. Now consider the elements + $$w_n = (1 + XY) (1+XY^2) \cdots (1+X Y^n) \in A \sqcup B_n.$$ + Because of $w_n \equiv w_{n-1} \bmod Y^n$ these form an element $w \in \lim_n (A \sqcup B_n)$. Expanding $w_n$, the longest term is $XY XY^2 \cdots X Y^n$ of "free product" length $2n$, which is unbounded. + + - property_id: cofiltered-limit-stable epimorphisms + reason: 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. + + - property_id: effective cocongruences + reason: '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)$.' + +special_objects: + initial object: + description: $R$ + terminal object: + description: trivial algebra + coproducts: + description: see MSE/625874 + products: + description: direct products with pointwise operations + +special_morphisms: + isomorphisms: + description: bijective ring homomorphisms + reason: This characterization holds in every algebraic category. + monomorphisms: + description: injective ring homomorphisms + reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + regular epimorphisms: + description: surjective homomorphisms + reason: This holds in every finitary algebraic category. diff --git a/databases/catdat/data_yaml/categories/B.yaml b/databases/catdat/data_yaml/categories/B.yaml new file mode 100644 index 00000000..5a9a084d --- /dev/null +++ b/databases/catdat/data_yaml/categories/B.yaml @@ -0,0 +1,66 @@ +id: B +name: category of finite sets and bijections +notation: $\IB$ +objects: finite sets +morphisms: bijective maps +description: This category is also known as the permutation groupoid. It appears in the definition of a combinatorial species. +nlab_link: https://ncatlab.org/nlab/show/permutation+groupoid + +tags: + - combinatorics + - set theory + +related_categories: + - FI + - FS + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\IB \to \Set$ and $\Set$ is locally small. + + - property_id: essentially countable + reason: Every finite set is isomorphic to some $\{1,\dotsc,n\}$ for some $n \in \IN$. + + - property_id: groupoid + reason: This is trivial. + + - property_id: inhabited + reason: This is trivial. + +unsatisfied_properties: + - property_id: small + reason: Even the collection of singletons is not small. + + - property_id: connected + reason: For every $n \geq 0$ there is a connected component of sets of size $n$. + + - property_id: generator + reason: This is trivial. + + - property_id: essentially finite + reason: This is trivial. + + - property_id: skeletal + reason: This is trivial. + + - property_id: countable + reason: This is trivial. + +special_objects: {} + +special_morphisms: + isomorphisms: + description: every morphism + reason: It is a groupoid by construction. + monomorphisms: + description: every morphism + reason: This is trivial. + epimorphisms: + description: every morphism + reason: This is trivial. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/BG_c.yaml b/databases/catdat/data_yaml/categories/BG_c.yaml new file mode 100644 index 00000000..4d29daf4 --- /dev/null +++ b/databases/catdat/data_yaml/categories/BG_c.yaml @@ -0,0 +1,58 @@ +id: BG_c +name: delooping of an infinite countable group +notation: $BG$ +objects: a single object +morphisms: the elements of an infinite countable group $G$ +description: Every group $G$ yields a groupoid $BG$ with a single object $*$, morphisms given by the elements of $G$, and composition given by the group operation. In this example, we consider the case of an infinite countable group $G$ (such as $G = \IZ$). +nlab_link: https://ncatlab.org/nlab/show/delooping + +tags: + - algebra + - category theory + - single object + +related_categories: + - BG_f + - BN + +satisfied_properties: + - property_id: countable + reason: This is because $G$ is countable. + + - property_id: small + reason: This is trivial. + + - property_id: groupoid + reason: This is trivial. + + - property_id: connected + reason: This is trivial. + + - property_id: generator + reason: The unique object is a generator for trivial reasons. + + - property_id: skeletal + reason: There is just one object. + +unsatisfied_properties: + - property_id: essentially finite + reason: This is because we choose $G$ to be infinite. + +special_objects: {} + +special_morphisms: + isomorphisms: + description: every morphism + reason: It is a groupoid. + monomorphisms: + description: every morphism + reason: This is trivial. + epimorphisms: + description: every morphism + reason: This holds because it is a groupoid. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as isomorphisms + reason: This is because the category is left cancellative. diff --git a/databases/catdat/data_yaml/categories/BG_f.yaml b/databases/catdat/data_yaml/categories/BG_f.yaml new file mode 100644 index 00000000..5cebaf48 --- /dev/null +++ b/databases/catdat/data_yaml/categories/BG_f.yaml @@ -0,0 +1,59 @@ +id: BG_f +name: delooping of a non-trivial finite group +notation: $BG$ +objects: a single object +morphisms: the elements of a non-trivial finite group $G$ +description: Every group $G$ yields a groupoid $BG$ with a single object $*$, morphisms given by the elements of $G$, and composition given by the group operation. In this example, we consider the case of a non-trivial finite group $G$ (such as $G = C_2$). +nlab_link: https://ncatlab.org/nlab/show/delooping + +tags: + - algebra + - category theory + - finite + - single object + +related_categories: + - BG_c + - BN + +satisfied_properties: + - property_id: finite + reason: This is trivial. + + - property_id: small + reason: This is trivial. + + - property_id: groupoid + reason: This is trivial. + + - property_id: connected + reason: This is trivial. + + - property_id: generator + reason: The unique object is a generator for trivial reasons. + + - property_id: skeletal + reason: There is just one object. + +unsatisfied_properties: + - property_id: trivial + reason: This is trivial. + +special_objects: {} + +special_morphisms: + isomorphisms: + description: every morphism + reason: It is a groupoid. + monomorphisms: + description: every morphism + reason: This is trivial. + epimorphisms: + description: every morphism + reason: This holds because it is a groupoid. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as isomorphisms + reason: This is because the category is left cancellative. diff --git a/databases/catdat/data_yaml/categories/BN.yaml b/databases/catdat/data_yaml/categories/BN.yaml new file mode 100644 index 00000000..2944ba26 --- /dev/null +++ b/databases/catdat/data_yaml/categories/BN.yaml @@ -0,0 +1,66 @@ +id: BN +name: delooping of the additive monoid of natural numbers +notation: $B\IN$ +objects: a single object +morphisms: the natural numbers, with addition serving as composition +description: Every monoid $M$ induces a category $BM$ with a single object $*$, morphisms given by the elements of $M$, and composition given by the monoid operation. Some of the properties of this category depend on the specific monoid. In this example, we take the commutative monoid $M = (\IN,+,0)$, so composition is $n \circ m = n + m$. + +tags: + - category theory + - number theory + - single object + +related_categories: + - BG_c + - BOn + +satisfied_properties: + - property_id: small + reason: This is trivial. + + - property_id: countable + reason: This is trivial. + + - property_id: strongly connected + reason: This is trivial. + + - property_id: self-dual + reason: The identity is a self-duality since the addition is commutative. + + - property_id: generator + reason: The unique object is a generator for trivial reasons. + + - property_id: left cancellative + reason: This is because addition of natural numbers is cancellative. + + - property_id: gaunt + reason: This is because $0$ is the only natural number with an additive inverse. + + - property_id: locally cartesian closed + reason: The slice category $B\IN / *$ is isomorphic to the poset $(\IN,\geq)$ (not to $(\IN,\leq)$). This category is thin and and semi-strongly connected, hence cartesian closed. + +unsatisfied_properties: + - property_id: sequential limits + reason: Assume that the sequence $\cdots \xrightarrow{1} \bullet \xrightarrow{1} \bullet \xrightarrow{1} \bullet$ has a limit. This is a (universal) sequence of natural numbers $n_0,n_1,\dotsc$ satisfying $n_i = n_{i+1} + 1$. But then $n_i = n_0 - i$, and in particular $n_{n_0 + 1} = - 1$, a contradiction. + + - property_id: one-way + reason: This is trivial. + +special_objects: {} + +special_morphisms: + isomorphisms: + description: only the number $0$ + reason: The $0$ is the only natural number which has an additive inverse, since for $n > 0$ we have $n + m > 0$ for all $m$. + monomorphisms: + description: every morphism + reason: This is because addition of natural numbers is cancellative. + epimorphisms: + description: every morphism + reason: Addition of natural numbers is cancellative. + regular monomorphisms: + description: same as isomorphisms + reason: This is because the category is right cancellative. + regular epimorphisms: + description: same as isomorphisms + reason: This is because the category is left cancellative. diff --git a/databases/catdat/data_yaml/categories/BOn.yaml b/databases/catdat/data_yaml/categories/BOn.yaml new file mode 100644 index 00000000..2381bceb --- /dev/null +++ b/databases/catdat/data_yaml/categories/BOn.yaml @@ -0,0 +1,85 @@ +id: BOn +name: delooping of the additive monoid of ordinal numbers +notation: $B\On$ +objects: a single object +morphisms: ordinal numbers, with addition as composition +description: Every monoid $M$ induces a category $BM$ with a single object $*$. This also works when $M$ is large, in which case $BM$ is not locally small. In this example, we apply this construction to the large monoid of ordinal numbers with respect to addition, so composition is $\alpha \circ \beta = \alpha + \beta$. + +tags: + - set theory + - single object + +related_categories: + - BN + +satisfied_properties: + - property_id: strongly connected + reason: This is trivial. + + - property_id: generator + reason: There is just one object. + + - property_id: cogenerator + reason: There is just one object. + + - property_id: left cancellative + reason: It is well-known that ordinal addition satisfies $\alpha + \beta = \alpha + \gamma \implies \beta = \gamma$. + + - property_id: well-copowered + reason: This follows from the description of epimorphisms as finite ordinals, see MO/5029605. + + - property_id: equalizers + reason: See MSE/5029668. + + - property_id: gaunt + reason: This is because $0$ is the only ordinal number with an additive inverse. + + - property_id: cofiltered limits + reason: See MSE/5129138. + + - property_id: locally cartesian closed + reason: The slice category $B\On / *$ is isomorphic to the poset $(\On,\geq)$ (not to $(\On,\leq)$). This category is thin and and semi-strongly connected, hence cartesian closed. + +unsatisfied_properties: + - property_id: locally essentially small + reason: This is because $\On$ is large. + + - property_id: initial object + reason: This is trivial. + + - property_id: balanced + reason: Every finite ordinal is both a mono- and an epimorphism (see below), but only $0$ is an isomorphism. + + - property_id: well-powered + reason: This is because all ordinals are monomorphisms (see below) and they do not form a set. + + - property_id: sequential colimits + reason: Assume that the sequence $\bullet \xrightarrow{1} \bullet \xrightarrow{1} \cdots$ has a colimit. This mounts to a (universal) sequence of ordinals $\alpha_n$ with $\alpha_n = \alpha_{n+1} + 1$. But then $\alpha_{n+1} < \alpha_n$, contradicting the fact that $\alpha_0$ is well-ordered. + + - property_id: pushouts + reason: Assume that $1,\omega$ have a pushout. This is a (universal) pair of ordinals $\alpha,\beta$ with $\alpha + 1 = \beta + \omega$. But $\beta + \omega$ is a limit ordinal, while $\alpha + 1$ is not. + + - property_id: one-way + reason: This is trivial. + + - property_id: cofiltered-limit-stable epimorphisms + reason: The epimorphisms are the finite ordinals (see below), but the limit of the sequential diagram $\cdots \xrightarrow{1} * \xrightarrow{1} *$ is the ordinal $\omega$ by MSE/5129138. + +special_objects: {} + +special_morphisms: + isomorphisms: + description: only the ordinal $0$ + reason: The $0$ is the only ordinal which has an additive inverse, since for $\alpha > 0$ we have $\alpha + \beta > 0$ for all $\beta$. + monomorphisms: + description: every ordinal number + reason: This is because ordinal addition is left cancellative. + epimorphisms: + description: finite ordinal numbers + reason: See MSE/5029605. + regular monomorphisms: + description: ordinals of the form $\alpha \cdot \omega$, where $\alpha$ is any ordinal + reason: This results from the proof that equalizers exist, see MSE/5029668. + regular epimorphisms: + description: same as isomorphisms + reason: This is because the category is left cancellative. diff --git a/databases/catdat/data_yaml/categories/Ban.yaml b/databases/catdat/data_yaml/categories/Ban.yaml new file mode 100644 index 00000000..6aca9a99 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Ban.yaml @@ -0,0 +1,85 @@ +id: Ban +name: category of Banach spaces with linear contractions +notation: $\Ban$ +objects: Banach spaces over $\IC$ +morphisms: linear contractions, i.e. linear maps of norm $\leq 1$ +description: The choice of morphisms is similar to that of $\Met$ which yields better categorical properties. +nlab_link: https://ncatlab.org/nlab/show/Banach+space + +tags: + - analysis + +related_categories: + - Met + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Ban \to \Set$ and $\Set$ is locally small. + + - property_id: pointed + reason: The trivial Banach space $\{0\}$ is a zero object. + check_redundancy: false + + - property_id: locally ℵ₁-presentable + reason: Example 1.48 in Adamek-Rosicky. + + - property_id: cartesian filtered colimits + reason: If $X$ is a Banach space and $(Y_i)$ is a filtered diagram of Banach spaces, the canonical map $\colim_i (X \times Y_i) \to X \times \colim_i Y_i$ is the completion of the canonical map in the category of normed vector spaces with non-expansive linear maps. Now the claim follows directly from the category of metric spaces with non-expansive maps. + + - property_id: cocartesian cofiltered limits + reason: 'If $X$ is a Banach space and $(Y_i)$ is a cofiltered diagram of Banach spaces, the canonical map $X \oplus \lim_i Y_i \to \lim_i (X \oplus Y_i)$ is an isomorphism: Since the forgetful functor $\Ban \to \Vect$ preserves finite coproducts and all limits, and $\Vect$ has the claimed property (see here), the canonical map is bijective. It remains to show that it is isometric. For $(x,y) \in X \oplus \lim_i Y_i$ the norm in the domain is $|x| + \sup_i |y_i|$, and the norm in the codomain is $\sup_i (|x| + |y_i|)$, and these clearly agree.' + + - property_id: CIP + reason: This is immediate from the concrete description of coproducts and products. + + - property_id: cogenerator + reason: The Hahn-Banach theorem implies that $\IC$ is a cogenerator. + +unsatisfied_properties: + - property_id: balanced + reason: The linear map $\IC \to \IC$, $x \mapsto x/2$ is a counterexample. It is bijective, hence a mono- and epimorphism, but not isometric and therefore no isomorphism. + + - property_id: filtered-colimit-stable monomorphisms + reason: 'The proof is similar to $\Met$. For $n \geq 1$ let $V_n$ be the Banach space with underlying vector space $\IC$ and the norm $|x|_n := \frac{1}{n} |x|$. For $n \leq m$ the identity map provides a morphism $V_n \to V_m$, which is clearly a monomorphism (also an epimorphism by the way, but an isomorphism iff $n=m$). Let $V$ be the colimit of all $V_n$ in the category of semi-normed vector spaces. It is constructed as the colimit in the category of vector spaces with the semi-norm $|x| := \inf \{|x|_m : n \leq m \}$ for $x \in V_n$. So clearly, the semi-norm is zero. Hence, the colimit in the category of normed vector spaces is $0$. The colimit in the category of Banach spaces is its completion, also $0$. Thus, the monomorphisms $V_1 \to V_n$ become $V_1 \to 0$ in the colimit.' + + - property_id: skeletal + reason: This is trivial. + + - property_id: unital + reason: See MSE/5033161. + + - property_id: co-Malcev + reason: See the comments to MO/509552. + + - property_id: regular subobject classifier + reason: If $\Omega$ is a regular subobject classifier, then by the classification of regular monomorphisms, $\Hom(X,\Omega)$ is isomorphic to the set of closed subspaces of $X$ for any Banach space $X$. For $X = \IC$ this implies that there are exactly two vectors in $\Omega$ with norm $\leq 1$, which is absurd. (For $\Omega = 0$ there is just one, and for $\Omega \neq 0$ there are infinitely many.) + + - property_id: CSP + reason: By using the concrete description of products and coproducts, for the constant family $X_n = \IC$ the canonical morphism $\coprod_n X_n \to \prod_n X_n$ becomes the canonical inclusion map $\ell^1 \hookrightarrow \ell^\infty$. This is not an epimorphism (i.e., has no dense image) since the closure of the image is precisely $c_0$. So for example, $(1,1,\dotsc)$ is not contained in the closure of the image. + + - property_id: cofiltered-limit-stable epimorphisms + reason: "We show that epimorphisms are not stable under sequential limits. Let $X_n = Y_n = \\IC$ for all $n \\geq 0$. The transition morphism $Y_{n+1} \\to Y_n$ is the identity, and the transition morphism $X_{n+1} \\to X_n$ is $x \\mapsto x/2$. The morphisms $X_n \\to Y_n$, $x \\mapsto x/2^n$ are compatible with the transitions, and they are surjective, hence epimorphisms. Now we check $\\lim_n X_n = 0$: An element $(x_n) \\in \\lim_n X_n$ is a family of complex numbers satisfying $x_n = x_{n+1}/2$ and $\\sup_n |x_n| < \\infty$. But then $x_n = 2^n x_0$ and this can only be bounded when $x_0=0$. Hence, $0 = \\lim_n X_n \\to \\lim_n Y_n = \\IC$ is no epimorphism." + +special_objects: + initial object: + description: trivial Banach space + terminal object: + description: trivial Banach space + coproducts: + description: "The coproduct of a family of Banach spaces $(B_i)$ is the subspace $\\bigl\\{x \\in \\prod_i B_i : \\sum_i |x_i| < \\infty\\bigr\\}$ equipped with the $1$-norm $|x| := \\sum_i |x_i|$." + products: + description: direct products with the $\sup$-norm + +special_morphisms: + isomorphisms: + description: bijective linear isometries + reason: This is easy. + monomorphisms: + description: injective linear contractions + reason: "The unit ball functor $U : \\Ban \\to \\Set$ is faithful and representable (by $\\IC$), hence reflects and preserves monomorphisms." + epimorphisms: + description: linear contractions with dense image + reason: "Let $f : X \\to Y$ be an epimorphism of Banach spaces. The subspace $U := \\overline{f(X)} \\subseteq Y$ is closed. It is well-known that the quotient $Y/U$ is also a Banach space with a projection $p : Y \\to Y/U$. Since $p \\circ f = 0 = 0 \\circ f$, we infer $p = 0$, so that $U = Y$." + regular monomorphisms: + description: closed embeddings + reason: The non-trivial direction follows from the well-known fact that for every closed subspace of a Banach space its quotient space is again a Banach space. diff --git a/databases/catdat/data_yaml/categories/CAlg(R).yaml b/databases/catdat/data_yaml/categories/CAlg(R).yaml new file mode 100644 index 00000000..c51fff79 --- /dev/null +++ b/databases/catdat/data_yaml/categories/CAlg(R).yaml @@ -0,0 +1,84 @@ +id: CAlg(R) +name: category of commutative algebras +notation: $\CAlg(R)$ +objects: commutative algebras over a commutative ring $R \neq 0$ +morphisms: maps preserving the ring and module structure +description: This is a generalization of the category of commutative rings, which we get for $R = \IZ$. In general, $\CAlg(R) \cong R \,/\, \CRing$. We assume our rings (and algebras) to be unital. For $R = 0$ we would get the trivial category, which is why we exclude this here. +nlab_link: https://ncatlab.org/nlab/show/CommAlg + +tags: + - algebra + +related_categories: + - Alg(R) + - CRing + - R-Mod + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\CAlg(R) \to \Set$ and $\Set$ is locally small. + + - property_id: finitary algebraic + reason: Take the algebraic theory of a commutative ring. + + - property_id: strict terminal object + reason: "If $f : 0 \\to R$ is a homomorphism, then $R$ satisfies $1=f(1)=f(0)=0$, so that $R=0$." + check_redundancy: false + + - property_id: Malcev + reason: This follows in the same way as for groups, see also Example 2.2.5 in Malcev, protomodular, homological and semi-abelian categories. + + - property_id: coextensive + reason: One can use the same proof as for $\CRing$. + +unsatisfied_properties: + - property_id: balanced + reason: Take a prime ideal $P \subseteq R$ and consider the commutative $R$-algebra $A := R/P$ (which is an integral domain). Then the inclusion $A \hookrightarrow Q(A)$ is a counterexample. + + - property_id: cogenerating set + reason: 'We apply this lemma to the collection of commutative $R$-algebras which are fields: If $F$ is a commutative $R$-algebra that is also a field and $A$ is a non-trivial commutative $R$-algebra, any algebra homomorphism $F \to A$ is injective. For every infinite cardinal $\kappa$ the field of rational functions in $\kappa$ variables over some residue field of $R$ has cardinality $\geq \kappa$ and a non-trivial automorphism (swap two variables).' + + - property_id: skeletal + reason: This is trivial. + + - property_id: countably codistributive + reason: "The canonical homomorphism $A \\otimes_R R^{\\IN} \\to A^{\\IN}$ is given by $a \\otimes (r_n)_n \\mapsto (r_n a)_n$ and does not have to be surjective: Since $R \\neq 0$, there is a commutative $R$-algebra $K$ which is a field. Now take $A := K[X]$ and consider the sequence $(X^n)_{n} \\in A^{\\IN}$." + + - property_id: semi-strongly connected + reason: Choose a maximal ideal $\mathfrak{m}$ of $R$, so $K := R/\mathfrak{m}$ is a field. If $\CAlg(R)$ is semi-strongly connected, then also $\CAlg(K)$ is semi-strongly connected. This has been disproven in MSE/5129689. + + - property_id: coregular + reason: See MSE/3745302. + + - property_id: co-Malcev + reason: 'See MO/509552: Consider the forgetful functor $U : \CAlg(R) \to \Set$ and the relation $S \subseteq U^2$ defined by $S(A) := \{(a,b) \in U(A)^2 : ab = a^2\}$. Both are representable: $U$ by $R[X]$ and $S$ by $R[X,Y] / \langle XY-X^2 \rangle$. It is clear that $S$ is reflexive, but not symmetric.' + + - property_id: regular quotient object classifier + reason: "The strategy is similar to the one for $\\CRing$: Assume that $P \\to R$ is a regular quotient object classifier. If $J$ denotes the kernel of $P \\to R$, every ideal $I \\subseteq A$ of any commutative $R$-algebra has the form $I = \\langle \\varphi(J) \\rangle$ for a unique homomorphism $\\varphi : P \\to A$. If $\\sigma : A \\to A$ is an automorphism with $\\sigma(I)=I$, then uniqueness gives us $\\sigma \\circ \\varphi = \\varphi$, which means that $\\varphi(J)$ lies in $A^{\\sigma}$, the fixed algebra of $\\sigma$. But then $I$ is generated by elements in $A^{\\sigma} \\cap I$. If $K$ is a residue field of $R$, this fails for $A = K[X,Y]$, $I = \\langle X,Y \\rangle$, $\\sigma(X)=Y$, $\\sigma(Y)=X$. The fixed algebra is the subalgebra of symmetric polynomials, which is $K[X+Y,XY]$. So $\\langle X,Y \\rangle$ is generated by symmetric polynomials without constant term, which implies $\\langle X,Y \\rangle \\subseteq \\langle X+Y,XY \\rangle$ in $K[X,Y]$. But reducing an equation like $X = a(X,Y) \\cdot (X+Y) + b(X,Y) \\cdot (XY)$ modulo $\\langle X^2,Y^2,XY \\rangle$ yields a contradiction." + + - property_id: cofiltered-limit-stable epimorphisms + reason: Let $K$ be a field over $R$. Consider the sequence of projections $\cdots \to K[X]/\langle X^2 \rangle \to K[X]/\langle X \rangle$ and the constant sequence $\cdots \to K[X] \to K[X]$. The surjective homomorphisms $K[X] \to K[X]/\langle X^n \rangle$ induce the inclusion $K[X] \hookrightarrow K[[X]]$ in the limit, where $K[[X]]$ is the algebra of formal power series. It is clearly not surjective, but this is not sufficient, we need to argue that it is not an epimorphism in $\CAlg(R)$, or equivalently, in $\CRing$. For a proof, see MSE/2391187. + +special_objects: + initial object: + description: $R$ + terminal object: + description: trivial algebra + coproducts: + description: tensor products over $R$ + products: + description: direct products with pointwise operations + +special_morphisms: + isomorphisms: + description: bijective homomorphisms + reason: This characterization holds in every algebraic category. + monomorphisms: + description: injective homomorphisms + reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + epimorphisms: + description: a homomorphism of algebras which is an epimorphism of commutative rings + reason: The forgetful functor $\CAlg(R) \to \Ring$ is faithful and hence reflects epimorphisms, but it also preserves epimorphisms since it preserves pushouts (since $\CAlg(R) \cong R / \Ring$). For epimorphisms of commutative rings see their detail page. + regular epimorphisms: + description: surjective homomorphisms + reason: This holds in every finitary algebraic category. diff --git a/databases/catdat/data_yaml/categories/CMon.yaml b/databases/catdat/data_yaml/categories/CMon.yaml new file mode 100644 index 00000000..21cef652 --- /dev/null +++ b/databases/catdat/data_yaml/categories/CMon.yaml @@ -0,0 +1,83 @@ +id: CMon +name: category of commutative monoids +notation: $\CMon$ +objects: commutative monoids +morphisms: monoid homomorphisms +nlab_link: https://ncatlab.org/nlab/show/category+of+monoids + +tags: + - algebra + +related_categories: + - Ab + - CRing + - Mon + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\CMon \to \Set$ and $\Set$ is locally small. + + - property_id: pointed + reason: The trivial monoid is a zero object. + check_redundancy: false + + - property_id: finitary algebraic + reason: Take the algebraic of a commutative monoid. + + - property_id: biproducts + reason: This follows from the explicit construction of coproducts and products. + +unsatisfied_properties: + - property_id: balanced + reason: The inclusion of additive monoids $\IN \hookrightarrow \IZ$ is a counterexample. + + - property_id: skeletal + reason: This is trivial. + + - property_id: Malcev + reason: "Consider the submonoid $\\{(a,b) : a \\leq b \\}$ of $\\IN^2$." + + - property_id: cogenerator + reason: See MO/509232. + + - property_id: co-Malcev + reason: 'See MO/509552: Consider the forgetful functor $U : \CMon \to \Set$ and the relation $R \subseteq U^2$ defined by $R(A) := \{(a,b) \in U(A)^2 : ab = a^2\}$. Both are representable: $U$ by the free monoid on a single generator and $R$ by the free commutative monoid on two generators $x,y$ subject to the relation $xy=x^2$. It is clear that $R$ is reflexive, but not symmetric.' + + - property_id: regular subobject classifier + reason: We can use exactly the same proof as for the category of monoids. + + - property_id: coregular + reason: 'We can show this analogously to the case of commutative rings MSE/3746890. Consider the commutative monoid $\IN^2$ and its submonoid $U\coloneqq\{(m,n)\mid m\ge n\}$ with the inclusion $i\colon U\hookrightarrow\IN^2$. Then, the pushout of $i$ along itself is $\langle x,y,z : x+y=x+z \rangle$, and the equalizer of the cokernel pair of $i$ is $D\coloneqq\{(m,n)\mid m=0 \implies n=0 \}$. If the category $\CMon$ were coregular, the canonical inclusion $j\colon U\hookrightarrow D$ would have to be an epimorphism. However, it is not: let $I\coloneqq\{0,1\}$ be the two-element commutative monoid with $1+1=1$, and let $u,v\colon D \rightrightarrows I$ be the morphisms defined by $u^{-1}(0)=\{(0,0)\}$ and $v^{-1}(0)=\{(0,0),(1,2)\}$; then we have $u\circ j = v\circ j$.' + + - property_id: regular quotient object classifier + reason: "If $P \\in \\CMon$ is a regular quotient object classifier, this means that every surjective homomorphism of commutative monoids $A \\to B$ is the cokernel of a unique homomorphism $P \\to A$. But there are many surjective homomorphisms which are no cokernels at all: Consider the Boolean monoid $(\\{0,1\\},\\vee)$ with $1 \\vee 1 = 1$ and the surjective homomorphism $f : (\\IN,+) \\to (\\{0,1\\},\\vee)$ defined by $f(0)=0$ and $f(n)=1$ for $n \\geq 1$. It has trivial kernel, but is no isomorphism, so it cannot be a cokernel." + + - property_id: CSP + reason: First of all, epimorphisms in $\CMon$ are preserved and reflected by the forgetful functor to $\Mon$ (see below). Furthermore, 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 $\CMon$ the canonical homomorphism $\bigoplus_{n \geq 0} \IN \to \prod_{n \geq 0} \IN$ is not an epimorphism because its domain is countable and its codomain is uncountable. + +special_objects: + initial object: + description: trivial monoid + terminal object: + description: trivial monoid + coproducts: + description: direct sums + products: + description: direct products with pointwise operations + +special_morphisms: + isomorphisms: + description: bijective homomorphisms + reason: This characterization holds in every algebraic category. + monomorphisms: + description: injective homomorphisms + reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + epimorphisms: + description: A morphism in $\CMon$ is an epimorphism iff it is an epimorphism in $\Mon$, which in turn can be characterized by Isbell's zigzag theorem. + reason: + "If $f : M \\to N$ is a homomorphism of commutative monoids which is an epimorphism in $\\Mon$, then it is trivially also an epimorphism in $\\CMon$. The converse requires a proof, which can be found at MSE/5133488. + + \t" + regular epimorphisms: + description: surjective homomorphisms + reason: This holds in every finitary algebraic category. diff --git a/databases/catdat/data_yaml/categories/CRing.yaml b/databases/catdat/data_yaml/categories/CRing.yaml new file mode 100644 index 00000000..d658280b --- /dev/null +++ b/databases/catdat/data_yaml/categories/CRing.yaml @@ -0,0 +1,86 @@ +id: CRing +name: category of commutative rings +notation: $\CRing$ +objects: commutative rings +morphisms: ring homomorphisms +nlab_link: https://ncatlab.org/nlab/show/CRing + +tags: + - algebra + +related_categories: + - CAlg(R) + - Ring + - Rng + +comments: + - Regular monomorphisms are discussed in MSE/695685, but probably they cannot be classified. + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\CRing \to \Set$ and $\Set$ is locally small. + + - property_id: finitary algebraic + reason: Take the algebraic theory of a commutative ring. + + - property_id: strict terminal object + reason: "If $f : 0 \\to R$ is a homomorphism, then $R$ satisfies $1=f(1)=f(0)=0$, so that $R=0$." + check_redundancy: false + + - property_id: Malcev + reason: This follows in the same way as for groups, see also Example 2.2.5 in Malcev, protomodular, homological and semi-abelian categories. + + - property_id: coextensive + reason: "[Sketch] A ring homomorphism $f : A \\times B \\to R$ yields the idempotent element $e := f(1,0) \\in R$, so that $R \\cong eR \\times (1-e)R$. Then $f$ decomposes into the ring homomorphisms $f_A : A \\to eR$, $f_A(a) := f(a,0)$ and $f_B : B \\to (1-e)R$, $f_B(b) := f(0,b)$." + +unsatisfied_properties: + - property_id: balanced + reason: The inclusion $\IZ \hookrightarrow \IQ$ is a counterexample. + + - property_id: cogenerating set + reason: 'We apply this lemma to the collection of fields: If $F$ is a field and $R$ is a non-trivial commutative ring, any ring homomorphism $F \to R$ is injective. For every infinite cardinal $\kappa$ the field of rational functions in $\kappa$ variables has cardinality $\geq \kappa$ and a non-trivial automorphism (swap two variables).' + + - property_id: skeletal + reason: This is trivial. + + - property_id: countably codistributive + reason: "The canonical homomorphism $\\IQ \\otimes \\IZ^{\\IN} \\to (\\IQ \\otimes \\IZ)^{\\IN} = \\IQ^{\\IN}$ is not an isomorphism: its image consists of those sequences of rational numbers whose denominators can be bounded." + + - property_id: semi-strongly connected + reason: There is no homomorphism between $\IF_2$ and $\IF_3$. + + - property_id: coregular + reason: See MSE/3745302. + + - property_id: co-Malcev + reason: 'See MO/509552: Consider the forgetful functor $U : \CRing \to \Set$ and the relation $R \subseteq U^2$ defined by $R(A) := \{(a,b) \in U(A)^2 : ab = a^2\}$. Both are representable: $U$ by $\IZ[X]$ and $R$ by $\IZ[X,Y] / \langle XY-X^2 \rangle$. It is clear that $R$ is reflexive, but not symmetric.' + + - property_id: regular quotient object classifier + reason: "Assume that $P \\to \\IZ$ is a regular quotient object classifier. If $J$ denotes its kernel, this means that every ideal $I \\subseteq A$ of any commutative ring has the form $I = \\langle \\varphi(J) \\rangle$ for a unique homomorphism $\\varphi : P \\to A$. If $\\sigma : A \\to A$ is an automorphism with $\\sigma(I)=I$, then uniqueness gives us $\\sigma \\circ \\varphi = \\varphi$, which means that $\\varphi(J)$ lies in $A^{\\sigma}$, the fixed ring of $\\sigma$. But then $I$ is generated by elements in the fixed ring. This fails for $A = \\IZ[X]$, $I = \\langle X \\rangle$, $\\sigma(X)=-X$. The fixed ring is $\\IZ[X^2]$, and if $I$ was generated by elements $f \\in \\IZ[X^2] \\cap I$, they would be multiples of $X^2$, but $X$ is not a multiple of $X^2$." + + - property_id: cofiltered-limit-stable epimorphisms + reason: 'For a prime $p$ consider the sequence of projections $\cdots \to \IZ/p^2 \to \IZ/p$ and the constant sequence $\cdots \to \IZ \to \IZ$. The surjective homomorphisms $\IZ \to \IZ/p^n$ induce the homomorphism $\IZ \to \IZ_p$ in the limit, where $\IZ_p$ is the ring of $p$-adic integers. It is not surjective since $\IZ_p$ is uncountable, but this is not sufficient (at least, for this category): We need to use SP/04W0 to conclude that it is no epimorphism in $\CRing$.' + +special_objects: + initial object: + description: ring of integers + terminal object: + description: zero ring + coproducts: + description: tensor products over $\IZ$ + products: + description: direct products with pointwise operations + +special_morphisms: + isomorphisms: + description: bijective ring homomorphisms + reason: This characterization holds in every algebraic category. + monomorphisms: + description: injective ring homomorphisms + reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + epimorphisms: + description: "A ring map $f : R \\to S$ is an epimorphism iff $S$ equals the dominion of $f(R) \\subseteq S$, meaning that for every $s \\in S$ there is some matrix factorization $(s) = Y X Z$ with $X \\in M_{n \\times n}(R)$, $Y \\in M_{1 \\times n}(S)$, and $Z \\in M_{n \\times 1}(S)$." + reason: See Stacks Project ,or, for many more results, the seminar Les épimorphismes d'anneaux. See also MO/109 for some results. + regular epimorphisms: + description: surjective homomorphisms + reason: This holds in every finitary algebraic category. diff --git a/databases/catdat/data_yaml/categories/Cat.yaml b/databases/catdat/data_yaml/categories/Cat.yaml new file mode 100644 index 00000000..86290c35 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Cat.yaml @@ -0,0 +1,86 @@ +id: Cat +name: category of small categories +notation: $\Cat$ +objects: small categories +morphisms: functors +description: This is the category of small categories and functors between them. It is the prototype of a 2-category, but here we only treat it as a 1-category. +nlab_link: https://ncatlab.org/nlab/show/Cat + +tags: + - algebra + - category theory + +related_categories: + - Mon + - Set + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Cat \to \Set \times \Set$, $\C \mapsto (\Ob(\C),\Mor(\C))$, and $\Set \times \Set$ is locally small. + + - property_id: cartesian closed + reason: See p. 98 in Mac Lane. + + - property_id: locally finitely presentable + reason: See MO/84460. + + - property_id: generator + reason: "The interval category $\\{0 \\to 1\\}$ is a generator: Assume that $F,G : \\C \\rightrightarrows \\D$ are functors that agree when being precomposed with any functor from $\\{0 \\to 1\\}$. This means that $F(f) = G(f)$ for all morphisms $f : X \\to Y$ in $\\C$. By comparing the domains and applying this to $f = \\id_X$, we see that $F(X) = G(X)$ for all objects $X$. And we just saw that $F,G$ also agree on morphisms." + + - property_id: infinitary extensive + reason: "[Sketch] This is straight forward from the fact that $\\Set$ is infinitary extensive: A functor $\\C \\to \\coprod_i \\D_i$ yields full subcategories $\\C_i \\subseteq \\C$ (the preimages of $\\D_i)$ with $\\C = \\coprod_i \\C_i$." + + - property_id: semi-strongly connected + reason: Every non-empty category is weakly terminal (by using constant functors). + +unsatisfied_properties: + - property_id: balanced + reason: Since we know that the category of monoids is not balanced, there is a monoid map $M \to N$ which is a monomorphism and an epimorphism which is not an isomorphism. Then $B(M) \to B(N)$ has the corresponding properties. + + - property_id: cogenerating set + reason: 'Assume that $S$ is a cogenerating set in $\Cat$. Then one checks that the set of monoids $\{\End(X) : X \in \C \in S\}$ is a cogenerating set in the category of monoids, which we know does not exist.' + + - property_id: skeletal + reason: This is trivial. + + - property_id: Malcev + reason: Use that $\Set$ is not Malcev and consider sets as discrete categories. + + - property_id: regular + reason: See Example 3.14 at the nLab. + + - property_id: co-Malcev + reason: 'We can adapt the proof from $\Mon$ as follows: Consider the functor $U : \Cat \to \Set^+$ sending a category $\C$ to the (large) set $\{(x,u) : x \in \Ob(\C) ,\, u \in \End(x) \}$. It is represented by $B \IN$, the one-object category associated to the free monoid in one generator. Consider the relation $R \subseteq U^2$ consisting of those pairs $((x,u),(y,v))$ where $x = y$ and $uv = u^2$. This also representable, namely be the one-object category associated to the monoid with the presentation $\langle u,v : uv = u^2 \rangle$. Clearly, $R$ is reflexive, but not symmetric.' + + - property_id: coregular + reason: 'We already know that the category of monoids is not coregular, in fact there is a regular monomorphism $M \to N$ of monoids and a morphism $M \to K$ such that $K \to K \sqcup_M N$ is not a monomorphism. The delooping functor $B : \Mon \to \Cat$ has a left adjoint (MSE/574745), hence it preserves regular monomorphisms. It also preserves pushouts (MSE/5130854), and it reflects monomorphisms since it is faithful. Therefore, $B(M) \to B(N)$ provides the desired counterexample of a non-stable regular monomorphism of categories.' + + - property_id: cofiltered-limit-stable epimorphisms + reason: 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. + + - property_id: effective cocongruences + reason: |- + 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, \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$. + +special_objects: + initial object: + description: empty category + terminal object: + description: trivial category + coproducts: + description: disjoint unions + products: + description: direct products with pointwise operations + +special_morphisms: + isomorphisms: + description: functors that are bijective on objects and morphisms + reason: This is easy. + monomorphisms: + description: faithful functors that are injective on objects + reason: "Faithful functors that are injective on objects are clearly monomorphisms. For the converse, assume that $F : \\C \\to \\D$ is a monomorphic functor. Two objects $A,B \\in \\C$ with $F(A) = F(B)$ can be regarded as functors $A,B : 1 \\to \\C$ from the trivial category satisfying $F \\circ A = F \\circ B$, so that $A = B$. Now assume that $f,g : A \\to B$ are morphisms in $\\C$ with $F(f) = F(g)$. These can be regarded as functors $f,g : \\{ 0 \\to 1 \\} \\to \\C$ from the walking morphism category satisfying $F \\circ f = F \\circ g$, so that $f = g$." + epimorphisms: + description: "A functor $F : \\C \\to \\D$ is an epimorphism iff $F$ is surjective on objects and for every morphism $s$ in $\\D$ there is a zigzag over $U := F(\\C)$, meaning morphisms $u_1,\\dotsc,u_{m+1} \\in U$, $v_1,\\dotsc,v_m \\in U$, $x_1,\\dotsc,x_m \\in \\D$ and $y_1,\\dotsc,y_m \\in \\D$ such that $s = x_1 u_1$, $u_1 = v_1 y_1$, $x_{i-1} v_{i-1} = x_i u_i$, $u_i y_{i-1} = v_i y_i$, $x_m v_m = u_{m+1}$ and $u_{m+1} y_m = s$." + reason: This is an extension of the corresponding theorem for monoids and proven in Epimorphisms and Dominions, III by John R. Isbell. diff --git a/databases/catdat/data_yaml/categories/Delta.yaml b/databases/catdat/data_yaml/categories/Delta.yaml new file mode 100644 index 00000000..24382e5c --- /dev/null +++ b/databases/catdat/data_yaml/categories/Delta.yaml @@ -0,0 +1,98 @@ +id: Delta +name: simplex category +notation: $\Delta$ +objects: the non-empty ordered sets $[n] := \{0 < \cdots < n\}$ for $n \in \IN$ +morphisms: order-preserving maps +description: The simplex category is a skeleton of $\FinOrd \setminus \{\varnothing\}$. It plays an important role in topology and is used to define the category of simplicial sets. +nlab_link: https://ncatlab.org/nlab/show/simplex+category + +tags: + - combinatorics + - order theory + - topology + +related_categories: + - FinOrd + - Setne + - sSet + - walking_coreflexive_pair + +satisfied_properties: + - property_id: countable + reason: This is obvious. + + - property_id: small + reason: This is trivial. + + - property_id: terminal object + reason: The ordered set $[0] = \{0\}$ is terminal. + + - property_id: strongly connected + reason: For all $n,m$ there are morphisms $[n] \to [0] \to [m]$. + + - property_id: cogenerator + reason: The ordered set $[1] = \{0 < 1\}$ is a cogenerator, even for the category of posets, see there for a proof. + + - property_id: coequalizers + reason: Assume that $X \rightrightarrows Y$ are morphisms in $\FinOrd \setminus \{\varnothing\}$. Since $\FinOrd$ has coequalizers, we have a coequalizer $Y \to Q$. Since $Y$ is non-empty, $Q$ is non-empty as well, and clearly $Y \to Q$ is then also the coequalizer in $\FinOrd \setminus \{\varnothing\}$. + + - property_id: generator + reason: The ordered set $[0] = \{0\}$ is a generator. + + - property_id: skeletal + reason: "If $f : [n] \\to [m]$ is an isomorphism, then $n + 1 = m + 1$ by comparing the cardinalities, hence $n = m$." + + - property_id: core-thin + reason: The category $\FinOrd \setminus \{\varnothing\}$ is core-thin because already $\FinOrd$ is core-thin (see its category page). + + - property_id: mono-regular + reason: The proof for $\FinOrd$ also works for $\FinSet \setminus \{\varnothing\}$. + + - property_id: epi-regular + reason: The proof for $\FinOrd$ also works for $\FinSet \setminus \{\varnothing\}$. + + - property_id: cosifted + reason: |- + Let $X,Y \in \Delta$. We may pick $x \in X$, $y \in Y$. Then there is a "point span" $X \xleftarrow{x} [0] \xrightarrow{y} Y$. Every span $X \xleftarrow{f} Z \xrightarrow{g} Y$ is connected to such a point span: Pick $z \in Z$. This defines a morphism of spans: + $$\begin{CD} X @<{f(z)}<< [0] @>{g(z)}>> Y \\ @| @VV{z}V @| \\ X @<<{f}< Z @>>{g}> Y \end{CD}$$ + It remains to show that all point spans are connected to each other. Assume $x_0,x_1 \in X$ and $y \in Y$, w.l.o.g. $x_0 \leq x_1$. Define the map $f : [1] \to X$ by $f(0) = x_0$, $f(1) = x_1$, and the map $g : [1] \to Y$ by $g(0)=g(1)=y$. They are order-preserving and fit into a zig-zag of spans: + $$\begin{CD} X @<{x_0}<< [0] @>{y}>> Y \\ @| @V{0}VV @| \\ X @<{f}<< [1] @>{g}>> Y \\ @| @A{1}AA @| \\ X @<{x_1}<< [0] @>{y}>> Y \end{CD}$$ + This shows that the choice of $x \in X$ does not matter, and for $y \in Y$ the proof is the same. + +unsatisfied_properties: + - property_id: strict terminal object + reason: This is trivial. + + - property_id: cofiltered + reason: "The two maps $d^0,d^1 : [0] \\rightrightarrows [1]$ are not equalized by any morphism." + + - property_id: coreflexive equalizers + reason: "The two maps $d^0,d^1 : [0] \\rightrightarrows [1]$ have a common left inverse, the unique map $s^0 : [1] \\to [0]$, but are not equalized by any morphism." + + - property_id: sequential colimits + reason: We can just copy the proof for $\FinOrd$ to show that the sequence of inclusions $[0] \hookrightarrow [1] \hookrightarrow [2] \hookrightarrow \cdots$ has no colimit. + + - property_id: sequential limits + reason: We can just copy the proof for $\FinOrd$ to show that the sequence of truncations $\cdots \twoheadrightarrow [2] \twoheadrightarrow [1] \twoheadrightarrow [0]$ has no limit. + + - property_id: pushouts + reason: Assume that the two inclusions $\{0 < 1\} \leftarrow \{0\} \rightarrow \{0 < 2\}$ have a pushout in $\FinOrd \setminus \{\varnothing\}$. This would be a universal non-empty finite ordered set $X$ with three elements $0,1,2$ satisfying $0 \leq 1$ and $0 \leq 2$. Assume w.l.o.g. $1 \leq 2$ (the case $2 \leq 1$ is similar). The universal property yields an order-preserving map $X \to \{a < b < c\}$ with $0 \mapsto a$, $1 \mapsto c$, $2 \mapsto b$. But then $c \leq b$, which is a contradiction. + +special_objects: {} + +special_morphisms: + isomorphisms: + description: bijective order-preserving maps + reason: This is easy. Notice that bijective order-preserving maps automatically also reflect the order (because we work with totally ordered sets). + monomorphisms: + description: injective order-preserving maps + reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms. + epimorphisms: + description: surjective order-preserving maps + reason: We can use the same proof as for $\FinOrd$ since this has merely used the non-empty ordered set $\{0 < 1\}$. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/FI.yaml b/databases/catdat/data_yaml/categories/FI.yaml new file mode 100644 index 00000000..7d36de06 --- /dev/null +++ b/databases/catdat/data_yaml/categories/FI.yaml @@ -0,0 +1,89 @@ +id: FI +name: category of finite sets and injections +notation: $\FI$ +objects: finite sets +morphisms: injective maps +description: This category is badly-behaved in itself, but plays an important role in representation theory. + +tags: + - combinatorics + - set theory + +related_categories: + - B + - FS + - FinSet + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\FI \to \Set$ and $\Set$ is locally small. + + - property_id: left cancellative + reason: This is trivial. + + - property_id: essentially countable + reason: Every finite set is isomorphic to some $\{1,\dotsc,n\}$ for some $n \in \IN$. + + - property_id: generator + reason: The one-point set is a generator since it represents the forgetful functor $\FI \to \Set$. + + - property_id: equalizers + reason: We construct equalizers just like in $\FinSet$ and observe that the universal property still holds. + + - property_id: wide pullbacks + reason: "We construct wide pullbacks just like in $\\Set$, i.e., for a w.l.o.g. non-empty family of injective maps $f_i : X_i \\to S$ we consider the subset $P \\subseteq \\prod_{i \\in I} X_i$ of those tuples $x$ where $f_i(x_i) = f_j(x_j)$. Each projection $P \\to X_i$ is injective, so in particular $P$ is finite, and $P \\to X_i$ becomes a morphism in $\\FI$. It is easy to check that the universal property still holds in $\\FI$." + + - property_id: mono-regular + reason: "If $f : X \\to Y$ is an injective map of finite sets, it is the equalizer of the two injective maps $i_1,i_2 : Y \\rightrightarrows Y \\sqcup_X Y$, and $Y \\sqcup_X Y$ is finite." + + - property_id: semi-strongly connected + reason: If $X,Y$ are two finite sets, we have $\card(X) \leq \card(Y)$ or $\card(Y) \leq \card(X)$. In the first case there will be an injection $X \to Y$, in the second case there will be an injection $Y \to X$. + + - property_id: locally cartesian closed + reason: IF $X$ is a finite set, the slice category $\FI / X$ is equivalent to the poset of subsets of $X$. This is cartesian closed because $A \cap B \subseteq C$ holds if and only if $B \subseteq (X \setminus A) \cup C$, where $A,B,C \subseteq X$. + +unsatisfied_properties: + - property_id: small + reason: Even the collection of all singletons is not small. + + - property_id: cogenerator + reason: Let $Q$ be finite set. When $Q$ is empty, it is clearly no cogenerator. Otherwise, $Q + 1$ has at least two elements, so that there are two different morphisms $1 \rightrightarrows Q + 1$. But there is no morphism $Q + 1 \to Q$ at all. Hence, $Q$ is no cogenerator. + + - property_id: binary powers + reason: Assume that two finite sets $X,Y$ have a product $P$ in this category. Elements of $P$ are the same as maps $1 \to P$, and they are automatically injective. Therefore, $P \cong \Hom(1,P) \times \Hom(1,X) \times \Hom(1,Y) \cong X \times Y$, and the projections must agree as well. But they are usually not injective. In particular, the product $X \times X$ never exists when $X$ has $>1$ elements. + + - property_id: sequential colimits + reason: "Let $X_n := \\{1,\\dotsc,n\\}$. Assume the sequence of inclusion maps $X_n \\hookrightarrow X_{n+1}$ has a colimit $(f_n : X_n \\to X)$ in this category. But $f_n$ must be an injective map, so that $\\card(X) \\geq n$ for all $n$. Since $X$ is finite, this is a contradiction." + + - property_id: skeletal + reason: This is trivial. + + - property_id: core-thin + reason: Its core is the category of finite sets and bijections, which we know is not thin. + + - property_id: strongly connected + reason: There is no map from a non-empty set to the empty set. + + - property_id: countable + reason: This is trivial. + +special_objects: + initial object: + description: empty set + +special_morphisms: + isomorphisms: + description: bijective maps + reason: This follows exactly as for sets. + monomorphisms: + description: every morphism + reason: This is trivial. + epimorphisms: + description: bijective maps + reason: "Take an epimorphism $X \\to Y$ in this category, w.l.o.g. the inclusion of a subset $X \\subseteq Y$. This means that for two injective maps $f,g : Y \\rightrightarrows T$ with $f|_X = g|_X$ we must have $f = g$. Let $T := Y + (Y \\setminus X)$ (disjoint union), $f$ be the inclusion into the first summand, $g|_X$ be the inclusion into the first summand, and $g|_{Y \\setminus X}$ be the inclusion into the second summand. Then $f$ and $g$ are injective with $f|_X = g|_X$, so that $f = g$. But this means $X = Y$." + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/FS.yaml b/databases/catdat/data_yaml/categories/FS.yaml new file mode 100644 index 00000000..6bc3c135 --- /dev/null +++ b/databases/catdat/data_yaml/categories/FS.yaml @@ -0,0 +1,100 @@ +id: FS +name: category of finite sets and surjections +notation: $\FS$ +objects: finite sets +morphisms: surjective maps +description: This category is badly-behaved in itself, but it appears in representation theory. It has two connected components, consisting of the empty set and the non-empty finite sets. + +tags: + - combinatorics + - set theory + +related_categories: + - B + - FI + - FinSet + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\FS \to \Set$ and $\Set$ is locally small. + + - property_id: essentially countable + reason: Every finite set is isomorphic to some $\{1,\dotsc,n\}$ for some $n \in \IN$. + + - property_id: right cancellative + reason: This is trivial. + + - property_id: cogenerator + reason: "We prove that $\\{0,1\\}$ is a cogenerator: The surjective maps $X \\to \\{0,1\\}$ correspond to the non-empty proper subsets of $X$. If $a,b \\in X$ are elements that have the same image under each surjective map $X \\to \\{0,1\\}$, it therefore means that they lie in the same non-empty proper subsets of $X$. This implies $a=b$: If $X = \\{a\\}$, this is trivial. Otherwise, use the subset $\\{a\\}$." + + - property_id: wide pushouts + reason: "We construct wide pushouts as in $\\Set$ and observe that the universal property still holds when we restrict to surjective maps. If $f_i : S \\to X_i$ are surjective maps and $P$ is their wide pushout, then each $X_i \\to P$ is surjective, so that in particular $P$ is finite." + + - property_id: coequalizers + reason: We construct coequalizers as in $\FinSet$ (or $\Set$) and observe that the universal property still holds when we restrict to surjective maps. + + - property_id: epi-regular + reason: "If $f : X \\to Y$ is a surjective map of finite sets, it is the coequalizer of the two projections $p_1, p_2 : X \\times_Y X \\rightrightarrows X$ in $\\FinSet$, but also in $\\FS$. Notice that $p_1,p_2$ are surjective. Even though $X \\times_Y X$ is not a pullback in $\\FS$, we can use this finite set here." + + - property_id: multi-terminal object + reason: The empty set and a singleton give a multi-terminal object. + +unsatisfied_properties: + - property_id: small + reason: Even the collection of all singletons is not small. + + - property_id: connected + reason: "If $f : \\varnothing \\to X$ is surjective, then $X = \\varnothing$, and if $f : X \\to \\varnothing$ is any map, then also $X = \\varnothing$. This shows that $\\{ \\varnothing \\}$ is a connected component in this category. (The other connected component consists of all non-empty finite sets.)" + + - property_id: generator + reason: Let $G$ be a finite set. There are at least two morphisms $G + 2 \rightrightarrows 2$, but there is no morphism $G \to G + 2$ at all. Hence, $G$ is not a generator. + + - property_id: sequential limits + reason: "Let $X_n := \\{1,\\dotsc,n\\}$. We define the truncation $p_n : X_{n+1} \\to X_n$ by extending the identity of $X_n$ with $p_n(n+1) := n$. Assume the sequence of truncations $\\cdots \\to X_2 \\to X_1$ has a limit $(f_n : X \\to X_n)$ in this category. But $f_n$ is surjective, so that $\\card(X) \\geq n$ for all $n$. Since $X$ is finite, this is a contradiction." + + - property_id: pullbacks + reason: The connected component of non-empty sets has a terminal object, $1$, and it suffices to prove that it has no products. Let $X$ be a finite set with more than $1$ element. Assume that the product $P$ of $X$ with itself exists. The diagonal $X \to P$ is a split monomorphism, hence injective, but also surjective, i.e. an isomorphism. In other words, the two projections $P \rightrightarrows X$ are equal. The universal property of $P$ now implies that every two morphisms $Y \rightrightarrows X$ are equal, which is absurd. + + - property_id: skeletal + reason: This is trivial. + + - property_id: core-thin + reason: Its core is the category of finite sets and bijections, which we know is not thin. + + - property_id: binary copowers + reason: Assume that the copower $X := 2+2$ exists. Since we have a surjective map $2 \to X$, the set $X$ has at most $2$ elements. The codiagonal $X \to 2$ shows that $X$ has at least $2$ elements. Thus, $X \cong 2$. For all finite sets $Y$ we get a bijection $\Hom(2,Y) \cong \Hom(2,Y)^2$, in particular the cardinalities are the same. For $Y=2$ this gives the contradiction $2 = 4$. + + - property_id: locally cocartesian coclosed + reason: |- + If $X$ is a finite set, the coslice category $X / \FS$ is thin and in fact equivalent to the lattice of equivalence relations on $X$. If $X$ has $\geq 3$ elements, it is not codistributive* and hence not cocartesian coclosed: For simplicity assume $X = \{a,b,c\}$. The bottom element $\bot$ corresponds to the partition $\{\{a\},\{b\},\{c\}\}$, the top element $\top$ to the partition $\{\{a,b,c\}\}$. Now consider the three equivalence relations $E_1,E_2,E_3$ corresponding to the three partitions + $$\{\{a,b\},\{c\}\}, \, \{\{a,c\},\{b\}\}, \, \{\{b,c\},\{a\}\}.$$ + Then + $$E_1 \vee (E_2 \wedge E_3) = E_1 \vee \bot = E_1,$$ + but + $$(E_1 \vee E_2) \wedge (E_1 \vee E_3) = \top \wedge \top = \top.$$ + *For thin categories, the properties codistributive and distributive are equivalent. + + - property_id: multi-initial object + reason: If a multi-initial object exists, then the connected component consisting of non-empty finite sets has an initial object $X$. Then, any non-empty finite set cannot have a cardinality strictly greater than $X$, which is a contradiction. + + - property_id: countable + reason: This is trivial. + +special_objects: {} + +special_morphisms: + isomorphisms: + description: bijective maps + reason: This follows exactly as for sets. + monomorphisms: + description: bijective maps + reason: "Assume that $f : X \\to Y$ is a monomorphism in this category. If $a,b \\in X$ are such that $a \\neq b$ but $f(a) = f(b)$, let $h : X \\to X$ be the transposition that swaps $a$, $b$. Then $f \\circ \\id_X = f = f \\circ h$, so by assumption $\\id_X = h$, a contradiction. This shows that $f$ is bijective." + epimorphisms: + description: every morphism + reason: This is trivial. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/FinAb.yaml b/databases/catdat/data_yaml/categories/FinAb.yaml new file mode 100644 index 00000000..db7a982d --- /dev/null +++ b/databases/catdat/data_yaml/categories/FinAb.yaml @@ -0,0 +1,74 @@ +id: FinAb +name: category of finite abelian groups +notation: $\FinAb$ +objects: finite abelian groups +morphisms: group homomorphisms +nlab_link: https://ncatlab.org/nlab/show/finite+abelian+group + +tags: + - algebra + +related_categories: + - Ab + - Ab_fg + - FinGrp + - TorsAb + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\FinAb \to \Set$ and $\Set$ is locally small. + + - property_id: essentially countable + reason: The underlying set of a finite structure can be chosen to be a subset of $\IN$. + + - property_id: abelian + reason: This follows from the fact for abelian groups. + + - property_id: self-dual + reason: "This is a simple special case of Pontryagin duality: The functor $\\Hom(-,\\IQ/\\IZ)$ provides the equivalence." + + - property_id: ℵ₁-accessible + reason: The proof works exactly as for the category of finite sets. + +unsatisfied_properties: + - property_id: small + reason: Even the collection of trivial groups is not small. + + - property_id: generator + reason: If $A,B$ are finite abelian groups whose orders are coprime, then we know that $\Hom(A,B)$ is trivial. But a generator would admit a non-trivial homomorphism to any other non-trivial finite abelian group. + + - property_id: split abelian + reason: The sequence $0 \to \IZ/2 \to \IZ/4 \to \IZ/2 \to 0$ does not split. + + - property_id: skeletal + reason: There are many trivial and hence isomorphic groups which are not equal. + + - property_id: countable + reason: This is trivial. + +special_objects: + initial object: + description: trivial group + terminal object: + description: trivial group + coproducts: + description: '[finite case] direct sum' + products: + description: '[finite case] direct products with pointwise operations' + +special_morphisms: + isomorphisms: + description: bijective homomorphisms + reason: This follows exactly as for abelian groups. + monomorphisms: + description: injective homomorphisms + reason: "Let $f : A \\to B$ be a monomorphism of finite abelian groups. Let $a \\in A$ be in the kernel of $a$, say of order $n$. Then we may view $a$ as a morphism $a : \\IZ/n \\to A$ with $f \\circ a = 0$, and $\\IZ/n$ is finite. Hence, $a = 0$." + epimorphisms: + description: surjective homomorphisms + reason: Use the same proof as for abelian groups. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/FinGrp.yaml b/databases/catdat/data_yaml/categories/FinGrp.yaml new file mode 100644 index 00000000..d1f74f0a --- /dev/null +++ b/databases/catdat/data_yaml/categories/FinGrp.yaml @@ -0,0 +1,95 @@ +id: FinGrp +name: category of finite groups +notation: $\FinGrp$ +objects: finite groups +morphisms: group homomorphisms +nlab_link: https://ncatlab.org/nlab/show/finite+group + +tags: + - algebra + +related_categories: + - FinAb + - Grp + +satisfied_properties: + - property_id: locally small + reason: It is a full subcategory of $\Grp$, which is locally small. + + - property_id: pointed + reason: The trivial group is a zero object. + check_redundancy: false + + - property_id: essentially countable + reason: The underlying set of a finite structure can be chosen to be a subset of $\IN$. + + - property_id: mono-regular + reason: See Prop. 4.2 at the nLab. The proof also works for finite groups. + + - property_id: coequalizers + reason: The quotient group of a finite group is still finite. + + - property_id: Malcev + reason: A direct argument is possible, but this can also be derived from the observation that $\FinGrp$ is the category of group objects in $(\FinSet,\times)$ and Example 2.2.16 in Malcev, protomodular, homological and semi-abelian categories. + + - property_id: regular + reason: The category is Malcev and hence finitely complete, and it has all coequalizers. The regular epimorphisms coincide with the surjective group homomorphisms (see below), hence are clearly stable under pullbacks. + + - property_id: conormal + reason: Since epimorphisms are surjective (see below), this is the first isomorphism theorem for finite groups. + + - property_id: ℵ₁-accessible + reason: The proof works exactly as for the category of finite sets. + + - property_id: effective congruences + reason: '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.' + +unsatisfied_properties: + - property_id: normal + reason: Every non-normal subgroup of a finite group provides a counterexample. + + - property_id: cogenerator + reason: 'We apply this lemma to the collection of finite simple groups: Any non-trivial homomorphism from a finite simple group to a finite group must be injective, and for every $n \in \IN$ there is a finite simple group of size $\geq n$ (for example, the alternating group on $n+5$ elements).' + + - property_id: skeletal + reason: This is trivial. + + - property_id: binary copowers + reason: "Assume that $C_2 \\sqcup C_2$ exists. This is a finite group, say of order $N$, with two involutions $u,v$ such that for every finite group $G$ with two involutions $a,b$ there is a unique homomorphism $\\varphi : C_2 \\sqcup C_2 \\to G$ with $\\varphi(u)=a$ and $\\varphi(v)=2$. In particular, when $G$ is generated by $a,b$, then $\\ord(G) \\leq N$. But then the dihedral group $G := D_N$ of order $2N$ yields a contradiction." + + - property_id: small + reason: Even the collection of trivial groups is not small. + + - property_id: generator + reason: If $A,B$ are finite groups whose orders are coprime, then we know that $\Hom(A,B)$ is trivial. But a generator would admit a non-trivial homomorphism to any other non-trivial finite group. + + - property_id: sequential colimits + reason: This follows from this lemma. + + - property_id: countable + reason: This is trivial. + +special_objects: + initial object: + description: trivial group + terminal object: + description: trivial group + products: + description: '[finite case] direct products with pointwise operations' + +special_morphisms: + isomorphisms: + description: bijective homomorphisms + reason: This follows exactly as for groups. + monomorphisms: + description: injective homomorphisms + reason: "Let $f : A \\to B$ be a monomorphism of finite groups. Let $a \\in A$ be in the kernel of $a$, say of order $n$. Then we may view $a$ as a morphism $a : C_n \\to A$ with $f \\circ a = 1$ (the trivial homomorphism), and $C_n$ is finite. Hence, $a = 1$." + epimorphisms: + description: surjective homomorphisms + reason: "For the non-trivial direction, if $f : G \\to H$ is an epimorphism, we may factor it as $G \\to f(G) \\to H$, and $f(G) \\to H$ is still an epimorphism, but also an inclusion and hence a monomorphism. Since we already know that the category is mono-regular, $f(G) \\to H$ must be an isomorphism." + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/FinOrd.yaml b/databases/catdat/data_yaml/categories/FinOrd.yaml new file mode 100644 index 00000000..332c01b4 --- /dev/null +++ b/databases/catdat/data_yaml/categories/FinOrd.yaml @@ -0,0 +1,100 @@ +id: FinOrd +name: category of finite ordered sets +notation: $\FinOrd$ +objects: finite (totally) ordered sets +morphisms: order-preserving maps +description: The finite ordered sets of the form $\{1 < \dotsc < n\}$ for $n \in \IN$ provide a skeleton (including the empty set for $n = 0$), the augmented simplex category. +nlab_link: https://ncatlab.org/nlab/show/total+order + +tags: + - order theory + - topology + +related_categories: + - Delta + - FinSet + - Pos + +satisfied_properties: + - property_id: equalizers + reason: Take the equalizer in $\FinSet$ and restrict the order. + + - property_id: generator + reason: The one-point finite ordered set is a generator since it represents the forgetful functor $\FinOrd \to \Set$. + + - property_id: terminal object + reason: Take the singleton set with the unique ordering. + + - property_id: cogenerator + reason: The ordered set $\{0 < 1\}$ is a cogenerator, even for the category of posets, see there for a proof. + + - property_id: strict initial object + reason: The empty ordered set is initial and is clearly strict. + + - property_id: coequalizers + reason: It suffices to construct quotients by equivalence relations. Let $\sim$ be an equivalence relation on $X$, where $(X,\leq)$ is a finite ordered set. Since $X$ is finite, by induction we may assume that $\sim$ is generated by a single relation $(a,b)$. If $a=b$, there is nothing to prove. If $a < b$ and $X = \{0,1,\dotsc,n-1\}$ with the usual order, the quotient is $\{0,1,\dotsc,a,b+1,\dotsc,n-1\}$ with the usual order. + + - property_id: mono-regular + reason: "Let $i : A \\to B$ be a monomorphism of finite ordered sets. If $A$ is empty, then $i$ is clearly regular, so assume it is not. The map $i$ is injective (see below), hence order-reflecting. Define maps $u,v : B \\to A$ by $u(b) := \\max \\{a \\in A : i(a) \\leq b \\}$ and $v(b) := \\min \\{a \\in A : b \\leq i(a) \\}$. These are order-preserving and satisfy $u \\circ i = v \\circ i$, both sides are $\\id_A$. Conversely, if $b \\in B$ satisfies $u(b) = v(b) =: a$, then $i(a) \\leq b$ and $b \\leq i(a)$, hence $b = i(a)$. This shows that $i$ is the equalizer of $u,v$." + + - property_id: epi-regular + reason: "Let $f : A \\to B$ be an epimorphism of finite ordered sets. It is surjective (see below). Define $u,v : B \\to A$ by $u(b) := \\min(f^{-1}(b))$ and $v(b) := \\max(f^{-1}(b))$. One can easily check that $u,v$ are order-preserving maps with $f \\circ u = f \\circ v$ (both sides are $\\id_B$). Let $h : A \\to T$ be an order-preserving map with $h \\circ u = h \\circ v$. Then $h(a)$ only depends on $b := f(a)$: We have $u(b) \\leq a \\leq v(b)$, hence $h(u(b)) \\leq h(a) \\leq h(v(b)) = h(u(b))$. Therefore, there is a unique map $\\tilde{h} : B \\to T$ with $\\tilde{h}(f(a)) = h(a)$, and one easily checks that it is order-preserving. This shows that $f$ is the coequalizer of $u,v$." + + - property_id: semi-strongly connected + reason: Every non-empty totally ordered set is weakly terminal (by using constant maps). + + - property_id: essentially countable + reason: Every finite ordered set is isomorphic to $\{0 < \cdots < n-1 \}$ for some $n \in \IN$. + + - property_id: locally small + reason: There is a forgetful functor $\FinOrd \to \Set$ and $\Set$ is locally small. + + - property_id: core-thin + reason: "Let $f : \\{1 < \\cdots < n \\} \\to \\{1 < \\cdots < n \\}$ be an automorphism. Then $f(i)$ is the smallest element not contained in $\\{f(j) : j < i\\}$. From this one can deduce $f(i)=i$ by induction." + +unsatisfied_properties: + - property_id: small + reason: Even the collection of all singleton orders is not small. + + - property_id: strict terminal object + reason: This is trivial. + + - property_id: sequential limits + reason: Consider the (non-empty) ordered set $[n] := \{0 < \cdots < n\}$ for $n \in \IN$. The forgetful functor to $\Set$ is representable, hence preserves all limits. Thus, if the diagram of truncation maps $\cdots \twoheadrightarrow [2] \twoheadrightarrow [1] \twoheadrightarrow [0]$ has a limit in $\FinOrd$, its underlying set is isomorphic to the limit taken in $\Set$, which is $\IN \cup \{\infty\}$. But this is not a finite set. + + - property_id: sequential colimits + reason: "Consider the (non-empty) ordered set $[n] := \\{0 < \\cdots < n\\}$ for $n \\in \\IN$. Assume the sequence of inclusion maps $[0] \\hookrightarrow [1] \\hookrightarrow [2] \\hookrightarrow \\cdots$ has a colimit $(f_n : [n] \\to X)$ in $\\FinOrd$. Let $n_0 \\geq 0$ be fixed. I claim that $f_{n_0}$ is injective, which will then yield a contradiction by taking $n_0 \\geq \\card(X)$. For $n \\geq 0$ define $g_n : [n] \\to [n_0]$ as follows. For $n \\leq n_0$ it is the inclusion, and for $n \\geq n_0$ it is the surjection which keeps all elements of $[n_0]$ and maps all other elements to $n_0$. Observe that $g_n$ preserves the order and $g_{n+1} |_{[n]} = g_n$. Hence, there is a unique order-preserving map $g : X \\to [n_0]$ with $g \\circ f_n = g_n$ for all $n$. For $n = n_0$ this shows $g \\circ f_{n_0} = \\id_{[n_0]}$, and $f_{n_0}$ is injective." + + - property_id: skeletal + reason: This is trivial. + + - property_id: one-way + reason: There are three different order-preserving maps $\{0 < 1\} \to \{0 < 1\}$. + + - property_id: countable + reason: This is trivial. + +special_objects: + initial object: + description: empty ordered set + terminal object: + description: singleton ordered set + products: + description: '[finite case] direct products with the evident order' + +special_morphisms: + isomorphisms: + description: bijective order-preserving maps + reason: This works as for posets, using that injective order-preserving maps must be order-reflecting. + monomorphisms: + description: injective order-preserving maps + reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms. + epimorphisms: + description: surjective order-preserving maps + reason: "The proof is similar to the one for $\\Set$: If $f : X \\to Y$ is an epimorphism of (finite) orders, in particular for all morphisms $g,h : Y \\to \\{0 < 1\\}$ with $g \\circ f = h \\circ f$ we have $g = h$. This means for all upper sets $A,B \\subseteq Y$ with $f^*(A) = f^*(B)$ we have $A = B$. If $y \\in Y$, apply this to the intervals $A = Y_{\\geq y}$ and $B = Y_{> y}$, which are different. Hence, there is some $x \\in f^*(A) \\setminus f^*(B)$, which means $f(x) \\geq y$ but not $f(x) > y$, so that $f(x) = y$." + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/FinSet.yaml b/databases/catdat/data_yaml/categories/FinSet.yaml new file mode 100644 index 00000000..35a9921d --- /dev/null +++ b/databases/catdat/data_yaml/categories/FinSet.yaml @@ -0,0 +1,84 @@ +id: FinSet +name: category of finite sets +notation: $\FinSet$ +objects: finite sets +morphisms: maps +nlab_link: https://ncatlab.org/nlab/show/FinSet + +tags: + - set theory + +related_categories: + - FI + - FS + - Set + - Set_c + - Set_f + +comments: + - For the non-existence of sequential (co-)limits it is not sufficient to take a diagram of finite sets whose (co-)limit in $\Set$ is not contained in $\FinSet$. + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\FinSet \to \Set$ and $\Set$ is locally small. + + - property_id: essentially countable + reason: Every finite set is isomorphic to some $\{1,\dotsc,n\}$ for some $n \in \IN$. + + - property_id: elementary topos + reason: This follows easily from the fact that sets form an elementary topos. + + - property_id: generator + reason: The one-point set is a generator since it represents the forgetful functor $\FinSet \to \Set$. + + - property_id: semi-strongly connected + reason: Every non-empty finite set is weakly terminal (by using constant maps). + + - property_id: cogenerator + reason: The two-element set is a cogenerator. + + - property_id: ℵ₁-accessible + reason: The inclusion $\FinSet \hookrightarrow \Set$ is closed under ℵ₁-filtered colimits, that is, any ℵ₁-filtered colimit of finite sets is again finite. Since every finite set is ℵ₁-presentable in $\Set$, it is still ℵ₁-presentable in $\FinSet$. Therefore, $\FinSet$ is ℵ₁-accessible, where every object is ℵ₁-presentable. + +unsatisfied_properties: + - property_id: small + reason: Even the collection of all singletons is not a set. + + - property_id: skeletal + reason: This is trivial. + + - property_id: countable + reason: This is trivial. + + - property_id: natural numbers object + reason: |- + If $(N,z,s)$ is a natural numbers object, then + $$1 \xrightarrow{z} N \xleftarrow{s} N$$ + is a coproduct cocone by Johnstone, Part A, Lemma 2.5.5. But there is no finite set $N$ with $N \cong 1 + N$. + +special_objects: + initial object: + description: empty set + terminal object: + description: singleton set + coproducts: + description: '[finite case] disjoint union' + products: + description: '[finite case] direct products' + +special_morphisms: + isomorphisms: + description: bijective maps + reason: This follows exactly as for sets. + monomorphisms: + description: injective maps + reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms. + epimorphisms: + description: surjective maps + reason: Use the same proof as for sets. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/Fld.yaml b/databases/catdat/data_yaml/categories/Fld.yaml new file mode 100644 index 00000000..eb9ba59d --- /dev/null +++ b/databases/catdat/data_yaml/categories/Fld.yaml @@ -0,0 +1,88 @@ +id: Fld +name: category of fields +notation: $\Fld$ +objects: fields +morphisms: field homomorphisms (i.e., ring homomorphisms) +description: This is a typical example of a bad category of good objects. +nlab_link: https://ncatlab.org/nlab/show/Field + +tags: + - algebra + +related_categories: + - CRing + +comments: + - Limits and colimits are discussed in MSE/359352. + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Fld \to \Set$ and $\Set$ is locally small. + + - property_id: inhabited + reason: This is trivial. + + - property_id: left cancellative + reason: It is well-known that every field homomorphism is injective and hence a monomorphism. + + - property_id: well-copowered + reason: Epimorphisms are the purely inseparable field extensions. If $K \to L$ is purely inseparable, then for all $x \in L$ there is some $n \in \IN$ with $x^n \in L$. An element of $K$ has at most $n$ $n$th-roots. So we can bound the size of $L$. + + - property_id: multi-algebraic + reason: See Eg. 4.3(1) in [AR01]. + +unsatisfied_properties: + - property_id: connected + reason: A field of characteristic $0$ cannot be connected with a field of characteristic $p > 0$. in fact, the connected components of $\Fld$ are the subcategories $\Fld_p$ of fields of characteristic $p$, where $p$ is a prime or $0$. + + - property_id: pushouts + reason: 'By MSE/359352, the pushout $E \sqcup_K F$ of two field homomorphisms $E \leftarrow K \rightarrow F$ exists if and only if the tensor product $E \otimes_K F$ has a "fieldification": this means that the nilradical is a prime ideal whose quotient ring is a field. This is quite rare: Consider $E = K(X)$, $F = K(Y)$. Then $E \otimes_K F$ is isomorphic to $K[X,Y] (K[X]-\{0\})^{-1} (K[Y]-\{0\})^{-1}$, which is an integral domain but not a field: for example, $X-Y$ has no inverse.' + + - property_id: balanced + reason: Every non-trivial purely inseparable field extension, such as $\IF_p(X^p) \to \IF_p(X)$, provides a counterexample by the descriptions of special morphisms below. + + - property_id: generator + reason: Assume that $G$ is a generator, say of characteristic $p$. Then for all $q \neq p$ all homomorphisms between two fields of characteristic $q$ would be equal, which is absurd. + + - property_id: cogenerating set + reason: 'We apply this lemma to the collection of fields: Any homomorphism of fields is injective. For every infinite cardinal $\kappa$ the field of rational functions in $\kappa$ variables has cardinality $\geq \kappa$ and a non-trivial automorphism (swap two variables).' + + - property_id: skeletal + reason: This is trivial. + + - property_id: locally cartesian closed + reason: 'Assume that $K$ is a field such that $\Fld / K$ is cartesian closed. This slice category is equivalent to the poset of subfields of $K$. This poset is a lattice, and our assumption implies that it is distributive (see here). But this is quite rare: Consider $K = \IQ(\sqrt{2}, \sqrt{3})$. By Galois theory, the lattice of subfields is isomorphic to the diamond lattice $M_3$ which is not distributive. Specifically, $(\IQ(\sqrt{2}) \wedge \IQ(\sqrt{6})) \vee (\IQ(\sqrt{3}) \wedge \IQ(\sqrt{6})) = \IQ \vee \IQ = \IQ$, while $(\IQ(\sqrt{2}) \vee \IQ(\sqrt{3})) \wedge \IQ(\sqrt{6}) = \IQ(\sqrt{2},\sqrt{3}) \wedge \IQ(\sqrt{6}) = \IQ(\sqrt{6})$.' + + - property_id: core-thin + reason: If this category was core-thin, Galois theory would not exist. Specifically, the conjugation $\IC \to \IC$, $z \mapsto \overline{z}$ is a non-trivial automorphism. + + - property_id: binary powers + reason: 'Assume that the product $P := \IQ(\sqrt{2}) \times \IQ(\sqrt{2})$ exists. This field is isomorphic to a subfield of $\IQ(\sqrt{2})$, hence $P \cong \IQ$ or $P \cong \IQ(\sqrt{2})$. In the first case, the two projections $P \rightrightarrows \IQ(\sqrt{2})$ must be equal, which means that every two homomorphisms $K \rightrightarrows \IQ(\sqrt{2})$ are equal, which is absurd (take $K = \IQ(\sqrt{2})$ and its two automorphisms). In the second case, the projections induce for every field $K$ a bijection $\Hom(K,\IQ(\sqrt{2})) \cong \Hom(K,\IQ(\sqrt{2}))^2$, which however fails for $K = \IQ(\sqrt{2})$: the left hand side has $2$ elements, the right hand side has $4$ elements. A more general result about products in $\Fld$ can be found at MSE/359352.' + + - property_id: multi-terminal object + reason: Every field has a non-trivial extension, for instance, the rational function field over itself in one variable. Hence, a multi-terminal object never exists. + + - property_id: cofiltered-limit-stable epimorphisms + reason: |- + Inside of $\IF_p(X)$ consider the descending sequence of subfields + $$\IF_p(X) \supseteq \IF_p(X^p) \supseteq \IF_p(X^{p^2}) \supseteq \cdots,$$ + whose intersection is $\IF_p$. Each $\IF_p(X^{p^n}) \hookrightarrow \IF_p(X)$ is purely inseparable, hence an epimorphism, but in the limit we get $\IF_p \hookrightarrow \IF_p(X)$, which is not even algebraic. + +special_objects: {} + +special_morphisms: + isomorphisms: + description: bijective field homomorphisms + reason: This is easy. + monomorphisms: + description: every morphism + reason: It is well-known that field homomorphisms are injective. + epimorphisms: + description: purely inseparable homomorphisms + reason: See MSE/687869. + regular monomorphisms: + description: A Galois extension is a regular monomorphism iff it is procyclic, and the general case can be reduced to this situation; see the reference for details. + reason: See MSE/5129895. + regular epimorphisms: + description: same as isomorphisms + reason: This is because the category is left cancellative. diff --git a/databases/catdat/data_yaml/categories/FreeAb.yaml b/databases/catdat/data_yaml/categories/FreeAb.yaml new file mode 100644 index 00000000..6690bd23 --- /dev/null +++ b/databases/catdat/data_yaml/categories/FreeAb.yaml @@ -0,0 +1,83 @@ +id: FreeAb +name: category of free abelian groups +notation: $\FreeAb$ +objects: free abelian groups +morphisms: group homomorphisms + +tags: + - algebra + +related_categories: + - Ab + - TorsFreeAb + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\FreeAb \to \Set$ and $\Set$ is locally small. + + - property_id: additive + reason: This follows easily from the fact for abelian groups. + + - property_id: coproducts + reason: This is is because free abelian groups are closed under direct sums of abelian groups. + + - property_id: well-powered + reason: This is clear since the monomorphisms are injective. + + - property_id: well-copowered + reason: See MSE/5025660. + + - property_id: generator + reason: As for $\Ab$, the group $\IZ$ is a generator. + + - property_id: cogenerator + reason: It is easy to check that $\IZ$ is a cogenerator for free abelian groups. + + - property_id: regular + reason: |- + This follows formally from the fact that $\Ab$ is regular and $\FreeAb$ is closed under subobjects and finite products: By Prop. 2.5 in the nlab it suffices to prove that there are pullback-stable (reg epi, mono)-factorizations. Every homomorphism $f : A \to B$ in $\FreeAb$ factors as $f = i \circ p : A \twoheadrightarrow C \hookrightarrow B$, where $C$ is a subgroup, hence free, and $A \to C$ is surjective. Clearly, surjective homomorphisms are pullback-stable. It remains to show that they coincide with the regular epimorphisms.
+ (1) If $f : A \to B$ is surjective, it is the coequalizer of $A \times_B A \rightrightarrows A$ in $\Ab$. Since $A \times_B A$ is free abelian, $f$ is also an coequalizer in $\FreeAb$.
+ (2) If $f : A \to B$ is a regular epimorphism in $\FreeAb$, consider the factorization $f = i \circ p$ as above. Since $f$ is an extremal epimorphism, $i$ must be an isomorphism, so that $f$ is surjective. + +unsatisfied_properties: + - property_id: countable powers + reason: Assume that the power $P = \prod_{n \geq 0} \IZ$ exists in this category. The projections $P \to \IZ$ induce an isomorphism of abelian groups $\Hom(\IZ, P) \to \prod_n \Hom(\IZ, \IZ)$, hence $P \cong \IZ^{\IN}$. But it is well-known that $\IZ^{\IN}$ is not free abelian. + + - property_id: balanced + reason: "The homomorphism $2 : \\IZ \\to \\IZ$ is a counterexample." + + - property_id: skeletal + reason: This is trivial. + + - property_id: sequential colimits + reason: See MO/509715. + + - property_id: effective cocongruences + reason: |- + 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. + +category_property_comments: + - property_id: accessible + comment: The question if this category is accessible is undecidable in ZFC. See MSE/720885. + +special_objects: + initial object: + description: trivial group + terminal object: + description: trivial group + coproducts: + description: direct sums + products: + description: '[finite case] direct sums' + +special_morphisms: + isomorphisms: + description: bijective homomorphisms + reason: This follows exactly as for abelian groups. + monomorphisms: + description: injective homomorphisms + reason: "Let $f : A \\to B$ be a monomorphism of free abelian groups. Let $a \\in A$ be in the kernel of $a$. Then we may view $a$ as a morphism $a : \\IZ \\to A$ with $f \\circ a = 0$, and $\\IZ$ is free. Hence, $a = 0$." + epimorphisms: + description: "homomorphisms $f : A \\to B$ with the property that $f(A)$ is not contained in a proper direct summand of $B$." + reason: "Let $f : A \\to B$ be a morphism of free abelian groups such that $f(A)$ is not contained in a proper direct summand of $B$. Then $f$ is an epimorphism: If $t : B \\to C$ is a morphism with $t \\circ f = 0$, we want to show $t = 0$. Since the image of $t$ is free abelian (as a subgroup of $B$), we may assume that $t$ is surjective. Since $C$ is free, $t$ splits, so its kernel $K$ is a direct summand of $B$ (Splitting Lemma). It contains $f(A)$ because of $t \\circ f = 0$. By assumption, $K = B$, so that $t = 0$. Conversely, assume that $f : A \\to B$ is an epimorphism, and that $f(A)$ is contained in a direct summand $K$ of $B$. Let $L$ be a complement of $B$ (which is free abelian) and let $p : B \\to L$ be the projection. Then $t \\circ f = 0$, so $t = 0$. But then $L = 0$, which means $K = B$." diff --git a/databases/catdat/data_yaml/categories/Grp.yaml b/databases/catdat/data_yaml/categories/Grp.yaml new file mode 100644 index 00000000..baaa18d1 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Grp.yaml @@ -0,0 +1,102 @@ +id: Grp +name: category of groups +notation: $\Grp$ +objects: groups +morphisms: group homomorphisms +description: This is the prototype of a finitary algebraic category. +nlab_link: https://ncatlab.org/nlab/show/Grp + +tags: + - algebra + +related_categories: + - Ab + - FinGrp + - Mon + - SemiGrp + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Grp \to \Set$ and $\Set$ is locally small. + + - property_id: pointed + reason: The trivial group is a zero object. + check_redundancy: false + + - property_id: finitary algebraic + reason: Take the algebraic theory of a group. + + - property_id: mono-regular + reason: See Prop. 4.2 at the nLab. + + - property_id: Malcev + reason: See Example 2.2.4 in Malcev, protomodular, homological and semi-abelian categories. + + - property_id: conormal + reason: Since epimorphisms are surjective (see below), this is the first isomorphism theorem for groups. + + - property_id: effective cocongruences + reason: A proof can be found here. + +unsatisfied_properties: + - property_id: normal + reason: Every non-normal subgroup provides a counterexample. + + - property_id: cogenerator + reason: 'We apply this lemma to the collection of simple groups: Any non-trivial homomorphism from a simple group to a group must be injective, and for every infinite cardinal $\kappa$ there is a simple group of size $\geq \kappa$ (for example, the alternating group on $\kappa$ elements).' + + - property_id: skeletal + reason: This is trivial. + + - property_id: coregular + reason: This is because injective group homomorphisms are not stable under pushouts, see e.g. MSE/601463 or MSE/5088032. + + - property_id: counital + reason: The canonical morphism $F_2 = \IZ \sqcup \IZ \to \IZ \times \IZ$ is not a monomorphism since $F_2$ is not abelian. + + - property_id: CIP + reason: The canonical morphism $F_2 = \IZ \sqcup \IZ \to \IZ \times \IZ$ is not a monomorphism since $F_2$ is not abelian. + + - property_id: regular quotient object classifier + reason: "Assume that $\\Grp$ has a (regular) quotient object classifier, i.e. a group $P$ such that every surjective homomorphism $G \\to H$ is the cokernel of a unique homomorphism $\\varphi : P \\to G$. Equivalently, every normal subgroup $N \\subseteq G$ is $\\langle \\langle \\varphi(P) \\rangle \\rangle$ for a unique homomorphism $\\varphi : P \\to G$, where $\\langle \\langle - \\rangle \\rangle$ denotes the normal closure. If $c_g : G \\to G$ denotes the conjugation with $g \\in G$, then the images of $\\varphi$ and $c_g \\circ \\varphi$ have the same normal closures, so the homomorphisms must be equal. In other words, $\\varphi$ factors through the center $Z(G)$. But then every normal subgroup of $G$, in particular $G$ itself, would be contained in $Z(G)$, which is wrong for every non-abelian group $G$." + + - property_id: cocartesian cofiltered limits + reason: |- + For cofiltered diagrams of groups $(H_i)$ and a group $G$ the canonical homomorphism + $$\textstyle \alpha : G \sqcup \lim_i H_i \to \lim_i (G \sqcup H_i)$$ + is injective, but often fails to be surjective because the components of an element in the image have bounded free product length (the number of factors appearing in the reduced form). Specifically, consider the free groups $G = \langle y \rangle$ and $H_n = \langle x_1,\dotsc,x_n \rangle$ for $n \in \IN$ with the truncation maps $H_{n+1} \to H_n$, $x_{n+1} \mapsto 1$. Define + $$p_n := x_1 \, y \, x_2 \, y \, \cdots \, x_{n-1} \, y \, x_n \, y^{-(n-1)} \in G \sqcup H_n.$$ + If we substitute $x_{n+1}=1$ in $p_{n+1}$, we get $p_n$. Thus, we have $p = (p_n) \in \lim_n (G \sqcup H_n)$. This element does not lie in the image of $\alpha$ since the free product length of $p_n$ (which is well-defined) is $2n$, which is unbounded. + + - property_id: CSP + reason: The canonical homomorphism $\coprod_{n \geq 0} \IZ \to \prod_{n \geq 0} \IZ$ is not surjective because its domain is countable and its codomain is uncountable. Hence it is no epimorphism. + + - property_id: cofiltered-limit-stable epimorphisms + reason: We already know that $\Ab$ does not have this property. Now apply the contrapositive of the dual of this lemma to the forgetful functor $\Ab \to \Grp$ which indeed preserves epimorphisms. + +special_objects: + initial object: + description: trivial group + terminal object: + description: trivial group + coproducts: + description: free products + products: + description: direct products with pointwise operations + +special_morphisms: + isomorphisms: + description: bijective homomorphisms + reason: This characterization holds in every algebraic category. + monomorphisms: + description: injective homomorphisms + reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + epimorphisms: + description: surjective homomorphisms + reason: "For the non-trivial direction, if $f : G \\to H$ is an epimorphism, we may factor it as $G \\to f(G) \\to H$, and $f(G) \\to H$ is still an epimorphism, but also an inclusion and hence a monomorphism. Since we already know that the category is balanced, $f(G) \\to H$ must be an isomorphism." + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: surjective homomorphisms + reason: This holds in every finitary algebraic category. diff --git a/databases/catdat/data_yaml/categories/Haus.yaml b/databases/catdat/data_yaml/categories/Haus.yaml new file mode 100644 index 00000000..a8d542d5 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Haus.yaml @@ -0,0 +1,95 @@ +id: Haus +name: category of Hausdorff spaces +notation: $\Haus$ +objects: Hausdorff spaces +morphisms: continuous functions +description: This is the full subcategory of $\Top$ consisting of those spaces that are Hausdorff. +nlab_link: https://ncatlab.org/nlab/show/Hausdorff+space + +tags: + - topology + +related_categories: + - Met_c + - Top + +satisfied_properties: + - property_id: locally small + reason: It is a full subcategory of $\Top$, which is locally small. + + - property_id: equalizers + reason: This follows from the corresponding fact for $\Top$ since subspaces of Hausdorff spaces are again Hausdorff. + + - property_id: products + reason: This follows from the corresponding fact for $\Top$ since products of Hausdorff spaces are again Hausdorff. + + - property_id: cocomplete + reason: This follows since $\Haus$ is a reflective subcategory of $\Top$, which is cocomplete. For the reflector, see e.g. the nLab. Explicitly, we construct the colimit of Hausdorff spaces by applying the reflector to the colimit of the underlying topological spaces. + check_redundancy: false + + - property_id: infinitary extensive + reason: This follows exactly as for $\Top$ since Hausdorff spaces are closed under taking subspaces and coproducts in $\Top$. + + - property_id: well-powered + reason: This is clear from the classification of monomorphisms as injective continuous maps. + + - property_id: well-copowered + reason: "Every epimorphism has dense image, so it suffices to prove that if a Hausdorff space $X$ has a dense subset $D \\subseteq X$, we can bound the cardinality of $X$ in terms of the cardinality of $D$. For $x \\in X$ let $\\alpha(x)$ be the set of all $U \\cap D$, where $U$ is an open neighborhood of $x$. This defines a map $\\alpha : X \\to P(P(D))$, and we claim that it is injective: this is because $\\{x\\}$ is the intersection of all $\\overline{U} = \\overline{U \\cap D}$, where $U$ runs through the open neighborhoods of $x$." + + - property_id: generator + reason: The one-point space is a generator since it represents the forgetful functor $\Haus \to \Set$. + + - property_id: semi-strongly connected + reason: Every non-empty Hausdorff space is weakly terminal (by using constant maps). + + - property_id: co-Malcev + reason: See MO/509548. + + - property_id: effective cocongruences + reason: 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. + +unsatisfied_properties: + - property_id: cartesian filtered colimits + reason: 'It is shown in MSE/1255678 that $\IQ \times - : \Top \to \Top$ does not preserve sequential colimits (so that it cannot be a left adjoint). The same example also works in $\Haus$: Surely $\IQ$ is Hausdorff, $X_n$ is Hausdorff, as is their colimit $X$, and the colimit (taken in $\Top$) of the $X_n \times \IQ$ admits a bijective continuous map to a Hausdorff space, therefore is also Hausdorff, meaning it is also the colimit taken in $\Haus$.' + + - property_id: filtered-colimit-stable monomorphisms + reason: 'The proof is similar to $\Met$. For $n \geq 1$ let $X_n$ be the pushout of $[-1/n,+1/n] \hookrightarrow \IR$ with itself. That is, $X_n$ is the union of two lines $\IR \times \{1\}$ and $\IR \times \{2\}$ where we identify $(x,1) \equiv (x,2)$ when $|x| \leq 1/n$. Then $X_n$ is Hausdorff, and there is a canonical surjective continuous map $X_n \to X_{n+1}$. The colimit in $\Top$ is the union of two lines where we identify $(x,1) \equiv (x,2)$ when $|x| \leq 1/n$ for some $n$, i.e. when $x \neq 0$. This is the line with the double origin, which is not Hausdorff. Its Hausdorff reflection is the line $\IR$ where all points of both lines are identified, and it provides the colimit in $\Haus$. Now, the injective continuous maps $\{1,2\} \to X_n$, $i \mapsto (0,i)$ (where $\{1,2\}$ is discrete) become the constant map $0 : \{1,2\} \to \IR$ in the colimit, which is no monomorphism.' + + - property_id: balanced + reason: The inclusion $\IQ \hookrightarrow \IR$ is a counterexample; it is an epimorphism since $\IQ$ is dense in $\IR$. + + - property_id: skeletal + reason: This is trivial. + + - property_id: Malcev + reason: This is clear since $\Set$ is not Malcev and can be interpreted as the subcategory of discrete spaces (which are Hausdorff). + + - property_id: regular subobject classifier + reason: Assume that there is a regular subobject classifier $\Omega$. By the classification of regular monomorphisms, we would have an isomorphism between $\Hom(X,\Omega)$ and the set of closed subsets of $X$ for any Hausdorff space $X$. If we take $X = 1$ we see that $\Omega$ has two points. Since $\Omega$ is Hausdorff, $\Omega \cong 1 + 1$ must be discrete. But then $\Hom(X,\Omega)$ is isomorphic to the set of all clopen subsets of $X$, of which there are usually far fewer than closed subsets (consider $X = [0,1]$). + + - property_id: cofiltered-limit-stable epimorphisms + reason: 'Recall the counterexample for sets: The unique maps $\IN_{\geq n} \to 1$ are surjective, but their limit $0 = \bigcap_{n \geq 0} \IN_{\geq n} \to 1$ is not. This also works in $\Haus$ by using discrete topologies. We could also apply a variant of (the dual of) this lemma to the discrete topology functor $\Set \to \Haus$, which does not preserve all cofiltered limits, but does preserve intersections.' + +special_objects: + initial object: + description: empty space + terminal object: + description: singleton space + coproducts: + description: disjoint union with the disjoint union topology + products: + description: direct product with the product topology + +special_morphisms: + isomorphisms: + description: homeomorphisms + reason: This is easy. + monomorphisms: + description: injective continuous maps + reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms. + epimorphisms: + description: continuous maps with dense image + reason: It is clear that continuous maps with dense image are epimorphism, but the other direction is non-trivial. See MSE/214045 for a proof. + regular monomorphisms: + description: embeddings with closed image + reason: The explicit construction of equalizers shows that they are embeddings, and they have a closed image because of the well-known lemma that for a Hausdorff space the diagonal $X \to X \times X$ has closed image. For the other non-trivial direction, see MSE/214045. diff --git a/databases/catdat/data_yaml/categories/J2.yaml b/databases/catdat/data_yaml/categories/J2.yaml new file mode 100644 index 00000000..d2ead57b --- /dev/null +++ b/databases/catdat/data_yaml/categories/J2.yaml @@ -0,0 +1,64 @@ +id: J2 +name: category of Jónsson-Tarski algebras +notation: $\J_2$ +objects: "pairs $(X,\\alpha)$, where $X$ is a set and $\\alpha : X \\to X \\times X$ is an isomorphism" +morphisms: "A morphism $(X,\\alpha) \\to (Y,\\beta)$ is a map $f : X \\to Y$ satisfying $$(f \\times f) \\circ \\alpha = \\beta \\circ f.$$" +description: This is interesting example of a category in the intersection of topos theory and algebra. +nlab_link: https://ncatlab.org/nlab/show/J%C3%B3nsson-Tarski+algebra + +tags: + - algebra + - set theory + +related_categories: + - M-Set + +satisfied_properties: + - property_id: locally small + reason: This is trivial. + + - property_id: finitary algebraic + reason: "The structure of a Jónsson-Tarski algebra on a set $X$ is equivalent to one binary operation $\\mu : X^2 \\to X$ and two unary operations $\\lambda, \\rho : X \\rightrightarrows X$ such that $\\mu(\\lambda(x),\\rho(x)) = x$, $\\lambda(\\mu(x,y))=x$, and $\\rho(\\mu(x,y))=y$." + + - property_id: Grothendieck topos + reason: See the nLab. + +unsatisfied_properties: + - property_id: skeletal + reason: This is trivial. + + - property_id: semi-strongly connected + reason: |- + There is a bijection $\alpha = (\lambda,\rho) : \IN \to \IN \times \IN$ such that $\lambda$ has a fixed point, but $\rho$ does not (see below). Then the isomorphism $\beta := (\rho,\lambda)$ has the opposite property. There cannot be any morphism $(\IN,\alpha) \to (\IN,\beta)$, as it would map the fixed point of $\lambda$ to a fixed point of $\rho$, and likewise there is no morphism $(\IN,\beta) \to (\IN,\alpha)$.
+ To construct $\alpha$ or rather $\alpha^{-1} : \IN \times \IN \to \IN$, we can alter the standard bijection $(n,m) \mapsto 2^n (2m+1) - 1$ as follows: + $$\alpha^{-1}(n,m) = \begin{cases} 2 & (n,m) = (0,0) \\ 0 & (n,m) = (0,1) \\ 2^n (2m+1) - 1 & \text{otherwise} \end{cases}$$ + Then $\alpha(0)=(0,1)$, i.e. $\lambda(0)=0$. The function $\rho$ has no fixed point, i.e. $\alpha^{-1}(n,m) \neq m$ for all $n,m$. Namely, if $(n,m)=(0,0)$, then $\alpha^{-1}(n,m)=2 \neq m$. If $(n,m)=(0,1)$, then $\alpha^{-1}(n,m)=0 \neq m$. Otherwise, + $$\alpha^{-1}(n,m) = 2^n (2m+1) - 1 \geq (2m+1)-1 = 2m \geq m,$$ + and equality can only hold if $m=0$ and $n=0$, which we already excluded. + +special_objects: + initial object: + description: $(\varnothing,!)$ + terminal object: + description: $(\{\ast\},!)$ + coproducts: + description: See here for a description + products: + description: direct products with pointwise operations + +special_morphisms: + isomorphisms: + description: bijective morphisms + reason: This characterization holds in every algebraic category. + monomorphisms: + description: injective morphisms + reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + epimorphisms: + description: surjective morphisms + reason: 'For the non-trivial direction: The category is epi-regular (since it is an elementary topos), and every regular epimorphism is surjective (this holds in any algebraic category).' + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/LRS.yaml b/databases/catdat/data_yaml/categories/LRS.yaml new file mode 100644 index 00000000..cec368b2 --- /dev/null +++ b/databases/catdat/data_yaml/categories/LRS.yaml @@ -0,0 +1,62 @@ +id: LRS +name: category of locally ringed spaces +notation: $\LRS$ +objects: locally ringed spaces +morphisms: morphisms of locally ringed spaces, thus consisting of a continuous map and a homomorphism of sheaves that induces local ring homomorphisms in the stalks +nlab_link: https://ncatlab.org/nlab/show/locally+ringed+topological+space + +tags: + - algebraic geometry + +related_categories: + - Sch + +satisfied_properties: + - property_id: locally small + reason: For two ringed spaces $(X,O_X), (Y,O_Y)$, the collection of morphisms $X \to Y$ of ringed spaces is the collection $\prod_{f \in \Hom(X,Y)} \Hom(O_Y,f_* O_X)$, which is a set since $\Hom(X,Y)$ is a set and each $\Hom(O_Y,f_* O_X)$ is a set. + + - property_id: complete + reason: See Localization of ringed spaces by W. Gillam. See also MSE/1033675. + + - property_id: cocomplete + reason: See Demazure-Gabriel's "Groupes algébriques", I. §1. 1.6. Specifically, the forgetful functor to ringed spaces preserves colimits, and colimits of ringed spaces are built from colimits of topological spaces and limits of commutative rings, see MSE/1646202. + + - property_id: well-powered + reason: "Let $f : X \\to Y$ be a monomorphism of locally ringed spaces. I claim that $f$ is injective, from which the claim will follow. The diagonal $\\Delta : X \\to X \\times_Y X$ is an isomorphism. By the explicit construction of fiber products, $X \\times_Y X$ consists of triples $(x_1,x_2,\\mathfrak{p})$ where $x_1,x_2 \\in X$, $y := f(x_1) = f(x_2)$ and $\\mathfrak{p}$ is a prime ideal in $k(x_1) \\otimes_{k(y)} k(x_2)$. The map $\\Delta$ is given by $\\Delta(x) = \\bigl(x,x,\\ker(k(x) \\otimes_{k(f(x))} k(x) \\to k(x)\\bigr)$, and it is bijective. This clearly implies that $f$ is injective (and that each tensor product $k(x) \\otimes_{k(f(x))} k(x)$ has a unique prime ideal, namely the kernel mentioned)." + + - property_id: well-copowered + reason: It is enough to prove that every epimorphism of locally ringed spaces is surjective. The forgetful functor $\LRS \to \RS$ has a right adjoint (see Localization of ringed spaces by W. Gillam), so it preserves epimorphisms. The forgetful functor $\RS \to \Top$ also has a right adjoint, namely $X \mapsto (X,\underline{\IZ})$, so it also preserves epimorphisms. + + - property_id: infinitary extensive + reason: "[Sketch] Since $\\Top$ is infinitary extensive, a morphism $f : Y \\to \\coprod_i X_i =: X$ yields a decomposition $Y = \\coprod_i Y_i$ (as topological spaces) with continuous maps $f_i : Y_i \\to X_i$. Endow the open subset $Y_i \\subseteq Y$ with the restricted sheaf. Then each $f_i$ becomes a morphism of locally ringed spaces, and $Y = \\coprod_i Y_i$ holds as locally ringed spaces." + +unsatisfied_properties: + - property_id: balanced + reason: The canonical morphism $\Spec(\IZ/2 \times \IZ[1/2]) \longrightarrow \Spec(\IZ)$ is a mono- and an epimorphism, but no isomorphism. + + - property_id: skeletal + reason: This is trivial. + + - property_id: Malcev + reason: This is because the category of schemes already is not Malcev. + + - property_id: semi-strongly connected + reason: This is because already the full subcategory of affine schemes is not semi-strongly connected, see the entry for $\CRing$. Specifically, there is no morphism between $\Spec(\IF_2)$ and $\Spec(\IF_3)$. + + - property_id: co-Malcev + reason: 'We can adjust the proof for $\Top$ (see MO/509548) as follows: Let $k$ be a field, $X$ be a singleton and $Y = \{u,v\}$ be the Sierpinski space where $\{u\}$ is open, but $\{v\}$ is not. Endow both with the sheaf of locally constant functions to $k$. Thus, $\O_X(X) = k$, $\O_Y(Y) = \O_Y(\{u\}) = k$. There is a canonical morphism $p : X + X \to Y$. It is a coreflexive corelation that is not cosymmetric.' + +special_objects: + initial object: + description: empty space + terminal object: + description: $\Spec(\IZ)$ + coproducts: + description: disjoint union with the product sheaf + products: + description: See Localization of ringed spaces by W. Gillam. See also MSE/1033675. + +special_morphisms: + isomorphisms: + description: pairs $(f,f^{\sharp})$ consisting of a homeomorphism $f$ and an isomorphism of sheaves $f^{\sharp}$ + reason: This is easy. diff --git a/databases/catdat/data_yaml/categories/M-Set.yaml b/databases/catdat/data_yaml/categories/M-Set.yaml new file mode 100644 index 00000000..aa688799 --- /dev/null +++ b/databases/catdat/data_yaml/categories/M-Set.yaml @@ -0,0 +1,63 @@ +id: M-Set +name: category of M-sets +notation: $M{-}\Set$ +objects: sets with a left action of a monoid $M$ +morphisms: maps that are compatible with the $M$-action, meaning $f(m \cdot x)=m \cdot f(x)$, also called $M$-maps +description: Here, $M$ can be any monoid. But the most important special case is that of a group. To settle (future) non-properties, we assume that $M$ is non-trivial, since otherwise we just get the category of sets. +nlab_link: https://ncatlab.org/nlab/show/MSet + +tags: + - algebra + +related_categories: + - J2 + - R-Mod + - Set + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $M{-}\Set \to \Set$ and $\Set$ is locally small. + + - property_id: Grothendieck topos + reason: It is the category of sheaves on the opposite of the one-object category associated to $M$. + + - property_id: finitary algebraic + reason: Take the algebraic theory of an $M$-sets (having a unary operation for each $m \in M$). + +unsatisfied_properties: + - property_id: skeletal + reason: This is trivial. + + - property_id: trivial + reason: This is trivial. + +category_property_comments: + - property_id: semi-strongly connected + comment: If this category is semi-strongly connected depends on the choice of $M$. For $M = 1$ it is, for $M = \IZ$ it is not. In general, if $G$ is a group, then $G{-}\Set$ is semi-strongly connected if and only if for all subgroups $H,K \subseteq G$, $H$ is subconjugated to $K$ or $K$ is subconjugated to $H$. If $G$ is abelian, this means that the poset of subgroups is linear, in which case $G$ is either isomorphic to $\IZ/p^n$ or to $\IZ/p^{\infty}$ for a prime $p$. See also MSE/5129804. + +special_objects: + initial object: + description: empty set with the unique action + terminal object: + description: singleton set with the unique action + coproducts: + description: disjoint union with obvious $M$-action + products: + description: direct products with the evident $M$-action + +special_morphisms: + isomorphisms: + description: bijective $M$-maps + reason: This characterization holds in every algebraic category. + monomorphisms: + description: injective $M$-maps + reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + epimorphisms: + description: surjective $M$-maps + reason: This holds in every functor category $[\C,\Set]$, here applied to the case that $\C$ has just one object. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: surjective homomorphisms + reason: This holds in every finitary algebraic category. diff --git a/databases/catdat/data_yaml/categories/Man.yaml b/databases/catdat/data_yaml/categories/Man.yaml new file mode 100644 index 00000000..5bc694c3 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Man.yaml @@ -0,0 +1,99 @@ +id: Man +name: category of smooth manifolds +notation: $\Man$ +objects: smooth manifolds +morphisms: smooth maps +description: Here, a smooth manifold is defined as a second-countable Hausdorff space with a smooth atlas. The dimension is locally constant, not necessarily constant. +nlab_link: https://ncatlab.org/nlab/show/Diff + +tags: + - analysis + - topology + +related_categories: + - Haus + - Top + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Man \to \Set$ and $\Set$ is locally small. + + - property_id: finite products + reason: In short, this follows from the corresponding statement for topological spaces and $\IR^n \times \IR^m \cong \IR^{n+m}$. + check_redundancy: false + + - property_id: generator + reason: The $0$-dimensional one-point manifold is a generator since it represents the forgetful functor $\Top \to \Set$. + + - property_id: cogenerator + reason: "The manifold $\\IR$ is a cogenerator, since for every smooth manifold $M$ and points $p \\neq q$ in $M$ there is a smooth function $f : M \\to \\IR$ with $f(p) = 1$ and $f(q) = 0$ (John Lee, Introduction to Smooth Manifolds, Prop. 2.25)." + + - property_id: extensive + reason: "[Sketch] Since $\\Top$ is infinitary extensive, a continuous map $f : M \\to \\coprod_i N_i$ corresponds to a decomposition $M = \\coprod_i M_i$ (as topological spaces) with continuous maps $f_i : M_i \\to N_i$. Endow the open subset $M_i \\subseteq M$ with the smooth structure inherited from $M$. Now remark that $f$ is smooth iff each $f_i$ is smooth." + + - property_id: countably distributive + reason: To construct countable coproducts, take the usual disjoint union of spaces, which is clearly locally Euclidean and Hausdorff, and it is second countable since we are using only countable many spaces. (Without that condition, all coproducts would exist.) Now we need to check that the canonical smooth map $\coprod_i X \times Y_i \to X \times \coprod_i Y_i$ is a diffeomorphism (for countable families). It is a homeomorphism since $\Top$ is infinitary distributive. The inverse $X \times \coprod_i Y_i \to \coprod_i X \times Y_i$ is smooth since the domain is covered by the open subsets $X \times Y_i$ on which the map is clearly smooth. + + - property_id: Cauchy complete + reason: See Theorem 2.1 at the nLab. + + - property_id: semi-strongly connected + reason: Every non-empty manifold is weakly terminal (by using constant maps). + + - property_id: essentially small + reason: 'This is a consequence of the Whitney embedding theorem. But there is also a more direct proof: Since a manifold is second-countable, it is Lindelöf (proof). In particular, there is a countable atlas. It is then completely determined by countable many open subsets of Euclidean spaces and the transition maps.' + + - property_id: coquotients of cocongruences + reason: |- + Let $p : X + X \twoheadrightarrow E$ be a cocongruence with coreflexivity morphism $r : E \to X$, so that $r \circ p : X + X \to X$ is the codiagonal. Since $p$ is an epimorphism, it has dense image (see below). We first claim that in fact $p$ also has closed image and therefore is surjective. + 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$. + + - property_id: effective cocongruences + reason: "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$." + +unsatisfied_properties: + - property_id: small + reason: Even the collection of all singletons is not a set. + + - property_id: countable powers + reason: "The power $\\IR^{\\IN}$ does not exist. More generally, let $(M_n)_{n \\geq 0}$ be a sequence of smooth manifolds of positive dimension whose product $(\\pi_n : P \\to M_n)_{n \\geq 0}$ exists. This product cone in $\\Man$ yields a product cone in $\\Set$ since the forgetful functor $\\Man \\to \\Set$ is representable, hence preserves all limits. Choose points $x_n \\in M_n$ with $T_{x_n}(M_n) \\neq 0$. Choose the point $x \\in P$ with $\\pi_n(x) = x_n$. Consider the linear map $T_x(P) \\to \\prod_{n \\geq 0} T_{x_n}(M_n)$ induced by the derivatives $d_x(\\pi_n) : T_x(P) \\to T_{x_n}(M_n)$. Since $T_x(P)$ is finite-dimensional and $\\prod_{n \\geq 0} T_{x_n}(M_n)$ is not, it cannot be surjective. But actually, it is: Choose tangent vectors $v_n \\in T_{x_n}(M_n)$. Choose smooth curves $\\gamma_n : \\IR \\to M_n$ with $\\gamma_n(0)=x_n$ and ${\\gamma_n}'(0) = v_n$. By the universal property there is a unique smooth curve $\\gamma : \\IR \\to P$ with $\\pi_n \\gamma = \\gamma_n$. In particular, $\\gamma(0) = x$. The chain rule now implies that $\\gamma'(0) \\in T_x(P)$ is a preimage of $(v_n)$ – a contradiction." + + - property_id: pullbacks + reason: See MSE/5129579 or MSE/322485. + + - property_id: balanced + reason: The irrational winding of a torus $\IR \to S^1 \times S^1$, $t \mapsto (e^{i t}, \, e^{i \alpha t})$, where $\alpha \in \IR \setminus \IQ$, provides a counterexample. It is injective and has a dense image. Hence, it is a mono- and an epimorphism. But it is not surjective, hence no isomorphism. + + - property_id: skeletal + reason: This is trivial. + + - property_id: sequential colimits + reason: If $\Man$ had sequential colimits, then by this lemma there would be a manifold $M$ that admits a split epimorphism $M \to \IR^n$ for every $n$. But then $M$ will have an infinite-dimensional tangent space, which is a contradiction. + + - property_id: ℵ₁-accessible + reason: 'We already know that the category of countable sets $\Set_\c$ does not have $\aleph_1$-filtered colimits. The functor $\pi_0: \Man \to \Set_\c$ is well-defined (because manifolds are second-countable), and it admits a fully faithful right adjoint (regarding a countable set as a discrete manifold). Therefore, $\Man$ does not have $\aleph_1$-filtered colimits.' + + - property_id: quotients of congruences + reason: If $\Man$ had quotients of congruences, then by this lemma, it would have a pushout of $\IR \leftarrow \{ 0 \} \rightarrow \IR$. This contradicts MO/19916. + +special_objects: + initial object: + description: empty manifold + terminal object: + description: singleton manifold of dimension $0$ + coproducts: + description: '[countable case] disjoint union with the disjoint union topology and the obvious charts' + products: + description: "[finite case] direct products $X \\times Y$ with the product topology and the charts $\\IR^{n + m} = \\IR^n \\times \\IR^m \\cong U \\times V \\hookrightarrow X \\times Y$ for charts $\\IR^n \\cong U \\hookrightarrow X$ and $\\IR^m \\cong V \\hookrightarrow Y$" + +special_morphisms: + isomorphisms: + description: diffeomorphisms + reason: This holds by definition. + monomorphisms: + description: injective smooth maps + reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms. + epimorphisms: + description: smooth maps with dense image + reason: "Let $f : X \\to Y$ be a smooth map which is not dense. Choose some non-empty open subset $U \\subseteq Y$ that is disjoint from $f(X)$. Take any $p \\in U$. There is a smooth bump function $g : Y \\to \\IR$ with $g(p) = 1$ and $\\supp(g) \\subseteq U$ (John Lee, Introduction to Smooth Manifolds, Prop. 2.25). Hence, $g \\neq 0$ and $g \\circ f = 0 = 0 \\circ f$. Thus, $f$ is not an epimorphism." diff --git a/databases/catdat/data_yaml/categories/Meas.yaml b/databases/catdat/data_yaml/categories/Meas.yaml new file mode 100644 index 00000000..020f9a95 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Meas.yaml @@ -0,0 +1,93 @@ +id: Meas +name: category of measurable spaces +notation: $\Meas$ +objects: measurable spaces +morphisms: measurable maps +description: This is very similar to the category of topological spaces. Accordingly, limits and colimits can be constructed in the same way. +nlab_link: https://ncatlab.org/nlab/show/Meas + +tags: + - analysis + +related_categories: + - Top + +comments: + - The thread MSE/5024471 asks for the finitely presentable objects of this category. + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Meas \to \Set$ and $\Set$ is locally small. + + - property_id: well-powered + reason: This follows from the fact that monomorphisms are injective in this category. + + - property_id: well-copowered + reason: This follows from the fact that epimorphisms are surjective in this category. + + - property_id: complete + reason: Take the limit of the underlying sets and take the smallest $\sigma$-algebra making all projections measurable. + + - property_id: cocomplete + reason: Take the colimit of the underlying sets and take the largest $\sigma$-algebra making all inclusions measurable. That is, a set is measurable iff its preimage under each inclusion is measurable. + + - property_id: infinitary extensive + reason: "[Sketch] Since $\\Set$ is infinitary extensive, a map $f : Y \\to \\coprod_i X_i =: X$ corresponds to a decomposition $Y = \\coprod_i Y_i$ (as sets) with maps $f_i : Y_i \\to X_i$. Endow the measurable subset $Y_i \\subseteq Y$ with the restricted $\\sigma$-algebra. If $f$ is measurable, each $f_i$ is measurable, and $Y = \\coprod_i Y_i$ holds as measurable spaces." + + - property_id: generator + reason: The one-point measurable space (with the unique $\sigma$-algebra) is a generator since it represents the forgetful functor $\Meas \to \Set$. + + - property_id: cogenerator + reason: Take the two-element set $2$ endowed with the trivial $\sigma$-algebra (where only $\varnothing$ and $2$ are measurable), and use that $2$ is a cogenerator for $\Set$. + + - property_id: filtered-colimit-stable monomorphisms + reason: This follows from this lemma applied to the forgetful functor to $\Set$. + + - property_id: semi-strongly connected + reason: Every non-empty measurable space is weakly terminal (by using constant maps). + + - property_id: regular subobject classifier + reason: The set $\{0,1\}$ with the trivial $\sigma$-algebra is a regular subobject classifier since measurable maps $X \to \{0,1\}$ correspond to subsets of $X$. + +unsatisfied_properties: + - property_id: cartesian filtered colimits + reason: See MSE/5027218. + + - property_id: balanced + reason: Take a set $X$ with two different $\sigma$-algebras $\A \subset \B$ (for example, $\A = \{\varnothing,X\}$ and $\B = P(X)$ when $X$ has at least $2$ elements), then the identity map $(X,\B) \to (X,\A)$ provides a counterexample. + + - property_id: skeletal + reason: This is trivial. + + - property_id: Malcev + reason: Use that $\Set$ is not Malcev and endow sets with the trivial $\sigma$-algebra. + + - property_id: cofiltered-limit-stable epimorphisms + reason: 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. + + - property_id: effective cocongruences + reason: 'The proof is similar to the one for $\Top$: Use the trivial $\sigma$-algebra on a two-point set.' + +special_objects: + initial object: + description: empty set with the unique $\sigma$-algebra + terminal object: + description: singleton set with the unique $\sigma$-algebra + coproducts: + description: disjoint union with the obvious $\sigma$-algebra + products: + description: direct products with the product $\sigma$-algebra + +special_morphisms: + isomorphisms: + description: bijective measurable maps that map measurable sets to measurable sets + reason: This is easy. + monomorphisms: + description: injective measurable maps + reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms. + epimorphisms: + description: surjective measurable maps + reason: Use the same proof as for sets, where $2 = \{0,1\}$ is endowed with the trivial $\sigma$-algebra. + regular monomorphisms: + description: embeddings + reason: "(This is the same proof as for $\\Top$.) Equalizers are embeddings by their construction. Conversely, if $f : X \\to Y$ is an embedding, then $f$ is the equalizer of the two characteristic maps $\\chi_Y, \\chi_{f(X)} : Y \\rightrightarrows \\{0,1\\}$, where $\\{0,1\\}$ carries the trivial $\\sigma$-algebra." diff --git a/databases/catdat/data_yaml/categories/Met.yaml b/databases/catdat/data_yaml/categories/Met.yaml new file mode 100644 index 00000000..6a267bbc --- /dev/null +++ b/databases/catdat/data_yaml/categories/Met.yaml @@ -0,0 +1,127 @@ +id: Met +name: category of metric spaces with non-expansive maps +notation: $\Met$ +objects: metric spaces +morphisms: non-expansive maps $f$, meaning $d(f(x),f(y)) \leq d(x,y)$ for all $x,y$ +description: In contrast to continuous maps, which only refer to the induced topology, non-expansive maps are closer related to the metrics themselves. This category is badly-behaved, though, especially when compared with $\Met_{\infty}$. +nlab_link: https://ncatlab.org/nlab/show/Met + +tags: + - analysis + +related_categories: + - Ban + - Met_c + - Met_oo + - PMet + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Met \to \Set$ and $\Set$ is locally small. + + - property_id: well-powered + reason: This follows since monomorphisms are injective. + + - property_id: equalizers + reason: Just restrict the metric to the equalizer built from the sets. + + - property_id: binary products + reason: The product of two metric spaces $(X,d)$, $(Y,d)$ is $(X \times Y,d)$ with $d((x_1,y_1),(x_2,x_2)) := \sup(d(x_1,x_2),d(y_1,y_2))$. + check_redundancy: false + + - property_id: terminal object + reason: The one-point metric space is terminal. + check_redundancy: false + + - property_id: coequalizers + reason: This is because the category of pseudo-metric spaces has coequalizers and $\Met \hookrightarrow \PMet$ has a left adjoint, mapping a pseudo-metric space $X$ to $X /{\sim}$ where $x \sim y \iff d(x,y)=0$. Concretely, we take the coequalizer in the category of pseudo-metric spaces and then identify points with distance zero. + + - property_id: filtered colimits + reason: This is because the category of pseudo-metric spaces has filtered colimits and $\Met \hookrightarrow \PMet$ has a left adjoint, mapping a pseudo-metric space $X$ to $X /{\sim}$ where $x \sim y \iff d(x,y)=0$. Concretely, we take the filtered colimit in the category of pseudo-metric spaces and then identify points with distance zero. + check_redundancy: false + + - property_id: cartesian filtered colimits + reason: |- + We already saw that filtered colimits and finite products exist. The canonical map $\colim_i (X \times Y_i) \to X \times \colim_i Y_i$ is an isomorphism for filtered diagrams $(Y_i)$: It is surjective by the concrete description of filtered colimits. It is isometric because of the elementary observation + $$\textstyle\inf_i \max(r, s_i) = \max(r, \inf_i s_i)$$ + for $r, s_i \in \IR$, where $i \leq j \implies s_i \geq s_j$. + + - property_id: strict initial object + reason: The empty metric space is initial and clearly strict. + + - property_id: generator + reason: The one-point metric space is a generator since it represents the forgetful functor $\Met \to \Set$. + + - property_id: cogenerator + reason: "We claim that $\\IR$ with the usual metric is a cogenerator. Let $a,b \\in X$ be two points of a metric space such that $f(a)=f(b)$ for all non-expansive maps $f : X \\to \\IR$. This applies in particular to $f(x) := d(a,x)$ and shows that $0=d(a,a)=d(a,b)$, so that $a=b$." + + - property_id: well-copowered + reason: "If $f : X \\to Y$ is an epimorphism, then $f(X)$ is dense in $Y$ (see below). Hence, there is an injective map $Y \\to X^{\\IN}$, which bounds the size of $Y$." + + - property_id: semi-strongly connected + reason: Every non-empty metric space is weakly terminal (by using constant maps). + +unsatisfied_properties: + - property_id: countable powers + reason: "Assume that the power $P = \\IR^{\\IN}$ exists, where $\\IR$ has the usual metric. Since the forgetful functor $\\Met \\to \\Set$ is representable, it preserves limits, powers in particular. Thus, we may assume that $P$ is the set of sequences of numbers and that the projections $p_n : P \\to \\IR$ are given by $p_n(x) = x_n$. Now consider the sequences $x = (n)_n$ and $y = (0)_n$. Since each $p_n$ is non-expansive, we get $d(x,y) \\geq d(p_n(x),p_n(y)) = d(n,0) = n$. But then $d(x,y) = \\infty$, a contradiction." + + - property_id: binary copowers + reason: The coproduct of two non-empty metric spaces does not exist, see MSE/1778408. For example, the copower $\IR \sqcup \IR$ does not exist. We only get coproducts when allowing $\infty$ as a distance, as in $\Met_{\infty}$. + + - property_id: strict terminal object + reason: This is trivial. + + - property_id: balanced + reason: The inclusion $\IQ \hookrightarrow \IR$ is a counterexample; it is an epimorphism since $\IQ$ is dense in $\IR$. Alternatively, consider the identity map $(X,2d) \to (X,d)$ for any non-trivial metric space $(X,d)$. + + - property_id: cartesian closed + reason: This is proven in MSE/5131457. + + - property_id: essentially small + reason: This is trivial. + + - property_id: filtered-colimit-stable monomorphisms + reason: 'The following example is taken from Remark 2.7 in Approximate injectivity and smallness in metric-enriched categories by Adamek-Rosicky: For $n \geq 1$ let $X_n$ denote the metric space with underlying set $\{0,1\}$ in which $0,1$ have distance $1/n$. We have bijective non-expansive maps $X_n \to X_{n+1}$, $x \mapsto x$. The colimit of this sequence in $\PMet$ is $\{0,1\}$ where $0,1$ have distance $0$, so the colimit in $\Met$ collapses to $\{0\}$. Therefore, the colimit of the monomorphisms $X_0 \to X_n$, $x \mapsto x$ is the non-injective map $X_0 \to \{0\}$.' + + - property_id: skeletal + reason: This is trivial. + + - property_id: Malcev + reason: "Consider the metric subspace $\\{(a,b) \\in \\IR^2 : a \\leq b\\}$ of $\\IR^2$." + + - property_id: natural numbers object + reason: |- + 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. + + - property_id: effective congruences + reason: "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." + + - property_id: effective cocongruences + reason: |- + 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 $\Met$. + +special_objects: + initial object: + description: empty metric space + terminal object: + description: singleton space + products: + description: "[finite case] direct products with the metric $d(x,y) = \\sup_i d_i(x_i,y_i)$" + +special_morphisms: + isomorphisms: + description: bijective isometries + reason: This is easy. + monomorphisms: + description: injective non-expansive maps + reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms. + epimorphisms: + description: non-expansive maps with dense image + reason: See MSE/937387. diff --git a/databases/catdat/data_yaml/categories/Met_c.yaml b/databases/catdat/data_yaml/categories/Met_c.yaml new file mode 100644 index 00000000..dc403f7f --- /dev/null +++ b/databases/catdat/data_yaml/categories/Met_c.yaml @@ -0,0 +1,97 @@ +id: Met_c +name: category of metric spaces with continuous maps +notation: $\Met_c$ +objects: metric spaces +morphisms: continuous maps +description: This category is equivalent to the subcategory of $\Top$ (or $\Haus$) that consists of metrizable topological spaces. Hence, the metrics only play a secondary role here. +nlab_link: https://ncatlab.org/nlab/show/metrisable+topological+space + +tags: + - analysis + +related_categories: + - Haus + - Met + - Met_oo + - Top + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Met_c \to \Set$ and $\Set$ is locally small. + + - property_id: equalizers + reason: Just restrict the metric to the equalizer built from the sets. + + - property_id: countable products + reason: For finite products, we take the cartesian product with, say, the sup-metric. The product of countably many metric spaces $(X_i,d_i)_{i \geq 0}$ is given by the cartesian product $\prod_{i \geq 0} X_i$ with the metric $d(x,y) := \sum_{i \geq 0} d_i(x_i,y_i)/(1 + d_i(x_i,y_i))$. See Engelking's book General Topology. + + - property_id: coproducts + reason: See MSE/5004389. + check_redundancy: false + + - property_id: infinitary extensive + reason: This follows from the existence of coproducts and finite products, and from the fact that $\Top$ is infinitary extensive. + + - property_id: well-powered + reason: This follows easily from the fact that monomorphisms are injective in this category. + + - property_id: generator + reason: The one-point metric space is a generator since it represents the forgetful functor $\Met_c \to \Set$. + + - property_id: cogenerator + reason: The same proof as for $\Met$ shows that $\IR$ with the usual metric is a cogenerator. + + - property_id: well-copowered + reason: "If $f : X \\to Y$ is an epimorphism, then $f(X)$ is dense in $Y$ (see below). Hence, there is an injective map $Y \\to X^{\\IN}$, which bounds the size of $Y$." + + - property_id: semi-strongly connected + reason: Every non-empty metric space is weakly terminal (by using constant maps). + + - property_id: effective cocongruences + reason: '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$.' + +unsatisfied_properties: + - property_id: powers + reason: See MSE/139168 for a proof that uncountable powers do not exist. + + - property_id: balanced + reason: The inclusion $\IQ \hookrightarrow \IR$ provides a counterexample. + + - property_id: skeletal + reason: This is trivial. + + - property_id: Malcev + reason: "Consider the metric subspace $\\{(a,b) \\in \\IR^2 : a \\leq b\\}$ of $\\IR^2$." + + - property_id: regular subobject classifier + reason: 'We recycle the proof from the category of Hausdorff spaces: Assume that there is a regular subobject classifier $\Omega$. By the classification of regular monomorphisms, we would have an isomorphism between $\Hom(X,\Omega)$ and the set of closed subsets of $X$ for any metric space $X$. If we take $X = 1$ we see that $\Omega$ has two points. Since $\Omega$ is Hausdorff, $\Omega \cong 1 + 1$ must be discrete. But then $\Hom(X,\Omega)$ is isomorphic to the set of all clopen subsets of $X$, of which there are usually far fewer than closed subsets (consider $X = [0,1]$).' + + - property_id: sequential colimits + reason: See MO/510316. + + - property_id: quotients of congruences + reason: If $\Met_c$ had quotients of congruences, then by this lemma it would have sequential colimits of sequences of monomorphisms. This contradicts MO/510316. + +special_objects: + initial object: + description: empty metric space + terminal object: + description: singleton space + coproducts: + description: Given metric spaces $(X_i,d_i)$ with $d_i \leq 1$ w.l.o.g, we endow the disjoint union $\coprod_i X_i$ with the metric $d$ that extends the metrics $d_i$ and satisfies $d(x,y) = 1$ when $x,y$ are in different $X_i$. + products: + description: "[countable case] In the finite case, take direct products with the metric $d(x,y) = \\sup_i d_i(x_i,y_i)$, but other metrics such as $d(x,y) = \\sum_i d_i(x_i,y_i)$ also work. In the countable case, one can assume $d_i \\leq 1$ and then define $d(x,y) = \\sum_i d_i(x,y) / 2^i$." + +special_morphisms: + isomorphisms: + description: homeomorphisms + reason: This works as for topological spaces. + monomorphisms: + description: injective continuous maps + reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms. + epimorphisms: + description: continuous maps with dense image + reason: See MSE/937387. + regular monomorphisms: + description: embeddings of closed subspaces + reason: A reference is Example 7.58 (3) in Joy of Cats, but a proof is missing there. diff --git a/databases/catdat/data_yaml/categories/Met_oo.yaml b/databases/catdat/data_yaml/categories/Met_oo.yaml new file mode 100644 index 00000000..007e4174 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Met_oo.yaml @@ -0,0 +1,82 @@ +id: Met_oo +name: category of metric spaces with ∞ allowed +notation: $\Met_{\infty}$ +objects: metric spaces, where the metric is allowed to assume the value $\infty$ +morphisms: non-expansive maps $f$, meaning $d(f(x),f(y)) \leq d(x,y)$ for all $x,y$ +description: The fact that we allow $\infty$ means that universal constructions work much better when compared to $\Met$. +nlab_link: https://ncatlab.org/nlab/show/Met + +tags: + - analysis + +related_categories: + - Met + - Met_c + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Met_{\infty} \to \Set$ and $\Set$ is locally small. + + - property_id: generator + reason: The singleton metric space $1$ is a generator, since morphisms $1 \to X$ correspond to the elements of $X$. + + - property_id: locally ℵ₁-presentable + reason: Example 4.5 in this preprint + + - property_id: cartesian filtered colimits + reason: We can use the same proof as for the category of metric spaces since the equation $\inf_i \max(r, s_i) = \max(r, \inf_i s_i)$ also holds for for $r, s_i \in \IR \cup \{\infty\}$. + + - property_id: infinitary extensive + reason: "[Sketch] Since $\\Set$ is infinitary extensive, a map $f : Y \\to \\coprod_i X_i =: X$ corresponds to a decomposition $Y = \\coprod_i Y_i$ (as sets) with maps $f_i : Y_i \\to X_i$. Endow $Y_i$ with the restricted metric. If $f$ is non-expansive, each $f_i$ is non-expansive, and for $x_i \\in Y_i$ and $i \\neq j$ we have $d_Y(x_i,x_j) \\geq d_X(f(x_i),f(x_j)) = \\infty$, so that $Y = \\coprod_i Y_i$ holds as metric spaces." + + - property_id: cogenerator + reason: "The proof is similar to $\\Met$, a cogenerator is given by $\\IR \\cup \\{\\infty\\}$ with the metric in which $d(a,\\infty)=\\infty$ for $a \\in \\IR$. Then one checks that the maps $d(a,-) : X \\to \\IR \\cup \\{\\infty\\}$ are non-expansive and finishes as for $\\Met$." + + - property_id: semi-strongly connected + reason: Every non-empty metric space is weakly terminal (by using constant maps). + +unsatisfied_properties: + - property_id: balanced + reason: The inclusion $\IQ \hookrightarrow \IR$ provides a counterexample. Alternatively, consider the identity map $(X,2d) \to (X,d)$ for any non-trivial metric space $(X,d)$. + + - property_id: cartesian closed + reason: This is proven in MSE/5131457. + + - property_id: filtered-colimit-stable monomorphisms + reason: We can copy the proof from the category of metric spaces. + + - property_id: skeletal + reason: This is trivial. + + - property_id: Malcev + reason: "Consider the metric subspace $\\{(a,b) \\in \\IR^2 : a \\leq b\\}$ of $\\IR^2$." + + - property_id: co-Malcev + reason: 'See MO/509552: Consider the forgetful functor $U : \Met_{\infty} \to \Set$ and the relation $R \subseteq U^2$ defined by $R(X) := \{(a,b) \in U(X)^2 : d(x,y) \leq 1 \}$. Both are representable: $U$ by the singleton metric space and $R$ by the metric space $\{ 0,1 \}$ where $d(0,1) := 1$. It is clear that $R$ is reflexive, but not transitive.' + + - property_id: cofiltered-limit-stable epimorphisms + reason: 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. + + - property_id: effective cocongruences + reason: 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)$. + +special_objects: + initial object: + description: empty metric space + terminal object: + description: singleton space + coproducts: + description: disjoint union with the metric that extends the given ones and gives points in different spaces the distance $\infty$ + products: + description: direct products with the metric $d(x,y) = \sup_i d_i(x_i,y_i)$ + +special_morphisms: + isomorphisms: + description: bijective isometries + reason: This is easy. + monomorphisms: + description: injective non-expansive maps + reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms. + epimorphisms: + description: non-expansive maps with dense image + reason: See MSE/937387. diff --git a/databases/catdat/data_yaml/categories/Mon.yaml b/databases/catdat/data_yaml/categories/Mon.yaml new file mode 100644 index 00000000..8f532d73 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Mon.yaml @@ -0,0 +1,100 @@ +id: Mon +name: category of monoids +notation: $\Mon$ +objects: monoids +morphisms: monoid homomorphisms +nlab_link: https://ncatlab.org/nlab/show/category+of+monoids + +tags: + - algebra + +related_categories: + - CMon + - Cat + - Grp + - SemiGrp + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Mon \to \Set$ and $\Set$ is locally small. + + - property_id: pointed + reason: The trivial monoid is a zero object. + check_redundancy: false + + - property_id: finitary algebraic + reason: Take the algebraic of a monoid. + + - property_id: unital + reason: If a submonoid of $X \times Y$ contains $X \times \{1\}$ and $\{1\} \times Y$, then for all $x \in X$ and $y \in Y$ it also contains $(x,1) \cdot (1,y) = (x,y)$. + +unsatisfied_properties: + - property_id: balanced + reason: The inclusion of additive monoids $\IN \hookrightarrow \IZ$ is a counterexample. + + - property_id: cogenerator + reason: 'We apply this lemma to the collection of simple groups: Any non-trivial homomorphism $G \to M$ from a simple group $G$ to a monoid $M$ must be injective (as it corestricts to a homomorphism of groups $G \to M^{\times}$), and for every infinite cardinal $\kappa$ there is a simple group of size $\geq \kappa$ (for example, the alternating group on $\kappa$ elements).' + + - property_id: skeletal + reason: This is trivial. + + - property_id: Malcev + reason: "Consider the submonoid $\\{(a,b) : a \\leq b \\}$ of $\\IN^2$." + + - property_id: counital + reason: The canonical morphism $\IN \sqcup \IN \to \IN \times \IN$ is not a monomorphism since $\IN \sqcup \IN$ is not commutative. + + - property_id: CIP + reason: The canonical morphism $\IN \sqcup \IN \to \IN \times \IN$ is not a monomorphism since $\IN \sqcup \IN$ is not commutative. + + - property_id: coregular + reason: "Consider the monoid $M := \\langle x_0, x_1, s : x_0 s = x_1 s = 1 \\rangle$. Notice that every element in $M$ has a unique expression as $s^k \\cdot u$ with $k \\in \\IN$ and $u \\in \\langle x_0,x_1 \\rangle_M$. Moreover, the canonical homomorphism $\\iota : \\langle x_0, x_1 \\rangle \\to M$ (from the free monoid) is injective. We will prove that it is a regular monomorphism, which however is not pushout-stable. Consider $N := \\langle x_0, x_1, s_0, s_1 : x_i s_j = 1 \\rangle$ and define $f_i : M \\to N$ for $i=0,1$ by $f_i(x_j) = x_j$ and $f_i(s) = s_i$. Then $\\iota$ is the equalizer of $f_0,f_1$. Now consider $g : \\langle x_0,x_1 \\rangle \\to \\langle y_0 \\rangle$ defined by $g(x_0) = y_0$, $g(x_1) = 1$. The pushout of $\\iota$ with $g$ is given by $\\langle x_0, x_1, s, y_0 : x_0 s = x_1 s = 1 , \\, x_0 = y_0, \\, x_1 = 1 \\rangle$, which simplifies to $\\langle x_0, s : x_0 s = s = 1 \\rangle$, which is trivial." + + - property_id: regular subobject classifier + reason: "Assume that $\\Omega$ is a regular subobject classifier. Since the trivial monoid is a zero object, every regular submonoid $U \\subseteq M$ of any monoid $M$ would have the form $\\{m \\in M : h(m) = 1 \\}$ for some homomorphism $M \\to \\Omega$. Now take any monoid $M$ with zero that has two different homomorphisms with zero $f,g : M \\rightrightarrows N$ (for example, let $M = N = \\{0\\} \\cup \\{x^n : n \\geq 0\\}$ be the free monoid with zero on one generator, $f(x) = 0$,and $g(x) = x$). Take their equalizer $U \\subseteq M$, and choose a homomorphism $h : M \\to \\Omega$ with $U = \\{m \\in M : h(m) = 1\\}$. Since $0 \\in U$, we have $h(0)=1$. But then for all $m \\in M$ we have $h(m) = h(m) h(0) = h(m 0) = h(0) = 1$, i.e. $U = M$, which yields the contradiction $f = g$." + + - property_id: regular quotient object classifier + reason: We can just copy the proof for the category of commutative monoids. Alternatively, we may use this lemma (dualized). + + - property_id: cofiltered-limit-stable epimorphisms + reason: We already know that $\Grp$ does not have this property. Now apply the contrapositive of the dual of this lemma to the forgetful functor $\Grp \to \Mon$. It preserves epimorphisms since it has a right adjoint, the unit group functor. + + - property_id: cocartesian cofiltered limits + reason: 'We know that the category of groups fails to satisfy this property. The same counterexample works here since the inclusion $\Grp \hookrightarrow \Mon$ preserves limits and colimits (it has a left and a right adjoint) and is conservative. A similar counterexample is given by the free monoids $N_n = \langle x_1,\dotsc,x_n \rangle$ and the Boolean monoid $M = \langle e : e^2=e \rangle$ with the maps $N_{n+1} \to N_n$, $x_{n+1} \mapsto 1$. Then the element $(x_1 e \cdots x_n e) \in \lim_n (M \sqcup N_n)$ does not come from $M \sqcup \lim_n N_n$ because its components have unbounded free product length.' + + - property_id: CSP + reason: 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. + + - property_id: effective cocongruences + reason: |- + 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}(\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$. + +special_objects: + initial object: + description: trivial monoid + terminal object: + description: trivial monoid + coproducts: + description: free products + products: + description: direct products with pointwise operations + +special_morphisms: + isomorphisms: + description: bijective homomorphisms + reason: This characterization holds in every algebraic category. + monomorphisms: + description: injective homomorphisms + reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + epimorphisms: + description: "A monoid map $f : T \\to S$ is an epimorphism iff $S$ equals the dominion of $U := f(T) \\subseteq S$, meaning that for every $s \\in S$ there are $u_1,\\dotsc,u_{m+1} \\in U$, $v_1,\\dotsc,v_m \\in U$, $x_1,\\dotsc,x_m \\in S$ and $y_1,\\dotsc,y_m \\in S$ such that $s = x_1 u_1$, $u_1 = v_1 y_1$, $x_{i-1} v_{i-1} = x_i u_i$, $u_i y_{i-1} = v_i y_i$, $x_m v_m = u_{m+1}$ and $u_{m+1} y_m = s$." + reason: This is Isbell's zigzag Theorem, see references there. + regular epimorphisms: + description: surjective homomorphisms + reason: This holds in every finitary algebraic category. diff --git a/databases/catdat/data_yaml/categories/N.yaml b/databases/catdat/data_yaml/categories/N.yaml new file mode 100644 index 00000000..5e16c2a4 --- /dev/null +++ b/databases/catdat/data_yaml/categories/N.yaml @@ -0,0 +1,69 @@ +id: N +name: poset of natural numbers +notation: $(\IN,\leq)$ +objects: natural numbers $0, 1, 2, \dotsc$ +morphisms: "a unique morphism $(n,m) : n \\to m$ if $n \\leq m$" +description: This can also be seen as the path category of the infinite linear graph $\bullet \to \bullet \to \bullet \to \cdots$. + +tags: + - number theory + - thin + +related_categories: + - N_oo + - On + - Z_div + +satisfied_properties: + - property_id: small + reason: This is trivial. + + - property_id: thin + reason: This is trivial. + check_redundancy: false + + - property_id: finitely cocomplete + reason: Finitely many natural numbers have a supremum natural number. + check_redundancy: false + + - property_id: binary products + reason: Two natural numbers have a minimum. + + - property_id: connected limits + reason: Every non-empty set of natural numbers has a minimum. + + - property_id: semi-strongly connected + reason: This is trivial. + + - property_id: direct + reason: This is because the natural numbers with respect to $<$ are well-founded. + + - property_id: countable + reason: This is trivial. + +unsatisfied_properties: + - property_id: countable coproducts + reason: The numbers $0,1,2,\dotsc$ have no supremum, i.e. no coproduct. + +special_objects: + initial object: + description: $0$ + coproducts: + description: '[finite case] supremum' + +special_morphisms: + isomorphisms: + description: only the identity morphisms + reason: This is true for every poset (regarded as a category). + monomorphisms: + description: every morphism + reason: It is a thin category. + epimorphisms: + description: every morphism + reason: It is a thin category. + regular monomorphisms: + description: same as isomorphisms + reason: This is because the category is right cancellative. + regular epimorphisms: + description: same as isomorphisms + reason: This is because the category is left cancellative. diff --git a/databases/catdat/data_yaml/categories/N_oo.yaml b/databases/catdat/data_yaml/categories/N_oo.yaml new file mode 100644 index 00000000..cc524d03 --- /dev/null +++ b/databases/catdat/data_yaml/categories/N_oo.yaml @@ -0,0 +1,73 @@ +id: N_oo +name: poset of extended natural numbers +notation: $(\IN_\infty, \leq)$ +objects: natural numbers and $\infty$ +morphisms: "a unique morphism $(n, m) : n \\to m$ if $n \\leq m$, where of course $n \\leq \\infty$ for all $n$" + +tags: + - number theory + - thin + +related_categories: + - N + - On + +satisfied_properties: + - property_id: small + reason: This is trivial. + + - property_id: countable + reason: This is trivial. + + - property_id: coproducts + reason: Take the supremum. + check_redundancy: false + + - property_id: direct + reason: This is because the natural numbers with $\infty$ with respect to $<$ are well-founded. + + - property_id: locally strongly finitely presentable + reason: We already saw that coproducts, and therefore colimits exist. Every natural number is strongly finitely presentable, and $\infty$ is the colimit of all $n < \infty$. + + - property_id: semi-strongly connected + reason: This is trivial. + +unsatisfied_properties: + - property_id: essentially finite + reason: This is trivial. + + - property_id: finitary algebraic + reason: This follows from this lemma. + + - property_id: self-dual + reason: This is because every upper set is infinite, but every lower set is finite. + + - property_id: inverse + reason: Consider the strictly increasing sequence $0 < 1 < 2 < \cdots$. + +special_objects: + initial object: + description: $0$ + terminal object: + description: $\infty$ + coproducts: + description: supremum + products: + description: infimum + +special_morphisms: + isomorphisms: + description: only the identity morphisms + reason: This is true for every poset (regarded as a category). + monomorphisms: + description: every morphism + reason: It is a thin category. + epimorphisms: + description: every morphism + reason: It is a thin category. + regular monomorphisms: + description: same as isomorphisms + reason: This is because the category is right cancellative. + regular epimorphisms: + description: same as isomorphisms + reason: This is because the category is left cancellative. diff --git a/databases/catdat/data_yaml/categories/On.yaml b/databases/catdat/data_yaml/categories/On.yaml new file mode 100644 index 00000000..231adb32 --- /dev/null +++ b/databases/catdat/data_yaml/categories/On.yaml @@ -0,0 +1,72 @@ +id: On +name: poset of ordinal numbers +notation: $(\On,\leq)$ +objects: ordinal numbers +morphisms: "a unique morphism $(\\alpha,\\beta): \\alpha \\to \\beta$ if $\\alpha \\leq \\beta$" +description: This is a large variant of the poset of natural numbers. + +tags: + - set theory + - thin + +related_categories: + - N + +satisfied_properties: + - property_id: thin + reason: This is trivial. + check_redundancy: false + + - property_id: locally small + reason: This is trivial. + + - property_id: cocomplete + reason: Every set of ordinal numbers has a supremum. + + - property_id: binary products + reason: For ordinal numbers $\alpha,\beta$ their minimum exists, it is $\alpha$ when $\alpha \leq \beta$ and $\beta$ otherwise. + + - property_id: connected limits + reason: Every non-empty set of ordinal numbers has a minimum. + + - property_id: well-powered + reason: This is because for every ordinal $\alpha$ the collection of ordinals $\leq \alpha$ is a set (namely, $\alpha + 1$). + + - property_id: semi-strongly connected + reason: It is well-known that for ordinals $\alpha,\beta$ we have $\alpha \leq \beta$ or $\beta \leq \alpha$. + + - property_id: direct + reason: This is because the ordinal numbers with respect to $<$ are well-founded (by definition). + +unsatisfied_properties: + - property_id: terminal object + reason: There is no largest ordinal $\alpha$ since $\alpha + 1$ will always be larger. + + - property_id: well-copowered + reason: The "quotients" of $0$ are all ordinals. + + - property_id: inverse + reason: Consider the strictly increasing sequence $0 < 1 < 2 < \cdots$. + +special_objects: + initial object: + description: $0$ + coproducts: + description: supremum + +special_morphisms: + isomorphisms: + description: only the identities + reason: This is true for every poset (regarded as a category). + monomorphisms: + description: every morphism + reason: It is a thin category. + epimorphisms: + description: every morphism + reason: It is a thin category. + regular monomorphisms: + description: same as isomorphisms + reason: This is because the category is right cancellative. + regular epimorphisms: + description: same as isomorphisms + reason: This is because the category is left cancellative. diff --git a/databases/catdat/data_yaml/categories/PMet.yaml b/databases/catdat/data_yaml/categories/PMet.yaml new file mode 100644 index 00000000..2c2867b7 --- /dev/null +++ b/databases/catdat/data_yaml/categories/PMet.yaml @@ -0,0 +1,109 @@ +id: PMet +name: category of pseudo-metric spaces with non-expansive maps +notation: $\PMet$ +objects: pseudo-metric spaces +morphisms: non-expansive maps $f$, meaning $d(f(x),f(y)) \leq d(x,y)$ for all $x,y$ +description: In contrast to metric spaces, we do not demand $d(x,y)=0 \implies x=y$ here. + +tags: + - analysis + +related_categories: + - Met + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\PMet \to \Set$ and $\Set$ is locally small. + + - property_id: equalizers + reason: Just restrict the pseudo-metric to the equalizer built from the sets. + check_redundancy: false + + - property_id: binary products + reason: The product of two pseudo-metric spaces $(X,d)$, $(Y,d)$ is $(X \times Y,d)$ with $d((x_1,y_1),(x_2,x_2)) := \sup(d(x_1,x_2),d(y_1,y_2))$. + check_redundancy: false + + - property_id: terminal object + reason: The one-point (pseudo-)metric space is terminal. + check_redundancy: false + + - property_id: coequalizers + reason: See MO/123739. + + - property_id: filtered colimits + reason: "Given a filtered diagram $(X_i)$ of pseudo-metric spaces, take the filtered colimit $X$ of the underlying sets with the following pseudo-metric: If $x,y \\in X$, let $d(x,y)$ be infimum of all $d(x_i,y_i)$, where $x_i,y_i \\in X_i$ are some preimages of $x,y$ in some $X_i$. The definition ensures that each $X_i \\to X$ is non-expansive, and the universal property is easy to check." + check_redundancy: false + + - property_id: exact filtered colimits + reason: 'We already saw that finite limits and filtered colimits exist. Now let $\I$ be a finite category and $\J$ be a small filtered category, w.l.o.g. a directed poset. Let $X : \I \times \J \to \PMet$ be a diagram. We need to show that the canonical map $\colim_{j \in \J} \lim_{i \in \I} X(i,j) \to \lim_{i \in \I} \colim_{j \in \J} X(i,j)$ is an isomorphism. It is bijective since the forgetful functor to $\Set$ preserves finite limits and filtered colimits and since $\Set$ has exact filtered colimits. That the map is isometric can easily be reduced to the following lemma: If $d_{i,j} \in \IR_{\geq 0}$ are numbers for $i \in \I$, $j \in \J$ with $j \leq k \implies d_{i,k} \leq d_{i,j}$, then $\inf_j \sup_i d_{i,j} = \sup_i \inf_j d_{i,j}$. This can be proven directly. Alternatively, use that the thin category $(\IR_{\geq 0} \cup \{\infty\},\leq)$ is isomorphic to $([0,1],\leq)$, and we already know that it has exact filtered colimits.' + + - property_id: strict initial object + reason: The empty (pseudo-)metric space is initial and clearly strict. + + - property_id: generator + reason: The one-point (pseudo-)metric space is a generator since it represents the forgetful functor $\PMet \to \Set$. + + - property_id: cogenerator + reason: The set $\{0,1\}$ equipped with the pseudo-metric $d(0,1)=0$ is a cogenerator since every map into is automatically non-expansive and since $\{0,1\}$ is a cogenerator in $\Set$. + + - property_id: semi-strongly connected + reason: Every non-empty pseudo-metric space is weakly terminal (by using constant maps). + + - property_id: well-powered + reason: This follows since monomorphisms are injective (see below). + + - property_id: well-copowered + reason: This follows since epimorphisms are surjective (see below). + +unsatisfied_properties: + - property_id: balanced + reason: "Let $d : \\IR \\times \\IR \\to \\IR_{\\geq 0}$ be the usual Euclidean metric on $\\IR$ and $0 : \\IR \\times \\IR \\to \\IR_{\\geq 0}$ be the zero pseudo-metric. Then the identity map $(\\IR,d) \\to (\\IR,0)$ provides a counterexample." + + - property_id: cartesian closed + reason: This is proven in MSE/5131457. + + - property_id: countable powers + reason: "Assume that the power $P = \\IR^{\\IN}$ exists, where $\\IR$ has the usual (pseudo-)metric. Since the forgetful functor $\\PMet \\to \\Set$ is representable, it preserves limits, powers in particular. Thus, we may assume that $P$ is the set of sequences of numbers and that the projections $p_n : P \\to \\IR$ are given by $p_n(x) = x_n$. Now consider the sequences $x = (n)_n$ and $y = (0)_n$. Since each $p_n$ is non-expansive, we get $d(x,y) \\geq d(p_n(x),p_n(y)) = d(n,0) = n$. But then $d(x,y) = \\infty$, a contradiction." + + - property_id: binary copowers + reason: The coproduct of two non-empty pseudo-metric spaces does not exist, see MSE/1778408 (the proof also works for pseudo-metric spaces). For example, the copower $\IR \sqcup \IR$ does not exist. We only get coproducts when allowing $\infty$ as a distance. + + - property_id: strict terminal object + reason: This is trivial. + + - property_id: essentially small + reason: This is trivial. + + - property_id: skeletal + reason: This is trivial. + + - property_id: Malcev + reason: Take any counterexample in $\Set$ and equip it with the zero pseudo-metric. + + - property_id: natural numbers object + reason: |- + 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. + + - property_id: effective cocongruences + reason: '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.' + +special_objects: + initial object: + description: empty pseudo-metric space + terminal object: + description: singleton space + products: + description: "[finite case] direct products with the pseudo-metric $d(x,y) = \\sup_i d_i(x_i,y_i)$" + +special_morphisms: + isomorphisms: + description: bijective isometries + reason: This is easy. + monomorphisms: + description: injective non-expansive maps + reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms. + epimorphisms: + description: surjective non-expansive maps + reason: "Let $f : X \\to Y$ be a non-expansive map that is not surjective. Choose $y_0 \\in Y \\setminus f(X)$. We extend the pseudo-metric from $Y$ to $Z := Y \\sqcup \\{y'_0\\}$ via $d(y,y'_0) := d(y,y_0)$, i.e., we make $y_0,y'_0$ indistinguishable. Let $g : Y \\to Z$ be the inclusion and $h : Y \\to Z$ be the map that composes $g$ with the swap between $y_0$ and $y'_0$. Both are isometric and satisfy $g \\circ f = h \\circ f$. Therefore, $f$ is not an epimorphism." diff --git a/databases/catdat/data_yaml/categories/Pos.yaml b/databases/catdat/data_yaml/categories/Pos.yaml new file mode 100644 index 00000000..86534b17 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Pos.yaml @@ -0,0 +1,90 @@ +id: Pos +name: category of posets +notation: $\Pos$ +objects: partially ordered sets (aka posets), i.e. sets equipped with a reflexive, transitive, antisymmetric relation +morphisms: order-preserving functions +description: Even though there are many similarities with $\Prost$, the main difference is that the forgetful functor $\Pos \to \Set$ has no right adjoint. +nlab_link: https://ncatlab.org/nlab/show/Pos + +tags: + - order theory + +related_categories: + - FinOrd + - Prost + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Pos \to \Set$ and $\Set$ is locally small. + + - property_id: locally finitely presentable + reason: See Adamek-Rosicky, Example 1.10. + + - property_id: generator + reason: The singleton poset $1$ is a generator, since morphisms $1 \to P$ correspond to the elements of $P$. + + - property_id: cartesian closed + reason: For posets $P,Q$ we endow $\Hom(P,Q)$ with the partial order in which $f \leq g$ holds iff $f(p) \leq g(p)$ for all $p \in P$. The universal evaluation map is $\Hom(P,Q) \times P \to Q$, $(f,p) \mapsto f(p)$, it is order-preserving, and it satisfies the universal property. + + - property_id: cogenerator + reason: "We prove that the poset $\\{0 < 1\\}$ is a cogenerator: Let $P$ be a poset and $a,b \\in P$ be two elements such that $f(a) = f(b)$ for all order-preserving maps $f : P \\to \\{0 < 1 \\}$. This means that $a$ and $b$ lie in the same upper sets. In particular, $b$ lies in the upper set generated by $a$, meaning $a \\leq b$, and similarly we deduce $b \\leq a$. Thus, $a = b$." + + - property_id: infinitary extensive + reason: "[Sketch] Since $\\Set$ is infinitary extensive, a map $f : P \\to \\coprod_i Q_i$ corresponds to a decomposition $P = \\coprod_i P_i$ (as sets) with maps $f_i : P_i \\to Q_i$. Endow $P_i$ with the induced order. If $f$ is order-preserving, the elements in different $P_i$ cannot be comparable (since their $f$-images are not comparable), so that $P = \\coprod_i P_i$ as posets, and each $f_i$ is order-preserving." + + - property_id: semi-strongly connected + reason: Every non-empty poset is weakly terminal (by using constant maps). + + - property_id: coregular + reason: See MSE/5130295. + +unsatisfied_properties: + - property_id: regular + reason: See Example 3.14 at the nLab. + + - property_id: balanced + reason: The inclusion $\{0,1\} \to \{0 < 1\}$ provides a counterexample (where in the domain there is no relation between $0$ and $1$). + + - property_id: skeletal + reason: This is trivial. + + - property_id: Malcev + reason: "Consider the subposet $\\{(a,b) : a \\leq b \\}$ of $\\IN^2$." + + - property_id: co-Malcev + reason: 'See MO/509552: Consider the forgetful functor $U : \Pos \to \Set$ and the relation $R \subseteq U^2$ defined by $R(A) := \{(a,b) \in U(A)^2 : a \leq b\}$. Both are representable: $U$ by the singleton poset and $R$ by $\{0 \leq 1 \}$. It is clear that $R$ is reflexive, but not symmetric.' + + - property_id: regular subobject classifier + reason: Assume that there is a regular subobject classifier $\Omega$, so that (by the classification of regular monomorphisms) $\Hom(P,\Omega)$ is isomorphic to the set of subsets of $P$. By taking $P = \{0\}$ we see that $\Omega$ has $2$ elements, so that either $\Omega \cong \{0,1\}$ (discrete) or $\Omega \cong \{0 < 1\}$. By taking $P = \{0 < 1\}$ we see that $\Omega$ has four pairs $(x,y)$ with $x \leq y$. But $\{0,1\}$ has only two and $\{0 < 1\}$ has only three such pairs. + + - property_id: cofiltered-limit-stable epimorphisms + reason: 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. + + - property_id: effective cocongruences + reason: |- + 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. + +special_objects: + initial object: + description: empty poset + terminal object: + description: singleton poset + coproducts: + description: disjoint union with the obvious partial order that leaves the distinct summands incomparable + products: + description: direct products with the evident partial order + +special_morphisms: + isomorphisms: + description: bijective functions that are order-preserving and order-reflecting + reason: This is easy. + monomorphisms: + description: injective order-preserving functions + reason: The same proof as for $\Set$ can be used. + epimorphisms: + description: surjective order-preserving functions + reason: "Clearly, surjective maps are epimorphisms. Conversely, assume that $f : P \\to Q$ is an order-preserving map which is not surjective. Choose $q \\in Q \\setminus f(P)$. The order-preserving maps $Q \\to \\{0 < 1\\}$ correspond to the upper sets in $Q$, and composing them with $f$ corresponds to taking their $f$-preimages. Consider the two upper sets $Q_{> q}$ and $Q_{\\geq q}$. Their $f$-preimages are the same since $q \\notin f(P)$. Therefore, $f$ is not an epimorphism." + regular monomorphisms: + description: embeddings + reason: "Every regular monomorphism is an embedding by the explicit construction of equalizers. For the converse, let $i : P \\to Q$ be an embedding, which we may assume to be an inclusion. Consider the cokernel pair $C := Q \\cup_P Q$. It exists because the category has pushouts, but we can (and need to) describe it more concretely: As a set, $C$ is a disjoint union of $P$ and two copies of $Q \\setminus P$. The elements will be denoted by $p,q_1,q_2$. The $i$th inclusion map $Q \\to C$ maps $p \\in P$ to itself and $q \\in Q \\setminus P$ to $q_i$. The ordering is directly induced by $Q$: We have $p \\leq p'$ in $C$ iff $p \\leq p'$ in $P$, we have $p \\leq q_i$ iff $p \\leq q$ in $Q$, etc. One verifies that this indeed defines a partial order, and by construction the two maps $Q \\rightrightarrows C$ are order-preserving and have equalizer $P$." diff --git a/databases/catdat/data_yaml/categories/Prost.yaml b/databases/catdat/data_yaml/categories/Prost.yaml new file mode 100644 index 00000000..8c10e938 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Prost.yaml @@ -0,0 +1,87 @@ +id: Prost +name: category of prosets +notation: $\Prost$ +objects: preordered sets (aka prosets), i.e. sets equipped with a reflexive, transitive relation +morphisms: order-preserving functions +description: Even though there are many similarities with $\Pos$, the main difference is that the forgetful functor $\Prost \to \Set$ has a right adjoint, mapping $X$ to $(X , X \times X)$ (chaotic preorder). +nlab_link: https://ncatlab.org/nlab/show/Prost + +tags: + - order theory + +related_categories: + - Pos + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Pos \to \Set$ and $\Set$ is locally small. + + - property_id: locally finitely presentable + reason: The same proof as for $\Pos$ works, cf. Adamek-Rosicky, Example 1.10. + + - property_id: generator + reason: The singleton proset $1$ is a generator, since morphisms $1 \to P$ correspond to the elements of $P$. + + - property_id: cartesian closed + reason: For prosets $P,Q$ we endow $\Hom(P,Q)$ with the preorder in which $f \leq g$ holds iff $f(p) \leq g(p)$ for all $p \in P$. The universal evaluation map is $\Hom(P,Q) \times P \to Q$, $(f,p) \mapsto f(p)$, it is order-preserving, and it satisfies the universal property. + + - property_id: cogenerator + reason: Endow the set $\{ 0,1 \}$ with the preorder $0 \leq 1$, $1 \leq 0$ (which is not a partial order). Then every map $P \to \{0,1\}$ is order-preserving. Now the claim follows since the set $\{ 0,1 \}$ is a cogenerator in $\Set$. + + - property_id: infinitary extensive + reason: "[Sketch] Since $\\Set$ is infinitary extensive, a map $f : P \\to \\coprod_i Q_i$ corresponds to a decomposition $P = \\coprod_i P_i$ (as sets) with maps $f_i : P_i \\to Q_i$. Endow $P_i$ with the induced order. If $f$ is order-preserving, the elements in different $P_i$ cannot be comparable (since their $f$-images are not comparable), so that $P = \\coprod_i P_i$ as prosets, and each $f_i$ is order-preserving." + + - property_id: semi-strongly connected + reason: Every non-empty proset is weakly terminal (by using constant maps). + + - property_id: coregular + reason: See MSE/5130295. + + - property_id: regular subobject classifier + reason: The set $\{0,1\}$ with the chaotic preorder $(0 \leq 1$, $1 \leq 0)$ is a regular subobject classifier since order-preserving maps $P \to \{0,1\}$ correspond to subsets of $P$. + +unsatisfied_properties: + - property_id: regular + reason: See Example 3.14 at the nLab. + + - property_id: balanced + reason: The inclusion $\{0,1\} \to \{0 < 1\}$ provides a counterexample (where in the domain there is no relation between $0$ and $1$). + + - property_id: skeletal + reason: This is trivial. + + - property_id: Malcev + reason: "Consider the subproset $\\{(a,b) : a \\leq b \\}$ of $\\IN^2$." + + - property_id: co-Malcev + reason: 'See MO/509552: Consider the forgetful functor $U : \Prost \to \Set$ and the relation $R \subseteq U^2$ defined by $R(A) := \{(a,b) \in U(A)^2 : a \leq b\}$. Both are representable: $U$ by the singleton preordered set and $R$ by $\{0 \leq 1 \}$. It is clear that $R$ is reflexive, but not symmetric.' + + - property_id: cofiltered-limit-stable epimorphisms + reason: 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. + + - property_id: effective cocongruences + reason: "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." + +special_objects: + initial object: + description: empty proset + terminal object: + description: singleton proset + coproducts: + description: disjoint union with the obvious preorder that leaves the distinct summands incomparable + products: + description: direct products with the evident preorder + +special_morphisms: + isomorphisms: + description: bijective functions that are order-preserving and order-reflecting + reason: This is easy. + monomorphisms: + description: injective order-preserving functions + reason: The same proof as for $\Set$ can be used. + epimorphisms: + description: surjective order-preserving functions + reason: Clearly, surjective maps are epimorphisms. The converse follows since, as mentioned, the forgetful functor $\Prost \to \Set$ has a right adjoint hence preserves epimorphisms. + regular monomorphisms: + description: embeddings + reason: "Every regular monomorphism is an embedding by the explicit construction of equalizers. For the converse, let $i : P \\to Q$ be an embedding, which we may assume to be an inclusion. Consider the cokernel pair $C := Q \\cup_P Q$. It exists because the category has pushouts, but we can (and need to) describe it more concretely: As a set, $C$ is a disjoint union of $P$ and two copies of $Q \\setminus P$. The elements will be denoted by $p,q_1,q_2$. The $i$th inclusion map $Q \\to C$ maps $p \\in P$ to itself and $q \\in Q \\setminus P$ to $q_i$. The ordering is directly induced by $Q$: We have $p \\leq p'$ in $C$ iff $p \\leq p'$ in $P$, we have $p \\leq q_i$ iff $p \\leq q$ in $Q$, etc. One verifies that this indeed defines a preorder, and by construction the two maps $Q \\rightrightarrows C$ are order-preserving and have equalizer $P$." diff --git a/databases/catdat/data_yaml/categories/R-Mod.yaml b/databases/catdat/data_yaml/categories/R-Mod.yaml new file mode 100644 index 00000000..de141181 --- /dev/null +++ b/databases/catdat/data_yaml/categories/R-Mod.yaml @@ -0,0 +1,64 @@ +id: R-Mod +name: category of left modules over a ring +notation: $R{-}\Mod$ +objects: left $R$-modules +morphisms: $R$-linear maps +description: |- + This is the prototype of an abelian category. The category of right modules is the same with the opposite ring $R^{\op}$, hence not listed here.
+ To settle the unsatisfied properties, we make the assumption that $R$ is not semisimple: If $R$ is semisimple, then by the Artin-Wedderburn theorem, the category is equivalent to a finite direct product of categories $D{-}\Mod$ for division rings $D$, and the case of division rings is in a separate entry. In particular, $R \neq 0$ and $R$ is not a field. +nlab_link: https://ncatlab.org/nlab/show/module +tags: + - algebra + +related_categories: + - Ab + - M-Set + - R-Mod_div + - Vect + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $R{-}\Mod \to \Set$ and $\Set$ is locally small. + + - property_id: abelian + reason: This is standard, see Mac Lane, Ch. VIII. + + - property_id: finitary algebraic + reason: Take the algebraic theory of an $R$-module (given by the algebraic theory of an abelian group and for each $r \in R$ a unary operation). + +unsatisfied_properties: + - property_id: split abelian + reason: By assumption, $R$ is not semisimple, so that there is a non-projective $R$-module, which yields a non-split sequence. + + - property_id: skeletal + reason: This is trivial. + + - property_id: CSP + reason: The canonical homomorphism $\bigoplus_{n \geq 0} R \to \prod_{n \geq 0} R$ is not surjective, hence no epimorphism. + +special_objects: + initial object: + description: trivial module + terminal object: + description: zero module + coproducts: + description: direct sums + products: + description: direct products with pointwise operations + +special_morphisms: + isomorphisms: + description: bijective $R$-linear maps + reason: This characterization holds in every algebraic category. + monomorphisms: + description: injective $R$-linear maps + reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + epimorphisms: + description: surjective $R$-linear maps + reason: The forgetful functor to abelian groups is faithful and preserves colimits, hence reflects and preserves epimorphisms. Alternatively, use the same proof as for abelian groups. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: surjective homomorphisms + reason: This holds in every finitary algebraic category. diff --git a/databases/catdat/data_yaml/categories/R-Mod_div.yaml b/databases/catdat/data_yaml/categories/R-Mod_div.yaml new file mode 100644 index 00000000..3b37ed96 --- /dev/null +++ b/databases/catdat/data_yaml/categories/R-Mod_div.yaml @@ -0,0 +1,58 @@ +id: R-Mod_div +name: category of left modules over a division ring +notation: $R{-}\Mod$ +objects: left $R$-modules +morphisms: $R$-linear maps +description: Here, we assume that $R$ is a non-commutative division ring, i.e. a skew-field which is not a field. The category of modules behaves mostly the same as in the commutative case. +nlab_link: https://ncatlab.org/nlab/show/module + +tags: + - algebra + +related_categories: + - R-Mod + - Vect + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $R{-}\Mod \to \Set$ and $\Set$ is locally small. + + - property_id: split abelian + reason: It is a standard fact that the category of $R$-modules is abelian for any ring $R$. If $R$ is a division ring, then by linear algebra every $R$-module has a basis, hence is projective, so that every short exact sequence splits. + + - property_id: finitary algebraic + reason: Take the algebraic theory of an $R$-module (given by the algebraic theory of an abelian group and for each $r \in R$ a unary operation). + +unsatisfied_properties: + - property_id: skeletal + reason: This is trivial. + + - property_id: CSP + reason: The canonical homomorphism $\bigoplus_{n \geq 0} R \to \prod_{n \geq 0} R$ is not surjective, hence no epimorphism. + +special_objects: + initial object: + description: trivial module + terminal object: + description: zero module + coproducts: + description: direct sums + products: + description: direct products with pointwise operations + +special_morphisms: + isomorphisms: + description: bijective $R$-linear maps + reason: This characterization holds in every algebraic category. + monomorphisms: + description: injective $R$-linear maps + reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + epimorphisms: + description: surjective $R$-linear maps + reason: The forgetful functor to abelian groups is faithful and preserves colimits, hence reflects and preserves epimorphisms. Alternatively, use the same proof as for abelian groups. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: surjective homomorphisms + reason: This holds in every finitary algebraic category. diff --git a/databases/catdat/data_yaml/categories/Rel.yaml b/databases/catdat/data_yaml/categories/Rel.yaml new file mode 100644 index 00000000..d08da1ab --- /dev/null +++ b/databases/catdat/data_yaml/categories/Rel.yaml @@ -0,0 +1,83 @@ +id: Rel +name: category of sets and relations +notation: $\Rel$ +objects: sets +morphisms: A morphism from $A$ to $B$ is a relation, i.e. a subset of $A \times B$. +description: "This category is self-dual as it can be: There is an isomorphism $\\Rel \\cong \\Rel^{\\op}$ that is the identity on objects and maps a relation to its opposite relation. It is the prototype of a dagger-category." +nlab_link: https://ncatlab.org/nlab/show/Rel + +tags: + - set theory + +related_categories: + - Set + +satisfied_properties: + - property_id: locally small + reason: The set of morphisms $X \to Y$ is the set $P(X \times Y)$. + + - property_id: self-dual + reason: "There is an isomorphism $\\Rel \\to \\Rel^{\\op}$ that is the identity on objects (sets) and maps a relation $R \\subseteq X \\times Y$ to the opposite relation $R^o \\subseteq Y \\times X$ defined by $R^o := \\{(y,x) : (x,y) \\in R \\}$." + + - property_id: pointed + reason: The empty set is clearly both initial and terminal. The zero morphisms are the empty relations. + check_redundancy: false + + - property_id: generator + reason: One checks that the the one-point set is a generator. + + - property_id: coproducts + reason: It is an easy exercise to deduce this from the corresponding fact for sets and that sets form a distributive category. + check_redundancy: false + + - property_id: well-powered + reason: "Any relation $R : A \\to B$ induces an injective map $P(A) \\to P(B)$, so that in particular there is an injective map $A \\to P(B)$." + + - property_id: balanced + reason: See MSE/5030393. + + - property_id: biproducts + reason: This is a consequence of the description of coproducts and products, both are disjoint unions (even for infinite families). + + - property_id: CIP + reason: The canonical morphism from the coproduct to the product is the identity. + + - property_id: kernels + reason: "Let $R : A \\to B$ be a relation. Define $K = \\bigl\\{a \\in A : \\neg \\exists b \\in B ((a,b) \\in R) \\bigr\\}$. We have an inclusion map $I : K \\to A$, which can also be regarded as relation, and $R \\circ I = \\empty$ is the empty relation, i.e. the zero morphism. It is easy to check the universal property." + + - property_id: quotients of congruences + reason: A proof can be found here. + + - property_id: effective congruences + reason: A proof can be found here. + +unsatisfied_properties: + - property_id: Cauchy complete + reason: See MSE/1931577. + + - property_id: skeletal + reason: This is trivial. + + - property_id: normal + reason: The construction of equalizers in $\Rel$ shows that they are injective functions, but MSE/350716 shows that monomorphisms in $\Rel$ don't have to be functions. + +special_objects: + initial object: + description: empty set + terminal object: + description: empty set + coproducts: + description: disjoint union + products: + description: disjoint unions (!) + +special_morphisms: + isomorphisms: + description: bijective functions + reason: "For the non-trivial direction, assume that $R : A \\to B$ is a relation which has an inverse relation $S : B \\to A$. For every $a \\in A$ we have $(a,a) \\in \\id_A = S \\circ R$, so there is some $b \\in B$ with $(a,b) \\in R$ (and $(b,a) \\in S$). This shows that $R$ is left-total, and for right-total the argument is similar. By symmetry, this also holds for $S$. To show that $R$ is a function, assume $(a,b_1), (a,b_2) \\in R$. Choose some $b_3 \\in B$ with $(b_3,a) \\in S$. It follows $(b_3,b_1) \\in S \\circ R = \\id_A$, so $b_3 = b_1$. Similarly, $(b_3,b_2) \\in S \\circ R = \\id_A$, so $b_3 = b_2$. This shows that $R$ is a function, i.e. left-unique. That $R$ is injective, i.e. right-unique, follows by symmetry. Finally, $R$ is surjective since it is right-total." + monomorphisms: + description: "A relation $R : A \\to B$ is a monomorphism iff the map $R_* : P(A) \\to P(B)$ defined by $T \\mapsto \\{b \\in B : \\exists \\, a \\in T: (a,b) \\in R \\}$ is injective." + reason: See MSE/350716. + epimorphisms: + description: "A relation $R : A \\to B$ is an epimorphism iff the map $R^* : P(B) \\to P(A)$ defined by $S \\mapsto \\{a \\in A : \\exists \\, b \\in S: (a,b) \\in R \\}$ is injective." + reason: See MSE/350716. diff --git a/databases/catdat/data_yaml/categories/Ring.yaml b/databases/catdat/data_yaml/categories/Ring.yaml new file mode 100644 index 00000000..b0560af2 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Ring.yaml @@ -0,0 +1,92 @@ +id: Ring +name: category of rings +notation: $\Ring$ +objects: rings +morphisms: ring homomorphisms +description: Here, rings always have a unit, and homomorphisms preserve them. +nlab_link: https://ncatlab.org/nlab/show/Ring + +tags: + - algebra + +related_categories: + - Alg(R) + - CRing + - Rng + +comments: + - It is likely that the epimorphisms can be described as in the commutative case. + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Ring \to \Set$ and $\Set$ is locally small. + + - property_id: finitary algebraic + reason: Take the algebraic theory of a ring. + + - property_id: strict terminal object + reason: "If $f : 0 \\to R$ is a homomorphism, then $R$ satisfies $1=f(1)=f(0)=0$, so that $R=0$." + + - property_id: Malcev + reason: This follows in the same way as for groups, see also Example 2.2.5 in Malcev, protomodular, homological and semi-abelian categories. + + - property_id: disjoint finite products + reason: "To show that $A \\sqcup_{A \\times B} B$ is trivial, let $R$ be a ring which admits homomorphisms $f : A \\to R$, $g : B \\to R$ with $f(p_1(a,b))=g(p_2(a,b))$ for all $(a,b) \\in A \\times B$, i.e. $f(a)=g(b)$. Applying this to $a=0$, $b=1$ yields $1=0$ in $R$." + +unsatisfied_properties: + - property_id: balanced + reason: The inclusion $\IZ \hookrightarrow \IQ$ is a counterexample. + + - property_id: cogenerating set + reason: 'We apply this lemma to the collection of fields: If $F$ is a field and $R$ is a non-trivial ring, any ring homomorphism $F \to R$ is injective. For every infinite cardinal $\kappa$ the field of rational functions in $\kappa$ variables has cardinality $\geq \kappa$ and a non-trivial automorphism (swap two variables).' + + - property_id: skeletal + reason: This is trivial. + + - property_id: codistributive + reason: 'If $\sqcup$ denotes the coproduct of rings (see MSE/625874 for their description) and $R$ is a ring, the canonical morphism $R \sqcup \IZ^2 \to (R \sqcup \IZ)^2 = R^2$ is usually no isomorphism. For example, for $R = \IZ[X]$ the coproduct on the LHS is not commutative, it has the ring presentation $\langle X,E : E^2=E \rangle$.' + + - property_id: semi-strongly connected + reason: There is no homomorphism between $\IF_2$ and $\IF_3$. + + - property_id: co-Malcev + reason: 'See MO/509552: Consider the forgetful functor $U : \Ring \to \Set$ and the relation $R \subseteq U^2$ defined by $R(A) := \{(a,b) \in U(A)^2 : ab = a^2\}$. Both are representable: $U$ by $\IZ[X]$ and $S$ by $\IZ \langle X,Y \rangle / \langle XY-X^2 \rangle$. It is clear that $R$ is reflexive, but not symmetric.' + + - property_id: coregular + reason: 'Let $B := M_2(\IQ)$ and $A := \IQ^2$. Then $A \to B$, $(x,y) \mapsto \diag(x,y)$ is a regular monomorphism: A direct calculation shows that a matrix is diagonal iff it commutes with $M := \bigl(\begin{smallmatrix} 1 & 0 \\ 0 & 2 \end{smallmatrix}\bigr)$, so that $A \to B$ is the equalizer of the identity $B \to B$ and the conjugation $B \to B$, $X \mapsto M X M^{-1}$. Consider the homomorphism $A \to K$, $(a,b) \mapsto a$. We claim that $K \to K \sqcup_A B$ is not a monomorphism, because in fact, the pushout $K \sqcup_A B$ is zero: Since $A \to K$ is surjective with kernel $0 \times K$, the pushout is $B/\langle 0 \times K \rangle$, which is $0$ because $B$ is simple (proof) or via a direct calculation with elementary matrices.' + + - property_id: regular quotient object classifier + reason: We may copy the proof for the category of commutative rings (since the proof there did not use that $P$ is commutative). Alternatively, any regular quotient object classifier in $\Ring$ would produce one in $\CRing$ by this lemma (dualized). + + - property_id: cocartesian cofiltered limits + reason: |- + Consider the ring $A = \IZ[X]$ and the sequence of rings $B_n = \IZ[Y]/(Y^{n+1})$ with projections $B_{n+1} \to B_n$, whose limit is $\IZ[[Y]]$. Every element in the coproduct of rings $\IZ[X] \sqcup \IZ[[Y]]$ has a finite "free product" length. Now consider the elements + $$w_n = (1 + XY) (1+XY^2) \cdots (1+X Y^n) \in A \sqcup B_n.$$ + Because of $w_n \equiv w_{n-1} \bmod Y^n$ these form an element $w \in \lim_n (A \sqcup B_n)$. Expanding $w_n$, the longest term is $XY XY^2 \cdots X Y^n$ of "free product" length $2n$, which is unbounded. + + - property_id: cofiltered-limit-stable epimorphisms + reason: 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. + + - property_id: effective cocongruences + reason: See MO/510744. + +special_objects: + initial object: + description: ring of integers + terminal object: + description: zero ring + coproducts: + description: see MSE/625874 + products: + description: direct products with pointwise operations + +special_morphisms: + isomorphisms: + description: bijective ring homomorphisms + reason: This characterization holds in every algebraic category. + monomorphisms: + description: injective ring homomorphisms + reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + regular epimorphisms: + description: surjective homomorphisms + reason: This holds in every finitary algebraic category. diff --git a/databases/catdat/data_yaml/categories/Rng.yaml b/databases/catdat/data_yaml/categories/Rng.yaml new file mode 100644 index 00000000..45af3658 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Rng.yaml @@ -0,0 +1,97 @@ +id: Rng +name: category of rngs +notation: $\Rng$ +objects: rngs, that is, non-unital rings +morphisms: maps that preserve addition and multiplication +nlab_link: https://ncatlab.org/nlab/show/Rng + +tags: + - algebra + +related_categories: + - CRing + - Ring + +comments: + - It is likely that the epimorphisms can be described as in the commutative, unital case. + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Rng \to \Set$ and $\Set$ is locally small. + + - property_id: finitary algebraic + reason: Take the algebraic theory of a rng. + + - property_id: pointed + reason: The zero ring is a zero object. + + - property_id: Malcev + reason: This follows in the same way as for groups, see also Example 2.2.5 in Malcev, protomodular, homological and semi-abelian categories. + +unsatisfied_properties: + - property_id: balanced + reason: The inclusion $\IZ \hookrightarrow \IQ$ is a counterexample. (The proof can be reduced to the unital case.) + + - property_id: cogenerator + reason: 'We apply this lemma to the collection of fields: Any non-zero rng homomorphism from a field to a rng must be injective, and for every infinite cardinal $\kappa$ the field of rational functions in $\kappa$ variables has cardinality $\geq \kappa$.' + + - property_id: skeletal + reason: This is trivial. + + - property_id: counital + reason: If $\IZ\langle X_1,\dotsc,X_n \rangle_0$ denotes the free rng on $n$ generators (non-commutative polynomials without constant term), then the canonical homomorphism $\IZ\langle X,Y \rangle_0 = \IZ\langle X \rangle_0 \sqcup \IZ\langle Y \rangle_0 \to \IZ\langle X \rangle_0 \times \IZ\langle Y \rangle_0$ is not a monomorphism since $\IZ\langle X,Y \rangle_0$ is not commutative. + + - property_id: CIP + reason: If $\IZ\langle X_1,\dotsc,X_n \rangle_0$ denotes the free rng on $n$ generators (non-commutative polynomials without constant term), then the canonical homomorphism $\IZ\langle X,Y \rangle_0 = \IZ\langle X \rangle_0 \sqcup \IZ\langle Y \rangle_0 \to \IZ\langle X \rangle_0 \times \IZ\langle Y \rangle_0$ is not a monomorphism since $\IZ\langle X,Y \rangle_0$ is not commutative. + + - property_id: regular subobject classifier + reason: "Assume that $\\Rng$ has a subobject classifier $\\Omega$. Since $0$ is a zero object, every regular subobject $R \\subseteq S$ would be the kernel of some homomorphism $S \\to \\Omega$. In particular, it would be an ideal. Now take any pair of homomorphisms $f,g : S \\rightrightarrows T$ in $\\Ring$. Their equalizer $R \\subseteq S$ is also the equalizer in $\\Rng$, and it contains $1 \\in S$. If it was an ideal, then $R = S$, and hence $f = g$, which is absurd." + + - property_id: coregular + reason: 'We can copy the proof for the category of rings. In short, the inclusion of diagonal matrices $\IQ^2 \hookrightarrow M_2(\IQ)$ is a regular monomorphism, but becomes zero after taking the pushout with $p_1 : \IQ^2 \twoheadrightarrow \IQ$ because $M_2(\IQ)$ is simple.' + + - property_id: regular quotient object classifier + reason: 'Assume that $\Rng$ has a regular quotient object classifier $P$. Consider the functor $N : \Ab \to \Rng$ that equips an abelian group with zero multiplication. It is fully faithful and has a left adjoint mapping a rng $R$ to the abelian group $R/R^2$. If $R$ is a rng with zero multiplication and $R \to S$ is a surjective homomorphism, then $S$ has zero multiplication. Therefore, the assumptions of this lemma (dualized) apply and we conclude that $P/P^2$ is a regular quotient object classifier of $\Ab$. But we already know that this category has no such object (in fact, the only additive categories with such an object are trivial by MSE/4086192).' + + - property_id: cocartesian cofiltered limits + reason: |- + Consider the ring $A = \IZ[X]$ and the sequence of rings $B_n = \IZ[Y]/(Y^{n+1})$ with projections $B_{n+1} \to B_n$, whose limit is $\IZ[[Y]]$ (both in $\Ring$ and $\Rng$). Every element in the coproduct of rngs $\IZ[X] \sqcup \IZ[[Y]]$ has a finite "free product" length. Now consider the elements + $$w_n = (1 + XY) (1+XY^2) \cdots (1+X Y^n) - 1 \in A \sqcup B_n.$$ + Because of $w_n \equiv w_{n-1} \bmod Y^n$ these form an element $w \in \lim_n (A \sqcup B_n)$. Expanding $w_n$, the longest term is $XY XY^2 \cdots X Y^n$ of "free product" length $2n$, which is unbounded. + + - property_id: CSP + reason: Assume that $\coprod_n \IZ \to \prod_n \IZ$ is an epimorphism in $\Rng$. Then $((\coprod_n \IZ)^+)^{\ab} \to \prod_n \IZ$ would be an epimorphism in $\CRing$, where $(-)^+$ denotes the unitalization and $(-)^{\ab}$ the abelianization. But if $R \to S$ is an epimorphism of commutative rings, then $\card(S) \leq \card(R)$ by SP/04W0. Since $((\coprod_n \IZ)^+)^{\ab}$ is countable and $\prod_n \IZ$ is not, we get a contradiction. + + - property_id: cofiltered-limit-stable epimorphisms + reason: '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$.' + + - property_id: effective cocongruences + reason: |- + 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_{\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 $\Ring$. + +special_objects: + initial object: + description: trivial ring + terminal object: + description: zero ring + coproducts: + description: see MSE/4975797 + products: + description: direct products with pointwise operations + +special_morphisms: + isomorphisms: + description: bijective rng homomorphisms + reason: This characterization holds in every algebraic category. + monomorphisms: + description: injective rng homomorphisms + reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + regular epimorphisms: + description: surjective homomorphisms + reason: This holds in every finitary algebraic category. diff --git a/databases/catdat/data_yaml/categories/Sch.yaml b/databases/catdat/data_yaml/categories/Sch.yaml new file mode 100644 index 00000000..f8c7dbac --- /dev/null +++ b/databases/catdat/data_yaml/categories/Sch.yaml @@ -0,0 +1,71 @@ +id: Sch +name: category of schemes +notation: $\Sch$ +objects: schemes +morphisms: morphisms of locally ringed spaces +nlab_link: https://ncatlab.org/nlab/show/scheme + +tags: + - algebraic geometry + +related_categories: + - LRS + - Z + +comments: + - Monomorphisms are discussed at MO/56591. At least the case of morphisms of locally finite type is understood. + - Regular monomorphisms are discussed at MO/66279. + - Epimorphisms are discussed at MO/56564. Probably they cannot be classified. + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Sch \to \LRS$ and $\LRS$ is locally small. + + - property_id: terminal object + reason: The scheme $\Spec(\IZ)$ is terminal. + + - property_id: pullbacks + reason: This is the well-known construction of the fiber product of schemes, see e.g. EGA I, Chap. I, Thm. 3.2.1. + + - property_id: well-powered + reason: See MO/160681. + + - property_id: infinitary extensive + reason: One uses the same proof as for locally ringed spaces, using that open subspaces of schemes are also schemes. + +unsatisfied_properties: + - property_id: countable powers + reason: While all diagrams of affine schemes have a limit in the category of schemes, one can show that an infinite product of quasi-compact non-empty schemes only exists when almost all of them are affine, see MO/65506. Thus, for example the power $(\IP^1)^{\IN}$ does not exist in $\Sch$. + + - property_id: balanced + reason: The canonical morphism $\Spec(\IZ/2 \times \IZ[1/2]) \longrightarrow \Spec(\IZ)$ is a mono- and an epimorphism, but no isomorphism. + + - property_id: skeletal + reason: This is trivial. + + - property_id: Malcev + reason: Consider the subscheme $V(x-y) \cup V(y) \subseteq \IA^2$. It contains the diagonal but it is not symmetric. + + - property_id: semi-strongly connected + reason: This is because already the full subcategory of affine schemes is not semi-strongly connected, see the entry for $\CRing$. Specifically, there is no morphism between $\Spec(\IF_2)$ and $\Spec(\IF_3)$. + + - property_id: generating set + reason: If $S$ is a generating set of schemes, then the set of affine open subsets of the schemes in $S$ would also be a generating set. This is then also a generating set in the category of affine schemes, corresponding to a cogenerating set in the category of commutative rings, which we know does not exist (see there for the proof). + + - property_id: quotients of congruences + reason: If $\Sch$ had quotients of congruences, then by this lemma it would also have pushouts of monomorphisms, contradicting the fact that the span $\IA^1 \leftarrow \Spec(k(t)) \rightarrow \IA^1$ has no pushout - see MO/9961. + +special_objects: + initial object: + description: empty scheme + terminal object: + description: $\Spec(\IZ)$ + coproducts: + description: disjoint union with the product sheaf + products: + description: "[finite case] The idea is to use $\\Spec(A) \\times \\Spec(B) = \\Spec(A \\otimes B)$ and then to glue affine pieces together. See EGA I, Chap. I, Thm. 3.2.1." + +special_morphisms: + isomorphisms: + description: pairs $(f,f^{\sharp})$ consisting of a homeomorphism $f$ and an isomorphism of sheaves $f^{\sharp}$ + reason: This is easy. diff --git a/databases/catdat/data_yaml/categories/SemiGrp.yaml b/databases/catdat/data_yaml/categories/SemiGrp.yaml new file mode 100644 index 00000000..22ca40ad --- /dev/null +++ b/databases/catdat/data_yaml/categories/SemiGrp.yaml @@ -0,0 +1,125 @@ +id: SemiGrp +name: category of semigroups +notation: $\SemiGrp$ +objects: semigroups, i.e. sets equipped with an associative binary operation +morphisms: maps preserving the binary operation +description: In contrast to monoids, semigroups do not need to have a neutral element, and in fact, they can be empty. This small difference has a huge impact on the categorical properties. For example, we do not have a zero object anymore. +nlab_link: https://ncatlab.org/nlab/show/semigroup + +tags: + - algebra + +related_categories: + - Grp + - Mon + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\SemiGrp \to \Set$ and $\Set$ is locally small. + + - property_id: finitary algebraic + reason: Take the algebraic theory of a semigroup. + + - property_id: strict initial object + reason: This is because the initial object is the empty semigroup, and a non-empty set has no map to an empty set. + + - property_id: disjoint coproducts + reason: This follows easily from the concrete description of coproducts as (a variant of) free products. + + - property_id: cocartesian cofiltered limits + reason: |- + We need to prove that for two cofiltered diagram of semigroups $(B_i)$, $(C_i)$ the canonical map + $$\textstyle \alpha : \lim_i B_i + \lim_i C_i \to \lim_i (B_i + C_i)$$ + is an isomorphism, i.e. bijective. The underlying set of the coproduct $B_i + C_i$ is identified with the disjoint union of sets of the form + $$B_i \times C_i \times B_i \times \cdots \times C_i$$ + with any positive product length, starting and ending either with $B_i$ or $C_i$. Moreover, $\lim_i$ commutes with arbitrary coproducts in $\Set$, and of course also with products. This shows that $\alpha$ is bijective. + +unsatisfied_properties: + - property_id: skeletal + reason: This is trivial. + + - property_id: balanced + reason: |- + The inclusion of additive semigroups $\IN \hookrightarrow \IZ$ is a counterexample. Indeed, if $f,g : \IZ \to G$ are semigroup homomorphisms which agree on $\IN$, the element $e := f(0) = g(0)$ provides a neutral element for $eGe$, which therefore becomes a monoid, and $f,g$ corestrict to monoid homomorphisms $f,g : \IZ \to eGe$ which agree on $\IN$. And we already know that $f = g$ in that case (inverses are uniquely determined).
+ Another example can be found in MO/510431. + + - property_id: Malcev + reason: "Consider the subsemigroup $\\{(a,b) : a \\leq b \\}$ of $\\IN^2$ under addition." + + - property_id: co-Malcev + reason: 'See MO/509552: Consider the forgetful functor $U : \SemiGrp \to \Set$ and the relation $R \subseteq U^2$ defined by $R(A) := \{(a,b) \in U(A)^2 : ab = a^2\}$. Both are representable: $U$ by the free semigroup on a single generator and $R$ by the free semigroup on two generators $x,y$ subject to the relation $xy=x^2$. It is clear that $R$ is reflexive, but not symmetric.' + + - property_id: semi-strongly connected + reason: |- + Let us first remark that every non-empty finite semigroup $A$ has an idempotent element $e$, and then $B \to A$, $x \mapsto e$ does define a semigroup homomorphism for any $B$. Therefore, counterexamples need to be infinite and also without idempotent elements.
+ Let $A$ be the set of positive rational numbers of the form $m/2^n$ (with $m > 0$, $n \geq 0$), and let $B$ be the set of positive rational numbers of the form $m/3^n$ (with $m > 0$, $n \geq 0$). Both are semigroups under addition. The element $1 \in A$ is $2^\infty$-divisible, meaning that for every $n \geq 0$ there is some $a \in A$ with $1 = 2^n \cdot a$. But $B$ has no $2^\infty$-divisible element. Hence, there is no semigroup homomorphism $A \to B$. Likewise, there is no semigroup homomorphism $B \to A$. + + - property_id: cogenerating set + reason: |- + The proof is similar to the proof for $\Grp$. Assume that there is a cogenerating set $S$. There is an infinite simple group $G$ larger than all the semigroups in $S$ (such as an alternating group). Since $\id_G, 1 : G \rightrightarrows G$ are different, there is a semigroup $H \in S$ and a homomorphism of semigroups $f : G \to H$ with $f \neq f \circ 1$. Then + $$N := \{g \in G : f(g) = f(1)\}$$ + is a normal subgroup of $G$. It is proper, and hence trivial. But then $f$ is injective, which is a contradiction. + + - property_id: cofiltered-limit-stable epimorphisms + reason: We already know that $\Set$ does not have this property (by this result). Now apply the contrapositive of the dual of this lemma to the functor $\Set \to \SemiGrp$ that equips a set with the multiplication $a \cdot b := a$. + + - property_id: effective cocongruences + reason: |- + The proof is similar to $\Mon$, i.e. we adapt the counterexample from MO/510744. Namely, consider the semigroups + $$\begin{align*} X & := \langle p \mid p^2 = p \rangle,\\ + E & := \langle p, q \mid p^2 = p,\, q^2 = q,\, pq = q,\, qp = p \rangle, + \end{align*}$$ + whose underlying sets are $\{p\}$ and $\{p,q\}$, respectively. Then $X$ represents the functor sending a semigroup $A$ to its idempotents, and $E$ represents the relation on idempotents $a, b$ of $A$ that $ab = b$, $ba = a$. It is easy to check that this defines an equivalence relation (see MO/510744 for details). Since $p \ne q$ in $E$, the equalizer of the two maps $X \rightrightarrows E$ is the empty semigroup. Therefore, if $E$ were effective, it would be isomorphic to the coproduct $X \sqcup X$, whose underlying set consists of non-empty words in $p,q$ with $p,q$ strictly alternating. In particular, in this coproduct, $pq \ne q$. + + - property_id: natural numbers object + reason: |- + Assume that a natural numbers object exists. Then by this result, for every semigroup $A$ the natural homomorphism + $$\textstyle\alpha : \coprod_{n \geq 0} A \to A \times \coprod_{n \geq 0} 1$$ + is a split monomorphism. But this is not true: For each $n \geq 0$ let $A_n$ denote a copy of $A$. The elements of the coproduct in $\alpha$'s domain have a unique representation as + $$x_{n_1} * \cdots * x_{n_s}$$ + with $x_i \in A_i$ and $n_i \neq n_{i+1}$, and we have + $$\alpha(x_{n_1} * \cdots * x_{n_s}) = (x_{n_1} \cdots x_{n_s}, n_1 * \cdots * n_s).$$ + In particular, if $A$ has two non-equal commuting elements $x,y$ (for example, if $A$ is any non-trivial monoid), we have + $$\alpha(y_0 x_0) = \alpha(x_0 y_0),$$ + showing that $\alpha$ is not injective. + + - property_id: coregular + reason: |- + We will find a regular monomorphism $\iota : F \to M$ of semigroups and a homomorphism $F \to K$ such that $K \to K \sqcup_F M$ is not injective. It is similar to our example for $\Mon$. Consider these semigroups defined by generators and relations: + $$\begin{align*} + F & := \langle a,b,c,d \rangle \\ + M & := \langle a,b,c,d,s : as = c, \, bs = d \rangle \cong \langle a,b,s \rangle \\ + K & := \langle x,c,d \rangle \\ + N & := \langle a,b,c,d,s_0,s_1 : as_i = c, \, bs_i = d \rangle \\ + & \cong \langle a,b,s_0,s_1 : a s_0 = a s_1, \, b s_0 = b s_1 \rangle \\ + \end{align*}$$ + There is a canonical homomorphism $\iota : F \to M$, which is the equalizer of the two canonical homomorphisms $M \rightrightarrows N$ defined by $s \mapsto s_i$. We define $F \to K$ by $a \mapsto x$, $b \mapsto x$, $c \mapsto c$, $d \mapsto d$. Then + $$K \sqcup_F M \cong \langle x,c,d,s : x s = c,\, x s = d \rangle$$ + shows that $c,d \in K$ have the same image in the pushout. + + - property_id: regular subobject classifier + reason: 'Assume that a regular subobject classifier $\Omega$ exists in $\SemiGrp$. The universal regular monomorphism $\top : 1 \to \Omega$ corresponds to an idempotent element $e \in \Omega$. It follows that $e \Omega e$ is a monoid with neutral element $e$. We claim that it is a regular subobject classifier in $\Mon$, which we know does not exist. Indeed, let $\iota : A \to B$ be a regular monomorphism of monoids. Since the forgetful functor $\Mon \to \SemiGrp$ preserves limits, we can also see $\iota$ as a regular monomorphism of semigroups. Hence, there is a unique homomorphism of semigroups $f : B \to \Omega$ with $\iota(A) = \{b \in B : f(b) = e\}$. Since $1 \in \iota(A)$, we have $f(1) = e$. Then $f$ corresponds to a homomorphism of monoids $f : B \to e \Omega e$ with kernel $\iota$, which proves our claim.' + +special_objects: + initial object: + description: empty semigroup + terminal object: + description: trivial semigroup + coproducts: + description: similar to free products of monoids, but where the empty word is not allowed, and of course we do (and can) not demand that the factors are $\neq 1$ + products: + description: direct products with pointwise operations + +special_morphisms: + isomorphisms: + description: bijective ring homomorphisms + reason: This characterization holds in every algebraic category. + monomorphisms: + description: injective semigroup homomorphisms + reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + epimorphisms: + description: "A semigroup homomorphism $f : T \\to S$ is an epimorphism iff $S$ equals the dominion of $U := f(T) \\subseteq S$, meaning that for every $s \\in S$ there are $u_1,\\dotsc,u_{m+1} \\in U$, $v_1,\\dotsc,v_m \\in U$, $x_1,\\dotsc,x_m \\in S$ and $y_1,\\dotsc,y_m \\in S$ such that $s = x_1 u_1$, $u_1 = v_1 y_1$, $x_{i-1} v_{i-1} = x_i u_i$, $u_i y_{i-1} = v_i y_i$, $x_m v_m = u_{m+1}$ and $u_{m+1} y_m = s$." + reason: This is Isbell's zigzag Theorem, see references there. + regular epimorphisms: + description: surjective homomorphisms + reason: This holds in every finitary algebraic category. diff --git a/databases/catdat/data_yaml/categories/Set.yaml b/databases/catdat/data_yaml/categories/Set.yaml new file mode 100644 index 00000000..466ba099 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Set.yaml @@ -0,0 +1,65 @@ +id: Set +name: category of sets +notation: $\Set$ +objects: sets +morphisms: maps +description: The category of sets plays a fundamental role in category theory. Due to the Yoneda embedding, many results about general categories can be reduced to the category of sets. It is also usually the first example of a category that one encounters. +nlab_link: https://ncatlab.org/nlab/show/Set +dual_category_id: Set_op + +tags: + - set theory + +related_categories: + - FinSet + - Set* + - Set_c + - Set_f + - SetxSet + +satisfied_properties: + - property_id: locally small + reason: The collection of maps between two sets $X,Y$ is a subset of $X \times Y$ and therefore a set. + + - property_id: Grothendieck topos + reason: It is equivalent to the category of sheaves on a one-point space. + + - property_id: semi-strongly connected + reason: Every non-empty set is weakly terminal (by using constant maps). + + - property_id: finitary algebraic + reason: Use the empty algebraic theory. + +unsatisfied_properties: + - property_id: skeletal + reason: This is trivial. + + - property_id: trivial + reason: This is trivial. + +special_objects: + initial object: + description: empty set + terminal object: + description: singleton set + coproducts: + description: disjoint union + products: + description: direct products with pointwise operations + +special_morphisms: + isomorphisms: + description: bijective maps + reason: This is easy. + monomorphisms: + description: injective maps + reason: "For the non-trivial direction, if $f : X \\to Y$ is a monomorphism of sets and $a,b \\in X$ satisfy $f(a) = f(b)$, then $f \\circ a = f \\circ b$ when we regard $a,b$ as morphisms $a,b : 1 \\to X$. Hence, $a = b$. More generally, if $\\C$ is a category that admits a faithful and representable functor $U : \\C \\to \\Set$, then the monomorphisms in $\\C$ are precisely the morphisms whose $U$-image is injective." + epimorphisms: + description: surjective maps + reason: "For the non-trivial direction, if $f : X \\to Y$ is an epimorphism of sets, then in particular $f^* : \\Hom(Y,2) \\to \\Hom(X,2)$ is injective, which identifies with $f^* : P(Y) \\to P(X)$. Then for all $y \\in Y$ we have $f^*(\\{y\\}) \\neq f^*(\\varnothing) = \\varnothing$, so that $y$ has a preimage." + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: surjective homomorphisms + reason: This holds in every finitary algebraic category. diff --git a/databases/catdat/data_yaml/categories/Set_c.yaml b/databases/catdat/data_yaml/categories/Set_c.yaml new file mode 100644 index 00000000..b0639284 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Set_c.yaml @@ -0,0 +1,98 @@ +id: Set_c +name: category of countable sets +notation: $\Set_\c$ +objects: countable sets +morphisms: maps +description: A set is countable if it admits a surjection from $\IN$. In particular, every finite set is countable. + +tags: + - set theory + +related_categories: + - FinSet + - Set + +satisfied_properties: + - property_id: locally small + reason: The collection of maps between two (countable) sets $X,Y$ is a subset of $X \times Y$ and therefore a set. + + - property_id: essentially small + reason: Every countable set is isomorphic to a subset of $\IN$. + + - property_id: finitely complete + reason: The embedding $\Set_\c \hookrightarrow \Set$ is closed under finite products and equalizers, hence under finite limits. + check_redundancy: false + + - property_id: finitely cocomplete + reason: The embedding $\Set_\c \hookrightarrow \Set$ is closed under finite coproducts and coequalizers, hence under finite colimits. + check_redundancy: false + + - property_id: generator + reason: The one-point set is clearly a generator. + + - property_id: cogenerator + reason: The two-point set is a cogenerator in $\Set$, hence also in $\Set_\c$. + + - property_id: semi-strongly connected + reason: This is because the larger category $\Set$ has this property. + + - property_id: extensive + reason: The same proof as for $\Set$ applies. Actually, the category is "countably extensive". + + - property_id: countably distributive + reason: By elementary set theory, a countable (disjoint) union of countable sets is again countable. Hence, countable coproducts exist in $\Set_\c$, and we already saw that finite products exist. The distributivity morphism is an isomorphism since this is the case in $\Set$ and the forgetful functor $\Set_\c \to \Set$ preserves finite products and countable coproducts. + + - property_id: epi-regular + reason: If $X \to Y$ is an epimorphism in $\Set_\c$, i.e. a surjective map, it is coequalizer of the two maps $X \times_Y X \rightrightarrows X$ in $\Set$ and hence also in $\Set_\c$. + + - property_id: subobject classifier + reason: This is because $\{0,1\}$ is a subobject classifier in $\Set$, which is countable, and the monomorphisms coincide. + + - property_id: effective congruences + reason: '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.' + + - property_id: regular + reason: From the other properties we know that the category is finitely complete and that it has coequalizers. The regular epimorphisms are stable under pullback since this holds in $\Set$ and both regular epimorphisms (they are surjective maps) and pullbacks coincide. + + - property_id: coregular + reason: From the other properties we know that the category is finitely cocomplete and that it has equalizers. The regular monomorphisms are stable under pushout since this holds in $\Set$ and both regular monomorphisms (they are injective maps) and pushouts coincide. + +unsatisfied_properties: + - property_id: small + reason: Even the collection of all singletons is not a set. + + - property_id: skeletal + reason: This is trivial. + + - property_id: countable powers + reason: Since the forgetful functor $\Set_\c \to \Set$ is representable, it preserves (countable) products. Therefore, if the power $\{0,1\}^{\IN}$ exists in $\Set_\c$, it must be the ordinary cartesian product, which however is uncountable. + + - property_id: ℵ₁-accessible + reason: "In fact, $\\Set_\\c$ does not have $\\aleph_1$-filtered colimits: Fix an uncountable set $X$, let $P_\\c(X)$ be the poset of countable subsets of $X$, which is $\\aleph_1$-filtered, and consider the functor $P_\\c(X) \\to \\Set_\\c$ taking a subset $Y \\subseteq X$ to $Y$. The colimit of this diagram in $\\Set$ is given by $X$ itself, so if $X_c$ were a colimit in $\\Set_\\c$, then $\\Hom(X_c, \\{0,1\\}) \\cong \\Hom(X, \\{0,1\\})$. But the former has cardinality at most $2^{\\aleph_0}$ and the latter has cardinality $2^{\\card(X)}$, so we have obtained a contradiction if we pick $X$ large enough (e.g. $\\card(X)=2^{\\aleph_0}$)." + +special_objects: + initial object: + description: empty set + terminal object: + description: singleton set + coproducts: + description: '[countable case] disjoint union' + products: + description: '[finite case] direct products' + +special_morphisms: + isomorphisms: + description: bijective maps + reason: This is easy. + monomorphisms: + description: injective maps + reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms. + epimorphisms: + description: surjective maps + reason: "For the non-trivial direction, if $f : X \\to Y$ is an epimorphism of countable sets, then in particular $f^* : \\Hom(Y,2) \\to \\Hom(X,2)$ is injective, which identifies with $f^* : P(Y) \\to P(X)$. Then for all $y \\in Y$ we have $f^*(\\{y\\}) \\neq f^*(\\varnothing) = \\varnothing$, so that $y$ has a preimage." + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/Set_f.yaml b/databases/catdat/data_yaml/categories/Set_f.yaml new file mode 100644 index 00000000..687501a9 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Set_f.yaml @@ -0,0 +1,100 @@ +id: Set_f +name: category of sets with finite-to-one maps +notation: $\Set_\f$ +objects: sets +morphisms: "maps $f : X \\to Y$ with the property that for every $y \\in Y$ the fiber $f^*(\\{y\\})$ is a finite set" +description: In this variant of $\Set$ we only consider maps with finite fibers, which are commonly called finite-to-one. Equivalently, every preimage of a finite set is again finite, and this description makes it obvious that composition is well-defined. + +tags: + - set theory + +related_categories: + - FinSet + - Set + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Set_\f \to \Set$ and $\Set$ is locally small. + + - property_id: generator + reason: The singleton set (which is not terminal) is a generator as it represents the forgetful functor $\Set_\f \to \Set$. + + - property_id: cogenerator + reason: "The set $\\{0,1\\}$ is a cogenerator in $\\Set_\\f$: Assume that $f,g : X \\rightrightarrows Y$ are two finite-to-one maps such that $h \\circ f = h \\circ g$ for all finite-to-one maps $h : Y \\to \\{0,1\\}$. This exactly means $f^*(A)=g^*(A)$ for all finite subsets $A \\subseteq Y$. Applying this to $A = \\{f(x)\\}$ for $x \\in X$ we get $x \\in f^*(\\{f(x)\\}) = g^*(\\{f(x)\\})$, so that $g(x) = f(x)$." + + - property_id: extensive + reason: "We first show that finite coproducts exist. The empty set is clearly initial. The disjoint union $X+Y$ of two sets $X,Y$ with the inclusion maps $X \\rightarrow X+Y \\leftarrow Y$ is a coproduct: The inclusions are injective, hence finite-to-one. If $f : X \\to T$, $g : Y \\to T$ are finite-to-one maps, the induced map $(f;g) : X + Y \\to T$ is finite-to-one since the fiber of $t \\in T$ is $f^*(\\{t\\}) + g^*(\\{t\\})$, which is finite. Hence, finite coproducts exist. A map $A \\to X + Y$ yields a decomposition $A = A_X + A_Y$ with maps $A_X \\to X$, $A_Y \\to Y$ (since $\\Set$ is extensive). Here, $A \\to X + Y$ is finite-to-one iff $A_X \\to X$ and $A_Y \\to Y$ are finite-to-one." + + - property_id: equalizers + reason: "Equalizers can be constructed as in $\\Set$ because of the following trivial observation: if $f : X \\to Y$ is a finite-to-one map and $E \\subseteq Y$ is a subset with $f(X) \\subseteq E$, then the induced map $f^E : X \\to E$ is also finite-to-one." + + - property_id: quotients of congruences + reason: "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$." + + - property_id: effective congruences + reason: "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." + + - property_id: effective cocongruences + reason: '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.' + + - property_id: locally cartesian closed + reason: If $X$ is a set, the equivalence $\Set/X \simeq \Set^X$, $f \mapsto (f^*(\{x\}))_{x \in X}$ restricts to an equivalence $\Set_\f / X \simeq \FinSet^X$. This category is cartesian closed since the category $\FinSet$ is cartesian closed and products of cartesian closed categories are cartesian closed. + + - property_id: epi-regular + reason: "If $f : X \\to Y$ is an epimorphism in $\\Set_\\f$, i.e. a surjective finite-to-one map, it is a coequalizer of the two maps $p_1, p_2 : X \\times_Y Y \\rightrightarrows Y$ in $\\Set$. These maps are finite-to-one since $p_i^*(\\{y\\}) \\cong f^*(\\{y\\})$ for $i=1,2$, and their coequalizer is also $f$ in $\\Set_\\f$: It suffices to observe that if $h : Y \\to T$ is a map such that $h \\circ f$ is finite-to-one, then $h$ is finite-to-one as well. In fact, surjectivity of $f$ implies $h^*(\\{t\\}) = f_*((h \\circ f)^*(\\{t\\}))$ for $t \\in T$." + + - property_id: semi-strongly connected + reason: From set theory it is known that for all sets $X,Y$ there is an injective map $X \to Y$ or an injective map $Y \to X$, and injective maps are finite-to-one. + + - property_id: well-copowered + reason: This is clear since the epimorphisms are injective. + + - property_id: ℵ₁-accessible + reason: |- + We first show that $\aleph_1$-directed colimits exist and are preserved by the forgetful functor to $\Set$. Let $(X_i)_{i \in I}$ be a diagram in $\Set_\f$ indexed by a $\aleph_1$-directed poset $I$. Let $(u_i : X_i \to X)$ be the colimit in $\Set$. Each map $u_i$ is finite-to-one: Otherwise, some fiber $u_i^*(\{x\}) \subseteq X_i$ contains infinitely many elements $a_1,a_2,\dotsc$. For every $n \geq 1$ we find $i_n \geq i$ such that $a_1,a_n$ have the same image in $X_{i_n}$. Let $i_\infty \in I$ be an upper bound of all $i_n$. Then all $a_n$ have the same image in $X_{i_\infty}$. This is a contradiction since $X_i \to X_{i_\infty}$ is finite-to-one. Now if $f : X \to Y$ is a map such that each $f \circ u_i$ is finite-to-one, then $f$ is finite-to-one as well: If a fiber $f^*(\{y\})$ contains infinitely many distinct elements $x_1,x_2,\dotsc$, there is some index $i$ such that all have a preimage in $X_i$, but then $(f \circ u_i)^*(\{y\})$ would be infinite. This concludes the proof that $\aleph_1$-directed colimits exist.
+ In $\Set$, every set $X$ is the $\aleph_1$-directed colimit of its countable subsets. This remains true in $\Set_\f$ because a map $X \to Y$ is finite-to-one as long as each restriction to a countable subset of $X$ is finite-to-one. Moreover, every countable set is $\aleph_1$-presentable in $\Set$, but also in $\Set_\f$. + +unsatisfied_properties: + - property_id: skeletal + reason: This is trivial. + + - property_id: binary powers + reason: "More generally, if $X,Y$ are two non-empty sets such that $X \\times Y$ exists in $\\Set_\\f$, then both $X$ and $Y$ must be finite. In fact, the forgetful functor to $\\Set$ is representable, so it must preserve products. This means we can assume $X \\times Y$ is the usual cartesian product with the usual projections. Since $p_1 : X \\times Y \\to X$ is finite-to-one and $X$ is non-empty, $Y$ is finite. By symmetric, also $X$ is finite. (Conversely, if $X$ and $Y$ are finite, or one of them is empty, then indeed $X \\times Y$ exists.)" + + - property_id: countable copowers + reason: "Assume that the copower $X := \\IN \\otimes 1$ exists, where $1$ is the singleton set. This is a set with a map $i : \\IN \\to X$ (not necessarily finite-to-one) such that for every other such map $j : \\IN \\to Y$ there is a unique finite-to-one map $f : X \\to Y$ with $f \\circ i = j$. Applying this to $j : \\IN \\to 1$, we see that $X$ is finite. Applying the universal property to maps $j : \\IN \\to \\{0,1\\}$, we see that for every subset $E \\subseteq \\IN$ there is a unique finite subset $F \\subseteq X$ with $i^*(F) = E$. But finiteness of $F$ is automatic, so $i^* : P(X) \\to P(\\IN)$ is bijective. But then $P(\\IN)$ is finite, which is absurd." + + - property_id: essentially small + reason: This is obvious. + + - property_id: strongly connected + reason: Already $\Set$ is not strongly connected. + + - property_id: filtered + reason: "Consider the maps $f,g : \\IN \\rightrightarrows \\IN$ defined by $f(x)=x$ and $g(x)=2x$. They are injective, hence finite-to-one. If a map $h : \\IN \\to X$ coequalizes them, we have $h(x)=h(2x)$, in particular $h(1)=h(2^n)$ for all $n \\in \\IN$. Thus, $h$ is not finite-to-one." + + - property_id: sequential limits + reason: Consider the set $[n] := \{0,\dotsc,n\}$ for $n \in \IN$. The forgetful functor to $\Set$ is representable (by the singleton set), hence preserves all limits. Thus, if the diagram of truncation maps $\cdots \twoheadrightarrow [2] \twoheadrightarrow [1] \twoheadrightarrow [0]$ has a limit in $\Set_\f$, its underlying set is isomorphic to the limit taken in $\Set$, which is $\IN \cup \{\infty\}$. But there is no finite-to-one map $\IN \cup \{\infty\} \to [0]$. + +special_objects: + initial object: + description: empty set + coproducts: + description: '[finite case] disjoint union' + +special_morphisms: + isomorphisms: + description: bijective maps + reason: This is easy. + monomorphisms: + description: injective maps + reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the singleton), hence preserves monomorphisms. + epimorphisms: + description: surjective maps with finite fibers + reason: "For the non-trivial direction, if $f : X \\to Y$ is an epimorphism in this category, then in particular $f^* : \\Hom(Y,2) \\to \\Hom(X,2)$ is injective, which identifies with $f^* : E(Y) \\to E(X)$, where $E(-)$ denotes the set of finite subsets. Then for all $y \\in Y$ we have $f^*(\\{y\\}) \\neq f^*(\\varnothing) = \\varnothing$, so that $y$ has a preimage." + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/Set_op.yaml b/databases/catdat/data_yaml/categories/Set_op.yaml new file mode 100644 index 00000000..feefbe66 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Set_op.yaml @@ -0,0 +1,21 @@ +id: Set_op +name: dual of the category of sets +notation: $\Set^{\op}$ +objects: sets +morphisms: "A morphism $f : X \\to Y$ is a map of sets $Y \\to X$." +description: By definition, this category is the dual (or opposite) of the category of sets. +nlab_link: https://ncatlab.org/nlab/show/opposite+category +dual_category_id: Set + +tags: + - set theory + +related_categories: [] + +satisfied_properties: [] + +unsatisfied_properties: [] + +special_objects: {} + +special_morphisms: {} diff --git a/databases/catdat/data_yaml/categories/Set_pointed.yaml b/databases/catdat/data_yaml/categories/Set_pointed.yaml new file mode 100644 index 00000000..5279bb3d --- /dev/null +++ b/databases/catdat/data_yaml/categories/Set_pointed.yaml @@ -0,0 +1,95 @@ +id: Set* +name: category of pointed sets +notation: $\Set_*$ +objects: pointed sets +morphisms: pointed maps +description: This is the category of sets with a distinguished element, often called the base point. A map is called pointed when it preserves the base point. +nlab_link: https://ncatlab.org/nlab/show/pointed+set + +tags: + - set theory + +related_categories: + - Set + - Top* + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Set_* \to \Set$ and $\Set$ is locally small. + + - property_id: pointed + reason: The singleton set is a zero object. + check_redundancy: false + + - property_id: finitary algebraic + reason: Take the algebraic theory with just one constant. + + - property_id: subobject classifier + reason: The pointed set $(\{0,1\},1)$ is a subobject classifier. + + - property_id: cogenerator + reason: The pointed set $(\{0,1\},1)$ is a cogenerator. + + - property_id: epi-regular + reason: Every epimorphism is surjective for this category, and in an algebraic category every surjective homomorphism is a regular epimorphism. + + - property_id: coregular + reason: From the other properties we know that (co-)limits exist and that monomorphisms coincide with injective pointed maps. So it suffices to prove that these maps are stable under pushouts. This follows from the corresponding fact for the category of sets and the observation that the forgetful functor $\Set_* \to \Set$ preserves pushouts. + + - property_id: co-Malcev + reason: Malcev categories are closed under slice categories by Prop. 2.2.14 in Malcev, protomodular, homological and semi-abelian categories. It follows that co-Malcev categories are closed under coslice categories, and $\Set_*$ is a coslice category of $\Set$, which is co-Malcev since every elementary topos is co-Malcev. + + - property_id: cocartesian cofiltered limits + reason: |- + Let $X$ be a pointed set and $(Y_i)$ be a filtered diagram of pointed sets. Base points will be denoted by $0$. The canonical map $X \vee \lim_i Y_i \to \lim_i (X \vee Y_i)$ is injective since the wedge sum naturally embeds into the product and the natural map $X \vee \prod_i Y_i \to \prod_i (X \times Y_i)$ is injective. Now let $z = (z_i) \in \lim_i (X \vee Y_i)$. +
Case 1: There is some index $i$ with $z_i \in X \setminus \{0\}$. We claim $z_j \in X$ for any index $j$ and $z_j = z_i$ in $X$, so that $z$ has a preimage in $X$. To see this, choose an index $k \geq i,j$. Since $X \vee Y_i \to X \vee Y_k$ maps $z_i \mapsto z_k$ and is the identity on $X$, we see that $z_k \in X$ and $z_k = z_i$ in $X$. Since $X \vee Y_j \to X \vee Y_k$ maps $z_j \mapsto z_k$, we see that $z_j \notin Y_j$, since otherwise $z_k \in Y_k \cap X = \{0\}$. Hence, $z_j \in X \setminus \{0\}$, and then $z_j = z_k = z_i$. +
Case 2: We have $z_i \in Y_i$ for all $i$. Then clearly $(z_i) \in \lim_i Y_i$ is a preimage. + + - property_id: CIP + reason: 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. + + - property_id: effective cocongruences + reason: 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. + +unsatisfied_properties: + - property_id: skeletal + reason: This is trivial. + + - property_id: unital + reason: "The joint image of $X \\to X \\times Y \\leftarrow Y$ is just $\\{(x,0) : x \\in X\\} \\cup \\{(0,y) : y \\in Y\\}$ (where $0$ denotes the base point), which is clearly a proper subset of $X \\times Y$ when both $X,Y$ are non-trivial." + + - property_id: CSP + reason: "The image of $X \\vee Y$ in $X \\times Y$ is just $\\{(x,0) : x \\in X\\} \\cup \\{(0,y) : y \\in Y\\}$ (where $0$ denotes the base point), which is clearly a proper subset when both $X,Y$ are non-trivial." + + - property_id: conormal + reason: 'Every cokernel is "injective away from the base point". Formally, if $p : A \to B$ is a cokernel in $\Set_*$, it has the property that $p(x)=p(y) \neq 0$ implies $x=y$ (where $0$ denotes the base point). Clearly this is not satisfied for every surjective pointed map, consider $(\IN,0) \to (\{0,1\},0)$ defined by $0 \mapsto 0$ and $x \mapsto 1$ for $x > 0$.' + + - property_id: cofiltered-limit-stable epimorphisms + reason: 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 \Set_*$ that freely adds a base point. + +special_objects: + initial object: + description: singleton pointed set + terminal object: + description: singleton pointed set + coproducts: + description: wedge sum, aka one-point union + products: + description: direct products with pointwise operations + +special_morphisms: + isomorphisms: + description: bijective pointed maps + reason: This characterization holds in every algebraic category. + monomorphisms: + description: injective pointed maps + reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + epimorphisms: + description: surjective pointed maps + reason: "If $f : X \\to Y$ is an epimorphism of pointed sets, then the inclusion $i : f(X) \\hookrightarrow Y$ is an epimorphism as well. But it is also a split monomorphism (we may map everything in $Y \\setminus f(X)$ to the base point of $f(X)$, and do not touch the rest), hence an isomorphism." + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: surjective homomorphisms + reason: This holds in every finitary algebraic category. diff --git a/databases/catdat/data_yaml/categories/Setne.yaml b/databases/catdat/data_yaml/categories/Setne.yaml new file mode 100644 index 00000000..4d471d1e --- /dev/null +++ b/databases/catdat/data_yaml/categories/Setne.yaml @@ -0,0 +1,98 @@ +id: Setne +name: category of non-empty sets +notation: $\Set_{\neq \varnothing}$ +objects: non-empty sets +morphisms: maps +description: This entry demonstrates that removing an object (the empty set) can drastically change the properties of a category. In particular, this category is neither complete nor cocomplete. +nlab_link: https://ncatlab.org/nlab/show/inhabited+set + +tags: + - set theory + +related_categories: + - Set + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Set_{\neq \varnothing} \to \Set$ and $\Set$ is locally small. + + - property_id: generator + reason: The one-point set is clearly a generator. + + - property_id: cogenerator + reason: The two-point set is a cogenerator, this follows as for $\Set$. + + - property_id: products + reason: Take the product of non-empty sets inside of $\Set$ and observe that it is non-empty by the axiom of choice. + + - property_id: binary coproducts + reason: The disjoint union of two non-empty sets is non-empty. + + - property_id: cartesian closed + reason: This follows as for $\Set$, since for non-empty sets $X,Y$ there is at least one function $X \to Y$. + + - property_id: mono-regular + reason: This follows as for $\Set$. + + - property_id: epi-regular + reason: This follows as for $\Set$. + + - property_id: strongly connected + reason: Use constant maps. + + - property_id: finitely accessible + reason: Since the inclusion $\Set_{\neq \varnothing} \hookrightarrow \Set$ is closed under non-empty colimits, it is also closed under filtered colimits. Therefore, non-empty finite sets are still finitely presentable in $\Set_{\neq \varnothing}$, and every non-empty set is written as a filtered colimit of them. + + - property_id: generalized variety + reason: Since the inclusion $\Set_{\neq \varnothing} \hookrightarrow \Set$ is closed under non-empty colimits, it is also closed under sifted colimits. Therefore, non-empty finite sets are still strongly finitely presentable in $\Set_{\neq \varnothing}$, and every non-empty set is written as a sifted colimit of them. + + - property_id: multi-complete + reason: Let $D$ be a diagram in $\Set_{\neq \varnothing}$, and let $L$ be a limit of $D$ in $\Set$. If $L$ is non-empty, it gives a limit in $\Set_{\neq \varnothing}$ as well. If $L$ is the empty set, there is no cone over $D$ in $\Set_{\neq \varnothing}$; hence the empty set of cones gives a multi-limit of $D$ in $\Set_{\neq \varnothing}$. + + - property_id: natural numbers object + reason: Any natural numbers object in $\Set$, such as $(\IN,0,n \mapsto n+1)$, is clearly also one in $\Set_{\neq \varnothing}$. + + - property_id: filtered-colimit-stable monomorphisms + reason: This follows from this lemma applied to the forgetful functor to $\Set$. + + - property_id: effective congruences + reason: "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." + +unsatisfied_properties: + - property_id: sequential limits + reason: Assume that the sequence of inclusions $\cdots \to \IN_{\geq 2} \to \IN_{\geq 1} \to \IN_{\geq 0} = \IN$ as a limit $X$, consisting of maps $X \to \IN_{\geq n}$. Since $X$ is non-empty, there is a map $1 \to X$. This corresponds to a family of compatible maps $ 1 \to \IN_{\geq n}$, i.e. to compatible elements in $\IN_{\geq n}$. But the set $\bigcap_{n \geq 0} \IN_{\geq n}$ is empty. + + - property_id: skeletal + reason: This is trivial. + + - property_id: cofiltered + reason: The two maps $\{0\} \rightrightarrows \{0,1\}$ are equalized by no map $X \to \{0\}$ in this category. + + - property_id: coquotients of cocongruences + reason: 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. + + - property_id: effective cocongruences + reason: 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. + +special_objects: + terminal object: + description: singleton set + products: + description: direct products + +special_morphisms: + isomorphisms: + description: bijective maps + reason: This follows exactly as for sets. + monomorphisms: + description: injective maps + reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms. + epimorphisms: + description: surjective maps + reason: "For the non-trivial direction, let $f : X \\to Y$ be an epimorphism of non-empty sets. Then the inclusion $f(X) \\hookrightarrow Y$ is an epimorphism as well, but also a split monomorphism (we can just map everything in $Y \\setminus f(X)$ to a fixed element of $f(X)$). As such, it must be an isomorphism." + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/SetxSet.yaml b/databases/catdat/data_yaml/categories/SetxSet.yaml new file mode 100644 index 00000000..65c282b3 --- /dev/null +++ b/databases/catdat/data_yaml/categories/SetxSet.yaml @@ -0,0 +1,60 @@ +id: SetxSet +name: category of pairs of sets +notation: $\Set \times \Set$ +objects: pairs $(A,B)$ of sets $A$ and $B$ +morphisms: A morphism $(A,B) \to (C,D)$ consists of a map $A \to C$ and a map $B \to D$. +description: This is an example of the product of categories. It inherits most (but not all) properties from $\Set$. It can also be seen as the category $\Sh(1+1)$ of sheaves on a discrete space with two points, and also as the slice category $\Set/(1+1)$. + +tags: + - set theory + +related_categories: + - Set + - Sh(X) + +satisfied_properties: + - property_id: locally small + reason: This is obvious. + + - property_id: Grothendieck topos + reason: It is equivalent to the category of sheaves on a discrete space with two points. + + - property_id: locally strongly finitely presentable + reason: Take the two-sorted algebraic theory with no operations and no equations. + +unsatisfied_properties: + - property_id: skeletal + reason: This is trivial. + + - property_id: semi-strongly connected + reason: When $X$ is non-empty, there is no morphism between $(\varnothing,X)$ and $(X,\varnothing)$. + + - property_id: generator + reason: Assume that $(A,B)$ is a generator. Of course, $A$ and $B$ cannot be both empty. Assume w.l.o.g. that $A$ is non-empty. Then there is no morphism $(A,B) \to (0,1)$, but there are two different morphisms $(0,1) \rightrightarrows (0,2)$. + +special_objects: + initial object: + description: $(0,0)$ + terminal object: + description: $(1,1)$ + coproducts: + description: component-wise disjoint union + products: + description: component-wise direct product + +special_morphisms: + isomorphisms: + description: pairs of bijective maps + reason: This is easy. + monomorphisms: + description: pairs of injective maps + reason: This follows from the fact for the category of sets. + epimorphisms: + description: pairs of surjective maps + reason: This follows from the fact for the category of sets. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/Sh(X).yaml b/databases/catdat/data_yaml/categories/Sh(X).yaml new file mode 100644 index 00000000..29eed8e1 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Sh(X).yaml @@ -0,0 +1,60 @@ +id: Sh(X) +name: category of sheaves +notation: $\Sh(X)$ +objects: sheaves of sets on a topological space $X$ +morphisms: morphisms of sheaves +description: Here, we assume that the topological space $X$ is neither discrete nor indiscrete, since otherwise this category is just a product of copies of $\Set$. Another valid notation is $\Sh(X,\Set)$. +nlab_link: https://ncatlab.org/nlab/show/category+of+sheaves + +tags: + - algebraic geometry + - topology + +related_categories: + - Set + - SetxSet + - Sh(X,Ab) + +comments: + - It is likely that neither of the currently remaining unknown properties (finitary algebraic, locally ℵ₁-presentable, exact filtered colimits, etc.) are satisfied for a generic space $X$, but we need to make this precise by adding additional requirements to $X$. Maybe we need to create separate entries for specific spaces $X$. + +satisfied_properties: + - property_id: locally small + reason: This is easy. + + - property_id: Grothendieck topos + reason: This holds by definition of a Grothendieck topos. + +unsatisfied_properties: + - property_id: skeletal + reason: Consider constant sheaves for isomorphic but non-equal sets. + + - property_id: trivial + reason: This is because $X$ is assumed to be non-empty. + +special_objects: + initial object: + description: constant sheaf with value $\varnothing$, sending all non-empty open sets to $\varnothing$ and the empty set to a singleton + terminal object: + description: constant sheaf with value a singleton + coproducts: + description: associated sheaf to the section-wise disjoint union + products: + description: section-wise defined direct product + +special_morphisms: + isomorphisms: + description: morphisms of sheaves that are bijective on every open set + reason: This is easy. + monomorphisms: + description: morphisms of sheaves that are injective on every open subset + reason: "For the non-trivial direction, assume that $f : F \\to G$ is a monomorphism of sheaves on $X$. Then the diagonal $F \\to F \\times_G F$ is an isomorphism. Since pullbacks of sheaves are constructed section-wise, it follows that the diagonal $F(U) \\to F(U) \\times_{G(U)} F(U)$ is an isomorphism for every open set $U \\subseteq X$. But this means that $f(U) : F(U) \\to G(U)$ is injective." + epimorphisms: + description: 'morphisms of sheaves $f : F \to G$ that are "locally surjective": for every local section $g \in G(U)$ there is an open covering $U = \bigcup_{i \in I} U_i$ such that each $g|_{U_i} \in G(U_i)$ is contained in the image of $f(U_i) : F(U_i) \to G(U_i)$.' + reason: "The one direction is easy. For the other one, assume that $f : F \\to G$ is an epimorphism of sheaves. For every $x \\in X$ the map on stalks $f_x : F_x \\to G_x$ is an epimorphism because the stalk functor $\\Sh(X) \\to \\Set$ admits a right adjoint: take skyscraper sheaves. For $x \\in U$ then $g_x \\in G_x$ has a preimage in $F_x$, say represented by some $f \\in F(V_x)$ for some $x \\in V_x \\subseteq U$. By construction of the stalk $G_x$, there is some $x \\in U_x \\subseteq V_x$ with $f(U_x)(f|_{U_x}) = g|_{U_x}$. Hence, the sets $(U_x)$ provide the open covering." + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/Sh(X,Ab).yaml b/databases/catdat/data_yaml/categories/Sh(X,Ab).yaml new file mode 100644 index 00000000..43dc9326 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Sh(X,Ab).yaml @@ -0,0 +1,59 @@ +id: Sh(X,Ab) +name: category of abelian sheaves +notation: $\Sh(X,\Ab)$ +objects: sheaves of abelian groups on a topological space $X$ +morphisms: morphisms of sheaves +description: Here, we assume that the topological space $X$ is neither discrete nor indiscrete, since otherwise this category is just a product of copies of $\Ab$. +nlab_link: https://ncatlab.org/nlab/show/sheaf+of+abelian+groups + +tags: + - algebraic geometry + - topology + +related_categories: + - Ab + - Sh(X) + +comments: + - It is likely that neither of the currently remaining unknown properties (finitary algebraic, locally ℵ₁-presentable, CSP, etc.) are satisfied for a generic space $X$, but we need to make this precise by adding additional requirements to $X$. Maybe we need to create separate entries for specific spaces $X$. + +satisfied_properties: + - property_id: locally small + reason: This is easy. + + - property_id: Grothendieck abelian + reason: This is standard, see for example Theorem 18.1.6. in Kashiwara-Schapira. + +unsatisfied_properties: + - property_id: skeletal + reason: Consider constant sheaves for isomorphic but non-equal abelian groups. + + - property_id: split abelian + reason: 'Choose a point $x \in X$. The functor $x_* : \Ab \to \Sh(X,\Ab)$ (skyscraper sheaf) is exact, and its left adjoint $x^* : \Sh(X,\Ab) \to \Ab$ (stalk) satisfies $x^* x_* \cong \id_{\Ab}$. Now, since $\Ab$ is not split abelian (see here), there is a short exact sequence of abelian groups $0 \to A \to B \to C \to 0$ that does not split. Then $0 \to x_* A \to x_* B \to x_* C \to 0$ is also exact, but it does not split: Otherwise it would also be split after applying $x^*$, which however gives the original sequence in $\Ab$.' + +special_objects: + initial object: + description: trivial abelian sheaf + terminal object: + description: trivial abelian sheaf + coproducts: + description: associated sheaf to the section-wise direct sum + products: + description: section-wise defined direct product + +special_morphisms: + isomorphisms: + description: morphisms of abelian sheaves that are bijective on every open set + reason: This is easy. + monomorphisms: + description: morphisms of abelian sheaves that are injective on every open subset + reason: "For the non-trivial direction, assume that $f : F \\to G$ is a monomorphism of abelian sheaves on $X$. Then the diagonal $F \\to F \\times_G F$ is an isomorphism. Since pullbacks of abelian sheaves are constructed section-wise, it follows that the diagonal $F(U) \\to F(U) \\times_{G(U)} F(U)$ is an isomorphism for every open set $U \\subseteq X$. But this means that $f(U) : F(U) \\to G(U)$ is injective." + epimorphisms: + description: 'morphisms of abelian sheaves $f : F \to G$ that are "locally surjective": for every local section $g \in G(U)$ there is an open covering $U = \bigcup_{i \in I} U_i$ such that each $g|_{U_i} \in G(U_i)$ is contained in the image of $f(U_i) : F(U_i) \to G(U_i)$.' + reason: "The one direction is easy. For the other one, assume that $f : F \\to G$ is an epimorphism of abelian sheaves. For every $x \\in X$ the homomorphism on stalks $f_x : F_x \\to G_x$ is an epimorphism because the stalk functor $\\Sh(X,\\Ab) \\to \\Ab$ admits a right adjoint: take skyscraper sheaves. For $x \\in U$ then $g_x \\in G_x$ has a preimage in $F_x$, say represented by some $f \\in F(V_x)$ for some $x \\in V_x \\subseteq U$. By construction of the stalk $G_x$, there is some $x \\in U_x \\subseteq V_x$ with $f(U_x)(f|_{U_x}) = g|_{U_x}$. Hence, the sets $(U_x)$ provide the open covering." + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/Sp.yaml b/databases/catdat/data_yaml/categories/Sp.yaml new file mode 100644 index 00000000..dc260761 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Sp.yaml @@ -0,0 +1,76 @@ +id: Sp +name: category of combinatorial species +notation: $\Sp$ +objects: combinatorial species, defined as functors $\IB \to \FinSet$, where $\IB$ is the category of finite sets and bijections +morphisms: natural transformations +description: Most categorical properties are immediately inferred from $\FinSet$. Notice that this category is not locally small; it is just equivalent to a locally small category. +nlab_link: https://ncatlab.org/nlab/show/species + +tags: + - combinatorics + +related_categories: + - B + - FinSet + +satisfied_properties: + - property_id: essentially small + reason: This holds because $\FinSet$ and $\IB$ are essentially small. + + - property_id: elementary topos + reason: The category is equivalent to $\prod_{n \geq 0} \Sigma_n{-}\FinSet$ (where $\Sigma_n$ denotes the symmetric group of order $n$), and each $\Sigma_n{-}\FinSet$ is an elementary topos since $\FinSet$ is and $\Sigma_n$ is a finite group, cf. Johnstone, Part B, Corollary 2.3.18. + + - property_id: cogenerator + reason: 'This follows from $\Sp \simeq \prod_{n \geq 0} \Sigma_n{-}\FinSet$, this lemma, and the fact that if $G$ is a (finite) group, the power set $P(G)$ with the evident $G$-action is a weakly terminal cogenerator in $G{-}\Set$ (resp. $G{-}\FinSet$). For the proof, notice that $\varnothing,G \in P(G)$ are fixed points, yielding two $G$-maps $1 \rightrightarrows P(G)$. In particular, $P(G)$ is weakly terminal. If $X$ is a $G$-set with distinct points $x,y$, we construct a $G$-map $f : X \to P(G)$ that separates $x,y$: First, $X$ is a coproduct of orbits. If $x,y$ lie in different orbits, let $f|_{Gx}$ be constant $\varnothing$, $f|_{Gy}$ be constant $G$, and, say, $f$ be constant $\varnothing$ on all other orbits. If $x,y$ lie in the same orbit, say $y = g_0 x$, define $f|_{Gx} : Gx \to P(G)$ by $f(x) = G_x$ (stabilizer), which is well-defined, and choose $f$ to be $\varnothing$ on all other orbits. Then $f(y) = g_0 G_x \neq G_x = f(x)$.' + +unsatisfied_properties: + - property_id: locally small + reason: "Disclaimer: This result and its proof are not relevant for category theory and are also depending on the concrete model of set theory. That this category is locally essentially small is only what matters. Now, consider the terminal species $F=G=1$. Then $\\Hom(F,G)$ has just a single element, namely the natural transformation $\\alpha$ that sends every finite set $X$ to the unique map $\\alpha_X : 1 \\to 1$. Formally, $\\alpha$ is a map, modelled as a set of ordered pairs $(X,\\id_1)$, where $X$ is a finite set. Hence, $\\alpha$ is not a set (since finite sets do not form a set), and therefore $\\Hom(F,G) = \\{\\alpha\\}$ is also not a set." + + - property_id: countable powers + reason: If $\Sp \simeq \FinSet \times \prod_{n > 0} \Sigma_n{-}\FinSet$ has countable powers, then $\FinSet$ has countable powers as well by this lemma, which we already know is false (see here). + + - property_id: skeletal + reason: This is trivial. + + - property_id: semi-strongly connected + reason: "For $n \\geq 0$ let $E_n$ be the combinatorial species of $n$-sets: $E_n(A) = \\{A\\}$ when $A$ has cardinality $n$, otherwise $E_n(A) = \\varnothing$. Then there is no morphism between $E_n$ and $E_m$ unless $n = m$." + + - property_id: generator + reason: "Assume that a generator $G$ exists. For $n \\geq 0$ let $F_n$ be the combinatorial species of sets of cardinality $\\neq n$: $F_n(A) = \\varnothing$ when $A$ has cardinality $n$, otherwise $F_n(A) = \\{A\\}$. There are two different morphisms $F_n \\rightrightarrows F_n \\sqcup F_n$. Hence, there must be at least one morphism $G \\to F_n$. If $A$ has cardinality $n$, this implies $G(A) = \\varnothing$. Since this holds for all $n$, $G$ is the initial object. But this is clearly no generator (it would mean that the category is thin)." + + - property_id: essentially countable + reason: Any function $f\colon\IN \to \IN$ can be regarded as a combinatorial species with trivial actions, and distinct functions yield non-isomorphic species. + + - property_id: natural numbers object + reason: |- + If $(N,z,s)$ is a natural numbers object, then + $$1 \xrightarrow{z} N \xleftarrow{s} N$$ + is a coproduct cocone by Johnstone, Part A, Lemma 2.5.5. But there is no combinatorial species $N$ with $N \cong 1 + N$, since evaluating this at, say, $\varnothing$, would yield a finite set $N$ with this property. + +special_objects: + initial object: + description: species $X$ with $X_n = \varnothing$ + terminal object: + description: species $X$ with $X_n = 1$ + coproducts: + description: '[finite case] pointwise finite disjoint union' + products: + description: '[finite case] pointwise defined direct product' + +special_morphisms: + isomorphisms: + description: natural isomorphisms + reason: This is the for every functor category. + monomorphisms: + description: pointwise injective natural transformations + reason: "If $a : F \\to G$ is a monomorphism of species, then the diagonal morphism $F \\to F \\times_G F$ is an isomorphism, so that for every $x$ the diagonal morphism $F(x) \\to F(x) \\times_{G(x)} F(x)$ is an isomorphism, i.e., $a(x) : F(x) \\to G(x)$ is a monomorphism. This argument works for every functor category where the target has fiber products." + epimorphisms: + description: pointwise surjective natural transformations + reason: This holds in every functor category $[\C,\Set]$. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/Top.yaml b/databases/catdat/data_yaml/categories/Top.yaml new file mode 100644 index 00000000..31064ece --- /dev/null +++ b/databases/catdat/data_yaml/categories/Top.yaml @@ -0,0 +1,111 @@ +id: Top +name: category of topological spaces +notation: $\Top$ +objects: topological spaces +morphisms: continuous functions +description: This is the most basic category of geometric objects. +nlab_link: https://ncatlab.org/nlab/show/Top + +tags: + - topology + +related_categories: + - Haus + - Met_c + - Top* + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Top \to \Set$ and $\Set$ is locally small. + + - property_id: complete + reason: Take the limit of the underlying sets and endow it with the coarsest topology making all projections continuous. + + - property_id: cocomplete + reason: Take the colimit of the underlying sets and endow it with the finest topology making all inclusions continuous. + check_redundancy: false + + - property_id: well-powered + reason: This is clear from the classification of monomorphisms as injective continuous maps. + + - property_id: well-copowered + reason: This is clear from the classification of epimorphisms as surjective continuous maps. + + - property_id: infinitary extensive + reason: "[Sketch] Since $\\Set$ is infinitary extensive, a map $f : Y \\to \\coprod_i X_i$ corresponds to a decomposition $Y = \\coprod_i Y_i$ (as sets) with maps $f_i : Y_i \\to X_i$. Endow $Y_i$ with the subspace topology. If $f$ is continuous, each $Y_i = f^{-1}(X_i)$ is open in $Y$, so that $Y = \\coprod_i Y_i$ holds as topological spaces, and each $f_i$ is continuous." + + - property_id: generator + reason: The one-point space is a generator since it represents the forgetful functor $\Top \to \Set$. + + - property_id: cogenerator + reason: It is easily checked that the indiscrete two-point space is a cogenerator. + + - property_id: semi-strongly connected + reason: Every non-empty space is weakly terminal (by using constant maps). + + - property_id: regular subobject classifier + reason: The indiscrete two-point space $\{0,1\}$ is a regular subobject classifier since continuous maps $X \to \{0,1\}$ correspond to subsets of $X$. + + - property_id: coregular + reason: The category has all limits and colimits, and the regular monomorphisms are the subspace inclusions. Thus, it suffices to prove that subspace inclusions are stable under pushouts. For a proof see e.g. Lemma 3.6 at the nLab. + + - property_id: filtered-colimit-stable monomorphisms + reason: This follows from this lemma applied to the forgetful functor to $\Set$. + +unsatisfied_properties: + - property_id: cartesian filtered colimits + reason: 'The functor $\IQ \times - : \Top \to \Top$ does not preserve colimits, see MSE/2969372.' + + - property_id: regular + reason: See Example 3.14 at the nLab. + + - property_id: locally presentable + reason: In fact, it does not have any small dense subcategory by MSE/4097315. For a related result, see MO/288648. + + - property_id: balanced + reason: If $X$ is a set, consider the discrete space $X_d$ on $X$ and the indiscrete space $X_i$ on $X$. The identity map $X \to X$ lifts to a continuous map $X_d \to X_i$, which is bijective and therefore both a mono- and an epimorphism, but it is not an isomorphism unless $X$ has at most one element. + + - property_id: skeletal + reason: This is trivial. + + - property_id: Malcev + reason: This is clear since $\Set$ is not Malcev and can be interpreted as the subcategory of discrete spaces. + + - property_id: co-Malcev + reason: 'See MO/509548. We can also phrase the proof as follows: Consider the forgetful functor $U : \Top \to \Set$ and the relation $R \subseteq U^2$ defined by $R(X) := \{(x,y) \in U(X)^2 : x \in \overline{\{y\}} \}$. Both are representable: $U$ by the singleton and $R$ by the Sierpinski space. It is clear that $R$ is reflexive, but not symmetric.' + + - property_id: coaccessible + reason: Assume $\Top$ is coaccessible. Let $p\colon S \to I$ be the identity map from the Sierpinski space to the two-element indiscrete space. Then, a topological space is discrete if and only if it is projective to the morphism $p$. This implies that the full subcategory spanned by all discrete spaces, which is equivalent to $\Set$, is coaccessible by Prop. 4.7 in Adamek-Rosicky. However, since $\Set$ is not coaccessible, this is a contradiction. + + - property_id: cofiltered-limit-stable epimorphisms + reason: 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. + + - property_id: effective cocongruences + reason: "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." + +special_objects: + initial object: + description: empty space + terminal object: + description: singleton space + coproducts: + description: disjoint union with the disjoint union topology + products: + description: direct product with the product topology + +special_morphisms: + isomorphisms: + description: homeomorphisms + reason: This is easy. + monomorphisms: + description: injective continuous maps + reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms. + epimorphisms: + description: surjective continuous maps + reason: The proof works exactly as for the category of sets, where we endow $2$ with the indiscrete topology. + regular monomorphisms: + description: embeddings + reason: "Equalizers are embeddings by their construction. Conversely, if $f : X \\to Y$ is an embedding, then $f$ is the equalizer of the two characteristic maps $\\chi_Y, \\chi_{f(X)} : Y \\to \\{0,1\\}$, where $\\{0,1\\}$ carries the indiscrete topology." + regular epimorphisms: + description: surjective quotient maps + reason: "Regular epimorphisms are surjective quotient maps by the explicit construction of coequalizers. Conversely, if $q : X \\to Y$ is a surjective quotient map, then one checks that $q$ is the coequalizer of its kernel pair $X \\times_Y X \\rightrightarrows X$: This is true for the underlying sets, and continuity of the induced morphism follows since $q$ is a quotient map." diff --git a/databases/catdat/data_yaml/categories/Top_pointed.yaml b/databases/catdat/data_yaml/categories/Top_pointed.yaml new file mode 100644 index 00000000..319d4ed0 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Top_pointed.yaml @@ -0,0 +1,134 @@ +id: Top* +name: category of pointed topological spaces +notation: $\Top_*$ +objects: pointed topological spaces +morphisms: pointed continuous functions +description: This category plays an important role in algebraic topology and homotopy theory. Although it may appear similar to $\Top$, adding a base point drastically changes its categorical properties. In particular, it introduces a zero object. +nlab_link: https://ncatlab.org/nlab/show/pointed+topological+space + +tags: + - topology + +related_categories: + - Set* + - Top + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Top_* \to \Set_*$ and $\Set_*$ is locally small. + + - property_id: pointed + reason: The singleton space $\{0\}$ with base point $0$ is a zero object. + check_redundancy: false + + - property_id: complete + reason: This follows from $\Top_* \cong 1 / \Top$ and the fact that $\Top$ is complete. Concretely, the limit of pointed spaces $(X_i,x_i)$ is the limit of the underlying spaces $X_i$ equipped with the base point that projects down to each $x_i$. + check_redundancy: false + + - property_id: coequalizers + reason: This follows immediately from the fact that $\Top$ has coequalizers. + check_redundancy: false + + - property_id: coproducts + reason: This follows from $\Top_* \cong 1 / \Top$ and the fact that $\Top$ has wide pushouts. + check_redundancy: false + + - property_id: well-powered + reason: This is clear from the classification of monomorphisms as injective pointed continuous maps. + + - property_id: well-copowered + reason: This is clear from the classification of epimorphisms as surjective pointed continuous maps. + + - property_id: generator + reason: The discrete space $\{0,1\}$ with base point $0$ is a generator since it represents the forgetful functor $\Top_* \to \Set$. + + - property_id: cogenerator + reason: It is easily checked that the indiscrete two-point space $\{0,1\}$ with base point $1$ is a cogenerator. + + - property_id: regular subobject classifier + reason: The indiscrete two-point space $\{0,1\}$ with base point $1$ is a regular subobject classifier since pointed continuous maps $X \to \{0,1\}$ correspond to pointed subsets of $X$ (by taking the fiber of $1$ as usual). + + - property_id: counital + reason: Since embeddings are regular monomorphisms in this category (see below) and hence strong monomorphisms, it suffices to prove that the canonical morphism $X \vee Y \hookrightarrow X \times Y$ is an embedding. For a proof, see MSE/4055988. + + - property_id: CIP + reason: This follows since $\Set_*$ has this property and the forgetful functor preserves products and coproducts. + + - property_id: cocartesian cofiltered limits + reason: |- + We continue the proof for $\Set_*$ by showing that the natural bijective map + $$\textstyle \alpha : X \vee \lim_i Y_i \to \lim_i (X \vee Y_i)$$ + is open. It suffices to consider open sets of two types: (1) If $U \subseteq X$ is open, the $\alpha$-image of $U \vee \lim_i Y_i$ is $p_{i_0}^{-1}(U \vee Y_{i_0})$ for any chosen index $i_0$, hence open. (2) If $i$ is an index and $V_i \subseteq Y_i$ is open, then the $\alpha$-image of $X \vee (p_i^{-1}(V_i) \cap \lim_i Y_i)$ is $p_i^{-1}(X \vee V_i)$, hence open. + + - property_id: filtered-colimit-stable monomorphisms + reason: This follows from this lemma applied to the forgetful functor to $\Set$. + + - property_id: coregular + reason: Regular monomorphisms coincide with the embeddings (see below). Since $\Top$ is coregular, they are stable under pushouts, and pushouts in $\Top_*$ are the same. + +unsatisfied_properties: + - property_id: regular + reason: See Example 3.14 at the nLab. The proof also works for pointed spaces (resp. posets) by using the base points $a$ and $0$. + + - property_id: locally presentable + reason: In fact, it does not have any small dense subcategory by MSE/4097315. The proof easily adapts to pointed spaces. + + - property_id: balanced + reason: If $X$ is a set with a base point $x_0$, consider the discrete space $X_d$ on $X$ and the indiscrete space $X_i$ on $X$. The identity map $X \to X$ lifts to a continuous map $X_d \to X_i$ preserving $x_0$, which is bijective and therefore both a mono- and an epimorphism, but it is not an isomorphism unless $X = \{x_0\}$. + + - property_id: cartesian filtered colimits + reason: 'The functor $\IQ \times - : \Top_* \to \Top_*$ does not preserve colimits, see MSE/2969372. The counterexample also works for pointed spaces.' + + - property_id: skeletal + reason: This is trivial. + + - property_id: co-Malcev + reason: "We can adjust the proof for $\\Top$ as follows: Consider the forgetful functor $U : \\Top_* \\to \\Set$ and the relation $R \\subseteq U^2$ defined by $R(X) := \\{(x,y) \\in U(X)^2 : x \\in \\overline{\\{y\\}} \\}$. Both are representable: $U$ by the discrete space $\\{0,1\\}$ with base point $0$ and $R$ by the Sierpinski space with an isolated base point added. It is clear that $R$ is reflexive, but not symmetric." + + - property_id: unital + reason: "The joint image of $X \\to X \\times Y \\leftarrow Y$ is just $\\{(x,0) : x \\in X\\} \\cup \\{(0,y) : y \\in Y\\}$ (where $0$ denotes the base point), which is clearly a proper subset of $X \\times Y$ when both $X,Y$ are non-trivial." + + - property_id: regular quotient object classifier + reason: We can recycle the proof for the category of pointed sets using discrete topological spaces. + + - property_id: coaccessible + reason: 'We can adjust the proof for $\Top$ as follows: Assume $\Top_*$ is coaccessible. Let $S_0=\{x,*\}$ be the pointed topological space such that $\{*\}$ is the only non-trivial open set, and let $S_1=\{x,*\}$ be the pointed space such that $\{x\}$ is the only non-trivial open set. Let $p_i\colon S_i \to \{x,*\}$ be the identity function to the two-element indiscrete pointed space. Then, a pointed topological space is discrete if and only if it is projective to the morphisms $p_0$ and $p_1$. This implies that the full subcategory spanned by all discrete pointed spaces, which is equivalent to $\Set_*$, is coaccessible by Prop. 4.7 in Adamek-Rosicky. However, since $\Set_*$ is not coaccessible, this is a contradiction.' + + - property_id: CSP + reason: "The image of $X \\vee Y$ in $X \\times Y$ is just $\\{(x,0) : x \\in X\\} \\cup \\{(0,y) : y \\in Y\\}$ (where $0$ denotes the base point), which is clearly a proper subset when both $X,Y$ are non-trivial." + + - property_id: cofiltered-limit-stable epimorphisms + reason: 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. + + - property_id: effective congruences + reason: 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). + + - property_id: effective cocongruences + reason: '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 \}$.' + +special_objects: + initial object: + description: singleton space with the unique base point + terminal object: + description: singleton space with the unique base point + coproducts: + description: wedge sum, aka one-point union + products: + description: direct product with the product topology and the obvious base point + +special_morphisms: + isomorphisms: + description: pointed homeomorphisms + reason: This is easy. + monomorphisms: + description: injective pointed continuous maps + reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the discrete two-point space), hence preserves monomorphisms. + epimorphisms: + description: surjective pointed continuous maps + reason: "For the non-trivial direction: The forgetful functor $\\Top_* \\to \\Top$ preserves pushouts and hence also epimorphisms, and we already know the epimorphisms in $\\Top$." + regular monomorphisms: + description: embeddings + reason: "Equalizers are embeddings by their construction. Conversely, if $f : X \\to Y$ is an embedding, then $f$ is the equalizer of the two characteristic maps $\\chi_Y, \\chi_{f(X)} : Y \\to \\{0,1\\}$, where $\\{0,1\\}$ carries the indiscrete topology and $1$ is the base point." + regular epimorphisms: + description: surjective pointed quotient maps + reason: "Regular epimorphisms are surjective pointed quotient maps by the explicit construction of coequalizers. Conversely, if $q : X \\to Y$ is a surjective pointed quotient map, then one checks that $q$ is the coequalizer of its kernel pair $X \\times_Y X \\rightrightarrows X$: This is true for the underlying pointed sets, and continuity of the induced morphism follows since $q$ is a quotient map." diff --git a/databases/catdat/data_yaml/categories/TorsAb.yaml b/databases/catdat/data_yaml/categories/TorsAb.yaml new file mode 100644 index 00000000..9361e9d6 --- /dev/null +++ b/databases/catdat/data_yaml/categories/TorsAb.yaml @@ -0,0 +1,82 @@ +id: TorsAb +name: category of torsion abelian groups +notation: $\TorsAb$ +objects: torsion abelian groups +morphisms: group homomorphisms +description: This is a Grothendieck abelian category containing all finite abelian groups. +nlab_link: https://ncatlab.org/nlab/show/torsion+subgroup + +tags: + - algebra + +related_categories: + - Ab + - FinAb + - TorsFreeAb + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\TorsAb \to \Ab$ and $\Ab$ is locally small. + + - property_id: cocomplete + reason: The embedding $\TorsAb \hookrightarrow \Ab$ is closed under colimits and $\Ab$ is cocomplete. + check_redundancy: false + + - property_id: complete + reason: The embedding $\TorsAb \hookrightarrow \Ab$ has a right adjoint, sending an abelian group $A$ to its torsion subgroup $T(A)$. Since $\Ab$ is complete, $\TorsAb$ is complete as well. The limit of a diagram of torsion abelian groups is the torsion subgroup of the limit of the underlying abelian groups. Notice that the torsion subgroup is not required in the case of equalizers, since a subgroup of a torsion abelian group is already torsion. Also, a finite product of torsion abelian groups is already torsion. + check_redundancy: false + + - property_id: preadditive + reason: It is a full subcategory of the preadditive category $\Ab$. + + - property_id: normal + reason: "If $f : A \\to B$ is a monomorphism, it is injective (see below). In $\\Ab$ it is then the kernel of $B \\to B/f(A)$. Since $B/f(A)$ is torsion, it is also the kernel in $\\TorsAb$." + + - property_id: conormal + reason: "If $f : A \\to B$ is an epimorphism, it is surjective (see below). In $\\Ab$ it is then the cokernel of its kernel $K \\hookrightarrow A$. Since $K$ is torsion, it is also the cokernel in $\\TorsAb$." + + - property_id: finitely accessible + reason: We already know that (filtered) colimits exist and are preserved by the forgetful functor to $\Ab$. Every torsion abelian group is the filtered colimit of its finitely generated subgroups (which are finite). These are finitely presentable in $\Ab$, hence also in $\TorsAb$. + +unsatisfied_properties: + - property_id: skeletal + reason: This is trivial. + + - property_id: split abelian + reason: The sequence $0 \to \IZ/2 \to \IZ/4 \to \IZ/2 \to 0$ does not split. + + - property_id: CSP + reason: The canonical homomorphism $\bigoplus_{n \geq 0} \IZ/2 \to T(\prod_{n \geq 0} \IZ/2)$ is not surjective, since the torsion element $(1,1,\dotsc)$ does not lie in the image. Hence, it is no epimorphism. + + - property_id: locally strongly finitely presentable + reason: |- + Assume that it is locally strongly finitely presentable, and therefore the category of algebras of a multi-sorted finitary algebraic theory. For each sort $s$ let $F_s$ be the free algebra on one generator of sort $s$. One of them must be non-trivial, since otherwise the category would be thin. So assume $F_s \neq 0$. It is finitely presentable, hence a finite abelian group, and regular projective. Any direct summand will have the same properties. So we find that some $\IZ/p^k$ (with $k \geq 1$ and $p$ prime) is regular projective. However, the exact sequence in $\TorsAb$ + $$0 \to \IZ/p \to \IZ/p^{k+1} \to \IZ/p^k \to 0$$ + does not split. + +special_objects: + initial object: + description: trivial group + terminal object: + description: trivial group + coproducts: + description: direct sums + products: + description: torsion subgroup of the direct product + +special_morphisms: + isomorphisms: + description: bijective group homomorphisms + reason: This is easy. + monomorphisms: + description: injective group homomorphisms + reason: "For the non-trivial direction, assume $f : A \\to B$ is a monomorphism and $a \\in A$ satisfies $f(a)=0$. Choose $n \\geq 1$ with $n a = 0$. Then $a$ corresponds to a homomorphism of torsion abelian groups $\\tilde{a} : \\IZ/n \\to A$ satisfying $f \\circ \\tilde{a} = 0$. Hence, $\\tilde{a} = 0$, which means $a = 0$." + epimorphisms: + description: surjective homomorphisms + reason: Clearly, surjective homomorphisms are epimorphisms. The converse follows since the forgetful functor $\TorsAb \to \Ab$ has a right adjoint, hence preserves epimorphisms. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/TorsFreeAb.yaml b/databases/catdat/data_yaml/categories/TorsFreeAb.yaml new file mode 100644 index 00000000..ff27b57e --- /dev/null +++ b/databases/catdat/data_yaml/categories/TorsFreeAb.yaml @@ -0,0 +1,82 @@ +id: TorsFreeAb +name: category of torsion-free abelian groups +notation: $\TorsFreeAb$ +objects: torsion-free abelian groups +morphisms: group homomorphisms +description: This is a typical example of a well-behaved additive category which is not abelian. It contains the category of free abelian groups. +nlab_link: https://ncatlab.org/nlab/show/torsion-free+module + +tags: + - algebra + +related_categories: + - Ab + - FreeAb + - TorsAb + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\TorsFreeAb \to \Ab$ and $\Ab$ is locally small. + + - property_id: complete + reason: The embedding $\TorsFreeAb \hookrightarrow \Ab$ is closed under limits and $\Ab$ is complete. + check_redundancy: false + + - property_id: cocomplete + reason: "The embedding $\\TorsFreeAb \\hookrightarrow \\Ab$ has a left adjoint, sending an abelian group $A$ to its torsion-free reflection $A/T(A)$, where $T(A)$ is the torsion subgroup of $A$. Since $\\Ab$ is cocomplete, $\\TorsFreeAb$ is cocomplete as well. The colimit of a diagram of torsion-free abelian groups is the torsion-free reflection of the colimit of the underlying abelian groups. Notice that the reflection is not required in the case of coproducts: the direct sum of torsion-free abelian groups is again torsion-free. It is also not required for filtered colimits." + check_redundancy: false + + - property_id: finitely accessible + reason: We already saw that filtered colimits exist and are preserved by the forgetful functor to $\Ab$. Every torsion-free abelian group is the filtered colimit of its finitely generated subgroups, which are in fact free. Finitely generated free abelian groups are finitely presentable in $\Ab$ and therefore also in $\TorsFreeAb$. + + - property_id: preadditive + reason: It is a full subcategory of the preadditive category $\Ab$. + + - property_id: cogenerator + reason: The additive group $\IQ$ is a cogenerator since every torsion-free abelian group $A$ embeds into $A \otimes \IQ$, which is a vector space over $\IQ$, and by linear algebra $K$ is a cogenerator in the category of vector spaces over $K$. + + - property_id: regular + reason: The regular epimorphisms are exactly the surjective homomorphisms (see below), and these are clearly stable under pullbacks. + + - property_id: coregular + reason: |- + It suffices to prove that regular monomorphisms (which are classified below) are stable under pushouts. Let $i : A \to B$ be a regular monomorphism in $\TorsFreeAb$, i.e. $i$ is injective and its $\Ab$-cokernel $B/i(A)$ is torsion-free, and let $f : B \to C$ be any morphism in $\TorsFreeAb$. Their $\Ab$-pushout is + $$P = (B \times C)/\{(i(a),-f(a)): a \in A\}.$$ + It is torsion-free: If $n \in \IZ \setminus \{0\}$ and $n (b,c) = (i(a),-f(a))$, there is some $a' \in A$ with $b = i(a')$ since $B/i(A)$ is torsion-free. It follows $n a' = a$, and then $c = -f(a')$ since $C$ is torsion-free. Thus, $(b,c) = (i(a'),-f(a'))$, which proves our claim. Therefore, $P$ is also the pushout in $\TorsFreeAb$. The homomorphism $j : C \to P$, $j(c) = [0,c]$ is injective (since $\Ab$ is coregular, but a direct proof is also easy), and by the universal property of $P$ its $\Ab$-cokernel is isomorphic to the $\Ab$-cokernel of $i$, which is torsion-free. + +unsatisfied_properties: + - property_id: skeletal + reason: This is trivial. + + - property_id: balanced + reason: "It can be checked directly that $2 : \\IZ \\to \\IZ$ is both a monomorphism and an epimorphism, but no isomorphism. This also follows from the general classification of mono- and epimorphisms below." + + - property_id: CSP + reason: 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. + +special_objects: + initial object: + description: trivial group + terminal object: + description: trivial group + coproducts: + description: direct sums + products: + description: direct products + +special_morphisms: + isomorphisms: + description: bijective group homomorphisms + reason: This is easy. + monomorphisms: + description: injective group homomorphisms + reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the group $\IZ$), hence preserves monomorphisms. + epimorphisms: + description: "homomorphisms $f : A \\to B$ such that $B/f(A)$ is a torsion group" + reason: The homomorphism $f$ is an epimorphism iff its cokernel in $\TorsFreeAb$ is trivial. As with all types of colimits, the cokernel is the torsion-free reflection of the cokernel in $\Ab$, which is $B/f(A)$. This is trivial iff $B/f(A)$ is torsion. + regular monomorphisms: + description: "injective group homomorphisms $i : A \\to B$ such that $B/i(A)$ is torsion-free, i.e., $i$ is the inclusion of a saturated subgroup" + reason: "If $i : A \\to B$ is the kernel of $f : B \\to C$ in $\\TorsFreeAb$, it is also the kernel of $f$ in $\\Ab$, so we know that $i$ is injective with $i(A) = \\{b \\in B : f(b) = 0\\}$. If $n \\in \\IZ \\setminus \\{0\\}$ and $b \\in B$ satisfy $f(n b) = 0$, then also $f(b)=0$ since $C$ is torsion-free. This shows that $B/i(A)$ is torsion-free. Conversely, if $i$ is injective and $B/i(A)$ is torsion-free, then $i$ is the kernel of the natural homomorphism $B \\to B/i(A)$." + regular epimorphisms: + description: surjective group homomorphisms + reason: "By the construction of the coequalizer in $\\TorsFreeAb$ as the torsion-free reflection of the coequalizer in $\\Ab$, every regular epimorphism is surjective. Conversely, if $f : A \\to B$ is a surjective homomorphism of torsion-free abelian groups, in $\\Ab$ it is the coequalizer of the two projections $A \\times_B A \\rightrightarrows A$, and $A \\times_B A$ is also torsion-free. Hence, it is also the coequalizer of these projections in $\\TorsFreeAb$." diff --git a/databases/catdat/data_yaml/categories/Vect.yaml b/databases/catdat/data_yaml/categories/Vect.yaml new file mode 100644 index 00000000..dd489bb9 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Vect.yaml @@ -0,0 +1,58 @@ +id: Vect +name: category of vector spaces +notation: $\Vect_K$ +objects: vector spaces over a field $K$ +morphisms: linear maps +description: This is a special case of the category of modules over a ring, where the ring is a field. It is the prototype of a split abelian category. +nlab_link: https://ncatlab.org/nlab/show/Vect + +tags: + - algebra + +related_categories: + - R-Mod + - R-Mod_div + +satisfied_properties: + - property_id: locally small + reason: There is a forgetful functor $\Vect \to \Set$ and $\Set$ is locally small. + + - property_id: split abelian + reason: It is a fact from linear algebra that every subspace has a complement. + + - property_id: finitary algebraic + reason: Take the algebraic theory of a vector space. + +unsatisfied_properties: + - property_id: skeletal + reason: This is trivial. + + - property_id: CSP + reason: The canonical homomorphism $\bigoplus_{n \geq 0} K \to \prod_{n \geq 0} K$ is not surjective, hence no epimorphism. + +special_objects: + initial object: + description: trivial vector space + terminal object: + description: trivial vector space + coproducts: + description: direct sums + products: + description: direct products with pointwise operations + +special_morphisms: + isomorphisms: + description: bijective linear maps + reason: This characterization holds in every algebraic category. + monomorphisms: + description: injective linear maps + reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + epimorphisms: + description: surjective linear maps + reason: The forgetful functor to abelian groups is faithful and preserves colimits, hence reflects and preserves epimorphisms. Alternatively, just use the same proof as for abelian groups. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: surjective homomorphisms + reason: This holds in every finitary algebraic category. diff --git a/databases/catdat/data_yaml/categories/Z.yaml b/databases/catdat/data_yaml/categories/Z.yaml new file mode 100644 index 00000000..f99265ce --- /dev/null +++ b/databases/catdat/data_yaml/categories/Z.yaml @@ -0,0 +1,101 @@ +id: Z +name: category of Z-functors +notation: $[\CRing, \Set]$ +objects: Z-functors, i.e. functors from commutative rings to sets +morphisms: natural transformations +description: This category is used in functorial algebraic geometry. It also provides a typical example of a functor category that is not locally small, but nevertheless relevant. Most of its properties are directly derived from the category of sets, so other functor categories $[\C, \Set]$ for large categories $\C$ will be similar. + +tags: + - algebraic geometry + - category theory + +related_categories: + - Sch + - Set + +satisfied_properties: + - property_id: complete + reason: This follows immediately from the fact for $\Set$. + + - property_id: cocomplete + reason: This follows immediately from the fact for $\Set$. + check_redundancy: false + + - property_id: infinitary extensive + reason: This follows immediately from the fact for $\Set$. + + - property_id: exact filtered colimits + reason: This follows immediately from the fact for $\Set$. + + - property_id: mono-regular + reason: This follows immediately from the fact for $\Set$. + check_redundancy: false + + - property_id: epi-regular + reason: This follows immediately from the fact for $\Set$. + + - property_id: regular + reason: This follows immediately from the fact for $\Set$. + + - property_id: coregular + reason: This follows immediately from the fact for $\Set$. + + - property_id: effective congruences + reason: '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$.' + + - property_id: effective cocongruences + reason: '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$.' + check_redundancy: false + + - property_id: co-Malcev + reason: This is true because the category of sets is co-Malcev. + check_redundancy: false + +unsatisfied_properties: + - property_id: locally essentially small + reason: See MO/390611 for example. + + - property_id: skeletal + reason: This is trivial. + + - property_id: Malcev + reason: Any counterexample for $\Set$ (i.e., any non-symmetric reflexive relation) yields one for this category by taking constant functors. + + - property_id: semi-strongly connected + reason: This is because already the full subcategory of representable functors is not semi-strongly connected, see the entry for $\CRing$. Specifically, there is no morphism between $\Hom(\IF_2,-)$ and $\Hom(\IF_3,-)$. + + - property_id: cartesian closed + reason: 'There are functors $F,G : \CRing \to \Set$ such that $\Hom(F,G)$ is not essentially small, see MO/390611 for example. Now if the exponential $[F,G] : \CRing \to \Set$ exists, we get $[F,G](\IZ) \cong \Hom(\Hom(\IZ,-),[F,G])$ by Yoneda, which simplifies to $\Hom(1,[F,G]) \cong \Hom(1 \times F,G) \cong \Hom(F,G)$, a contradiction.' + + - property_id: well-powered + reason: 'Consider the functor $F$ from MO/390611 for example. The collection of subobjects of $F$ is not isomorphic to a set: for each infinite cardinal $\kappa$, simply cut off the construction of $F$ at $\kappa$. This yields a different subobject for each $\kappa$.' + + - property_id: cofiltered-limit-stable epimorphisms + reason: 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. + +special_objects: + initial object: + description: constant functor with value $\varnothing$ + terminal object: + description: constant functor with value $1$ + coproducts: + description: pointwise disjoint union + products: + description: pointwise defined direct product + +special_morphisms: + isomorphisms: + description: natural isomorphisms + reason: This is true for all functor categories. + monomorphisms: + description: pointwise injective natural transformations + reason: "If $a : F \\to G$ is a monomorphism of Z-functors, then the diagonal morphism $F \\to F \\times_G F$ is an isomorphism, so that for every $R$ the diagonal morphism $F(R) \\to F(R) \\times_{G(R)} F(R)$ is an isomorphism, i.e., $a(R) : F(R) \\to G(R)$ is a monomorphism. This argument works for every functor category where the target has fiber products." + epimorphisms: + description: objectwise surjective natural transformations + reason: This holds in every functor category $[\C,\Set]$, here applied to the case that $\C$ has just one object. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/Z_div.yaml b/databases/catdat/data_yaml/categories/Z_div.yaml new file mode 100644 index 00000000..19517c46 --- /dev/null +++ b/databases/catdat/data_yaml/categories/Z_div.yaml @@ -0,0 +1,70 @@ +id: Z_div +name: proset of integers w.r.t. divisibility +notation: $(\IZ,\mid)$ +objects: integers +morphisms: "a unique morphism $(a,b) : a \\to b$ if $a$ divides $b$" +description: This is a proset, not a poset, because $a$ and $-a$ divide each other, but are not equal for $a \neq 0$. Notice that this category is equivalent (but not isomorphic) to $(\IN,\mid)$. + +tags: + - number theory + - thin + +related_categories: + - N + +satisfied_properties: + - property_id: small + reason: This is trivial. + + - property_id: countable + reason: This is trivial. + + - property_id: thin + reason: This is trivial. + check_redundancy: false + + - property_id: distributive + reason: "We need to prove $\\lcm_i \\gcd(a, b_i) \\cong \\gcd(a, \\lcm_i b_i)$ for finite families. If $x$ denotes the LHS and $y$ denotes the RHS, the relation $x \\mid y$ is formal. If $v_p(-) : \\IZ \\to \\IN_{\\infty}$ denotes the multiplicity of a prime $p$, then $v_p(x)$ equals $\\max_i \\min(v_p(a),v_p(b_i))$, and $v_p(y)$ equals $\\min(v_p(a), \\max_i v_p(b_i))$. Since our family is finite, there is some $i_0$ with $\\max_i v_p(b_i) = v_p(b_{i_0})$. Then $v_p(x) \\geq \\min(v_p(a),v_p(b_{i_0})) = v_p(y)$. This proves $y \\mid x$." + + - property_id: locally ℵ₁-presentable + reason: Every $\aleph_1$-directed diagram is eventually constant. + +unsatisfied_properties: + - property_id: skeletal + reason: The integers $+1$ and $-1$ are isomorphic, but not equal. + + - property_id: self-dual + reason: The only integer with infinitely many divisors (up to isomorphism) is $0$. But many integers have infinitely many multiples (up to isomorphism). + + - property_id: countably distributive + reason: We have $2 \times \coprod_n 3^n = \gcd(2,\lcm_n(3^n)) = \gcd(2,0) = 2$, but $\coprod_n (2 \times 3^n) = \lcm_n \gcd(2,3^n) = \lcm_n 1 = 1$. + + - property_id: countably codistributive + reason: If $p$ runs through all odd primes, we have $2 \sqcup \prod_p p = \lcm(2,\gcd_p p) = \lcm(2,0) = 0$, but $\prod_p (2 \sqcup p) = \gcd_p (\lcm(2,p)) = \gcd_p (2 \cdot p) = 2$. + +special_objects: + initial object: + description: $1$ + terminal object: + description: $0$ + coproducts: + description: the least common multiple, can be $0$ for infinite families + products: + description: greatest common divisor + +special_morphisms: + isomorphisms: + description: "the identities $(a,a) : a \\to a$ and the isomorphisms $(a,-a) : a \\to -a$ for $a \\in \\IZ$" + reason: This is trivial. + monomorphisms: + description: every morphism + reason: It is a thin category. + epimorphisms: + description: every morphism + reason: It is a thin category. + regular monomorphisms: + description: same as isomorphisms + reason: This is because the category is right cancellative. + regular epimorphisms: + description: same as isomorphisms + reason: This is because the category is left cancellative. diff --git a/databases/catdat/data_yaml/categories/real_interval.yaml b/databases/catdat/data_yaml/categories/real_interval.yaml new file mode 100644 index 00000000..37717448 --- /dev/null +++ b/databases/catdat/data_yaml/categories/real_interval.yaml @@ -0,0 +1,70 @@ +id: real_interval +name: poset [0,1] +notation: $([0,1],\leq)$ +objects: real numbers between $0$ and $1$ +morphisms: "a unique morphism $(s,t) : s \\to t$ when $s \\leq t$" +description: Every poset can be regarded as a small thin category. This is a specific example. This category is locally $\aleph_1$-presentable (in fact, every object is $\aleph_1$-presentable), but not locally finitely presentable (in fact, only $0$ is finitely presentable). +nlab_link: https://ncatlab.org/nlab/show/interval + +tags: + - analysis + - thin + +related_categories: + - N_oo + +satisfied_properties: + - property_id: small + reason: This is trivial. + + - property_id: self-dual + reason: Take $t \mapsto 1-t$. + + - property_id: semi-strongly connected + reason: This is trivial. + + - property_id: locally ℵ₁-presentable + reason: See MSE/4481902. + + - property_id: skeletal + reason: The relation $\leq$ is antisymmetric. + +unsatisfied_properties: + - property_id: essentially countable + reason: This is trivial. + + - property_id: locally finitely presentable + reason: It suffices to prove that $0$ (the initial object) is the only finitely presentable object. If $s > 0$, then $s = \sup_{n \in \IN, \, s \geq 1/n } (s - 1/n)$, but there is no $n$ with $s \leq s - 1/n$. + + - property_id: direct + reason: Consider the strictly decreasing sequence $1/2^n$ for $n \geq 0$. + + - property_id: inverse + reason: Consider the strictly increasing sequence $1 - 1/2^n$ for $n \geq 0$. + +special_objects: + initial object: + description: $0$ + terminal object: + description: $1$ + coproducts: + description: supremum + products: + description: infimum + +special_morphisms: + isomorphisms: + description: only the identity morphisms + reason: This is true for every poset (regarded as a category). + monomorphisms: + description: every morphism + reason: It is a thin category. + epimorphisms: + description: every morphism + reason: It is a thin category. + regular monomorphisms: + description: same as isomorphisms + reason: This is because the category is right cancellative. + regular epimorphisms: + description: same as isomorphisms + reason: This is because the category is left cancellative. diff --git a/databases/catdat/data_yaml/categories/sSet.yaml b/databases/catdat/data_yaml/categories/sSet.yaml new file mode 100644 index 00000000..2cc7647f --- /dev/null +++ b/databases/catdat/data_yaml/categories/sSet.yaml @@ -0,0 +1,64 @@ +id: sSet +name: category of simplicial sets +notation: $\sSet$ +objects: simplicial sets, i.e. functors $\Delta^{\op} \to \Set$ where $\Delta$ is the simplex category +morphisms: natural transformations +nlab_link: https://ncatlab.org/nlab/show/SimpSet + +tags: + - category theory + - topology + +related_categories: + - Delta + - Top + +satisfied_properties: + - property_id: locally small + reason: This follows from the general fact that $[\C,\D]$ is locally small when $\C$ is small and $\D$ is locally small, here applied to $\C = \Delta^{\op}$ and $\D = \Set$. + + - property_id: Grothendieck topos + reason: This is clear from the definitions. + + - property_id: generator + reason: 'Let $\Delta^n := \Hom([n],-)$ be the standard $n$-simplex for $n \geq 0$. The set $\{\Delta^n : n \geq 0\}$ is a generating set by the Yoneda Lemma. For all $n,m$ there is a morphism $[n] \to [m]$ in $\Delta$ and hence a morphism $\Delta^m \to \Delta^n$ in $\sSet$. Then by this lemma the coproduct $\coprod_{n \geq 0} \Delta^n$ is a generator in $\sSet$.' + + - property_id: locally strongly finitely presentable + reason: This follows from the fact that every category of presheaves over a small category is locally strongly finitely presentable. + + - property_id: semi-strongly connected + reason: Let $X,Y$ be two simplicial sets. Assume that $X_0$ is empty. Then $X_n$ is empty for all $n$ since there is a morphism $[0] \to [n]$, hence a map $X_n \to X_0$. So there is a morphism $X \to Y$ for trivial reasons. If $X_0$ is non-empty, pick an element. By the Yoneda Lemma it corresponds to a morphism $\Delta^0 \to X$. Since $\Delta^0 = 1$ is terminal, there is a morphism $Y \to \Delta^0$, and these compose to a morphism $Y \to X$. + +unsatisfied_properties: + - property_id: skeletal + reason: This is trivial. + + - property_id: finitary algebraic + reason: A one-sorted finitary algebraic category has an object $F$ (the free algebra on one generator) such that $F$ is finitely presentable and every object $X$ admits an epimorphism $\coprod_{s \in S} F \to X$ for some index set $S$. Assume that such a simplicial set $F$ exists. By using the sequence of $n$-skeletons of $F$, we see that there is some $n$ such that every $n$-simplex in $F$ is degenerate. Now take $X = \Delta^n$, which has a non-degenerate $n$-simplex. Then there cannot be an epimorphism $\coprod_{s \in S} F \to X$. + +special_objects: + initial object: + description: simplicial set $X$ with $X_n = \varnothing$ + terminal object: + description: simplicial set $X$ with $X_n = 1$ + coproducts: + description: pointwise disjoint union + products: + description: pointwise defined direct product + +special_morphisms: + isomorphisms: + description: natural isomorphisms + reason: This is true for all functor categories. + monomorphisms: + description: pointwise injective transformations + reason: "If $a : F \\to G$ is a monomorphism of simplicial sets, then the diagonal morphism $F \\to F \\times_G F$ is an isomorphism, so that for every $n$ the diagonal morphism $F(n) \\to F(n) \\times_{G(n)} F(n)$ is an isomorphism, i.e., $a(n) : F(n) \\to G(n)$ is a monomorphism. This argument works for every functor category where the target has fiber products." + epimorphisms: + description: pointwise surjective transformations + reason: This holds in every functor category $[\C,\Set]$. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/walking_commutative_square.yaml b/databases/catdat/data_yaml/categories/walking_commutative_square.yaml new file mode 100644 index 00000000..3a0cfd1c --- /dev/null +++ b/databases/catdat/data_yaml/categories/walking_commutative_square.yaml @@ -0,0 +1,71 @@ +id: walking_commutative_square +name: walking commutative square +notation: $\{0 \to 1\}^2$ +objects: four objects $a,b,c,d$ +morphisms: morphisms $a \to b$, $b \to d$, $a \to c$, $c \to d$, identities, and one morphism $a \to d$ +description: |- + This category consists of a commutative square: + $$\begin{CD} a @>>> b \\ @VVV @VVV \\ c @>>> d \end{CD}$$ + Its name comes from the fact that a functor out of it is the same as a commutative square in the target category. Notice that the category is isomorphic to the product category $\{0 \to 1\} \times \{0 \to 1\}$ of the walking morphism with itself. Hence, most (but not all) properties are inherited from it. It is also isomorphic to the partial order of positive divisors of $6$. +nlab_link: https://ncatlab.org/nlab/show/commutative+square +tags: + - category theory + - finite + - thin + +related_categories: + - walking_fork + - walking_morphism + +satisfied_properties: + - property_id: self-dual + reason: This is trivial. + + - property_id: finite + reason: This is trivial. + + - property_id: small + reason: This is trivial. + + - property_id: skeletal + reason: The four objects are not isomorphic. + + - property_id: locally cartesian closed + reason: This is because the walking morphism has this property. + + - property_id: locally strongly finitely presentable + reason: This is because the walking morphism has this property. Alternatively, we may represent this category as the category of algebras for the finitary algebraic theory with two sorts $S_1,S_2$, the equation $x=y$ for $x,y \in S_1$, and the equation $x=y$ for $x,y \in S_2$. + +unsatisfied_properties: + - property_id: semi-strongly connected + reason: There is no morphism between $b$ and $c$ (resp., between $(0,1)$ and $(1,0)$). + + - property_id: finitary algebraic + reason: This follows from this lemma. + +special_objects: + initial object: + description: $a$ + terminal object: + description: $d$ + coproducts: + description: $b \sqcup c = d$, $a \sqcup x = x$, $d \sqcup x = d$, $x \sqcup x = x$ + products: + description: $b \times c = a$, $x \times x = x$, $a \times x = a$, $d \times x = x$ + +special_morphisms: + isomorphisms: + description: the four identities + reason: This is trivial. + monomorphisms: + description: every morphism + reason: It is a thin category. + epimorphisms: + description: every morphism + reason: It is a thin category. + regular monomorphisms: + description: same as isomorphisms + reason: This is because the category is right cancellative. + regular epimorphisms: + description: same as isomorphisms + reason: This is because the category is left cancellative. diff --git a/databases/catdat/data_yaml/categories/walking_composable_pair.yaml b/databases/catdat/data_yaml/categories/walking_composable_pair.yaml new file mode 100644 index 00000000..07cc6852 --- /dev/null +++ b/databases/catdat/data_yaml/categories/walking_composable_pair.yaml @@ -0,0 +1,68 @@ +id: walking_composable_pair +name: walking composable pair +notation: $\{ 0 \to 1 \to 2 \}$ +objects: three objects $0,1,2$ +morphisms: a single morphism from each natural number to one greater than or equal to it +description: The name of this category comes from the fact that a functor out of it is the same as a composable pair of morphisms. +nlab_link: https://ncatlab.org/nlab/show/composable+pair + +tags: + - category theory + - finite + - thin + +related_categories: + - walking_fork + - walking_morphism + +satisfied_properties: + - property_id: finite + reason: This is trivial. + + - property_id: small + reason: This is trivial. + + - property_id: semi-strongly connected + reason: This is trivial. + + - property_id: skeletal + reason: This is trivial. + + - property_id: self-dual + reason: This is trivial. + + - property_id: locally strongly finitely presentable + reason: |- + Take the two-sorted (finitary) algebraic theory with exactly one unary operation between them and the equation $x=y$ for each sort. There are exactly three algebras for this theory up to isomorphism: the identities on the empty set and the singleton, the morphism from the empty set to the singleton. + Hence we get the equivalence to $\{0 \to 1 \to 2\}$. + +unsatisfied_properties: + - property_id: finitary algebraic + reason: This follows from this lemma. + +special_objects: + initial object: + description: $0$ + terminal object: + description: $2$ + coproducts: + description: supremum taken in $\{0 < 1 < 2\}$ + products: + description: infimum taken in $\{0 < 1 < 2\}$ + +special_morphisms: + isomorphisms: + description: the three identities + reason: This is trivial. + monomorphisms: + description: every morphism + reason: It is a thin category. + epimorphisms: + description: every morphism + reason: It is a thin category. + regular monomorphisms: + description: same as isomorphisms + reason: This is because the category is right cancellative. + regular epimorphisms: + description: same as isomorphisms + reason: This is because the category is left cancellative. diff --git a/databases/catdat/data_yaml/categories/walking_coreflexive_pair.yaml b/databases/catdat/data_yaml/categories/walking_coreflexive_pair.yaml new file mode 100644 index 00000000..47dd726d --- /dev/null +++ b/databases/catdat/data_yaml/categories/walking_coreflexive_pair.yaml @@ -0,0 +1,92 @@ +id: walking_coreflexive_pair +name: walking coreflexive pair +notation: $\Delta^{\leq 1}$ +objects: two objects $[0]$ and $[1]$ +morphisms: "the identities, two morphisms $i,j : [0] \\rightrightarrows [1]$, a morphism $p : [1] \\to [0]$ with $p i = p j = \\id_{[0]}$, and the two idempotent morphisms $ip, jp : [1] \\to [1]$." +description: |- + This category is equal to the truncated simplex category $\Delta^{\leq 1}$, i.e. the full subcategory of $\Delta$ spanned by $[0] = \{0\}$ and $[1] = \{0 < 1\}$; this also explains our notation of the category and its objects. + $$[0] \begin{array}{c} \xhookrightarrow{~~i~~} \\ \xtwoheadleftarrow{~~p~~} \\ \xhookrightarrow{~~j~~} \end{array} [1]$$ + The morphisms $i,j$ are the two inclusions, $p$ is their unique retraction, and $ip,jp : [1] \to [1]$ are the two constant maps. The name of this category comes from the fact that a functor out of it is the same as a coreflexive pair in the target category. Its dual is therefore the walking reflexive pair. + +tags: + - category theory + - finite + +related_categories: + - Delta + - walking_pair + - walking_splitting + +satisfied_properties: + - property_id: finite + reason: This is trivial. + + - property_id: small + reason: This is trivial. + + - property_id: strongly connected + reason: This is trivial. + + - property_id: gaunt + reason: This is obvious. + + - property_id: terminal object + reason: The object $[0]$ is terminal since it is already terminal in $\Delta$. + + - property_id: epi-regular + reason: "The only non-identity epimorphism is $p$, which is the coequalizer of $\\id, ip : [1] \\rightrightarrows [1]$ (since $pi = \\id$)." + + - property_id: mono-regular + reason: "The only non-identity monomorphisms are $i$ and $j$. The morphism $i$ is the equalizer of $\\id, ip : [1] \\rightrightarrows [1]$ (since $pi = \\id$), and for $j$ it is the same argument." + + - property_id: coequalizers + reason: 'We already know that the simplex category $\Delta$ has coequalizers, and the proof has shown that the cardinality does not increase, so we are done. But a direct proof is also possible: There are four non-equal parallel pairs: $(i,j)$, $(ip,jp)$, $(\id,ip)$, and $(\id,jp)$. The first two have the same coequalizer (if it exists) since $p$ is an epimorphism, the last two are symmetric, and we already remarked that $p$ is a coequalizer of $(\id,ip)$. So it suffices to check that $p$ is a coequalizer of $i,j$, which is easy.' + + - property_id: generator + reason: The object $[0]$ is generator since this is already true in $\Delta$. A direct proof is also possible. + + - property_id: cogenerator + reason: The object $[1]$ is cogenerator since this is already true in $\Delta$. A direct proof is also possible. + + - property_id: cosifted + reason: Our proof that the simplex category $\Delta$ is cosifted has only used $[0],[1]$ as auxiliary objects and therefore also shows that $\Delta^{\leq 1}$ is cosifted. + + - property_id: generalized variety + reason: This actually holds for every truncated simplex category $\Delta^{\leq n}$. See MO/510760 for a proof that sifted colimits exist. See MO/510827 for a proof that every object is strongly finitely presentable. + +unsatisfied_properties: + - property_id: strict terminal object + reason: "The morphism $i : [0] \\to [1]$ from the terminal object $[0]$ is a witness." + + - property_id: cofiltered + reason: "The morphisms $i,j : [0] \\rightrightarrows [1]$ are not equalized by any morphism." + + - property_id: coreflexive equalizers + reason: "The coreflexive pair $i,j : [0] \\rightrightarrows [1]$ has no equalizer, in fact is not equalized by any morphism." + + - property_id: pushouts + reason: Assume that $[1] \xleftarrow{i} [0] \xrightarrow{i} [1]$ has a pushout in $\Delta^{\leq 1}$, where $i(0)=0$. This amounts to a universal totally ordered set of cardinality $\leq 2$ with elements $a,b,c$ satisfying $a \leq b$, $a \leq c$. Since a finite totally ordered set has trivial automorphism group, the automorphism defined by $a \mapsto a$, $b \mapsto c$, $c \mapsto b$ must be the identity, i.e., we have $b = c$. However, in $[1]$ the equations $0 \leq 0$, $0 \leq 1$ then show that the universal property fails. + + - property_id: multi-complete + reason: 'This follows directly from existing results: If its dual, the walking reflexive pair, was multi-cocomplete, then since it is also accessible, it would be locally multi-presentable. But then it would have connected limits, in particular pullbacks.' + +special_objects: + terminal object: + description: $[1]$ + +special_morphisms: + isomorphisms: + description: the two identities + reason: This is obvious. + monomorphisms: + description: the identities and $i$, $j$ + reason: Since $pi = \id$, but $ip \neq \id$, we conclude that $i$ is a monomorphism, but $p$ is not. Likewise, $j$ is a monomorphism. Since $p$ is not a monomorphism, $ip$ and $jp$ are also no monomorphisms. + epimorphisms: + description: the identities and $p$ + reason: Since $pi = \id$, but $ip \neq \id$, we conclude that $p$ is an epimorphism, but $i$ is not. Hence, also $ip$ is not an epimorphism. Likewise, $j$ and $jp$ are no epimorphisms. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/data_yaml/categories/walking_fork.yaml b/databases/catdat/data_yaml/categories/walking_fork.yaml new file mode 100644 index 00000000..c74ecdaf --- /dev/null +++ b/databases/catdat/data_yaml/categories/walking_fork.yaml @@ -0,0 +1,77 @@ +id: walking_fork +name: walking fork +notation: $\{0 \to 1 \rightrightarrows 2\}$ +objects: three objects $0,1,2$ +morphisms: "one morphism $i : 0 \\to 1$, two morphisms $f,g : 1 \\rightrightarrows 2$, one morphism $0 \\to 2$ (namely, $f \\circ i = g \\circ i$), and the identities" +description: The name of this category comes from the fact that a functor out of it is the same as a fork. + +tags: + - category theory + - finite + +related_categories: + - walking_commutative_square + - walking_composable_pair + - walking_pair + +satisfied_properties: + - property_id: finite + reason: This is trivial. + + - property_id: small + reason: This is trivial. + + - property_id: semi-strongly connected + reason: This is obvious. + + - property_id: skeletal + reason: The three objects are clearly not isomorphic. + + - property_id: generator + reason: It is easy to check that $1$ is a generator. + + - property_id: cogenerator + reason: It is easy to check that $2$ is a cogenerator. + + - property_id: left cancellative + reason: It is easy to check that $i,f,g$ are monomorphisms. + + - property_id: equalizers + reason: The only pair of distinct parallel morphisms is $f,g$, and their equalizer is $i$. + + - property_id: locally cartesian closed + reason: We need to check that every slice category is cartesian closed. The slice category over $0$ is the trivial category. The slice category over $1$ is the walking morphism. Finally, the slice category over $2$ ist the walking commutative square. All of these are cartesian closed, see their pages for details. + + - property_id: one-way + reason: This is trivial. + +unsatisfied_properties: + - property_id: balanced + reason: Both $f$ and $g$ are monomorphisms and epimorphisms. + + - property_id: binary powers + reason: "Assume that $X := 2 \\times 2$ exists. Since there is a diagonal morphism $2 \\to X$, we must have $X = 2$, and the two projections $p_1,p_2 : X \\rightrightarrows 2$ must be equal to the identity. But $f,g$ induce a morphism $(f,g) : 1 \\to X$ with $p_1 (f,g) = f$ and $p_2 (f,g) = g$, so that $f=g$, a contradiction." + + - property_id: strongly connected + reason: There is no morphism $1 \to 0$. + +special_objects: + initial object: + description: $0$ + +special_morphisms: + isomorphisms: + description: the three identities + reason: This is trivial. + monomorphisms: + description: every morphism + reason: This is easily checked. + epimorphisms: + description: the identities and $f,g$ + reason: This is easily checked. + regular monomorphisms: + description: the identities and $i$ + reason: First, $i$ is the equalizer of $f,g$. The morphism $f$ is an epimorphism (and a monomorphism), but no isomorphism, hence cannot be a regular monomorphism. The same holds for $g$. + regular epimorphisms: + description: same as isomorphisms + reason: This is because the category is left cancellative. diff --git a/databases/catdat/data_yaml/categories/walking_idempotent.yaml b/databases/catdat/data_yaml/categories/walking_idempotent.yaml new file mode 100644 index 00000000..7b7afd7e --- /dev/null +++ b/databases/catdat/data_yaml/categories/walking_idempotent.yaml @@ -0,0 +1,68 @@ +id: walking_idempotent +name: walking idempotent +notation: $\Idem$ +objects: a single object $0$ +morphisms: "two morphisms $\\id_0,e : 0 \\to 0$ with $e^2=e$" +description: The name of this category comes from the fact that a functor out of it is the same as an idempotent morphism in the target category. It can also be seen as the delooping of the monoid $\{1,e\}$ in which $e^2=e$. + +tags: + - category theory + - finite + - single object + +related_categories: + - BG_f + - walking_isomorphism + - walking_morphism + - walking_splitting + +satisfied_properties: + - property_id: finite + reason: This is trivial. + + - property_id: small + reason: This is trivial. + + - property_id: generator + reason: The unique object is a generator for trivial reasons. + + - property_id: gaunt + reason: This is obvious. + + - property_id: self-dual + reason: This is obvious. + + - property_id: subobject-trivial + reason: This is because the identity is the only monomorphism. + + - property_id: preadditive + reason: The monoid $\{1,e\}$ with $e^2=e$ is the underlying multiplicative monoid of the ring $\IZ/2$, where $e=0$. Thus, the (unique) preadditive structure is given by $1 + e = e + 1 = 1$, $e + e = e$ and $1 + 1 = e$. + + - property_id: filtered + reason: The pair $\id,e$ is coequalized by $e$ (non-universally). + +unsatisfied_properties: + - property_id: terminal object + reason: This is obvious. + + - property_id: Cauchy complete + reason: The idempotent $e$ does not split. + +special_objects: {} + +special_morphisms: + isomorphisms: + description: the identity + reason: This is trivial. + monomorphisms: + description: the identity + reason: This is trivial. + epimorphisms: + description: the identity + reason: This is trivial. + regular monomorphisms: + description: the identity + reason: This is trivial. + regular epimorphisms: + description: the identity + reason: This is trivial. diff --git a/databases/catdat/data_yaml/categories/walking_isomorphism.yaml b/databases/catdat/data_yaml/categories/walking_isomorphism.yaml new file mode 100644 index 00000000..8a6a3741 --- /dev/null +++ b/databases/catdat/data_yaml/categories/walking_isomorphism.yaml @@ -0,0 +1,58 @@ +id: walking_isomorphism +name: walking isomorphism +notation: $\{0 \rightleftarrows 1\}$ +objects: two objects $0$ and $1$ +morphisms: identities, and two morphisms $0 \to 1$ and $1 \to 0$ that are mutually inverse +description: The name of this category comes from the fact that it consists of two objects and an isomorphism between them, and a functor out of this category is the same as an isomorphism in the target category. The walking isomorphism is actually equivalent to the trivial category. +nlab_link: https://ncatlab.org/nlab/show/walking+isomorphism + +tags: + - category theory + - finite + - thin + +related_categories: + - '1' + - walking_idempotent + - walking_morphism + +satisfied_properties: + - property_id: trivial + reason: The inclusion $\{0\} \hookrightarrow \{0 \to 1\}$ is clearly an equivalence. + + - property_id: finite + reason: This is trivial. + + - property_id: small + reason: This is trivial. + +unsatisfied_properties: + - property_id: skeletal + reason: The two objects are isomorphic, but different. + +special_objects: + initial object: + description: both objects + terminal object: + description: both objects + coproducts: + description: $0 \sqcup 0 = 0$ + products: + description: $0 \times 0 = 0$ + +special_morphisms: + isomorphisms: + description: every morphism + reason: This is trivial. + monomorphisms: + description: every morphism + reason: This is trivial. + epimorphisms: + description: every morphism + reason: This holds because it is a groupoid. + regular monomorphisms: + description: same as isomorphisms + reason: This is because the category is right cancellative. + regular epimorphisms: + description: same as isomorphisms + reason: This is because the category is left cancellative. diff --git a/databases/catdat/data_yaml/categories/walking_morphism.yaml b/databases/catdat/data_yaml/categories/walking_morphism.yaml new file mode 100644 index 00000000..b299073e --- /dev/null +++ b/databases/catdat/data_yaml/categories/walking_morphism.yaml @@ -0,0 +1,71 @@ +id: walking_morphism +name: walking morphism +notation: $\{0 \to 1\}$ +objects: $0$, $1$ +morphisms: the two identities and a single morphism from $0$ to $1$ +description: This is also known as the interval category. It has the property that functors $\{0 \to 1\} \to \C$ are the same as morphisms in $\C$. +nlab_link: https://ncatlab.org/nlab/show/interval+category + +tags: + - category theory + - finite + - thin + +related_categories: + - walking_commutative_square + - walking_composable_pair + - walking_idempotent + - walking_isomorphism + - walking_pair + - walking_span + - walking_splitting + +satisfied_properties: + - property_id: finitary algebraic + reason: Take the algebraic theory with no operations but with the equation $x=y$ that is supposed to hold for all elements $x,y$. The algebras for this theory are the empty set and the singleton set, hence we get the equivalence to $\{0 \to 1\}$. + + - property_id: self-dual + reason: This is trivial. + + - property_id: finite + reason: This is trivial. + + - property_id: small + reason: This is trivial. + + - property_id: skeletal + reason: The two objects are not isomorphic. + + - property_id: semi-strongly connected + reason: This is trivial. + +unsatisfied_properties: + - property_id: trivial + reason: This is trivial. + +special_objects: + initial object: + description: $0$ + terminal object: + description: $1$ + coproducts: + description: $0 \sqcup x = x$, $1 \sqcup x = 1$ + products: + description: $0 \times x = 0$, $1 \times x = x$ + +special_morphisms: + isomorphisms: + description: the two identities + reason: This is trivial. + monomorphisms: + description: every morphism + reason: It is a thin category. + epimorphisms: + description: every morphism + reason: It is a thin category. + regular monomorphisms: + description: same as isomorphisms + reason: This is because the category is right cancellative. + regular epimorphisms: + description: same as isomorphisms + reason: This is because the category is left cancellative. diff --git a/databases/catdat/data_yaml/categories/walking_pair.yaml b/databases/catdat/data_yaml/categories/walking_pair.yaml new file mode 100644 index 00000000..ac58ac37 --- /dev/null +++ b/databases/catdat/data_yaml/categories/walking_pair.yaml @@ -0,0 +1,70 @@ +id: walking_pair +name: walking parallel pair +notation: $\{0 \rightrightarrows 1 \}$ +objects: two objects $0$ and $1$ +morphisms: the two identities and two parallel morphisms from $0$ to $1$ +description: The name of this category comes from the fact that it consists of two parallel morphisms, and a functor out of this category is the same as a parallel pair of morphisms in the target category. +nlab_link: https://ncatlab.org/nlab/show/walking+structure + +tags: + - category theory + - finite + +related_categories: + - walking_coreflexive_pair + - walking_fork + - walking_morphism + +satisfied_properties: + - property_id: finite + reason: This is trivial. + + - property_id: small + reason: This is trivial. + + - property_id: self-dual + reason: This is trivial. + + - property_id: semi-strongly connected + reason: This is trivial. + + - property_id: generator + reason: It is easy to check that $0$ is a generator. + + - property_id: left cancellative + reason: The two morphisms $0 \rightrightarrows 1$ are clearly monomorphisms. + + - property_id: skeletal + reason: The two objects are not isomorphic. + + - property_id: one-way + reason: This is trivial. + + - property_id: sifted colimits + reason: A proof can be found here. + +unsatisfied_properties: + - property_id: pullbacks + reason: "The two morphisms $a,b : 0 \\rightrightarrows 1$ have no pullback, since it would have to consist of identities $0 \\leftarrow 0 \\rightarrow 0$, but $a \\neq b$." + + - property_id: strongly connected + reason: There is no morphism $1 \to 0$. + +special_objects: {} + +special_morphisms: + isomorphisms: + description: the two identities + reason: This is trivial. + monomorphisms: + description: every morphism + reason: This is trivial. + epimorphisms: + description: every morphism + reason: Each $0 \to 1$ is an epimorphism since the only morphism starting at $1$ is the identity. + regular monomorphisms: + description: same as isomorphisms + reason: This is because the category is right cancellative. + regular epimorphisms: + description: same as isomorphisms + reason: This is because the category is left cancellative. diff --git a/databases/catdat/data_yaml/categories/walking_span.yaml b/databases/catdat/data_yaml/categories/walking_span.yaml new file mode 100644 index 00000000..6807cd34 --- /dev/null +++ b/databases/catdat/data_yaml/categories/walking_span.yaml @@ -0,0 +1,68 @@ +id: walking_span +name: walking span +notation: $\{1 \leftarrow 0 \rightarrow 2\}$ +objects: $0,1,2$ +morphisms: $0 \to 1$, $0 \to 2$, and the identities +description: The name of this category comes from the fact that a functor out of it is the same as a span in the target category. It is isomorphic to the partial order of proper positive divisors of $6$. +nlab_link: https://ncatlab.org/nlab/show/span#the_walking_span + +tags: + - category theory + - finite + - thin + +related_categories: + - walking_morphism + - walking_pair + +satisfied_properties: + - property_id: finite + reason: This is trivial. + + - property_id: small + reason: This is trivial. + + - property_id: skeletal + reason: The three objects are not isomorphic. + + - property_id: initial object + reason: $0$ is an initial object. + + - property_id: thin + reason: This is trivial. + + - property_id: binary products + reason: We have $0 \times x = 0$ for all $x$, $x \times x = x$, and $1 \times 2 = 0$. + + - property_id: locally cartesian closed + reason: The slice category over $0$ is the trivial category, and the slice category over $1$ is the interval category, which is cartesian closed (see there). The same holds for $2$ by symmetry. + + - property_id: multi-algebraic + reason: We first remark that for a set $X$, the identity span $(\id,\id)\colon X \leftarrow X \rightarrow X$ exhibits a product if and only if $X$ is either a singleton or the empty set. Therefore, there is a (finite product, coproduct)-sketch whose $\Set$-model is precisely a pair $(X,Y)$ of sets such that each of $X$ and $Y$ is either a singleton or the empty set and the product $X \times Y$ is the empty set. Any $\Set$-model of such a sketch is isomorphic to either $(\varnothing, \varnothing)$, $(\varnothing, 1)$, or $(1, \varnothing)$; hence the category of models is equivalent to the walking span. + +unsatisfied_properties: + - property_id: sifted + reason: There is no cospan between $1$ and $2$. + +special_objects: + initial object: + description: $0$ + products: + description: "[binary case] $1 \\times 2 = 0$, $x \\times x = x$, $0 \\times x = 0$" + +special_morphisms: + isomorphisms: + description: the three identities + reason: This is trivial. + monomorphisms: + description: every morphism + reason: It is a thin category. + epimorphisms: + description: every morphism + reason: It is a thin category. + regular monomorphisms: + description: same as isomorphisms + reason: This is because the category is right cancellative. + regular epimorphisms: + description: same as isomorphisms + reason: This is because the category is right cancellative. diff --git a/databases/catdat/data_yaml/categories/walking_splitting.yaml b/databases/catdat/data_yaml/categories/walking_splitting.yaml new file mode 100644 index 00000000..7b4129ff --- /dev/null +++ b/databases/catdat/data_yaml/categories/walking_splitting.yaml @@ -0,0 +1,80 @@ +id: walking_splitting +name: walking splitting +notation: $\Split$ +objects: two objects $0$ and $1$ +morphisms: "the identities, morphisms $i : 0 \\to 1$, $p : 1 \\to 0$ satisfying $pi = \\id_0$, and the idempotent $ip : 1 \\to 1$." +description: This category could also be called the "walking split idempotent" (or "walking section", "walking retraction"), but we chose a name that emphasizes that the splitting belongs to the data. Notice that the $5$ given morphisms are indeed closed under composition. For example, $p \circ ip = p$ and $ip \circ i = i$.
The walking splitting can be interpreted as a skeleton of the category of $\IF_2$-vector spaces of dimension $\leq 1$. + +tags: + - category theory + - finite + +related_categories: + - walking_coreflexive_pair + - walking_idempotent + - walking_isomorphism + +satisfied_properties: + - property_id: finite + reason: This is trivial. + + - property_id: small + reason: This is trivial. + + - property_id: gaunt + reason: This is obvious. + + - property_id: pointed + reason: The object $0$ is initial and terminal. This also means that $\id_0, i, p, ip$ are zero morphisms. The only non-zero morphism is $\id_1$. + + - property_id: equalizers + reason: "The only parallel pair of non-equal morphisms is $\\id_1, ip : 1 \\rightrightarrows 1$, and their equalizer is $i$." + + - property_id: self-dual + reason: There is an isomorphism $\Split^\op \to \Split$ defined by $0 \mapsto 0$, $1 \mapsto 1$, $i \mapsto p$, $p \mapsto i$. + + - property_id: normal + reason: "The only non-identity monomorphism is $i : 0 \\to 1$, which is the kernel of $\\id_1$." + + - property_id: generator + reason: "The object $1$ a generator, since the only parallel pair of non-equal morphisms is $\\id_1, ip : 1 \\rightrightarrows 1$ with domain $1$." + + - property_id: preadditive + reason: "We can define $\\id_1 + \\id_1 := ip$ (and it is clear how to add zero morphisms) and then verify that the axioms of a preadditive category hold. Alternatively, it suffices to find a preadditive category which is isomorphic to the walking splitting: Consider the full subcategory of $\\Vect_{\\IF_2}$ that consists only of the trivial vector space $\\{0\\}$ and $\\IF_2$. Since $\\Vect_{\\IF_2}$ is preadditive, it is preadditive as well. It has two objects, two identities, the morphisms $i : \\{0\\} \\to \\IF_2$, $p : \\IF_2 \\to \\{0\\}$, and the zero morphism $ip : \\IF_2 \\to \\IF_2$. Clearly, $pi$ is the identity." + + - property_id: sifted colimits + reason: |- + We work with the representation of the category as $\Vect^{\leq 1}_{\IF_2}$, the category of vector spaces over $\IF_2$ of dimension $\leq 1$. It suffices to show that it is closed under sifted colimits in $\Vect_{\IF_2}$. More generally, we show this for $\Vect^{\leq d}_K \subseteq \Vect_K$, where $d \in \IN$ and $K$ is a field. So let $X : \I \to \Vect_K$ be a sifted diagram with colimit $(u_i : X_i \to X_\infty)_{i \in \I}$. Since $\I$ is sifted, for finitely many objects $i_1,\dotsc,i_n \in \I$ there is an object $k$ that admits morphisms $i_1 \to k, \dotsc, i_n \to k$; this is all we need to know about $\I$. Assume that each $X_i$ is of dimension $\leq d$, we need to show this for $X_\infty$ as well.
+ Every element in $X_\infty$ is a finite sum of elements of the form $u_i(x_i)$ with $x_i \in X_i$. Choose an object $k$ with morphisms $i \to k$ for every occurring $i$. If $y_i \in X_k$ denotes the image of $x_i$, we get $\sum_i u_i(x_i) = \sum_i u_k(y_i) = u_k(\sum_i y_i)$. Therefore, every element of $X_\infty$ has the form $u_i(x_i)$ for some $i \in \I$ and $x_i \in X_i$. Moreover, for finitely many elements in $X_\infty$ the index $i$ may be chosen uniformly.
+ Now, if $X_\infty$ has dimension $> d$, it would have linearly independent vectors $v_0,\dotsc,v_d$, all of which have a preimage in $X_i$ for some $i \in \I$. But then these preimages would be linearly independent as well, which contradicts $\dim(X_i) \leq d$. + check_redundancy: false + + - property_id: generalized variety + reason: Again we work with $\Vect^{\leq 1}_{\IF_2}$. We already know that it has sifted colimits and that the embedding to $\Vect_{\IF_2}$ preserves them. The object $0$ is initial and hence strongly finitely presentable. The object $\IF_2$ is strongly finitely presentable in $\Vect^{\leq 1}_{\IF_2}$ since its hom-functor is the composition of the embedding and the forgetful functor $\Vect_{\IF_2} \to \Set$, and the latter preserves sifted colimits by [AR01, Lemma 3.3] applied to $\IF_2 \in \Vect_{\IF_2}$. + +unsatisfied_properties: + - property_id: one-way + reason: "The morphism $ip : 1 \\to 1$ provides a counterexample." + +special_objects: + initial object: + description: $0$ + terminal object: + description: $0$ + +special_morphisms: + isomorphisms: + description: the two identities + reason: This is obvious. + monomorphisms: + description: the identities and $i$ + reason: The morphism $i$ is even a split monomorphism. The morphism $p$ is not a monomorphism since $p \circ \id_1 = p \circ ip$. The morphism $ip$ is not a monomorphism since it would imply that $p$ is a monomorphism. + epimorphisms: + description: the identities and $p$ + reason: The morphism $p$ is even a split monomorphism. The morphism $i$ is not an epimorphism since $\id_1 \circ i = ip \circ i$. The morphism $ip$ is not a epimorphism since it would imply that $i$ is an epimorphism. + regular monomorphisms: + description: same as monomorphisms + reason: This is because the category is mono-regular. + regular epimorphisms: + description: same as epimorphisms + reason: This is because the category is epi-regular. diff --git a/databases/catdat/scripts/generate-yaml.ts b/databases/catdat/scripts/generate-yaml.ts new file mode 100644 index 00000000..cd08ba6e --- /dev/null +++ b/databases/catdat/scripts/generate-yaml.ts @@ -0,0 +1,176 @@ +import { get_client } from './shared' +import YAML from 'yaml' +import fs from 'node:fs' +import path from 'node:path' + +// TEMPORARY SCRIPT TO GENERATE THE YAML FILES FOR ALL CATEGORIES +// THE CODE IS UGLY ON PURPOSE. + +const db = get_client() + +const categories = db + .prepare( + `SELECT + id, name, notation, objects, morphisms, description, + nlab_link, dual_category_id + FROM categories c + `, + ) + .all() as { + id: string + name: string + notation: string + objects: string + morphisms: string + description?: string | null + nlab_link?: string | null + dual_category_id?: string | null +}[] + +for (const category of categories) { + if (!category.description) delete category.description + if (!category.nlab_link) delete category.nlab_link + if (!category.dual_category_id) delete category.dual_category_id + + const tags = ( + db + .prepare(`SELECT tag FROM category_tag_assignments WHERE category_id = ?`) + .all(category.id) as { tag: string }[] + ).map((o) => o.tag) + + const related_categories = ( + db + .prepare( + `SELECT related_category_id AS id FROM related_categories WHERE category_id = ?`, + ) + .all(category.id) as { id: string }[] + ).map((o) => o.id) + + const comments = ( + db + .prepare(`SELECT comment FROM category_comments WHERE category_id = ?`) + .all(category.id) as { comment: string }[] + ).map((o) => o.comment) + + const satisfied_properties_db = db + .prepare( + `SELECT property_id, reason, check_redundancy FROM category_property_assignments WHERE category_id = ? AND is_deduced = FALSE AND is_satisfied = TRUE ORDER BY id`, + ) + .all([category.id]) as { + property_id: string + reason: string + check_redundancy: number + }[] + + const satisfied_properties = satisfied_properties_db.map((o) => { + const { property_id, reason } = o + return o.check_redundancy + ? { property_id, reason } + : { property_id, reason, check_redundancy: false } + }) + + const unsatisfied_properties = db + .prepare( + `SELECT property_id, reason FROM category_property_assignments WHERE category_id = ? AND is_deduced = FALSE AND is_satisfied = FALSE ORDER BY id`, + ) + .all([category.id]) as { property_id: string; reason: string }[] + + const category_property_comments = db + .prepare( + `SELECT property_id, comment FROM category_property_comments WHERE category_id = ?`, + ) + .all(category.id) as { property_id: string; comment: string }[] + + const special_objects_db = db + .prepare(`SELECT type, description FROM special_objects WHERE category_id = ?`) + .all(category.id) as { type: string; description: string }[] + + const special_objects = special_objects_db.reduce< + Record + >((acc, row) => { + acc[row.type] = { + description: row.description, + } + return acc + }, {}) + + const special_morphisms_db = db + .prepare( + `SELECT type, description, reason FROM special_morphisms WHERE category_id = ?`, + ) + .all(category.id) as { type: string; description: string; reason: string }[] + + const special_morphisms = special_morphisms_db.reduce< + Record + >((acc, row) => { + acc[row.type] = { + description: row.description, + reason: row.reason, + } + return acc + }, {}) + + const full_category = { + ...category, + tags, + related_categories, + comments, + satisfied_properties, + unsatisfied_properties, + category_property_comments, + special_objects, + special_morphisms, + } as any + + if (!comments.length) { + delete full_category.comments + } + + if (!category_property_comments.length) { + delete full_category.category_property_comments + } + + let file_content = YAML.stringify(full_category, { + indent: 2, + lineWidth: 2000, + }) + + file_content = file_content.replace('\ntags:', '\n\ntags:') + + file_content = file_content.replace( + '\nrelated_categories:', + '\n\nrelated_categories:', + ) + + file_content = file_content.replace( + '\nsatisfied_properties:', + '\n\nsatisfied_properties:', + ) + + file_content = file_content.replace( + '\nunsatisfied_properties:', + '\n\nunsatisfied_properties:', + ) + + file_content = file_content.replace( + '\ncategory_property_comments:', + '\n\ncategory_property_comments:', + ) + + file_content = file_content.replace('\ncomments:', '\n\ncomments:') + + file_content = file_content.replaceAll(` - property_id:`, `\n - property_id:`) + + file_content = file_content.replace('\nspecial_objects:', '\n\nspecial_objects:') + file_content = file_content.replace('\nspecial_morphisms:', '\n\nspecial_morphisms:') + + const file_path = path.join( + process.cwd(), + 'databases', + 'catdat', + 'data_yaml', + 'categories', + `${category.id.replace('*', '_pointed')}.yaml`, + ) + fs.writeFileSync(file_path, file_content, 'utf8') +} diff --git a/package.json b/package.json index 0dc91523..53c710b5 100644 --- a/package.json +++ b/package.json @@ -61,6 +61,7 @@ "markdown-it": "^14.1.1", "nodemailer": "^8.0.5", "sql-template-tag": "^5.2.1", - "svelte-fa": "^4.0.4" + "svelte-fa": "^4.0.4", + "yaml": "^2.8.4" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2621079d..57eb6be1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,16 +45,19 @@ importers: svelte-fa: specifier: ^4.0.4 version: 4.0.4(svelte@5.55.5) + yaml: + specifier: ^2.8.4 + version: 2.8.4 devDependencies: '@sveltejs/adapter-netlify': specifier: ^6.0.4 - version: 6.0.4(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)))(svelte@5.55.5)(typescript@5.9.3)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0))) + version: 6.0.4(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5)(typescript@5.9.3)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4))) '@sveltejs/kit': specifier: ^2.57.1 - version: 2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)))(svelte@5.55.5)(typescript@5.9.3)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)) + version: 2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5)(typescript@5.9.3)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4)) '@sveltejs/vite-plugin-svelte': specifier: ^7.0.0 - version: 7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)) + version: 7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4)) '@types/better-sqlite3': specifier: ^7.6.13 version: 7.6.13 @@ -102,7 +105,7 @@ importers: version: 5.9.3 vite: specifier: '>=8.0.5' - version: 8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0) + version: 8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4) packages: @@ -1380,6 +1383,11 @@ packages: utf-8-validate: optional: true + yaml@2.8.4: + resolution: {integrity: sha512-ml/JPOj9fOQK8RNnWojA67GbZ0ApXAUlN2UQclwv2eVgTgn7O9gg9o7paZWKMp4g0H3nTLtS9LVzhkpOFIKzog==} + engines: {node: '>= 14.6'} + hasBin: true + zimmerframe@1.1.4: resolution: {integrity: sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==} @@ -1844,17 +1852,17 @@ snapshots: dependencies: acorn: 8.16.0 - '@sveltejs/adapter-netlify@6.0.4(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)))(svelte@5.55.5)(typescript@5.9.3)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)))': + '@sveltejs/adapter-netlify@6.0.4(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5)(typescript@5.9.3)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4)))': dependencies: '@iarna/toml': 2.2.5 - '@sveltejs/kit': 2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)))(svelte@5.55.5)(typescript@5.9.3)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)) + '@sveltejs/kit': 2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5)(typescript@5.9.3)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4)) esbuild: 0.25.12 - '@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)))(svelte@5.55.5)(typescript@5.9.3)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0))': + '@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5)(typescript@5.9.3)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@standard-schema/spec': 1.1.0 '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0) - '@sveltejs/vite-plugin-svelte': 7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)) + '@sveltejs/vite-plugin-svelte': 7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4)) '@types/cookie': 0.6.0 acorn: 8.16.0 cookie: 1.1.1 @@ -1866,18 +1874,18 @@ snapshots: set-cookie-parser: 3.1.0 sirv: 3.0.2 svelte: 5.55.5 - vite: 8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0) + vite: 8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4) optionalDependencies: typescript: 5.9.3 - '@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0))': + '@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4))': dependencies: deepmerge: 4.3.1 magic-string: 0.30.21 obug: 2.1.1 svelte: 5.55.5 - vite: 8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0) - vitefu: 1.1.3(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)) + vite: 8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4) + vitefu: 1.1.3(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4)) '@tybys/wasm-util@0.10.1': dependencies: @@ -2447,7 +2455,7 @@ snapshots: util-deprecate@1.0.2: {} - vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0): + vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 @@ -2459,13 +2467,16 @@ snapshots: esbuild: 0.27.7 fsevents: 2.3.3 tsx: 4.21.0 + yaml: 2.8.4 - vitefu@1.1.3(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)): + vitefu@1.1.3(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4)): optionalDependencies: - vite: 8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0) + vite: 8.0.10(@types/node@25.6.0)(esbuild@0.27.7)(tsx@4.21.0)(yaml@2.8.4) wrappy@1.0.2: {} ws@8.20.0: {} + yaml@2.8.4: {} + zimmerframe@1.1.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index c28df9b5..34679465 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,6 +1,6 @@ onlyBuiltDependencies: - - better-sqlite3 - - esbuild + - better-sqlite3 + - esbuild overrides: - cookie@<0.7.0: '>=0.7.0' - vite@>=8.0.0 <=8.0.4: '>=8.0.5' + cookie@<0.7.0: '>=0.7.0' + vite@>=8.0.0 <=8.0.4: '>=8.0.5' From 107e3d89346feaac68d1104016afc077df187df1 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Thu, 7 May 2026 17:21:05 +0200 Subject: [PATCH 02/22] generate yaml files for all properties of categories --- .../data_yaml/category-properties/CIP.yaml | 15 ++ .../data_yaml/category-properties/CSP.yaml | 15 ++ .../category-properties/Cauchy complete.yaml | 9 + .../Grothendieck abelian.yaml | 11 ++ .../Grothendieck topos.yaml | 8 + .../data_yaml/category-properties/Malcev.yaml | 9 + .../category-properties/abelian.yaml | 13 ++ .../category-properties/accessible.yaml | 13 ++ .../category-properties/additive.yaml | 12 ++ .../aleph1-accessible.yaml | 10 ++ .../category-properties/balanced.yaml | 8 + .../category-properties/binary copowers.yaml | 10 ++ .../binary coproducts.yaml | 10 ++ .../category-properties/binary powers.yaml | 10 ++ .../category-properties/binary products.yaml | 10 ++ .../category-properties/biproducts.yaml | 15 ++ .../category-properties/cartesian closed.yaml | 10 ++ .../cartesian filtered colimits.yaml | 12 ++ .../category-properties/co-Malcev.yaml | 11 ++ .../category-properties/coaccessible.yaml | 8 + .../cocartesian coclosed.yaml | 10 ++ .../cocartesian cofiltered limits.yaml | 12 ++ .../category-properties/cocomplete.yaml | 11 ++ .../category-properties/codistributive.yaml | 11 ++ .../category-properties/coequalizers.yaml | 12 ++ .../category-properties/coextensive.yaml | 10 ++ .../cofiltered limits.yaml | 12 ++ .../cofiltered-limit-stable epimorphisms.yaml | 9 + .../category-properties/cofiltered.yaml | 10 ++ .../category-properties/cogenerating set.yaml | 9 + .../category-properties/cogenerator.yaml | 9 + .../category-properties/cokernels.yaml | 12 ++ .../category-properties/complete.yaml | 11 ++ .../connected colimits.yaml | 11 ++ .../category-properties/connected limits.yaml | 11 ++ .../category-properties/connected.yaml | 11 ++ .../category-properties/conormal.yaml | 12 ++ .../category-properties/copowers.yaml | 11 ++ .../category-properties/coproducts.yaml | 11 ++ .../coquotients of cocongruences.yaml | 11 ++ .../category-properties/core-thin.yaml | 17 ++ .../coreflexive equalizers.yaml | 10 ++ .../category-properties/coregular.yaml | 9 + .../category-properties/cosifted limits.yaml | 12 ++ .../category-properties/cosifted.yaml | 14 ++ .../category-properties/counital.yaml | 10 ++ .../countable copowers.yaml | 11 ++ .../countable coproducts.yaml | 10 ++ .../category-properties/countable powers.yaml | 11 ++ .../countable products.yaml | 10 ++ .../category-properties/countable.yaml | 9 + .../countably codistributive.yaml | 11 ++ .../countably distributive.yaml | 11 ++ .../data_yaml/category-properties/direct.yaml | 13 ++ .../directed colimits.yaml | 10 ++ .../category-properties/directed limits.yaml | 10 ++ .../category-properties/discrete.yaml | 10 ++ .../disjoint coproducts.yaml | 11 ++ .../disjoint finite coproducts.yaml | 11 ++ .../disjoint finite products.yaml | 12 ++ .../disjoint products.yaml | 12 ++ .../category-properties/distributive.yaml | 12 ++ .../effective cocongruences.yaml | 19 ++ .../effective congruences.yaml | 20 +++ .../category-properties/elementary topos.yaml | 12 ++ .../category-properties/epi-regular.yaml | 11 ++ .../category-properties/equalizers.yaml | 12 ++ .../essentially countable.yaml | 9 + .../essentially discrete.yaml | 10 ++ .../essentially finite.yaml | 10 ++ .../essentially small.yaml | 10 ++ .../exact cofiltered limits.yaml | 18 ++ .../exact filtered colimits.yaml | 17 ++ .../category-properties/extensive.yaml | 11 ++ .../filtered colimits.yaml | 12 ++ ...filtered-colimit-stable monomorphisms.yaml | 9 + .../category-properties/filtered.yaml | 10 ++ .../finitary algebraic.yaml | 8 + .../category-properties/finite copowers.yaml | 12 ++ .../finite coproducts.yaml | 12 ++ .../category-properties/finite powers.yaml | 12 ++ .../category-properties/finite products.yaml | 12 ++ .../data_yaml/category-properties/finite.yaml | 11 ++ .../finitely accessible.yaml | 12 ++ .../finitely cocomplete.yaml | 11 ++ .../finitely complete.yaml | 11 ++ .../data_yaml/category-properties/gaunt.yaml | 11 ++ .../generalized variety.yaml | 9 + .../category-properties/generating set.yaml | 9 + .../category-properties/generator.yaml | 9 + .../category-properties/groupoid.yaml | 12 ++ .../infinitary codistributive.yaml | 11 ++ .../infinitary coextensive.yaml | 12 ++ .../infinitary distributive.yaml | 12 ++ .../infinitary extensive.yaml | 11 ++ .../category-properties/inhabited.yaml | 8 + .../category-properties/initial object.yaml | 10 ++ .../category-properties/inverse.yaml | 12 ++ .../category-properties/kernels.yaml | 12 ++ .../left cancellative.yaml | 9 + .../locally aleph1-presentable.yaml | 11 ++ .../locally cartesian closed.yaml | 9 + .../locally cocartesian coclosed.yaml | 9 + .../locally copresentable.yaml | 9 + .../locally essentially small.yaml | 8 + .../locally finitely multi-presentable.yaml | 20 +++ .../locally finitely presentable.yaml | 22 +++ .../locally multi-presentable.yaml | 20 +++ .../locally poly-presentable.yaml | 11 ++ .../locally presentable.yaml | 23 +++ .../category-properties/locally small.yaml | 10 ++ ...locally strongly finitely presentable.yaml | 21 +++ .../category-properties/mono-regular.yaml | 11 ++ .../category-properties/multi-algebraic.yaml | 22 +++ .../category-properties/multi-cocomplete.yaml | 10 ++ .../category-properties/multi-complete.yaml | 10 ++ .../multi-initial object.yaml | 10 ++ .../multi-terminal object.yaml | 10 ++ .../natural numbers object.yaml | 13 ++ .../data_yaml/category-properties/normal.yaml | 12 ++ .../category-properties/one-way.yaml | 11 ++ .../category-properties/pointed.yaml | 10 ++ .../data_yaml/category-properties/powers.yaml | 11 ++ .../category-properties/preadditive.yaml | 11 ++ .../category-properties/products.yaml | 11 ++ .../category-properties/pullbacks.yaml | 10 ++ .../category-properties/pushouts.yaml | 10 ++ .../quotient object classifier.yaml | 13 ++ .../category-properties/quotient-trivial.yaml | 9 + .../quotients of congruences.yaml | 12 ++ .../reflexive coequalizers.yaml | 10 ++ .../regular quotient object classifier.yaml | 13 ++ .../regular subobject classifier.yaml | 14 ++ .../category-properties/regular.yaml | 10 ++ .../right cancellative.yaml | 9 + .../category-properties/self-dual.yaml | 8 + .../semi-strongly connected.yaml | 11 ++ .../sequential colimits.yaml | 9 + .../sequential limits.yaml | 9 + .../category-properties/sifted colimits.yaml | 12 ++ .../data_yaml/category-properties/sifted.yaml | 14 ++ .../category-properties/skeletal.yaml | 9 + .../data_yaml/category-properties/small.yaml | 10 ++ .../category-properties/split abelian.yaml | 9 + .../strict initial object.yaml | 9 + .../strict terminal object.yaml | 9 + .../strongly connected.yaml | 11 ++ .../subobject classifier.yaml | 15 ++ .../subobject-trivial.yaml | 9 + .../category-properties/terminal object.yaml | 10 ++ .../data_yaml/category-properties/thin.yaml | 10 ++ .../category-properties/trivial.yaml | 8 + .../data_yaml/category-properties/unital.yaml | 11 ++ .../category-properties/well-copowered.yaml | 9 + .../category-properties/well-powered.yaml | 9 + .../category-properties/wide pullbacks.yaml | 9 + .../category-properties/wide pushouts.yaml | 9 + .../category-properties/zero morphisms.yaml | 10 ++ databases/catdat/scripts/generate-yaml.ts | 162 +++--------------- 159 files changed, 1809 insertions(+), 136 deletions(-) create mode 100644 databases/catdat/data_yaml/category-properties/CIP.yaml create mode 100644 databases/catdat/data_yaml/category-properties/CSP.yaml create mode 100644 databases/catdat/data_yaml/category-properties/Cauchy complete.yaml create mode 100644 databases/catdat/data_yaml/category-properties/Grothendieck abelian.yaml create mode 100644 databases/catdat/data_yaml/category-properties/Grothendieck topos.yaml create mode 100644 databases/catdat/data_yaml/category-properties/Malcev.yaml create mode 100644 databases/catdat/data_yaml/category-properties/abelian.yaml create mode 100644 databases/catdat/data_yaml/category-properties/accessible.yaml create mode 100644 databases/catdat/data_yaml/category-properties/additive.yaml create mode 100644 databases/catdat/data_yaml/category-properties/aleph1-accessible.yaml create mode 100644 databases/catdat/data_yaml/category-properties/balanced.yaml create mode 100644 databases/catdat/data_yaml/category-properties/binary copowers.yaml create mode 100644 databases/catdat/data_yaml/category-properties/binary coproducts.yaml create mode 100644 databases/catdat/data_yaml/category-properties/binary powers.yaml create mode 100644 databases/catdat/data_yaml/category-properties/binary products.yaml create mode 100644 databases/catdat/data_yaml/category-properties/biproducts.yaml create mode 100644 databases/catdat/data_yaml/category-properties/cartesian closed.yaml create mode 100644 databases/catdat/data_yaml/category-properties/cartesian filtered colimits.yaml create mode 100644 databases/catdat/data_yaml/category-properties/co-Malcev.yaml create mode 100644 databases/catdat/data_yaml/category-properties/coaccessible.yaml create mode 100644 databases/catdat/data_yaml/category-properties/cocartesian coclosed.yaml create mode 100644 databases/catdat/data_yaml/category-properties/cocartesian cofiltered limits.yaml create mode 100644 databases/catdat/data_yaml/category-properties/cocomplete.yaml create mode 100644 databases/catdat/data_yaml/category-properties/codistributive.yaml create mode 100644 databases/catdat/data_yaml/category-properties/coequalizers.yaml create mode 100644 databases/catdat/data_yaml/category-properties/coextensive.yaml create mode 100644 databases/catdat/data_yaml/category-properties/cofiltered limits.yaml create mode 100644 databases/catdat/data_yaml/category-properties/cofiltered-limit-stable epimorphisms.yaml create mode 100644 databases/catdat/data_yaml/category-properties/cofiltered.yaml create mode 100644 databases/catdat/data_yaml/category-properties/cogenerating set.yaml create mode 100644 databases/catdat/data_yaml/category-properties/cogenerator.yaml create mode 100644 databases/catdat/data_yaml/category-properties/cokernels.yaml create mode 100644 databases/catdat/data_yaml/category-properties/complete.yaml create mode 100644 databases/catdat/data_yaml/category-properties/connected colimits.yaml create mode 100644 databases/catdat/data_yaml/category-properties/connected limits.yaml create mode 100644 databases/catdat/data_yaml/category-properties/connected.yaml create mode 100644 databases/catdat/data_yaml/category-properties/conormal.yaml create mode 100644 databases/catdat/data_yaml/category-properties/copowers.yaml create mode 100644 databases/catdat/data_yaml/category-properties/coproducts.yaml create mode 100644 databases/catdat/data_yaml/category-properties/coquotients of cocongruences.yaml create mode 100644 databases/catdat/data_yaml/category-properties/core-thin.yaml create mode 100644 databases/catdat/data_yaml/category-properties/coreflexive equalizers.yaml create mode 100644 databases/catdat/data_yaml/category-properties/coregular.yaml create mode 100644 databases/catdat/data_yaml/category-properties/cosifted limits.yaml create mode 100644 databases/catdat/data_yaml/category-properties/cosifted.yaml create mode 100644 databases/catdat/data_yaml/category-properties/counital.yaml create mode 100644 databases/catdat/data_yaml/category-properties/countable copowers.yaml create mode 100644 databases/catdat/data_yaml/category-properties/countable coproducts.yaml create mode 100644 databases/catdat/data_yaml/category-properties/countable powers.yaml create mode 100644 databases/catdat/data_yaml/category-properties/countable products.yaml create mode 100644 databases/catdat/data_yaml/category-properties/countable.yaml create mode 100644 databases/catdat/data_yaml/category-properties/countably codistributive.yaml create mode 100644 databases/catdat/data_yaml/category-properties/countably distributive.yaml create mode 100644 databases/catdat/data_yaml/category-properties/direct.yaml create mode 100644 databases/catdat/data_yaml/category-properties/directed colimits.yaml create mode 100644 databases/catdat/data_yaml/category-properties/directed limits.yaml create mode 100644 databases/catdat/data_yaml/category-properties/discrete.yaml create mode 100644 databases/catdat/data_yaml/category-properties/disjoint coproducts.yaml create mode 100644 databases/catdat/data_yaml/category-properties/disjoint finite coproducts.yaml create mode 100644 databases/catdat/data_yaml/category-properties/disjoint finite products.yaml create mode 100644 databases/catdat/data_yaml/category-properties/disjoint products.yaml create mode 100644 databases/catdat/data_yaml/category-properties/distributive.yaml create mode 100644 databases/catdat/data_yaml/category-properties/effective cocongruences.yaml create mode 100644 databases/catdat/data_yaml/category-properties/effective congruences.yaml create mode 100644 databases/catdat/data_yaml/category-properties/elementary topos.yaml create mode 100644 databases/catdat/data_yaml/category-properties/epi-regular.yaml create mode 100644 databases/catdat/data_yaml/category-properties/equalizers.yaml create mode 100644 databases/catdat/data_yaml/category-properties/essentially countable.yaml create mode 100644 databases/catdat/data_yaml/category-properties/essentially discrete.yaml create mode 100644 databases/catdat/data_yaml/category-properties/essentially finite.yaml create mode 100644 databases/catdat/data_yaml/category-properties/essentially small.yaml create mode 100644 databases/catdat/data_yaml/category-properties/exact cofiltered limits.yaml create mode 100644 databases/catdat/data_yaml/category-properties/exact filtered colimits.yaml create mode 100644 databases/catdat/data_yaml/category-properties/extensive.yaml create mode 100644 databases/catdat/data_yaml/category-properties/filtered colimits.yaml create mode 100644 databases/catdat/data_yaml/category-properties/filtered-colimit-stable monomorphisms.yaml create mode 100644 databases/catdat/data_yaml/category-properties/filtered.yaml create mode 100644 databases/catdat/data_yaml/category-properties/finitary algebraic.yaml create mode 100644 databases/catdat/data_yaml/category-properties/finite copowers.yaml create mode 100644 databases/catdat/data_yaml/category-properties/finite coproducts.yaml create mode 100644 databases/catdat/data_yaml/category-properties/finite powers.yaml create mode 100644 databases/catdat/data_yaml/category-properties/finite products.yaml create mode 100644 databases/catdat/data_yaml/category-properties/finite.yaml create mode 100644 databases/catdat/data_yaml/category-properties/finitely accessible.yaml create mode 100644 databases/catdat/data_yaml/category-properties/finitely cocomplete.yaml create mode 100644 databases/catdat/data_yaml/category-properties/finitely complete.yaml create mode 100644 databases/catdat/data_yaml/category-properties/gaunt.yaml create mode 100644 databases/catdat/data_yaml/category-properties/generalized variety.yaml create mode 100644 databases/catdat/data_yaml/category-properties/generating set.yaml create mode 100644 databases/catdat/data_yaml/category-properties/generator.yaml create mode 100644 databases/catdat/data_yaml/category-properties/groupoid.yaml create mode 100644 databases/catdat/data_yaml/category-properties/infinitary codistributive.yaml create mode 100644 databases/catdat/data_yaml/category-properties/infinitary coextensive.yaml create mode 100644 databases/catdat/data_yaml/category-properties/infinitary distributive.yaml create mode 100644 databases/catdat/data_yaml/category-properties/infinitary extensive.yaml create mode 100644 databases/catdat/data_yaml/category-properties/inhabited.yaml create mode 100644 databases/catdat/data_yaml/category-properties/initial object.yaml create mode 100644 databases/catdat/data_yaml/category-properties/inverse.yaml create mode 100644 databases/catdat/data_yaml/category-properties/kernels.yaml create mode 100644 databases/catdat/data_yaml/category-properties/left cancellative.yaml create mode 100644 databases/catdat/data_yaml/category-properties/locally aleph1-presentable.yaml create mode 100644 databases/catdat/data_yaml/category-properties/locally cartesian closed.yaml create mode 100644 databases/catdat/data_yaml/category-properties/locally cocartesian coclosed.yaml create mode 100644 databases/catdat/data_yaml/category-properties/locally copresentable.yaml create mode 100644 databases/catdat/data_yaml/category-properties/locally essentially small.yaml create mode 100644 databases/catdat/data_yaml/category-properties/locally finitely multi-presentable.yaml create mode 100644 databases/catdat/data_yaml/category-properties/locally finitely presentable.yaml create mode 100644 databases/catdat/data_yaml/category-properties/locally multi-presentable.yaml create mode 100644 databases/catdat/data_yaml/category-properties/locally poly-presentable.yaml create mode 100644 databases/catdat/data_yaml/category-properties/locally presentable.yaml create mode 100644 databases/catdat/data_yaml/category-properties/locally small.yaml create mode 100644 databases/catdat/data_yaml/category-properties/locally strongly finitely presentable.yaml create mode 100644 databases/catdat/data_yaml/category-properties/mono-regular.yaml create mode 100644 databases/catdat/data_yaml/category-properties/multi-algebraic.yaml create mode 100644 databases/catdat/data_yaml/category-properties/multi-cocomplete.yaml create mode 100644 databases/catdat/data_yaml/category-properties/multi-complete.yaml create mode 100644 databases/catdat/data_yaml/category-properties/multi-initial object.yaml create mode 100644 databases/catdat/data_yaml/category-properties/multi-terminal object.yaml create mode 100644 databases/catdat/data_yaml/category-properties/natural numbers object.yaml create mode 100644 databases/catdat/data_yaml/category-properties/normal.yaml create mode 100644 databases/catdat/data_yaml/category-properties/one-way.yaml create mode 100644 databases/catdat/data_yaml/category-properties/pointed.yaml create mode 100644 databases/catdat/data_yaml/category-properties/powers.yaml create mode 100644 databases/catdat/data_yaml/category-properties/preadditive.yaml create mode 100644 databases/catdat/data_yaml/category-properties/products.yaml create mode 100644 databases/catdat/data_yaml/category-properties/pullbacks.yaml create mode 100644 databases/catdat/data_yaml/category-properties/pushouts.yaml create mode 100644 databases/catdat/data_yaml/category-properties/quotient object classifier.yaml create mode 100644 databases/catdat/data_yaml/category-properties/quotient-trivial.yaml create mode 100644 databases/catdat/data_yaml/category-properties/quotients of congruences.yaml create mode 100644 databases/catdat/data_yaml/category-properties/reflexive coequalizers.yaml create mode 100644 databases/catdat/data_yaml/category-properties/regular quotient object classifier.yaml create mode 100644 databases/catdat/data_yaml/category-properties/regular subobject classifier.yaml create mode 100644 databases/catdat/data_yaml/category-properties/regular.yaml create mode 100644 databases/catdat/data_yaml/category-properties/right cancellative.yaml create mode 100644 databases/catdat/data_yaml/category-properties/self-dual.yaml create mode 100644 databases/catdat/data_yaml/category-properties/semi-strongly connected.yaml create mode 100644 databases/catdat/data_yaml/category-properties/sequential colimits.yaml create mode 100644 databases/catdat/data_yaml/category-properties/sequential limits.yaml create mode 100644 databases/catdat/data_yaml/category-properties/sifted colimits.yaml create mode 100644 databases/catdat/data_yaml/category-properties/sifted.yaml create mode 100644 databases/catdat/data_yaml/category-properties/skeletal.yaml create mode 100644 databases/catdat/data_yaml/category-properties/small.yaml create mode 100644 databases/catdat/data_yaml/category-properties/split abelian.yaml create mode 100644 databases/catdat/data_yaml/category-properties/strict initial object.yaml create mode 100644 databases/catdat/data_yaml/category-properties/strict terminal object.yaml create mode 100644 databases/catdat/data_yaml/category-properties/strongly connected.yaml create mode 100644 databases/catdat/data_yaml/category-properties/subobject classifier.yaml create mode 100644 databases/catdat/data_yaml/category-properties/subobject-trivial.yaml create mode 100644 databases/catdat/data_yaml/category-properties/terminal object.yaml create mode 100644 databases/catdat/data_yaml/category-properties/thin.yaml create mode 100644 databases/catdat/data_yaml/category-properties/trivial.yaml create mode 100644 databases/catdat/data_yaml/category-properties/unital.yaml create mode 100644 databases/catdat/data_yaml/category-properties/well-copowered.yaml create mode 100644 databases/catdat/data_yaml/category-properties/well-powered.yaml create mode 100644 databases/catdat/data_yaml/category-properties/wide pullbacks.yaml create mode 100644 databases/catdat/data_yaml/category-properties/wide pushouts.yaml create mode 100644 databases/catdat/data_yaml/category-properties/zero morphisms.yaml diff --git a/databases/catdat/data_yaml/category-properties/CIP.yaml b/databases/catdat/data_yaml/category-properties/CIP.yaml new file mode 100644 index 00000000..aedc5c65 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/CIP.yaml @@ -0,0 +1,15 @@ +id: CIP +relation: satisfies +description: |- + A category satisfies CIP ("coproducts inject into products") if it has zero morphisms, products, coproducts, and for every family of objects $(X_i)_{i \in I}$ the canonical morphism + $$\textstyle \alpha : \coprod_i X_i \to \prod_{i \in I} X_i$$ + defined by $p_j \circ \alpha \circ \iota_i = \delta_{i,j}$ is a monomorphism. This is no standard terminology. This property has been added to clarify relationships between other properties, in particular those concerning the commutation between limits and colimits. +dual_property_id: CSP +invariant_under_equivalences: true + +related_properties: + - coproducts + - counital + - filtered-colimit-stable monomorphisms + - products + - zero morphisms diff --git a/databases/catdat/data_yaml/category-properties/CSP.yaml b/databases/catdat/data_yaml/category-properties/CSP.yaml new file mode 100644 index 00000000..304d4c24 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/CSP.yaml @@ -0,0 +1,15 @@ +id: CSP +relation: satisfies +description: |- + A category satisfies CSP ("coproducts surject onto products") if it has zero morphisms, products, coproducts, and for every family of objects $(X_i)_{i \in I}$ the canonical morphism + $$\textstyle \alpha : \coprod_i X_i \to \prod_{i \in I} X_i$$ + defined by $p_j \circ \alpha \circ \iota_i = \delta_{i,j}$ is an epimorphism. This is no standard terminology. This property has been added to clarify relationships between other properties, in particular those concerning the commutation between limits and colimits. +dual_property_id: CIP +invariant_under_equivalences: true + +related_properties: + - cofiltered-limit-stable epimorphisms + - coproducts + - products + - unital + - zero morphisms diff --git a/databases/catdat/data_yaml/category-properties/Cauchy complete.yaml b/databases/catdat/data_yaml/category-properties/Cauchy complete.yaml new file mode 100644 index 00000000..cd2ace4d --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/Cauchy complete.yaml @@ -0,0 +1,9 @@ +id: Cauchy complete +relation: is +description: "A category is Cauchy complete if every idempotent splits. That is, every endomorphism $e : X \\to X$ with $e^2 = e$ may be written as $e = i \\circ p$ for some morphisms $p : X \\to Y$ and $i : Y \\to X$ with $p \\circ i = \\id_Y$. Equivalently, the pair $e,\\id_X : X \\rightrightarrows X$ has an equalizer (or an coequalizer)." +nlab_link: https://ncatlab.org/nlab/show/Cauchy+complete+category +dual_property_id: Cauchy complete +invariant_under_equivalences: true + +related_properties: + - finitely complete diff --git a/databases/catdat/data_yaml/category-properties/Grothendieck abelian.yaml b/databases/catdat/data_yaml/category-properties/Grothendieck abelian.yaml new file mode 100644 index 00000000..f5153f09 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/Grothendieck abelian.yaml @@ -0,0 +1,11 @@ +id: Grothendieck abelian +relation: is +description: A category is Grothendieck abelian if it is abelian, has coproducts (and is therefore cocomplete), a generator, and filtered colimits commute with finite limits. These categories play an important role in homological algebra. +nlab_link: https://ncatlab.org/nlab/show/Grothendieck+category +invariant_under_equivalences: true + +related_properties: + - abelian + - cocomplete + - exact filtered colimits + - generator diff --git a/databases/catdat/data_yaml/category-properties/Grothendieck topos.yaml b/databases/catdat/data_yaml/category-properties/Grothendieck topos.yaml new file mode 100644 index 00000000..6c05d94a --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/Grothendieck topos.yaml @@ -0,0 +1,8 @@ +id: Grothendieck topos +relation: is a +description: A Grothendieck topos is a category that is equivalent to the category of sheaves on a site. +nlab_link: https://ncatlab.org/nlab/show/Grothendieck+topos +invariant_under_equivalences: true + +related_properties: + - elementary topos diff --git a/databases/catdat/data_yaml/category-properties/Malcev.yaml b/databases/catdat/data_yaml/category-properties/Malcev.yaml new file mode 100644 index 00000000..2df7eec8 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/Malcev.yaml @@ -0,0 +1,9 @@ +id: Malcev +relation: is +description: A category is Malcev when it has finite limits and every internal reflexive relation is an internal equivalence relation. That is, if $R \subseteq X^2$ is a subobject with $\Delta_X \subseteq R$, then $R$ is symmetric and transitive. +nlab_link: https://ncatlab.org/nlab/show/Malcev+category +dual_property_id: co-Malcev +invariant_under_equivalences: true + +related_properties: + - finitely complete diff --git a/databases/catdat/data_yaml/category-properties/abelian.yaml b/databases/catdat/data_yaml/category-properties/abelian.yaml new file mode 100644 index 00000000..472b885c --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/abelian.yaml @@ -0,0 +1,13 @@ +id: abelian +relation: is +description: A category is abelian if it is additive, every morphism has a kernel and a cokernel, and every monomorphism and epimorphism is normal. Equivalently, it is additive, has equalizers and coequalizers, and it is mono-regular and epi-regular. As opposed to other types of categories (such as monoidal categories), being abelian turns out to be a mere property. +nlab_link: https://ncatlab.org/nlab/show/abelian+category +dual_property_id: abelian +invariant_under_equivalences: true + +related_properties: + - additive + - cokernels + - conormal + - kernels + - normal diff --git a/databases/catdat/data_yaml/category-properties/accessible.yaml b/databases/catdat/data_yaml/category-properties/accessible.yaml new file mode 100644 index 00000000..42049cc6 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/accessible.yaml @@ -0,0 +1,13 @@ +id: accessible +relation: is +description: Let $\kappa$ be a regular cardinal. A category is $\kappa$-accessible if it has $\kappa$-filtered colimits and there is a (small) set $G$ of $\kappa$-presentable objects such that every object is a $\kappa$-filtered colimit of objects in $G$. A category is accessible if it is $\kappa$-accessible for some regular cardinal $\kappa$. +nlab_link: https://ncatlab.org/nlab/show/accessible+category +dual_property_id: coaccessible +invariant_under_equivalences: true + +related_properties: + - finitely accessible + - locally multi-presentable + - locally poly-presentable + - locally presentable + - ℵ₁-accessible diff --git a/databases/catdat/data_yaml/category-properties/additive.yaml b/databases/catdat/data_yaml/category-properties/additive.yaml new file mode 100644 index 00000000..8bf1b7aa --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/additive.yaml @@ -0,0 +1,12 @@ +id: additive +relation: is +description: A category is additive if it is preadditive and has finite products (equivalently, finite coproducts). Note that in the context of finite products, the preadditive structure is unique. +nlab_link: https://ncatlab.org/nlab/show/additive+category +dual_property_id: additive +invariant_under_equivalences: true + +related_properties: + - biproducts + - finite coproducts + - finite products + - preadditive diff --git a/databases/catdat/data_yaml/category-properties/aleph1-accessible.yaml b/databases/catdat/data_yaml/category-properties/aleph1-accessible.yaml new file mode 100644 index 00000000..23532d7a --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/aleph1-accessible.yaml @@ -0,0 +1,10 @@ +id: ℵ₁-accessible +relation: is +description: This is the special case of the notion of $\kappa$-accessible categories, where $\kappa = \aleph_1$ is the first uncountable cardinal. +nlab_link: https://ncatlab.org/nlab/show/accessible+category +invariant_under_equivalences: true + +related_properties: + - accessible + - finitely accessible + - locally ℵ₁-presentable diff --git a/databases/catdat/data_yaml/category-properties/balanced.yaml b/databases/catdat/data_yaml/category-properties/balanced.yaml new file mode 100644 index 00000000..b29c3ef2 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/balanced.yaml @@ -0,0 +1,8 @@ +id: balanced +relation: is +description: A category is balanced if every morphism which is a monomorphism and an epimorphism must be an isomorphism. +nlab_link: https://ncatlab.org/nlab/show/balanced+category +dual_property_id: balanced +invariant_under_equivalences: true + +related_properties: [] diff --git a/databases/catdat/data_yaml/category-properties/binary copowers.yaml b/databases/catdat/data_yaml/category-properties/binary copowers.yaml new file mode 100644 index 00000000..e5dea441 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/binary copowers.yaml @@ -0,0 +1,10 @@ +id: binary copowers +relation: has +description: A category has binary copowers when for every object $X$ and every binary set $I$ the coproduct $X \sqcup X$ exists. These objects might also be called doubles. +nlab_link: https://ncatlab.org/nlab/show/copower +dual_property_id: binary powers +invariant_under_equivalences: true + +related_properties: + - finite copowers + - finite coproducts diff --git a/databases/catdat/data_yaml/category-properties/binary coproducts.yaml b/databases/catdat/data_yaml/category-properties/binary coproducts.yaml new file mode 100644 index 00000000..24de051c --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/binary coproducts.yaml @@ -0,0 +1,10 @@ +id: binary coproducts +relation: has +description: A category has binary coproducts if every pair $A,B$ of objects has a coproduct $A \sqcup B$. +nlab_link: https://ncatlab.org/nlab/show/coproduct +dual_property_id: binary products +invariant_under_equivalences: true + +related_properties: + - binary copowers + - finite coproducts diff --git a/databases/catdat/data_yaml/category-properties/binary powers.yaml b/databases/catdat/data_yaml/category-properties/binary powers.yaml new file mode 100644 index 00000000..9ccb1ad8 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/binary powers.yaml @@ -0,0 +1,10 @@ +id: binary powers +relation: has +description: A category has binary powers when for every object $X$ the product $X \times X$ exists. These objects might also be called squares. +nlab_link: https://ncatlab.org/nlab/show/powering +dual_property_id: binary copowers +invariant_under_equivalences: true + +related_properties: + - finite powers + - finite products diff --git a/databases/catdat/data_yaml/category-properties/binary products.yaml b/databases/catdat/data_yaml/category-properties/binary products.yaml new file mode 100644 index 00000000..17e5d8ed --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/binary products.yaml @@ -0,0 +1,10 @@ +id: binary products +relation: has +description: A category has binary products if every pair $A,B$ of objects has a product $A \times B$. +nlab_link: https://ncatlab.org/nlab/show/binary+product +dual_property_id: binary coproducts +invariant_under_equivalences: true + +related_properties: + - binary powers + - finite products diff --git a/databases/catdat/data_yaml/category-properties/biproducts.yaml b/databases/catdat/data_yaml/category-properties/biproducts.yaml new file mode 100644 index 00000000..684a3895 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/biproducts.yaml @@ -0,0 +1,15 @@ +id: biproducts +relation: has +description: |- + A category has biproducts when it has zero morphisms, finite products (denoted $\times$), finite coproducts (denoted $\oplus$), and for every finite family of objects $A_1,\dotsc,A_n$ the canonical morphism + $$\mu : A_1 \oplus \cdots \oplus A_n \to A_1 \times \cdots \times A_n$$ + is an isomorphism. Such a category is also called semi-additive, and it is automatically enriched over commutative monoids: the sum of $f,g : A \rightrightarrows B$ is defined as: + $$A \xrightarrow{(f,g)} B \times B \xrightarrow{\mu^{-1}} B \oplus B \xrightarrow{\nabla} B$$ +nlab_link: https://ncatlab.org/nlab/show/biproduct +dual_property_id: biproducts +invariant_under_equivalences: true + +related_properties: + - finite coproducts + - finite products + - zero morphisms diff --git a/databases/catdat/data_yaml/category-properties/cartesian closed.yaml b/databases/catdat/data_yaml/category-properties/cartesian closed.yaml new file mode 100644 index 00000000..0405b62b --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/cartesian closed.yaml @@ -0,0 +1,10 @@ +id: cartesian closed +relation: is +description: A category is cartesian closed if all finite products and exponentials $[X,Y]$ exist, defined by the adjunction $\Hom(T,[X,Y]) \cong \Hom(T \times X,Y)$. +nlab_link: https://ncatlab.org/nlab/show/cartesian+closed+category +dual_property_id: cocartesian coclosed +invariant_under_equivalences: true + +related_properties: + - finite products + - locally cartesian closed diff --git a/databases/catdat/data_yaml/category-properties/cartesian filtered colimits.yaml b/databases/catdat/data_yaml/category-properties/cartesian filtered colimits.yaml new file mode 100644 index 00000000..c95df952 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/cartesian filtered colimits.yaml @@ -0,0 +1,12 @@ +id: cartesian filtered colimits +relation: has +description: |- + In a category $\C$, which we assume to have filtered colimits and finite products, we say that filtered colimits are cartesian if for every finite set $I$ the product functor $\prod : \C^I \to \C$ preserves filtered colimits. Equivalently, for every $X \in \C$ the functor $X \times - : \C \to \C$ preserves filtered colimits.
+ This is no standard terminology, it has been suggested in MO/510240. We have added it to the database since it clarifies the relationship between many related properties. +dual_property_id: cocartesian cofiltered limits +invariant_under_equivalences: true + +related_properties: + - exact filtered colimits + - filtered colimits + - finite products diff --git a/databases/catdat/data_yaml/category-properties/co-Malcev.yaml b/databases/catdat/data_yaml/category-properties/co-Malcev.yaml new file mode 100644 index 00000000..2fbe2b99 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/co-Malcev.yaml @@ -0,0 +1,11 @@ +id: co-Malcev +relation: is +description: |- + A category is co-Malcev when its dual is Malcev, i.e., it has finite colimits and if $X \sqcup X \twoheadrightarrow R$ is a coreflexive corelation, then it is cosymmetric and cotransitive.
+ This terminology is not standard, but we have added it to properly formulate the interesting theorem that the dual of an elementary topos is Malcev, i.e., that every elementary topos is co-Malcev.
+ To settle this property, we often use that $\C$ is co-Malcev if and only if the category of representable functors $\C \to \Set^+$ is Malcev. +dual_property_id: Malcev +invariant_under_equivalences: true + +related_properties: + - finitely cocomplete diff --git a/databases/catdat/data_yaml/category-properties/coaccessible.yaml b/databases/catdat/data_yaml/category-properties/coaccessible.yaml new file mode 100644 index 00000000..3ef75db6 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/coaccessible.yaml @@ -0,0 +1,8 @@ +id: coaccessible +relation: is +description: A category is coaccessible if its opposite category is accessible. +dual_property_id: accessible +invariant_under_equivalences: true + +related_properties: + - locally copresentable diff --git a/databases/catdat/data_yaml/category-properties/cocartesian coclosed.yaml b/databases/catdat/data_yaml/category-properties/cocartesian coclosed.yaml new file mode 100644 index 00000000..33d20d5b --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/cocartesian coclosed.yaml @@ -0,0 +1,10 @@ +id: cocartesian coclosed +relation: is +description: A category is cocartesian coclosed if its dual category is cartesian closed, i.e. if all finite coproducts and coexponentials $\Coexp(X,Y)$ exist, defined by the adjunction $\Hom(\Coexp[X,Y],T) \cong \Hom(Y,T \sqcup X)$. +nlab_link: https://ncatlab.org/nlab/show/cocartesian+coclosed+category +dual_property_id: cartesian closed +invariant_under_equivalences: true + +related_properties: + - finite coproducts + - locally cocartesian coclosed diff --git a/databases/catdat/data_yaml/category-properties/cocartesian cofiltered limits.yaml b/databases/catdat/data_yaml/category-properties/cocartesian cofiltered limits.yaml new file mode 100644 index 00000000..f6ceaa42 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/cocartesian cofiltered limits.yaml @@ -0,0 +1,12 @@ +id: cocartesian cofiltered limits +relation: has +description: |- + In a category $\C$, which we assume to have cofiltered limits and finite coproducts, we say that cofiltered limits are cocartesian if for every finite set $I$ the coproduct functor $\coprod : \C^I \to \C$ preserves cofiltered limits. Equivalently, for every $X \in \C$ the functor $X \sqcup - : \C \to \C$ preserves cofiltered limits.
+ This is no standard terminology, its dual has been suggested in MO/510240. We have added it to the database since it clarifies the relationship between many related properties. +dual_property_id: cartesian filtered colimits +invariant_under_equivalences: true + +related_properties: + - cofiltered limits + - exact cofiltered limits + - finite coproducts diff --git a/databases/catdat/data_yaml/category-properties/cocomplete.yaml b/databases/catdat/data_yaml/category-properties/cocomplete.yaml new file mode 100644 index 00000000..85aeda66 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/cocomplete.yaml @@ -0,0 +1,11 @@ +id: cocomplete +relation: is +description: A category is cocomplete when every small diagram in the category has a colimit. +nlab_link: https://ncatlab.org/nlab/show/cocomplete+category +dual_property_id: complete +invariant_under_equivalences: true + +related_properties: + - coequalizers + - coproducts + - multi-cocomplete diff --git a/databases/catdat/data_yaml/category-properties/codistributive.yaml b/databases/catdat/data_yaml/category-properties/codistributive.yaml new file mode 100644 index 00000000..c6c165b6 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/codistributive.yaml @@ -0,0 +1,11 @@ +id: codistributive +relation: is +description: A category is codistributive if it has finite coproducts, finite products, and for every object $A$ the functor $- \sqcup A$ preserves finite products. Concretely, for every finite family of objects $(B_i)$ the canonical morphism $A \sqcup \prod_i B_i \to \prod_i (A \sqcup B_i)$ must be an isomorphism. +dual_property_id: distributive +invariant_under_equivalences: true + +related_properties: + - countably codistributive + - finite coproducts + - finite products + - infinitary codistributive diff --git a/databases/catdat/data_yaml/category-properties/coequalizers.yaml b/databases/catdat/data_yaml/category-properties/coequalizers.yaml new file mode 100644 index 00000000..2ba13ade --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/coequalizers.yaml @@ -0,0 +1,12 @@ +id: coequalizers +relation: has +description: "A coequalizer of a pair of morphisms $f,g : A \\rightrightarrows B$ is an object $C$ with a morphism $c : B \\to C$ such that $c \\circ f = c \\circ g$ and which is universal with respect to this property. This property refers to the existence of coequalizers." +nlab_link: https://ncatlab.org/nlab/show/coequalizer +dual_property_id: equalizers +invariant_under_equivalences: true + +related_properties: + - cokernels + - finitely cocomplete + - quotients of congruences + - reflexive coequalizers diff --git a/databases/catdat/data_yaml/category-properties/coextensive.yaml b/databases/catdat/data_yaml/category-properties/coextensive.yaml new file mode 100644 index 00000000..05a61549 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/coextensive.yaml @@ -0,0 +1,10 @@ +id: coextensive +relation: is +description: A category $\C$ is coextensive when it has finite products and for all objects $A,B \in \C$ the product functor $A/\C \times B/\C \to (A \times B)/\C$ is an equivalence of categories. The prototypical example is the category of commutative rings. +dual_property_id: extensive +invariant_under_equivalences: true + +related_properties: + - disjoint finite products + - finite products + - infinitary coextensive diff --git a/databases/catdat/data_yaml/category-properties/cofiltered limits.yaml b/databases/catdat/data_yaml/category-properties/cofiltered limits.yaml new file mode 100644 index 00000000..c58a0151 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/cofiltered limits.yaml @@ -0,0 +1,12 @@ +id: cofiltered limits +relation: has +description: A category has cofiltered limits if it has limits of diagrams indexed by small cofiltered categories. This is actually equivalent to having directed limits. +nlab_link: https://ncatlab.org/nlab/show/filtered+limit +dual_property_id: filtered colimits +invariant_under_equivalences: true + +related_properties: + - cofiltered + - complete + - cosifted limits + - directed limits diff --git a/databases/catdat/data_yaml/category-properties/cofiltered-limit-stable epimorphisms.yaml b/databases/catdat/data_yaml/category-properties/cofiltered-limit-stable epimorphisms.yaml new file mode 100644 index 00000000..2954c122 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/cofiltered-limit-stable epimorphisms.yaml @@ -0,0 +1,9 @@ +id: cofiltered-limit-stable epimorphisms +relation: has +description: A category has cofiltered-limit-stable epimorphisms if it has cofiltered limits and for every cofiltered diagram of epimorphisms $(X_i \to Y_i)$ also their limit $\lim_i X_i \to \lim_i Y_i$ is an epimorphism. +dual_property_id: filtered-colimit-stable monomorphisms +invariant_under_equivalences: true + +related_properties: + - cofiltered limits + - exact cofiltered limits diff --git a/databases/catdat/data_yaml/category-properties/cofiltered.yaml b/databases/catdat/data_yaml/category-properties/cofiltered.yaml new file mode 100644 index 00000000..081dc6d3 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/cofiltered.yaml @@ -0,0 +1,10 @@ +id: cofiltered +relation: is +description: A category is cofiltered if every finite diagram admits a cone. Equivalently, it is inhabited, for every two objects $x,y$ there is a span $x \leftarrow p \rightarrow y$ (not necessarily universal), and every parallel pair $x \rightrightarrows y$ is equalized by some morphism $e \to x$ (not necessarily universal). +nlab_link: https://ncatlab.org/nlab/show/cofiltered+category +dual_property_id: filtered +invariant_under_equivalences: true + +related_properties: + - cofiltered limits + - finitely complete diff --git a/databases/catdat/data_yaml/category-properties/cogenerating set.yaml b/databases/catdat/data_yaml/category-properties/cogenerating set.yaml new file mode 100644 index 00000000..cb96f1ea --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/cogenerating set.yaml @@ -0,0 +1,9 @@ +id: cogenerating set +relation: has a +description: "A set of objects $S$ is called a cogenerating set if for every pair of parallel morphisms $f,g : A \\rightrightarrows B$, $f = g$ holds if and only if for every morphism $h : B \\to G$ with $G \\in S$ we have $h \\circ f = h \\circ g$. Equivalently, the functor $(\\Hom(-,G))_{G \\in S} : \\C^{\\op} \\to (\\Set^+)^S$ is faithful. This property refers to the existence of a cogenerating set." +nlab_link: https://ncatlab.org/nlab/show/cogenerator +dual_property_id: generating set +invariant_under_equivalences: true + +related_properties: + - cogenerator diff --git a/databases/catdat/data_yaml/category-properties/cogenerator.yaml b/databases/catdat/data_yaml/category-properties/cogenerator.yaml new file mode 100644 index 00000000..68ab7f00 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/cogenerator.yaml @@ -0,0 +1,9 @@ +id: cogenerator +relation: has a +description: 'An object $Q$ of a category is called a cogenerator if for every pair of parallel morphisms $f,g : A \rightrightarrows B$ the equation $f = g$ holds if for every morphism $h : B \to Q$ we have $h \circ f = h \circ g$. Equivalently, the functor $\Hom(-,Q) : \C^{\op} \to \Set^+$ is faithful. This property refers to the existence of a cogenerator. By definition, $Q$ is a cogenerator if and only if $\{Q\}$ is a cogenerating set.' +nlab_link: https://ncatlab.org/nlab/show/cogenerator +dual_property_id: generator +invariant_under_equivalences: true + +related_properties: + - cogenerating set diff --git a/databases/catdat/data_yaml/category-properties/cokernels.yaml b/databases/catdat/data_yaml/category-properties/cokernels.yaml new file mode 100644 index 00000000..bc4c977f --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/cokernels.yaml @@ -0,0 +1,12 @@ +id: cokernels +relation: has +description: "A category has cokernels if it has zero morphisms and every morphism $f : A \\to B$ has a cokernel, i.e. a coequalizer of $f$ with the zero morphism $0_{A,B} : A \\to B$." +nlab_link: https://ncatlab.org/nlab/show/cokernel +dual_property_id: kernels +invariant_under_equivalences: true + +related_properties: + - coequalizers + - conormal + - quotients of congruences + - zero morphisms diff --git a/databases/catdat/data_yaml/category-properties/complete.yaml b/databases/catdat/data_yaml/category-properties/complete.yaml new file mode 100644 index 00000000..93ff4cce --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/complete.yaml @@ -0,0 +1,11 @@ +id: complete +relation: is +description: A category is complete when every small diagram in the category has a limit. +nlab_link: https://ncatlab.org/nlab/show/complete+category +dual_property_id: cocomplete +invariant_under_equivalences: true + +related_properties: + - equalizers + - multi-complete + - products diff --git a/databases/catdat/data_yaml/category-properties/connected colimits.yaml b/databases/catdat/data_yaml/category-properties/connected colimits.yaml new file mode 100644 index 00000000..6a94e6c0 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/connected colimits.yaml @@ -0,0 +1,11 @@ +id: connected colimits +relation: has +description: A category has connected colimits if it has colimits of diagrams indexed by connected small categories. +nlab_link: https://ncatlab.org/nlab/show/connected+colimit +dual_property_id: connected limits +invariant_under_equivalences: true + +related_properties: + - cocomplete + - connected + - filtered colimits diff --git a/databases/catdat/data_yaml/category-properties/connected limits.yaml b/databases/catdat/data_yaml/category-properties/connected limits.yaml new file mode 100644 index 00000000..62691b3f --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/connected limits.yaml @@ -0,0 +1,11 @@ +id: connected limits +relation: has +description: A category has connected limits if it has limits of diagrams indexed by connected small categories. +nlab_link: https://ncatlab.org/nlab/show/connected+limit +dual_property_id: connected colimits +invariant_under_equivalences: true + +related_properties: + - cofiltered limits + - complete + - connected diff --git a/databases/catdat/data_yaml/category-properties/connected.yaml b/databases/catdat/data_yaml/category-properties/connected.yaml new file mode 100644 index 00000000..aa329f26 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/connected.yaml @@ -0,0 +1,11 @@ +id: connected +relation: is +description: A category is connected if it is inhabited and every two objects can be joined via a zig-zag path of morphisms. Equivalently, $\C$ is connected if $\C \simeq \coprod_{i \in I} \C_i$ implies $\C_i \simeq 0$ for some $i$. +nlab_link: https://ncatlab.org/nlab/show/connected+category +dual_property_id: connected +invariant_under_equivalences: true + +related_properties: + - inhabited + - semi-strongly connected + - strongly connected diff --git a/databases/catdat/data_yaml/category-properties/conormal.yaml b/databases/catdat/data_yaml/category-properties/conormal.yaml new file mode 100644 index 00000000..1a271c00 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/conormal.yaml @@ -0,0 +1,12 @@ +id: conormal +relation: is +description: A category is conormal if it has zero morphisms and every epimorphism is a cokernel of some morphism (in which case case it is also called a normal epimorphism). The assumption of having zero morphisms makes it possible to talk about cokernels. +nlab_link: https://ncatlab.org/nlab/show/normal+epimorphism +dual_property_id: normal +invariant_under_equivalences: true + +related_properties: + - cokernels + - effective cocongruences + - epi-regular + - zero morphisms diff --git a/databases/catdat/data_yaml/category-properties/copowers.yaml b/databases/catdat/data_yaml/category-properties/copowers.yaml new file mode 100644 index 00000000..3ee4e067 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/copowers.yaml @@ -0,0 +1,11 @@ +id: copowers +relation: has +description: If $X$ is an object and $I$ is a set, the copower is defined as the coproduct $I \otimes X := \coprod_{i \in I} X$. This property refers to the existence of copowers. +nlab_link: https://ncatlab.org/nlab/show/copower +dual_property_id: powers +invariant_under_equivalences: true + +related_properties: + - coproducts + - countable copowers + - finite copowers diff --git a/databases/catdat/data_yaml/category-properties/coproducts.yaml b/databases/catdat/data_yaml/category-properties/coproducts.yaml new file mode 100644 index 00000000..1ea004fe --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/coproducts.yaml @@ -0,0 +1,11 @@ +id: coproducts +relation: has +description: "Given a family of objects $(A_i)_{i \\in I}$, a coproduct $\\coprod_{i \\in I} A_i$ is defined as an object with morphisms $i_i : A_i \\to \\coprod_{i \\in I} A_i$ satisfying the following universal property: For every object $T$ and every family of morphisms $(f_i : A_i \\to T)_{i \\in I}$ there is a unique morphism $f : \\coprod_{i \\in I} A_i \\to T$ such that $f \\circ i_i = f_i$ for all $i \\in I$. This property refers to the existence of small coproducts, i.e., coproducts of small families of objects." +nlab_link: https://ncatlab.org/nlab/show/coproduct +dual_property_id: products +invariant_under_equivalences: true + +related_properties: + - cocomplete + - copowers + - finite coproducts diff --git a/databases/catdat/data_yaml/category-properties/coquotients of cocongruences.yaml b/databases/catdat/data_yaml/category-properties/coquotients of cocongruences.yaml new file mode 100644 index 00000000..aca291ca --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/coquotients of cocongruences.yaml @@ -0,0 +1,11 @@ +id: coquotients of cocongruences +relation: has +description: "A cocongruence (or internal equivalence corelation) on an object $X$ of a category is a parallel pair $i_1, i_2 : X \\rightrightarrows E$ which is jointly epimorphic, and such that for every object $T$, the image of $({-} \\circ i_1, {-} \\circ i_2) : \\Hom(E, T) \\to \\Hom(X, T)^2$ is an equivalence relation. The category has coquotients of cocongruences if for each such cocongruence, there exists an equalizer of $i_1$ and $i_2$. Note that in the case of a category with binary copowers, the corresponding quotients of $X + X$ are also commonly referred to as cocongruences, or as internal equivalence corelations." +dual_property_id: quotients of congruences +invariant_under_equivalences: true + +related_properties: + - coregular + - effective cocongruences + - equalizers + - kernels diff --git a/databases/catdat/data_yaml/category-properties/core-thin.yaml b/databases/catdat/data_yaml/category-properties/core-thin.yaml new file mode 100644 index 00000000..6d209bb8 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/core-thin.yaml @@ -0,0 +1,17 @@ +id: core-thin +relation: is +description: |- + A category is core-thin if it satisfies the following equivalent conditions: +
    +
  1. Its core is thin.
  2. +
  3. Parallel isomorphisms are equal.
  4. +
  5. Every automorphism is the identity.
  6. +
+nlab_link: https://ncatlab.org/nlab/show/gaunt+category +dual_property_id: core-thin +invariant_under_equivalences: true + +related_properties: + - gaunt + - one-way + - thin diff --git a/databases/catdat/data_yaml/category-properties/coreflexive equalizers.yaml b/databases/catdat/data_yaml/category-properties/coreflexive equalizers.yaml new file mode 100644 index 00000000..06cae65a --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/coreflexive equalizers.yaml @@ -0,0 +1,10 @@ +id: coreflexive equalizers +relation: has +description: A coreflexive equalizer is a limit of a diagram consisting of a parallel pair of morphisms with a common retraction (left inverse), which is the same concept as an equalizer of such a parallel pair. This property refers to the existence of coreflexive equalizers. +nlab_link: https://ncatlab.org/nlab/show/reflexive+coequalizer +dual_property_id: reflexive coequalizers +invariant_under_equivalences: true + +related_properties: + - cosifted limits + - equalizers diff --git a/databases/catdat/data_yaml/category-properties/coregular.yaml b/databases/catdat/data_yaml/category-properties/coregular.yaml new file mode 100644 index 00000000..861373ca --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/coregular.yaml @@ -0,0 +1,9 @@ +id: coregular +relation: is +description: A category is coregular when its dual is regular, i.e. it is finitely cocomplete, for every morphism $Y \to X$ its cokernel pair $X \rightrightarrows X \sqcup_Y X$ has an equalizer, and regular monomorphisms are stable under pushouts. +dual_property_id: regular +invariant_under_equivalences: true + +related_properties: + - coquotients of cocongruences + - finitely cocomplete diff --git a/databases/catdat/data_yaml/category-properties/cosifted limits.yaml b/databases/catdat/data_yaml/category-properties/cosifted limits.yaml new file mode 100644 index 00000000..0eb08615 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/cosifted limits.yaml @@ -0,0 +1,12 @@ +id: cosifted limits +relation: has +description: A category has cosifted limits if it has limits of diagrams indexed by small cosifted categories. +nlab_link: https://ncatlab.org/nlab/show/sifted+colimit +dual_property_id: sifted colimits +invariant_under_equivalences: true + +related_properties: + - cofiltered limits + - complete + - coreflexive equalizers + - cosifted diff --git a/databases/catdat/data_yaml/category-properties/cosifted.yaml b/databases/catdat/data_yaml/category-properties/cosifted.yaml new file mode 100644 index 00000000..a533c03e --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/cosifted.yaml @@ -0,0 +1,14 @@ +id: cosifted +relation: is +description: |- + A category $\C$ is cosifted if it is inhabited and the diagonal functor $\Delta : \C \to \C \times \C$ is initial, i.e. if it is non-empty and for any two objects $X,Y \in \C$ the category of spans + $$X \leftarrow Z \rightarrow Y$$ + is connected. Equivalently, a small category $\C$ is cosifted if $\colim : \Set^{{\C}^\op} \to \Set$ preserves finite products. This property is a weaker notion than being cofiltered. +nlab_link: https://ncatlab.org/nlab/show/sifted+category +dual_property_id: sifted +invariant_under_equivalences: true + +related_properties: + - cofiltered + - connected + - cosifted limits diff --git a/databases/catdat/data_yaml/category-properties/counital.yaml b/databases/catdat/data_yaml/category-properties/counital.yaml new file mode 100644 index 00000000..9a568468 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/counital.yaml @@ -0,0 +1,10 @@ +id: counital +relation: is +description: "A category is counital if its dual is unital, i.e., it has a zero object, finite colimits, and for all objects $X,Y$ the two morphisms $(\\id_X;0) : X \\sqcup Y \\twoheadrightarrow X$ and $(0;\\id_Y) : X \\sqcup Y \\twoheadrightarrow Y$ are jointly strongly monomorphic. When products exist, the canonical morphism $X \\sqcup Y \\to X \\times Y$ therefore must be a strong monomorphism." +dual_property_id: unital +invariant_under_equivalences: true + +related_properties: + - co-Malcev + - finitely cocomplete + - pointed diff --git a/databases/catdat/data_yaml/category-properties/countable copowers.yaml b/databases/catdat/data_yaml/category-properties/countable copowers.yaml new file mode 100644 index 00000000..ef4a3b3d --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/countable copowers.yaml @@ -0,0 +1,11 @@ +id: countable copowers +relation: has +description: A category has countable copowers when for every object $X$ and every countable set $I$ the copower $I \otimes X$ exists. +nlab_link: https://ncatlab.org/nlab/show/copower +dual_property_id: countable powers +invariant_under_equivalences: true + +related_properties: + - copowers + - countable coproducts + - finite copowers diff --git a/databases/catdat/data_yaml/category-properties/countable coproducts.yaml b/databases/catdat/data_yaml/category-properties/countable coproducts.yaml new file mode 100644 index 00000000..8f00fc8f --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/countable coproducts.yaml @@ -0,0 +1,10 @@ +id: countable coproducts +relation: has +description: A category has countable coproducts if it has coproducts for countable families of objects. +dual_property_id: countable products +invariant_under_equivalences: true + +related_properties: + - coproducts + - countable copowers + - finite coproducts diff --git a/databases/catdat/data_yaml/category-properties/countable powers.yaml b/databases/catdat/data_yaml/category-properties/countable powers.yaml new file mode 100644 index 00000000..7f570b45 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/countable powers.yaml @@ -0,0 +1,11 @@ +id: countable powers +relation: has +description: A category has countable powers when for every object $X$ and every countable set $I$ the power $X^I$ exists. +nlab_link: https://ncatlab.org/nlab/show/powering +dual_property_id: countable copowers +invariant_under_equivalences: true + +related_properties: + - countable products + - finite powers + - powers diff --git a/databases/catdat/data_yaml/category-properties/countable products.yaml b/databases/catdat/data_yaml/category-properties/countable products.yaml new file mode 100644 index 00000000..1be31289 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/countable products.yaml @@ -0,0 +1,10 @@ +id: countable products +relation: has +description: A category has countable products if it has products for countable families of objects. +dual_property_id: countable coproducts +invariant_under_equivalences: true + +related_properties: + - countable powers + - finite products + - products diff --git a/databases/catdat/data_yaml/category-properties/countable.yaml b/databases/catdat/data_yaml/category-properties/countable.yaml new file mode 100644 index 00000000..d82fbe6c --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/countable.yaml @@ -0,0 +1,9 @@ +id: countable +relation: is +description: A category is countable if it has countably many objects and morphisms. +dual_property_id: countable +invariant_under_equivalences: false + +related_properties: + - essentially countable + - finite diff --git a/databases/catdat/data_yaml/category-properties/countably codistributive.yaml b/databases/catdat/data_yaml/category-properties/countably codistributive.yaml new file mode 100644 index 00000000..23a1d63b --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/countably codistributive.yaml @@ -0,0 +1,11 @@ +id: countably codistributive +relation: is +description: A category is countably codistributive if it has finite coproducts, countable products, and for every object $A$ the functor $A \sqcup -$ preserves countable products. Concretely, for every countable family of objects $(B_i)$ the canonical morphism $A \sqcup \prod_i B_i \to \prod_i (A \sqcup B_i)$ must be an isomorphism. +dual_property_id: countably distributive +invariant_under_equivalences: true + +related_properties: + - codistributive + - countable products + - finite coproducts + - infinitary codistributive diff --git a/databases/catdat/data_yaml/category-properties/countably distributive.yaml b/databases/catdat/data_yaml/category-properties/countably distributive.yaml new file mode 100644 index 00000000..66cb4892 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/countably distributive.yaml @@ -0,0 +1,11 @@ +id: countably distributive +relation: is +description: A category is countably distributive if it has finite products, countable coproducts, and for every object $A$ the functor $A \times -$ preserves countable coproducts. Concretely, for every countable family of objects $(B_i)$ the canonical morphism $\coprod_i (A \times B_i) \to A \times \coprod_i B_i$ must be an isomorphism. +dual_property_id: countably codistributive +invariant_under_equivalences: true + +related_properties: + - countable coproducts + - distributive + - finite products + - infinitary distributive diff --git a/databases/catdat/data_yaml/category-properties/direct.yaml b/databases/catdat/data_yaml/category-properties/direct.yaml new file mode 100644 index 00000000..e5cde6d7 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/direct.yaml @@ -0,0 +1,13 @@ +id: direct +relation: is +description: |- + A category is direct if it contains no infinite sequence of non-identity morphisms of the form + $$\cdots \to A_2 \to A_1 \to A_0.$$ + For example, a poset is direct iff it is well-founded. +nlab_link: https://ncatlab.org/nlab/show/direct+category +dual_property_id: inverse +invariant_under_equivalences: false + +related_properties: + - one-way + - skeletal diff --git a/databases/catdat/data_yaml/category-properties/directed colimits.yaml b/databases/catdat/data_yaml/category-properties/directed colimits.yaml new file mode 100644 index 00000000..1259fca8 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/directed colimits.yaml @@ -0,0 +1,10 @@ +id: directed colimits +relation: has +description: A category has directed colimits if it has colimits of diagrams indexed by directed (small) posets. This is actually equivalent to having filtered colimits. Directed colimits are (somewhat confusingly) also known as inverse limits. +nlab_link: https://ncatlab.org/nlab/show/directed+colimit +dual_property_id: directed limits +invariant_under_equivalences: true + +related_properties: + - cocomplete + - filtered colimits diff --git a/databases/catdat/data_yaml/category-properties/directed limits.yaml b/databases/catdat/data_yaml/category-properties/directed limits.yaml new file mode 100644 index 00000000..c49d04fc --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/directed limits.yaml @@ -0,0 +1,10 @@ +id: directed limits +relation: has +description: A category has directed limits if it has limits of diagrams indexed by codirected (small) posets. This is actually equivalent to having cofiltered limits. +nlab_link: https://ncatlab.org/nlab/show/directed+limit +dual_property_id: directed colimits +invariant_under_equivalences: true + +related_properties: + - cofiltered limits + - complete diff --git a/databases/catdat/data_yaml/category-properties/discrete.yaml b/databases/catdat/data_yaml/category-properties/discrete.yaml new file mode 100644 index 00000000..16df2d1a --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/discrete.yaml @@ -0,0 +1,10 @@ +id: discrete +relation: is +description: A category is discrete when every morphism is an identity morphism. Thus, a discrete category is merely a collection of objects. +nlab_link: https://ncatlab.org/nlab/show/discrete+category +dual_property_id: discrete +invariant_under_equivalences: false + +related_properties: + - essentially discrete + - thin diff --git a/databases/catdat/data_yaml/category-properties/disjoint coproducts.yaml b/databases/catdat/data_yaml/category-properties/disjoint coproducts.yaml new file mode 100644 index 00000000..b8a1e477 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/disjoint coproducts.yaml @@ -0,0 +1,11 @@ +id: disjoint coproducts +relation: has +description: A category has disjoint coproducts if it has coproducts, the coproduct inclusions $A_i \to \coprod_{i \in I} A_i$ are monomorphisms, and the pullback of the inclusions $A_i \to \coprod_{i \in I} A_i$ and $A_j \to \coprod_{i \in I} A_i$ for $i \neq j$ exists and is given by the initial object $0$. +nlab_link: https://ncatlab.org/nlab/show/disjoint+coproduct +dual_property_id: disjoint products +invariant_under_equivalences: true + +related_properties: + - coproducts + - disjoint finite coproducts + - infinitary extensive diff --git a/databases/catdat/data_yaml/category-properties/disjoint finite coproducts.yaml b/databases/catdat/data_yaml/category-properties/disjoint finite coproducts.yaml new file mode 100644 index 00000000..77f6b46d --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/disjoint finite coproducts.yaml @@ -0,0 +1,11 @@ +id: disjoint finite coproducts +relation: has +description: A category has disjoint finite coproducts if it has finite coproducts, for every pair of objects $A,B$ the coproduct inclusions $A \rightarrow A+B \leftarrow B$ are monomorphisms, and the pullback $A \times_{A + B} B$ exists and is given by the initial object $0$. +nlab_link: https://ncatlab.org/nlab/show/disjoint+coproduct +dual_property_id: disjoint finite products +invariant_under_equivalences: true + +related_properties: + - disjoint coproducts + - extensive + - finite coproducts diff --git a/databases/catdat/data_yaml/category-properties/disjoint finite products.yaml b/databases/catdat/data_yaml/category-properties/disjoint finite products.yaml new file mode 100644 index 00000000..967a916f --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/disjoint finite products.yaml @@ -0,0 +1,12 @@ +id: disjoint finite products +relation: has +description: |- + A category has disjoint finite products if it has finite products, for every pair of objects $A,B$ the product projections $A \leftarrow A \times B \rightarrow B$ are epimorphisms, and the pushout $A \sqcup_{A \times B} B$ exists and is given by the terminal object $1$.
+ This terminology does not seem to be common, but we have added it as a dual for the more commonly known property of having disjoint finite coproducts. +dual_property_id: disjoint finite coproducts +invariant_under_equivalences: true + +related_properties: + - coextensive + - disjoint products + - finite products diff --git a/databases/catdat/data_yaml/category-properties/disjoint products.yaml b/databases/catdat/data_yaml/category-properties/disjoint products.yaml new file mode 100644 index 00000000..d5c0a0c2 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/disjoint products.yaml @@ -0,0 +1,12 @@ +id: disjoint products +relation: has +description: |- + A category has disjoint products if it has products, the product projections $\prod_{i \in I} A_i \to A_i$ are epimorphisms, and the pushout of the projections $\prod_{i \in I} A_i \to A_i$ and $\prod_{i \in I} A_i \to A_j$ for $i \neq j$ exists and is given by the terminal object $1$.
+ This terminology does not seem to be common, but we have added it as a dual for the more commonly known property of having disjoint coproducts. +dual_property_id: disjoint coproducts +invariant_under_equivalences: true + +related_properties: + - disjoint finite products + - infinitary coextensive + - products diff --git a/databases/catdat/data_yaml/category-properties/distributive.yaml b/databases/catdat/data_yaml/category-properties/distributive.yaml new file mode 100644 index 00000000..ae7b4015 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/distributive.yaml @@ -0,0 +1,12 @@ +id: distributive +relation: is +description: A category is distributive if it has finite products, finite coproducts, and for every object $A$ the functor $A \times -$ preserves finite coproducts. Concretely, for every finite family of objects $(B_i)$ the canonical morphism $\coprod_i (A \times B_i) \to A \times \coprod_i B_i$ must be an isomorphism. +nlab_link: https://ncatlab.org/nlab/show/distributive+category +dual_property_id: codistributive +invariant_under_equivalences: true + +related_properties: + - countably distributive + - finite coproducts + - finite products + - infinitary distributive diff --git a/databases/catdat/data_yaml/category-properties/effective cocongruences.yaml b/databases/catdat/data_yaml/category-properties/effective cocongruences.yaml new file mode 100644 index 00000000..eca6df5f --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/effective cocongruences.yaml @@ -0,0 +1,19 @@ +id: effective cocongruences +relation: has +description: |- + 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. +dual_property_id: effective congruences +invariant_under_equivalences: true + +related_properties: + - conormal + - coquotients of cocongruences + - epi-regular diff --git a/databases/catdat/data_yaml/category-properties/effective congruences.yaml b/databases/catdat/data_yaml/category-properties/effective congruences.yaml new file mode 100644 index 00000000..28d96123 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/effective congruences.yaml @@ -0,0 +1,20 @@ +id: effective congruences +relation: has +description: |- + 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. +nlab_link: https://ncatlab.org/nlab/show/congruence +dual_property_id: effective cocongruences +invariant_under_equivalences: true + +related_properties: + - mono-regular + - normal + - quotients of congruences diff --git a/databases/catdat/data_yaml/category-properties/elementary topos.yaml b/databases/catdat/data_yaml/category-properties/elementary topos.yaml new file mode 100644 index 00000000..7d010cdf --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/elementary topos.yaml @@ -0,0 +1,12 @@ +id: elementary topos +relation: is an +description: An elementary topos is a cartesian closed category with finite limits and a subobject classifier. +nlab_link: https://ncatlab.org/nlab/show/topos +invariant_under_equivalences: true + +related_properties: + - Grothendieck topos + - cartesian closed + - finitely complete + - natural numbers object + - subobject classifier diff --git a/databases/catdat/data_yaml/category-properties/epi-regular.yaml b/databases/catdat/data_yaml/category-properties/epi-regular.yaml new file mode 100644 index 00000000..f2a828ee --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/epi-regular.yaml @@ -0,0 +1,11 @@ +id: epi-regular +relation: is +description: A category is epi-regular when every epimorphism is regular, i.e. the coequalizer of a pair of morphisms. Notice that this is not standard terminology, apparently the literature has no name for this yet. A preadditive category is epi-regular iff it is conormal. The notion of a conormal category is reserved for categories with zero morphisms, while epi-regular applies to all categories. +nlab_link: https://ncatlab.org/nlab/show/regular+epimorphism +dual_property_id: mono-regular +invariant_under_equivalences: true + +related_properties: + - conormal + - effective cocongruences + - quotient-trivial diff --git a/databases/catdat/data_yaml/category-properties/equalizers.yaml b/databases/catdat/data_yaml/category-properties/equalizers.yaml new file mode 100644 index 00000000..84585173 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/equalizers.yaml @@ -0,0 +1,12 @@ +id: equalizers +relation: has +description: "An equalizer of a pair of morphisms $f,g : A \\rightrightarrows B$ is an object $E$ with a morphism $e : E \\to A$ such that $f \\circ e = g \\circ e$ and which is universal with respect to this property. This property refers to the existence of equalizers." +nlab_link: https://ncatlab.org/nlab/show/equalizer +dual_property_id: coequalizers +invariant_under_equivalences: true + +related_properties: + - coquotients of cocongruences + - coreflexive equalizers + - finitely complete + - kernels diff --git a/databases/catdat/data_yaml/category-properties/essentially countable.yaml b/databases/catdat/data_yaml/category-properties/essentially countable.yaml new file mode 100644 index 00000000..94519b38 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/essentially countable.yaml @@ -0,0 +1,9 @@ +id: essentially countable +relation: is +description: A category is essentially countable if it is equivalent to a countable category. +dual_property_id: essentially countable +invariant_under_equivalences: true + +related_properties: + - countable + - essentially finite diff --git a/databases/catdat/data_yaml/category-properties/essentially discrete.yaml b/databases/catdat/data_yaml/category-properties/essentially discrete.yaml new file mode 100644 index 00000000..03a4dce7 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/essentially discrete.yaml @@ -0,0 +1,10 @@ +id: essentially discrete +relation: is +description: A category is essentially discrete if it is equivalent to a discrete category. Equivalently, it is a thin groupoid. Notice that the nLab calls this property simply "discrete". In contrast to being discrete, this property is invariant under equivalences of categories. An essentially discrete category is the same as a setoid (a set equipped with an equivalence relation). +nlab_link: https://ncatlab.org/nlab/show/discrete+category +dual_property_id: essentially discrete +invariant_under_equivalences: true + +related_properties: + - discrete + - thin diff --git a/databases/catdat/data_yaml/category-properties/essentially finite.yaml b/databases/catdat/data_yaml/category-properties/essentially finite.yaml new file mode 100644 index 00000000..f125d698 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/essentially finite.yaml @@ -0,0 +1,10 @@ +id: essentially finite +relation: is +description: A category is essentially finite if it is equivalent to a finite category. Equivalently, there are only finitely many objects up to isomorphism, and the collection of morphisms between any two objects is isomorphic to a finite set. In contrast to being finite, this property is invariant under equivalences of categories. +dual_property_id: essentially finite +invariant_under_equivalences: true + +related_properties: + - essentially countable + - essentially small + - finite diff --git a/databases/catdat/data_yaml/category-properties/essentially small.yaml b/databases/catdat/data_yaml/category-properties/essentially small.yaml new file mode 100644 index 00000000..670304a2 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/essentially small.yaml @@ -0,0 +1,10 @@ +id: essentially small +relation: is +description: A category is essentially small when it is equivalent to a small category. In particular, there is a set of objects such that every object is isomorphic to an object in this set. In contrast to the property of being small, being essentially small is invariant under equivalences of categories. +nlab_link: https://ncatlab.org/nlab/show/small+category +dual_property_id: essentially small +invariant_under_equivalences: true + +related_properties: + - locally essentially small + - small diff --git a/databases/catdat/data_yaml/category-properties/exact cofiltered limits.yaml b/databases/catdat/data_yaml/category-properties/exact cofiltered limits.yaml new file mode 100644 index 00000000..3e94f562 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/exact cofiltered limits.yaml @@ -0,0 +1,18 @@ +id: exact cofiltered limits +relation: has +description: |- + In a category $\C$, which we assume to have cofiltered limits and finite colimits, we say that cofiltered limits are exact if the following equivalent conditions are satisfied: +
    +
  1. For every finite category $\I$ the functor $\colim : [\I, \C] \to \C$ preserves cofiltered limits.
  2. +
  3. For every small cofiltered category $\J$ the functor $\lim : [\J,\C] \to \C$ preserves finite colimits.
  4. +
  5. For every diagram $X : \I \times \J \to \C$, where $\I$ is finite and $\J$ is small cofiltered, the canonical morphism $\colim_i \lim_j X(i,j) \to \lim_j \colim_i X(i,j)$ is an isomorphism.
  6. +
+nlab_link: https://ncatlab.org/nlab/show/commutativity+of+limits+and+colimits +dual_property_id: exact filtered colimits +invariant_under_equivalences: true + +related_properties: + - cocartesian cofiltered limits + - cofiltered limits + - cofiltered-limit-stable epimorphisms + - finitely cocomplete diff --git a/databases/catdat/data_yaml/category-properties/exact filtered colimits.yaml b/databases/catdat/data_yaml/category-properties/exact filtered colimits.yaml new file mode 100644 index 00000000..477524bb --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/exact filtered colimits.yaml @@ -0,0 +1,17 @@ +id: exact filtered colimits +relation: has +description: |- + In a category $\C$, which we assume to have filtered colimits and finite limits, we say that filtered colimits are exact if the following equivalent conditions are satisfied: +
    +
  1. For every finite category $\I$ the functor $\lim : [\I, \C] \to \C$ preserves filtered colimits.
  2. +
  3. For every small filtered category $\J$ the functor $\colim : [\J,\C] \to \C$ preserves finite limits.
  4. +
  5. For every diagram $X : \I \times \J \to \C$, where $\I$ is finite and $\J$ is small filtered, the canonical morphism $\colim_j \lim_i X(i,j) \to \lim_i \colim_j X(i,j)$ is an isomorphism.
  6. +
+nlab_link: https://ncatlab.org/nlab/show/commutativity+of+limits+and+colimits +dual_property_id: exact cofiltered limits +invariant_under_equivalences: true + +related_properties: + - cartesian filtered colimits + - filtered colimits + - finitely complete diff --git a/databases/catdat/data_yaml/category-properties/extensive.yaml b/databases/catdat/data_yaml/category-properties/extensive.yaml new file mode 100644 index 00000000..5146b55d --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/extensive.yaml @@ -0,0 +1,11 @@ +id: extensive +relation: is +description: A category $\C$ is extensive when it has finite coproducts and for all objects $A,B \in \C$ the coproduct functor $\C/A \times \C/B \to \C/(A+B)$ is an equivalence of categories. Equivalently, pullbacks of finite coproduct inclusions along arbitrary morphisms exist and finite coproducts are disjoint and stable under pullback. +nlab_link: https://ncatlab.org/nlab/show/extensive+category +dual_property_id: coextensive +invariant_under_equivalences: true + +related_properties: + - disjoint finite coproducts + - finite coproducts + - infinitary extensive diff --git a/databases/catdat/data_yaml/category-properties/filtered colimits.yaml b/databases/catdat/data_yaml/category-properties/filtered colimits.yaml new file mode 100644 index 00000000..a9cb9627 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/filtered colimits.yaml @@ -0,0 +1,12 @@ +id: filtered colimits +relation: has +description: A category has filtered colimits if it has colimits of diagrams indexed by small filtered categories. This is actually equivalent to having directed colimits. +nlab_link: https://ncatlab.org/nlab/show/filtered+colimit +dual_property_id: cofiltered limits +invariant_under_equivalences: true + +related_properties: + - cocomplete + - directed colimits + - filtered + - sifted colimits diff --git a/databases/catdat/data_yaml/category-properties/filtered-colimit-stable monomorphisms.yaml b/databases/catdat/data_yaml/category-properties/filtered-colimit-stable monomorphisms.yaml new file mode 100644 index 00000000..a5d3d9bb --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/filtered-colimit-stable monomorphisms.yaml @@ -0,0 +1,9 @@ +id: filtered-colimit-stable monomorphisms +relation: has +description: A category has filtered-colimit-stable monomorphisms if it has filtered colimits and for every filtered diagram of monomorphisms $(X_i \to Y_i)$ also their colimit $\colim_i X_i \to \colim_i Y_i$ is a monomorphism. +dual_property_id: cofiltered-limit-stable epimorphisms +invariant_under_equivalences: true + +related_properties: + - exact filtered colimits + - filtered colimits diff --git a/databases/catdat/data_yaml/category-properties/filtered.yaml b/databases/catdat/data_yaml/category-properties/filtered.yaml new file mode 100644 index 00000000..9465d23d --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/filtered.yaml @@ -0,0 +1,10 @@ +id: filtered +relation: is +description: A category is filtered if every finite diagram admits a cocone. Equivalently, it is inhabited, for every two objects $x,y$ there is a cospan $x \rightarrow s \leftarrow y$ (not necessarily universal), and every parallel pair $x \rightrightarrows y$ is coequalized by some morphism $y \to c$ (not necessarily universal). +nlab_link: https://ncatlab.org/nlab/show/filtered+category +dual_property_id: cofiltered +invariant_under_equivalences: true + +related_properties: + - filtered colimits + - finitely cocomplete diff --git a/databases/catdat/data_yaml/category-properties/finitary algebraic.yaml b/databases/catdat/data_yaml/category-properties/finitary algebraic.yaml new file mode 100644 index 00000000..1ab6ad29 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/finitary algebraic.yaml @@ -0,0 +1,8 @@ +id: finitary algebraic +relation: is +description: A category is finitary algebraic if it is equivalent to the category of models of a one-sorted finitary algebraic theory. This is also known as a variety of one-sorted finitary algebras. +nlab_link: https://ncatlab.org/nlab/show/algebraic+category +invariant_under_equivalences: true + +related_properties: + - locally strongly finitely presentable diff --git a/databases/catdat/data_yaml/category-properties/finite copowers.yaml b/databases/catdat/data_yaml/category-properties/finite copowers.yaml new file mode 100644 index 00000000..9f00fca8 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/finite copowers.yaml @@ -0,0 +1,12 @@ +id: finite copowers +relation: has +description: A category has finite copowers when for every object $X$ and every finite set $I$ the copower $I \otimes X$ exists. Equivalently, for every $n \in \IN$ the copower $n \otimes X$ exists. +nlab_link: https://ncatlab.org/nlab/show/copower +dual_property_id: finite powers +invariant_under_equivalences: true + +related_properties: + - binary copowers + - copowers + - countable copowers + - finite coproducts diff --git a/databases/catdat/data_yaml/category-properties/finite coproducts.yaml b/databases/catdat/data_yaml/category-properties/finite coproducts.yaml new file mode 100644 index 00000000..5e5ef46e --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/finite coproducts.yaml @@ -0,0 +1,12 @@ +id: finite coproducts +relation: has +description: A category has finite coproducts if it has coproducts for finite families of objects. Equivalently, it has an initial object and binary coproducts. +nlab_link: https://ncatlab.org/nlab/show/finite+coproduct +dual_property_id: finite products +invariant_under_equivalences: true + +related_properties: + - binary coproducts + - coproducts + - finite copowers + - initial object diff --git a/databases/catdat/data_yaml/category-properties/finite powers.yaml b/databases/catdat/data_yaml/category-properties/finite powers.yaml new file mode 100644 index 00000000..cb0130eb --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/finite powers.yaml @@ -0,0 +1,12 @@ +id: finite powers +relation: has +description: A category has finite powers when for every object $X$ and every finite set $I$ the power $X^I$ exists. Equivalently, for every $n \in \IN$ the power $X^n$ exists. +nlab_link: https://ncatlab.org/nlab/show/powering +dual_property_id: finite copowers +invariant_under_equivalences: true + +related_properties: + - binary powers + - countable powers + - finite products + - powers diff --git a/databases/catdat/data_yaml/category-properties/finite products.yaml b/databases/catdat/data_yaml/category-properties/finite products.yaml new file mode 100644 index 00000000..0fd80c30 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/finite products.yaml @@ -0,0 +1,12 @@ +id: finite products +relation: has +description: A category has finite products if it has products for finite families of objects. Equivalently, it has a terminal object and binary products. +nlab_link: https://ncatlab.org/nlab/show/finite+product +dual_property_id: finite coproducts +invariant_under_equivalences: true + +related_properties: + - binary products + - finite powers + - products + - terminal object diff --git a/databases/catdat/data_yaml/category-properties/finite.yaml b/databases/catdat/data_yaml/category-properties/finite.yaml new file mode 100644 index 00000000..1fda8664 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/finite.yaml @@ -0,0 +1,11 @@ +id: finite +relation: is +description: A category is finite if it has finitely many objects and morphisms. +nlab_link: https://ncatlab.org/nlab/show/finite+category +dual_property_id: finite +invariant_under_equivalences: false + +related_properties: + - countable + - essentially finite + - small diff --git a/databases/catdat/data_yaml/category-properties/finitely accessible.yaml b/databases/catdat/data_yaml/category-properties/finitely accessible.yaml new file mode 100644 index 00000000..f162330e --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/finitely accessible.yaml @@ -0,0 +1,12 @@ +id: finitely accessible +relation: is +description: A category is finitely accessible if it has filtered colimits and there is a (small) set $G$ of finitely presentable objects such that every object is a filtered colimit of objects in $G$. +nlab_link: https://ncatlab.org/nlab/show/accessible+category +invariant_under_equivalences: true + +related_properties: + - accessible + - filtered colimits + - locally finitely multi-presentable + - locally finitely presentable + - ℵ₁-accessible diff --git a/databases/catdat/data_yaml/category-properties/finitely cocomplete.yaml b/databases/catdat/data_yaml/category-properties/finitely cocomplete.yaml new file mode 100644 index 00000000..5bf7307a --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/finitely cocomplete.yaml @@ -0,0 +1,11 @@ +id: finitely cocomplete +relation: is +description: A category is finitely cocomplete when every finite diagram has a colimit. +nlab_link: https://ncatlab.org/nlab/show/finitely+cocomplete+category +dual_property_id: finitely complete +invariant_under_equivalences: true + +related_properties: + - cocomplete + - coequalizers + - finite coproducts diff --git a/databases/catdat/data_yaml/category-properties/finitely complete.yaml b/databases/catdat/data_yaml/category-properties/finitely complete.yaml new file mode 100644 index 00000000..a79d5245 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/finitely complete.yaml @@ -0,0 +1,11 @@ +id: finitely complete +relation: is +description: A category is finitely complete when every finite diagram has a limit. +nlab_link: https://ncatlab.org/nlab/show/finitely+complete+category +dual_property_id: finitely cocomplete +invariant_under_equivalences: true + +related_properties: + - complete + - equalizers + - finite products diff --git a/databases/catdat/data_yaml/category-properties/gaunt.yaml b/databases/catdat/data_yaml/category-properties/gaunt.yaml new file mode 100644 index 00000000..d0be5b1e --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/gaunt.yaml @@ -0,0 +1,11 @@ +id: gaunt +relation: is +description: 'A category is gaunt when every isomorphism $f : A \to B$ must be the identity (in particular, $A = B$). This is the "skeletal variant" of being core-thin.' +nlab_link: https://ncatlab.org/nlab/show/gaunt+category +dual_property_id: gaunt +invariant_under_equivalences: false + +related_properties: + - core-thin + - one-way + - skeletal diff --git a/databases/catdat/data_yaml/category-properties/generalized variety.yaml b/databases/catdat/data_yaml/category-properties/generalized variety.yaml new file mode 100644 index 00000000..a7be520d --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/generalized variety.yaml @@ -0,0 +1,9 @@ +id: generalized variety +relation: is a +description: A category is a generalized variety if it has sifted colimits and there is a (small) set $G$ of strongly finitely presentable objects such that every object is a sifted colimit of objects from $G$. Generalized varieties are like locally strongly finitely presentable categories but without colimits. The relation is similar as between finitely accessible and locally finitely presentable categories. This notion is defined in [AR01, Def. 3.6]. +invariant_under_equivalences: true + +related_properties: + - locally strongly finitely presentable + - multi-algebraic + - sifted colimits diff --git a/databases/catdat/data_yaml/category-properties/generating set.yaml b/databases/catdat/data_yaml/category-properties/generating set.yaml new file mode 100644 index 00000000..dc7ea14b --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/generating set.yaml @@ -0,0 +1,9 @@ +id: generating set +relation: has a +description: "A set of objects $S$ is called a generating set if for every pair of parallel morphisms $f,g : A \\rightrightarrows B$, $f = g$ holds if and only if for every morphism $h : G \\to A$ with $G \\in S$ we have $f \\circ h = g \\circ h$. Equivalently, the functor $(\\Hom(G,-))_{G \\in S} : \\C \\to (\\Set^+)^S$ is faithful. This property refers to the existence of a generating set." +nlab_link: https://ncatlab.org/nlab/show/separator +dual_property_id: cogenerating set +invariant_under_equivalences: true + +related_properties: + - generator diff --git a/databases/catdat/data_yaml/category-properties/generator.yaml b/databases/catdat/data_yaml/category-properties/generator.yaml new file mode 100644 index 00000000..65f922c6 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/generator.yaml @@ -0,0 +1,9 @@ +id: generator +relation: has a +description: 'An object $G$ of a category is called a generator if for every pair of parallel morphisms $f,g : A \rightrightarrows B$ the equation $f = g$ holds if for every morphism $h : G \to A$ we have $f \circ h = g \circ h$. Equivalently, the functor $\Hom(G,-) : \C \to \Set^+$ is faithful. This property refers to the existence of a generator. By definition, $G$ is a generator if and only if $\{G\}$ is a generating set.' +nlab_link: https://ncatlab.org/nlab/show/separator +dual_property_id: cogenerator +invariant_under_equivalences: true + +related_properties: + - generating set diff --git a/databases/catdat/data_yaml/category-properties/groupoid.yaml b/databases/catdat/data_yaml/category-properties/groupoid.yaml new file mode 100644 index 00000000..f43b125d --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/groupoid.yaml @@ -0,0 +1,12 @@ +id: groupoid +relation: is a +description: A groupoid is a category in which every morphism is an isomorphism. +nlab_link: https://ncatlab.org/nlab/show/groupoid +dual_property_id: groupoid +invariant_under_equivalences: true + +related_properties: + - left cancellative + - quotient-trivial + - right cancellative + - subobject-trivial diff --git a/databases/catdat/data_yaml/category-properties/infinitary codistributive.yaml b/databases/catdat/data_yaml/category-properties/infinitary codistributive.yaml new file mode 100644 index 00000000..0bdcf94f --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/infinitary codistributive.yaml @@ -0,0 +1,11 @@ +id: infinitary codistributive +relation: is +description: A category is infinitary codistributive if it has finite coproducts, all products, and for every object $A$ the functor $A \sqcup -$ preserves all products. Concretely, for every family of objects $(B_i)$ the canonical morphism $A \sqcup \prod_i B_i \to \prod_i (A \sqcup B_i)$ must be an isomorphism. +dual_property_id: infinitary distributive +invariant_under_equivalences: true + +related_properties: + - codistributive + - countably codistributive + - finite coproducts + - products diff --git a/databases/catdat/data_yaml/category-properties/infinitary coextensive.yaml b/databases/catdat/data_yaml/category-properties/infinitary coextensive.yaml new file mode 100644 index 00000000..1ceafee7 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/infinitary coextensive.yaml @@ -0,0 +1,12 @@ +id: infinitary coextensive +relation: is +description: |- + A category $\C$ is infinitary coextensive when it has products and for all families of objects $(A_i)_{i \in I}$ the product functor $\prod_{i \in I} A_i / \C/A_i \to \prod_{i \in I} A_i / \C$ is an equivalence of categories.
+ This terminology does not seem to be common, but we have added it as a dual for the more commonly known property of being infinitary extensive. +dual_property_id: infinitary extensive +invariant_under_equivalences: true + +related_properties: + - coextensive + - disjoint products + - products diff --git a/databases/catdat/data_yaml/category-properties/infinitary distributive.yaml b/databases/catdat/data_yaml/category-properties/infinitary distributive.yaml new file mode 100644 index 00000000..6d67b601 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/infinitary distributive.yaml @@ -0,0 +1,12 @@ +id: infinitary distributive +relation: is +description: A category is infinitary distributive if it has finite products, all coproducts, and for every object $A$ the functor $A \times -$ preserves all coproducts. Concretely, for every family of objects $(B_i)$ the canonical morphism $\coprod_i (A \times B_i) \to A \times \coprod_i B_i$ must be an isomorphism. +nlab_link: https://ncatlab.org/nlab/show/distributive+category +dual_property_id: infinitary codistributive +invariant_under_equivalences: true + +related_properties: + - coproducts + - countably distributive + - distributive + - finite products diff --git a/databases/catdat/data_yaml/category-properties/infinitary extensive.yaml b/databases/catdat/data_yaml/category-properties/infinitary extensive.yaml new file mode 100644 index 00000000..dbb5e8f2 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/infinitary extensive.yaml @@ -0,0 +1,11 @@ +id: infinitary extensive +relation: is +description: A category $\C$ is infinitary extensive when it has coproducts and for all families of objects $(A_i)_{i \in I}$ the coproduct functor $\prod_{i \in I} \C/A_i \to \C/(\coprod_{i \in I} A_i)$ is an equivalence of categories. Equivalently, pullbacks of coproduct inclusions along arbitrary morphisms exist and coproducts are disjoint and stable under pullback. +nlab_link: https://ncatlab.org/nlab/show/extensive+category +dual_property_id: infinitary coextensive +invariant_under_equivalences: true + +related_properties: + - coproducts + - disjoint coproducts + - extensive diff --git a/databases/catdat/data_yaml/category-properties/inhabited.yaml b/databases/catdat/data_yaml/category-properties/inhabited.yaml new file mode 100644 index 00000000..37a3add9 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/inhabited.yaml @@ -0,0 +1,8 @@ +id: inhabited +relation: is +description: A category is inhabited if it has at least one object. In classical logic, this is equivalent to being non-empty (which is a double negation). +nlab_link: https://ncatlab.org/nlab/show/inhabited+set +dual_property_id: inhabited +invariant_under_equivalences: true + +related_properties: [] diff --git a/databases/catdat/data_yaml/category-properties/initial object.yaml b/databases/catdat/data_yaml/category-properties/initial object.yaml new file mode 100644 index 00000000..83001b6d --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/initial object.yaml @@ -0,0 +1,10 @@ +id: initial object +relation: has an +description: An initial object is an object that has a unique morphism to every object in the category. This property refers to the existence of an initial object. +nlab_link: https://ncatlab.org/nlab/show/initial+object +dual_property_id: terminal object +invariant_under_equivalences: true + +related_properties: + - finite coproducts + - multi-initial object diff --git a/databases/catdat/data_yaml/category-properties/inverse.yaml b/databases/catdat/data_yaml/category-properties/inverse.yaml new file mode 100644 index 00000000..0941f5aa --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/inverse.yaml @@ -0,0 +1,12 @@ +id: inverse +relation: is +description: |- + A category is inverse if its dual is direct, i.e., if it contains no infinite sequence of non-identity morphisms of the form + $$A_0 \to A_1 \to A_2 \to \cdots.$$ +nlab_link: https://ncatlab.org/nlab/show/inverse+category +dual_property_id: direct +invariant_under_equivalences: false + +related_properties: + - one-way + - skeletal diff --git a/databases/catdat/data_yaml/category-properties/kernels.yaml b/databases/catdat/data_yaml/category-properties/kernels.yaml new file mode 100644 index 00000000..56742bc3 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/kernels.yaml @@ -0,0 +1,12 @@ +id: kernels +relation: has +description: "A category has kernels if it has zero morphisms and every morphism $f : A \\to B$ has a kernel, i.e. an equalizer of $f$ with the zero morphism $0_{A,B} : A \\to B$." +nlab_link: https://ncatlab.org/nlab/show/kernel +dual_property_id: cokernels +invariant_under_equivalences: true + +related_properties: + - coquotients of cocongruences + - equalizers + - normal + - zero morphisms diff --git a/databases/catdat/data_yaml/category-properties/left cancellative.yaml b/databases/catdat/data_yaml/category-properties/left cancellative.yaml new file mode 100644 index 00000000..670b6253 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/left cancellative.yaml @@ -0,0 +1,9 @@ +id: left cancellative +relation: is +description: "A category is left cancellative if for every morphism $f : A \\to B$ and every parallel pair of morphisms $g,h : T \\rightrightarrows A$ with $f \\circ g = f \\circ h$ we have $g = h$. Equivalently, every morphism is a monomorphism." +nlab_link: https://ncatlab.org/nlab/show/cancellative+category +dual_property_id: right cancellative +invariant_under_equivalences: true + +related_properties: + - groupoid diff --git a/databases/catdat/data_yaml/category-properties/locally aleph1-presentable.yaml b/databases/catdat/data_yaml/category-properties/locally aleph1-presentable.yaml new file mode 100644 index 00000000..90d839f3 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/locally aleph1-presentable.yaml @@ -0,0 +1,11 @@ +id: locally ℵ₁-presentable +relation: is +description: This is the special case of the notion of locally $\kappa$-presentable categories, where $\kappa = \aleph_1$ is the first uncountable cardinal. +nlab_link: https://ncatlab.org/nlab/show/locally+presentable+category +invariant_under_equivalences: true + +related_properties: + - cocomplete + - locally finitely presentable + - locally presentable + - ℵ₁-accessible diff --git a/databases/catdat/data_yaml/category-properties/locally cartesian closed.yaml b/databases/catdat/data_yaml/category-properties/locally cartesian closed.yaml new file mode 100644 index 00000000..4afbc11b --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/locally cartesian closed.yaml @@ -0,0 +1,9 @@ +id: locally cartesian closed +relation: is +description: A category is locally cartesian closed if each of its slice categories is cartesian closed. +nlab_link: https://ncatlab.org/nlab/show/locally+cartesian+closed+category +dual_property_id: locally cocartesian coclosed +invariant_under_equivalences: true + +related_properties: + - cartesian closed diff --git a/databases/catdat/data_yaml/category-properties/locally cocartesian coclosed.yaml b/databases/catdat/data_yaml/category-properties/locally cocartesian coclosed.yaml new file mode 100644 index 00000000..32954404 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/locally cocartesian coclosed.yaml @@ -0,0 +1,9 @@ +id: locally cocartesian coclosed +relation: is +description: A category is locally cocartesian coclosed if its dual is locally cartesian closed, i.e. if each of its coslice categories is cocartesian coclosed. +nlab_link: https://ncatlab.org/nlab/show/locally+cocartesian+coclosed+category +dual_property_id: locally cartesian closed +invariant_under_equivalences: true + +related_properties: + - cocartesian coclosed diff --git a/databases/catdat/data_yaml/category-properties/locally copresentable.yaml b/databases/catdat/data_yaml/category-properties/locally copresentable.yaml new file mode 100644 index 00000000..c5d770d7 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/locally copresentable.yaml @@ -0,0 +1,9 @@ +id: locally copresentable +relation: is +description: A category is locally copresentable if its opposite category is locally presentable. +dual_property_id: locally presentable +invariant_under_equivalences: true + +related_properties: + - coaccessible + - complete diff --git a/databases/catdat/data_yaml/category-properties/locally essentially small.yaml b/databases/catdat/data_yaml/category-properties/locally essentially small.yaml new file mode 100644 index 00000000..7fa39aac --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/locally essentially small.yaml @@ -0,0 +1,8 @@ +id: locally essentially small +relation: is +description: A category is locally essentially small when for every pair of objects $A,B$ the collection of morphisms $A \to B$ is isomorphic to a set. (Here, we work with a set-theoretic foundation in which there are sets and collections. Categories are based on collections of objects and morphisms.) Equivalently, the category is equivalent to a locally small category. In contrast to being locally small, this condition is invariant under equivalences of categories. This is why we have added it to the database. For instance, every algebraic category is locally essentially small, but not necessarily locally small. This indicates that this is the "right" notion to work with. +dual_property_id: locally essentially small +invariant_under_equivalences: true + +related_properties: + - locally small diff --git a/databases/catdat/data_yaml/category-properties/locally finitely multi-presentable.yaml b/databases/catdat/data_yaml/category-properties/locally finitely multi-presentable.yaml new file mode 100644 index 00000000..5b965ae2 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/locally finitely multi-presentable.yaml @@ -0,0 +1,20 @@ +id: locally finitely multi-presentable +relation: is +description: |- + A category is locally finitely multi-presentable if it satisfies one of the following equivalent conditions: +
    +
  1. It is finitely accessible and multi-cocomplete.
  2. +
  3. It is finitely accessible and has connected limits.
  4. +
  5. It is equivalent to the category of models of a small (finite limit, coproduct)-sketch.
  6. +
+ For equivalence of conditions above, see Thm. 4.30, Thm. 4.32, and the remark below in Adamek-Rosicky. +nlab_link: https://ncatlab.org/nlab/show/locally+multipresentable+category +invariant_under_equivalences: true + +related_properties: + - connected limits + - filtered colimits + - finitely accessible + - locally multi-presentable + - multi-algebraic + - multi-cocomplete diff --git a/databases/catdat/data_yaml/category-properties/locally finitely presentable.yaml b/databases/catdat/data_yaml/category-properties/locally finitely presentable.yaml new file mode 100644 index 00000000..f4952107 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/locally finitely presentable.yaml @@ -0,0 +1,22 @@ +id: locally finitely presentable +relation: is +description: |- + A category is locally finitely presentable if it satisfies one of the following equivalent conditions: +
    +
  1. It is finitely accessible and cocomplete.
  2. +
  3. It is finitely accessible and complete.
  4. +
  5. It is equivalent to the category of finite-limit-preserving functors to $\Set$ from a small category with finite limits.
  6. +
  7. It is equivalent to the category of models of a small finite-limit sketch.
  8. +
+ For equivalence of conditions above, see Cor. 2.47, Thm. 1.46, and Cor. 1.52 in Adamek-Rosicky. This is the same as being locally $\aleph_0$-presentable. +nlab_link: https://ncatlab.org/nlab/show/locally+finitely+presentable+category +invariant_under_equivalences: true + +related_properties: + - cocomplete + - finitary algebraic + - finitely accessible + - locally finitely multi-presentable + - locally presentable + - locally strongly finitely presentable + - locally ℵ₁-presentable diff --git a/databases/catdat/data_yaml/category-properties/locally multi-presentable.yaml b/databases/catdat/data_yaml/category-properties/locally multi-presentable.yaml new file mode 100644 index 00000000..1794b641 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/locally multi-presentable.yaml @@ -0,0 +1,20 @@ +id: locally multi-presentable +relation: is +description: |- + Let $\kappa$ be a regular cardinal. A category is locally $\kappa$-multi-presentable if it satisfies one of the following equivalent conditions: +
    +
  1. It is $\kappa$-accessible and multi-cocomplete.
  2. +
  3. It is $\kappa$-accessible and has connected limits.
  4. +
  5. It is equivalent to the category of models of a small ($\kappa$-limit, coproduct)-sketch.
  6. +
+ For equivalence of conditions above, see Thm. 4.30, Thm. 4.32, and the remark below in Adamek-Rosicky. A category is locally multi-presentable if it is locally $\kappa$-multi-presentable for some $\kappa$. +nlab_link: https://ncatlab.org/nlab/show/locally+multipresentable+category +invariant_under_equivalences: true + +related_properties: + - accessible + - connected limits + - locally finitely multi-presentable + - locally poly-presentable + - locally presentable + - multi-cocomplete diff --git a/databases/catdat/data_yaml/category-properties/locally poly-presentable.yaml b/databases/catdat/data_yaml/category-properties/locally poly-presentable.yaml new file mode 100644 index 00000000..83883e7b --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/locally poly-presentable.yaml @@ -0,0 +1,11 @@ +id: locally poly-presentable +relation: is +description: A category is locally poly-presentable if it is accessible and has wide pullbacks. +nlab_link: https://ncatlab.org/nlab/show/locally+polypresentable+category +invariant_under_equivalences: true + +related_properties: + - accessible + - locally multi-presentable + - locally presentable + - wide pullbacks diff --git a/databases/catdat/data_yaml/category-properties/locally presentable.yaml b/databases/catdat/data_yaml/category-properties/locally presentable.yaml new file mode 100644 index 00000000..351a5189 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/locally presentable.yaml @@ -0,0 +1,23 @@ +id: locally presentable +relation: is +description: |- + Let $\kappa$ be a regular cardinal. A category is locally $\kappa$-presentable if it satisfies one of the following equivalent conditions: +
    +
  1. It is $\kappa$-accessible and cocomplete.
  2. +
  3. It is $\kappa$-accessible and complete.
  4. +
  5. It is equivalent to the category of $\kappa$-limit-preserving functors to $\Set$ from a small category with $\kappa$-limits.
  6. +
  7. It is equivalent to the category of models of a small $\kappa$-limit sketch.
  8. +
+ For equivalence of conditions above, see Cor. 2.47, Thm. 1.46, and Cor. 1.52 in Adamek-Rosicky. + A category is locally presentable if it is locally $\kappa$-presentable for some regular cardinal $\kappa$. +nlab_link: https://ncatlab.org/nlab/show/locally+presentable+category +dual_property_id: locally copresentable +invariant_under_equivalences: true + +related_properties: + - accessible + - cocomplete + - locally finitely presentable + - locally multi-presentable + - locally poly-presentable + - locally ℵ₁-presentable diff --git a/databases/catdat/data_yaml/category-properties/locally small.yaml b/databases/catdat/data_yaml/category-properties/locally small.yaml new file mode 100644 index 00000000..0156f3ca --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/locally small.yaml @@ -0,0 +1,10 @@ +id: locally small +relation: is +description: A category is locally small when for every pair of objects $A,B$ the collection of morphisms $A \to B$ is a set. Here, we work with a set-theoretic foundation in which there are sets and collections. Categories are based on collections of objects and morphisms. +nlab_link: https://ncatlab.org/nlab/show/locally+small+category +dual_property_id: locally small +invariant_under_equivalences: false + +related_properties: + - locally essentially small + - small diff --git a/databases/catdat/data_yaml/category-properties/locally strongly finitely presentable.yaml b/databases/catdat/data_yaml/category-properties/locally strongly finitely presentable.yaml new file mode 100644 index 00000000..db0d30cd --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/locally strongly finitely presentable.yaml @@ -0,0 +1,21 @@ +id: locally strongly finitely presentable +relation: is +description: |- + A category is locally strongly finitely presentable if it is cocomplete and there is a set $G$ of strongly finitely presentable objects such that every object is a sifted colimit of objects from $G$. + There are several equivalent conditions: +
    +
  1. It is equivalent to the category of models of a many-sorted finitary algebraic theory.
  2. +
  3. It is equivalent to the category of finite-product-preserving functors to $\Set$ from a small category with finite products (=Lawvere theory).
  4. +
  5. It is equivalent to the category of models of a small finite-product sketch.
  6. +
  7. It is equivalent to the Eilenberg–Moore category of a finitary (=filtered-colimit-preserving) monad on $\Set^S$ for some set $S$.
  8. +
  9. It is equivalent to the Eilenberg–Moore category of a sifted-colimit-preserving monad on $\Set^S$ for some set $S$. (cf. [KR12, Proposition 3.3])
  10. +
+ A category satisfying this property is simply called a variety (of algebras) by some authors, although one should be aware that this term is sometimes used only for the one-sorted case. +nlab_link: https://ncatlab.org/nlab/show/locally+strongly+finitely+presentable+category +invariant_under_equivalences: true + +related_properties: + - finitary algebraic + - generalized variety + - locally finitely presentable + - multi-algebraic diff --git a/databases/catdat/data_yaml/category-properties/mono-regular.yaml b/databases/catdat/data_yaml/category-properties/mono-regular.yaml new file mode 100644 index 00000000..c9aaf2ec --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/mono-regular.yaml @@ -0,0 +1,11 @@ +id: mono-regular +relation: is +description: A category is mono-regular when every monomorphism is regular, i.e. the equalizer of a pair of morphisms. Notice that this is not standard terminology, apparently the literature has no name for this yet. A preadditive category is mono-regular iff it is normal. The notion of a normal category is reserved for categories with zero morphisms, while mono-regular applies to all categories. +nlab_link: https://ncatlab.org/nlab/show/regular+monomorphism +dual_property_id: epi-regular +invariant_under_equivalences: true + +related_properties: + - effective congruences + - normal + - subobject-trivial diff --git a/databases/catdat/data_yaml/category-properties/multi-algebraic.yaml b/databases/catdat/data_yaml/category-properties/multi-algebraic.yaml new file mode 100644 index 00000000..f3e8753c --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/multi-algebraic.yaml @@ -0,0 +1,22 @@ +id: multi-algebraic +relation: is +description: |- + A category is multi-algebraic if it satisfies one of the following equivalent conditions: +
    +
  1. It is a multi-cocomplete generalized variety, that is, it has multi-colimits and sifted colimits of all small diagrams, and there is a (small) set $G$ of strongly finitely presentable objects such that every object is a sifted colimit of objects from $G$.
  2. +
  3. It is equivalent to the category of models of a small (finite product, coproduct)-sketch, shortly small FPC-sketch.
  4. +
  5. It is equivalent to the category of multi-finite-product-preserving functors to $\Set$ from a small category with multi-finite-products (multi-algebraic theory). Here, multi-finite-products means multi-limits of finite discrete diagrams.
  6. +
  7. It is equivalent to the category of models of a small multi-finite-product sketch.
  8. +
+ Multi-algebraic categories are like locally strongly finitely presentable categories but only with multi-colimits. The relation is similar as between locally finitely multi-presentable and locally finitely presentable categories. + For equivalence of conditions above, see [AR01a, Lem. 1] and [AR01b, Thm. 4.4]. + This notion was originally introduced by Diers. +invariant_under_equivalences: true + +related_properties: + - finitary algebraic + - generalized variety + - locally finitely multi-presentable + - locally strongly finitely presentable + - multi-cocomplete + - sifted colimits diff --git a/databases/catdat/data_yaml/category-properties/multi-cocomplete.yaml b/databases/catdat/data_yaml/category-properties/multi-cocomplete.yaml new file mode 100644 index 00000000..5c3a0743 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/multi-cocomplete.yaml @@ -0,0 +1,10 @@ +id: multi-cocomplete +relation: is +description: A multi-colimit of a diagram $D\colon \S \to \C$ is a set $I$ of cocones under $D$ such that every cocone under $D$ uniquely factors through a unique cocone belonging to $I$. This property refers to the existence of multi-colimits of small diagrams. Note that any diagram with no cocone admits a multi-colimit, which is the empty set of cocones. +nlab_link: https://ncatlab.org/nlab/show/multilimit +dual_property_id: multi-complete +invariant_under_equivalences: true + +related_properties: + - cocomplete + - multi-initial object diff --git a/databases/catdat/data_yaml/category-properties/multi-complete.yaml b/databases/catdat/data_yaml/category-properties/multi-complete.yaml new file mode 100644 index 00000000..3a6899d9 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/multi-complete.yaml @@ -0,0 +1,10 @@ +id: multi-complete +relation: is +description: A multi-limit of a diagram $D\colon \S \to \C$ is a set $I$ of cones over $D$ such that every cone over $D$ uniquely factors through a unique cone belonging to $I$. This property refers to the existence of multi-limits of small diagrams. Note that any diagram with no cone admits a multi-limit, which is the empty set of cones. +nlab_link: https://ncatlab.org/nlab/show/multilimit +dual_property_id: multi-cocomplete +invariant_under_equivalences: true + +related_properties: + - complete + - multi-terminal object diff --git a/databases/catdat/data_yaml/category-properties/multi-initial object.yaml b/databases/catdat/data_yaml/category-properties/multi-initial object.yaml new file mode 100644 index 00000000..792fb925 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/multi-initial object.yaml @@ -0,0 +1,10 @@ +id: multi-initial object +relation: has a +description: This property refers to the existence of a multi-colimit of the empty diagram. A category has a multi-initial object if and only if the collection of all connected components is isomorphic to a set, and each connected component has a initial object. +nlab_link: https://ncatlab.org/nlab/show/multilimit +dual_property_id: multi-terminal object +invariant_under_equivalences: true + +related_properties: + - initial object + - multi-cocomplete diff --git a/databases/catdat/data_yaml/category-properties/multi-terminal object.yaml b/databases/catdat/data_yaml/category-properties/multi-terminal object.yaml new file mode 100644 index 00000000..a1e0d5cd --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/multi-terminal object.yaml @@ -0,0 +1,10 @@ +id: multi-terminal object +relation: has a +description: This property refers to the existence of a multi-limit of the empty diagram. A category has a multi-terminal object if and only if the collection of all connected components is isomorphic to a set, and each connected component has a terminal object. +nlab_link: https://ncatlab.org/nlab/show/multilimit +dual_property_id: multi-initial object +invariant_under_equivalences: true + +related_properties: + - multi-complete + - terminal object diff --git a/databases/catdat/data_yaml/category-properties/natural numbers object.yaml b/databases/catdat/data_yaml/category-properties/natural numbers object.yaml new file mode 100644 index 00000000..f718e542 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/natural numbers object.yaml @@ -0,0 +1,13 @@ +id: natural numbers object +relation: has a +description: |- + A natural numbers object (NNO) in a category with finite products is a triple + $$(N,\, z : 1 \to N,\, s : N \to N)$$ + satisfying the following universal property: for all $f : A \to X$, $g : X \to X$ there is a unique $\Phi : A \times N \to X$ such that $\Phi(a,z)=f(a)$ and $\Phi(a,s(n)) = g(\Phi(a,n))$ in element notation. +
This concept is an abstraction of the set of natural numbers, which indeed provide a NNO for the category of sets. We have used the parametrized definition here which is more natural (sic!) for categories that are not cartesian closed (cf. Johnstone, Part A, Remark 2.5.3). +nlab_link: https://ncatlab.org/nlab/show/natural+numbers+object +invariant_under_equivalences: true + +related_properties: + - elementary topos + - finite products diff --git a/databases/catdat/data_yaml/category-properties/normal.yaml b/databases/catdat/data_yaml/category-properties/normal.yaml new file mode 100644 index 00000000..cc3b3d75 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/normal.yaml @@ -0,0 +1,12 @@ +id: normal +relation: is +description: A category is normal if it has zero morphisms and every monomorphism is a kernel of some morphism (in which case case it is also called a normal monomorphism). The assumption of having zero morphisms makes it possible to talk about kernels. +nlab_link: https://ncatlab.org/nlab/show/normal+monomorphism +dual_property_id: conormal +invariant_under_equivalences: true + +related_properties: + - effective congruences + - kernels + - mono-regular + - zero morphisms diff --git a/databases/catdat/data_yaml/category-properties/one-way.yaml b/databases/catdat/data_yaml/category-properties/one-way.yaml new file mode 100644 index 00000000..bad84b6c --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/one-way.yaml @@ -0,0 +1,11 @@ +id: one-way +relation: is +description: A category is one-way if every endomorphism in it is equal to the identity. +nlab_link: https://ncatlab.org/nlab/show/one-way+category +dual_property_id: one-way +invariant_under_equivalences: true + +related_properties: + - core-thin + - direct + - inverse diff --git a/databases/catdat/data_yaml/category-properties/pointed.yaml b/databases/catdat/data_yaml/category-properties/pointed.yaml new file mode 100644 index 00000000..12c7843f --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/pointed.yaml @@ -0,0 +1,10 @@ +id: pointed +relation: is +description: A category is pointed when it has a zero object, i.e. an object which is both initial and terminal. +nlab_link: https://ncatlab.org/nlab/show/pointed+category +dual_property_id: pointed +invariant_under_equivalences: true + +related_properties: + - initial object + - terminal object diff --git a/databases/catdat/data_yaml/category-properties/powers.yaml b/databases/catdat/data_yaml/category-properties/powers.yaml new file mode 100644 index 00000000..a198a37c --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/powers.yaml @@ -0,0 +1,11 @@ +id: powers +relation: has +description: If $X$ is an object and $I$ is a set, the power is defined as the product $X^I := \prod_{i \in I} X$. This property refers to the existence of powers. +nlab_link: https://ncatlab.org/nlab/show/powering +dual_property_id: copowers +invariant_under_equivalences: true + +related_properties: + - countable powers + - finite powers + - products diff --git a/databases/catdat/data_yaml/category-properties/preadditive.yaml b/databases/catdat/data_yaml/category-properties/preadditive.yaml new file mode 100644 index 00000000..ee28376f --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/preadditive.yaml @@ -0,0 +1,11 @@ +id: preadditive +relation: is +description: |- + A category is preadditive when it is locally essentially small* and each hom-set carries the structure of an abelian group such that the composition is bilinear. Notice that "preadditive" is an extra structure. The property here just says that some preadditive structure exists.
+ *We demand this instead of the more common "locally small" to ensure that preadditive categories are invariant under equivalences of categories. +nlab_link: https://ncatlab.org/nlab/show/Ab-enriched+category +dual_property_id: preadditive +invariant_under_equivalences: true + +related_properties: + - additive diff --git a/databases/catdat/data_yaml/category-properties/products.yaml b/databases/catdat/data_yaml/category-properties/products.yaml new file mode 100644 index 00000000..fb95e659 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/products.yaml @@ -0,0 +1,11 @@ +id: products +relation: has +description: "Given a family of objects $(A_i)_{i \\in I}$, a product $\\prod_{i \\in I} A_i$ is defined as an object with morphisms $p_i : \\prod_{i \\in I} A_i \\to A_i$ satisfying the following universal property: For every object $T$ and every family of morphisms $(f_i : T \\to A_i)_{i \\in I}$ there is a unique morphism $f : T \\to \\prod_{i \\in I} A_i$ such that $p_i \\circ f = f_i$ for all $i \\in I$. This property refers to the existence of small products, i.e., products of small families of objects." +nlab_link: https://ncatlab.org/nlab/show/cartesian+product +dual_property_id: coproducts +invariant_under_equivalences: true + +related_properties: + - complete + - finite products + - powers diff --git a/databases/catdat/data_yaml/category-properties/pullbacks.yaml b/databases/catdat/data_yaml/category-properties/pullbacks.yaml new file mode 100644 index 00000000..7d89f3c7 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/pullbacks.yaml @@ -0,0 +1,10 @@ +id: pullbacks +relation: has +description: A category $\C$ has pullbacks if every cospan of morphisms $X \rightarrow S \leftarrow Y$ has a pullback $X \times_S Y$. This is also known as a fiber product. Equivalently, the slice category $\C/S$ has binary products. +nlab_link: https://ncatlab.org/nlab/show/pullback +dual_property_id: pushouts +invariant_under_equivalences: true + +related_properties: + - binary products + - wide pullbacks diff --git a/databases/catdat/data_yaml/category-properties/pushouts.yaml b/databases/catdat/data_yaml/category-properties/pushouts.yaml new file mode 100644 index 00000000..a275762f --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/pushouts.yaml @@ -0,0 +1,10 @@ +id: pushouts +relation: has +description: A category $\C$ has pushouts if every span of morphisms $X \leftarrow S \rightarrow Y$ has a pushout $X \sqcup_S Y$. This is also known as a fiber coproduct. Equivalently, the coslice category $S/\C$ has binary coproducts. +nlab_link: https://ncatlab.org/nlab/show/pushout +dual_property_id: pullbacks +invariant_under_equivalences: true + +related_properties: + - binary coproducts + - wide pushouts diff --git a/databases/catdat/data_yaml/category-properties/quotient object classifier.yaml b/databases/catdat/data_yaml/category-properties/quotient object classifier.yaml new file mode 100644 index 00000000..31360de0 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/quotient object classifier.yaml @@ -0,0 +1,13 @@ +id: quotient object classifier +relation: has a +description: |- + A category $\C$ has a quotient object classifier if its dual has a subobject classifier. This means that it has finite colimits and an epimorphism* $\top : \Psi \twoheadrightarrow 0$ such that for every epimorphism $e : A \twoheadrightarrow B$ there is a unique morphism $\psi_e : \Psi \to A$ such that + $$\begin{CD} \Psi @>{\top}>> 0 \\ @V{\psi_e}VV @VV{!}V \\ A @>>{e}> B \end{CD}$$ + is a pushout diagram. Equivalently, the functor $\Quot : \C \to \Set^+$ is representable.
+ *Every morphism $\Psi \to 0$ is a split epimorphism anyway. +dual_property_id: subobject classifier +invariant_under_equivalences: true + +related_properties: + - finitely cocomplete + - regular quotient object classifier diff --git a/databases/catdat/data_yaml/category-properties/quotient-trivial.yaml b/databases/catdat/data_yaml/category-properties/quotient-trivial.yaml new file mode 100644 index 00000000..96a6df2c --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/quotient-trivial.yaml @@ -0,0 +1,9 @@ +id: quotient-trivial +relation: is +description: A category is quotient-trivial if every epimorphism is an isomorphism. Equivalently, the poset of quotients of any object is trivial. This is no standard terminology. We have added it to the database since it clarifies the relationship between several related properties. +dual_property_id: subobject-trivial +invariant_under_equivalences: true + +related_properties: + - epi-regular + - groupoid diff --git a/databases/catdat/data_yaml/category-properties/quotients of congruences.yaml b/databases/catdat/data_yaml/category-properties/quotients of congruences.yaml new file mode 100644 index 00000000..01a90a07 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/quotients of congruences.yaml @@ -0,0 +1,12 @@ +id: quotients of congruences +relation: has +description: "A congruence (or internal equivalence relation) on an object $X$ of a category is a parallel pair $p_1, p_2 : E \\rightrightarrows X$ which is jointly monomorphic, and such that for every object $T$, the image of $(p_1 \\circ {-}, p_2 \\circ {-}) : \\Hom(T, E) \\to \\Hom(T, X)^2$ is an equivalence relation. The category has quotients of congruences if for each such congruence, there exists a coequalizer of $p_1$ and $p_2$. Note that in the case of a category with binary powers, the corresponding subobjects of $X \\times X$ are also commonly referred to as congruences, or as internal equivalence relations." +nlab_link: https://ncatlab.org/nlab/show/congruence +dual_property_id: coquotients of cocongruences +invariant_under_equivalences: true + +related_properties: + - coequalizers + - cokernels + - effective congruences + - regular diff --git a/databases/catdat/data_yaml/category-properties/reflexive coequalizers.yaml b/databases/catdat/data_yaml/category-properties/reflexive coequalizers.yaml new file mode 100644 index 00000000..f8dacbd7 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/reflexive coequalizers.yaml @@ -0,0 +1,10 @@ +id: reflexive coequalizers +relation: has +description: A reflexive coequalizer is a colimit of a diagram consisting of a parallel pair of morphisms with a common section (right inverse), which is the same concept as a coequalizer of such a parallel pair. This property refers to the existence of reflexive coequalizers. +nlab_link: https://ncatlab.org/nlab/show/reflexive+coequalizer +dual_property_id: coreflexive equalizers +invariant_under_equivalences: true + +related_properties: + - coequalizers + - sifted colimits diff --git a/databases/catdat/data_yaml/category-properties/regular quotient object classifier.yaml b/databases/catdat/data_yaml/category-properties/regular quotient object classifier.yaml new file mode 100644 index 00000000..7d8e15b6 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/regular quotient object classifier.yaml @@ -0,0 +1,13 @@ +id: regular quotient object classifier +relation: has a +description: |- + A category $\C$ has a regular quotient object classifier if its dual has a regular subobject classifier. This means that it has finite colimits and a regular epimorphism* $\top : \Psi \twoheadrightarrow 0$ such that for every regular epimorphism $e : A \twoheadrightarrow B$ there is a unique morphism $\psi_e : \Psi \to A$ such that + $$\begin{CD} \Psi @>{\top}>> 0 \\ @V{\psi_e}VV @VV{!}V \\ A @>>{e}> B \end{CD}$$ + is a pushout diagram. Equivalently, the functor $\Quot_{\reg} : \C \to \Set^+$ is representable.
+ *Every morphism $\Psi \to 0$ is a split epimorphism anyway. +dual_property_id: regular subobject classifier +invariant_under_equivalences: true + +related_properties: + - finitely cocomplete + - quotient object classifier diff --git a/databases/catdat/data_yaml/category-properties/regular subobject classifier.yaml b/databases/catdat/data_yaml/category-properties/regular subobject classifier.yaml new file mode 100644 index 00000000..344d7525 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/regular subobject classifier.yaml @@ -0,0 +1,14 @@ +id: regular subobject classifier +relation: has a +description: |- + A category $\C$ has a regular subobject classifier if it has finite limits and a regular monomorphism* $\top : 1 \hookrightarrow \Omega$ such that for every regular monomorphism $m : A \hookrightarrow B$ there is a unique morphism $\chi_m : B \to \Omega$ such that + $$\begin{CD} A @>{m}>> B \\ @V{!}VV @VV{\chi_m}V \\ 1 @>>{\top}> \Omega \end{CD}$$ + is a pullback diagram. Equivalently, the functor $\Sub_{\reg} : \C^{\op} \to \Set^+$ is representable.
+ *Every morphism $1 \to \Omega$ is a split monomorphism and hence regular anyway. +nlab_link: https://ncatlab.org/nlab/show/subobject+classifier +dual_property_id: regular quotient object classifier +invariant_under_equivalences: true + +related_properties: + - finitely complete + - subobject classifier diff --git a/databases/catdat/data_yaml/category-properties/regular.yaml b/databases/catdat/data_yaml/category-properties/regular.yaml new file mode 100644 index 00000000..25bda660 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/regular.yaml @@ -0,0 +1,10 @@ +id: regular +relation: is +description: A category is regular when it is finitely complete, for every morphism $X \to Y$ its kernel pair $X \times_Y X \rightrightarrows X$ has a coequalizer, and regular epimorphisms are stable under pullbacks. +nlab_link: https://ncatlab.org/nlab/show/regular+category +dual_property_id: coregular +invariant_under_equivalences: true + +related_properties: + - finitely complete + - quotients of congruences diff --git a/databases/catdat/data_yaml/category-properties/right cancellative.yaml b/databases/catdat/data_yaml/category-properties/right cancellative.yaml new file mode 100644 index 00000000..0f38ca43 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/right cancellative.yaml @@ -0,0 +1,9 @@ +id: right cancellative +relation: is +description: "A category is right cancellative if for every morphism $f : A \\to B$ and every parallel pair of morphisms $g,h : B \\rightrightarrows T$ with $g \\circ f = h \\circ f$ we have $g = h$. Equivalently, every morphism is an epimorphism." +nlab_link: https://ncatlab.org/nlab/show/cancellative+category +dual_property_id: left cancellative +invariant_under_equivalences: true + +related_properties: + - groupoid diff --git a/databases/catdat/data_yaml/category-properties/self-dual.yaml b/databases/catdat/data_yaml/category-properties/self-dual.yaml new file mode 100644 index 00000000..889c9940 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/self-dual.yaml @@ -0,0 +1,8 @@ +id: self-dual +relation: is +description: A category is self-dual if it is equivalent to its opposite (or dual) category. +nlab_link: https://ncatlab.org/nlab/show/opposite+category +dual_property_id: self-dual +invariant_under_equivalences: true + +related_properties: [] diff --git a/databases/catdat/data_yaml/category-properties/semi-strongly connected.yaml b/databases/catdat/data_yaml/category-properties/semi-strongly connected.yaml new file mode 100644 index 00000000..bc561087 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/semi-strongly connected.yaml @@ -0,0 +1,11 @@ +id: semi-strongly connected +relation: is +description: A category is semi-strongly connected if it is inhabited and for every two objects $A,B$ there is a morphism $A \to B$ or there is a morphism $B \to A$. Notice that this is stronger than being connected, and that posets with this property are precisely the inhabited totally ordered sets. +nlab_link: https://ncatlab.org/nlab/show/strongly+connected+category +dual_property_id: semi-strongly connected +invariant_under_equivalences: true + +related_properties: + - connected + - inhabited + - strongly connected diff --git a/databases/catdat/data_yaml/category-properties/sequential colimits.yaml b/databases/catdat/data_yaml/category-properties/sequential colimits.yaml new file mode 100644 index 00000000..acefa8ec --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/sequential colimits.yaml @@ -0,0 +1,9 @@ +id: sequential colimits +relation: has +description: "A category has sequential colimits if it has colimits of diagrams of the form: $\\bullet \\to \\bullet \\to \\bullet \\to \\cdots$." +nlab_link: https://ncatlab.org/nlab/show/sequential+colimit +dual_property_id: sequential limits +invariant_under_equivalences: true + +related_properties: + - directed colimits diff --git a/databases/catdat/data_yaml/category-properties/sequential limits.yaml b/databases/catdat/data_yaml/category-properties/sequential limits.yaml new file mode 100644 index 00000000..9a917102 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/sequential limits.yaml @@ -0,0 +1,9 @@ +id: sequential limits +relation: has +description: A category has sequential limits if it has limits of diagrams of the form $\cdots \bullet \to \bullet \to \bullet$. +nlab_link: https://ncatlab.org/nlab/show/sequential+limit +dual_property_id: sequential colimits +invariant_under_equivalences: true + +related_properties: + - directed limits diff --git a/databases/catdat/data_yaml/category-properties/sifted colimits.yaml b/databases/catdat/data_yaml/category-properties/sifted colimits.yaml new file mode 100644 index 00000000..5ddfc679 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/sifted colimits.yaml @@ -0,0 +1,12 @@ +id: sifted colimits +relation: has +description: A category has sifted colimits if it has colimits of diagrams indexed by small sifted categories. +nlab_link: https://ncatlab.org/nlab/show/sifted+colimit +dual_property_id: cosifted limits +invariant_under_equivalences: true + +related_properties: + - cocomplete + - filtered colimits + - reflexive coequalizers + - sifted diff --git a/databases/catdat/data_yaml/category-properties/sifted.yaml b/databases/catdat/data_yaml/category-properties/sifted.yaml new file mode 100644 index 00000000..b42bdfea --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/sifted.yaml @@ -0,0 +1,14 @@ +id: sifted +relation: is +description: |- + A category $\C$ is sifted if it is inhabited and the diagonal functor $\Delta : \C \to \C \times \C$ is final, i.e. if it is non-empty and for any two objects $X,Y \in \C$ the category of cospans + $$X \rightarrow Z \leftarrow Y$$ + is connected. Equivalently, a small category $\C$ is sifted if $\colim : \Set^{\C} \to \Set$ preserves finite products. This property is a weaker notion than being filtered. +nlab_link: https://ncatlab.org/nlab/show/sifted+category +dual_property_id: cosifted +invariant_under_equivalences: true + +related_properties: + - connected + - filtered + - sifted colimits diff --git a/databases/catdat/data_yaml/category-properties/skeletal.yaml b/databases/catdat/data_yaml/category-properties/skeletal.yaml new file mode 100644 index 00000000..2aecfb13 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/skeletal.yaml @@ -0,0 +1,9 @@ +id: skeletal +relation: is +description: A category is skeletal when isomorphic objects are already equal. Every category is equivalent to a skeletal category (using the axiom of choice). +nlab_link: https://ncatlab.org/nlab/show/skeleton +dual_property_id: skeletal +invariant_under_equivalences: false + +related_properties: + - gaunt diff --git a/databases/catdat/data_yaml/category-properties/small.yaml b/databases/catdat/data_yaml/category-properties/small.yaml new file mode 100644 index 00000000..ea608433 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/small.yaml @@ -0,0 +1,10 @@ +id: small +relation: is +description: A category is small when the collection of objects and the collection of morphisms are sets, i.e. small. +nlab_link: https://ncatlab.org/nlab/show/small+category +dual_property_id: small +invariant_under_equivalences: false + +related_properties: + - essentially small + - locally small diff --git a/databases/catdat/data_yaml/category-properties/split abelian.yaml b/databases/catdat/data_yaml/category-properties/split abelian.yaml new file mode 100644 index 00000000..8276cd9c --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/split abelian.yaml @@ -0,0 +1,9 @@ +id: split abelian +relation: is +description: A category is split abelian if it is abelian and every short exact sequence splits. Equivalently, every object is projective. Equivalently, every object is injective. +nlab_link: https://ncatlab.org/nlab/show/split+exact+sequence +dual_property_id: split abelian +invariant_under_equivalences: true + +related_properties: + - abelian diff --git a/databases/catdat/data_yaml/category-properties/strict initial object.yaml b/databases/catdat/data_yaml/category-properties/strict initial object.yaml new file mode 100644 index 00000000..8dfe51d5 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/strict initial object.yaml @@ -0,0 +1,9 @@ +id: strict initial object +relation: has a +description: A strict initial object is an initial object $0$ such that every morphism $A \to 0$ is an isomorphism. This property refers to the existence of a strict initial object. +nlab_link: https://ncatlab.org/nlab/show/strict+initial+object +dual_property_id: strict terminal object +invariant_under_equivalences: true + +related_properties: + - initial object diff --git a/databases/catdat/data_yaml/category-properties/strict terminal object.yaml b/databases/catdat/data_yaml/category-properties/strict terminal object.yaml new file mode 100644 index 00000000..a2c1bcb9 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/strict terminal object.yaml @@ -0,0 +1,9 @@ +id: strict terminal object +relation: has a +description: A strict terminal object is a terminal object $1$ such that every morphism $1 \to A$ is an isomorphism. This property refers to the existence of a strict terminal object. +nlab_link: https://ncatlab.org/nlab/show/strict+terminal+object +dual_property_id: strict initial object +invariant_under_equivalences: true + +related_properties: + - terminal object diff --git a/databases/catdat/data_yaml/category-properties/strongly connected.yaml b/databases/catdat/data_yaml/category-properties/strongly connected.yaml new file mode 100644 index 00000000..563ce106 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/strongly connected.yaml @@ -0,0 +1,11 @@ +id: strongly connected +relation: is +description: A category is strongly connected if it is inhabited and for every two objects $A,B$ there is a morphism $A \to B$. In other words, each hom-set is inhabited. Notice that when a terminal object $1$ exists, this property means that every object $A$ admits a morphism $1 \to A$. +nlab_link: https://ncatlab.org/nlab/show/strongly+connected+category +dual_property_id: strongly connected +invariant_under_equivalences: true + +related_properties: + - connected + - inhabited + - semi-strongly connected diff --git a/databases/catdat/data_yaml/category-properties/subobject classifier.yaml b/databases/catdat/data_yaml/category-properties/subobject classifier.yaml new file mode 100644 index 00000000..18f873c7 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/subobject classifier.yaml @@ -0,0 +1,15 @@ +id: subobject classifier +relation: has a +description: |- + A category $\C$ has a subobject classifier if it has finite limits and a monomorphism* $\top : 1 \hookrightarrow \Omega$ such that for every monomorphism $m : A \hookrightarrow B$ there is a unique morphism $\chi_m : B \to \Omega$ such that + $$\begin{CD} A @>{m}>> B \\ @V{!}VV @VV{\chi_m}V \\ 1 @>>{\top}> \Omega \end{CD}$$ + is a pullback diagram. Equivalently, the functor $\Sub : \C^{\op} \to \Set^+$ is representable.
+ *Every morphism $1 \to \Omega$ is a split monomorphism anyway. +nlab_link: https://ncatlab.org/nlab/show/subobject+classifier +dual_property_id: quotient object classifier +invariant_under_equivalences: true + +related_properties: + - elementary topos + - finitely complete + - regular subobject classifier diff --git a/databases/catdat/data_yaml/category-properties/subobject-trivial.yaml b/databases/catdat/data_yaml/category-properties/subobject-trivial.yaml new file mode 100644 index 00000000..f5f523f5 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/subobject-trivial.yaml @@ -0,0 +1,9 @@ +id: subobject-trivial +relation: is +description: A category is subobject-trivial if every monomorphism is an isomorphism. Equivalently, the poset of subobjects of any object is trivial. This is no standard terminology. We have added it to the database since it clarifies the relationship between several related properties. +dual_property_id: quotient-trivial +invariant_under_equivalences: true + +related_properties: + - groupoid + - mono-regular diff --git a/databases/catdat/data_yaml/category-properties/terminal object.yaml b/databases/catdat/data_yaml/category-properties/terminal object.yaml new file mode 100644 index 00000000..53d10f30 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/terminal object.yaml @@ -0,0 +1,10 @@ +id: terminal object +relation: has a +description: A terminal object (or final object) is an object that has a unique morphism from every object in the category. This property refers to the existence of a terminal object. +nlab_link: https://ncatlab.org/nlab/show/terminal+object +dual_property_id: initial object +invariant_under_equivalences: true + +related_properties: + - finite products + - multi-terminal object diff --git a/databases/catdat/data_yaml/category-properties/thin.yaml b/databases/catdat/data_yaml/category-properties/thin.yaml new file mode 100644 index 00000000..bcbe3dca --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/thin.yaml @@ -0,0 +1,10 @@ +id: thin +relation: is +description: A category is thin when between any pair of objects there is at most one morphism. Such categories correspond to preordered collections. +nlab_link: https://ncatlab.org/nlab/show/thin+category +dual_property_id: thin +invariant_under_equivalences: true + +related_properties: + - core-thin + - discrete diff --git a/databases/catdat/data_yaml/category-properties/trivial.yaml b/databases/catdat/data_yaml/category-properties/trivial.yaml new file mode 100644 index 00000000..55715880 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/trivial.yaml @@ -0,0 +1,8 @@ +id: trivial +relation: is +description: A category is trivial if it is equivalent to the trivial category. Equivalently, there is an initial object $0$ such that for every object $A$ the unique morphism $0 \to A$ is an isomorphism. Notice that we do not demand that the category is isomorphic to the trivial category. As a consequence, every inhabited indiscrete category is trivial in our sense. +nlab_link: https://ncatlab.org/nlab/show/terminal+category +dual_property_id: trivial +invariant_under_equivalences: true + +related_properties: [] diff --git a/databases/catdat/data_yaml/category-properties/unital.yaml b/databases/catdat/data_yaml/category-properties/unital.yaml new file mode 100644 index 00000000..46710fdb --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/unital.yaml @@ -0,0 +1,11 @@ +id: unital +relation: is +description: "A category is unital if it has a zero object, finite limits, and for all objects $X,Y$ the two morphisms $(\\id_X,0) : X \\hookrightarrow X \\times Y$ and $(0,\\id_Y) : Y \\hookrightarrow X \\times Y$ are jointly strongly epimorphic. This means: there is no proper subobject of $X \\times Y$ that contains $X$ and $Y$. When coproducts exist, the canonical morphism $X \\sqcup Y \\to X \\times Y$ therefore must be a strong epimorphism." +nlab_link: https://ncatlab.org/nlab/show/unital+category +dual_property_id: counital +invariant_under_equivalences: true + +related_properties: + - Malcev + - finitely complete + - pointed diff --git a/databases/catdat/data_yaml/category-properties/well-copowered.yaml b/databases/catdat/data_yaml/category-properties/well-copowered.yaml new file mode 100644 index 00000000..0818ae8d --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/well-copowered.yaml @@ -0,0 +1,9 @@ +id: well-copowered +relation: is +description: A category is well-copowered if the collection of quotients of any object is isomorphic to a set. +nlab_link: https://ncatlab.org/nlab/show/well-powered+category +dual_property_id: well-powered +invariant_under_equivalences: true + +related_properties: + - small diff --git a/databases/catdat/data_yaml/category-properties/well-powered.yaml b/databases/catdat/data_yaml/category-properties/well-powered.yaml new file mode 100644 index 00000000..ffb34d5b --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/well-powered.yaml @@ -0,0 +1,9 @@ +id: well-powered +relation: is +description: A category is well-powered if the collection of subobjects of any object is isomorphic to a set. +nlab_link: https://ncatlab.org/nlab/show/well-powered+category +dual_property_id: well-copowered +invariant_under_equivalences: true + +related_properties: + - small diff --git a/databases/catdat/data_yaml/category-properties/wide pullbacks.yaml b/databases/catdat/data_yaml/category-properties/wide pullbacks.yaml new file mode 100644 index 00000000..e1540893 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/wide pullbacks.yaml @@ -0,0 +1,9 @@ +id: wide pullbacks +relation: has +description: A category $\C$ has wide pullbacks if for every object $S$ the slice category $\C/S$ has arbitrary small products. +nlab_link: https://ncatlab.org/nlab/show/wide+pullback +dual_property_id: wide pushouts +invariant_under_equivalences: true + +related_properties: + - pullbacks diff --git a/databases/catdat/data_yaml/category-properties/wide pushouts.yaml b/databases/catdat/data_yaml/category-properties/wide pushouts.yaml new file mode 100644 index 00000000..60a3128a --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/wide pushouts.yaml @@ -0,0 +1,9 @@ +id: wide pushouts +relation: has +description: A category $\C$ has wide pushouts if for every object $S$ the coslice category $S/\C$ has arbitrary small coproducts. +nlab_link: https://ncatlab.org/nlab/show/wide+pushout +dual_property_id: wide pullbacks +invariant_under_equivalences: true + +related_properties: + - pushouts diff --git a/databases/catdat/data_yaml/category-properties/zero morphisms.yaml b/databases/catdat/data_yaml/category-properties/zero morphisms.yaml new file mode 100644 index 00000000..105d8867 --- /dev/null +++ b/databases/catdat/data_yaml/category-properties/zero morphisms.yaml @@ -0,0 +1,10 @@ +id: zero morphisms +relation: has +description: "A category has zero morphisms if for every pair of objects $A,B$ there is a distinguished morphism $0_{A,B} : A \\to B$, called the zero morphism, such that we have $f \\circ 0_{A,B} = 0_{A,C}$ and $0_{B,C} \\circ g = 0_{A,C}$ for all morphisms $f : B \\to C$ and $g : A \\to B$. The zero morphisms are unique if they exist, hence this is actually a property of the category." +nlab_link: https://ncatlab.org/nlab/show/zero+morphism +dual_property_id: zero morphisms +invariant_under_equivalences: true + +related_properties: + - pointed + - preadditive diff --git a/databases/catdat/scripts/generate-yaml.ts b/databases/catdat/scripts/generate-yaml.ts index cd08ba6e..3707fa83 100644 --- a/databases/catdat/scripts/generate-yaml.ts +++ b/databases/catdat/scripts/generate-yaml.ts @@ -3,174 +3,64 @@ import YAML from 'yaml' import fs from 'node:fs' import path from 'node:path' -// TEMPORARY SCRIPT TO GENERATE THE YAML FILES FOR ALL CATEGORIES +// TEMPORARY SCRIPT TO GENERATE THE YAML FILES FOR ALL PROPERTIES // THE CODE IS UGLY ON PURPOSE. const db = get_client() -const categories = db +const properties = db .prepare( - `SELECT - id, name, notation, objects, morphisms, description, - nlab_link, dual_category_id - FROM categories c - `, + `SELECT id, relation, description, nlab_link, + dual_property_id, invariant_under_equivalences + FROM category_properties ORDER BY lower(id)`, ) .all() as { id: string - name: string - notation: string - objects: string - morphisms: string - description?: string | null + relation: string + description: string nlab_link?: string | null - dual_category_id?: string | null + invariant_under_equivalences: number | Boolean + dual_property_id?: string | null }[] -for (const category of categories) { - if (!category.description) delete category.description - if (!category.nlab_link) delete category.nlab_link - if (!category.dual_category_id) delete category.dual_category_id +console.info(properties.length) - const tags = ( - db - .prepare(`SELECT tag FROM category_tag_assignments WHERE category_id = ?`) - .all(category.id) as { tag: string }[] - ).map((o) => o.tag) +for (const property of properties) { + if (!property.nlab_link) delete property.nlab_link + if (!property.dual_property_id) delete property.dual_property_id + + property.invariant_under_equivalences = Boolean(property.invariant_under_equivalences) - const related_categories = ( + const related_properties = ( db .prepare( - `SELECT related_category_id AS id FROM related_categories WHERE category_id = ?`, + `SELECT related_property_id AS id FROM related_category_properties WHERE property_id = ?`, ) - .all(category.id) as { id: string }[] + .all(property.id) as { id: string }[] ).map((o) => o.id) - const comments = ( - db - .prepare(`SELECT comment FROM category_comments WHERE category_id = ?`) - .all(category.id) as { comment: string }[] - ).map((o) => o.comment) - - const satisfied_properties_db = db - .prepare( - `SELECT property_id, reason, check_redundancy FROM category_property_assignments WHERE category_id = ? AND is_deduced = FALSE AND is_satisfied = TRUE ORDER BY id`, - ) - .all([category.id]) as { - property_id: string - reason: string - check_redundancy: number - }[] - - const satisfied_properties = satisfied_properties_db.map((o) => { - const { property_id, reason } = o - return o.check_redundancy - ? { property_id, reason } - : { property_id, reason, check_redundancy: false } - }) - - const unsatisfied_properties = db - .prepare( - `SELECT property_id, reason FROM category_property_assignments WHERE category_id = ? AND is_deduced = FALSE AND is_satisfied = FALSE ORDER BY id`, - ) - .all([category.id]) as { property_id: string; reason: string }[] - - const category_property_comments = db - .prepare( - `SELECT property_id, comment FROM category_property_comments WHERE category_id = ?`, - ) - .all(category.id) as { property_id: string; comment: string }[] - - const special_objects_db = db - .prepare(`SELECT type, description FROM special_objects WHERE category_id = ?`) - .all(category.id) as { type: string; description: string }[] - - const special_objects = special_objects_db.reduce< - Record - >((acc, row) => { - acc[row.type] = { - description: row.description, - } - return acc - }, {}) - - const special_morphisms_db = db - .prepare( - `SELECT type, description, reason FROM special_morphisms WHERE category_id = ?`, - ) - .all(category.id) as { type: string; description: string; reason: string }[] - - const special_morphisms = special_morphisms_db.reduce< - Record - >((acc, row) => { - acc[row.type] = { - description: row.description, - reason: row.reason, - } - return acc - }, {}) - - const full_category = { - ...category, - tags, - related_categories, - comments, - satisfied_properties, - unsatisfied_properties, - category_property_comments, - special_objects, - special_morphisms, + const full_property = { + ...property, + related_properties, } as any - if (!comments.length) { - delete full_category.comments - } - - if (!category_property_comments.length) { - delete full_category.category_property_comments - } - - let file_content = YAML.stringify(full_category, { + let file_content = YAML.stringify(full_property, { indent: 2, lineWidth: 2000, }) - file_content = file_content.replace('\ntags:', '\n\ntags:') - - file_content = file_content.replace( - '\nrelated_categories:', - '\n\nrelated_categories:', - ) - - file_content = file_content.replace( - '\nsatisfied_properties:', - '\n\nsatisfied_properties:', - ) - - file_content = file_content.replace( - '\nunsatisfied_properties:', - '\n\nunsatisfied_properties:', - ) - file_content = file_content.replace( - '\ncategory_property_comments:', - '\n\ncategory_property_comments:', + '\nrelated_properties:', + '\n\nrelated_properties:', ) - file_content = file_content.replace('\ncomments:', '\n\ncomments:') - - file_content = file_content.replaceAll(` - property_id:`, `\n - property_id:`) - - file_content = file_content.replace('\nspecial_objects:', '\n\nspecial_objects:') - file_content = file_content.replace('\nspecial_morphisms:', '\n\nspecial_morphisms:') - const file_path = path.join( process.cwd(), 'databases', 'catdat', 'data_yaml', - 'categories', - `${category.id.replace('*', '_pointed')}.yaml`, + 'category-properties', + `${property.id}.yaml`, ) fs.writeFileSync(file_path, file_content, 'utf8') } From 2f46b429dda1228576f87287a767d7d0cd6387c1 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Thu, 7 May 2026 19:25:09 +0200 Subject: [PATCH 03/22] generate yaml files for all lemmas --- .../cogenerators_in_product_categories.yaml | 7 +++ .../lemmas/coslice-effective-congruences.yaml | 13 +++++ .../effective-congruence-quotients.yaml | 23 ++++++++ .../exact_filtered_colimits_descend.yaml | 14 +++++ .../data_yaml/lemmas/filtered-monos.yaml | 11 ++++ .../lemmas/generator_construction.yaml | 7 +++ .../lemmas/limits_in_factor_categories.yaml | 9 ++++ .../lemmas/missing_cogenerating_sets.yaml | 13 +++++ .../data_yaml/lemmas/missing_cogenerator.yaml | 13 +++++ ...ial-colimits-via-congruence-quotients.yaml | 7 +++ .../lemmas/nno_distributive_criterion.yaml | 26 +++++++++ .../lemmas/preadditive_structure_unique.yaml | 26 +++++++++ ...uts-of-monos-via-congruence-quotients.yaml | 7 +++ .../lemmas/special_sequential_colimits.yaml | 14 +++++ .../subobject_classifiers_coreflection.yaml | 7 +++ .../lemmas/thin_algebraic_categories.yaml | 7 +++ databases/catdat/scripts/generate-yaml.ts | 53 +++++-------------- 17 files changed, 217 insertions(+), 40 deletions(-) create mode 100644 databases/catdat/data_yaml/lemmas/cogenerators_in_product_categories.yaml create mode 100644 databases/catdat/data_yaml/lemmas/coslice-effective-congruences.yaml create mode 100644 databases/catdat/data_yaml/lemmas/effective-congruence-quotients.yaml create mode 100644 databases/catdat/data_yaml/lemmas/exact_filtered_colimits_descend.yaml create mode 100644 databases/catdat/data_yaml/lemmas/filtered-monos.yaml create mode 100644 databases/catdat/data_yaml/lemmas/generator_construction.yaml create mode 100644 databases/catdat/data_yaml/lemmas/limits_in_factor_categories.yaml create mode 100644 databases/catdat/data_yaml/lemmas/missing_cogenerating_sets.yaml create mode 100644 databases/catdat/data_yaml/lemmas/missing_cogenerator.yaml create mode 100644 databases/catdat/data_yaml/lemmas/monic-sequential-colimits-via-congruence-quotients.yaml create mode 100644 databases/catdat/data_yaml/lemmas/nno_distributive_criterion.yaml create mode 100644 databases/catdat/data_yaml/lemmas/preadditive_structure_unique.yaml create mode 100644 databases/catdat/data_yaml/lemmas/pushouts-of-monos-via-congruence-quotients.yaml create mode 100644 databases/catdat/data_yaml/lemmas/special_sequential_colimits.yaml create mode 100644 databases/catdat/data_yaml/lemmas/subobject_classifiers_coreflection.yaml create mode 100644 databases/catdat/data_yaml/lemmas/thin_algebraic_categories.yaml diff --git a/databases/catdat/data_yaml/lemmas/cogenerators_in_product_categories.yaml b/databases/catdat/data_yaml/lemmas/cogenerators_in_product_categories.yaml new file mode 100644 index 00000000..b58625be --- /dev/null +++ b/databases/catdat/data_yaml/lemmas/cogenerators_in_product_categories.yaml @@ -0,0 +1,7 @@ +id: cogenerators_in_product_categories + +title: Cogenerators in product categories + +claim: For a family of categories $(\C_i)_{i \in I}$, each having a cogenerator $Q_i$ which is weakly terminal, the object $(Q_i)_{i \in I}$ is a cogenerator in the product category $\prod_{i \in I} \C_i$. + +proof: "Let $(f_i: A_i \\to B_i)_{i \\in I}$ and $(g_i: A_i \\to B_i)_{i \\in I}$ be two parallel morphisms in the product category which are coequalized by any morphism $(B_i \\to Q_i)_{i \\in I}$. Let $i_0 \\in I$. We claim that $f_{i_0},g_{i_0} : A_{i_0} \\rightrightarrows B_{i_0}$ are coequalized by all morphisms $B_{i_0} \\to Q_{i_0}$, and hence are equal: Indeed, for all $i \\neq i_0$ we may choose some morphism $B_i \\to Q_i$ since $Q_i$ is weakly terminal. Thus, the morphism $B_{i_0} \\to Q_{i_0}$ extends to a morphism $(B_i \\to Q_i)_{i \\in I}$ in the product category. By assumption, it coequalizes $(f_i)_{i \\in I}$ and $(g_i)_{i \\in I}$. By looking at the $i_0$-component are done." diff --git a/databases/catdat/data_yaml/lemmas/coslice-effective-congruences.yaml b/databases/catdat/data_yaml/lemmas/coslice-effective-congruences.yaml new file mode 100644 index 00000000..0ced1d45 --- /dev/null +++ b/databases/catdat/data_yaml/lemmas/coslice-effective-congruences.yaml @@ -0,0 +1,13 @@ +id: coslice-effective-congruences + +title: Inheritance of effective congruences in coslice categories + +claim: 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$. + +proof: |- + 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 \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/databases/catdat/data_yaml/lemmas/effective-congruence-quotients.yaml b/databases/catdat/data_yaml/lemmas/effective-congruence-quotients.yaml new file mode 100644 index 00000000..f793ac7f --- /dev/null +++ b/databases/catdat/data_yaml/lemmas/effective-congruence-quotients.yaml @@ -0,0 +1,23 @@ +id: effective-congruence-quotients + +title: Quotients of effective congruences are strict quotients + +claim: |- + 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}$$ + +proof: |- + 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. diff --git a/databases/catdat/data_yaml/lemmas/exact_filtered_colimits_descend.yaml b/databases/catdat/data_yaml/lemmas/exact_filtered_colimits_descend.yaml new file mode 100644 index 00000000..a486a53e --- /dev/null +++ b/databases/catdat/data_yaml/lemmas/exact_filtered_colimits_descend.yaml @@ -0,0 +1,14 @@ +id: exact_filtered_colimits_descend + +title: Exact filtered colimits descend to nice subcategories + +claim: "Let $G : \\C \\to \\D$ be a fully faithful functor with a left adjoint $F : \\D \\to \\C$ that preserves finite limits. Assume that $\\D$ has exact filtered colimits and that $\\C$ has finite limits. Then $\\C$ has exact filtered colimits as well." + +proof: |- + It is well-known (and easy to prove) that the colimit of a diagram $(X_j)$ in $\C$ is constructed as $F(\colim_j G(X_j))$, provided that colimit in $\D$ exists. In particular, $\C$ has filtered colimits. By assumption, it also has finite limits, and $G$ preserves these since it is a right adjoint. Now let $X : \I \times \J \to \C$ be a diagram, where $\I$ is finite and $\J$ is filtered. We compute: + $$\begin{align*} \colim_j {\lim}_i X(i,j) & \cong F(\colim_j G({\lim}_i X(i,j))) \\ + & \cong F(\colim_j {\lim}_i G(X(i,j))) \\ + & \cong F({\lim}_i \colim_j G(X(i,j))) \\ + & \cong {\lim}_i F(\colim_j G(X(i,j))) \\ + & \cong {\lim}_i \colim_j X(i,j) + \end{align*}$$ diff --git a/databases/catdat/data_yaml/lemmas/filtered-monos.yaml b/databases/catdat/data_yaml/lemmas/filtered-monos.yaml new file mode 100644 index 00000000..3af77f0d --- /dev/null +++ b/databases/catdat/data_yaml/lemmas/filtered-monos.yaml @@ -0,0 +1,11 @@ +id: filtered-monos + +title: Detection of filtered-colimit-stable monomorphisms + +claim: "Let $\\C$ be a category with filtered colimits. Assume that $U : \\C \\to \\D$ is faithful functor which preserves monomorphisms and filtered colimits. If monomorphisms in $\\D$ are stable under filtered colimits, then the same is true for $\\C$.

+ + \ For the record, here is the dual statement: Let $\\C$ be a category with cofiltered limits. Assume that $U : \\C \\to \\D$ is faithful functor which preserves epimorphisms and cofiltered limits. If epimorphisms in $\\D$ are stable under cofiltered limits, then the same is true for $\\C$. + + \ " + +proof: Since $U$ is faithful, it reflects monomorphisms. From here the proof is straight forward. diff --git a/databases/catdat/data_yaml/lemmas/generator_construction.yaml b/databases/catdat/data_yaml/lemmas/generator_construction.yaml new file mode 100644 index 00000000..a204432d --- /dev/null +++ b/databases/catdat/data_yaml/lemmas/generator_construction.yaml @@ -0,0 +1,7 @@ +id: generator_construction + +title: Construction of Generators + +claim: In a category let $S$ be a generating set which is strongly connected (between any two objects in $S$ there is a morphism). If the coproduct $U := \coprod_{G \in S} G$ exists, then it is a generator. + +proof: 'This is a straight forward generalization of this result. We remark that the assumption about $S$ implies that each inclusion $G \to U$ has a left inverse. Now let $f,g : A \rightrightarrows B$ be two morphisms with $f h = g h$ for all $h : U \to A$. If $G \in S$, any morphism $G \to A$ extends to $U$ by our preliminary remark. Thus, $fh = gh$ holds for all $h : G \to A$ and $G \in S$. Since $S$ is a generating set, this implies $f = g$.' diff --git a/databases/catdat/data_yaml/lemmas/limits_in_factor_categories.yaml b/databases/catdat/data_yaml/lemmas/limits_in_factor_categories.yaml new file mode 100644 index 00000000..03fc4bb8 --- /dev/null +++ b/databases/catdat/data_yaml/lemmas/limits_in_factor_categories.yaml @@ -0,0 +1,9 @@ +id: limits_in_factor_categories + +title: Limits in factor categories + +claim: Let $\C,\D$ be two categories. Assume that $\D$ is inhabited. If $\C \times \D$ has limits of a given shape, then $\C$ also has limits of this shape. + +proof: |- + Let $U \in \D$ be a fixed object. Assume that $X : \J \to \C$ is a diagram. Assume that the diagram $(X,U) : \J \to \C \times \D$ (which is constant in the second variable) has a limit cone $((p_i, u_i) : (L,V) \to (X_i,U))$, thus consisting of morphisms $p_i : L \to X_i$ and $u_i : V \to U$. Clearly, $(p_i : L \to X_i)$ is a cone over $X$. We prove that it is universal:
+ Let $(f_i : T \to X_i)$ be a cone over $X$. Then $((f_i,\id_U) : (T,U) \to (X_i,U))$ is a cone over $(X,U)$. Hence, there is a unique morphism $(f,v) : (T,U) \to (L,V)$, consisting of $f : T \to L$ and $v : U \to V$, such that $(p_i,u_i) \circ (f,v) = (f_i,\id_U)$, i.e. $p_i \circ f = f_i$ and $u_i \circ v = \id_U$. If $g : T \to L$ is another morphism with $p_i \circ g = f_i$, then uniqueness applied to $(g,v)$ shows that $f = g$. diff --git a/databases/catdat/data_yaml/lemmas/missing_cogenerating_sets.yaml b/databases/catdat/data_yaml/lemmas/missing_cogenerating_sets.yaml new file mode 100644 index 00000000..d4e09fbd --- /dev/null +++ b/databases/catdat/data_yaml/lemmas/missing_cogenerating_sets.yaml @@ -0,0 +1,13 @@ +id: missing_cogenerating_sets + +title: Missing cogenerating sets + +claim: |- + Let $\C$ be a category with a faithful functor $U: \C \to \Set$. Assume there exists a collection of objects $\F \subseteq \Ob(\C)$ satisfying the following conditions: +
    +
  1. For any $X \in \F$ and any non-terminal $Y \in \C$, for every morphism $f: X \to Y$ its underlying map $U(f) : U(X) \to U(Y)$ is injective.
  2. +
  3. For every infinite cardinal number $\kappa$, there exists an object $X \in \F$ such that $\card(U(X)) \geq \kappa$ and such that $X$ has a non-identity endomorphism.
  4. +
+ Then $\C$ does not have a cogenerating set. + +proof: "Assume that there is a cogenerating set $S$. By assumption (2) there is an object $X \\in \\F$ such that $U(X)$ is larger than all the $U(Y)$ with $Y \\in S$ (w.r.t. cardinalities) and which has a non-identity endomorphism $\\sigma : X \\to X$. Since $S$ cogenerates, there is a morphism $f : X \\to Y$ with $Y \\in S$ and $f \\sigma \\neq f$. For this, $Y$ must be non-terminal. By (1) the map $U(f) : U(X) \\to U(Y)$ is injective. This is a contradiction." diff --git a/databases/catdat/data_yaml/lemmas/missing_cogenerator.yaml b/databases/catdat/data_yaml/lemmas/missing_cogenerator.yaml new file mode 100644 index 00000000..1a12bf68 --- /dev/null +++ b/databases/catdat/data_yaml/lemmas/missing_cogenerator.yaml @@ -0,0 +1,13 @@ +id: missing_cogenerator + +title: Missing cogenerator + +claim: |- + Let $\C$ be a pointed category with a faithful functor $U: \C \to \Set$. Assume there exists a collection of non-zero objects $\F \subseteq \Ob(\C)$ satisfying the following conditions: +
    +
  1. For any $X \in \F$ and any $Y \in \C$, every non-zero morphism $f: X \to Y$ is injective on underlying sets.
  2. +
  3. For every $Y \in \C$ there is some object $X \in \F$ such that $\card(U(X)) > \card(U(Y))$.
  4. +
+ Then $\C$ does not have a cogenerator. + +proof: "Assume that there is a cogenerator $Y$. By assumption (2) there is an object $X \\in \\F$ such that $U(X)$ is larger than $U(Y)$ (w.r.t. cardinalities). Since $0,\\id_X : X \\rightrightarrows X$ are distinct, there is a morphism $f : X \\to Y$ with $f \\neq 0$. But then $U(f) : U(X) \\to U(Y)$ is injective by assumption (1), which contradicts our choice of $X$." diff --git a/databases/catdat/data_yaml/lemmas/monic-sequential-colimits-via-congruence-quotients.yaml b/databases/catdat/data_yaml/lemmas/monic-sequential-colimits-via-congruence-quotients.yaml new file mode 100644 index 00000000..43566634 --- /dev/null +++ b/databases/catdat/data_yaml/lemmas/monic-sequential-colimits-via-congruence-quotients.yaml @@ -0,0 +1,7 @@ +id: monic-sequential-colimits-via-congruence-quotients + +title: Construction of a colimit of a sequence of monomorphisms as a quotient of a congruence + +claim: Let $\C$ be a countably extensive category with quotients of congruences. Then $\C$ has colimits of sequences of monomorphisms. + +proof: "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." diff --git a/databases/catdat/data_yaml/lemmas/nno_distributive_criterion.yaml b/databases/catdat/data_yaml/lemmas/nno_distributive_criterion.yaml new file mode 100644 index 00000000..2f7e3c42 --- /dev/null +++ b/databases/catdat/data_yaml/lemmas/nno_distributive_criterion.yaml @@ -0,0 +1,26 @@ +id: nno_distributive_criterion + +title: Natural number objects indicate distributivity + +claim: |- + Let $\C$ be a category with finite products, arbitrary copowers (denoted $\otimes$), and a natural numbers object $1 \xrightarrow{z} N \xrightarrow{s} N$. Then there is an isomorphism $N \cong \IN \otimes 1$, and for every object $A$ the natural morphism + $$\alpha : \IN \otimes A \to A \times (\IN \otimes 1)$$ + is a split monomorphism. + +proof: |- + We will use generalized elements extensively. In particular, for every element $a \in A$ and $n \in \IN$ there is an element $n \otimes a \in \IN \otimes A$, formally defined by the $n$th coproduct inclusion. The morphism $\alpha$ is defined by + $$\alpha(n \otimes a) = (a , n \otimes 1).$$ + In any category with finite products and arbitrary copowers, we can construct the non-parameterized NNO $\IN \otimes 1$ with the element $0 \otimes 1 \in \IN \otimes 1$ and the map + $$s : \IN \otimes 1 \to \IN \otimes 1, \quad s(n \otimes 1) := (n+1) \otimes 1.$$ + Its universal property states that it is initial in the category of pairs $1 \xrightarrow{x_0} X \xrightarrow{r} X$. Hence, it is unique up to isomorphism. Since by assumption $1 \xrightarrow{z} N \xrightarrow{s} N$ is a full, parameterized NNO, it is also a non-parameterized NNO and therefore isomorphic to the one described. We will assume w.l.o.g. that it is equal to it and continue to work with $N = \IN \otimes 1$.

+ Next, we apply the (parameterized) universal property of the NNO to the diagram + $$A \xrightarrow{f} \IN \otimes A \xrightarrow{g} \IN \otimes A$$ + defined by $f(a) := 0 \otimes a$ and $g(n \otimes a) := (n+1) \otimes a$. It tells us that there is a map + $$\Phi : A \times N \to \IN \otimes A$$ + with + $$\Phi(a,0 \otimes 1) = 0 \otimes a, \quad \Phi(a, s(m)) = g(\Phi(a,m)).$$ + For $m := n \otimes 1 \in N$ (where $n \in \IN$) the second equation reads + $$\Phi(a, (n+1) \otimes 1) = g(\Phi(a, n \otimes 1)).$$ + By classical induction on $n \in \IN$ it follows that + $$\Phi(a, n \otimes 1) = n \otimes a,$$ + which exactly means $\Phi \circ \alpha = \id_{\IN \otimes A}$. diff --git a/databases/catdat/data_yaml/lemmas/preadditive_structure_unique.yaml b/databases/catdat/data_yaml/lemmas/preadditive_structure_unique.yaml new file mode 100644 index 00000000..644b1263 --- /dev/null +++ b/databases/catdat/data_yaml/lemmas/preadditive_structure_unique.yaml @@ -0,0 +1,26 @@ +id: preadditive_structure_unique + +title: Uniqueness of preadditive structures + +claim: |- + Let $\C$ be a preadditive category (or more generally, a category enriched in commutative monoids) with finite products and finite coproducts. Then for all objects $X,Y$ the canonical morphism + $$\alpha : X \oplus Y \to X \times Y$$ + is an isomorphism. Moreover, the preadditive structure is unique: If $f,g : A \rightrightarrows B$ are morphisms, their sum + $$f+g : A \to B$$ + is the composite of $(f,g) : A \to B \times B$, the inverse $\alpha^{-1} : B \oplus B \to B \times B$, and the codiagonal $\nabla : B \oplus B \to B$. + +proof: |- + The morphism $\alpha : X \oplus Y \to X \times Y$ is defined by the equations + $$p_1 \circ \alpha \circ i_1 = \id_X, \quad p_2 \circ \alpha \circ i_2 = \id_Y,$$ + $$p_2 \circ \alpha \circ i_1 = 0,\quad p_1 \circ \alpha \circ i_2 = 0.$$ + It does not depend on the choice of preadditive structure since zero morphisms are unique. It is an isomorphism: Define + $$\beta := i_1 \circ p_1 + i_2 \circ p_2 : X \times Y \to X \oplus Y.$$ + Then $\alpha \circ \beta = \id_{X \times Y}$ because + $$p_1 \circ \alpha \circ \beta = p_1 \circ \alpha \circ i_1 \circ p_1 + p_1 \circ \alpha \circ i_2 \circ p_2 = \id_1 \circ p_1 + 0 \circ p_2 = p_1$$ + and likewise $p_2 \circ \alpha \circ \beta = p_2$. We also have $\beta \circ \alpha = \id_{X \oplus Y}$ with a very similar calculation that shows $\beta \circ \alpha \circ i_1 = i_1$ and $\beta \circ \alpha \circ i_2 = i_2$. Therefore, for morphisms $f,g : A \rightrightarrows B$ the composite $A \to B$ in the claim is equal to + $$\begin{align*} + \nabla \circ \beta \circ (f,g) & = \nabla \circ (i_1 \circ p_1 + i_2 \circ p_2) \circ (f,g) \\ + & = \nabla \circ i_1 \circ p_1 \circ (f,g) + \nabla \circ i_2 \circ p_2 \circ (f,g) \\ + & = p_1 \circ (f,g) + p_2 \circ (f,g) \\ + & = f + g. + \end{align*}$$ diff --git a/databases/catdat/data_yaml/lemmas/pushouts-of-monos-via-congruence-quotients.yaml b/databases/catdat/data_yaml/lemmas/pushouts-of-monos-via-congruence-quotients.yaml new file mode 100644 index 00000000..055431ca --- /dev/null +++ b/databases/catdat/data_yaml/lemmas/pushouts-of-monos-via-congruence-quotients.yaml @@ -0,0 +1,7 @@ +id: pushouts-of-monos-via-congruence-quotients + +title: Construction of a pushout of monomorphisms as a quotient of a congruence + +claim: Let $\C$ be an extensive category with quotients of congruences. Then $\C$ has pushouts of monomorphisms. + +proof: "Let $f : S \\hookrightarrow X$, $g : S \\hookrightarrow Y$ be monomorphisms. We construct a congruence on $X+Y$ via the maps $p_1, p_2 : X + Y + S + S \\rightrightarrows X+Y$ which act as the identity on $X+Y$, $i_1 \\circ f, i_2 \\circ g$ on the first copy of $S$, and $i_2 \\circ g, i_1 \\circ f$ on the second copy of $S$, respectively. To show that $p_1, p_2$ are jointly monomorphic, and again in proving transitivity of the congruence, we use extensivity to split the domain of the generalized elements of $X+Y+S+S$ so that without loss of generality we may assume each factors through one of the coproduct inclusions. Now a quotient of the congruence must be a pushout of $f$ and $g$." diff --git a/databases/catdat/data_yaml/lemmas/special_sequential_colimits.yaml b/databases/catdat/data_yaml/lemmas/special_sequential_colimits.yaml new file mode 100644 index 00000000..e49c1f24 --- /dev/null +++ b/databases/catdat/data_yaml/lemmas/special_sequential_colimits.yaml @@ -0,0 +1,14 @@ +id: special_sequential_colimits + +title: Finite structures usually have no sequential colimits + +claim: "Let $\\C$ be a category with finite powers, including a terminal object $1$. Let $a : 1 \\to X$ be a morphism. Assume that the sequence of morphisms $(X^n,a) : X^n \\to X^{n+1}$ for $n \\geq 0$ admits a colimit $(i_n : X^n \\to C)$. Then for every $m \\geq 0$ there is a split epimorphism $C \\to X^m$. In particular, if $U : \\C \\to \\Set$ is a functor preserving finite powers and $\\card(U(X)) \\geq 2$, then $U(C)$ is infinite." + +proof: |- + Let $m \geq 0$ be fixed. For $n \geq 0$ we define a morphism $u_n : X^n \to X^m$ as follows: It is the projection on the first $m$ factors for $m \leq n$, and $(X^n,a^{m-n})$ for $m \geq n$ (for $m=n$ these agree). With generalized elements this says: + $$u_n(x_1,\dotsc,x_n) = \begin{cases} (x_1,\dotsc,x_m) & m \leq n \\ (x_1,\dotsc,x_n,a,\dotsc,a) & m \geq n \end{cases}$$ + We claim that $u_n = u_{n+1} \circ (X^n,a)$, i.e. + $$u_n(x_1,\dotsc,x_n) = u_{n+1}(x_1,\dotsc,x_n,a).$$ + If $m \leq n$ (hence, $m \leq n+1$), both sides are equal to $(x_1,\dotsc,x_m)$. If $m > n$, i.e. $m \geq n+1$, both sides are equal to $(x_1,\dotsc,x_n,a,\dotsc,a)$. This proves the claim. +
Hence, there is a unique morphism $\varphi : C \to X^m$ such that $\varphi \circ i_n = u_n$ for all $n \geq 0$. Since $u_m$ is the identity, $\varphi$ is a split epimorphism. +
If $U$ is a functor with the mentioned properties, $U(\varphi)$ is also a split epimorphism from $U(C)$ to $U(X^m) \cong U(X)^m$, and $U(X)^m$ has $\geq 2^m$ elements. This holds for all $m$, so that $U(C)$ is infinite. diff --git a/databases/catdat/data_yaml/lemmas/subobject_classifiers_coreflection.yaml b/databases/catdat/data_yaml/lemmas/subobject_classifiers_coreflection.yaml new file mode 100644 index 00000000..e37da040 --- /dev/null +++ b/databases/catdat/data_yaml/lemmas/subobject_classifiers_coreflection.yaml @@ -0,0 +1,7 @@ +id: subobject_classifiers_coreflection + +title: Coreflection of subobject classifiers + +claim: "Let $\\D$ be a category with a (regular) subobject classifier $\\Omega$. Assume that $\\C \\to \\D$ is a full subcategory such that (1) any (regular) $\\D$-subobject of an object in $\\C$ already lies in $\\C$, (2) it is coreflective, i.e. there is a functor $R : \\D \\to \\C$ right adjoint to the inclusion. Then $R(\\Omega)$ is a (regular) subobject classifier in $\\C$." + +proof: If $X \in \C$, then $\Hom(X,R(\Omega)) \cong \Hom(X,\Omega)$ is isomorphic to the collection of $\D$-subobjects of $X$, which by assumption coincide with the $\C$-subobjects of $X$. diff --git a/databases/catdat/data_yaml/lemmas/thin_algebraic_categories.yaml b/databases/catdat/data_yaml/lemmas/thin_algebraic_categories.yaml new file mode 100644 index 00000000..7a76076d --- /dev/null +++ b/databases/catdat/data_yaml/lemmas/thin_algebraic_categories.yaml @@ -0,0 +1,7 @@ +id: thin_algebraic_categories + +title: Algebraic categories are "never" thin + +claim: Let $\C$ be a thin and finitary algebraic category. Then $\C \simeq 1$ or $\C \simeq \{0 < 1\}$. + +proof: "Let $F : \\Set \\to \\C$ denote the free algebra functor. Every object $A \\in \\C$ admits a regular epimorphism $F(X) \\twoheadrightarrow A$ for some set $X$. But since $\\C$ is thin, every regular epimorphism must be an isomorphism. Also, $F(X)$ is a coproduct of copies of $F(1)$, which means it is either the initial object $0$ or $F(1)$ itself (since $\\C$ is thin). If $F(1) \\cong 0$, then every object is isomorphic to the initial object $0$, and hence $\\C$ is trivial. If not, then $\\C$ has exactly two objects up to isomorphism, $0$ and $F(1)$, there is a morphism $0 \\to F(1)$, but no morphism $F(1) \\to 0$. Since $\\C$ is thin, we conclude $\\C \\simeq \\{0 \\to 1\\}$." diff --git a/databases/catdat/scripts/generate-yaml.ts b/databases/catdat/scripts/generate-yaml.ts index 3707fa83..616c0b90 100644 --- a/databases/catdat/scripts/generate-yaml.ts +++ b/databases/catdat/scripts/generate-yaml.ts @@ -3,64 +3,37 @@ import YAML from 'yaml' import fs from 'node:fs' import path from 'node:path' -// TEMPORARY SCRIPT TO GENERATE THE YAML FILES FOR ALL PROPERTIES +// TEMPORARY SCRIPT TO GENERATE THE YAML FILES FOR ALL SQL SEED DATA // THE CODE IS UGLY ON PURPOSE. const db = get_client() -const properties = db - .prepare( - `SELECT id, relation, description, nlab_link, - dual_property_id, invariant_under_equivalences - FROM category_properties ORDER BY lower(id)`, - ) +const lemmas = db + .prepare(`SELECT id, title, claim, proof FROM lemmas ORDER BY id`) .all() as { id: string - relation: string - description: string - nlab_link?: string | null - invariant_under_equivalences: number | Boolean - dual_property_id?: string | null + title: string + claim: string + proof: string }[] -console.info(properties.length) - -for (const property of properties) { - if (!property.nlab_link) delete property.nlab_link - if (!property.dual_property_id) delete property.dual_property_id - - property.invariant_under_equivalences = Boolean(property.invariant_under_equivalences) - - const related_properties = ( - db - .prepare( - `SELECT related_property_id AS id FROM related_category_properties WHERE property_id = ?`, - ) - .all(property.id) as { id: string }[] - ).map((o) => o.id) - - const full_property = { - ...property, - related_properties, - } as any - - let file_content = YAML.stringify(full_property, { +for (const lemma of lemmas) { + let file_content = YAML.stringify(lemma, { indent: 2, lineWidth: 2000, }) - file_content = file_content.replace( - '\nrelated_properties:', - '\n\nrelated_properties:', - ) + file_content = file_content.replace('\ntitle:', '\n\ntitle:') + file_content = file_content.replace('\nclaim:', '\n\nclaim:') + file_content = file_content.replace('\nproof:', '\n\nproof:') const file_path = path.join( process.cwd(), 'databases', 'catdat', 'data_yaml', - 'category-properties', - `${property.id}.yaml`, + 'lemmas', + `${lemma.id}.yaml`, ) fs.writeFileSync(file_path, file_content, 'utf8') } From 32ef8434e1d63f3feea793b92ad73b3940e45b31 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Fri, 8 May 2026 09:08:32 +0200 Subject: [PATCH 04/22] generate yaml files for all implications by topic --- .vscode/settings.json | 1 + .../category-implications/Malcev.yaml | 54 ++++ .../data_yaml/category-implications/NNO.yaml | 44 ++++ .../category-implications/accessible.yaml | 241 ++++++++++++++++++ .../category-implications/additive.yaml | 102 ++++++++ .../category-implications/algebraic.yaml | 83 ++++++ .../category-implications/cancellative.yaml | 47 ++++ .../cartesian closed.yaml | 109 ++++++++ .../category-implications/completeness.yaml | 72 ++++++ .../category-implications/congruences.yaml | 123 +++++++++ .../category-implications/connected.yaml | 54 ++++ .../category-implications/discrete.yaml | 52 ++++ .../disjoint coproducts.yaml | 45 ++++ .../category-implications/distributivity.yaml | 108 ++++++++ .../category-implications/equalizers.yaml | 78 ++++++ .../exact filtered colimits.yaml | 114 +++++++++ .../category-implications/extensive.yaml | 71 ++++++ .../filtered + sifted.yaml | 65 +++++ .../filtered colimits.yaml | 86 +++++++ .../category-implications/generators.yaml | 28 ++ .../category-implications/groupoids.yaml | 50 ++++ .../initial objects.yaml | 45 ++++ .../category-implications/mono-regular.yaml | 34 +++ .../category-implications/products.yaml | 115 +++++++++ .../category-implications/pullbacks.yaml | 37 +++ .../data_yaml/category-implications/size.yaml | 62 +++++ .../subobject classifiers.yaml | 80 ++++++ .../subobject-trivial.yaml | 44 ++++ .../data_yaml/category-implications/thin.yaml | 187 ++++++++++++++ .../category-implications/topos.yaml | 79 ++++++ databases/catdat/scripts/generate-yaml.ts | 53 ++-- 31 files changed, 2340 insertions(+), 23 deletions(-) create mode 100644 databases/catdat/data_yaml/category-implications/Malcev.yaml create mode 100644 databases/catdat/data_yaml/category-implications/NNO.yaml create mode 100644 databases/catdat/data_yaml/category-implications/accessible.yaml create mode 100644 databases/catdat/data_yaml/category-implications/additive.yaml create mode 100644 databases/catdat/data_yaml/category-implications/algebraic.yaml create mode 100644 databases/catdat/data_yaml/category-implications/cancellative.yaml create mode 100644 databases/catdat/data_yaml/category-implications/cartesian closed.yaml create mode 100644 databases/catdat/data_yaml/category-implications/completeness.yaml create mode 100644 databases/catdat/data_yaml/category-implications/congruences.yaml create mode 100644 databases/catdat/data_yaml/category-implications/connected.yaml create mode 100644 databases/catdat/data_yaml/category-implications/discrete.yaml create mode 100644 databases/catdat/data_yaml/category-implications/disjoint coproducts.yaml create mode 100644 databases/catdat/data_yaml/category-implications/distributivity.yaml create mode 100644 databases/catdat/data_yaml/category-implications/equalizers.yaml create mode 100644 databases/catdat/data_yaml/category-implications/exact filtered colimits.yaml create mode 100644 databases/catdat/data_yaml/category-implications/extensive.yaml create mode 100644 databases/catdat/data_yaml/category-implications/filtered + sifted.yaml create mode 100644 databases/catdat/data_yaml/category-implications/filtered colimits.yaml create mode 100644 databases/catdat/data_yaml/category-implications/generators.yaml create mode 100644 databases/catdat/data_yaml/category-implications/groupoids.yaml create mode 100644 databases/catdat/data_yaml/category-implications/initial objects.yaml create mode 100644 databases/catdat/data_yaml/category-implications/mono-regular.yaml create mode 100644 databases/catdat/data_yaml/category-implications/products.yaml create mode 100644 databases/catdat/data_yaml/category-implications/pullbacks.yaml create mode 100644 databases/catdat/data_yaml/category-implications/size.yaml create mode 100644 databases/catdat/data_yaml/category-implications/subobject classifiers.yaml create mode 100644 databases/catdat/data_yaml/category-implications/subobject-trivial.yaml create mode 100644 databases/catdat/data_yaml/category-implications/thin.yaml create mode 100644 databases/catdat/data_yaml/category-implications/topos.yaml diff --git a/.vscode/settings.json b/.vscode/settings.json index 89fdf748..f89e0ecf 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -229,6 +229,7 @@ "surjectivity", "Tarski", "tensoring", + "topoi", "Turso", "unital", "unitalization", diff --git a/databases/catdat/data_yaml/category-implications/Malcev.yaml b/databases/catdat/data_yaml/category-implications/Malcev.yaml new file mode 100644 index 00000000..0b411fb6 --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/Malcev.yaml @@ -0,0 +1,54 @@ +# results on Malcev and unital categories + +- id: malcev_condition + assumptions: + - Malcev + conclusions: + - finitely complete + reason: This holds by definition. + is_equivalence: false + +- id: malcev_thin_condition + assumptions: + - finitely complete + - thin + conclusions: + - Malcev + reason: In a thin category, every subobject of $X^2 = X$ containing $X$ is already $X$. + is_equivalence: false + +- id: malcev_additive_criterion + assumptions: + - additive + - finitely complete + conclusions: + - Malcev + reason: See Prop. 2.2.13. in Malcev, protomodular, homological and semi-abelian categories. + is_equivalence: false + +- id: malcev_implies_unital + assumptions: + - Malcev + - pointed + conclusions: + - unital + reason: This follows from Corollary 2.2.10 in Malcev, protomodular, homological and semi-abelian categories. The proof is also written down in MSE/5033161. + is_equivalence: false + +- id: biproducts_unital + assumptions: + - biproducts + - finitely complete + conclusions: + - unital + reason: For all objects $X,Y$ the morphism $X \sqcup Y \to X \times Y$ is an isomorphism, hence a strong epimorphism. + is_equivalence: false + +- id: unital_assumptions + assumptions: + - unital + conclusions: + - finitely complete + - pointed + reason: This holds by definition. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/NNO.yaml b/databases/catdat/data_yaml/category-implications/NNO.yaml new file mode 100644 index 00000000..975efa9d --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/NNO.yaml @@ -0,0 +1,44 @@ +# results on natural numbers objects + +- id: nno_assumption + assumptions: + - natural numbers object + conclusions: + - finite products + reason: This holds by definition. + is_equivalence: false + +- id: nno_criterion + assumptions: + - countably distributive + conclusions: + - natural numbers object + reason: "Consider the copower $N := \\coprod_{n \\in \\IN} 1$ with inclusions $i_n : 1 \\to N$ for $n \\in \\IN$. We define $z := i_1 : 1 \\to N$ and $s : N \\to N$ by $s \\circ i_n = i_{n+1}$. Since the category is countably distributive, we have $A \\times N \\cong \\coprod_{n \\in \\IN} A$ for every object $A$. Given morphisms $f : A \\to X$, $g : X \\to X$, a morphism $\\Phi : A \\times N \\to X$ therefore corresponds to a family of morphisms $\\phi_n : A \\to X$ for $n \\in \\IN$. The condition $\\Phi(a,z)=f(a)$ becomes $\\phi_0 = f$. The condition $\\Phi(a,s(n)) = g(\\Phi(a,n))$ becomes $\\phi_{n+1} = g \\circ \\phi_n$. This recursively defines the morphisms $\\phi_n$. (We are basically using that $\\IN$ is a natural numbers object in $\\Set$.) Concretely, $\\phi_n = g^n \\circ f$." + is_equivalence: false + +- id: nno_pointed_case + assumptions: + - natural numbers object + - pointed + conclusions: + - trivial + reason: "Let $(N,z,s)$ be a natural numbers object in a category with a zero object, denoted $0$. The morphism $z : 0 \\to N$ must be zero. The universal property applied to $A=1$ implies that $s : N \\to N$ is an initial object in the category of endomorphisms. This exists, it is given by the identity $0 \\to 0$. Therefore, $N = 0$. The general universal property now becomes: For all $f : A \\to X$, $g : X \\to X$ there is a unique $\\Phi : A \\to X$ such that $\\Phi(a) = f(a)$ and $\\Phi(a)=g(\\Phi(a))$. Apply this to $g = 0$ to conclude $f = 0$." + is_equivalence: false + +- id: nno_terminal + assumptions: + - natural numbers object + - strict terminal object + conclusions: + - one-way + reason: "By assumption, $z : 1 \\to N$ is an isomorphism. Therefore, the terminal object $1$ is a NNO with $z = \\id_1$ and $s = \\id_1$. This precisely means that for all $f : A \\to X$ and $g : X \\to X$ there is a unique $\\Phi : A \\to X$ with $\\Phi = f$ and $\\Phi = g \\circ \\Phi$. In other words, we have $f = g \\circ f$, and therefore $g = \\id_X$ (take $f = \\id_X$), which proves the claim. (From here one can further deduce that the category is thin.)" + is_equivalence: false + +- id: nno_thin + assumptions: + - finite products + - thin + conclusions: + - natural numbers object + reason: The triple $(1, \id_1, \id_1)$ is clearly a NNO. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/accessible.yaml b/databases/catdat/data_yaml/category-implications/accessible.yaml new file mode 100644 index 00000000..70b23e5b --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/accessible.yaml @@ -0,0 +1,241 @@ +# results on locally presentable categories, accessible categories, +# and related notions such as locally strongly finitely presentable, etc. + +- id: locally_presentable_definition_finite + assumptions: + - locally finitely presentable + conclusions: + - cocomplete + - finitely accessible + reason: This follows from one of equivalent formulations of locally finitely presentable categories. + is_equivalence: true + +- id: locally_presentable_definition_countable + assumptions: + - locally ℵ₁-presentable + conclusions: + - cocomplete + - ℵ₁-accessible + reason: This follows from one of equivalent formulations of locally ℵ₁-presentable categories. + is_equivalence: true + +- id: locally_presentable_definition + assumptions: + - locally presentable + conclusions: + - accessible + - cocomplete + reason: This follows from one of equivalent formulations of locally presentable categories. + is_equivalence: true + +- id: locally_finitely_presentable_consequence + assumptions: + - locally finitely presentable + conclusions: + - exact filtered colimits + reason: Special case of Adamek-Rosicky, Prop. 1.59 with $\lambda = \aleph_0$. + is_equivalence: false + +- id: locally_finitely_presentable_raise + assumptions: + - locally finitely presentable + conclusions: + - locally ℵ₁-presentable + reason: This is trivial. + is_equivalence: false + +- id: locally_countably_presentable_raise + assumptions: + - locally ℵ₁-presentable + conclusions: + - locally presentable + reason: This is trivial. + is_equivalence: false + +- id: accessible_trivial_consequence + assumptions: + - accessible + conclusions: + - generating set + reason: For a $\kappa$-accessible category, the set $G$ appearing in the definition gives a small dense full subcategory, which is in particular a generating set. + is_equivalence: false + +- id: accessible_well-powered + assumptions: + - accessible + conclusions: + - well-powered + reason: See nLab. + is_equivalence: false + +- id: accessible_locally_small + assumptions: + - accessible + conclusions: + - locally essentially small + reason: See the proof of Prop. 2.1.5 in Makkai-Pare. + is_equivalence: false + +- id: accessible_well-copowered + assumptions: + - accessible + - pushouts + conclusions: + - well-copowered + reason: See Thm. 2.49 in Adamek-Rosicky or Prop. 6.1.3 in Makkai-Pare. + is_equivalence: false + +- id: finite_accessible + assumptions: + - Cauchy complete + - essentially finite + conclusions: + - finitely accessible + reason: See MO/509853, where it is in fact shown that the ind-completion of any finite Cauchy-complete category becomes itself. + is_equivalence: false + +- id: locally_presentable_essentially_small + assumptions: + - locally copresentable + - locally presentable + conclusions: + - essentially small + reason: This follows from Adamek-Rosicky, Thm. 1.64. + is_equivalence: false + +- id: grothendieck_abelian_presentable + assumptions: + - Grothendieck abelian + conclusions: + - locally presentable + reason: See Deriving Auslander's formula, Cor. 5.2, or Sheafifiable homotopy model categories, Prop. 3.10. + is_equivalence: false + +- id: locally_strongly_finitely_presentable_raise + assumptions: + - locally strongly finitely presentable + conclusions: + - locally finitely presentable + reason: See Adamek-Rosicky, Cor. 3.7. + is_equivalence: false + +- id: finitely_accessible_raise + assumptions: + - finitely accessible + conclusions: + - ℵ₁-accessible + reason: This is because any regular cardinal is strictly smaller than its successor cardinal. See nLab. + is_equivalence: false + +- id: countably_accessible_special_case + assumptions: + - ℵ₁-accessible + conclusions: + - accessible + reason: This is trivial. + is_equivalence: false + +- id: accessible_require_filtered_colimit + assumptions: + - finitely accessible + conclusions: + - filtered colimits + reason: This holds by definition. + is_equivalence: false + +- id: accessible_require_Cauchy_complete + assumptions: + - accessible + conclusions: + - Cauchy complete + reason: This is because the walking idempotent is $\kappa$-filtered for any regular cardinal $\kappa$. + is_equivalence: false + +- id: small_accessible_characterization + assumptions: + - Cauchy complete + - essentially small + conclusions: + - accessible + reason: See Makkai-Pare, Thm. 2.2.2. + is_equivalence: false + +- id: countably_accessible_thin + assumptions: + - essentially countable + - thin + conclusions: + - ℵ₁-accessible + reason: In general, every $\kappa$-filtered diagram in a poset whose elements are less than $\kappa$ admits the greatest element. Therefore, all the elements are $\kappa$-presentable, and the poset is $\kappa$-accessible. + is_equivalence: false + +- id: locally_presentable_another_definition + assumptions: + - accessible + - complete + conclusions: + - locally presentable + reason: This follows from one of equivalent formulations of locally presentable categories. + is_equivalence: false + +- id: locally_strongly_finitely_presentable_definition + assumptions: + - locally strongly finitely presentable + conclusions: + - cocomplete + - generalized variety + reason: This is trivial. + is_equivalence: true + +- id: locally_multi-presentable_definition + assumptions: + - locally multi-presentable + conclusions: + - accessible + - connected limits + reason: This follows from one of equivalent formulations of locally multi-presentable categories. + is_equivalence: true + +- id: locally_multi-presentable_another_definition + assumptions: + - locally multi-presentable + conclusions: + - accessible + - multi-cocomplete + reason: This follows from one of equivalent formulations of locally multi-presentable categories. + is_equivalence: true + +- id: locally_finitely_multi-presentable_definition + assumptions: + - locally finitely multi-presentable + conclusions: + - connected limits + - finitely accessible + reason: This follows from one of equivalent formulations of locally finitely multi-presentable categories. + is_equivalence: true + +- id: locally_finitely_multi-presentable_another_definition + assumptions: + - locally finitely multi-presentable + conclusions: + - finitely accessible + - multi-cocomplete + reason: This follows from one of equivalent formulations of locally finitely multi-presentable categories. + is_equivalence: true + +- id: locally_poly-presentable_definition + assumptions: + - locally poly-presentable + conclusions: + - accessible + - wide pullbacks + reason: This holds by definition. + is_equivalence: true + +- id: locally-finitely-multi-presentable_stable-monos + assumptions: + - locally finitely multi-presentable + conclusions: + - filtered-colimit-stable monomorphisms + reason: 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. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/additive.yaml b/databases/catdat/data_yaml/category-implications/additive.yaml new file mode 100644 index 00000000..47ec3f6d --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/additive.yaml @@ -0,0 +1,102 @@ +# results on additive, preadditive, abelian categories, and biproducts + +- id: preadditive_consequence + assumptions: + - preadditive + conclusions: + - locally essentially small + - zero morphisms + reason: This is trivial. + is_equivalence: false + +- id: preadditive_products_criterion + assumptions: + - finite coproducts + - preadditive + conclusions: + - finite products + reason: See Mac Lane, VIII.2., Theorem 2. + is_equivalence: false + +- id: additive_definition + assumptions: + - additive + conclusions: + - finite products + - preadditive + reason: This holds by definition. + is_equivalence: true + +- id: additive_biproducts + assumptions: + - additive + conclusions: + - biproducts + reason: This is standard, see e.g. Prop. 2.1 on the nLab. + is_equivalence: false + +- id: abelian_definition + assumptions: + - abelian + conclusions: + - additive + - cokernels + - conormal + - kernels + - normal + reason: This holds by definition. + is_equivalence: true + +- id: abelian_implies_regular + assumptions: + - abelian + conclusions: + - regular + reason: In an abelian category, every epimorphism is regular, and epimorphisms are pullback-stable, see Mac Lane, Ch. VIII. + is_equivalence: false + +- id: grothendieck_abelian_definition + assumptions: + - Grothendieck abelian + conclusions: + - abelian + - coproducts + - exact filtered colimits + - generator + reason: This holds by definition. + is_equivalence: true + +- id: grothendieck_abelian_cogenerator + assumptions: + - Grothendieck abelian + conclusions: + - cogenerator + reason: See Kashiwara-Schapira, Thm. 9.6.3. + is_equivalence: false + +- id: grothendieck_abelian_self-dual + assumptions: + - Grothendieck abelian + - self-dual + conclusions: + - trivial + reason: This follows since the dual of a non-trivial Grothendieck abelian category cannot be Grothendieck abelian. See Peter Freyd, Abelian categories, p. 116. + is_equivalence: false + +- id: split_abelian_condition + assumptions: + - split abelian + conclusions: + - abelian + reason: This holds by definition. + is_equivalence: false + +- id: biproducts_definition_consequences + assumptions: + - biproducts + conclusions: + - finite coproducts + - finite products + - zero morphisms + reason: This holds by definition of biproducts. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/algebraic.yaml b/databases/catdat/data_yaml/category-implications/algebraic.yaml new file mode 100644 index 00000000..ea2ac6c7 --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/algebraic.yaml @@ -0,0 +1,83 @@ +# results on finitary algebraic categories and related notions + +- id: finitary_algebraic_consequence + assumptions: + - finitary algebraic + conclusions: + - locally strongly finitely presentable + reason: This is trivial because a locally strongly finitely presentable category is a variety of many-sorted finitary algebras. + is_equivalence: false + +- id: algebraic_well-copowered + assumptions: + - finitary algebraic + conclusions: + - well-copowered + reason: See MSE/486607. Alternatively, one may combine the facts that finitary algebraic categories are locally (finitely) presentable and that locally presentable categories are well-copowered, both of which are saved in the database. But we include the direct proof here as well, since it makes it easier to deduce the property for finitary algebraic categories appearing in practice. + is_equivalence: false + +- id: many_sorted_algebraic_implies_regular + assumptions: + - locally strongly finitely presentable + conclusions: + - regular + reason: The regular epimorphisms are precisely the sort-wise surjective homomorphisms, which are clearly stable under pullbacks. + is_equivalence: false + +- id: algebras_with_0_disjoint_products + assumptions: + - finitary algebraic + - pointed + conclusions: + - disjoint products + reason: "We have a constant in every algebra, let us denoted it by $0$. Then the projection $A \\times B \\to A$ is clearly surjective, hence an epimorphism. To show that $A \\sqcup_{A \\times B} B$ is trivial, let $R$ be an algebra which admits homomorphisms $f : A \\to R$, $g : B \\to R$ such that $f(p_1(a,b)) = g(p_2(a,b))$ for all $(a,b) \\times A \\times B$. This means $f(a) = g(b)$. In particular, $f(a) = g(0) = 0$. Likewise, $g(b) = 0$, and we are done." + is_equivalence: false + +- id: generalized_variety_require_sifted_colimit + assumptions: + - generalized variety + conclusions: + - sifted colimits + reason: This holds by definition. + is_equivalence: false + +- id: generalized_variety_implies_accessible + assumptions: + - generalized variety + conclusions: + - ℵ₁-accessible + reason: See [AR01, Remark 4.8(2)]. + is_equivalence: false + +- id: multi-algebraic_implies_locally_finitely_multi-presentable + assumptions: + - multi-algebraic + conclusions: + - locally finitely multi-presentable + reason: This is because that every (finite product, coproduct)-sketch is clearly a (finite limit, coproduct)-sketch. + is_equivalence: false + +- id: varieties_are_multi-algebraic + assumptions: + - locally strongly finitely presentable + conclusions: + - multi-algebraic + reason: This is because that every finite-product-sketch is clearly a (finite product, coproduct)-sketch. + is_equivalence: false + +- id: multi-algebraic_another_definition + assumptions: + - multi-algebraic + conclusions: + - generalized variety + - multi-cocomplete + reason: This follows from one of equivalent formulations of multi-algebraic categories. + is_equivalence: true + +- id: multi-algebraic_implies_effective_congruences + assumptions: + - multi-algebraic + conclusions: + - effective congruences + reason: This is Thm. 4.0 in Yves Diers, Catégories Multialgébriques or its English translation. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/cancellative.yaml b/databases/catdat/data_yaml/category-implications/cancellative.yaml new file mode 100644 index 00000000..f627cca7 --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/cancellative.yaml @@ -0,0 +1,47 @@ +# results on left cancellative and right cancellative categories + +- id: cancellative_consequence + assumptions: + - equalizers + - right cancellative + conclusions: + - thin + reason: If $f,g$ are two parallel morphisms, then their equalizer is a regular monomorphism, but also an epimorphism by assumption, so it must be an isomorphism. But this means that $f = g$. + is_equivalence: false + +- id: zero-no-mono + assumptions: + - left cancellative + - zero morphisms + conclusions: + - thin + reason: "If $f,g : A \\rightrightarrows B$ are two morphisms, then $0_{B,B} \\circ f = 0_{A,B} = 0_{B,B} \\circ g$, so that $f = g$." + is_equivalence: false + +- id: codiagonal-no-mono + assumptions: + - binary copowers + - left cancellative + conclusions: + - thin + reason: "For every object $A$ the codiagonal $A + A \\to A$ is a split epimorphism, and by assumption a monomorphism, hence an isomorphism. Hence, the two inclusions $i_1,i_2 : A \\rightrightarrows A + A$ coincide. Now, if $f, g : A \\rightrightarrows B$ are two morphisms, consider the induced morphism $h : A + A \\to B$ and compute $f = h \\circ i_1 = h \\circ i_2 = g$." + is_equivalence: false + +- id: cauchy_complete_criterion + assumptions: + - left cancellative + conclusions: + - Cauchy complete + reason: Any idempotent monomorphism must be the identity and therefore splits. + is_equivalence: false + +- id: reflexive_pair_trivial + assumptions: + - left cancellative + conclusions: + - coreflexive equalizers + - effective cocongruences + - effective congruences + - reflexive coequalizers + reason: 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. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/cartesian closed.yaml b/databases/catdat/data_yaml/category-implications/cartesian closed.yaml new file mode 100644 index 00000000..60582a35 --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/cartesian closed.yaml @@ -0,0 +1,109 @@ +# results on cartesian closed categories and locally cartesian closed categories + +- id: ccc_condition + assumptions: + - cartesian closed + conclusions: + - finite products + reason: This holds by definition. + is_equivalence: false + +- id: ccc_consequence + assumptions: + - cartesian closed + - initial object + conclusions: + - strict initial object + reason: See the nLab. + is_equivalence: false + +- id: ccc_cartesian_filtered_colimits + assumptions: + - cartesian closed + - filtered colimits + conclusions: + - cartesian filtered colimits + reason: Each functor $X \times -$ is a left adjoint and therefore preserves (filtered) colimits. + is_equivalence: false + +- id: ccc_no_strict_terminal + assumptions: + - cartesian closed + - strict terminal object + conclusions: + - thin + reason: If a morphism $X \to Y$ exists, we get a morphism $1 \to [X,Y]$, which forces $[X,Y]$ to be a terminal object by assumption. But then any two morphisms $1 \rightrightarrows [X,Y]$ are equal, so that any two morphisms $X \rightrightarrows Y$ are equal. + is_equivalence: false + +- id: power_construction + assumptions: + - cartesian closed + - copowers + conclusions: + - powers + reason: |- + The power $X^I$ can be constructed as $[I \otimes 1, X]$ because + $$\begin{align*} + \Hom(T,[I \otimes 1, X]) & \cong \Hom(T \times (I \otimes 1),X) \\ + & \cong \Hom(I \otimes (T \times 1),X) \\ + & \cong \Hom(I \otimes T,X) \\ + & \cong \Hom(T,X)^I. + \end{align*}$$ + In the second isomorphism we have used that $T \times -$ preserves copowers, which is true because it is a left adjoint. + is_equivalence: false + +- id: countable_power_construction + assumptions: + - cartesian closed + - countable copowers + conclusions: + - countable powers + reason: We can recycle this proof. + is_equivalence: false + +- id: pullbacks_are_local_products + assumptions: + - locally cartesian closed + conclusions: + - pullbacks + reason: Pullbacks are binary products in slice categories. + is_equivalence: false + +- id: locally_cartesian_closed_with_terminal_is_closed + assumptions: + - locally cartesian closed + - terminal object + conclusions: + - cartesian closed + reason: The slice over the terminal object is the category itself. + is_equivalence: false + +- id: lcc_implies_regular + assumptions: + - coequalizers + - finitely complete + - locally cartesian closed + conclusions: + - regular + reason: See Johnstone, Lemma A1.5.13. From this it follows also that every elementary topos is regular. + is_equivalence: false + +- id: cartesian_closed_thin_criterion + assumptions: + - complete + - essentially small + - infinitary distributive + - thin + conclusions: + - cartesian closed + reason: This is an application of the adjoint functor theorem. Specifically, if $P$ is a complete lattice in which $\sup_i \inf(t,x_i) = \inf(t, \sup_i y_i)$ always holds, then the functor $\inf(t,-)$ is a left adjoint because it preserves all suprema. + is_equivalence: false + +- id: sequential_implies_lcc + assumptions: + - semi-strongly connected + - thin + conclusions: + - locally cartesian closed + reason: Each slice is thin, semi-strongly connected, and has a terminal object. Thus, it corresponds to a linear order with a largest element $1$. Every such category is cartesian closed, where the exponential $a \Rightarrow b$ (Heyting implication) is $1$ when $a \leq b$ and otherwise $b$. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/completeness.yaml b/databases/catdat/data_yaml/category-implications/completeness.yaml new file mode 100644 index 00000000..1019c86f --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/completeness.yaml @@ -0,0 +1,72 @@ +# results on complete and multi-complete categories. +# for specific types of limits, use other files. + +- id: complete_consequence + assumptions: + - complete + conclusions: + - connected limits + - finitely complete + reason: This is trivial. + is_equivalence: false + +- id: complete_characterization + assumptions: + - complete + conclusions: + - equalizers + - products + reason: See Mac Lane, V.2, Thm. 2. + is_equivalence: true + +- id: finitely_complete_characterization + assumptions: + - finitely complete + conclusions: + - equalizers + - finite products + reason: See Mac Lane, V.2, Cor. 1. + is_equivalence: true + +- id: complete_criterion + assumptions: + - terminal object + - wide pullbacks + conclusions: + - complete + reason: See the nLab. + is_equivalence: false + +- id: multi-complete_generalize_limits + assumptions: + - complete + conclusions: + - multi-complete + reason: Limits are precisely multi-limits such that the set of cones is singleton. + is_equivalence: false + +- id: multi-terminal_special_case + assumptions: + - multi-complete + conclusions: + - multi-terminal object + reason: This is trivial. + is_equivalence: false + +- id: multi-terminal_with_connected + assumptions: + - connected + - multi-terminal object + conclusions: + - terminal object + reason: Let $(T_i)_{i\in I}$ be a multi-terminal object in a connected category $\C$. By definition of multi-terminal objects, for each object $C$, there are a unique index $i_C\in I$ and a unique morphism $C \to T_{i_C}$. Since the index $i_C$ is invariant under connected components, $I$ must be a singleton. The converse is trivial. + is_equivalence: true + +- id: multi-complete_with_finite_coproducts + assumptions: + - finite coproducts + - multi-complete + conclusions: + - complete + reason: Let $D\colon \S \to \C$ be a small diagram in a category $\C$. Since $\C$ has finite coproducts, the category $\Cone(D)$ of cones over $D$ has finite coproducts. In particular, $\Cone(D)$ is connected, hence a multi-terminal object in it automatically becomes a terminal object. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/congruences.yaml b/databases/catdat/data_yaml/category-implications/congruences.yaml new file mode 100644 index 00000000..206affa0 --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/congruences.yaml @@ -0,0 +1,123 @@ +# results on congruences and regular categories + +- id: regular_def + assumptions: + - regular + conclusions: + - finitely complete + reason: This holds by definition of a regular category. + is_equivalence: false + +- id: congruence_quotients_are_reflexive_coequalizers + assumptions: + - reflexive coequalizers + conclusions: + - quotients of congruences + reason: A congruence $E \rightrightarrows X$ has a common section $X \to E$ given by the reflexivity morphism. + is_equivalence: false + +- id: cokernels_via_congruence_quotients + assumptions: + - preadditive + - quotients of congruences + - regular + conclusions: + - cokernels + reason: "By the regularity assumption, it suffices to consider cokernels of subobjects. Given a subobject $Y$ of $X$, we have the congruence on $X$ given by the pullback of ${-} : X \\times X \\to X$ and $Y$. The quotient of this congruence is a cokernel of $Y \\hookrightarrow X$." + is_equivalence: false + +- id: congruence_quotients_via_cokernels + assumptions: + - cokernels + - kernels + - preadditive + conclusions: + - quotients of congruences + reason: "For any congruence $E$ on an object $X$ of a preadditive category, let $E_0$ be the kernel of $p_2 : E \\to X$. The restriction of $p_1$ to $E_0$ is a monomorphism. We can then see that $E$ must be the pullback of $p_1 - p_2 : E \\to X$ and $E_0 \\hookrightarrow X$. Then the cokernel of $E_0 \\hookrightarrow X$ is a quotient of $E$." + is_equivalence: false + +- id: core-hin_quotients + assumptions: + - core-thin + conclusions: + - effective congruences + - quotients of congruences + reason: "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$." + is_equivalence: false + +- id: preadditive_kernels_normal_imply_effective_congruences + assumptions: + - kernels + - normal + - preadditive + conclusions: + - effective congruences + reason: |- + 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. + is_equivalence: false + +- id: additive_effective_congruences_imply_normal + assumptions: + - additive + - effective congruences + - finitely complete + conclusions: + - normal + reason: |- + 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 $\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_equivalence: false + +- id: regular_effective_congruences_implies_quotients + assumptions: + - effective congruences + - regular + conclusions: + - quotients of congruences + reason: We assume that every congruence is effective, and the regularity condition implies that every effective congruence has a quotient. + is_equivalence: false + +- id: regular_epi-regular_extensive_consequences + assumptions: + - epi-regular + - extensive + - regular + conclusions: + - co-Malcev + - effective cocongruences + reason: |- + 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 \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. + is_equivalence: false + +- id: pretopos_balanced + assumptions: + - effective congruences + - extensive + conclusions: + - mono-regular + reason: |- + 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$. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/connected.yaml b/databases/catdat/data_yaml/category-implications/connected.yaml new file mode 100644 index 00000000..cb9ced81 --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/connected.yaml @@ -0,0 +1,54 @@ +# results on connected, semi-strongly connected and +# strongly connected categories + +- id: connected_consequence + assumptions: + - connected + conclusions: + - inhabited + reason: This holds by definition. + is_equivalence: false + +- id: strongly_connected_consequence + assumptions: + - strongly connected + conclusions: + - semi-strongly connected + reason: This is immediate from the definition. + is_equivalence: false + +- id: semi-strongly_connected_consequence + assumptions: + - semi-strongly connected + conclusions: + - connected + reason: This is immediate from the definition. + is_equivalence: false + +- id: thin_not_strongly_connected + assumptions: + - strongly connected + - thin + conclusions: + - trivial + reason: This is obvious. + is_equivalence: false + +- id: zero_morphisms_mean_strongly_connected + assumptions: + - inhabited + - zero morphisms + conclusions: + - strongly connected + reason: This holds by definition. + is_equivalence: false + +- id: strongly_connected_pointed_criterion + assumptions: + - initial object + - strongly connected + - terminal object + conclusions: + - pointed + reason: By assumption there is a morphism $1 \to 0$. There is also a unique morphism $0 \to 1$. They are necessarily inverse to each other. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/discrete.yaml b/databases/catdat/data_yaml/category-implications/discrete.yaml new file mode 100644 index 00000000..bf1f6ac0 --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/discrete.yaml @@ -0,0 +1,52 @@ +# results on trivial and discrete categories + +- id: trivial_consequence + assumptions: + - trivial + conclusions: + - essentially discrete + - essentially finite + - finitary algebraic + - Grothendieck topos + - self-dual + - split abelian + reason: This is trivial. + is_equivalence: false + +- id: discrete_consequences + assumptions: + - discrete + conclusions: + - direct + - essentially discrete + - locally small + - skeletal + reason: This is trivial. + is_equivalence: false + +- id: essentially_discrete_characterization + assumptions: + - essentially discrete + conclusions: + - groupoid + - thin + reason: This is trivial. + is_equivalence: true + +- id: essentially_discrete_consequence + assumptions: + - essentially discrete + conclusions: + - connected limits + - locally essentially small + reason: This is trivial. + is_equivalence: false + +- id: essentially_discrete_trivial + assumptions: + - connected + - essentially discrete + conclusions: + - trivial + reason: This is trivial. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/disjoint coproducts.yaml b/databases/catdat/data_yaml/category-implications/disjoint coproducts.yaml new file mode 100644 index 00000000..064f1299 --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/disjoint coproducts.yaml @@ -0,0 +1,45 @@ +# results on disjoint coproducts and disjoint products + +- id: disjoint_coproducts_equivalence + assumptions: + - disjoint coproducts + conclusions: + - coproducts + - disjoint finite coproducts + reason: This is easy. + is_equivalence: true + +- id: disjoint_coproducts_consequence + assumptions: + - disjoint finite coproducts + conclusions: + - finite coproducts + reason: This holds by definition. + is_equivalence: false + +- id: disjoint_coproducts_thin_trivial + assumptions: + - disjoint finite coproducts + - thin + conclusions: + - trivial + reason: For every object $A$ the two inclusions $A \rightrightarrows A + A$ must be equal, so their equalizer is $A$, but also $0$ since the coproduct is disjoint. Hence $A = 0$. + is_equivalence: false + +- id: disjoint_coproducts_strict + assumptions: + - disjoint finite coproducts + - strict terminal object + conclusions: + - thin + reason: "Let $1$ be the strict terminal object, and let $A$ be any object. Then $1 \\to A + 1$ is an isomorphism, since $1$ is strict. Also, $A \\to A + 1$ is a monomorphism by assumption. It follows that the unique morphism $u : A \\to 1$ is a monomorphism. For all $f,g : B \\to A$ we have $uf = ug$ (since $1$ is terminal), hence $f = g$." + is_equivalence: false + +- id: strongly_connected_disjoint_products + assumptions: + - finite products + - strongly connected + conclusions: + - disjoint finite products + reason: See MSE/5130190 for a proof. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/distributivity.yaml b/databases/catdat/data_yaml/category-implications/distributivity.yaml new file mode 100644 index 00000000..fb8ff177 --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/distributivity.yaml @@ -0,0 +1,108 @@ +# results on distributive categories + +- id: infinitary_distributive_assumption + assumptions: + - infinitary distributive + conclusions: + - coproducts + - finite products + reason: This holds by definition. + is_equivalence: false + +- id: countably_distributive_assumption + assumptions: + - countably distributive + conclusions: + - countable coproducts + - finite products + reason: This holds by definition. + is_equivalence: false + +- id: distributive_assumption + assumptions: + - distributive + conclusions: + - finite coproducts + - finite products + reason: This holds by definition. + is_equivalence: false + +- id: infinitary_distributive_trivial + assumptions: + - infinitary distributive + conclusions: + - countably distributive + reason: This is trivial. + is_equivalence: false + +- id: countably_distributive_trivial + assumptions: + - countably distributive + conclusions: + - distributive + reason: This is trivial. + is_equivalence: false + +- id: distributive_consequence + assumptions: + - distributive + conclusions: + - strict initial object + reason: See the nLab or Prop. 3.4 in Introduction to extensive and distributive categories. + is_equivalence: false + +- id: distributive_criterion + assumptions: + - cartesian closed + - finite coproducts + conclusions: + - distributive + reason: Each functor $A \times -$ is left adjoint and hence preserves finite coproducts (in fact, all colimits). + is_equivalence: false + +- id: countably_distributive_criterion + assumptions: + - cartesian closed + - countable coproducts + conclusions: + - countably distributive + reason: Each functor $A \times -$ is left adjoint and hence preserves countable coproducts (in fact, all colimits). + is_equivalence: false + +- id: infinitary_distributive_criterion + assumptions: + - cartesian closed + - coproducts + conclusions: + - infinitary distributive + reason: Each functor $A \times -$ is left adjoint and hence preserves coproducts (in fact, all colimits). + is_equivalence: false + +- id: infinite_distributive_filtered_criterion + assumptions: + - cartesian filtered colimits + - coproducts + - distributive + conclusions: + - infinitary distributive + reason: Each functor $A \times -$ preserves finite coproducts and filtered colimits, hence all coproducts. + is_equivalence: false + +- id: countably_distributive_filtered_criterion + assumptions: + - cartesian filtered colimits + - countable coproducts + - distributive + conclusions: + - countably distributive + reason: Each functor $A \times -$ preserves finite coproducts and filtered colimits, hence all countable coproducts. + is_equivalence: false + +- id: distributive_duality + assumptions: + - distributive + - thin + conclusions: + - codistributive + reason: This is equivalent to the classical result that the distributivity law in a lattice can be defined in two ways, see e.g. Birkhoff, Lattice Theory, Ch. IX, Thm. 1. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/equalizers.yaml b/databases/catdat/data_yaml/category-implications/equalizers.yaml new file mode 100644 index 00000000..45740948 --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/equalizers.yaml @@ -0,0 +1,78 @@ +# results on equalizers, coreflexive coequalizers, and kernels + +- id: equalizers_criterion + assumptions: + - binary products + - pullbacks + conclusions: + - equalizers + reason: "The equalizer of $f,g : X \\rightrightarrows Y$ is the pullback of $(f,g) : X \\to Y \\times Y$ with the diagonal $Y \\to Y \\times Y$." + is_equivalence: false + +- id: coreflexive_equalizers_are_equalizers + assumptions: + - equalizers + conclusions: + - coreflexive equalizers + reason: This is trivial. + is_equivalence: false + +- id: equalizers_via_coreflexive_equalizers + assumptions: + - binary products + - coreflexive equalizers + conclusions: + - equalizers + reason: "If $f,g : X \\rightrightarrows Y$ are two morphisms, we have a coreflexive pair $(\\id_X,f), (\\id_X,g) : X \\rightrightarrows X \\times Y$. A morphism with codomain $X$ equalizes $f$ and $g$ if and only if it equalizes $(\\id_X,f)$ and $(\\id_X,g)$. Thus, their equalizers agree." + is_equivalence: false + +- id: equalizers_consequence + assumptions: + - equalizers + conclusions: + - Cauchy complete + reason: "If $e : X \\to X$ is an idempotent, then the equalizer of $e, \\id_X : X \\rightrightarrows X$ provides a splitting of $e$." + is_equivalence: false + +- id: reflexive_pair_trivial_2 + assumptions: + - subobject-trivial + conclusions: + - coreflexive equalizers + - reflexive coequalizers + reason: Any parallel pair of morphisms with a common section (or retraction) must be a pair of equal isomorphisms. + is_equivalence: false + +- id: one-way_reflexive + assumptions: + - one-way + conclusions: + - reflexive coequalizers + reason: "Every reflexive pair is equal: If $f s = g s = \\id$, then since $s f = \\id$ (one-way), we must have $f = s^{-1}$, and likewise $g = s^{-1}$." + is_equivalence: false + +- id: kernels_condition + assumptions: + - kernels + conclusions: + - zero morphisms + reason: This is part of our definition of having kernels. + is_equivalence: false + +- id: kernels_criterion + assumptions: + - equalizers + - zero morphisms + conclusions: + - kernels + reason: This is trivial. + is_equivalence: false + +- id: equalizers_via_kernels + assumptions: + - kernels + - preadditive + conclusions: + - equalizers + reason: The equalizer of $f,g$ is the kernel of $f-g$. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/exact filtered colimits.yaml b/databases/catdat/data_yaml/category-implications/exact filtered colimits.yaml new file mode 100644 index 00000000..d12d3070 --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/exact filtered colimits.yaml @@ -0,0 +1,114 @@ +# results on exact filtered colimits, cartesian filtered colimits, +# filtered-colimit-stable monomorphisms, and the dual notions + +- id: exact_filtered_colimits_condition + assumptions: + - exact filtered colimits + conclusions: + - filtered colimits + - finitely complete + reason: This holds by definition. + is_equivalence: false + +- id: exact_filtered_colimits_monos + assumptions: + - exact filtered colimits + conclusions: + - filtered-colimit-stable monomorphisms + reason: |- + This is because $f : X \longrightarrow Y$ is a monomorphism iff the diagram + $$\begin{CD} X @>{\id}>> X \\ @V{\id}VV @VV{f}V \\ X @>>{f}> Y \end{CD}$$ + is a pullback, and if a functor preserves finite limits, it preserves pullbacks in particular. + is_equivalence: false + +- id: cartesian_filtered_colimits_condition + assumptions: + - cartesian filtered colimits + conclusions: + - filtered colimits + - finite products + reason: This holds by definition. + is_equivalence: false + +- id: exact_includes_cartesian_filtered_colimits + assumptions: + - exact filtered colimits + conclusions: + - cartesian filtered colimits + reason: If filtered colimits commute with finite limits, they commute with finite products in particular. + is_equivalence: false + +- id: thin_exact_filtered_colimits + assumptions: + - cartesian filtered colimits + - thin + conclusions: + - exact filtered colimits + reason: In a thin category, every (finite) limit can be reduced to a (finite) product. + is_equivalence: false + +- id: biproducts_cartesian_filtered_colimits + assumptions: + - biproducts + - filtered colimits + conclusions: + - cartesian filtered colimits + reason: If $I$ is a finite set, the product functor $\C^I \to \C$ is isomorphic to the coproduct functor $\C^I \to \C$, hence preserves all colimits that exist in $\C$. + is_equivalence: false + +- id: extensive_cocartesian_cofiltered_limits + assumptions: + - cofiltered limits + - extensive + - terminal object + conclusions: + - cocartesian cofiltered limits + reason: "Let $\\C$ be an extensive category with cofiltered limits and a terminal object. Then the coproduct functor $\\C \\times \\C \\cong \\C/1 \\times \\C/1 \\to \\C/(1+1)$ is an equivalence. The forgetful functor $\\C/A \\to \\C$ creates connected limits, and hence preserves cofiltered limits. For every $X \\in \\C$ the functor $(X,-) : \\C \\to \\C \\times \\C$ also preserves cofiltered limits. The composition of these functors is $X \\sqcup - : \\C \\to \\C$ and therefore also preserves cofiltered limits." + is_equivalence: false + +- id: filtered_monos_assumption + assumptions: + - filtered-colimit-stable monomorphisms + conclusions: + - filtered colimits + reason: This holds by definition. + is_equivalence: false + +- id: filtered_monos_trivial + assumptions: + - filtered colimits + - left cancellative + conclusions: + - filtered-colimit-stable monomorphisms + reason: This is trivial. + is_equivalence: false + +- id: filtered_monos_iso + assumptions: + - filtered colimits + - subobject-trivial + conclusions: + - filtered-colimit-stable monomorphisms + reason: This is trivial. + is_equivalence: false + +- id: CIP_assumption + assumptions: + - CIP + conclusions: + - coproducts + - products + - zero morphisms + reason: This is true by definition. + is_equivalence: false + +- id: CIP_criterion + assumptions: + - biproducts + - filtered colimits + - filtered-colimit-stable monomorphisms + - products + conclusions: + - CIP + reason: Let $(X_i)_{i \in I}$ be a family of objects. For every finite subset $E \subseteq I$ the canonical morphism $\coprod_{i \in E} X_i = \prod_{i \in E} X_i \to \prod_{i \in I} X_i$ is a (split) monomorphism. Hence, their colimit is also a monomorphism, which is the canonical morphism $\coprod_{i \in I} X_i \to \prod_{i \in I} X_i$. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/extensive.yaml b/databases/catdat/data_yaml/category-implications/extensive.yaml new file mode 100644 index 00000000..67c7047e --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/extensive.yaml @@ -0,0 +1,71 @@ +# results on extensive categories + +- id: extensive_assumption + assumptions: + - extensive + conclusions: + - finite coproducts + reason: This holds by definition. + is_equivalence: false + +- id: infinitary_extensive_assumption + assumptions: + - infinitary extensive + conclusions: + - coproducts + reason: This holds by definition. + is_equivalence: false + +- id: infinitary_extensive_finitary + assumptions: + - infinitary extensive + conclusions: + - extensive + reason: This is obvious. + is_equivalence: false + +- id: extensive_consequences + assumptions: + - extensive + conclusions: + - disjoint finite coproducts + - strict initial object + reason: These are Prop. 2.6 and 2.8 in Introduction to extensive and distributive categories. + is_equivalence: false + +- id: extensive_distributivity + assumptions: + - extensive + - finite products + conclusions: + - distributive + reason: This is Prop. 4.5 in Introduction to extensive and distributive categories. + is_equivalence: false + +- id: infinitary_extensive_distributivity + assumptions: + - infinitary extensive + - finite products + conclusions: + - infinitary distributive + reason: One can adjust the proof of Prop. 4.5 in Introduction to extensive and distributive categories (which deals with the finite case). + is_equivalence: false + +- id: lcc_implies_extensive + assumptions: + - disjoint finite coproducts + - locally cartesian closed + conclusions: + - extensive + reason: 'The pullback functor preserves finite coproducts because it has a right adjoint. Remark: In combination with other implication, this result implies that every elementary topos is extensive.' + is_equivalence: false + +- id: lcc_extensive_yields_infinitary + assumptions: + - cocomplete + - extensive + - locally cartesian closed + conclusions: + - infinitary extensive + reason: The pullback functor preserves coproducts because it has a right adjoint. See also Remark 2.6 at the nLab. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/filtered + sifted.yaml b/databases/catdat/data_yaml/category-implications/filtered + sifted.yaml new file mode 100644 index 00000000..5a5a7ff8 --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/filtered + sifted.yaml @@ -0,0 +1,65 @@ +# results on filtered and sifted categories + +- id: filtered_is_sifted + assumptions: + - filtered + conclusions: + - sifted + reason: "Every filtered category $\\C$ is inhabited and has final diagonal functors $\\Delta : \\C \\to \\C^J$ for all finite index categories $J$; in particular, it is inhabited and its diagonal $\\Delta: \\C \\to \\C \\times \\C$ is final." + is_equivalence: false + +- id: sifted_is_connected + assumptions: + - sifted + conclusions: + - connected + reason: Sifted categories are inhabited, and any two objects in a sifted category are joined by a cospan. + is_equivalence: false + +- id: coproducts_implies_sifted + assumptions: + - binary coproducts + - inhabited + conclusions: + - sifted + reason: The category is inhabited by assumption, and the coproduct of two objects is initial in the corresponding category of cospans. + is_equivalence: false + +- id: sifted_left_cancellative_implies_thin + assumptions: + - left cancellative + - sifted + conclusions: + - thin + reason: |- + For any object $X$ in a left-cancellative category, the connected component containing + $$X \xrightarrow{\id} X \xleftarrow{\id} X$$ + in the category of cospans from $X$ to $X$ consists only of cospans + $$X \xrightarrow{f} Y \xleftarrow{g} X$$ + where $f=g$; hence when the category is also sifted, all cospans must be of this form, and so any two parallel morphisms are equal. + is_equivalence: false + +- id: terminal_object_yields_filtered + assumptions: + - terminal object + conclusions: + - filtered + reason: This is obvious. + is_equivalence: false + +- id: filtered_criterion + assumptions: + - finitely cocomplete + conclusions: + - filtered + reason: Every finite diagram even admits a universal cocone. + is_equivalence: false + +- id: filtered_via_equalizers + assumptions: + - coequalizers + - semi-strongly connected + conclusions: + - filtered + reason: This is obvious. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/filtered colimits.yaml b/databases/catdat/data_yaml/category-implications/filtered colimits.yaml new file mode 100644 index 00000000..e3eb328d --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/filtered colimits.yaml @@ -0,0 +1,86 @@ +# results on filtered colimits, sequential colimits, sifted colimits, +# and the dual notions. + +- id: directed_colimits_suffice + assumptions: + - directed colimits + conclusions: + - filtered colimits + reason: This is Theorem 1.5. in Adamek-Rosicky. + is_equivalence: true + +- id: sequential_colimits_consequence + assumptions: + - sequential colimits + conclusions: + - Cauchy complete + reason: |- + Assume that $e : X \to X$ is an idempotent morphism. Consider the sequence + $$X \xrightarrow{e} X \xrightarrow{e} X \to \cdots.$$ + A cocone under this sequence is a family of morphisms $f_n : X \to Y$ satisfying $$f_n = f_{n+1} e.$$ + Then + $$f_n = f_{n+1} e = f_{n+2} e^2 = f_{n+2} e = f_{n+1}$$ + shows that all the morphisms are equal. Thus, a cocone is the same as a morphism $f_0 : X \to Y$ with $f_0 = f_0 e$, meaning it coequalizes $\id_X,e : X \rightrightarrows X$. Hence, if a colimit exists, $e$ splits. + is_equivalence: false + +- id: directed_limits_consequence + assumptions: + - directed limits + conclusions: + - sequential limits + reason: This is trivial. + is_equivalence: false + +- id: sequential_limits_criterion + assumptions: + - countable products + - equalizers + conclusions: + - sequential limits + reason: See Mac Lane, V.2, Prop. 3. The proof can easily be adapted to this case. Namely, the limit of $\cdots \to X_2 \to X_1 \to X_0$ is the equalizer of two suitable endomorphisms of $\prod_{n \geq 0} X_n$. + is_equivalence: false + +- id: direct_implies_sequential_limits + assumptions: + - direct + conclusions: + - sequential limits + reason: Assume that $\cdots \to A_2 \to A_1 \to A_0$ is a sequence of morphisms. We will prove that almost all of them are identities, so that the sequence is eventually constant and the limit exists. Assume the opposite, i.e. that there are infinitely many $A_k \to A_{k-1}$ which are not the identity. Pick some $n_1$ such that $A_{n_1} \to A_{n_1 - 1}$ is not the identity, and let $n_0 := n_1 - 1$. If $A_{n_i} \to A_{n_{i-1}}$ has been constructed, there is some $n_{i+1} > n_i$ such that the composite $A_{n_{i+1}} \to A_{n_i}$ is not the identity, because otherwise it would follow inductively that all $A_{k+1} \to A_k$, $k \geq n_i$ would be identities, which would contradict our infiniteness assumption. This way we construct an infinite sequence of non-identity morphisms $A_{n_{i+1}} \to A_{n_i}$, a contradiction. + is_equivalence: false + +- id: finite_filtered_colimits + assumptions: + - Cauchy complete + - essentially finite + conclusions: + - filtered colimits + - filtered-colimit-stable monomorphisms + reason: We may assume that the category $\C$ is finite and Cauchy complete. The answer at MO/509853 shows that every filtered colimit in $\C$ exists, in fact it is a retract of one of the objects in the diagram. Now apply this to the morphism category of $\C$. It follows that for every filtered diagram of morphisms $X_i \to Y_i$ their colimit $X_\infty \to Y_\infty$ exists, which is a retract of one of the $X_i \to Y_i$. Therefore, if every $X_i \to Y_i$ is a monomorphism, also $X_\infty \to Y_\infty$ is a monomorphism. + is_equivalence: false + +- id: sifted_categories_are_connected + assumptions: + - connected colimits + conclusions: + - sifted colimits + reason: This is because every sifted category is connected. + is_equivalence: false + +- id: sifted_colimits_consequence + assumptions: + - sifted colimits + conclusions: + - filtered colimits + - reflexive coequalizers + reason: This is because filtered categories are sifted and because the index category for a reflexive coequalizer is sifted. + is_equivalence: false + +- id: sifted_colimits_criterion + assumptions: + - filtered colimits + - pullbacks + - reflexive coequalizers + conclusions: + - sifted colimits + reason: See Cor. 5.2 in Chen's paper. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/generators.yaml b/databases/catdat/data_yaml/category-implications/generators.yaml new file mode 100644 index 00000000..5957c4f3 --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/generators.yaml @@ -0,0 +1,28 @@ +# results on generators and generating sets + +- id: generator_consequence + assumptions: + - generator + conclusions: + - generating set + - inhabited + reason: This is trivial. + is_equivalence: false + +- id: generator_via_coproduct + assumptions: + - coproducts + - generating set + - zero morphisms + conclusions: + - generator + reason: "If $S$ is a generating set, we claim that $U := \\coprod_{G \\in S} G$ is a generator. Let $f,g : A \\rightrightarrows B$ be two morphisms with $f h = g h$ for all $h : U \\to A$. If $G \\in S$, any morphism $G \\to A$ extends to $U$ by using zero morphisms outside of $G$. Thus, $fh = gh$ holds for all $h : G \\to A$ and $G \\in S$. Since $S$ is a generating set, this implies $f = g$." + is_equivalence: false + +- id: free-algebra-generates + assumptions: + - finitary algebraic + conclusions: + - generator + reason: Pick an algebraic theory that represents the category. The free algebra $F(1)$ on one generator is a generator since morphisms $F(1) \to X$ correspond to the elements of (the underlying set of) the algebra $X$. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/groupoids.yaml b/databases/catdat/data_yaml/category-implications/groupoids.yaml new file mode 100644 index 00000000..02abedbc --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/groupoids.yaml @@ -0,0 +1,50 @@ +# results on groupoids + +- id: groupoid_consequence + assumptions: + - groupoid + conclusions: + - directed limits + - left cancellative + - mono-regular + - pullbacks + - self-dual + - well-powered + reason: This is easy. + is_equivalence: false + +- id: groupoid_criterion + assumptions: + - balanced + - left cancellative + - right cancellative + conclusions: + - groupoid + reason: This is trivial. + is_equivalence: false + +- id: groupoid_connected + assumptions: + - connected + - groupoid + conclusions: + - strongly connected + reason: This is trivial. + is_equivalence: false + +- id: groupoid_lcc + assumptions: + - groupoid + conclusions: + - locally cartesian closed + reason: Every slice category is a trivial category. + is_equivalence: false + +- id: groupoid_with_multi-terminal + assumptions: + - groupoid + - multi-terminal object + conclusions: + - thin + reason: Let $f,g\colon A \rightrightarrows B$ be a parallel pair of morphisms. Since the category has a multi-terminal object, the connected component containing $A$ and $B$ has a terminal object. But since the category is a groupoid, both $A$ and $B$ are terminal objects in the connected component, hence $f=g$. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/initial objects.yaml b/databases/catdat/data_yaml/category-implications/initial objects.yaml new file mode 100644 index 00000000..f0a5c233 --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/initial objects.yaml @@ -0,0 +1,45 @@ +# results on initial objects, zero objects, and strict initial objects + +- id: pointed_characterization + assumptions: + - pointed + conclusions: + - initial object + - zero morphisms + reason: This is easy. + is_equivalence: true + +- id: strict_initial_consequence + assumptions: + - strict initial object + conclusions: + - initial object + reason: This holds by definition. + is_equivalence: false + +- id: strict_initial_trivial + assumptions: + - pointed + - strict initial object + conclusions: + - trivial + reason: If $0$ is the zero object, then for every object $A$ the unique morphism $A \to 0$ is an isomorphism by assumption. + is_equivalence: false + +- id: strict_initial_left_criterion + assumptions: + - initial object + - left cancellative + conclusions: + - strict initial object + reason: "It suffices to prove that in general any monomorphism $f : A \\to 0$ into an initial object is an isomorphism. If $g : 0 \\to A$ is the unique morphism, then $f \\circ g = \\id_0$ since $0$ is initial. But then $f$ is a split epimorphism and a monomorphism, hence an isomorphism." + is_equivalence: false + +- id: strict_initial_right_criterion + assumptions: + - initial object + - right cancellative + conclusions: + - strict initial object + reason: "Let $f : A \\to 0$ be a morphism. Let $g : 0 \\to A$ be the unique morphism. It is an epimorphism by assumption. Also, $f \\circ g = \\id_0$ since $0$ is initial. But then $g$ is a split monomorphism and an epimorphism, hence an isomorphism." + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/mono-regular.yaml b/databases/catdat/data_yaml/category-implications/mono-regular.yaml new file mode 100644 index 00000000..1a08aedd --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/mono-regular.yaml @@ -0,0 +1,34 @@ +# results on mono-regular and normal categories + +- id: mono_regular_consequence + assumptions: + - mono-regular + conclusions: + - balanced + reason: Any regular monomorphism that is an epimorphism must be an isomorphism. + is_equivalence: false + +- id: normal_condition + assumptions: + - normal + conclusions: + - zero morphisms + reason: This is part of our definition of a normal category. + is_equivalence: false + +- id: mono_regular_via_kernels + assumptions: + - normal + conclusions: + - mono-regular + reason: This is trivial. + is_equivalence: false + +- id: normal_criterion + assumptions: + - mono-regular + - preadditive + conclusions: + - normal + reason: The a monomorphism is the equalizer of $f,g$, it is the kernel of $f-g$. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/products.yaml b/databases/catdat/data_yaml/category-implications/products.yaml new file mode 100644 index 00000000..2cc5d0ef --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/products.yaml @@ -0,0 +1,115 @@ +# results on products and powers + +- id: products_consequences + assumptions: + - products + conclusions: + - countable products + - finite products + - powers + reason: This is trivial. + is_equivalence: false + +- id: finite_products_characterization + assumptions: + - finite products + conclusions: + - binary products + - terminal object + reason: The non-trivial direction follows since finite products can be constructed recursively via $X_1 \times \cdots \times X_{n+1} = (X_1 \times \cdots \times X_n) \times X_{n+1}$. + is_equivalence: true + +- id: products_criterion + assumptions: + - cofiltered limits + - finite products + conclusions: + - products + reason: The product $\prod_{i \in I} X_i$ is the cofiltered limit of the finite partial products $\prod_{i \in E} X_i$ where $E$ ranges over the finite subsets of $I$. + is_equivalence: false + +- id: binary_products_criterion + assumptions: + - pullbacks + - terminal object + conclusions: + - binary products + reason: If $1$ is a terminal object, then $X \times_1 Y = X \times Y$. + is_equivalence: false + +- id: countable_products_consequence + assumptions: + - countable products + conclusions: + - countable powers + - finite products + reason: This is trivial. + is_equivalence: false + +- id: countable_products_criterion + assumptions: + - finite products + - sequential limits + conclusions: + - countable products + reason: If $X_1,X_2,\dotsc$ is an infinite sequence of objects, then their product is the limit of the sequence $\cdots \to X_2 \times X_1 \to X_1$. + is_equivalence: false + +- id: finite_products_include_finite_powers + assumptions: + - finite products + conclusions: + - finite powers + reason: This is trivial. + is_equivalence: false + +- id: binary_products_include_binary_powers + assumptions: + - binary products + conclusions: + - binary powers + reason: This is trivial. + is_equivalence: false + +- id: powers_include_countable_powers + assumptions: + - powers + conclusions: + - countable powers + reason: This is trivial. + is_equivalence: false + +- id: countable_powers_include_finite_powers + assumptions: + - countable powers + conclusions: + - finite powers + reason: This is trivial. + is_equivalence: false + +- id: finite_powers_consequences + assumptions: + - finite powers + conclusions: + - binary powers + - terminal object + reason: This is trivial. + is_equivalence: false + +- id: countable_powers_criterion + assumptions: + - finite powers + - sequential limits + conclusions: + - countable powers + reason: "We can write $X^{\\IN}$ as the limit of the sequence $\\cdots \\to X^3 \\to X^2 \\to X \\to 1$ with transition morphisms $f_n : X^{n+1} \\to X^n$, $(x_1,\\dotsc,x_{n+1}) \\mapsto (x_1,\\dotsc,x_n)$, i.e., $p_i f_n = p_i$ for $1 \\leq i \\leq n$." + is_equivalence: false + +- id: powers_criterion + assumptions: + - cofiltered limits + - finite powers + conclusions: + - powers + reason: The product $X^I$ is the cofiltered limit of the finite powers $X^E$, where $E$ ranges over the finite subsets of $I$. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/pullbacks.yaml b/databases/catdat/data_yaml/category-implications/pullbacks.yaml new file mode 100644 index 00000000..46e1e20a --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/pullbacks.yaml @@ -0,0 +1,37 @@ +# results on pullbacks and wide pullbacks + +- id: pullbacks_criterion + assumptions: + - binary products + - equalizers + conclusions: + - pullbacks + reason: "The pullback of $f : X \\to S$ and $g : Y \\to S$ is the equalizer of $p_1 \\circ f, \\, p_2 \\circ g : X \\times Y \\rightrightarrows S$." + is_equivalence: false + +- id: connected_limits_characterization + assumptions: + - connected limits + conclusions: + - equalizers + - wide pullbacks + reason: The direction $\Rightarrow$ is trivial. The direction $\Leftarrow$ can be found at the nLab. + is_equivalence: true + +- id: wide_pullbacks_criterion + assumptions: + - wide pullbacks + conclusions: + - cofiltered limits + - pullbacks + reason: To prove $\Leftarrow$, a wide pullback can be constructed as a cofiltered limit of finite pullbacks, and finite pullbacks can be reduced to binary pullbacks (the empty-indexed pullback always exists). Conversely, assume that wide pullbacks exist in $\C$. For every object $A$ then the slice category $\C / A$ has wide pullbacks and a terminal object, hence is complete. Since a cofiltered limit can be finally reduced to such a slice, we are done. + is_equivalence: true + +- id: wide_pullbacks_finite + assumptions: + - essentially finite + - pullbacks + conclusions: + - wide pullbacks + reason: Each slice category has finite products and is essentially finite, hence has all products by this result followed by this result. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/size.yaml b/databases/catdat/data_yaml/category-implications/size.yaml new file mode 100644 index 00000000..f7fdec12 --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/size.yaml @@ -0,0 +1,62 @@ +# results on small, locally small, finite, countable, etc. categories + +- id: small_consequence + assumptions: + - small + conclusions: + - essentially small + - locally small + reason: This is trivial. + is_equivalence: false + +- id: essentially_small_consequences + assumptions: + - essentially small + conclusions: + - generating set + - locally essentially small + - well-copowered + - well-powered + reason: This is trivial. + is_equivalence: false + +- id: finite_consequence + assumptions: + - finite + conclusions: + - countable + - essentially finite + reason: This is trivial. + is_equivalence: false + +- id: essentially_finite_raise + assumptions: + - essentially finite + conclusions: + - essentially countable + reason: This is trivial. + is_equivalence: false + +- id: countable_consequence + assumptions: + - countable + conclusions: + - essentially countable + reason: This is trivial. + is_equivalence: false + +- id: essentially_countable_consequence + assumptions: + - essentially countable + conclusions: + - essentially small + reason: This is trivial. + is_equivalence: false + +- id: locally_small_consequence + assumptions: + - locally small + conclusions: + - locally essentially small + reason: This is trivial. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/subobject classifiers.yaml b/databases/catdat/data_yaml/category-implications/subobject classifiers.yaml new file mode 100644 index 00000000..57ecd2c9 --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/subobject classifiers.yaml @@ -0,0 +1,80 @@ +# results on subobject classifiers and regular subobject classifiers + +- id: subobject_classifier_consequence + assumptions: + - subobject classifier + conclusions: + - finitely complete + - mono-regular + reason: "The first part holds by convention, and the second part: any monomorphism $U \\to X$ is the equalizer of $\\chi_U,\\chi_X : X \\rightrightarrows \\Omega$." + is_equivalence: false + +- id: subobject_classifier_well-powered + assumptions: + - locally essentially small + - subobject classifier + conclusions: + - well-powered + reason: See Mac Lane & Moerdijk, Prop. I.3.1. + is_equivalence: false + +- id: subobject_classifier_pointed_case + assumptions: + - pointed + - subobject classifier + conclusions: + - normal + reason: "The universal property of $\\top : 0 \\to \\Omega$ precisely says that every monomorphism $A \\to B$ is the kernel of a unique morphism $B \\to \\Omega$, so it is normal." + is_equivalence: false + +- id: additive_trivial_condition + assumptions: + - additive + - regular subobject classifier + conclusions: + - trivial + reason: See MSE/4086192. + is_equivalence: false + +- id: regular_subobjects_trivial + assumptions: + - finitely complete + - right cancellative + conclusions: + - regular subobject classifier + reason: In a right cancellative category, every regular monomorphism is an isomorphism, so that a terminal object is a regular subobject classifier. + is_equivalence: false + +- id: regular_subobject_weaker + assumptions: + - subobject classifier + conclusions: + - regular subobject classifier + reason: This is obvious. + is_equivalence: false + +- id: regular_subobject_assumption + assumptions: + - regular subobject classifier + conclusions: + - finitely complete + reason: This holds by definition. + is_equivalence: false + +- id: regular_subobjects_suffice + assumptions: + - mono-regular + - regular subobject classifier + conclusions: + - subobject classifier + reason: This is obvious. + is_equivalence: false + +- id: regular_subobject_classifier_strict + assumptions: + - regular subobject classifier + - strict terminal object + conclusions: + - thin + reason: "Let $\\Omega$ be a regular subobject classifier. Since $1$ is a strict terminal object, $\\top : 1 \\to \\Omega$ is an isomorphism. This implies that every regular monomorphism is an isomorphism. Hence, by taking the equalizer of two parallel morphisms, we see that the category is thin." + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/subobject-trivial.yaml b/databases/catdat/data_yaml/category-implications/subobject-trivial.yaml new file mode 100644 index 00000000..d2b4521f --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/subobject-trivial.yaml @@ -0,0 +1,44 @@ +# results on subobject-trivial categories + +- id: thin_subobject-trivial + assumptions: + - equalizers + - subobject-trivial + conclusions: + - thin + reason: "If $f,g : X \\rightrightarrows Y$ are morphisms, their equalizer is a monomorphism $E \\hookrightarrow X$, hence an isomorphism. But this means $f = g$." + is_equivalence: false + +- id: subobject-trivial_consequence + assumptions: + - subobject-trivial + conclusions: + - mono-regular + reason: This is trivial. + is_equivalence: false + +- id: subobject-trivial_groupoids + assumptions: + - groupoid + conclusions: + - subobject-trivial + reason: This is trivial. + is_equivalence: false + +- id: subobject-trivial_criterion + assumptions: + - epi-regular + - right cancellative + conclusions: + - subobject-trivial + reason: This is because a monomorphism which is also a regular epimorphism is an isomorphism. + is_equivalence: false + +- id: subobject_classifier_disallows_malcev + assumptions: + - Malcev + - subobject classifier + conclusions: + - subobject-trivial + reason: '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.)' + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/thin.yaml b/databases/catdat/data_yaml/category-implications/thin.yaml new file mode 100644 index 00000000..4d18f32f --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/thin.yaml @@ -0,0 +1,187 @@ +# results on thin categories and related notions: one-way, core-thin, direct + +- id: thin_consequences + assumptions: + - thin + conclusions: + - generating set + - locally essentially small + - one-way + reason: This is trivial. The empty set is generating. + is_equivalence: false + +- id: thin_consequence + assumptions: + - thin + conclusions: + - equalizers + - left cancellative + reason: Any two parallel morphisms are equal, so their equalizer is the identity, and every morphism is a monomorphism as well. + is_equivalence: false + +- id: thin_inhabited_consequence + assumptions: + - inhabited + - thin + conclusions: + - generator + reason: Any object will be a generator for trivial reasons. + is_equivalence: false + +- id: core-thin_products_thin + assumptions: + - binary powers + - core-thin + conclusions: + - thin + reason: "Let $X$ be any object. The swap $\\tau : X \\times X \\to X \\times X$ is an automorphism, hence equal to the identity. It follows that the projections $p_1,p_2 : X \\times X \\rightrightarrows X$ are the same. And this means that every two morphisms $Y \\rightrightarrows X$ are the same." + is_equivalence: false + +- id: thin_groupoids + assumptions: + - core-thin + - groupoid + conclusions: + - thin + reason: This is trivial. + is_equivalence: false + +- id: gaunt_characterization + assumptions: + - gaunt + conclusions: + - core-thin + - skeletal + reason: This is trivial. + is_equivalence: true + +- id: direct_implies_one-way + assumptions: + - direct + conclusions: + - one-way + - skeletal + reason: "The category is one-way since any non-identity endomorphism yields an infinite sequence of equal non-identity morphisms. The category is skeletal since any non-identity isomorphism $f : A \\to B$ yields the infinite sequence $\\dotsc,f^{-1},f,f^{-1},f$." + is_equivalence: false + +- id: one-way_zero + assumptions: + - one-way + - zero morphisms + conclusions: + - thin + reason: |- + If $f,g : A \rightrightarrows B$ are two morphisms, then since $0_{B,B} = \id_B$ we have + $$f = 0_{B,B} \circ f = 0_{A,B} = 0_{B,B} \circ g = g.$$ + is_equivalence: false + +- id: direct_criterion + assumptions: + - finite + - one-way + - skeletal + conclusions: + - direct + reason: See the nLab for a proof. + is_equivalence: false + +- id: one-way_implies_core-thin + assumptions: + - one-way + conclusions: + - core-thin + reason: This is trivial. + is_equivalence: false + +- id: freyd_small + assumptions: + - essentially small + - powers + conclusions: + - thin + reason: See Mac Lane, V.2, Prop. 3. The proof works for any category with powers. + is_equivalence: false + +- id: freyd_countable + assumptions: + - countable powers + - essentially countable + conclusions: + - thin + reason: Adjust the proof of Mac Lane, V.2, Prop. 3. + is_equivalence: false + +- id: freyd_finite + assumptions: + - essentially finite + - finite powers + conclusions: + - thin + reason: Adjust the proof of Mac Lane, V.2, Prop. 3. + is_equivalence: false + +- id: thin_finite_product_reduction + assumptions: + - essentially finite + - finite products + - thin + conclusions: + - products + reason: The category is equivalent to a finite preordered set. But then products are just infima, so that repetitions of objects do not matter, and every product can be reduced to a finite one. + is_equivalence: false + +- id: thin_countable_product_reduction + assumptions: + - countable products + - essentially countable + - thin + conclusions: + - products + reason: The category is equivalent to a countable preordered set. But then products are just infima, so that repetitions of objects do not matter, and every product can be reduced to a countable one. + is_equivalence: false + +- id: cocomplete_thin_criterion + assumptions: + - complete + - essentially small + - thin + conclusions: + - cocomplete + reason: The supremum of a subset in a (small) proset is the infimum of the set of upper bounds. + is_equivalence: false + +- id: thin_implies_regular + assumptions: + - finitely complete + - thin + conclusions: + - regular + reason: In a thin category, regular epimorphisms are isomorphisms, and the rest is clear as well. + is_equivalence: false + +- id: thin_zero_trivial + assumptions: + - inhabited + - thin + - zero morphisms + conclusions: + - trivial + reason: This is easy. + is_equivalence: false + +- id: thin_power + assumptions: + - terminal object + - thin + conclusions: + - powers + reason: This is because for non-empty set $I$ the power $X^I$ is just $X$. + is_equivalence: false + +- id: thin_binary_power + assumptions: + - thin + conclusions: + - binary powers + reason: This is because $X \times X = X$. + is_equivalence: false diff --git a/databases/catdat/data_yaml/category-implications/topos.yaml b/databases/catdat/data_yaml/category-implications/topos.yaml new file mode 100644 index 00000000..8e294228 --- /dev/null +++ b/databases/catdat/data_yaml/category-implications/topos.yaml @@ -0,0 +1,79 @@ +# general results on elementary topoi and Grothendieck topoi + +- id: topos_definition + assumptions: + - elementary topos + conclusions: + - cartesian closed + - finitely complete + - subobject classifier + reason: This holds by definition. + is_equivalence: true + +- id: topos_consequence + assumptions: + - elementary topos + conclusions: + - disjoint finite coproducts + - effective congruences + - epi-regular + - finitely cocomplete + reason: See Mac Lane & Moerdijk, Cor. IV.5.4, Cor. IV.10.5, Thm. 4.7.8; and Johnstone, Part A, Proposition 2.4.1. + is_equivalence: false + +- id: topos_well-copowered_criterion + assumptions: + - elementary topos + - locally essentially small + conclusions: + - well-copowered + reason: This follows from Mac Lane & Moerdijk, Theorem IV.7.8 (and Prop. I.3.1). + is_equivalence: false + +- id: topos_implies_coregular + assumptions: + - elementary topos + conclusions: + - coregular + reason: This is proven in Johnstone, A2.6.3 (for every quasitopos). + is_equivalence: false + +- id: grothendieck_topos_definition + assumptions: + - Grothendieck topos + conclusions: + - coproducts + - elementary topos + - generating set + - locally essentially small + reason: See Mac Lane & Moerdijk, Appendix, Prop. 4.4. + is_equivalence: true + +- id: grothendieck_topos_consequence + assumptions: + - Grothendieck topos + conclusions: + - cogenerator + - exact filtered colimits + - infinitary extensive + - locally presentable + reason: A Grothendieck topos is locally presentable by Prop. 3.4.16 in Handbook of Categorical Algebra Vol. 3, has a cogenerator (see nLab) and is infinitary extensive by Giraud's Theorem. To show that it has exact filtered colimits, first observe that this is clearly true in every presheaf topos (since $\Set$ has the property). Every Grothendieck topos is a full reflective subcategory of a presheaf topos such that the reflector preserves finite limits (nLab), so we conclude with this lemma. + is_equivalence: false + +- id: topos_is_locally_cartesian_closed + assumptions: + - elementary topos + conclusions: + - locally cartesian closed + reason: See Johnstone, Cor. A2.3.4. + is_equivalence: false + +- id: topos_no_stable_epis + assumptions: + - elementary topos + - cofiltered-limit-stable epimorphisms + - countable coproducts + conclusions: + - trivial + reason: 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$. + is_equivalence: false diff --git a/databases/catdat/scripts/generate-yaml.ts b/databases/catdat/scripts/generate-yaml.ts index 616c0b90..6980e4bf 100644 --- a/databases/catdat/scripts/generate-yaml.ts +++ b/databases/catdat/scripts/generate-yaml.ts @@ -8,32 +8,39 @@ import path from 'node:path' const db = get_client() -const lemmas = db - .prepare(`SELECT id, title, claim, proof FROM lemmas ORDER BY id`) +const implications_db = db + .prepare( + `SELECT id, assumptions, conclusions, reason, is_equivalence FROM category_implications_view`, + ) .all() as { id: string - title: string - claim: string - proof: string + assumptions: string + conclusions: string + reason: string + is_equivalence: number }[] -for (const lemma of lemmas) { - let file_content = YAML.stringify(lemma, { - indent: 2, - lineWidth: 2000, - }) +const implications = implications_db.map((impl) => ({ + id: impl.id, + assumptions: JSON.parse(impl.assumptions), + conclusions: JSON.parse(impl.conclusions), + reason: impl.reason, + is_equivalence: Boolean(impl.is_equivalence), +})) - file_content = file_content.replace('\ntitle:', '\n\ntitle:') - file_content = file_content.replace('\nclaim:', '\n\nclaim:') - file_content = file_content.replace('\nproof:', '\n\nproof:') +let file_content = YAML.stringify(implications, { + indent: 2, + lineWidth: 2000, +}) - const file_path = path.join( - process.cwd(), - 'databases', - 'catdat', - 'data_yaml', - 'lemmas', - `${lemma.id}.yaml`, - ) - fs.writeFileSync(file_path, file_content, 'utf8') -} +file_content = file_content.replaceAll('\n- id: ', '\n\n- id: ') + +const file_path = path.join( + process.cwd(), + 'databases', + 'catdat', + 'data_yaml', + 'implications', + `all.yaml`, +) +fs.writeFileSync(file_path, file_content, 'utf8') From 3cf8b914ef972d140543dd95113dd3bc2a34a5e9 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Fri, 8 May 2026 12:03:33 +0200 Subject: [PATCH 05/22] generate yaml files for functors, their properties and implications --- .../functor-implications/adjoints.yaml | 24 ++++ .../functor-implications/equivalences.yaml | 23 ++++ .../limits preservation.yaml | 121 ++++++++++++++++++ .../data_yaml/functor-implications/misc.yaml | 11 ++ .../functor-implications/monadic.yaml | 22 ++++ .../functor-properties/cocontinuous.yaml | 6 + .../coequalizer-preserving.yaml | 6 + .../functor-properties/cofinitary.yaml | 6 + .../functor-properties/comonadic.yaml | 6 + .../functor-properties/conservative.yaml | 6 + .../functor-properties/continuous.yaml | 6 + .../coproduct-preserving.yaml | 6 + .../epimorphism-preserving.yaml | 8 ++ .../equalizer-preserving.yaml | 6 + .../functor-properties/equivalence.yaml | 6 + .../essentially surjective.yaml | 6 + .../data_yaml/functor-properties/exact.yaml | 6 + .../functor-properties/faithful.yaml | 6 + .../functor-properties/finitary.yaml | 6 + .../finite-coproduct-preserving.yaml | 6 + .../finite-product-preserving.yaml | 6 + .../data_yaml/functor-properties/full.yaml | 6 + .../initial-object-preserving.yaml | 6 + .../functor-properties/left adjoint.yaml | 6 + .../functor-properties/left exact.yaml | 6 + .../data_yaml/functor-properties/monadic.yaml | 6 + .../monomorphism-preserving.yaml | 8 ++ .../product-preserving.yaml | 14 ++ .../functor-properties/representable.yaml | 6 + .../functor-properties/right adjoint.yaml | 6 + .../functor-properties/right exact.yaml | 6 + .../terminal-object-preserving.yaml | 6 + .../data_yaml/functors/abelianization.yaml | 26 ++++ .../data_yaml/functors/forget_vector.yaml | 26 ++++ .../catdat/data_yaml/functors/free_group.yaml | 26 ++++ .../catdat/data_yaml/functors/id_Set.yaml | 14 ++ .../functors/power_set_contravariant.yaml | 26 ++++ .../functors/power_set_covariant.yaml | 32 +++++ databases/catdat/scripts/generate-yaml.ts | 46 ------- 39 files changed, 525 insertions(+), 46 deletions(-) create mode 100644 databases/catdat/data_yaml/functor-implications/adjoints.yaml create mode 100644 databases/catdat/data_yaml/functor-implications/equivalences.yaml create mode 100644 databases/catdat/data_yaml/functor-implications/limits preservation.yaml create mode 100644 databases/catdat/data_yaml/functor-implications/misc.yaml create mode 100644 databases/catdat/data_yaml/functor-implications/monadic.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/cocontinuous.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/coequalizer-preserving.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/cofinitary.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/comonadic.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/conservative.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/continuous.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/coproduct-preserving.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/epimorphism-preserving.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/equalizer-preserving.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/equivalence.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/essentially surjective.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/exact.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/faithful.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/finitary.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/finite-coproduct-preserving.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/finite-product-preserving.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/full.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/initial-object-preserving.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/left adjoint.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/left exact.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/monadic.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/monomorphism-preserving.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/product-preserving.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/representable.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/right adjoint.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/right exact.yaml create mode 100644 databases/catdat/data_yaml/functor-properties/terminal-object-preserving.yaml create mode 100644 databases/catdat/data_yaml/functors/abelianization.yaml create mode 100644 databases/catdat/data_yaml/functors/forget_vector.yaml create mode 100644 databases/catdat/data_yaml/functors/free_group.yaml create mode 100644 databases/catdat/data_yaml/functors/id_Set.yaml create mode 100644 databases/catdat/data_yaml/functors/power_set_contravariant.yaml create mode 100644 databases/catdat/data_yaml/functors/power_set_covariant.yaml delete mode 100644 databases/catdat/scripts/generate-yaml.ts diff --git a/databases/catdat/data_yaml/functor-implications/adjoints.yaml b/databases/catdat/data_yaml/functor-implications/adjoints.yaml new file mode 100644 index 00000000..26415365 --- /dev/null +++ b/databases/catdat/data_yaml/functor-implications/adjoints.yaml @@ -0,0 +1,24 @@ +- id: right_adjoint_consequences + assumptions: + - right adjoint + source_assumptions: [] + target_assumptions: [] + conclusions: + - continuous + reason: This is standard, see Mac Lane, Ch. V, Theorem 5.1. + is_equivalence: false + +- id: saft + assumptions: + - continuous + source_assumptions: + - cogenerating set + - complete + - locally small + - well-powered + target_assumptions: + - locally small + conclusions: + - right adjoint + reason: This is the Special Adjoint Functor Theorem. The proof can be found, for example, at the nLab, or in Mac Lane, Ch. V, Theorem 8.2. + is_equivalence: false diff --git a/databases/catdat/data_yaml/functor-implications/equivalences.yaml b/databases/catdat/data_yaml/functor-implications/equivalences.yaml new file mode 100644 index 00000000..20289578 --- /dev/null +++ b/databases/catdat/data_yaml/functor-implications/equivalences.yaml @@ -0,0 +1,23 @@ +- id: equivalence_criterion + assumptions: + - essentially surjective + - faithful + - full + source_assumptions: [] + target_assumptions: [] + conclusions: + - equivalence + reason: This is standard, see Mac Lane, Ch. IV, Theorem 4.1. + is_equivalence: true + +- id: equivalence_consequences + assumptions: + - equivalence + source_assumptions: [] + target_assumptions: [] + conclusions: + - continuous + - monadic + - right adjoint + reason: This is easy. + is_equivalence: false diff --git a/databases/catdat/data_yaml/functor-implications/limits preservation.yaml b/databases/catdat/data_yaml/functor-implications/limits preservation.yaml new file mode 100644 index 00000000..5198250b --- /dev/null +++ b/databases/catdat/data_yaml/functor-implications/limits preservation.yaml @@ -0,0 +1,121 @@ +- id: continuous_consequences + assumptions: + - continuous + source_assumptions: [] + target_assumptions: [] + conclusions: + - cofinitary + - equalizer-preserving + - product-preserving + reason: This is trivial. + is_equivalence: false + +- id: products_consequences + assumptions: + - product-preserving + source_assumptions: [] + target_assumptions: [] + conclusions: + - finite-product-preserving + reason: This is trivial. + is_equivalence: false + +- id: finite_products_consequences + assumptions: + - finite-product-preserving + source_assumptions: [] + target_assumptions: [] + conclusions: + - terminal-object-preserving + reason: This is trivial. + is_equivalence: false + +- id: continuous_criterion + assumptions: + - equalizer-preserving + - product-preserving + source_assumptions: + - products + target_assumptions: [] + conclusions: + - continuous + reason: This follows from the construction of limits via equalizers and products, see Mac Lane, Ch. V, Theorem 2.2. + is_equivalence: false + +- id: continuous_criterion_filtered + assumptions: + - cofinitary + - left exact + source_assumptions: + - finitely complete + target_assumptions: [] + conclusions: + - continuous + reason: This is because every limit can be written as a filtered limit of finite limits, see Mac Lane, Ch. IX, Theorem 1.1. + is_equivalence: false + +- id: product_criterion_filtered + assumptions: + - cofinitary + - finite-product-preserving + source_assumptions: + - finite products + target_assumptions: [] + conclusions: + - product-preserving + reason: This is because every product can be written as a filtered limit of finite products, see Mac Lane, Ch. IX, Theorem 1.1. + is_equivalence: false + +- id: exact_definition + assumptions: + - exact + source_assumptions: [] + target_assumptions: [] + conclusions: + - left exact + - right exact + reason: This holds by definition. + is_equivalence: true + +- id: left_exact_consequences + assumptions: + - left exact + source_assumptions: [] + target_assumptions: [] + conclusions: + - finite-product-preserving + - terminal-object-preserving + reason: Both finite products and terminal objects are special cases of finite limits. + is_equivalence: false + +- id: left_exact_criterion + assumptions: + - equalizer-preserving + - finite-product-preserving + source_assumptions: + - finite products + target_assumptions: [] + conclusions: + - left exact + reason: This follows from the construction of finite limits via equalizers and finite products, see Mac Lane, Ch. V, Theorem 2.2. + is_equivalence: false + +- id: representable_is_continuous + assumptions: + - representable + source_assumptions: [] + target_assumptions: [] + conclusions: + - continuous + reason: This is standard, see Mac Lane, Ch. V, Theorem 4.1. + is_equivalence: false + +- id: left_exact_preserves_mono + assumptions: + - left exact + source_assumptions: [] + target_assumptions: [] + conclusions: + - monomorphism-preserving + reason: "This is because $f : X \\to Y$ is a monomorphism if and only the square displaying $\\id_Y \\circ f = \\id_Y \\circ f$ is a pullback square." + is_equivalence: false diff --git a/databases/catdat/data_yaml/functor-implications/misc.yaml b/databases/catdat/data_yaml/functor-implications/misc.yaml new file mode 100644 index 00000000..89f3b81c --- /dev/null +++ b/databases/catdat/data_yaml/functor-implications/misc.yaml @@ -0,0 +1,11 @@ +- id: faithful-via-equalizers + assumptions: + - conservative + - equalizer-preserving + source_assumptions: + - equalizers + target_assumptions: [] + conclusions: + - faithful + reason: "Let $f,g : X \\rightrightarrows Y$ be two morphisms in the source category, and choose an equalizer $E \\hookrightarrow X$. By assumption, $F(E) \\to F(X)$ is the equalizer of $F(f),F(g) : F(X) \\rightrightarrows F(Y)$. Thus, if $F(f) = F(g)$, then $F(E) \\to F(X)$ is an isomorphism. Since $F$ is conservative, $E \\to X$ is an isomorphism, which means $f = g$." + is_equivalence: false diff --git a/databases/catdat/data_yaml/functor-implications/monadic.yaml b/databases/catdat/data_yaml/functor-implications/monadic.yaml new file mode 100644 index 00000000..884541a2 --- /dev/null +++ b/databases/catdat/data_yaml/functor-implications/monadic.yaml @@ -0,0 +1,22 @@ +- id: monadic_consequences + assumptions: + - monadic + source_assumptions: [] + target_assumptions: [] + conclusions: + - conservative + - faithful + - right adjoint + reason: This is clear since for a monad $T$ the forgetful functor from the category of $T$-algebras has these properties. + is_equivalence: false + +- id: monadic_full_trivial + assumptions: + - full + - monadic + source_assumptions: [] + target_assumptions: [] + conclusions: + - equivalence + reason: 'Assume that $T$ is a monad on $\C$ such that the forgetful functor $U : \Alg(T) \to \C$ is full. Then by general facts about adjunctions (see MSE/1994963) the unit $\eta : \id_{\C} \to T$ is an isomorphism of functors. Then it is an isomorphism of monads, so that $U$ is an equivalence.' + is_equivalence: false diff --git a/databases/catdat/data_yaml/functor-properties/cocontinuous.yaml b/databases/catdat/data_yaml/functor-properties/cocontinuous.yaml new file mode 100644 index 00000000..62e33414 --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/cocontinuous.yaml @@ -0,0 +1,6 @@ +id: cocontinuous +relation: is +description: A functor is cocontinuous when it preserves all small colimits. +nlab_link: https://ncatlab.org/nlab/show/cocontinuous+functor +invariant_under_equivalences: true +dual_property_id: continuous diff --git a/databases/catdat/data_yaml/functor-properties/coequalizer-preserving.yaml b/databases/catdat/data_yaml/functor-properties/coequalizer-preserving.yaml new file mode 100644 index 00000000..fd199dfc --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/coequalizer-preserving.yaml @@ -0,0 +1,6 @@ +id: coequalizer-preserving +relation: is +description: "A functor $F$ preserves coequalizers when for every parallel pair of morphisms $f,g : A \\rightrightarrows B$ whose coequalizer $p : B \\to Q$ exists, also $F(p) : F(B) \\to F(Q)$ is an coequalizer of $F(f),F(g) : F(A) \\rightrightarrows F(B)$." +nlab_link: null +invariant_under_equivalences: true +dual_property_id: equalizer-preserving diff --git a/databases/catdat/data_yaml/functor-properties/cofinitary.yaml b/databases/catdat/data_yaml/functor-properties/cofinitary.yaml new file mode 100644 index 00000000..dd77592a --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/cofinitary.yaml @@ -0,0 +1,6 @@ +id: cofinitary +relation: is +description: A functor is cofinitary when it preserves cofiltered limits. +nlab_link: null +invariant_under_equivalences: true +dual_property_id: finitary diff --git a/databases/catdat/data_yaml/functor-properties/comonadic.yaml b/databases/catdat/data_yaml/functor-properties/comonadic.yaml new file mode 100644 index 00000000..9116fba5 --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/comonadic.yaml @@ -0,0 +1,6 @@ +id: comonadic +relation: is +description: "A functor $F : \\C \\to \\D$ is comonadic when there is a comonad $T$ on $\\D$ such that $F$ is equivalent to the forgetful functor $U^T : \\CoAlg(T) \\to \\D$." +nlab_link: https://ncatlab.org/nlab/show/comonadic+functor +invariant_under_equivalences: true +dual_property_id: monadic diff --git a/databases/catdat/data_yaml/functor-properties/conservative.yaml b/databases/catdat/data_yaml/functor-properties/conservative.yaml new file mode 100644 index 00000000..d5a4fbaf --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/conservative.yaml @@ -0,0 +1,6 @@ +id: conservative +relation: is +description: "A functor $F : \\C \\to \\D$ is conservative when it is isomorphic-reflecting: If $f$ is a morphism in $\\C$ such that $F(f)$ is an isomorphism, then $f$ is an isomorphism." +nlab_link: https://ncatlab.org/nlab/show/conservative+functor +invariant_under_equivalences: true +dual_property_id: conservative diff --git a/databases/catdat/data_yaml/functor-properties/continuous.yaml b/databases/catdat/data_yaml/functor-properties/continuous.yaml new file mode 100644 index 00000000..aaf81279 --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/continuous.yaml @@ -0,0 +1,6 @@ +id: continuous +relation: is +description: A functor is continuous when it preserves all small limits. +nlab_link: https://ncatlab.org/nlab/show/continuous+functor +invariant_under_equivalences: true +dual_property_id: cocontinuous diff --git a/databases/catdat/data_yaml/functor-properties/coproduct-preserving.yaml b/databases/catdat/data_yaml/functor-properties/coproduct-preserving.yaml new file mode 100644 index 00000000..ceb88207 --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/coproduct-preserving.yaml @@ -0,0 +1,6 @@ +id: coproduct-preserving +relation: is +description: A functor $F$ preserves coproducts when for every family of objects $(A_i)$ in the source whose coproduct $\prod_i A_i$ exists, also the coproduct $\coprod_i F(A_i)$ exists in the target and such that the canonical morphism $\coprod_i F(A_i) \to F(\coprod_i A_i)$ is an isomorphism. +nlab_link: null +invariant_under_equivalences: true +dual_property_id: product-preserving diff --git a/databases/catdat/data_yaml/functor-properties/epimorphism-preserving.yaml b/databases/catdat/data_yaml/functor-properties/epimorphism-preserving.yaml new file mode 100644 index 00000000..9e30b7a3 --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/epimorphism-preserving.yaml @@ -0,0 +1,8 @@ +id: epimorphism-preserving +relation: is +description: |- + A functor $F : \C \to \D$ preserves epimorphisms if every epimorphism in $\C$ is mapped to an epimorphism in $\D$.
+ This property is useful to rule out some adjunctions. +nlab_link: https://ncatlab.org/nlab/show/epimorphism +invariant_under_equivalences: true +dual_property_id: monomorphism-preserving diff --git a/databases/catdat/data_yaml/functor-properties/equalizer-preserving.yaml b/databases/catdat/data_yaml/functor-properties/equalizer-preserving.yaml new file mode 100644 index 00000000..f77665a5 --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/equalizer-preserving.yaml @@ -0,0 +1,6 @@ +id: equalizer-preserving +relation: is +description: "A functor $F$ preserves equalizers when for every parallel pair of morphisms $f,g : A \\rightrightarrows B$ whose equalizer $i : E \\to A$ exists, also $F(i) : F(E) \\to F(A)$ is an equalizer of $F(f),F(g) : F(A) \\rightrightarrows F(B)$." +nlab_link: null +invariant_under_equivalences: true +dual_property_id: coequalizer-preserving diff --git a/databases/catdat/data_yaml/functor-properties/equivalence.yaml b/databases/catdat/data_yaml/functor-properties/equivalence.yaml new file mode 100644 index 00000000..a8c05b7c --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/equivalence.yaml @@ -0,0 +1,6 @@ +id: equivalence +relation: is an +description: A functor is an equivalence if it has a pseudo-inverse functor. +nlab_link: https://ncatlab.org/nlab/show/equivalence+of+categories +invariant_under_equivalences: true +dual_property_id: equivalence diff --git a/databases/catdat/data_yaml/functor-properties/essentially surjective.yaml b/databases/catdat/data_yaml/functor-properties/essentially surjective.yaml new file mode 100644 index 00000000..65f4cc77 --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/essentially surjective.yaml @@ -0,0 +1,6 @@ +id: essentially surjective +relation: is +description: "A functor $F : \\C \\to \\D$ is essentially surjective when every object $Y \\in \\D$ is isomorphic to $F(X)$ for some $X \\in \\C$." +nlab_link: https://ncatlab.org/nlab/show/essentially+surjective+functor +invariant_under_equivalences: true +dual_property_id: essentially surjective diff --git a/databases/catdat/data_yaml/functor-properties/exact.yaml b/databases/catdat/data_yaml/functor-properties/exact.yaml new file mode 100644 index 00000000..c009ef26 --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/exact.yaml @@ -0,0 +1,6 @@ +id: exact +relation: is +description: A functor is exact when it is left exact and right exact. +nlab_link: https://ncatlab.org/nlab/show/exact+functor +invariant_under_equivalences: true +dual_property_id: exact diff --git a/databases/catdat/data_yaml/functor-properties/faithful.yaml b/databases/catdat/data_yaml/functor-properties/faithful.yaml new file mode 100644 index 00000000..61a5a0d8 --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/faithful.yaml @@ -0,0 +1,6 @@ +id: faithful +relation: is +description: "A functor is faithful when it is injective on Hom-sets: If $F(f)=F(g)$, then $f=g$." +nlab_link: https://ncatlab.org/nlab/show/faithful+functor +invariant_under_equivalences: true +dual_property_id: faithful diff --git a/databases/catdat/data_yaml/functor-properties/finitary.yaml b/databases/catdat/data_yaml/functor-properties/finitary.yaml new file mode 100644 index 00000000..c9717865 --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/finitary.yaml @@ -0,0 +1,6 @@ +id: finitary +relation: is +description: A functor is finitary when it preserves filtered colimits. +nlab_link: https://ncatlab.org/nlab/show/finitary+functor +invariant_under_equivalences: true +dual_property_id: cofinitary diff --git a/databases/catdat/data_yaml/functor-properties/finite-coproduct-preserving.yaml b/databases/catdat/data_yaml/functor-properties/finite-coproduct-preserving.yaml new file mode 100644 index 00000000..0c065b6c --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/finite-coproduct-preserving.yaml @@ -0,0 +1,6 @@ +id: finite-coproduct-preserving +relation: is +description: A functor $F$ preserves finite coproducts when for every family of objects $(A_i)$ in the source whose coproduct $\prod_i A_i$ exists, also the coproduct $\coprod_i F(A_i)$ exists in the target and such that the canonical morphism $\coprod_i F(A_i) \to F(\coprod_i A_i)$ is an isomorphism. +nlab_link: null +invariant_under_equivalences: true +dual_property_id: finite-product-preserving diff --git a/databases/catdat/data_yaml/functor-properties/finite-product-preserving.yaml b/databases/catdat/data_yaml/functor-properties/finite-product-preserving.yaml new file mode 100644 index 00000000..5f486d79 --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/finite-product-preserving.yaml @@ -0,0 +1,6 @@ +id: finite-product-preserving +relation: is +description: A functor $F$ preserves finite products when for every finite family of objects $(A_i)$ in the source whose product $\prod_i A_i$ exists, also the product $\prod_i F(A_i)$ exists in the target and such that the canonical morphism $F(\prod_i A_i) \to \prod_i F(A_i)$ is an isomorphism. +nlab_link: null +invariant_under_equivalences: true +dual_property_id: finite-coproduct-preserving diff --git a/databases/catdat/data_yaml/functor-properties/full.yaml b/databases/catdat/data_yaml/functor-properties/full.yaml new file mode 100644 index 00000000..5ffa2b8b --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/full.yaml @@ -0,0 +1,6 @@ +id: full +relation: is +description: "A functor is full when it is surjective on Hom-sets: Every morphism $F(A) \\to F(B)$ is induced by a morphism $A \\to B$." +nlab_link: https://ncatlab.org/nlab/show/full+functor +invariant_under_equivalences: true +dual_property_id: full diff --git a/databases/catdat/data_yaml/functor-properties/initial-object-preserving.yaml b/databases/catdat/data_yaml/functor-properties/initial-object-preserving.yaml new file mode 100644 index 00000000..d1e8cc26 --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/initial-object-preserving.yaml @@ -0,0 +1,6 @@ +id: initial-object-preserving +relation: is +description: A functor $F$ preserves initial objects when it maps every initial object to an initial object. It is not assumed that the source category has a initial object. +nlab_link: null +invariant_under_equivalences: true +dual_property_id: terminal-object-preserving diff --git a/databases/catdat/data_yaml/functor-properties/left adjoint.yaml b/databases/catdat/data_yaml/functor-properties/left adjoint.yaml new file mode 100644 index 00000000..0f8bb079 --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/left adjoint.yaml @@ -0,0 +1,6 @@ +id: left adjoint +relation: is a +description: "A functor $F : \\C \\to \\D$ is a left adjoint when there is a functor $G : \\D \\to \\C$ such that there are natural bijections $\\Hom(F(A),B) \\cong \\Hom(A,G(B))$." +nlab_link: https://ncatlab.org/nlab/show/left+adjoint +invariant_under_equivalences: true +dual_property_id: right adjoint diff --git a/databases/catdat/data_yaml/functor-properties/left exact.yaml b/databases/catdat/data_yaml/functor-properties/left exact.yaml new file mode 100644 index 00000000..bf423663 --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/left exact.yaml @@ -0,0 +1,6 @@ +id: left exact +relation: is +description: A functor is left exact when it preserves finite limits. +nlab_link: https://ncatlab.org/nlab/show/exact+functor +invariant_under_equivalences: true +dual_property_id: right exact diff --git a/databases/catdat/data_yaml/functor-properties/monadic.yaml b/databases/catdat/data_yaml/functor-properties/monadic.yaml new file mode 100644 index 00000000..91e6a84d --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/monadic.yaml @@ -0,0 +1,6 @@ +id: monadic +relation: is +description: "A functor $F : \\C \\to \\D$ is monadic when there is a monad $T$ on $\\D$ such that $F$ is equivalent to the forgetful functor $U^T : \\Alg(T) \\to \\D$." +nlab_link: https://ncatlab.org/nlab/show/monadic+functor +invariant_under_equivalences: true +dual_property_id: comonadic diff --git a/databases/catdat/data_yaml/functor-properties/monomorphism-preserving.yaml b/databases/catdat/data_yaml/functor-properties/monomorphism-preserving.yaml new file mode 100644 index 00000000..21d2fd89 --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/monomorphism-preserving.yaml @@ -0,0 +1,8 @@ +id: monomorphism-preserving +relation: is +description: |- + A functor $F : \C \to \D$ preserves monomorphisms if every monomorphism in $\C$ is mapped to a monomorphism in $\D$.
+ This property is useful to rule out some adjunctions. +nlab_link: https://ncatlab.org/nlab/show/monomorphism +invariant_under_equivalences: true +dual_property_id: epimorphism-preserving diff --git a/databases/catdat/data_yaml/functor-properties/product-preserving.yaml b/databases/catdat/data_yaml/functor-properties/product-preserving.yaml new file mode 100644 index 00000000..ba3838c2 --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/product-preserving.yaml @@ -0,0 +1,14 @@ +id: product-preserving +relation: is +description: A functor $F$ preserves products when for every family of objects $(A_i)$ in the source whose product $\prod_i A_i$ exists, also the product $\prod_i F(A_i)$ exists in the target and such that the canonical morphism $F(\prod_i A_i) \to \prod_i F(A_i)$ is an isomorphism. +nlab_link: null +invariant_under_equivalences: true +dual_property_id: coproduct-preserving + +# Here is why we do not call this property "preserves products": +# Either we name the property "preserves products" and choose the +# empty relation '' (instead of 'is'). But then negations will not be +# formatted properly ("does not preserves products"). +# Or we name property "products" and choose the relation 'preserves'. +# But then we will never be able to add the properties of "reflecting products", +# "creating products", etc. diff --git a/databases/catdat/data_yaml/functor-properties/representable.yaml b/databases/catdat/data_yaml/functor-properties/representable.yaml new file mode 100644 index 00000000..7f2142be --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/representable.yaml @@ -0,0 +1,6 @@ +id: representable +relation: is +description: "A functor $F : \\C \\to \\D$ is representable if $\\C$ is locally small, $\\D = \\Set$, and there is an object $A \\in \\C$ with $F \\cong \\Hom(A,-)$." +nlab_link: https://ncatlab.org/nlab/show/representable+functor +invariant_under_equivalences: true +dual_property_id: null diff --git a/databases/catdat/data_yaml/functor-properties/right adjoint.yaml b/databases/catdat/data_yaml/functor-properties/right adjoint.yaml new file mode 100644 index 00000000..55cb416a --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/right adjoint.yaml @@ -0,0 +1,6 @@ +id: right adjoint +relation: is a +description: "A functor $F : \\C \\to \\D$ is a right adjoint when there is a functor $G : \\D \\to \\C$ such that there are natural bijections $\\Hom(G(A),B) \\cong \\Hom(A,F(B))$." +nlab_link: https://ncatlab.org/nlab/show/right+adjoint +invariant_under_equivalences: true +dual_property_id: left adjoint diff --git a/databases/catdat/data_yaml/functor-properties/right exact.yaml b/databases/catdat/data_yaml/functor-properties/right exact.yaml new file mode 100644 index 00000000..167d2896 --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/right exact.yaml @@ -0,0 +1,6 @@ +id: right exact +relation: is +description: A functor is right exact when it preserves finite colimits. +nlab_link: https://ncatlab.org/nlab/show/exact+functor +invariant_under_equivalences: true +dual_property_id: left exact diff --git a/databases/catdat/data_yaml/functor-properties/terminal-object-preserving.yaml b/databases/catdat/data_yaml/functor-properties/terminal-object-preserving.yaml new file mode 100644 index 00000000..f4a06c67 --- /dev/null +++ b/databases/catdat/data_yaml/functor-properties/terminal-object-preserving.yaml @@ -0,0 +1,6 @@ +id: terminal-object-preserving +relation: is +description: A functor $F$ preserves terminal objects when it maps every terminal object to a terminal object. It is not assumed that the source category has a terminal object. +nlab_link: null +invariant_under_equivalences: true +dual_property_id: initial-object-preserving diff --git a/databases/catdat/data_yaml/functors/abelianization.yaml b/databases/catdat/data_yaml/functors/abelianization.yaml new file mode 100644 index 00000000..fda28d30 --- /dev/null +++ b/databases/catdat/data_yaml/functors/abelianization.yaml @@ -0,0 +1,26 @@ +id: abelianization +name: abelianization functor for groups +source: Grp +target: Ab +description: This functor maps a group $G$ to its abelianization $G^{\ab} := G/[G,G]$. +nlab_link: https://ncatlab.org/nlab/show/abelianization + +satisfied_properties: + - property_id: essentially surjective + reason: For abelian groups $G$ we have $G \cong G^{\ab}$. + - property_id: finite-product-preserving + reason: See MO/386144. + - property_id: left adjoint + reason: This functor is left adjoint to the forgetful functor. + +unsatisfied_properties: + - property_id: conservative + reason: The proper inclusion $S_3 \hookrightarrow S_4$ gets mapped to the trivial homomorphism $1 \to 1$, which is an isomorphism. + - property_id: faithful + reason: Both the inclusion $A_3 \hookrightarrow S_3$ and the trivial homomorphism $A_3 \to S_3$ are mapped to the trivial homomorphism $A_3 \to 1$. + - property_id: full + reason: See MSE/716686. + - property_id: monomorphism-preserving + reason: The monomorphism $A_3 \hookrightarrow S_3$ is mapped to $A_3 \to 1$. + - property_id: product-preserving + reason: 'If $G$ is a group, the canonical homomorphism $(G^{\IN})^{\ab} \to (G^{\ab})^{\IN}$ is surjective, but does not need to be an isomorphism: otherwise, the inclusion $[G^{\IN}, G^{\IN}] \subseteq [G,G]^{\IN}$ would be an equality. But this requires the commutator width of $G$ to be finite, which fails for $G = F_2$ for instance. See also The abelianization of inverse limits of groups, Remark 0.0.7.' diff --git a/databases/catdat/data_yaml/functors/forget_vector.yaml b/databases/catdat/data_yaml/functors/forget_vector.yaml new file mode 100644 index 00000000..4b193d5f --- /dev/null +++ b/databases/catdat/data_yaml/functors/forget_vector.yaml @@ -0,0 +1,26 @@ +id: forget_vector +name: forgetful functor for vector spaces +source: Vect +target: Set +description: This functor $U$ maps a vector space $V$ (over a fixed field $K$) to its underlying set $U(V)$. +nlab_link: https://ncatlab.org/nlab/show/forgetful+functor + +satisfied_properties: + - property_id: conservative + reason: It is standard that the inverse of a bijective linear map is also linear. + - property_id: epimorphism-preserving + reason: This follows from the classifications of epimorphisms in the category of vector spaces and in the category of sets. + - property_id: finitary + reason: For every algebraic category the forgetful functor to the category of sets preserves filtered colimits. + - property_id: monadic + reason: For every algebraic category the forgetful functor to the category of sets is monadic. + - property_id: representable + reason: This functor is represented by any $1$-dimensional vector space. + +unsatisfied_properties: + - property_id: coequalizer-preserving + reason: "The coequalizer of $0,i_1 : K \\to K^2$ in $\\Vect$ is $p_2 : K^2 \\to K$, but the coequalizer in $\\Set$ is $(K \\times K^*) \\cup \\{(0,0)\\}$." + - property_id: essentially surjective + reason: The empty has has no vector space structure. + - property_id: initial-object-preserving + reason: The underlying set of a trivial vector space is not empty. diff --git a/databases/catdat/data_yaml/functors/free_group.yaml b/databases/catdat/data_yaml/functors/free_group.yaml new file mode 100644 index 00000000..5397ab9a --- /dev/null +++ b/databases/catdat/data_yaml/functors/free_group.yaml @@ -0,0 +1,26 @@ +id: free_group +name: free group functor +source: Set +target: Grp +description: This functor maps a set $X$ to the free group $F(X)$ on that set. +nlab_link: https://ncatlab.org/nlab/show/free+functor + +satisfied_properties: + - property_id: conservative + reason: "Let $f : X \\to Y$ be a map of sets such that $F(f) : F(X) \\to F(Y)$ is an isomorphism of groups. We know that $F$ is faithful, so that it reflects monomorphisms. Thus, $f$ is injective. Choose a complement $U \\subseteq Y$ of $f(X) \\subseteq Y$. Then $F(X) \\to F(Y) = F(X) \\sqcup F(U)$ is an isomorphism. This implies $F(U)=1$ and hence $U = \\varnothing$." + - property_id: faithful + reason: A left adjoint is faithful if and only if its unit consists of monomorphisms. So we only need to check that every set embeds into (the underlying set of) its free group. But this is clear since $X$ already embeds into the free abelian group $\IZ^{\oplus X}$, which is a quotient of the free group. + - property_id: left adjoint + reason: This functor is left adjoint to the forgetful functor. + - property_id: monomorphism-preserving + reason: "This can be deduced from the description of the elements of a free group, but here is an abstract argument: Split monomorphisms are preserved by any functor. The only injective maps in $\\Set$ that are not split are $\\varnothing \\hookrightarrow X$ (for non-empty $X$), and $F(\\varnothing) \\to F(X)$ is injective since $F(\\varnothing)$ is the trivial group." + +unsatisfied_properties: + - property_id: equalizer-preserving + reason: "Let $f,g : \\{a,b\\} \\rightrightarrows \\{c,d\\}$ be the two constant maps, $f \\equiv c$, $g \\equiv d$. Their equalizer is empty, and the free group on that equalizer is trivial. Now consider the induced group homomorphisms $F(f), F(g) : F(\\{a,b\\}) \\rightrightarrows F(\\{c,d\\})$ and observe that $a \\cdot b^{-1}$ lies in the kernel of both homomorphisms, hence in their equalizer." + - property_id: essentially surjective + reason: Not every group is free (consider $\IZ/2$). + - property_id: full + reason: The map $1 = \Hom(1,1) \to \Hom(F(1),F(1)) = \Hom(\IZ,\IZ) = \IZ$ is not surjective. + - property_id: terminal-object-preserving + reason: The free group of rank $1$ is not the trivial group. diff --git a/databases/catdat/data_yaml/functors/id_Set.yaml b/databases/catdat/data_yaml/functors/id_Set.yaml new file mode 100644 index 00000000..bce366bc --- /dev/null +++ b/databases/catdat/data_yaml/functors/id_Set.yaml @@ -0,0 +1,14 @@ +id: id_Set +name: identity functor on the category of sets +source: Set +target: Set +description: Every category $\C$ has an identity functor $\id_{\C}$. Here, we specify that it is for the category of sets. +nlab_link: https://ncatlab.org/nlab/show/identity+functor + +satisfied_properties: + - property_id: equivalence + reason: This is trivial. + - property_id: representable + reason: This functor is represented by any singleton set. + +unsatisfied_properties: [] diff --git a/databases/catdat/data_yaml/functors/power_set_contravariant.yaml b/databases/catdat/data_yaml/functors/power_set_contravariant.yaml new file mode 100644 index 00000000..8ab3ac7f --- /dev/null +++ b/databases/catdat/data_yaml/functors/power_set_contravariant.yaml @@ -0,0 +1,26 @@ +id: power_set_contravariant +name: contravariant power set functor +source: Set_op +target: Set +description: "This functor maps a set $X$ to its power set $P(X)$ and a map of sets $f : X \\to Y$ to the induced preimage operator $f^* : P(Y) \\to P(X)$." +nlab_link: https://ncatlab.org/nlab/show/power+set + +satisfied_properties: + - property_id: epimorphism-preserving + reason: "If $f : X \\to Y$ is injective, then $f^* : P(Y) \\to P(X)$ is surjective, since for all $A \\subseteq X$ we have $A = f^*(f_*(A))$." + - property_id: monadic + reason: See Johnstone, Theorem 2.2.7. + - property_id: representable + reason: This is because there are natural bijections $P(X) \cong \Hom(X,2)$, sending a subset to its characteristic function. + +unsatisfied_properties: + - property_id: coequalizer-preserving + reason: "The power set functor preserves reflexive coequalizers, but not all coequalizers, i.e. there are maps $f,g : Y \\to X$ with equalizer $E \\subseteq Y$ such that $P(Y) \\twoheadrightarrow P(E)$ is not the coequalizer of $f^*,g^* : P(X) \\to P(Y)$: Let $X=\\{0,1\\}$ and $Y=\\{a,b,c\\}$. Define maps $f,g:Y\\to X$ by $f(a)=0$, $f(b)=0$, $f(c)=1$ and $g(a)=0$, $g(b)=1$, $g(c)=0$. Their equalizer is $E = \\{a\\}$, so that $P(E)$ has $2$ elements. For $S=\\{0\\}$ one has $f^*(S)=\\{a,b\\}$, $g^*(S)=\\{a,c\\}$, and for $S=\\{1\\}$ one has $f^*(S)=\\{c\\}$, $g^*(S)=\\{b\\}$. Thus the coequalizer of $f^*,g^*$ is obtained from $P(Y)$ by imposing the two relations $\\{a,b\\} \\sim \\{a,c\\}$ and $\\{c\\} \\sim \\{b\\}$. But then it as $8-2 = 6$ elements." + - property_id: essentially surjective + reason: The initial object does not lie in the essential image since $P(X) \neq 0$ for all $X$. + - property_id: finitary + reason: Consider the sequence of projections $\cdots \twoheadrightarrow \{0,1\}^2 \twoheadrightarrow \{0,1\}^1$. Its limit in $\Set$ (i.e. colimit in $\Set^{\op}$) is $\{0,1\}^{\IN}$, which is uncountable, so that $P(\{0,1\}^{\IN})$ is also uncountable. But the colimit of the induced diagram $P(\{0,1\}^1) \hookrightarrow P(\{0,1\}^2) \hookrightarrow \cdots$ is countable since each $P(\{0,1\}^n)$ is finite. + - property_id: full + reason: "The maps $f^* : P(Y) \\to P(X)$ preserve the empty set, so take the constant map $P(X) \\to P(X)$, $T \\mapsto X$ for instance (where $X$ is non-empty)." + - property_id: initial-object-preserving + reason: In fact, the initial object does not even lie in the essential image since $P(X) \neq 0$ for all $X$. diff --git a/databases/catdat/data_yaml/functors/power_set_covariant.yaml b/databases/catdat/data_yaml/functors/power_set_covariant.yaml new file mode 100644 index 00000000..db7a24cf --- /dev/null +++ b/databases/catdat/data_yaml/functors/power_set_covariant.yaml @@ -0,0 +1,32 @@ +id: power_set_covariant +name: covariant power set functor +source: Set +target: Set +description: "This functor maps a set $X$ to its power set $P(X)$ and a map of sets $f : X \\to Y$ to the induced image operator $f_* : P(X) \\to P(Y)$." +nlab_link: https://ncatlab.org/nlab/show/power+set + +satisfied_properties: + - property_id: conservative + reason: "Assume that $f : X \\to Y$ is a map such that $f_* : P(X) \\to P(Y)$ is an isomorphism. There is some $A \\subseteq X$ with $Y = f_*(A)$, this proves that $f$ is surjective. It is also injective: If $x,y \\in X$ satisfy $f(x) = f(y)$, then $f_*(\\{x\\}) = f_*(\\{y\\})$, and hence $\\{x\\} = \\{y\\}$, i.e. $x = y$." + - property_id: epimorphism-preserving + reason: "If $f : X \\to Y$ is surjective, then $f_* \\circ f^* = \\id_{P(Y)}$, so that $f^*$ is surjective." + - property_id: faithful + reason: "Let $f,g : X \\rightrightarrows Y$ be two maps with $f_* = g_* : P(X) \\rightrightarrows P(Y)$. Then $\\{f(x)\\} = f_*(\\{x\\}) = g_*(\\{x\\}) = \\{g(x)\\}$ and hence $f(x) = g(x)$ for all $x \\in X$." + - property_id: monomorphism-preserving + reason: "If $f : X \\to Y$ is injective, then $f^* \\circ f_* = \\id_{P(X)}$, so that $f_*$ is injective." + +unsatisfied_properties: + - property_id: coequalizer-preserving + reason: "Let $X := \\{x,y\\}$. Consider the two maps $x,y : \\{0\\} \\rightrightarrows X$. Their coequalizer $Q = X / (x = y)$ has just one element, so that $P(Q)$ has two elements. The induced maps $x_*,y_* : P(\\{0\\}) \\rightrightarrows P(X)$ (which already agree on the empty set) have coequalizer $P(X) / (\\{x\\} = \\{y\\})$, which has $3$ elements. So it cannot be $P(Q)$." + - property_id: equalizer-preserving + reason: "Any pair of distinct surjective maps $f,g : X \\rightrightarrows Y$ provides a counterexample: Their equalizer $E$ is a proper subset of $X$, so that $P(E)$ cannot contain $X$. But $f_*(X) = Y = g_*(X)$ shows that $X$ is contained in the equalizer of $f_*,g_* : P(X) \\rightrightarrows P(Y)$." + - property_id: essentially surjective + reason: Every power set is non-empty. + - property_id: finitary + reason: The filtered colimit $\IN = \bigcup_{n \geq 0} \IN_{\leq n}$ is not preserved by $P$, since $\bigcup_{n \geq 0} P(\IN_{\leq n})$ just consists of the finite subsets of $\IN$. + - property_id: full + reason: Take any map $P(X) \to P(X)$ that does not preserve the empty set, say the constant map with value $X$ (for $X \neq \varnothing$). + - property_id: initial-object-preserving + reason: We have $2^0 \neq 0$. + - property_id: terminal-object-preserving + reason: We have $2^1 \neq 1$. diff --git a/databases/catdat/scripts/generate-yaml.ts b/databases/catdat/scripts/generate-yaml.ts deleted file mode 100644 index 6980e4bf..00000000 --- a/databases/catdat/scripts/generate-yaml.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { get_client } from './shared' -import YAML from 'yaml' -import fs from 'node:fs' -import path from 'node:path' - -// TEMPORARY SCRIPT TO GENERATE THE YAML FILES FOR ALL SQL SEED DATA -// THE CODE IS UGLY ON PURPOSE. - -const db = get_client() - -const implications_db = db - .prepare( - `SELECT id, assumptions, conclusions, reason, is_equivalence FROM category_implications_view`, - ) - .all() as { - id: string - assumptions: string - conclusions: string - reason: string - is_equivalence: number -}[] - -const implications = implications_db.map((impl) => ({ - id: impl.id, - assumptions: JSON.parse(impl.assumptions), - conclusions: JSON.parse(impl.conclusions), - reason: impl.reason, - is_equivalence: Boolean(impl.is_equivalence), -})) - -let file_content = YAML.stringify(implications, { - indent: 2, - lineWidth: 2000, -}) - -file_content = file_content.replaceAll('\n- id: ', '\n\n- id: ') - -const file_path = path.join( - process.cwd(), - 'databases', - 'catdat', - 'data_yaml', - 'implications', - `all.yaml`, -) -fs.writeFileSync(file_path, file_content, 'utf8') From 79cd25cfec4a429bfc2e5fc78c781054f2e4cb33 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Fri, 8 May 2026 11:36:10 +0200 Subject: [PATCH 06/22] save comments from deprecated sql files --- databases/catdat/data_yaml/categories/Grp.yaml | 1 + databases/catdat/data_yaml/categories/Man.yaml | 1 + databases/catdat/data_yaml/categories/Mon.yaml | 1 + databases/catdat/data_yaml/categories/Rng.yaml | 1 + databases/catdat/data_yaml/categories/SemiGrp.yaml | 2 ++ databases/catdat/data_yaml/categories/Set_pointed.yaml | 2 ++ databases/catdat/data_yaml/categories/Top_pointed.yaml | 7 ++++--- .../data_yaml/categories/walking_coreflexive_pair.yaml | 1 + .../data_yaml/category-implications/filtered colimits.yaml | 2 ++ 9 files changed, 15 insertions(+), 3 deletions(-) diff --git a/databases/catdat/data_yaml/categories/Grp.yaml b/databases/catdat/data_yaml/categories/Grp.yaml index baaa18d1..c38bf5c1 100644 --- a/databases/catdat/data_yaml/categories/Grp.yaml +++ b/databases/catdat/data_yaml/categories/Grp.yaml @@ -55,6 +55,7 @@ unsatisfied_properties: reason: The canonical morphism $F_2 = \IZ \sqcup \IZ \to \IZ \times \IZ$ is not a monomorphism since $F_2$ is not abelian. - property_id: CIP + # TODO: remove code duplication with "counital" proof reason: The canonical morphism $F_2 = \IZ \sqcup \IZ \to \IZ \times \IZ$ is not a monomorphism since $F_2$ is not abelian. - property_id: regular quotient object classifier diff --git a/databases/catdat/data_yaml/categories/Man.yaml b/databases/catdat/data_yaml/categories/Man.yaml index 5bc694c3..0ae46edd 100644 --- a/databases/catdat/data_yaml/categories/Man.yaml +++ b/databases/catdat/data_yaml/categories/Man.yaml @@ -32,6 +32,7 @@ satisfied_properties: reason: "[Sketch] Since $\\Top$ is infinitary extensive, a continuous map $f : M \\to \\coprod_i N_i$ corresponds to a decomposition $M = \\coprod_i M_i$ (as topological spaces) with continuous maps $f_i : M_i \\to N_i$. Endow the open subset $M_i \\subseteq M$ with the smooth structure inherited from $M$. Now remark that $f$ is smooth iff each $f_i$ is smooth." - property_id: countably distributive + # TODO: maybe add "countably extensive" to make this more conceptual reason: To construct countable coproducts, take the usual disjoint union of spaces, which is clearly locally Euclidean and Hausdorff, and it is second countable since we are using only countable many spaces. (Without that condition, all coproducts would exist.) Now we need to check that the canonical smooth map $\coprod_i X \times Y_i \to X \times \coprod_i Y_i$ is a diffeomorphism (for countable families). It is a homeomorphism since $\Top$ is infinitary distributive. The inverse $X \times \coprod_i Y_i \to \coprod_i X \times Y_i$ is smooth since the domain is covered by the open subsets $X \times Y_i$ on which the map is clearly smooth. - property_id: Cauchy complete diff --git a/databases/catdat/data_yaml/categories/Mon.yaml b/databases/catdat/data_yaml/categories/Mon.yaml index 8f532d73..f1ce63a6 100644 --- a/databases/catdat/data_yaml/categories/Mon.yaml +++ b/databases/catdat/data_yaml/categories/Mon.yaml @@ -45,6 +45,7 @@ unsatisfied_properties: reason: The canonical morphism $\IN \sqcup \IN \to \IN \times \IN$ is not a monomorphism since $\IN \sqcup \IN$ is not commutative. - property_id: CIP + # TODO: remove code duplication with "counital" proof reason: The canonical morphism $\IN \sqcup \IN \to \IN \times \IN$ is not a monomorphism since $\IN \sqcup \IN$ is not commutative. - property_id: coregular diff --git a/databases/catdat/data_yaml/categories/Rng.yaml b/databases/catdat/data_yaml/categories/Rng.yaml index 45af3658..a96bbd99 100644 --- a/databases/catdat/data_yaml/categories/Rng.yaml +++ b/databases/catdat/data_yaml/categories/Rng.yaml @@ -42,6 +42,7 @@ unsatisfied_properties: reason: If $\IZ\langle X_1,\dotsc,X_n \rangle_0$ denotes the free rng on $n$ generators (non-commutative polynomials without constant term), then the canonical homomorphism $\IZ\langle X,Y \rangle_0 = \IZ\langle X \rangle_0 \sqcup \IZ\langle Y \rangle_0 \to \IZ\langle X \rangle_0 \times \IZ\langle Y \rangle_0$ is not a monomorphism since $\IZ\langle X,Y \rangle_0$ is not commutative. - property_id: CIP + # TODO: remove code duplication with "counital" proof reason: If $\IZ\langle X_1,\dotsc,X_n \rangle_0$ denotes the free rng on $n$ generators (non-commutative polynomials without constant term), then the canonical homomorphism $\IZ\langle X,Y \rangle_0 = \IZ\langle X \rangle_0 \sqcup \IZ\langle Y \rangle_0 \to \IZ\langle X \rangle_0 \times \IZ\langle Y \rangle_0$ is not a monomorphism since $\IZ\langle X,Y \rangle_0$ is not commutative. - property_id: regular subobject classifier diff --git a/databases/catdat/data_yaml/categories/SemiGrp.yaml b/databases/catdat/data_yaml/categories/SemiGrp.yaml index 22ca40ad..b77a91ef 100644 --- a/databases/catdat/data_yaml/categories/SemiGrp.yaml +++ b/databases/catdat/data_yaml/categories/SemiGrp.yaml @@ -55,6 +55,8 @@ unsatisfied_properties: Let $A$ be the set of positive rational numbers of the form $m/2^n$ (with $m > 0$, $n \geq 0$), and let $B$ be the set of positive rational numbers of the form $m/3^n$ (with $m > 0$, $n \geq 0$). Both are semigroups under addition. The element $1 \in A$ is $2^\infty$-divisible, meaning that for every $n \geq 0$ there is some $a \in A$ with $1 = 2^n \cdot a$. But $B$ has no $2^\infty$-divisible element. Hence, there is no semigroup homomorphism $A \to B$. Likewise, there is no semigroup homomorphism $B \to A$. - property_id: cogenerating set + # TODO: find a variant of the lemma missing_cogenerating_sets + # (or missing_cogenerator) which handles this. reason: |- The proof is similar to the proof for $\Grp$. Assume that there is a cogenerating set $S$. There is an infinite simple group $G$ larger than all the semigroups in $S$ (such as an alternating group). Since $\id_G, 1 : G \rightrightarrows G$ are different, there is a semigroup $H \in S$ and a homomorphism of semigroups $f : G \to H$ with $f \neq f \circ 1$. Then $$N := \{g \in G : f(g) = f(1)\}$$ diff --git a/databases/catdat/data_yaml/categories/Set_pointed.yaml b/databases/catdat/data_yaml/categories/Set_pointed.yaml index 5279bb3d..d6ff188b 100644 --- a/databases/catdat/data_yaml/categories/Set_pointed.yaml +++ b/databases/catdat/data_yaml/categories/Set_pointed.yaml @@ -49,6 +49,7 @@ satisfied_properties: reason: 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. - property_id: effective cocongruences + # TODO: rework this when Barr-exact is added reason: 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. unsatisfied_properties: @@ -59,6 +60,7 @@ unsatisfied_properties: reason: "The joint image of $X \\to X \\times Y \\leftarrow Y$ is just $\\{(x,0) : x \\in X\\} \\cup \\{(0,y) : y \\in Y\\}$ (where $0$ denotes the base point), which is clearly a proper subset of $X \\times Y$ when both $X,Y$ are non-trivial." - property_id: CSP + # TODO: remove duplication with unital proof reason: "The image of $X \\vee Y$ in $X \\times Y$ is just $\\{(x,0) : x \\in X\\} \\cup \\{(0,y) : y \\in Y\\}$ (where $0$ denotes the base point), which is clearly a proper subset when both $X,Y$ are non-trivial." - property_id: conormal diff --git a/databases/catdat/data_yaml/categories/Top_pointed.yaml b/databases/catdat/data_yaml/categories/Top_pointed.yaml index 319d4ed0..c6553cca 100644 --- a/databases/catdat/data_yaml/categories/Top_pointed.yaml +++ b/databases/catdat/data_yaml/categories/Top_pointed.yaml @@ -88,15 +88,16 @@ unsatisfied_properties: - property_id: unital reason: "The joint image of $X \\to X \\times Y \\leftarrow Y$ is just $\\{(x,0) : x \\in X\\} \\cup \\{(0,y) : y \\in Y\\}$ (where $0$ denotes the base point), which is clearly a proper subset of $X \\times Y$ when both $X,Y$ are non-trivial." + - property_id: CSP + # TODO: remove duplication with unital proof + reason: "The image of $X \\vee Y$ in $X \\times Y$ is just $\\{(x,0) : x \\in X\\} \\cup \\{(0,y) : y \\in Y\\}$ (where $0$ denotes the base point), which is clearly a proper subset when both $X,Y$ are non-trivial." + - property_id: regular quotient object classifier reason: We can recycle the proof for the category of pointed sets using discrete topological spaces. - property_id: coaccessible reason: 'We can adjust the proof for $\Top$ as follows: Assume $\Top_*$ is coaccessible. Let $S_0=\{x,*\}$ be the pointed topological space such that $\{*\}$ is the only non-trivial open set, and let $S_1=\{x,*\}$ be the pointed space such that $\{x\}$ is the only non-trivial open set. Let $p_i\colon S_i \to \{x,*\}$ be the identity function to the two-element indiscrete pointed space. Then, a pointed topological space is discrete if and only if it is projective to the morphisms $p_0$ and $p_1$. This implies that the full subcategory spanned by all discrete pointed spaces, which is equivalent to $\Set_*$, is coaccessible by Prop. 4.7 in Adamek-Rosicky. However, since $\Set_*$ is not coaccessible, this is a contradiction.' - - property_id: CSP - reason: "The image of $X \\vee Y$ in $X \\times Y$ is just $\\{(x,0) : x \\in X\\} \\cup \\{(0,y) : y \\in Y\\}$ (where $0$ denotes the base point), which is clearly a proper subset when both $X,Y$ are non-trivial." - - property_id: cofiltered-limit-stable epimorphisms reason: 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. diff --git a/databases/catdat/data_yaml/categories/walking_coreflexive_pair.yaml b/databases/catdat/data_yaml/categories/walking_coreflexive_pair.yaml index 47dd726d..1eea3118 100644 --- a/databases/catdat/data_yaml/categories/walking_coreflexive_pair.yaml +++ b/databases/catdat/data_yaml/categories/walking_coreflexive_pair.yaml @@ -68,6 +68,7 @@ unsatisfied_properties: reason: Assume that $[1] \xleftarrow{i} [0] \xrightarrow{i} [1]$ has a pushout in $\Delta^{\leq 1}$, where $i(0)=0$. This amounts to a universal totally ordered set of cardinality $\leq 2$ with elements $a,b,c$ satisfying $a \leq b$, $a \leq c$. Since a finite totally ordered set has trivial automorphism group, the automorphism defined by $a \mapsto a$, $b \mapsto c$, $c \mapsto b$ must be the identity, i.e., we have $b = c$. However, in $[1]$ the equations $0 \leq 0$, $0 \leq 1$ then show that the universal property fails. - property_id: multi-complete + # TODO: remove this manual proof once locally multi-presentable is dualized, cf. #139 reason: 'This follows directly from existing results: If its dual, the walking reflexive pair, was multi-cocomplete, then since it is also accessible, it would be locally multi-presentable. But then it would have connected limits, in particular pullbacks.' special_objects: diff --git a/databases/catdat/data_yaml/category-implications/filtered colimits.yaml b/databases/catdat/data_yaml/category-implications/filtered colimits.yaml index e3eb328d..da16c815 100644 --- a/databases/catdat/data_yaml/category-implications/filtered colimits.yaml +++ b/databases/catdat/data_yaml/category-implications/filtered colimits.yaml @@ -49,6 +49,8 @@ is_equivalence: false - id: finite_filtered_colimits + # TODO: combine this with the implication with ID "finite_accessible" + # once its dual is added to the database. assumptions: - Cauchy complete - essentially finite From 89c6fb3d809396204f3e3535daf1adc40b3d52a0 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Thu, 7 May 2026 17:09:15 +0200 Subject: [PATCH 07/22] seed all data from yaml files as for error logging, unfortunately, due to deferred FKs, it is currently not possible to log the exact file where the FK violation happened --- databases/catdat/data_yaml/config.yaml | 58 +++ databases/catdat/scripts/seed.yaml.ts | 606 +++++++++++++++++++++++++ databases/catdat/scripts/yaml.types.ts | 108 +++++ package.json | 1 + 4 files changed, 773 insertions(+) create mode 100644 databases/catdat/data_yaml/config.yaml create mode 100644 databases/catdat/scripts/seed.yaml.ts create mode 100644 databases/catdat/scripts/yaml.types.ts diff --git a/databases/catdat/data_yaml/config.yaml b/databases/catdat/data_yaml/config.yaml new file mode 100644 index 00000000..2a89391c --- /dev/null +++ b/databases/catdat/data_yaml/config.yaml @@ -0,0 +1,58 @@ +tags: + - algebra + - algebraic geometry + - analysis + - category theory + - combinatorics + - number theory + - order theory + - set theory + - topology + - finite + - thin + - single object + +relations: + - relation: is + negation: is not + conditional: would be + - relation: is a + negation: is not a + conditional: would be a + - relation: is an + negation: is not an + conditional: would be an + - relation: has + negation: does not have + conditional: would have + - relation: has a + negation: does not have a + conditional: would have a + - relation: has an + negation: does not have an + conditional: would have an + - relation: satisfies + negation: does not satisfy + conditional: would satisfy + +special_object_types: + - type: terminal object + dual: initial object + - type: initial object + dual: terminal object + - type: products + dual: coproducts + - type: coproducts + dual: products + +special_morphism_types: + - type: isomorphisms + dual: isomorphisms + - type: monomorphisms + dual: epimorphisms + - type: epimorphisms + dual: monomorphisms + - type: regular monomorphisms + dual: regular epimorphisms + - type: regular epimorphisms + dual: regular monomorphisms diff --git a/databases/catdat/scripts/seed.yaml.ts b/databases/catdat/scripts/seed.yaml.ts new file mode 100644 index 00000000..a8ba9070 --- /dev/null +++ b/databases/catdat/scripts/seed.yaml.ts @@ -0,0 +1,606 @@ +import fs from 'node:fs' +import path from 'node:path' +import { get_client } from './shared' +import YAML from 'yaml' +import type { + CategoryYaml, + ConfigYaml, + CategoryPropertyYaml, + LemmaYaml, + CategoryImplicationYaml, + FunctorImplicationYaml, + FunctorPropertyYaml, + FunctorYaml, +} from './yaml.types' + +const db = get_client() + +const data_folder = path.join(process.cwd(), 'databases', 'catdat', 'data_yaml') + +seed() + +/** + * Seeds the data recorded in YAML files into the database. + */ +function seed() { + console.info('\n--- Seed CatDat database ---') + + clear_all_data() + + seed_config() + + seed_lemmas() + + seed_category_properties() + seed_category_implications() + seed_categories() + + seed_functor_properties() + seed_functor_implications() + seed_functors() +} + +function clear_all_data() { + console.info(`\nClear all tables ...`) + try { + db.transaction(() => { + db.pragma('foreign_keys = OFF') + + db.prepare(`DELETE FROM lemmas`).run() + + db.prepare(`DELETE FROM category_implication_assumptions`).run() + db.prepare(`DELETE FROM category_implication_conclusions`).run() + db.prepare(`DELETE FROM category_implications`).run() + + db.prepare(`DELETE FROM special_morphisms`).run() + db.prepare(`DELETE FROM special_morphism_types`).run() + + db.prepare(`DELETE FROM special_objects`).run() + db.prepare(`DELETE FROM special_object_types`).run() + + db.prepare(`DELETE FROM category_property_comments`).run() + db.prepare(`DELETE FROM category_property_assignments`).run() + + db.prepare(`DELETE FROM category_comments`).run() + db.prepare(`DELETE FROM related_categories`).run() + db.prepare(`DELETE FROM category_tag_assignments`).run() + db.prepare(`DELETE FROM categories`).run() + + db.prepare(`DELETE FROM tags`).run() + + db.prepare(`DELETE FROM related_category_properties`).run() + db.prepare(`DELETE FROM category_properties`).run() + + db.prepare(`DELETE FROM functor_property_assignments`).run() + db.prepare(`DELETE FROM functor_properties`).run() + db.prepare(`DELETE FROM functors`).run() + + db.prepare(`DELETE FROM relations`).run() + + db.prepare(`DELETE FROM functor_implication_assumptions`).run() + db.prepare(`DELETE FROM functor_implication_conclusions`).run() + db.prepare(`DELETE FROM functor_implication_source_assumptions`).run() + db.prepare(`DELETE FROM functor_implication_target_assumptions`).run() + db.prepare(`DELETE FROM functor_implications`).run() + })() + } catch (err) { + console.error(`Error clearing data:`, err) + process.exit(1) + } +} + +function seed_config() { + console.info(`\nSeed config...`) + + const config_file_content = fs.readFileSync( + path.join(data_folder, 'config.yaml'), + 'utf8', + ) + const config = YAML.parse(config_file_content) as ConfigYaml + + try { + const tag_insert = db.prepare(`INSERT INTO tags (tag) VALUES (?)`) + db.transaction(() => { + for (const tag of config.tags) tag_insert.run(tag) + })() + + const relation_insert = db.prepare( + `INSERT INTO relations (relation, negation, conditional) VALUES (?, ?, ?)`, + ) + db.transaction(() => { + for (const { relation, negation, conditional } of config.relations) { + relation_insert.run(relation, negation, conditional) + } + })() + + const object_insert = db.prepare( + `INSERT INTO special_object_types (type, dual) VALUES (?, ?)`, + ) + + db.transaction(() => { + db.pragma('defer_foreign_keys = ON') + for (const obj of config.special_object_types) { + object_insert.run(obj.type, obj.dual) + } + })() + + const morphism_insert = db.prepare( + `INSERT INTO special_morphism_types (type, dual) VALUES (?, ?)`, + ) + db.transaction(() => { + db.pragma('defer_foreign_keys = ON') + for (const mor of config.special_morphism_types) { + morphism_insert.run(mor.type, mor.dual) + } + })() + } catch (err) { + console.error(`Error seeding config:`, err) + process.exit(1) + } +} + +function seed_categories() { + console.info(`\nSeed categories ...`) + const categories_folder = path.join(data_folder, 'categories') + + const category_files = fs + .readdirSync(categories_folder) + .filter((file) => file.endsWith('.yaml')) + .sort() + + const category_insert = db.prepare( + `INSERT INTO categories ( + id, name, notation, objects, morphisms, + description, nlab_link, dual_category_id + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`, + ) + + const tag_insert = db.prepare( + `INSERT INTO category_tag_assignments (category_id, tag) VALUES (?, ?)`, + ) + + const comment_insert = db.prepare( + `INSERT INTO category_comments (category_id, comment) VALUES (?, ?)`, + ) + + const related_insert = db.prepare( + `INSERT INTO related_categories (category_id, related_category_id) VALUES (?, ?)`, + ) + + const special_object_insert = db.prepare( + `INSERT INTO special_objects (category_id, type, description) VALUES (?, ?, ?)`, + ) + + const special_morphism_insert = db.prepare( + `INSERT INTO special_morphisms (category_id, type, description, reason) + VALUES (?, ?, ?, ?)`, + ) + + const property_assignment_insert = db.prepare( + `INSERT INTO category_property_assignments ( + category_id, property_id, is_satisfied, reason, check_redundancy + ) VALUES (?, ?, ?, ?, ?)`, + ) + + const property_comment_insert = db.prepare(` + INSERT INTO category_property_comments (category_id, property_id, comment) + VALUES (?, ?, ?)`) + + try { + db.transaction(() => { + db.pragma('defer_foreign_keys = ON') + + for (const category_file of category_files) { + console.info(`Seed: ${category_file}`) + const content = fs.readFileSync( + path.join(categories_folder, category_file), + 'utf8', + ) + const category = YAML.parse(content) as CategoryYaml + + category_insert.run( + category.id, + category.name, + category.notation, + category.objects, + category.morphisms, + category.description || null, + category.nlab_link || null, + category.dual_category_id || null, + ) + + for (const tag of category.tags) { + tag_insert.run(category.id, tag) + } + + for (const comment of category.comments ?? []) { + comment_insert.run(category.id, comment) + } + + for (const related of category.related_categories) { + related_insert.run(category.id, related) + } + + for (const [type, entry] of Object.entries(category.special_objects)) { + if (!entry) continue + special_object_insert.run(category.id, type, entry.description) + } + + for (const [type, entry] of Object.entries(category.special_morphisms)) { + if (!entry) continue + special_morphism_insert.run( + category.id, + type, + entry.description, + entry.reason, + ) + } + + for (const entry of category.satisfied_properties) { + property_assignment_insert.run( + category.id, + entry.property_id, + 1, + entry.reason, + entry.check_redundancy === false ? 0 : 1, + ) + } + + for (const entry of category.unsatisfied_properties) { + property_assignment_insert.run( + category.id, + entry.property_id, + 0, + entry.reason, + entry.check_redundancy === false ? 0 : 1, + ) + } + + for (const comment_obj of category.category_property_comments ?? []) { + property_comment_insert.run( + category.id, + comment_obj.property_id, + comment_obj.comment, + ) + } + } + })() + } catch (err) { + console.error(`Error seeding categories:`, err) + process.exit(1) + } +} + +function seed_category_properties() { + console.info(`\nSeed category properties ...`) + const property_folder = path.join(data_folder, 'category-properties') + + const property_files = fs + .readdirSync(property_folder) + .filter((file) => file.endsWith('.yaml')) + .sort() + + const property_insert = db.prepare(` + INSERT INTO category_properties ( + id, relation, description, nlab_link, + dual_property_id, invariant_under_equivalences + ) VALUES (?, ?, ?, ?, ?, ?)`) + + const related_insert = db.prepare( + `INSERT INTO related_category_properties (property_id, related_property_id) VALUES (?, ?)`, + ) + + try { + db.transaction(() => { + db.pragma('defer_foreign_keys = ON') + + for (const property_file of property_files) { + console.info(`Seed: ${property_file}`) + const content = fs.readFileSync( + path.join(property_folder, property_file), + 'utf8', + ) + const property = YAML.parse(content) as CategoryPropertyYaml + + property_insert.run( + property.id, + property.relation, + property.description, + property.nlab_link || null, + property.dual_property_id || null, + Number(property.invariant_under_equivalences), + ) + + for (const related of property.related_properties) { + related_insert.run(property.id, related) + } + } + })() + } catch (err) { + console.error(`Error seeding category categories:`, err) + process.exit(1) + } +} + +function seed_lemmas() { + console.info(`\nSeed lemmas ...`) + const lemma_folder = path.join(data_folder, 'lemmas') + + const lemma_files = fs + .readdirSync(lemma_folder) + .filter((file) => file.endsWith('.yaml')) + .sort() + + const lemma_insert = db.prepare( + `INSERT INTO lemmas (id, title, claim, proof) VALUES (?, ?, ?, ?)`, + ) + try { + db.transaction(() => { + for (const lemma_file of lemma_files) { + console.info(`Seed: ${lemma_file}`) + const content = fs.readFileSync( + path.join(lemma_folder, lemma_file), + 'utf8', + ) + const lemma = YAML.parse(content) as LemmaYaml + + lemma_insert.run(lemma.id, lemma.title, lemma.claim, lemma.proof) + } + })() + } catch (err) { + console.error(`Error seeding lemmas:`, err) + process.exit(1) + } +} + +function seed_category_implications() { + console.info(`\nSeed category implications ...`) + const implications_folder = path.join(data_folder, 'category-implications') + + const implication_files = fs + .readdirSync(implications_folder) + .filter((file) => file.endsWith('.yaml')) + .sort() + + const implication_insert = db.prepare( + `INSERT INTO category_implications ( + id, reason, is_equivalence + ) VALUES (?, ?, ?)`, + ) + + const assumption_insert = db.prepare( + `INSERT INTO category_implication_assumptions ( + implication_id, property_id + ) VALUES (?, ?)`, + ) + + const conclusion_insert = db.prepare( + `INSERT INTO category_implication_conclusions ( + implication_id, property_id + ) VALUES (?, ?)`, + ) + + try { + db.transaction(() => { + for (const implications_file of implication_files) { + console.info(`Seed: ${implications_file}`) + + const content = fs.readFileSync( + path.join(implications_folder, implications_file), + 'utf8', + ) + const implications = YAML.parse(content) as CategoryImplicationYaml[] + + for (const implication of implications) { + implication_insert.run( + implication.id, + implication.reason, + Number(implication.is_equivalence), + ) + + for (const assumption of implication.assumptions) { + assumption_insert.run(implication.id, assumption) + } + + for (const conclusion of implication.conclusions) { + conclusion_insert.run(implication.id, conclusion) + } + } + } + })() + } catch (err) { + console.error(`Error seeding category implications:`, err) + process.exit(1) + } +} + +function seed_functor_properties() { + console.info(`\nSeed functor properties ...`) + const property_folder = path.join(data_folder, 'functor-properties') + + const property_files = fs + .readdirSync(property_folder) + .filter((file) => file.endsWith('.yaml')) + .sort() + + const property_insert = db.prepare(` + INSERT INTO functor_properties ( + id, relation, description, nlab_link, + dual_property_id, invariant_under_equivalences + ) VALUES (?, ?, ?, ?, ?, ?)`) + + try { + db.transaction(() => { + db.pragma('defer_foreign_keys = ON') + + for (const property_file of property_files) { + console.info(`Seed: ${property_file}`) + const content = fs.readFileSync( + path.join(property_folder, property_file), + 'utf8', + ) + const property = YAML.parse(content) as FunctorPropertyYaml + + property_insert.run( + property.id, + property.relation, + property.description, + property.nlab_link || null, + property.dual_property_id || null, + Number(property.invariant_under_equivalences), + ) + } + })() + } catch (err) { + console.error(`Error seeding functor properties:`, err) + process.exit(1) + } +} + +function seed_functor_implications() { + console.info(`\nSeed functor implications ...`) + const implications_folder = path.join(data_folder, 'functor-implications') + + const implication_files = fs + .readdirSync(implications_folder) + .filter((file) => file.endsWith('.yaml')) + .sort() + + const implication_insert = db.prepare( + `INSERT INTO functor_implications ( + id, reason, is_equivalence + ) VALUES (?, ?, ?)`, + ) + + const assumption_insert = db.prepare( + `INSERT INTO functor_implication_assumptions ( + implication_id, property_id + ) VALUES (?, ?)`, + ) + + const source_assumption_insert = db.prepare( + `INSERT INTO functor_implication_source_assumptions ( + implication_id, property_id + ) VALUES (?, ?)`, + ) + + const target_assumption_insert = db.prepare( + `INSERT INTO functor_implication_target_assumptions ( + implication_id, property_id + ) VALUES (?, ?)`, + ) + + const conclusion_insert = db.prepare( + `INSERT INTO functor_implication_conclusions ( + implication_id, property_id + ) VALUES (?, ?)`, + ) + + try { + db.transaction(() => { + for (const implications_file of implication_files) { + console.info(`Seed: ${implications_file}`) + + const content = fs.readFileSync( + path.join(implications_folder, implications_file), + 'utf8', + ) + const implications = YAML.parse(content) as FunctorImplicationYaml[] + + for (const implication of implications) { + implication_insert.run( + implication.id, + implication.reason, + Number(implication.is_equivalence), + ) + + for (const assumption of implication.assumptions) { + assumption_insert.run(implication.id, assumption) + } + + for (const assumption of implication.source_assumptions) { + source_assumption_insert.run(implication.id, assumption) + } + + for (const assumption of implication.target_assumptions) { + target_assumption_insert.run(implication.id, assumption) + } + + for (const conclusion of implication.conclusions) { + conclusion_insert.run(implication.id, conclusion) + } + } + } + })() + } catch (err) { + console.error(`Error seeding category implications:`, err) + process.exit(1) + } +} + +function seed_functors() { + console.info(`\nSeed functors ...`) + const functors_folder = path.join(data_folder, 'functors') + + const functor_files = fs + .readdirSync(functors_folder) + .filter((file) => file.endsWith('.yaml')) + .sort() + + const functor_insert = db.prepare( + `INSERT INTO functors ( + id, name, source, target, description, nlab_link + ) VALUES (?, ?, ?, ?, ?, ?)`, + ) + + const property_assignment_insert = db.prepare( + `INSERT INTO functor_property_assignments ( + functor_id, property_id, is_satisfied, reason + ) VALUES (?, ?, ?, ?)`, + ) + + try { + db.transaction(() => { + db.pragma('defer_foreign_keys = ON') + + for (const functor_file of functor_files) { + console.info(`Seed: ${functor_file}`) + const content = fs.readFileSync( + path.join(functors_folder, functor_file), + 'utf8', + ) + const functor = YAML.parse(content) as FunctorYaml + + functor_insert.run( + functor.id, + functor.name, + functor.source, + functor.target, + functor.description || null, + functor.nlab_link || null, + ) + + for (const entry of functor.satisfied_properties) { + property_assignment_insert.run( + functor.id, + entry.property_id, + 1, + entry.reason, + ) + } + + for (const entry of functor.unsatisfied_properties) { + property_assignment_insert.run( + functor.id, + entry.property_id, + 0, + entry.reason, + ) + } + } + })() + } catch (err) { + console.error(`Error seeding functors:`, err) + process.exit(1) + } +} diff --git a/databases/catdat/scripts/yaml.types.ts b/databases/catdat/scripts/yaml.types.ts new file mode 100644 index 00000000..3e0923cd --- /dev/null +++ b/databases/catdat/scripts/yaml.types.ts @@ -0,0 +1,108 @@ +export type ConfigYaml = { + tags: string[] + relations: { + relation: string + negation: string + conditional: string + }[] + special_object_types: { + type: string + dual: string + }[] + special_morphism_types: { + type: string + dual: string + }[] +} + +export type CategoryYaml = { + id: string + name: string + notation: string + objects: string + morphisms: string + description?: string | null + nlab_link?: string + dual_category_id?: string | null + tags: string[] + related_categories: string[] + satisfied_properties: PropertyEntry[] + unsatisfied_properties: PropertyEntry[] + special_objects: Record + special_morphisms: Record + comments?: string[] + category_property_comments?: { + property_id: string + comment: string + }[] +} + +type PropertyEntry = { + property_id: string + reason: string + check_redundancy?: boolean +} + +type ObjectEntry = { + description: string +} + +type MorphismEntry = { + description: string + reason: string +} + +export type CategoryPropertyYaml = { + id: string + relation: string + description: string + nlab_link?: string | null + dual_property_id?: string | null + invariant_under_equivalences: boolean + related_properties: string[] +} + +export type LemmaYaml = { + id: string + title: string + claim: string + proof: string +} + +export type CategoryImplicationYaml = { + id: string + assumptions: string[] + conclusions: string[] + reason: string + is_equivalence: boolean +} + +export type FunctorImplicationYaml = { + id: string + assumptions: string[] + source_assumptions: string[] + target_assumptions: string[] + conclusions: string[] + reason: string + is_equivalence: boolean +} + +export type FunctorPropertyYaml = { + id: string + relation: string + description: string + nlab_link?: string | null + dual_property_id?: string | null + invariant_under_equivalences: boolean +} + +export type FunctorYaml = { + id: string + name: string + source: string + target: string + description?: string | null + nlab_link?: string + satisfied_properties: PropertyEntry[] + unsatisfied_properties: PropertyEntry[] +} diff --git a/package.json b/package.json index 53c710b5..dbe4e1f6 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "db:setup:catdat": "pnpm db:kill && tsx databases/catdat/scripts/setup.ts", "db:setup": "pnpm db:kill && tsx databases/catdat/scripts/setup.ts && tsx databases/app/scripts/setup.ts", "db:seed": "tsx databases/catdat/scripts/seed.ts", + "db:seed:yaml": "tsx databases/catdat/scripts/seed.yaml.ts", "db:deduce": "tsx databases/catdat/scripts/deduce.ts", "db:test": "tsx databases/catdat/scripts/test.ts", "db:snapshot": "cp databases/catdat/catdat.db static/databases/catdat-snapshot.db", From 19690779a8dc6cdcaf1ce22aadc72f943869bcfc Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Fri, 8 May 2026 12:26:17 +0200 Subject: [PATCH 08/22] delete old SQL files and old seed script --- databases/catdat/data/000_setup/001_clear.sql | 41 -- databases/catdat/data/000_setup/002_tags.sql | 14 - .../catdat/data/000_setup/003_relations.sql | 8 - .../data/001_categories/001_set-theory.sql | 82 --- .../data/001_categories/002_algebra.sql | 218 ------- .../data/001_categories/003_analysis.sql | 64 -- .../data/001_categories/004_topology.sql | 64 -- .../001_categories/005_algebraic-geometry.sql | 55 -- .../data/001_categories/006_order-theory.sql | 37 -- .../data/001_categories/007_combinatorics.sql | 55 -- .../catdat/data/001_categories/008_tiny.sql | 131 ---- .../data/001_categories/009_one-object.sql | 46 -- .../catdat/data/001_categories/010_thin.sql | 55 -- .../001_categories/100_related-categories.sql | 192 ------ .../data/001_categories/200_category-tags.sql | 126 ---- .../data/001_categories/300_comments.sql | 46 -- .../001_categories/400_dual-categories.sql | 2 - .../001_limits-colimits-existence.sql | 425 ------------ .../002_limits-colimits-behavior.sql | 255 -------- .../003_size-constraints.sql | 129 ---- .../004_morphism-behavior.sql | 161 ----- .../005_additional-structure.sql | 66 -- .../006_trivial-categories.sql | 49 -- .../007_locally-presentable.sql | 166 ----- .../008_topos-theory.sql | 112 ---- .../data/002_category-properties/009_misc.sql | 95 --- .../100_related-category-properties.sql | 426 ------------ .../003_category-property-assignments/0.sql | 49 -- .../003_category-property-assignments/1.sql | 31 - .../003_category-property-assignments/2.sql | 43 -- .../003_category-property-assignments/Ab.sql | 43 -- .../Ab_fg.sql | 67 -- .../Alg(R).sql | 105 --- .../003_category-property-assignments/B.sql | 67 -- .../BG_c.sql | 49 -- .../BG_f.sql | 49 -- .../003_category-property-assignments/BN.sql | 67 -- .../003_category-property-assignments/BOn.sql | 109 ---- .../003_category-property-assignments/Ban.sql | 103 --- .../CAlg(R).sql | 97 --- .../CMon.sql | 91 --- .../CRing.sql | 97 --- .../003_category-property-assignments/Cat.sql | 99 --- .../Delta.sql | 119 ---- .../003_category-property-assignments/FI.sql | 109 ---- .../003_category-property-assignments/FS.sql | 127 ---- .../FinAb.sql | 67 -- .../FinGrp.sql | 121 ---- .../FinOrd.sql | 121 ---- .../FinSet.sql | 75 --- .../003_category-property-assignments/Fld.sql | 105 --- .../FreeAb.sql | 96 --- .../003_category-property-assignments/Grp.sql | 119 ---- .../Haus.sql | 121 ---- .../003_category-property-assignments/J2.sql | 42 -- .../003_category-property-assignments/LRS.sql | 73 --- .../M-Set.sql | 45 -- .../003_category-property-assignments/Man.sql | 130 ---- .../Meas.sql | 109 ---- .../003_category-property-assignments/Met.sql | 172 ----- .../Met_c.sql | 121 ---- .../Met_oo.sql | 97 --- .../003_category-property-assignments/Mon.sql | 121 ---- .../003_category-property-assignments/N.sql | 67 -- .../N_oo.sql | 73 --- .../003_category-property-assignments/On.sql | 79 --- .../PMet.sql | 153 ----- .../003_category-property-assignments/Pos.sql | 104 --- .../Prost.sql | 103 --- .../R-Mod.sql | 43 -- .../R-Mod_div.sql | 37 -- .../003_category-property-assignments/Rel.sql | 103 --- .../Ring.sql | 105 --- .../003_category-property-assignments/Rng.sql | 111 ---- .../003_category-property-assignments/Sch.sql | 79 --- .../SemiGrp.sql | 134 ---- .../003_category-property-assignments/Set.sql | 43 -- .../Set_c.sql | 121 ---- .../Set_f.sql | 128 ---- .../Set_pointed.sql | 112 ---- .../Setne.sql | 129 ---- .../SetxSet.sql | 43 -- .../Sh(X).sql | 31 - .../Sh(X,Ab).sql | 32 - .../003_category-property-assignments/Sp.sql | 69 -- .../003_category-property-assignments/Top.sql | 145 ----- .../Top_pointed.sql | 183 ------ .../TorsAb.sql | 81 --- .../TorsFreeAb.sql | 81 --- .../Vect.sql | 37 -- .../003_category-property-assignments/Z.sql | 121 ---- .../Z_div.sql | 67 -- .../real_interval.sql | 61 -- .../sSet.sql | 49 -- .../walking_commutative_square.sql | 55 -- .../walking_composable_pair.sql | 51 -- .../walking_coreflexive_pair.sql | 110 ---- .../walking_fork.sql | 85 --- .../walking_idempotent.sql | 67 -- .../walking_isomorphism.sql | 31 - .../walking_morphism.sql | 49 -- .../walking_pair.sql | 73 --- .../walking_span.sql | 61 -- .../walking_splitting.sql | 87 --- ...limits-colimits-existence-implications.sql | 323 --------- ..._limits-colimits-behavior-implications.sql | 297 --------- .../003_size-constraints-implications.sql | 78 --- .../004_morphism-behavior-implications.sql | 233 ------- .../005_additional-structure-implications.sql | 137 ---- .../006_trivial-categories-implications.sql | 155 ----- .../007_locally-presentable-implications.sql | 239 ------- .../008_topos-theory-implications.sql | 267 -------- .../009_misc-implications.sql | 138 ---- .../001_special_object_types.sql | 6 - .../002_initial_objects.sql | 78 --- .../003_terminal_objects.sql | 74 --- .../005_special-objects/004_coproducts.sql | 77 --- .../data/005_special-objects/005_products.sql | 80 --- .../001_special_morphism_types.sql | 7 - .../002_isomorphisms.sql | 405 ------------ .../003_monomorphisms.sql | 395 ----------- .../004_epimorphisms.sql | 381 ----------- .../005_regular-monomorphisms.sql | 320 --------- .../006_regular-epimorphisms.sql | 330 ---------- .../007_functors/001_functor-properties.sql | 234 ------- .../007_functors/002_functor-implications.sql | 172 ----- .../007_functors/003_functor-examples.sql | 57 -- .../abelianization.sql | 55 -- .../forget_vector.sql | 55 -- .../free_group.sql | 55 -- .../id_Set.sql | 19 - .../power_set_contravariant.sql | 55 -- .../power_set_covariant.sql | 73 --- .../catdat/data/009_lemmas/001_lemmas.sql | 181 ------ .../{data_yaml => data}/categories/0.yaml | 0 .../{data_yaml => data}/categories/1.yaml | 0 .../{data_yaml => data}/categories/2.yaml | 0 .../{data_yaml => data}/categories/Ab.yaml | 0 .../{data_yaml => data}/categories/Ab_fg.yaml | 0 .../categories/Alg(R).yaml | 0 .../{data_yaml => data}/categories/B.yaml | 0 .../{data_yaml => data}/categories/BG_c.yaml | 0 .../{data_yaml => data}/categories/BG_f.yaml | 0 .../{data_yaml => data}/categories/BN.yaml | 0 .../{data_yaml => data}/categories/BOn.yaml | 0 .../{data_yaml => data}/categories/Ban.yaml | 0 .../categories/CAlg(R).yaml | 0 .../{data_yaml => data}/categories/CMon.yaml | 0 .../{data_yaml => data}/categories/CRing.yaml | 0 .../{data_yaml => data}/categories/Cat.yaml | 0 .../{data_yaml => data}/categories/Delta.yaml | 0 .../{data_yaml => data}/categories/FI.yaml | 0 .../{data_yaml => data}/categories/FS.yaml | 0 .../{data_yaml => data}/categories/FinAb.yaml | 0 .../categories/FinGrp.yaml | 0 .../categories/FinOrd.yaml | 0 .../categories/FinSet.yaml | 0 .../{data_yaml => data}/categories/Fld.yaml | 0 .../categories/FreeAb.yaml | 0 .../{data_yaml => data}/categories/Grp.yaml | 0 .../{data_yaml => data}/categories/Haus.yaml | 0 .../{data_yaml => data}/categories/J2.yaml | 0 .../{data_yaml => data}/categories/LRS.yaml | 0 .../{data_yaml => data}/categories/M-Set.yaml | 0 .../{data_yaml => data}/categories/Man.yaml | 0 .../{data_yaml => data}/categories/Meas.yaml | 0 .../{data_yaml => data}/categories/Met.yaml | 0 .../{data_yaml => data}/categories/Met_c.yaml | 0 .../categories/Met_oo.yaml | 0 .../{data_yaml => data}/categories/Mon.yaml | 0 .../{data_yaml => data}/categories/N.yaml | 0 .../{data_yaml => data}/categories/N_oo.yaml | 0 .../{data_yaml => data}/categories/On.yaml | 0 .../{data_yaml => data}/categories/PMet.yaml | 0 .../{data_yaml => data}/categories/Pos.yaml | 0 .../{data_yaml => data}/categories/Prost.yaml | 0 .../{data_yaml => data}/categories/R-Mod.yaml | 0 .../categories/R-Mod_div.yaml | 0 .../{data_yaml => data}/categories/Rel.yaml | 0 .../{data_yaml => data}/categories/Ring.yaml | 0 .../{data_yaml => data}/categories/Rng.yaml | 0 .../{data_yaml => data}/categories/Sch.yaml | 0 .../categories/SemiGrp.yaml | 0 .../{data_yaml => data}/categories/Set.yaml | 0 .../{data_yaml => data}/categories/Set_c.yaml | 0 .../{data_yaml => data}/categories/Set_f.yaml | 0 .../categories/Set_op.yaml | 0 .../categories/Set_pointed.yaml | 0 .../{data_yaml => data}/categories/Setne.yaml | 0 .../categories/SetxSet.yaml | 0 .../{data_yaml => data}/categories/Sh(X).yaml | 0 .../categories/Sh(X,Ab).yaml | 0 .../{data_yaml => data}/categories/Sp.yaml | 0 .../{data_yaml => data}/categories/Top.yaml | 0 .../categories/Top_pointed.yaml | 0 .../categories/TorsAb.yaml | 0 .../categories/TorsFreeAb.yaml | 0 .../{data_yaml => data}/categories/Vect.yaml | 0 .../{data_yaml => data}/categories/Z.yaml | 0 .../{data_yaml => data}/categories/Z_div.yaml | 0 .../categories/real_interval.yaml | 0 .../{data_yaml => data}/categories/sSet.yaml | 0 .../walking_commutative_square.yaml | 0 .../categories/walking_composable_pair.yaml | 0 .../categories/walking_coreflexive_pair.yaml | 0 .../categories/walking_fork.yaml | 0 .../categories/walking_idempotent.yaml | 0 .../categories/walking_isomorphism.yaml | 0 .../categories/walking_morphism.yaml | 0 .../categories/walking_pair.yaml | 0 .../categories/walking_span.yaml | 0 .../categories/walking_splitting.yaml | 0 .../category-implications/Malcev.yaml | 0 .../category-implications/NNO.yaml | 0 .../category-implications/accessible.yaml | 0 .../category-implications/additive.yaml | 0 .../category-implications/algebraic.yaml | 0 .../category-implications/cancellative.yaml | 0 .../cartesian closed.yaml | 0 .../category-implications/completeness.yaml | 0 .../category-implications/congruences.yaml | 0 .../category-implications/connected.yaml | 0 .../category-implications/discrete.yaml | 0 .../disjoint coproducts.yaml | 0 .../category-implications/distributivity.yaml | 0 .../category-implications/equalizers.yaml | 0 .../exact filtered colimits.yaml | 0 .../category-implications/extensive.yaml | 0 .../filtered + sifted.yaml | 0 .../filtered colimits.yaml | 0 .../category-implications/generators.yaml | 0 .../category-implications/groupoids.yaml | 0 .../initial objects.yaml | 0 .../category-implications/mono-regular.yaml | 0 .../category-implications/products.yaml | 0 .../category-implications/pullbacks.yaml | 0 .../category-implications/size.yaml | 0 .../subobject classifiers.yaml | 0 .../subobject-trivial.yaml | 0 .../category-implications/thin.yaml | 0 .../category-implications/topos.yaml | 0 .../category-properties/CIP.yaml | 0 .../category-properties/CSP.yaml | 0 .../category-properties/Cauchy complete.yaml | 0 .../Grothendieck abelian.yaml | 0 .../Grothendieck topos.yaml | 0 .../category-properties/Malcev.yaml | 0 .../category-properties/abelian.yaml | 0 .../category-properties/accessible.yaml | 0 .../category-properties/additive.yaml | 0 .../aleph1-accessible.yaml | 0 .../category-properties/balanced.yaml | 0 .../category-properties/binary copowers.yaml | 0 .../binary coproducts.yaml | 0 .../category-properties/binary powers.yaml | 0 .../category-properties/binary products.yaml | 0 .../category-properties/biproducts.yaml | 0 .../category-properties/cartesian closed.yaml | 0 .../cartesian filtered colimits.yaml | 0 .../category-properties/co-Malcev.yaml | 0 .../category-properties/coaccessible.yaml | 0 .../cocartesian coclosed.yaml | 0 .../cocartesian cofiltered limits.yaml | 0 .../category-properties/cocomplete.yaml | 0 .../category-properties/codistributive.yaml | 0 .../category-properties/coequalizers.yaml | 0 .../category-properties/coextensive.yaml | 0 .../cofiltered limits.yaml | 0 .../cofiltered-limit-stable epimorphisms.yaml | 0 .../category-properties/cofiltered.yaml | 0 .../category-properties/cogenerating set.yaml | 0 .../category-properties/cogenerator.yaml | 0 .../category-properties/cokernels.yaml | 0 .../category-properties/complete.yaml | 0 .../connected colimits.yaml | 0 .../category-properties/connected limits.yaml | 0 .../category-properties/connected.yaml | 0 .../category-properties/conormal.yaml | 0 .../category-properties/copowers.yaml | 0 .../category-properties/coproducts.yaml | 0 .../coquotients of cocongruences.yaml | 0 .../category-properties/core-thin.yaml | 0 .../coreflexive equalizers.yaml | 0 .../category-properties/coregular.yaml | 0 .../category-properties/cosifted limits.yaml | 0 .../category-properties/cosifted.yaml | 0 .../category-properties/counital.yaml | 0 .../countable copowers.yaml | 0 .../countable coproducts.yaml | 0 .../category-properties/countable powers.yaml | 0 .../countable products.yaml | 0 .../category-properties/countable.yaml | 0 .../countably codistributive.yaml | 0 .../countably distributive.yaml | 0 .../category-properties/direct.yaml | 0 .../directed colimits.yaml | 0 .../category-properties/directed limits.yaml | 0 .../category-properties/discrete.yaml | 0 .../disjoint coproducts.yaml | 0 .../disjoint finite coproducts.yaml | 0 .../disjoint finite products.yaml | 0 .../disjoint products.yaml | 0 .../category-properties/distributive.yaml | 0 .../effective cocongruences.yaml | 0 .../effective congruences.yaml | 0 .../category-properties/elementary topos.yaml | 0 .../category-properties/epi-regular.yaml | 0 .../category-properties/equalizers.yaml | 0 .../essentially countable.yaml | 0 .../essentially discrete.yaml | 0 .../essentially finite.yaml | 0 .../essentially small.yaml | 0 .../exact cofiltered limits.yaml | 0 .../exact filtered colimits.yaml | 0 .../category-properties/extensive.yaml | 0 .../filtered colimits.yaml | 0 ...filtered-colimit-stable monomorphisms.yaml | 0 .../category-properties/filtered.yaml | 0 .../finitary algebraic.yaml | 0 .../category-properties/finite copowers.yaml | 0 .../finite coproducts.yaml | 0 .../category-properties/finite powers.yaml | 0 .../category-properties/finite products.yaml | 0 .../category-properties/finite.yaml | 0 .../finitely accessible.yaml | 0 .../finitely cocomplete.yaml | 0 .../finitely complete.yaml | 0 .../category-properties/gaunt.yaml | 0 .../generalized variety.yaml | 0 .../category-properties/generating set.yaml | 0 .../category-properties/generator.yaml | 0 .../category-properties/groupoid.yaml | 0 .../infinitary codistributive.yaml | 0 .../infinitary coextensive.yaml | 0 .../infinitary distributive.yaml | 0 .../infinitary extensive.yaml | 0 .../category-properties/inhabited.yaml | 0 .../category-properties/initial object.yaml | 0 .../category-properties/inverse.yaml | 0 .../category-properties/kernels.yaml | 0 .../left cancellative.yaml | 0 .../locally aleph1-presentable.yaml | 0 .../locally cartesian closed.yaml | 0 .../locally cocartesian coclosed.yaml | 0 .../locally copresentable.yaml | 0 .../locally essentially small.yaml | 0 .../locally finitely multi-presentable.yaml | 0 .../locally finitely presentable.yaml | 0 .../locally multi-presentable.yaml | 0 .../locally poly-presentable.yaml | 0 .../locally presentable.yaml | 0 .../category-properties/locally small.yaml | 0 ...locally strongly finitely presentable.yaml | 0 .../category-properties/mono-regular.yaml | 0 .../category-properties/multi-algebraic.yaml | 0 .../category-properties/multi-cocomplete.yaml | 0 .../category-properties/multi-complete.yaml | 0 .../multi-initial object.yaml | 0 .../multi-terminal object.yaml | 0 .../natural numbers object.yaml | 0 .../category-properties/normal.yaml | 0 .../category-properties/one-way.yaml | 0 .../category-properties/pointed.yaml | 0 .../category-properties/powers.yaml | 0 .../category-properties/preadditive.yaml | 0 .../category-properties/products.yaml | 0 .../category-properties/pullbacks.yaml | 0 .../category-properties/pushouts.yaml | 0 .../quotient object classifier.yaml | 0 .../category-properties/quotient-trivial.yaml | 0 .../quotients of congruences.yaml | 0 .../reflexive coequalizers.yaml | 0 .../regular quotient object classifier.yaml | 0 .../regular subobject classifier.yaml | 0 .../category-properties/regular.yaml | 0 .../right cancellative.yaml | 0 .../category-properties/self-dual.yaml | 0 .../semi-strongly connected.yaml | 0 .../sequential colimits.yaml | 0 .../sequential limits.yaml | 0 .../category-properties/sifted colimits.yaml | 0 .../category-properties/sifted.yaml | 0 .../category-properties/skeletal.yaml | 0 .../category-properties/small.yaml | 0 .../category-properties/split abelian.yaml | 0 .../strict initial object.yaml | 0 .../strict terminal object.yaml | 0 .../strongly connected.yaml | 0 .../subobject classifier.yaml | 0 .../subobject-trivial.yaml | 0 .../category-properties/terminal object.yaml | 0 .../category-properties/thin.yaml | 0 .../category-properties/trivial.yaml | 0 .../category-properties/unital.yaml | 0 .../category-properties/well-copowered.yaml | 0 .../category-properties/well-powered.yaml | 0 .../category-properties/wide pullbacks.yaml | 0 .../category-properties/wide pushouts.yaml | 0 .../category-properties/zero morphisms.yaml | 0 .../catdat/{data_yaml => data}/config.yaml | 0 .../functor-implications/adjoints.yaml | 0 .../functor-implications/equivalences.yaml | 0 .../limits preservation.yaml | 0 .../functor-implications/misc.yaml | 0 .../functor-implications/monadic.yaml | 0 .../functor-properties/cocontinuous.yaml | 0 .../coequalizer-preserving.yaml | 0 .../functor-properties/cofinitary.yaml | 0 .../functor-properties/comonadic.yaml | 0 .../functor-properties/conservative.yaml | 0 .../functor-properties/continuous.yaml | 0 .../coproduct-preserving.yaml | 0 .../epimorphism-preserving.yaml | 0 .../equalizer-preserving.yaml | 0 .../functor-properties/equivalence.yaml | 0 .../essentially surjective.yaml | 0 .../functor-properties/exact.yaml | 0 .../functor-properties/faithful.yaml | 0 .../functor-properties/finitary.yaml | 0 .../finite-coproduct-preserving.yaml | 0 .../finite-product-preserving.yaml | 0 .../functor-properties/full.yaml | 0 .../initial-object-preserving.yaml | 0 .../functor-properties/left adjoint.yaml | 0 .../functor-properties/left exact.yaml | 0 .../functor-properties/monadic.yaml | 0 .../monomorphism-preserving.yaml | 0 .../product-preserving.yaml | 0 .../functor-properties/representable.yaml | 0 .../functor-properties/right adjoint.yaml | 0 .../functor-properties/right exact.yaml | 0 .../terminal-object-preserving.yaml | 0 .../functors/abelianization.yaml | 0 .../functors/forget_vector.yaml | 0 .../functors/free_group.yaml | 0 .../{data_yaml => data}/functors/id_Set.yaml | 0 .../functors/power_set_contravariant.yaml | 0 .../functors/power_set_covariant.yaml | 0 .../cogenerators_in_product_categories.yaml | 0 .../lemmas/coslice-effective-congruences.yaml | 0 .../effective-congruence-quotients.yaml | 0 .../exact_filtered_colimits_descend.yaml | 0 .../lemmas/filtered-monos.yaml | 0 .../lemmas/generator_construction.yaml | 0 .../lemmas/limits_in_factor_categories.yaml | 0 .../lemmas/missing_cogenerating_sets.yaml | 0 .../lemmas/missing_cogenerator.yaml | 0 ...ial-colimits-via-congruence-quotients.yaml | 0 .../lemmas/nno_distributive_criterion.yaml | 0 .../lemmas/preadditive_structure_unique.yaml | 0 ...uts-of-monos-via-congruence-quotients.yaml | 0 .../lemmas/special_sequential_colimits.yaml | 0 .../subobject_classifiers_coreflection.yaml | 0 .../lemmas/thin_algebraic_categories.yaml | 0 databases/catdat/scripts/seed.ts | 612 ++++++++++++++++-- databases/catdat/scripts/seed.yaml.ts | 606 ----------------- 456 files changed, 576 insertions(+), 15387 deletions(-) delete mode 100644 databases/catdat/data/000_setup/001_clear.sql delete mode 100644 databases/catdat/data/000_setup/002_tags.sql delete mode 100644 databases/catdat/data/000_setup/003_relations.sql delete mode 100644 databases/catdat/data/001_categories/001_set-theory.sql delete mode 100644 databases/catdat/data/001_categories/002_algebra.sql delete mode 100644 databases/catdat/data/001_categories/003_analysis.sql delete mode 100644 databases/catdat/data/001_categories/004_topology.sql delete mode 100644 databases/catdat/data/001_categories/005_algebraic-geometry.sql delete mode 100644 databases/catdat/data/001_categories/006_order-theory.sql delete mode 100644 databases/catdat/data/001_categories/007_combinatorics.sql delete mode 100644 databases/catdat/data/001_categories/008_tiny.sql delete mode 100644 databases/catdat/data/001_categories/009_one-object.sql delete mode 100644 databases/catdat/data/001_categories/010_thin.sql delete mode 100644 databases/catdat/data/001_categories/100_related-categories.sql delete mode 100644 databases/catdat/data/001_categories/200_category-tags.sql delete mode 100644 databases/catdat/data/001_categories/300_comments.sql delete mode 100644 databases/catdat/data/001_categories/400_dual-categories.sql delete mode 100644 databases/catdat/data/002_category-properties/001_limits-colimits-existence.sql delete mode 100644 databases/catdat/data/002_category-properties/002_limits-colimits-behavior.sql delete mode 100644 databases/catdat/data/002_category-properties/003_size-constraints.sql delete mode 100644 databases/catdat/data/002_category-properties/004_morphism-behavior.sql delete mode 100644 databases/catdat/data/002_category-properties/005_additional-structure.sql delete mode 100644 databases/catdat/data/002_category-properties/006_trivial-categories.sql delete mode 100644 databases/catdat/data/002_category-properties/007_locally-presentable.sql delete mode 100644 databases/catdat/data/002_category-properties/008_topos-theory.sql delete mode 100644 databases/catdat/data/002_category-properties/009_misc.sql delete mode 100644 databases/catdat/data/002_category-properties/100_related-category-properties.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/0.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/1.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/2.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Ab.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Ab_fg.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Alg(R).sql delete mode 100644 databases/catdat/data/003_category-property-assignments/B.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/BG_c.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/BG_f.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/BN.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/BOn.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Ban.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/CAlg(R).sql delete mode 100644 databases/catdat/data/003_category-property-assignments/CMon.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/CRing.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Cat.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Delta.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/FI.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/FS.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/FinAb.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/FinGrp.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/FinOrd.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/FinSet.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Fld.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/FreeAb.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Grp.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Haus.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/J2.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/LRS.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/M-Set.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Man.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Meas.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Met.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Met_c.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Met_oo.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Mon.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/N.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/N_oo.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/On.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/PMet.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Pos.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Prost.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/R-Mod.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/R-Mod_div.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Rel.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Ring.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Rng.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Sch.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/SemiGrp.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Set.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Set_c.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Set_f.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Set_pointed.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Setne.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/SetxSet.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Sh(X).sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Sh(X,Ab).sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Sp.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Top.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Top_pointed.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/TorsAb.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/TorsFreeAb.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Vect.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Z.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/Z_div.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/real_interval.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/sSet.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/walking_commutative_square.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/walking_composable_pair.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/walking_coreflexive_pair.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/walking_fork.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/walking_idempotent.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/walking_isomorphism.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/walking_morphism.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/walking_pair.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/walking_span.sql delete mode 100644 databases/catdat/data/003_category-property-assignments/walking_splitting.sql delete mode 100644 databases/catdat/data/004_category-implications/001_limits-colimits-existence-implications.sql delete mode 100644 databases/catdat/data/004_category-implications/002_limits-colimits-behavior-implications.sql delete mode 100644 databases/catdat/data/004_category-implications/003_size-constraints-implications.sql delete mode 100644 databases/catdat/data/004_category-implications/004_morphism-behavior-implications.sql delete mode 100644 databases/catdat/data/004_category-implications/005_additional-structure-implications.sql delete mode 100644 databases/catdat/data/004_category-implications/006_trivial-categories-implications.sql delete mode 100644 databases/catdat/data/004_category-implications/007_locally-presentable-implications.sql delete mode 100644 databases/catdat/data/004_category-implications/008_topos-theory-implications.sql delete mode 100644 databases/catdat/data/004_category-implications/009_misc-implications.sql delete mode 100644 databases/catdat/data/005_special-objects/001_special_object_types.sql delete mode 100644 databases/catdat/data/005_special-objects/002_initial_objects.sql delete mode 100644 databases/catdat/data/005_special-objects/003_terminal_objects.sql delete mode 100644 databases/catdat/data/005_special-objects/004_coproducts.sql delete mode 100644 databases/catdat/data/005_special-objects/005_products.sql delete mode 100644 databases/catdat/data/006_special-morphisms/001_special_morphism_types.sql delete mode 100644 databases/catdat/data/006_special-morphisms/002_isomorphisms.sql delete mode 100644 databases/catdat/data/006_special-morphisms/003_monomorphisms.sql delete mode 100644 databases/catdat/data/006_special-morphisms/004_epimorphisms.sql delete mode 100644 databases/catdat/data/006_special-morphisms/005_regular-monomorphisms.sql delete mode 100644 databases/catdat/data/006_special-morphisms/006_regular-epimorphisms.sql delete mode 100644 databases/catdat/data/007_functors/001_functor-properties.sql delete mode 100644 databases/catdat/data/007_functors/002_functor-implications.sql delete mode 100644 databases/catdat/data/007_functors/003_functor-examples.sql delete mode 100644 databases/catdat/data/008_functor-property-assignments/abelianization.sql delete mode 100644 databases/catdat/data/008_functor-property-assignments/forget_vector.sql delete mode 100644 databases/catdat/data/008_functor-property-assignments/free_group.sql delete mode 100644 databases/catdat/data/008_functor-property-assignments/id_Set.sql delete mode 100644 databases/catdat/data/008_functor-property-assignments/power_set_contravariant.sql delete mode 100644 databases/catdat/data/008_functor-property-assignments/power_set_covariant.sql delete mode 100644 databases/catdat/data/009_lemmas/001_lemmas.sql rename databases/catdat/{data_yaml => data}/categories/0.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/1.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/2.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Ab.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Ab_fg.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Alg(R).yaml (100%) rename databases/catdat/{data_yaml => data}/categories/B.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/BG_c.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/BG_f.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/BN.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/BOn.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Ban.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/CAlg(R).yaml (100%) rename databases/catdat/{data_yaml => data}/categories/CMon.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/CRing.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Cat.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Delta.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/FI.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/FS.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/FinAb.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/FinGrp.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/FinOrd.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/FinSet.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Fld.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/FreeAb.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Grp.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Haus.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/J2.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/LRS.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/M-Set.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Man.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Meas.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Met.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Met_c.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Met_oo.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Mon.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/N.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/N_oo.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/On.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/PMet.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Pos.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Prost.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/R-Mod.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/R-Mod_div.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Rel.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Ring.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Rng.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Sch.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/SemiGrp.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Set.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Set_c.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Set_f.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Set_op.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Set_pointed.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Setne.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/SetxSet.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Sh(X).yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Sh(X,Ab).yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Sp.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Top.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Top_pointed.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/TorsAb.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/TorsFreeAb.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Vect.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Z.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/Z_div.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/real_interval.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/sSet.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/walking_commutative_square.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/walking_composable_pair.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/walking_coreflexive_pair.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/walking_fork.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/walking_idempotent.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/walking_isomorphism.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/walking_morphism.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/walking_pair.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/walking_span.yaml (100%) rename databases/catdat/{data_yaml => data}/categories/walking_splitting.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/Malcev.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/NNO.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/accessible.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/additive.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/algebraic.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/cancellative.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/cartesian closed.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/completeness.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/congruences.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/connected.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/discrete.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/disjoint coproducts.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/distributivity.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/equalizers.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/exact filtered colimits.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/extensive.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/filtered + sifted.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/filtered colimits.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/generators.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/groupoids.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/initial objects.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/mono-regular.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/products.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/pullbacks.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/size.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/subobject classifiers.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/subobject-trivial.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/thin.yaml (100%) rename databases/catdat/{data_yaml => data}/category-implications/topos.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/CIP.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/CSP.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/Cauchy complete.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/Grothendieck abelian.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/Grothendieck topos.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/Malcev.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/abelian.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/accessible.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/additive.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/aleph1-accessible.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/balanced.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/binary copowers.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/binary coproducts.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/binary powers.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/binary products.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/biproducts.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/cartesian closed.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/cartesian filtered colimits.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/co-Malcev.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/coaccessible.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/cocartesian coclosed.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/cocartesian cofiltered limits.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/cocomplete.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/codistributive.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/coequalizers.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/coextensive.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/cofiltered limits.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/cofiltered-limit-stable epimorphisms.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/cofiltered.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/cogenerating set.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/cogenerator.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/cokernels.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/complete.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/connected colimits.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/connected limits.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/connected.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/conormal.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/copowers.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/coproducts.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/coquotients of cocongruences.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/core-thin.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/coreflexive equalizers.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/coregular.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/cosifted limits.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/cosifted.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/counital.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/countable copowers.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/countable coproducts.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/countable powers.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/countable products.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/countable.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/countably codistributive.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/countably distributive.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/direct.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/directed colimits.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/directed limits.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/discrete.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/disjoint coproducts.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/disjoint finite coproducts.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/disjoint finite products.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/disjoint products.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/distributive.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/effective cocongruences.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/effective congruences.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/elementary topos.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/epi-regular.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/equalizers.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/essentially countable.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/essentially discrete.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/essentially finite.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/essentially small.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/exact cofiltered limits.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/exact filtered colimits.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/extensive.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/filtered colimits.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/filtered-colimit-stable monomorphisms.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/filtered.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/finitary algebraic.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/finite copowers.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/finite coproducts.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/finite powers.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/finite products.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/finite.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/finitely accessible.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/finitely cocomplete.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/finitely complete.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/gaunt.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/generalized variety.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/generating set.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/generator.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/groupoid.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/infinitary codistributive.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/infinitary coextensive.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/infinitary distributive.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/infinitary extensive.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/inhabited.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/initial object.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/inverse.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/kernels.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/left cancellative.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/locally aleph1-presentable.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/locally cartesian closed.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/locally cocartesian coclosed.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/locally copresentable.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/locally essentially small.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/locally finitely multi-presentable.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/locally finitely presentable.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/locally multi-presentable.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/locally poly-presentable.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/locally presentable.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/locally small.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/locally strongly finitely presentable.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/mono-regular.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/multi-algebraic.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/multi-cocomplete.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/multi-complete.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/multi-initial object.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/multi-terminal object.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/natural numbers object.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/normal.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/one-way.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/pointed.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/powers.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/preadditive.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/products.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/pullbacks.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/pushouts.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/quotient object classifier.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/quotient-trivial.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/quotients of congruences.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/reflexive coequalizers.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/regular quotient object classifier.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/regular subobject classifier.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/regular.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/right cancellative.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/self-dual.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/semi-strongly connected.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/sequential colimits.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/sequential limits.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/sifted colimits.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/sifted.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/skeletal.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/small.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/split abelian.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/strict initial object.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/strict terminal object.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/strongly connected.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/subobject classifier.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/subobject-trivial.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/terminal object.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/thin.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/trivial.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/unital.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/well-copowered.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/well-powered.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/wide pullbacks.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/wide pushouts.yaml (100%) rename databases/catdat/{data_yaml => data}/category-properties/zero morphisms.yaml (100%) rename databases/catdat/{data_yaml => data}/config.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-implications/adjoints.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-implications/equivalences.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-implications/limits preservation.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-implications/misc.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-implications/monadic.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/cocontinuous.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/coequalizer-preserving.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/cofinitary.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/comonadic.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/conservative.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/continuous.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/coproduct-preserving.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/epimorphism-preserving.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/equalizer-preserving.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/equivalence.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/essentially surjective.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/exact.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/faithful.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/finitary.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/finite-coproduct-preserving.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/finite-product-preserving.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/full.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/initial-object-preserving.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/left adjoint.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/left exact.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/monadic.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/monomorphism-preserving.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/product-preserving.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/representable.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/right adjoint.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/right exact.yaml (100%) rename databases/catdat/{data_yaml => data}/functor-properties/terminal-object-preserving.yaml (100%) rename databases/catdat/{data_yaml => data}/functors/abelianization.yaml (100%) rename databases/catdat/{data_yaml => data}/functors/forget_vector.yaml (100%) rename databases/catdat/{data_yaml => data}/functors/free_group.yaml (100%) rename databases/catdat/{data_yaml => data}/functors/id_Set.yaml (100%) rename databases/catdat/{data_yaml => data}/functors/power_set_contravariant.yaml (100%) rename databases/catdat/{data_yaml => data}/functors/power_set_covariant.yaml (100%) rename databases/catdat/{data_yaml => data}/lemmas/cogenerators_in_product_categories.yaml (100%) rename databases/catdat/{data_yaml => data}/lemmas/coslice-effective-congruences.yaml (100%) rename databases/catdat/{data_yaml => data}/lemmas/effective-congruence-quotients.yaml (100%) rename databases/catdat/{data_yaml => data}/lemmas/exact_filtered_colimits_descend.yaml (100%) rename databases/catdat/{data_yaml => data}/lemmas/filtered-monos.yaml (100%) rename databases/catdat/{data_yaml => data}/lemmas/generator_construction.yaml (100%) rename databases/catdat/{data_yaml => data}/lemmas/limits_in_factor_categories.yaml (100%) rename databases/catdat/{data_yaml => data}/lemmas/missing_cogenerating_sets.yaml (100%) rename databases/catdat/{data_yaml => data}/lemmas/missing_cogenerator.yaml (100%) rename databases/catdat/{data_yaml => data}/lemmas/monic-sequential-colimits-via-congruence-quotients.yaml (100%) rename databases/catdat/{data_yaml => data}/lemmas/nno_distributive_criterion.yaml (100%) rename databases/catdat/{data_yaml => data}/lemmas/preadditive_structure_unique.yaml (100%) rename databases/catdat/{data_yaml => data}/lemmas/pushouts-of-monos-via-congruence-quotients.yaml (100%) rename databases/catdat/{data_yaml => data}/lemmas/special_sequential_colimits.yaml (100%) rename databases/catdat/{data_yaml => data}/lemmas/subobject_classifiers_coreflection.yaml (100%) rename databases/catdat/{data_yaml => data}/lemmas/thin_algebraic_categories.yaml (100%) delete mode 100644 databases/catdat/scripts/seed.yaml.ts diff --git a/databases/catdat/data/000_setup/001_clear.sql b/databases/catdat/data/000_setup/001_clear.sql deleted file mode 100644 index 69638bbe..00000000 --- a/databases/catdat/data/000_setup/001_clear.sql +++ /dev/null @@ -1,41 +0,0 @@ -PRAGMA foreign_keys = OFF; - -DELETE FROM lemmas; - -DELETE FROM category_implication_assumptions; -DELETE FROM category_implication_conclusions; -DELETE FROM category_implications; - -DELETE FROM special_morphisms; -DELETE FROM special_morphism_types; - -DELETE FROM special_objects; -DELETE FROM special_object_types; - -DELETE FROM category_property_assignments; - -DELETE FROM category_comments; -DELETE FROM related_categories; -DELETE FROM category_tag_assignments; -DELETE FROM categories; - -DELETE FROM tags; - -DELETE FROM related_category_properties; -DELETE FROM category_properties; - -DELETE FROM functor_property_assignments; -DELETE FROM functor_properties; -DELETE FROM functors; - -DELETE FROM relations; - -DELETE FROM functor_implication_assumptions; -DELETE FROM functor_implication_conclusions; -DELETE FROM functor_implication_source_assumptions; -DELETE FROM functor_implication_target_assumptions; -DELETE FROM functor_implications; - -DELETE FROM category_property_comments; - -PRAGMA foreign_keys = ON; \ No newline at end of file diff --git a/databases/catdat/data/000_setup/002_tags.sql b/databases/catdat/data/000_setup/002_tags.sql deleted file mode 100644 index b78003da..00000000 --- a/databases/catdat/data/000_setup/002_tags.sql +++ /dev/null @@ -1,14 +0,0 @@ -INSERT INTO tags (tag) -VALUES - ('algebra'), - ('algebraic geometry'), - ('analysis'), - ('category theory'), - ('combinatorics'), - ('number theory'), - ('order theory'), - ('set theory'), - ('topology'), - ('finite'), - ('thin'), - ('single object'); \ No newline at end of file diff --git a/databases/catdat/data/000_setup/003_relations.sql b/databases/catdat/data/000_setup/003_relations.sql deleted file mode 100644 index f36a207f..00000000 --- a/databases/catdat/data/000_setup/003_relations.sql +++ /dev/null @@ -1,8 +0,0 @@ -INSERT INTO relations (relation, negation, conditional) VALUES -('is', 'is not', 'would be'), -('is a', 'is not a', 'would be a'), -('is an', 'is not an', 'would be an'), -('has', 'does not have', 'would have'), -('has a', 'does not have a', 'would have a'), -('has an', 'does not have an', 'would have an'), -('satisfies', 'does not satisfy', 'would satisfy'); \ No newline at end of file diff --git a/databases/catdat/data/001_categories/001_set-theory.sql b/databases/catdat/data/001_categories/001_set-theory.sql deleted file mode 100644 index c8b7bde3..00000000 --- a/databases/catdat/data/001_categories/001_set-theory.sql +++ /dev/null @@ -1,82 +0,0 @@ -INSERT INTO categories ( - id, - name, - notation, - objects, - morphisms, - description, - nlab_link -) -VALUES -( - 'Set', - 'category of sets', - '$\Set$', - 'sets', - 'maps', - 'The category of sets plays a fundamental role in category theory. Due to the Yoneda embedding, many results about general categories can be reduced to the category of sets. It is also usually the first example of a category that one encounters.', - 'https://ncatlab.org/nlab/show/Set' -), -( - 'SetxSet', - 'category of pairs of sets', - '$\Set \times \Set$', - 'pairs $(A,B)$ of sets $A$ and $B$', - 'A morphism $(A,B) \to (C,D)$ consists of a map $A \to C$ and a map $B \to D$.', - 'This is an example of the product of categories. It inherits most (but not all) properties from $\Set$. It can also be seen as the category $\Sh(1+1)$ of sheaves on a discrete space with two points, and also as the slice category $\Set/(1+1)$.', - NULL -), -( - 'Set_op', - 'dual of the category of sets', - '$\Set^{\op}$', - 'sets', - 'A morphism $f : X \to Y$ is a map of sets $Y \to X$.', - 'By definition, this category is the dual (or opposite) of the category of sets.', - 'https://ncatlab.org/nlab/show/opposite+category' -), -( - 'Set*', - 'category of pointed sets', - '$\Set_*$', - 'pointed sets', - 'pointed maps', - 'This is the category of sets with a distinguished element, often called the base point. A map is called pointed when it preserves the base point.', - 'https://ncatlab.org/nlab/show/pointed+set' -), -( - 'Setne', - 'category of non-empty sets', - '$\Set_{\neq \varnothing}$', - 'non-empty sets', - 'maps', - 'This entry demonstrates that removing an object (the empty set) can drastically change the properties of a category. In particular, this category is neither complete nor cocomplete.', - 'https://ncatlab.org/nlab/show/inhabited+set' -), -( - 'Rel', - 'category of sets and relations', - '$\Rel$', - 'sets', - 'A morphism from $A$ to $B$ is a relation, i.e. a subset of $A \times B$.', - 'This category is self-dual as it can be: There is an isomorphism $\Rel \cong \Rel^{\op}$ that is the identity on objects and maps a relation to its opposite relation. It is the prototype of a dagger-category.', - 'https://ncatlab.org/nlab/show/Rel' -), -( - 'Set_c', - 'category of countable sets', - '$\Set_\c$', - 'countable sets', - 'maps', - 'A set is countable if it admits a surjection from $\IN$. In particular, every finite set is countable.', - NULL -), -( - 'Set_f', - 'category of sets with finite-to-one maps', - '$\Set_\f$', - 'sets', - 'maps $f : X \to Y$ with the property that for every $y \in Y$ the fiber $f^*(\{y\})$ is a finite set', - 'In this variant of $\Set$ we only consider maps with finite fibers, which are commonly called finite-to-one. Equivalently, every preimage of a finite set is again finite, and this description makes it obvious that composition is well-defined.', - NULL -); \ No newline at end of file diff --git a/databases/catdat/data/001_categories/002_algebra.sql b/databases/catdat/data/001_categories/002_algebra.sql deleted file mode 100644 index 9d6344f7..00000000 --- a/databases/catdat/data/001_categories/002_algebra.sql +++ /dev/null @@ -1,218 +0,0 @@ -INSERT INTO categories ( - id, - name, - notation, - objects, - morphisms, - description, - nlab_link -) -VALUES -( - 'Ab', - 'category of abelian groups', - '$\Ab$', - 'abelian groups', - 'group homomorphisms', - 'This is the prototype of an abelian category.', - 'https://ncatlab.org/nlab/show/Ab' -), -( - 'Grp', - 'category of groups', - '$\Grp$', - 'groups', - 'group homomorphisms', - 'This is the prototype of a finitary algebraic category.', - 'https://ncatlab.org/nlab/show/Grp' -), -( - 'SemiGrp', - 'category of semigroups', - '$\SemiGrp$', - 'semigroups, i.e. sets equipped with an associative binary operation', - 'maps preserving the binary operation', - 'In contrast to monoids, semigroups do not need to have a neutral element, and in fact, they can be empty. This small difference has a huge impact on the categorical properties. For example, we do not have a zero object anymore.', - 'https://ncatlab.org/nlab/show/semigroup' -), -( - 'Vect', - 'category of vector spaces', - '$\Vect_K$', - 'vector spaces over a field $K$', - 'linear maps', - 'This is a special case of the category of modules over a ring, where the ring is a field. It is the prototype of a split abelian category.', - 'https://ncatlab.org/nlab/show/Vect' -), -( - 'Ring', - 'category of rings', - '$\Ring$', - 'rings', - 'ring homomorphisms', - 'Here, rings always have a unit, and homomorphisms preserve them.', - 'https://ncatlab.org/nlab/show/Ring' -), -( - 'Alg(R)', - 'category of algebras', - '$\Alg(R)$', - 'algebras over a commutative ring $R \neq 0$', - 'maps preserving the ring and module structure', - 'This is a generalization of the category of rings, which we get for $R = \IZ$. We assume our rings (and algebras) to be unital. For $R = 0$ we would get the trivial category, which is why we exclude this here.', - 'https://ncatlab.org/nlab/show/Alg' -), -( - 'CRing', - 'category of commutative rings', - '$\CRing$', - 'commutative rings', - 'ring homomorphisms', - NULL, - 'https://ncatlab.org/nlab/show/CRing' -), -( - 'CAlg(R)', - 'category of commutative algebras', - '$\CAlg(R)$', - 'commutative algebras over a commutative ring $R \neq 0$', - 'maps preserving the ring and module structure', - 'This is a generalization of the category of commutative rings, which we get for $R = \IZ$. In general, $\CAlg(R) \cong R \,/\, \CRing$. We assume our rings (and algebras) to be unital. For $R = 0$ we would get the trivial category, which is why we exclude this here.', - 'https://ncatlab.org/nlab/show/CommAlg' -), -( - 'Rng', - 'category of rngs', - '$\Rng$', - 'rngs, that is, non-unital rings', - 'maps that preserve addition and multiplication', - NULL, - 'https://ncatlab.org/nlab/show/Rng' -), -( - 'Mon', - 'category of monoids', - '$\Mon$', - 'monoids', - 'monoid homomorphisms', - NULL, - 'https://ncatlab.org/nlab/show/category+of+monoids' -), -( - 'CMon', - 'category of commutative monoids', - '$\CMon$', - 'commutative monoids', - 'monoid homomorphisms', - NULL, - 'https://ncatlab.org/nlab/show/category+of+monoids' -), -( - 'M-Set', - 'category of M-sets', - '$M{-}\Set$', - 'sets with a left action of a monoid $M$', - 'maps that are compatible with the $M$-action, meaning $f(m \cdot x)=m \cdot f(x)$, also called $M$-maps', - 'Here, $M$ can be any monoid. But the most important special case is that of a group. To settle (future) non-properties, we assume that $M$ is non-trivial, since otherwise we just get the category of sets.', - 'https://ncatlab.org/nlab/show/MSet' -), -( - 'R-Mod', - 'category of left modules over a ring', - '$R{-}\Mod$', - 'left $R$-modules', - '$R$-linear maps', - 'This is the prototype of an abelian category. The category of right modules is the same with the opposite ring $R^{\op}$, hence not listed here.
- To settle the unsatisfied properties, we make the assumption that $R$ is not semisimple: If $R$ is semisimple, then by the Artin-Wedderburn theorem, the category is equivalent to a finite direct product of categories $D{-}\Mod$ for division rings $D$, and the case of division rings is in a separate entry. In particular, $R \neq 0$ and $R$ is not a field.', - 'https://ncatlab.org/nlab/show/module' -), -( - 'R-Mod_div', - 'category of left modules over a division ring', - '$R{-}\Mod$', - 'left $R$-modules', - '$R$-linear maps', - 'Here, we assume that $R$ is a non-commutative division ring, i.e. a skew-field which is not a field. The category of modules behaves mostly the same as in the commutative case.', - 'https://ncatlab.org/nlab/show/module' -), -( - 'Fld', - 'category of fields', - '$\Fld$', - 'fields', - 'field homomorphisms (i.e., ring homomorphisms)', - 'This is a typical example of a bad category of good objects.', - 'https://ncatlab.org/nlab/show/Field' -), -( - 'FinAb', - 'category of finite abelian groups', - '$\FinAb$', - 'finite abelian groups', - 'group homomorphisms', - NULL, - 'https://ncatlab.org/nlab/show/finite+abelian+group' -), -( - 'FinGrp', - 'category of finite groups', - '$\FinGrp$', - 'finite groups', - 'group homomorphisms', - NULL, - 'https://ncatlab.org/nlab/show/finite+group' -), -( - 'Ab_fg', - 'category of finitely generated abelian groups', - '$\Ab_{\fg}$', - 'finitely generated abelian groups', - 'group homomorphisms', - NULL, - 'https://ncatlab.org/nlab/show/finitely+generated+module' -), -( - 'FreeAb', - 'category of free abelian groups', - '$\FreeAb$', - 'free abelian groups', - 'group homomorphisms', - NULL, - NULL -), -( - 'TorsFreeAb', - 'category of torsion-free abelian groups', - '$\TorsFreeAb$', - 'torsion-free abelian groups', - 'group homomorphisms', - 'This is a typical example of a well-behaved additive category which is not abelian. It contains the category of free abelian groups.', - 'https://ncatlab.org/nlab/show/torsion-free+module' -), -( - 'TorsAb', - 'category of torsion abelian groups', - '$\TorsAb$', - 'torsion abelian groups', - 'group homomorphisms', - 'This is a Grothendieck abelian category containing all finite abelian groups.', - 'https://ncatlab.org/nlab/show/torsion+subgroup' -), -( - 'Cat', - 'category of small categories', - '$\Cat$', - 'small categories', - 'functors', - 'This is the category of small categories and functors between them. It is the prototype of a 2-category, but here we only treat it as a 1-category.', - 'https://ncatlab.org/nlab/show/Cat' -), -( - 'J2', - 'category of Jónsson-Tarski algebras', - '$\J_2$', - 'pairs $(X,\alpha)$, where $X$ is a set and $\alpha : X \to X \times X$ is an isomorphism', - 'A morphism $(X,\alpha) \to (Y,\beta)$ is a map $f : X \to Y$ satisfying $$(f \times f) \circ \alpha = \beta \circ f.$$', - 'This is interesting example of a category in the intersection of topos theory and algebra.', - 'https://ncatlab.org/nlab/show/J%C3%B3nsson-Tarski+algebra' -); diff --git a/databases/catdat/data/001_categories/003_analysis.sql b/databases/catdat/data/001_categories/003_analysis.sql deleted file mode 100644 index 0eb87edf..00000000 --- a/databases/catdat/data/001_categories/003_analysis.sql +++ /dev/null @@ -1,64 +0,0 @@ -INSERT INTO categories ( - id, - name, - notation, - objects, - morphisms, - description, - nlab_link -) -VALUES -( - 'Ban', - 'category of Banach spaces with linear contractions', - '$\Ban$', - 'Banach spaces over $\IC$', - 'linear contractions, i.e. linear maps of norm $\leq 1$', - 'The choice of morphisms is similar to that of $\Met$ which yields better categorical properties.', - 'https://ncatlab.org/nlab/show/Banach+space' -), -( - 'Meas', - 'category of measurable spaces', - '$\Meas$', - 'measurable spaces', - 'measurable maps', - 'This is very similar to the category of topological spaces. Accordingly, limits and colimits can be constructed in the same way.', - 'https://ncatlab.org/nlab/show/Meas' -), -( - 'Met', - 'category of metric spaces with non-expansive maps', - '$\Met$', - 'metric spaces', - 'non-expansive maps $f$, meaning $d(f(x),f(y)) \leq d(x,y)$ for all $x,y$', - 'In contrast to continuous maps, which only refer to the induced topology, non-expansive maps are closer related to the metrics themselves. This category is badly-behaved, though, especially when compared with $\Met_{\infty}$.', - 'https://ncatlab.org/nlab/show/Met' -), -( - 'PMet', - 'category of pseudo-metric spaces with non-expansive maps', - '$\PMet$', - 'pseudo-metric spaces', - 'non-expansive maps $f$, meaning $d(f(x),f(y)) \leq d(x,y)$ for all $x,y$', - 'In contrast to metric spaces, we do not demand $d(x,y)=0 \implies x=y$ here.', - NULL -), -( - 'Met_oo', - 'category of metric spaces with ∞ allowed', - '$\Met_{\infty}$', - 'metric spaces, where the metric is allowed to assume the value $\infty$', - 'non-expansive maps $f$, meaning $d(f(x),f(y)) \leq d(x,y)$ for all $x,y$', - 'The fact that we allow $\infty$ means that universal constructions work much better when compared to $\Met$.', - 'https://ncatlab.org/nlab/show/Met' -), -( - 'Met_c', - 'category of metric spaces with continuous maps', - '$\Met_c$', - 'metric spaces', - 'continuous maps', - 'This category is equivalent to the subcategory of $\Top$ (or $\Haus$) that consists of metrizable topological spaces. Hence, the metrics only play a secondary role here.', - 'https://ncatlab.org/nlab/show/metrisable+topological+space' -); \ No newline at end of file diff --git a/databases/catdat/data/001_categories/004_topology.sql b/databases/catdat/data/001_categories/004_topology.sql deleted file mode 100644 index d29e82b1..00000000 --- a/databases/catdat/data/001_categories/004_topology.sql +++ /dev/null @@ -1,64 +0,0 @@ -INSERT INTO categories ( - id, - name, - notation, - objects, - morphisms, - description, - nlab_link -) -VALUES -( - 'Top', - 'category of topological spaces', - '$\Top$', - 'topological spaces', - 'continuous functions', - 'This is the most basic category of geometric objects.', - 'https://ncatlab.org/nlab/show/Top' -), -( - 'Top*', - 'category of pointed topological spaces', - '$\Top_*$', - 'pointed topological spaces', - 'pointed continuous functions', - 'This category plays an important role in algebraic topology and homotopy theory. Although it may appear similar to $\Top$, adding a base point drastically changes its categorical properties. In particular, it introduces a zero object.', - 'https://ncatlab.org/nlab/show/pointed+topological+space' -), -( - 'Haus', - 'category of Hausdorff spaces', - '$\Haus$', - 'Hausdorff spaces', - 'continuous functions', - 'This is the full subcategory of $\Top$ consisting of those spaces that are Hausdorff.', - 'https://ncatlab.org/nlab/show/Hausdorff+space' -), -( - 'sSet', - 'category of simplicial sets', - '$\sSet$', - 'simplicial sets, i.e. functors $\Delta^{\op} \to \Set$ where $\Delta$ is the simplex category', - 'natural transformations', - NULL, - 'https://ncatlab.org/nlab/show/SimpSet' -), -( - 'Man', - 'category of smooth manifolds', - '$\Man$', - 'smooth manifolds', - 'smooth maps', - 'Here, a smooth manifold is defined as a second-countable Hausdorff space with a smooth atlas. The dimension is locally constant, not necessarily constant.', - 'https://ncatlab.org/nlab/show/Diff' -), -( - 'Delta', - 'simplex category', - '$\Delta$', - 'the non-empty ordered sets $[n] := \{0 < \cdots < n\}$ for $n \in \IN$', - 'order-preserving maps', - 'The simplex category is a skeleton of $\FinOrd \setminus \{\varnothing\}$. It plays an important role in topology and is used to define the category of simplicial sets.', - 'https://ncatlab.org/nlab/show/simplex+category' -); \ No newline at end of file diff --git a/databases/catdat/data/001_categories/005_algebraic-geometry.sql b/databases/catdat/data/001_categories/005_algebraic-geometry.sql deleted file mode 100644 index 8fb48479..00000000 --- a/databases/catdat/data/001_categories/005_algebraic-geometry.sql +++ /dev/null @@ -1,55 +0,0 @@ -INSERT INTO categories ( - id, - name, - notation, - objects, - morphisms, - description, - nlab_link -) -VALUES -( - 'Sh(X)', - 'category of sheaves', - '$\Sh(X)$', - 'sheaves of sets on a topological space $X$', - 'morphisms of sheaves', - 'Here, we assume that the topological space $X$ is neither discrete nor indiscrete, since otherwise this category is just a product of copies of $\Set$. Another valid notation is $\Sh(X,\Set)$.', - 'https://ncatlab.org/nlab/show/category+of+sheaves' -), -( - 'Sh(X,Ab)', - 'category of abelian sheaves', - '$\Sh(X,\Ab)$', - 'sheaves of abelian groups on a topological space $X$', - 'morphisms of sheaves', - 'Here, we assume that the topological space $X$ is neither discrete nor indiscrete, since otherwise this category is just a product of copies of $\Ab$.', - 'https://ncatlab.org/nlab/show/sheaf+of+abelian+groups' -), -( - 'LRS', - 'category of locally ringed spaces', - '$\LRS$', - 'locally ringed spaces', - 'morphisms of locally ringed spaces, thus consisting of a continuous map and a homomorphism of sheaves that induces local ring homomorphisms in the stalks', - NULL, - 'https://ncatlab.org/nlab/show/locally+ringed+topological+space' -), -( - 'Sch', - 'category of schemes', - '$\Sch$', - 'schemes', - 'morphisms of locally ringed spaces', - NULL, - 'https://ncatlab.org/nlab/show/scheme' -), -( - 'Z', - 'category of Z-functors', - '$[\CRing, \Set]$', - 'Z-functors, i.e. functors from commutative rings to sets', - 'natural transformations', - 'This category is used in functorial algebraic geometry. It also provides a typical example of a functor category that is not locally small, but nevertheless relevant. Most of its properties are directly derived from the category of sets, so other functor categories $[\C, \Set]$ for large categories $\C$ will be similar.', - NULL -); \ No newline at end of file diff --git a/databases/catdat/data/001_categories/006_order-theory.sql b/databases/catdat/data/001_categories/006_order-theory.sql deleted file mode 100644 index 73a8a773..00000000 --- a/databases/catdat/data/001_categories/006_order-theory.sql +++ /dev/null @@ -1,37 +0,0 @@ -INSERT INTO categories ( - id, - name, - notation, - objects, - morphisms, - description, - nlab_link -) -VALUES -( - 'Pos', - 'category of posets', - '$\Pos$', - 'partially ordered sets (aka posets), i.e. sets equipped with a reflexive, transitive, antisymmetric relation', - 'order-preserving functions', - 'Even though there are many similarities with $\Prost$, the main difference is that the forgetful functor $\Pos \to \Set$ has no right adjoint.', - 'https://ncatlab.org/nlab/show/Pos' -), -( - 'Prost', - 'category of prosets', - '$\Prost$', - 'preordered sets (aka prosets), i.e. sets equipped with a reflexive, transitive relation', - 'order-preserving functions', - 'Even though there are many similarities with $\Pos$, the main difference is that the forgetful functor $\Prost \to \Set$ has a right adjoint, mapping $X$ to $(X , X \times X)$ (chaotic preorder).', - 'https://ncatlab.org/nlab/show/Prost' -), -( - 'FinOrd', - 'category of finite ordered sets', - '$\FinOrd$', - 'finite (totally) ordered sets', - 'order-preserving maps', - 'The finite ordered sets of the form $\{1 < \dotsc < n\}$ for $n \in \IN$ provide a skeleton (including the empty set for $n = 0$), the augmented simplex category.', - 'https://ncatlab.org/nlab/show/total+order' -); \ No newline at end of file diff --git a/databases/catdat/data/001_categories/007_combinatorics.sql b/databases/catdat/data/001_categories/007_combinatorics.sql deleted file mode 100644 index e16a5689..00000000 --- a/databases/catdat/data/001_categories/007_combinatorics.sql +++ /dev/null @@ -1,55 +0,0 @@ -INSERT INTO categories ( - id, - name, - notation, - objects, - morphisms, - description, - nlab_link -) -VALUES -( - 'FinSet', - 'category of finite sets', - '$\FinSet$', - 'finite sets', - 'maps', - NULL, - 'https://ncatlab.org/nlab/show/FinSet' -), -( - 'B', - 'category of finite sets and bijections', - '$\IB$', - 'finite sets', - 'bijective maps', - 'This category is also known as the permutation groupoid. It appears in the definition of a combinatorial species.', - 'https://ncatlab.org/nlab/show/permutation+groupoid' -), -( - 'FI', - 'category of finite sets and injections', - '$\FI$', - 'finite sets', - 'injective maps', - 'This category is badly-behaved in itself, but plays an important role in representation theory.', - NULL -), -( - 'FS', - 'category of finite sets and surjections', - '$\FS$', - 'finite sets', - 'surjective maps', - 'This category is badly-behaved in itself, but it appears in representation theory. It has two connected components, consisting of the empty set and the non-empty finite sets.', - NULL -), -( - 'Sp', - 'category of combinatorial species', - '$\Sp$', - 'combinatorial species, defined as functors $\IB \to \FinSet$, where $\IB$ is the category of finite sets and bijections', - 'natural transformations', - 'Most categorical properties are immediately inferred from $\FinSet$. Notice that this category is not locally small; it is just equivalent to a locally small category.', - 'https://ncatlab.org/nlab/show/species' -); \ No newline at end of file diff --git a/databases/catdat/data/001_categories/008_tiny.sql b/databases/catdat/data/001_categories/008_tiny.sql deleted file mode 100644 index d4c2b36d..00000000 --- a/databases/catdat/data/001_categories/008_tiny.sql +++ /dev/null @@ -1,131 +0,0 @@ -INSERT INTO categories ( - id, - name, - notation, - objects, - morphisms, - description, - nlab_link -) -VALUES -( - '0', - 'empty category', - '$\0$', - 'no objects', - 'no morphisms', - 'This is the category with no objects and no morphisms. It is the initial object in the category of small categories.', - 'https://ncatlab.org/nlab/show/empty+category' -), -( - '1', - 'trivial category', - '$\1$', - 'a single object $0$', - 'only the identity morphism', - 'This is the simplest category, consisting of a single object $0$ and its identity morphism $0 \to 0$. A concrete representation is the full subcategory of $\Set$ consisting of the empty set. It is the terminal object in the category of small categories.', - 'https://ncatlab.org/nlab/show/terminal+category' -), -( - '2', - 'discrete category on two objects', - '$\2$', - 'two objects $0$ and $1$', - 'only the two identity morphisms', - 'A concrete representation is the full subcategory of $\CRing$ consisting of the two fields $\IF_2$ and $\IF_3$.', - NULL -), -( - 'walking_morphism', - 'walking morphism', - '$\{0 \to 1\}$', - '$0$, $1$', - 'the two identities and a single morphism from $0$ to $1$', - 'This is also known as the interval category. It has the property that functors $\{0 \to 1\} \to \C$ are the same as morphisms in $\C$.', - 'https://ncatlab.org/nlab/show/interval+category' -), -( - 'walking_pair', - 'walking parallel pair', - '$\{0 \rightrightarrows 1 \}$', - 'two objects $0$ and $1$', - 'the two identities and two parallel morphisms from $0$ to $1$', - 'The name of this category comes from the fact that it consists of two parallel morphisms, and a functor out of this category is the same as a parallel pair of morphisms in the target category.', - 'https://ncatlab.org/nlab/show/walking+structure' -), -( - 'walking_isomorphism', - 'walking isomorphism', - '$\{0 \rightleftarrows 1\}$', - 'two objects $0$ and $1$', - 'identities, and two morphisms $0 \to 1$ and $1 \to 0$ that are mutually inverse', - 'The name of this category comes from the fact that it consists of two objects and an isomorphism between them, and a functor out of this category is the same as an isomorphism in the target category. The walking isomorphism is actually equivalent to the trivial category.', - 'https://ncatlab.org/nlab/show/walking+isomorphism' -), -( - 'walking_composable_pair', - 'walking composable pair', - '$\{ 0 \to 1 \to 2 \}$', - 'three objects $0,1,2$', - 'a single morphism from each natural number to one greater than or equal to it', - 'The name of this category comes from the fact that a functor out of it is the same as a composable pair of morphisms.', - 'https://ncatlab.org/nlab/show/composable+pair' -), -( - 'walking_fork', - 'walking fork', - '$\{0 \to 1 \rightrightarrows 2\}$', - 'three objects $0,1,2$', - 'one morphism $i : 0 \to 1$, two morphisms $f,g : 1 \rightrightarrows 2$, one morphism $0 \to 2$ (namely, $f \circ i = g \circ i$), and the identities', - 'The name of this category comes from the fact that a functor out of it is the same as a fork.', - NULL -), -( - 'walking_commutative_square', - 'walking commutative square', - '$\{0 \to 1\}^2$', - 'four objects $a,b,c,d$', - 'morphisms $a \to b$, $b \to d$, $a \to c$, $c \to d$, identities, and one morphism $a \to d$', - 'This category consists of a commutative square: - $$\begin{CD} a @>>> b \\ @VVV @VVV \\ c @>>> d \end{CD}$$ - Its name comes from the fact that a functor out of it is the same as a commutative square in the target category. Notice that the category is isomorphic to the product category $\{0 \to 1\} \times \{0 \to 1\}$ of the walking morphism with itself. Hence, most (but not all) properties are inherited from it. It is also isomorphic to the partial order of positive divisors of $6$.', - 'https://ncatlab.org/nlab/show/commutative+square' -), -( - 'walking_span', - 'walking span', - '$\{1 \leftarrow 0 \rightarrow 2\}$', - '$0,1,2$', - '$0 \to 1$, $0 \to 2$, and the identities', - 'The name of this category comes from the fact that a functor out of it is the same as a span in the target category. It is isomorphic to the partial order of proper positive divisors of $6$.', - 'https://ncatlab.org/nlab/show/span#the_walking_span' -), -( - 'walking_idempotent', - 'walking idempotent', - '$\Idem$', - 'a single object $0$', - 'two morphisms $\id_0,e : 0 \to 0$ with $e^2=e$', - 'The name of this category comes from the fact that a functor out of it is the same as an idempotent morphism in the target category. It can also be seen as the delooping of the monoid $\{1,e\}$ in which $e^2=e$.', - NULL -), -( - 'walking_splitting', - 'walking splitting', - '$\Split$', - 'two objects $0$ and $1$', - 'the identities, morphisms $i : 0 \to 1$, $p : 1 \to 0$ satisfying $pi = \id_0$, and the idempotent $ip : 1 \to 1$.', - 'This category could also be called the "walking split idempotent" (or "walking section", "walking retraction"), but we chose a name that emphasizes that the splitting belongs to the data. Notice that the $5$ given morphisms are indeed closed under composition. For example, $p \circ ip = p$ and $ip \circ i = i$.
The walking splitting can be interpreted as a skeleton of the category of $\IF_2$-vector spaces of dimension $\leq 1$.', - NULL -), -( - 'walking_coreflexive_pair', - 'walking coreflexive pair', - '$\Delta^{\leq 1}$', - 'two objects $[0]$ and $[1]$', - 'the identities, two morphisms $i,j : [0] \rightrightarrows [1]$, a morphism $p : [1] \to [0]$ with $p i = p j = \id_{[0]}$, and the two idempotent morphisms $ip, jp : [1] \to [1]$.', - 'This category is equal to the truncated simplex category $\Delta^{\leq 1}$, i.e. the full subcategory of $\Delta$ spanned by $[0] = \{0\}$ and $[1] = \{0 < 1\}$; this also explains our notation of the category and its objects. - $$[0] \begin{array}{c} \xhookrightarrow{~~i~~} \\ \xtwoheadleftarrow{~~p~~} \\ \xhookrightarrow{~~j~~} \end{array} [1]$$ - The morphisms $i,j$ are the two inclusions, $p$ is their unique retraction, and $ip,jp : [1] \to [1]$ are the two constant maps. The name of this category comes from the fact that a functor out of it is the same as a coreflexive pair in the target category. Its dual is therefore the walking reflexive pair.', - NULL -); \ No newline at end of file diff --git a/databases/catdat/data/001_categories/009_one-object.sql b/databases/catdat/data/001_categories/009_one-object.sql deleted file mode 100644 index 320d1ebf..00000000 --- a/databases/catdat/data/001_categories/009_one-object.sql +++ /dev/null @@ -1,46 +0,0 @@ -INSERT INTO categories ( - id, - name, - notation, - objects, - morphisms, - description, - nlab_link -) -VALUES -( - 'BG_c', - 'delooping of an infinite countable group', - '$BG$', - 'a single object', - 'the elements of an infinite countable group $G$', - 'Every group $G$ yields a groupoid $BG$ with a single object $*$, morphisms given by the elements of $G$, and composition given by the group operation. In this example, we consider the case of an infinite countable group $G$ (such as $G = \IZ$).', - 'https://ncatlab.org/nlab/show/delooping' -), -( - 'BG_f', - 'delooping of a non-trivial finite group', - '$BG$', - 'a single object', - 'the elements of a non-trivial finite group $G$', - 'Every group $G$ yields a groupoid $BG$ with a single object $*$, morphisms given by the elements of $G$, and composition given by the group operation. In this example, we consider the case of a non-trivial finite group $G$ (such as $G = C_2$).', - 'https://ncatlab.org/nlab/show/delooping' -), -( - 'BN', - 'delooping of the additive monoid of natural numbers', - '$B\IN$', - 'a single object', - 'the natural numbers, with addition serving as composition', - 'Every monoid $M$ induces a category $BM$ with a single object $*$, morphisms given by the elements of $M$, and composition given by the monoid operation. Some of the properties of this category depend on the specific monoid. In this example, we take the commutative monoid $M = (\IN,+,0)$, so composition is $n \circ m = n + m$.', - NULL -), -( - 'BOn', - 'delooping of the additive monoid of ordinal numbers', - '$B\On$', - 'a single object', - 'ordinal numbers, with addition as composition', - 'Every monoid $M$ induces a category $BM$ with a single object $*$. This also works when $M$ is large, in which case $BM$ is not locally small. In this example, we apply this construction to the large monoid of ordinal numbers with respect to addition, so composition is $\alpha \circ \beta = \alpha + \beta$.', - NULL -); \ No newline at end of file diff --git a/databases/catdat/data/001_categories/010_thin.sql b/databases/catdat/data/001_categories/010_thin.sql deleted file mode 100644 index c873f56a..00000000 --- a/databases/catdat/data/001_categories/010_thin.sql +++ /dev/null @@ -1,55 +0,0 @@ -INSERT INTO categories ( - id, - name, - notation, - objects, - morphisms, - description, - nlab_link -) -VALUES -( - 'N', - 'poset of natural numbers', - '$(\IN,\leq)$', - 'natural numbers $0, 1, 2, \dotsc$', - 'a unique morphism $(n,m) : n \to m$ if $n \leq m$', - 'This can also be seen as the path category of the infinite linear graph $\bullet \to \bullet \to \bullet \to \cdots$.', - NULL -), -( - 'real_interval', - 'poset [0,1]', - '$([0,1],\leq)$', - 'real numbers between $0$ and $1$', - 'a unique morphism $(s,t) : s \to t$ when $s \leq t$', - 'Every poset can be regarded as a small thin category. This is a specific example. This category is locally $\aleph_1$-presentable (in fact, every object is $\aleph_1$-presentable), but not locally finitely presentable (in fact, only $0$ is finitely presentable).', - 'https://ncatlab.org/nlab/show/interval' -), -( - 'Z_div', - 'proset of integers w.r.t. divisibility', - '$(\IZ,\mid)$', - 'integers', - 'a unique morphism $(a,b) : a \to b$ if $a$ divides $b$', - 'This is a proset, not a poset, because $a$ and $-a$ divide each other, but are not equal for $a \neq 0$. Notice that this category is equivalent (but not isomorphic) to $(\IN,\mid)$.', - NULL -), -( - 'N_oo', - 'poset of extended natural numbers', - '$(\IN_\infty, \leq)$', - 'natural numbers and $\infty$', - 'a unique morphism $(n, m) : n \to m$ if $n \leq m$, where of course $n \leq \infty$ for all $n$', - NULL, - NULL -), -( - 'On', - 'poset of ordinal numbers', - '$(\On,\leq)$', - 'ordinal numbers', - 'a unique morphism $(\alpha,\beta): \alpha \to \beta$ if $\alpha \leq \beta$', - 'This is a large variant of the poset of natural numbers.', - NULL -); \ No newline at end of file diff --git a/databases/catdat/data/001_categories/100_related-categories.sql b/databases/catdat/data/001_categories/100_related-categories.sql deleted file mode 100644 index cad1441c..00000000 --- a/databases/catdat/data/001_categories/100_related-categories.sql +++ /dev/null @@ -1,192 +0,0 @@ -INSERT INTO related_categories (category_id, related_category_id) -VALUES -('0', '1'), -('1', '0'), -('1', '2'), -('2', '1'), -('Ab', 'CMon'), -('Ab', 'FinAb'), -('Ab', 'Grp'), -('Ab', 'R-Mod'), -('Ab', 'FreeAb'), -('Ab', 'TorsFreeAb'), -('Ab', 'TorsAb'), -('Ab_fg', 'Ab'), -('Ab_fg', 'FinAb'), -('Alg(R)', 'CAlg(R)'), -('Alg(R)', 'R-Mod'), -('Alg(R)', 'Ring'), -('Ban','Met'), -('B', 'FI'), -('B', 'FS'), -('BG_c', 'BG_f'), -('BG_c', 'BN'), -('BG_f', 'BG_c'), -('BG_f', 'BN'), -('BN', 'BG_c'), -('BN', 'BOn'), -('BOn', 'BN'), -('CAlg(R)', 'Alg(R)'), -('CAlg(R)', 'CRing'), -('CAlg(R)', 'R-Mod'), -('Cat', 'Set'), -('Cat', 'Mon'), -('CMon','Ab'), -('CMon','CRing'), -('CMon','Mon'), -('CRing', 'CAlg(R)'), -('CRing', 'Ring'), -('CRing', 'Rng'), -('Delta', 'sSet'), -('Delta', 'FinOrd'), -('Delta', 'Setne'), -('Delta', 'walking_coreflexive_pair'), -('FI', 'B'), -('FI', 'FS'), -('FI', 'FinSet'), -('FS', 'B'), -('FS', 'FI'), -('FS', 'FinSet'), -('FinAb', 'Ab'), -('FinAb', 'Ab_fg'), -('FinAb', 'FinGrp'), -('FinAb', 'TorsAb'), -('FinOrd', 'FinSet'), -('FinOrd', 'Pos'), -('FinOrd', 'Delta'), -('FinSet', 'Set'), -('FinSet', 'Set_c'), -('FinSet', 'Set_f'), -('FinSet', 'FI'), -('FinSet', 'FS'), -('Fld', 'CRing'), -('FreeAb', 'Ab'), -('FreeAb', 'TorsFreeAb'), -('Grp', 'FinGrp'), -('Grp', 'Ab'), -('Grp', 'Mon'), -('Grp', 'SemiGrp'), -('FinGrp', 'Grp'), -('FinGrp', 'FinAb'), -('Haus', 'Top'), -('Haus', 'Met_c'), -('J2', 'M-Set'), -('LRS', 'Sch'), -('M-Set', 'R-Mod'), -('M-Set', 'Set'), -('M-Set', 'J2'), -('Man', 'Top'), -('Man', 'Haus'), -('Meas', 'Top'), -('Met', 'Met_c'), -('Met', 'Met_oo'), -('Met', 'Ban'), -('Met', 'PMet'), -('Met_c', 'Met'), -('Met_c', 'Met_oo'), -('Met_c', 'Top'), -('Met_c', 'Haus'), -('Met_oo', 'Met'), -('Met_oo', 'Met_c'), -('Mon', 'CMon'), -('Mon', 'Grp'), -('Mon', 'Cat'), -('Mon', 'SemiGrp'), -('N', 'N_oo'), -('N', 'On'), -('N', 'Z_div'), -('N_oo', 'N'), -('N_oo', 'On'), -('On', 'N'), -('PMet', 'Met'), -('Pos', 'FinOrd'), -('Pos', 'Prost'), -('Prost', 'Pos'), -('R-Mod', 'Ab'), -('R-Mod', 'M-Set'), -('R-Mod', 'R-Mod_div'), -('R-Mod', 'Vect'), -('R-Mod_div', 'R-Mod'), -('R-Mod_div', 'Vect'), -('Rel', 'Set'), -('Ring', 'Alg(R)'), -('Ring', 'CRing'), -('Ring', 'Rng'), -('Rng', 'CRing'), -('Rng', 'Ring'), -('Sch', 'LRS'), -('Sch', 'Z'), -('SemiGrp', 'Mon'), -('SemiGrp', 'Grp'), -('Set_c', 'Set'), -('Set_c', 'FinSet'), -('Set_f', 'Set'), -('Set_f', 'FinSet'), -('Set', 'FinSet'), -('Set', 'Set_c'), -('Set', 'Set_f'), -('Set', 'Set*'), -('Set', 'SetxSet'), -('Set*', 'Set'), -('Set*', 'Top*'), -('Setne', 'Set'), -('SetxSet', 'Set'), -('SetxSet', 'Sh(X)'), -('Sh(X)', 'Set'), -('Sh(X)', 'SetxSet'), -('Sh(X)', 'Sh(X,Ab)'), -('Sh(X,Ab)', 'Ab'), -('Sh(X,Ab)', 'Sh(X)'), -('Sp', 'B'), -('Sp', 'FinSet'), -('sSet', 'Delta'), -('sSet', 'Top'), -('Top', 'Met_c'), -('Top', 'Haus'), -('Top', 'Top*'), -('Top*', 'Top'), -('Top*', 'Set*'), -('TorsFreeAb', 'Ab'), -('TorsFreeAb', 'FreeAb'), -('TorsFreeAb', 'TorsAb'), -('TorsAb', 'TorsFreeAb'), -('TorsAb', 'Ab'), -('TorsAb', 'FinAb'), -('Vect', 'R-Mod'), -('Vect', 'R-Mod_div'), -('Z', 'Sch'), -('Z', 'Set'), -('Z_div', 'N'), -('real_interval', 'N_oo'), -('walking_commutative_square', 'walking_morphism'), -('walking_commutative_square', 'walking_fork'), -('walking_composable_pair', 'walking_morphism'), -('walking_composable_pair', 'walking_fork'), -('walking_fork', 'walking_composable_pair'), -('walking_fork', 'walking_pair'), -('walking_fork', 'walking_commutative_square'), -('walking_idempotent', 'walking_morphism'), -('walking_idempotent', 'walking_isomorphism'), -('walking_idempotent', 'BG_f'), -('walking_idempotent', 'walking_splitting'), -('walking_isomorphism', '1'), -('walking_isomorphism', 'walking_morphism'), -('walking_isomorphism', 'walking_idempotent'), -('walking_morphism', 'walking_isomorphism'), -('walking_morphism', 'walking_pair'), -('walking_morphism', 'walking_commutative_square'), -('walking_morphism', 'walking_composable_pair'), -('walking_morphism', 'walking_span'), -('walking_morphism', 'walking_idempotent'), -('walking_morphism', 'walking_splitting'), -('walking_pair', 'walking_morphism'), -('walking_pair', 'walking_fork'), -('walking_pair', 'walking_coreflexive_pair'), -('walking_coreflexive_pair', 'walking_pair'), -('walking_coreflexive_pair', 'walking_splitting'), -('walking_coreflexive_pair', 'Delta'), -('walking_span', 'walking_morphism'), -('walking_span', 'walking_pair'), -('walking_splitting', 'walking_idempotent'), -('walking_splitting', 'walking_isomorphism'), -('walking_splitting', 'walking_coreflexive_pair'); \ No newline at end of file diff --git a/databases/catdat/data/001_categories/200_category-tags.sql b/databases/catdat/data/001_categories/200_category-tags.sql deleted file mode 100644 index 95dfde10..00000000 --- a/databases/catdat/data/001_categories/200_category-tags.sql +++ /dev/null @@ -1,126 +0,0 @@ -INSERT INTO category_tag_assignments (category_id, tag) -VALUES -('0', 'finite'), -('0', 'thin'), -('1', 'finite'), -('1', 'single object'), -('1', 'thin'), -('2', 'finite'), -('2', 'thin'), -('Ab', 'algebra'), -('Ab_fg', 'algebra'), -('Alg(R)', 'algebra'), -('B', 'combinatorics'), -('B', 'set theory'), -('Ban', 'analysis'), -('BG_c', 'single object'), -('BG_c', 'algebra'), -('BG_c', 'category theory'), -('BG_f', 'single object'), -('BG_f', 'algebra'), -('BG_f', 'finite'), -('BG_f', 'category theory'), -('BN', 'single object'), -('BN', 'number theory'), -('BN', 'category theory'), -('BOn', 'single object'), -('BOn', 'set theory'), -('CAlg(R)', 'algebra'), -('Cat', 'algebra'), -('Cat', 'category theory'), -('CMon', 'algebra'), -('CRing', 'algebra'), -('Delta', 'order theory'), -('Delta', 'topology'), -('Delta', 'combinatorics'), -('FI', 'combinatorics'), -('FI', 'set theory'), -('FinAb', 'algebra'), -('FinGrp', 'algebra'), -('FinOrd', 'order theory'), -('FinOrd', 'topology'), -('FinSet', 'set theory'), -('Fld', 'algebra'), -('FreeAb', 'algebra'), -('FS', 'combinatorics'), -('FS', 'set theory'), -('Grp', 'algebra'), -('Haus', 'topology'), -('J2', 'algebra'), -('J2', 'set theory'), -('LRS', 'algebraic geometry'), -('M-Set', 'algebra'), -('Man', 'topology'), -('Man', 'analysis'), -('Meas', 'analysis'), -('Met', 'analysis'), -('Met_c', 'analysis'), -('Met_oo', 'analysis'), -('Mon', 'algebra'), -('N', 'number theory'), -('N', 'thin'), -('N_oo', 'number theory'), -('N_oo', 'thin'), -('On', 'set theory'), -('On', 'thin'), -('PMet', 'analysis'), -('Pos', 'order theory'), -('Prost', 'order theory'), -('R-Mod', 'algebra'), -('R-Mod_div', 'algebra'), -('real_interval', 'analysis'), -('real_interval', 'thin'), -('Rel', 'set theory'), -('Ring', 'algebra'), -('Rng', 'algebra'), -('Sch', 'algebraic geometry'), -('SemiGrp', 'algebra'), -('Set_c', 'set theory'), -('Set_f', 'set theory'), -('Set', 'set theory'), -('Set*', 'set theory'), -('Set_op', 'set theory'), -('Setne', 'set theory'), -('SetxSet', 'set theory'), -('Sh(X)', 'algebraic geometry'), -('Sh(X)', 'topology'), -('Sh(X,Ab)', 'algebraic geometry'), -('Sh(X,Ab)', 'topology'), -('Sp', 'combinatorics'), -('sSet', 'topology'), -('sSet', 'category theory'), -('Top', 'topology'), -('Top*', 'topology'), -('TorsFreeAb', 'algebra'), -('TorsAb', 'algebra'), -('Vect', 'algebra'), -('walking_commutative_square', 'finite'), -('walking_commutative_square', 'category theory'), -('walking_commutative_square', 'thin'), -('walking_composable_pair', 'finite'), -('walking_composable_pair', 'category theory'), -('walking_composable_pair', 'thin'), -('walking_fork', 'finite'), -('walking_fork', 'category theory'), -('walking_idempotent', 'finite'), -('walking_idempotent', 'category theory'), -('walking_idempotent', 'single object'), -('walking_isomorphism', 'finite'), -('walking_isomorphism', 'category theory'), -('walking_isomorphism', 'thin'), -('walking_morphism', 'finite'), -('walking_morphism', 'category theory'), -('walking_morphism', 'thin'), -('walking_pair', 'finite'), -('walking_pair', 'category theory'), -('walking_coreflexive_pair', 'finite'), -('walking_coreflexive_pair', 'category theory'), -('walking_span', 'finite'), -('walking_span', 'category theory'), -('walking_span', 'thin'), -('walking_splitting', 'finite'), -('walking_splitting', 'category theory'), -('Z', 'algebraic geometry'), -('Z', 'category theory'), -('Z_div', 'number theory'), -('Z_div', 'thin'); \ No newline at end of file diff --git a/databases/catdat/data/001_categories/300_comments.sql b/databases/catdat/data/001_categories/300_comments.sql deleted file mode 100644 index 950e1d76..00000000 --- a/databases/catdat/data/001_categories/300_comments.sql +++ /dev/null @@ -1,46 +0,0 @@ -INSERT INTO category_comments (category_id, comment) -VALUES -( - 'FinSet', - 'For the non-existence of sequential (co-)limits it is not sufficient to take a diagram of finite sets whose (co-)limit in $\Set$ is not contained in $\FinSet$.' -), -( - 'Ring', - 'It is likely that the epimorphisms can be described as in the commutative case.' -), -( - 'Rng', - 'It is likely that the epimorphisms can be described as in the commutative, unital case.' -), -( - 'CRing', - 'Regular monomorphisms are discussed in MSE/695685, but probably they cannot be classified.' -), -( - 'Fld', - 'Limits and colimits are discussed in MSE/359352.' -), -( - 'Sch', - 'Monomorphisms are discussed at MO/56591. At least the case of morphisms of locally finite type is understood.' -), -( - 'Sch', - 'Regular monomorphisms are discussed at MO/66279.' -), -( - 'Sch', - 'Epimorphisms are discussed at MO/56564. Probably they cannot be classified.' -), -( - 'Sh(X)', - 'It is likely that neither of the currently remaining unknown properties (finitary algebraic, locally ℵ₁-presentable, exact filtered colimits, etc.) are satisfied for a generic space $X$, but we need to make this precise by adding additional requirements to $X$. Maybe we need to create separate entries for specific spaces $X$.' -), -( - 'Sh(X,Ab)', - 'It is likely that neither of the currently remaining unknown properties (finitary algebraic, locally ℵ₁-presentable, CSP, etc.) are satisfied for a generic space $X$, but we need to make this precise by adding additional requirements to $X$. Maybe we need to create separate entries for specific spaces $X$.' -), -( - 'Meas', - 'The thread MSE/5024471 asks for the finitely presentable objects of this category.' -); \ No newline at end of file diff --git a/databases/catdat/data/001_categories/400_dual-categories.sql b/databases/catdat/data/001_categories/400_dual-categories.sql deleted file mode 100644 index ede80cb7..00000000 --- a/databases/catdat/data/001_categories/400_dual-categories.sql +++ /dev/null @@ -1,2 +0,0 @@ -UPDATE categories SET dual_category_id = 'Set_op' where id = 'Set'; -UPDATE categories SET dual_category_id = 'Set' where id = 'Set_op'; \ No newline at end of file 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 deleted file mode 100644 index 91b81257..00000000 --- a/databases/catdat/data/002_category-properties/001_limits-colimits-existence.sql +++ /dev/null @@ -1,425 +0,0 @@ -INSERT INTO category_properties ( - id, - relation, - description, - nlab_link, - dual_property_id, - invariant_under_equivalences -) -VALUES -( - 'complete', - 'is', - 'A category is complete when every small diagram in the category has a limit.', - 'https://ncatlab.org/nlab/show/complete+category', - 'cocomplete', - TRUE -), -( - 'cocomplete', - 'is', - 'A category is cocomplete when every small diagram in the category has a colimit.', - 'https://ncatlab.org/nlab/show/cocomplete+category', - 'complete', - TRUE -), -( - 'pullbacks', - 'has', - 'A category $\C$ has pullbacks if every cospan of morphisms $X \rightarrow S \leftarrow Y$ has a pullback $X \times_S Y$. This is also known as a fiber product. Equivalently, the slice category $\C/S$ has binary products.', - 'https://ncatlab.org/nlab/show/pullback', - 'pushouts', - TRUE -), -( - 'pushouts', - 'has', - 'A category $\C$ has pushouts if every span of morphisms $X \leftarrow S \rightarrow Y$ has a pushout $X \sqcup_S Y$. This is also known as a fiber coproduct. Equivalently, the coslice category $S/\C$ has binary coproducts.', - 'https://ncatlab.org/nlab/show/pushout', - 'pullbacks', - TRUE -), -( - 'finitely complete', - 'is', - 'A category is finitely complete when every finite diagram has a limit.', - 'https://ncatlab.org/nlab/show/finitely+complete+category', - 'finitely cocomplete', - TRUE -), -( - 'finitely cocomplete', - 'is', - 'A category is finitely cocomplete when every finite diagram has a colimit.', - 'https://ncatlab.org/nlab/show/finitely+cocomplete+category', - 'finitely complete', - TRUE -), -( - 'initial object', - 'has an', - 'An initial object is an object that has a unique morphism to every object in the category. This property refers to the existence of an initial object.', - 'https://ncatlab.org/nlab/show/initial+object', - 'terminal object', - TRUE -), -( - 'terminal object', - 'has a', - 'A terminal object (or final object) is an object that has a unique morphism from every object in the category. This property refers to the existence of a terminal object.', - 'https://ncatlab.org/nlab/show/terminal+object', - 'initial object', - TRUE -), -( - 'products', - 'has', - 'Given a family of objects $(A_i)_{i \in I}$, a product $\prod_{i \in I} A_i$ is defined as an object with morphisms $p_i : \prod_{i \in I} A_i \to A_i$ satisfying the following universal property: For every object $T$ and every family of morphisms $(f_i : T \to A_i)_{i \in I}$ there is a unique morphism $f : T \to \prod_{i \in I} A_i$ such that $p_i \circ f = f_i$ for all $i \in I$. This property refers to the existence of small products, i.e., products of small families of objects.', - 'https://ncatlab.org/nlab/show/cartesian+product', - 'coproducts', - TRUE -), -( - 'coproducts', - 'has', - 'Given a family of objects $(A_i)_{i \in I}$, a coproduct $\coprod_{i \in I} A_i$ is defined as an object with morphisms $i_i : A_i \to \coprod_{i \in I} A_i$ satisfying the following universal property: For every object $T$ and every family of morphisms $(f_i : A_i \to T)_{i \in I}$ there is a unique morphism $f : \coprod_{i \in I} A_i \to T$ such that $f \circ i_i = f_i$ for all $i \in I$. This property refers to the existence of small coproducts, i.e., coproducts of small families of objects.', - 'https://ncatlab.org/nlab/show/coproduct', - 'products', - TRUE -), -( - 'finite products', - 'has', - 'A category has finite products if it has products for finite families of objects. Equivalently, it has a terminal object and binary products.', - 'https://ncatlab.org/nlab/show/finite+product', - 'finite coproducts', - TRUE -), -( - 'finite coproducts', - 'has', - 'A category has finite coproducts if it has coproducts for finite families of objects. Equivalently, it has an initial object and binary coproducts.', - 'https://ncatlab.org/nlab/show/finite+coproduct', - 'finite products', - TRUE -), -( - 'binary products', - 'has', - 'A category has binary products if every pair $A,B$ of objects has a product $A \times B$.', - 'https://ncatlab.org/nlab/show/binary+product', - 'binary coproducts', - TRUE -), -( - 'binary coproducts', - 'has', - 'A category has binary coproducts if every pair $A,B$ of objects has a coproduct $A \sqcup B$.', - 'https://ncatlab.org/nlab/show/coproduct', - 'binary products', - TRUE -), -( - 'countable products', - 'has', - 'A category has countable products if it has products for countable families of objects.', - NULL, - 'countable coproducts', - TRUE -), -( - 'countable coproducts', - 'has', - 'A category has countable coproducts if it has coproducts for countable families of objects.', - NULL, - 'countable products', - TRUE -), -( - 'powers', - 'has', - 'If $X$ is an object and $I$ is a set, the power is defined as the product $X^I := \prod_{i \in I} X$. This property refers to the existence of powers.', - 'https://ncatlab.org/nlab/show/powering', - 'copowers', - TRUE -), -( - 'copowers', - 'has', - 'If $X$ is an object and $I$ is a set, the copower is defined as the coproduct $I \otimes X := \coprod_{i \in I} X$. This property refers to the existence of copowers.', - 'https://ncatlab.org/nlab/show/copower', - 'powers', - TRUE -), -( - 'countable powers', - 'has', - 'A category has countable powers when for every object $X$ and every countable set $I$ the power $X^I$ exists.', - 'https://ncatlab.org/nlab/show/powering', - 'countable copowers', - TRUE -), -( - 'countable copowers', - 'has', - 'A category has countable copowers when for every object $X$ and every countable set $I$ the copower $I \otimes X$ exists.', - 'https://ncatlab.org/nlab/show/copower', - 'countable powers', - TRUE -), -( - 'finite powers', - 'has', - 'A category has finite powers when for every object $X$ and every finite set $I$ the power $X^I$ exists. Equivalently, for every $n \in \IN$ the power $X^n$ exists.', - 'https://ncatlab.org/nlab/show/powering', - 'finite copowers', - TRUE -), -( - 'finite copowers', - 'has', - 'A category has finite copowers when for every object $X$ and every finite set $I$ the copower $I \otimes X$ exists. Equivalently, for every $n \in \IN$ the copower $n \otimes X$ exists.', - 'https://ncatlab.org/nlab/show/copower', - 'finite powers', - TRUE -), -( - 'binary powers', - 'has', - 'A category has binary powers when for every object $X$ the product $X \times X$ exists. These objects might also be called squares.', - 'https://ncatlab.org/nlab/show/powering', - 'binary copowers', - TRUE -), -( - 'binary copowers', - 'has', - 'A category has binary copowers when for every object $X$ and every binary set $I$ the coproduct $X \sqcup X$ exists. These objects might also be called doubles.', - 'https://ncatlab.org/nlab/show/copower', - 'binary powers', - TRUE -), -( - 'equalizers', - 'has', - 'An equalizer of a pair of morphisms $f,g : A \rightrightarrows B$ is an object $E$ with a morphism $e : E \to A$ such that $f \circ e = g \circ e$ and which is universal with respect to this property. This property refers to the existence of equalizers.', - 'https://ncatlab.org/nlab/show/equalizer', - 'coequalizers', - TRUE -), -( - 'coequalizers', - 'has', - 'A coequalizer of a pair of morphisms $f,g : A \rightrightarrows B$ is an object $C$ with a morphism $c : B \to C$ such that $c \circ f = c \circ g$ and which is universal with respect to this property. This property refers to the existence of coequalizers.', - 'https://ncatlab.org/nlab/show/coequalizer', - 'equalizers', - TRUE -), -( - 'kernels', - 'has', - 'A category has kernels if it has zero morphisms and every morphism $f : A \to B$ has a kernel, i.e. an equalizer of $f$ with the zero morphism $0_{A,B} : A \to B$.', - 'https://ncatlab.org/nlab/show/kernel', - 'cokernels', - TRUE -), -( - 'cokernels', - 'has', - 'A category has cokernels if it has zero morphisms and every morphism $f : A \to B$ has a cokernel, i.e. a coequalizer of $f$ with the zero morphism $0_{A,B} : A \to B$.', - 'https://ncatlab.org/nlab/show/cokernel', - 'kernels', - TRUE -), -( - 'cofiltered limits', - 'has', - 'A category has cofiltered limits if it has limits of diagrams indexed by small cofiltered categories. This is actually equivalent to having directed limits.', - 'https://ncatlab.org/nlab/show/filtered+limit', - 'filtered colimits', - TRUE -), -( - 'filtered colimits', - 'has', - 'A category has filtered colimits if it has colimits of diagrams indexed by small filtered categories. This is actually equivalent to having directed colimits.', - 'https://ncatlab.org/nlab/show/filtered+colimit', - 'cofiltered limits', - TRUE -), -( - 'directed limits', - 'has', - 'A category has directed limits if it has limits of diagrams indexed by codirected (small) posets. This is actually equivalent to having cofiltered limits.', - 'https://ncatlab.org/nlab/show/directed+limit', - 'directed colimits', - TRUE -), -( - 'directed colimits', - 'has', - 'A category has directed colimits if it has colimits of diagrams indexed by directed (small) posets. This is actually equivalent to having filtered colimits. Directed colimits are (somewhat confusingly) also known as inverse limits.', - 'https://ncatlab.org/nlab/show/directed+colimit', - 'directed limits', - TRUE -), -( - 'sequential limits', - 'has', - 'A category has sequential limits if it has limits of diagrams of the form $\cdots \bullet \to \bullet \to \bullet$.', - 'https://ncatlab.org/nlab/show/sequential+limit', - 'sequential colimits', - TRUE -), -( - 'sequential colimits', - 'has', - 'A category has sequential colimits if it has colimits of diagrams of the form: $\bullet \to \bullet \to \bullet \to \cdots$.', - 'https://ncatlab.org/nlab/show/sequential+colimit', - 'sequential limits', - TRUE -), -( - 'connected limits', - 'has', - 'A category has connected limits if it has limits of diagrams indexed by connected small categories.', - 'https://ncatlab.org/nlab/show/connected+limit', - 'connected colimits', - TRUE -), -( - 'connected colimits', - 'has', - 'A category has connected colimits if it has colimits of diagrams indexed by connected small categories.', - 'https://ncatlab.org/nlab/show/connected+colimit', - 'connected limits', - TRUE -), -( - 'wide pullbacks', - 'has', - 'A category $\C$ has wide pullbacks if for every object $S$ the slice category $\C/S$ has arbitrary small products.', - 'https://ncatlab.org/nlab/show/wide+pullback', - 'wide pushouts', - TRUE -), -( - 'wide pushouts', - 'has', - 'A category $\C$ has wide pushouts if for every object $S$ the coslice category $S/\C$ has arbitrary small coproducts.', - 'https://ncatlab.org/nlab/show/wide+pushout', - 'wide pullbacks', - TRUE -), -( - 'coreflexive equalizers', - 'has', - 'A coreflexive equalizer is a limit of a diagram consisting of a parallel pair of morphisms with a common retraction (left inverse), which is the same concept as an equalizer of such a parallel pair. This property refers to the existence of coreflexive equalizers.', - 'https://ncatlab.org/nlab/show/reflexive+coequalizer', - 'reflexive coequalizers', - TRUE -), -( - 'reflexive coequalizers', - 'has', - 'A reflexive coequalizer is a colimit of a diagram consisting of a parallel pair of morphisms with a common section (right inverse), which is the same concept as a coequalizer of such a parallel pair. This property refers to the existence of reflexive coequalizers.', - 'https://ncatlab.org/nlab/show/reflexive+coequalizer', - 'coreflexive equalizers', - TRUE -), -( - 'quotients of congruences', - 'has', - 'A congruence (or internal equivalence relation) on an object $X$ of a category is a parallel pair $p_1, p_2 : E \rightrightarrows X$ which is jointly monomorphic, and such that for every object $T$, the image of $(p_1 \circ {-}, p_2 \circ {-}) : \Hom(T, E) \to \Hom(T, X)^2$ is an equivalence relation. The category has quotients of congruences if for each such congruence, there exists a coequalizer of $p_1$ and $p_2$. Note that in the case of a category with binary powers, the corresponding subobjects of $X \times X$ are also commonly referred to as congruences, or as internal equivalence relations.', - 'https://ncatlab.org/nlab/show/congruence', - 'coquotients of cocongruences', - TRUE -), -( - 'coquotients of cocongruences', - 'has', - 'A cocongruence (or internal equivalence corelation) on an object $X$ of a category is a parallel pair $i_1, i_2 : X \rightrightarrows E$ which is jointly epimorphic, and such that for every object $T$, the image of $({-} \circ i_1, {-} \circ i_2) : \Hom(E, T) \to \Hom(X, T)^2$ is an equivalence relation. The category has coquotients of cocongruences if for each such cocongruence, there exists an equalizer of $i_1$ and $i_2$. Note that in the case of a category with binary copowers, the corresponding quotients of $X + X$ are also commonly referred to as cocongruences, or as internal equivalence corelations.', - NULL, - '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', - 'A category has cosifted limits if it has limits of diagrams indexed by small cosifted categories.', - 'https://ncatlab.org/nlab/show/sifted+colimit', - 'sifted colimits', - TRUE -), -( - 'sifted colimits', - 'has', - 'A category has sifted colimits if it has colimits of diagrams indexed by small sifted categories.', - 'https://ncatlab.org/nlab/show/sifted+colimit', - 'cosifted limits', - TRUE -), -( - 'multi-complete', - 'is', - 'A multi-limit of a diagram $D\colon \S \to \C$ is a set $I$ of cones over $D$ such that every cone over $D$ uniquely factors through a unique cone belonging to $I$. This property refers to the existence of multi-limits of small diagrams. Note that any diagram with no cone admits a multi-limit, which is the empty set of cones.', - 'https://ncatlab.org/nlab/show/multilimit', - 'multi-cocomplete', - TRUE -), -( - 'multi-cocomplete', - 'is', - 'A multi-colimit of a diagram $D\colon \S \to \C$ is a set $I$ of cocones under $D$ such that every cocone under $D$ uniquely factors through a unique cocone belonging to $I$. This property refers to the existence of multi-colimits of small diagrams. Note that any diagram with no cocone admits a multi-colimit, which is the empty set of cocones.', - 'https://ncatlab.org/nlab/show/multilimit', - 'multi-complete', - TRUE -), -( - 'multi-terminal object', - 'has a', - 'This property refers to the existence of a multi-limit of the empty diagram. A category has a multi-terminal object if and only if the collection of all connected components is isomorphic to a set, and each connected component has a terminal object.', - 'https://ncatlab.org/nlab/show/multilimit', - 'multi-initial object', - TRUE -), -( - 'multi-initial object', - 'has a', - 'This property refers to the existence of a multi-colimit of the empty diagram. A category has a multi-initial object if and only if the collection of all connected components is isomorphic to a set, and each connected component has a initial object.', - 'https://ncatlab.org/nlab/show/multilimit', - 'multi-terminal object', - TRUE -); diff --git a/databases/catdat/data/002_category-properties/002_limits-colimits-behavior.sql b/databases/catdat/data/002_category-properties/002_limits-colimits-behavior.sql deleted file mode 100644 index 2c9642d7..00000000 --- a/databases/catdat/data/002_category-properties/002_limits-colimits-behavior.sql +++ /dev/null @@ -1,255 +0,0 @@ -INSERT INTO category_properties ( - id, - relation, - description, - nlab_link, - dual_property_id, - invariant_under_equivalences -) -VALUES -( - 'biproducts', - 'has', - 'A category has biproducts when it has zero morphisms, finite products (denoted $\times$), finite coproducts (denoted $\oplus$), and for every finite family of objects $A_1,\dotsc,A_n$ the canonical morphism - $$\mu : A_1 \oplus \cdots \oplus A_n \to A_1 \times \cdots \times A_n$$ - is an isomorphism. Such a category is also called semi-additive, and it is automatically enriched over commutative monoids: the sum of $f,g : A \rightrightarrows B$ is defined as: - $$A \xrightarrow{(f,g)} B \times B \xrightarrow{\mu^{-1}} B \oplus B \xrightarrow{\nabla} B$$', - 'https://ncatlab.org/nlab/show/biproduct', - 'biproducts', - TRUE -), -( - 'pointed', - 'is', - 'A category is pointed when it has a zero object, i.e. an object which is both initial and terminal.', - 'https://ncatlab.org/nlab/show/pointed+category', - 'pointed', - TRUE -), -( - 'strict initial object', - 'has a', - 'A strict initial object is an initial object $0$ such that every morphism $A \to 0$ is an isomorphism. This property refers to the existence of a strict initial object.', - 'https://ncatlab.org/nlab/show/strict+initial+object', - 'strict terminal object', - TRUE -), -( - 'strict terminal object', - 'has a', - 'A strict terminal object is a terminal object $1$ such that every morphism $1 \to A$ is an isomorphism. This property refers to the existence of a strict terminal object.', - 'https://ncatlab.org/nlab/show/strict+terminal+object', - 'strict initial object', - TRUE -), -( - 'distributive', - 'is', - 'A category is distributive if it has finite products, finite coproducts, and for every object $A$ the functor $A \times -$ preserves finite coproducts. Concretely, for every finite family of objects $(B_i)$ the canonical morphism $\coprod_i (A \times B_i) \to A \times \coprod_i B_i$ must be an isomorphism.', - 'https://ncatlab.org/nlab/show/distributive+category', - 'codistributive', - TRUE -), -( - 'infinitary distributive', - 'is', - 'A category is infinitary distributive if it has finite products, all coproducts, and for every object $A$ the functor $A \times -$ preserves all coproducts. Concretely, for every family of objects $(B_i)$ the canonical morphism $\coprod_i (A \times B_i) \to A \times \coprod_i B_i$ must be an isomorphism.', - 'https://ncatlab.org/nlab/show/distributive+category', - 'infinitary codistributive', - TRUE -), -( - 'countably distributive', - 'is', - 'A category is countably distributive if it has finite products, countable coproducts, and for every object $A$ the functor $A \times -$ preserves countable coproducts. Concretely, for every countable family of objects $(B_i)$ the canonical morphism $\coprod_i (A \times B_i) \to A \times \coprod_i B_i$ must be an isomorphism.', - NULL, - 'countably codistributive', - TRUE -), -( - 'countably codistributive', - 'is', - 'A category is countably codistributive if it has finite coproducts, countable products, and for every object $A$ the functor $A \sqcup -$ preserves countable products. Concretely, for every countable family of objects $(B_i)$ the canonical morphism $A \sqcup \prod_i B_i \to \prod_i (A \sqcup B_i)$ must be an isomorphism.', - NUll, - 'countably distributive', - TRUE -), -( - 'codistributive', - 'is', - 'A category is codistributive if it has finite coproducts, finite products, and for every object $A$ the functor $- \sqcup A$ preserves finite products. Concretely, for every finite family of objects $(B_i)$ the canonical morphism $A \sqcup \prod_i B_i \to \prod_i (A \sqcup B_i)$ must be an isomorphism.', - NULL, - 'distributive', - TRUE -), -( - 'infinitary codistributive', - 'is', - 'A category is infinitary codistributive if it has finite coproducts, all products, and for every object $A$ the functor $A \sqcup -$ preserves all products. Concretely, for every family of objects $(B_i)$ the canonical morphism $A \sqcup \prod_i B_i \to \prod_i (A \sqcup B_i)$ must be an isomorphism.' , - NULL, - 'infinitary distributive', - TRUE -), -( - 'exact filtered colimits', - 'has', - 'In a category $\C$, which we assume to have filtered colimits and finite limits, we say that filtered colimits are exact if the following equivalent conditions are satisfied: -
    -
  1. For every finite category $\I$ the functor $\lim : [\I, \C] \to \C$ preserves filtered colimits.
  2. -
  3. For every small filtered category $\J$ the functor $\colim : [\J,\C] \to \C$ preserves finite limits.
  4. -
  5. For every diagram $X : \I \times \J \to \C$, where $\I$ is finite and $\J$ is small filtered, the canonical morphism $\colim_j \lim_i X(i,j) \to \lim_i \colim_j X(i,j)$ is an isomorphism.
  6. -
', - 'https://ncatlab.org/nlab/show/commutativity+of+limits+and+colimits', - 'exact cofiltered limits', - TRUE -), -( - 'exact cofiltered limits', - 'has', - 'In a category $\C$, which we assume to have cofiltered limits and finite colimits, we say that cofiltered limits are exact if the following equivalent conditions are satisfied: -
    -
  1. For every finite category $\I$ the functor $\colim : [\I, \C] \to \C$ preserves cofiltered limits.
  2. -
  3. For every small cofiltered category $\J$ the functor $\lim : [\J,\C] \to \C$ preserves finite colimits.
  4. -
  5. For every diagram $X : \I \times \J \to \C$, where $\I$ is finite and $\J$ is small cofiltered, the canonical morphism $\colim_i \lim_j X(i,j) \to \lim_j \colim_i X(i,j)$ is an isomorphism.
  6. -
', - 'https://ncatlab.org/nlab/show/commutativity+of+limits+and+colimits', - 'exact filtered colimits', - TRUE -), -( - 'cartesian filtered colimits', - 'has', - 'In a category $\C$, which we assume to have filtered colimits and finite products, we say that filtered colimits are cartesian if for every finite set $I$ the product functor $\prod : \C^I \to \C$ preserves filtered colimits. Equivalently, for every $X \in \C$ the functor $X \times - : \C \to \C$ preserves filtered colimits.
- This is no standard terminology, it has been suggested in MO/510240. We have added it to the database since it clarifies the relationship between many related properties.', - NULL, - 'cocartesian cofiltered limits', - TRUE -), -( - 'cocartesian cofiltered limits', - 'has', - 'In a category $\C$, which we assume to have cofiltered limits and finite coproducts, we say that cofiltered limits are cocartesian if for every finite set $I$ the coproduct functor $\coprod : \C^I \to \C$ preserves cofiltered limits. Equivalently, for every $X \in \C$ the functor $X \sqcup - : \C \to \C$ preserves cofiltered limits.
- This is no standard terminology, its dual has been suggested in MO/510240. We have added it to the database since it clarifies the relationship between many related properties.', - NULL, - 'cartesian filtered colimits', - TRUE -), -( - 'disjoint finite coproducts', - 'has', - 'A category has disjoint finite coproducts if it has finite coproducts, for every pair of objects $A,B$ the coproduct inclusions $A \rightarrow A+B \leftarrow B$ are monomorphisms, and the pullback $A \times_{A + B} B$ exists and is given by the initial object $0$.', - 'https://ncatlab.org/nlab/show/disjoint+coproduct', - 'disjoint finite products', - TRUE -), -( - 'disjoint coproducts', - 'has', - 'A category has disjoint coproducts if it has coproducts, the coproduct inclusions $A_i \to \coprod_{i \in I} A_i$ are monomorphisms, and the pullback of the inclusions $A_i \to \coprod_{i \in I} A_i$ and $A_j \to \coprod_{i \in I} A_i$ for $i \neq j$ exists and is given by the initial object $0$.', - 'https://ncatlab.org/nlab/show/disjoint+coproduct', - 'disjoint products', - TRUE -), -( - 'disjoint finite products', - 'has', - 'A category has disjoint finite products if it has finite products, for every pair of objects $A,B$ the product projections $A \leftarrow A \times B \rightarrow B$ are epimorphisms, and the pushout $A \sqcup_{A \times B} B$ exists and is given by the terminal object $1$.
- This terminology does not seem to be common, but we have added it as a dual for the more commonly known property of having disjoint finite coproducts.', - NULL, - 'disjoint finite coproducts', - TRUE -), -( - 'disjoint products', - 'has', - 'A category has disjoint products if it has products, the product projections $\prod_{i \in I} A_i \to A_i$ are epimorphisms, and the pushout of the projections $\prod_{i \in I} A_i \to A_i$ and $\prod_{i \in I} A_i \to A_j$ for $i \neq j$ exists and is given by the terminal object $1$.
- This terminology does not seem to be common, but we have added it as a dual for the more commonly known property of having disjoint coproducts.', - NULL, - 'disjoint coproducts', - TRUE -), -( - 'regular', - 'is', - 'A category is regular when it is finitely complete, for every morphism $X \to Y$ its kernel pair $X \times_Y X \rightrightarrows X$ has a coequalizer, and regular epimorphisms are stable under pullbacks.', - 'https://ncatlab.org/nlab/show/regular+category', - 'coregular', - TRUE -), -( - 'coregular', - 'is', - 'A category is coregular when its dual is regular, i.e. it is finitely cocomplete, for every morphism $Y \to X$ its cokernel pair $X \rightrightarrows X \sqcup_Y X$ has an equalizer, and regular monomorphisms are stable under pushouts.', - NULL, - 'regular', - TRUE -), -( - 'extensive', - 'is', - 'A category $\C$ is extensive when it has finite coproducts and for all objects $A,B \in \C$ the coproduct functor $\C/A \times \C/B \to \C/(A+B)$ is an equivalence of categories. Equivalently, pullbacks of finite coproduct inclusions along arbitrary morphisms exist and finite coproducts are disjoint and stable under pullback.', - 'https://ncatlab.org/nlab/show/extensive+category', - 'coextensive', - TRUE -), -( - 'coextensive', - 'is', - 'A category $\C$ is coextensive when it has finite products and for all objects $A,B \in \C$ the product functor $A/\C \times B/\C \to (A \times B)/\C$ is an equivalence of categories. The prototypical example is the category of commutative rings.', - NULL, - 'extensive', - TRUE -), -( - 'infinitary extensive', - 'is', - 'A category $\C$ is infinitary extensive when it has coproducts and for all families of objects $(A_i)_{i \in I}$ the coproduct functor $\prod_{i \in I} \C/A_i \to \C/(\coprod_{i \in I} A_i)$ is an equivalence of categories. Equivalently, pullbacks of coproduct inclusions along arbitrary morphisms exist and coproducts are disjoint and stable under pullback.', - 'https://ncatlab.org/nlab/show/extensive+category', - 'infinitary coextensive', - TRUE -), -( - 'infinitary coextensive', - 'is', - 'A category $\C$ is infinitary coextensive when it has products and for all families of objects $(A_i)_{i \in I}$ the product functor $\prod_{i \in I} A_i / \C/A_i \to \prod_{i \in I} A_i / \C$ is an equivalence of categories.
- This terminology does not seem to be common, but we have added it as a dual for the more commonly known property of being infinitary extensive.', - NULL, - 'infinitary extensive', - TRUE -), -( - 'unital', - 'is', - 'A category is unital if it has a zero object, finite limits, and for all objects $X,Y$ the two morphisms $(\id_X,0) : X \hookrightarrow X \times Y$ and $(0,\id_Y) : Y \hookrightarrow X \times Y$ are jointly strongly epimorphic. This means: there is no proper subobject of $X \times Y$ that contains $X$ and $Y$. When coproducts exist, the canonical morphism $X \sqcup Y \to X \times Y$ therefore must be a strong epimorphism.', - 'https://ncatlab.org/nlab/show/unital+category', - 'counital', - TRUE -), -( - 'counital', - 'is', - 'A category is counital if its dual is unital, i.e., it has a zero object, finite colimits, and for all objects $X,Y$ the two morphisms $(\id_X;0) : X \sqcup Y \twoheadrightarrow X$ and $(0;\id_Y) : X \sqcup Y \twoheadrightarrow Y$ are jointly strongly monomorphic. When products exist, the canonical morphism $X \sqcup Y \to X \times Y$ therefore must be a strong monomorphism.', - NULL, - 'unital', - TRUE -), -( - 'CIP', - 'satisfies', - 'A category satisfies CIP ("coproducts inject into products") if it has zero morphisms, products, coproducts, and for every family of objects $(X_i)_{i \in I}$ the canonical morphism - $$\textstyle \alpha : \coprod_i X_i \to \prod_{i \in I} X_i$$ - defined by $p_j \circ \alpha \circ \iota_i = \delta_{i,j}$ is a monomorphism. This is no standard terminology. This property has been added to clarify relationships between other properties, in particular those concerning the commutation between limits and colimits.', - NULL, - 'CSP', - TRUE -), -( - 'CSP', - 'satisfies', - 'A category satisfies CSP ("coproducts surject onto products") if it has zero morphisms, products, coproducts, and for every family of objects $(X_i)_{i \in I}$ the canonical morphism - $$\textstyle \alpha : \coprod_i X_i \to \prod_{i \in I} X_i$$ - defined by $p_j \circ \alpha \circ \iota_i = \delta_{i,j}$ is an epimorphism. This is no standard terminology. This property has been added to clarify relationships between other properties, in particular those concerning the commutation between limits and colimits.', - NULL, - 'CIP', - TRUE -); \ No newline at end of file diff --git a/databases/catdat/data/002_category-properties/003_size-constraints.sql b/databases/catdat/data/002_category-properties/003_size-constraints.sql deleted file mode 100644 index 3b881d4c..00000000 --- a/databases/catdat/data/002_category-properties/003_size-constraints.sql +++ /dev/null @@ -1,129 +0,0 @@ -INSERT INTO category_properties ( - id, - relation, - description, - nlab_link, - dual_property_id, - invariant_under_equivalences -) -VALUES -( - 'inhabited', - 'is', - 'A category is inhabited if it has at least one object. In classical logic, this is equivalent to being non-empty (which is a double negation).', - 'https://ncatlab.org/nlab/show/inhabited+set', - 'inhabited', - TRUE -), -( - 'small', - 'is', - 'A category is small when the collection of objects and the collection of morphisms are sets, i.e. small.', - 'https://ncatlab.org/nlab/show/small+category', - 'small', - FALSE -), -( - 'essentially small', - 'is', - 'A category is essentially small when it is equivalent to a small category. In particular, there is a set of objects such that every object is isomorphic to an object in this set. In contrast to the property of being small, being essentially small is invariant under equivalences of categories.', - 'https://ncatlab.org/nlab/show/small+category', - 'essentially small', - TRUE -), -( - 'locally small', - 'is', - 'A category is locally small when for every pair of objects $A,B$ the collection of morphisms $A \to B$ is a set. Here, we work with a set-theoretic foundation in which there are sets and collections. Categories are based on collections of objects and morphisms.', - 'https://ncatlab.org/nlab/show/locally+small+category', - 'locally small', - FALSE -), -( - 'locally essentially small', - 'is', - 'A category is locally essentially small when for every pair of objects $A,B$ the collection of morphisms $A \to B$ is isomorphic to a set. (Here, we work with a set-theoretic foundation in which there are sets and collections. Categories are based on collections of objects and morphisms.) Equivalently, the category is equivalent to a locally small category. In contrast to being locally small, this condition is invariant under equivalences of categories. This is why we have added it to the database. For instance, every algebraic category is locally essentially small, but not necessarily locally small. This indicates that this is the "right" notion to work with.', - NULL, - 'locally essentially small', - TRUE -), -( - 'finite', - 'is', - 'A category is finite if it has finitely many objects and morphisms.', - 'https://ncatlab.org/nlab/show/finite+category', - 'finite', - FALSE -), -( - 'essentially finite', - 'is', - 'A category is essentially finite if it is equivalent to a finite category. Equivalently, there are only finitely many objects up to isomorphism, and the collection of morphisms between any two objects is isomorphic to a finite set. In contrast to being finite, this property is invariant under equivalences of categories.', - NULL, - 'essentially finite', - TRUE -), -( - 'countable', - 'is', - 'A category is countable if it has countably many objects and morphisms.', - NULL, - 'countable', - FALSE -), -( - 'essentially countable', - 'is', - 'A category is essentially countable if it is equivalent to a countable category.', - NULL, - 'essentially countable', - TRUE -), -( - 'well-powered', - 'is', - 'A category is well-powered if the collection of subobjects of any object is isomorphic to a set.', - 'https://ncatlab.org/nlab/show/well-powered+category', - 'well-copowered', - TRUE -), -( - 'well-copowered', - 'is', - 'A category is well-copowered if the collection of quotients of any object is isomorphic to a set.', - 'https://ncatlab.org/nlab/show/well-powered+category', - 'well-powered', - TRUE -), -( - 'generator', - 'has a', - 'An object $G$ of a category is called a generator if for every pair of parallel morphisms $f,g : A \rightrightarrows B$ the equation $f = g$ holds if for every morphism $h : G \to A$ we have $f \circ h = g \circ h$. Equivalently, the functor $\Hom(G,-) : \C \to \Set^+$ is faithful. This property refers to the existence of a generator. By definition, $G$ is a generator if and only if $\{G\}$ is a generating set.', - 'https://ncatlab.org/nlab/show/separator', - 'cogenerator', - TRUE -), -( - 'cogenerator', - 'has a', - 'An object $Q$ of a category is called a cogenerator if for every pair of parallel morphisms $f,g : A \rightrightarrows B$ the equation $f = g$ holds if for every morphism $h : B \to Q$ we have $h \circ f = h \circ g$. Equivalently, the functor $\Hom(-,Q) : \C^{\op} \to \Set^+$ is faithful. This property refers to the existence of a cogenerator. By definition, $Q$ is a cogenerator if and only if $\{Q\}$ is a cogenerating set.', - 'https://ncatlab.org/nlab/show/cogenerator', - 'generator', - TRUE -), -( - 'generating set', - 'has a', - 'A set of objects $S$ is called a generating set if for every pair of parallel morphisms $f,g : A \rightrightarrows B$, $f = g$ holds if and only if for every morphism $h : G \to A$ with $G \in S$ we have $f \circ h = g \circ h$. Equivalently, the functor $(\Hom(G,-))_{G \in S} : \C \to (\Set^+)^S$ is faithful. This property refers to the existence of a generating set.', - 'https://ncatlab.org/nlab/show/separator', - 'cogenerating set', - TRUE -), -( - 'cogenerating set', - 'has a', - 'A set of objects $S$ is called a cogenerating set if for every pair of parallel morphisms $f,g : A \rightrightarrows B$, $f = g$ holds if and only if for every morphism $h : B \to G$ with $G \in S$ we have $h \circ f = h \circ g$. Equivalently, the functor $(\Hom(-,G))_{G \in S} : \C^{\op} \to (\Set^+)^S$ is faithful. This property refers to the existence of a cogenerating set.', - 'https://ncatlab.org/nlab/show/cogenerator', - 'generating set', - TRUE -); \ No newline at end of file diff --git a/databases/catdat/data/002_category-properties/004_morphism-behavior.sql b/databases/catdat/data/002_category-properties/004_morphism-behavior.sql deleted file mode 100644 index c38dec2d..00000000 --- a/databases/catdat/data/002_category-properties/004_morphism-behavior.sql +++ /dev/null @@ -1,161 +0,0 @@ -INSERT INTO category_properties ( - id, - relation, - description, - nlab_link, - dual_property_id, - invariant_under_equivalences -) -VALUES -( - 'groupoid', - 'is a', - 'A groupoid is a category in which every morphism is an isomorphism.', - 'https://ncatlab.org/nlab/show/groupoid', - 'groupoid', - TRUE -), -( - 'mono-regular', - 'is', - 'A category is mono-regular when every monomorphism is regular, i.e. the equalizer of a pair of morphisms. Notice that this is not standard terminology, apparently the literature has no name for this yet. A preadditive category is mono-regular iff it is normal. The notion of a normal category is reserved for categories with zero morphisms, while mono-regular applies to all categories.', - 'https://ncatlab.org/nlab/show/regular+monomorphism', - 'epi-regular', - TRUE -), -( - 'epi-regular', - 'is', - 'A category is epi-regular when every epimorphism is regular, i.e. the coequalizer of a pair of morphisms. Notice that this is not standard terminology, apparently the literature has no name for this yet. A preadditive category is epi-regular iff it is conormal. The notion of a conormal category is reserved for categories with zero morphisms, while epi-regular applies to all categories.', - 'https://ncatlab.org/nlab/show/regular+epimorphism', - 'mono-regular', - TRUE -), -( - 'normal', - 'is', - 'A category is normal if it has zero morphisms and every monomorphism is a kernel of some morphism (in which case case it is also called a normal monomorphism). The assumption of having zero morphisms makes it possible to talk about kernels.', - 'https://ncatlab.org/nlab/show/normal+monomorphism', - 'conormal', - TRUE -), -( - 'conormal', - 'is', - 'A category is conormal if it has zero morphisms and every epimorphism is a cokernel of some morphism (in which case case it is also called a normal epimorphism). The assumption of having zero morphisms makes it possible to talk about cokernels.', - 'https://ncatlab.org/nlab/show/normal+epimorphism', - 'normal', - TRUE -), -( - 'left cancellative', - 'is', - 'A category is left cancellative if for every morphism $f : A \to B$ and every parallel pair of morphisms $g,h : T \rightrightarrows A$ with $f \circ g = f \circ h$ we have $g = h$. Equivalently, every morphism is a monomorphism.', - 'https://ncatlab.org/nlab/show/cancellative+category', - 'right cancellative', - TRUE -), -( - 'right cancellative', - 'is', - 'A category is right cancellative if for every morphism $f : A \to B$ and every parallel pair of morphisms $g,h : B \rightrightarrows T$ with $g \circ f = h \circ f$ we have $g = h$. Equivalently, every morphism is an epimorphism.', - 'https://ncatlab.org/nlab/show/cancellative+category', - 'left cancellative', - TRUE -), -( - 'Cauchy complete', - 'is', - 'A category is Cauchy complete if every idempotent splits. That is, every endomorphism $e : X \to X$ with $e^2 = e$ may be written as $e = i \circ p$ for some morphisms $p : X \to Y$ and $i : Y \to X$ with $p \circ i = \id_Y$. Equivalently, the pair $e,\id_X : X \rightrightarrows X$ has an equalizer (or an coequalizer).', - 'https://ncatlab.org/nlab/show/Cauchy+complete+category', - 'Cauchy complete', - TRUE -), -( - 'balanced', - 'is', - 'A category is balanced if every morphism which is a monomorphism and an epimorphism must be an isomorphism.', - 'https://ncatlab.org/nlab/show/balanced+category', - 'balanced', - TRUE -), -( - 'direct', - 'is', - 'A category is direct if it contains no infinite sequence of non-identity morphisms of the form - $$\cdots \to A_2 \to A_1 \to A_0.$$ - For example, a poset is direct iff it is well-founded.', - 'https://ncatlab.org/nlab/show/direct+category', - 'inverse', - FALSE -), -( - 'inverse', - 'is', - 'A category is inverse if its dual is direct, i.e., if it contains no infinite sequence of non-identity morphisms of the form - $$A_0 \to A_1 \to A_2 \to \cdots.$$', - 'https://ncatlab.org/nlab/show/inverse+category', - 'direct', - FALSE -), -( - 'one-way', - 'is', - 'A category is one-way if every endomorphism in it is equal to the identity.', - 'https://ncatlab.org/nlab/show/one-way+category', - 'one-way', - TRUE -), -( - 'filtered-colimit-stable monomorphisms', - 'has', - 'A category has filtered-colimit-stable monomorphisms if it has filtered colimits and for every filtered diagram of monomorphisms $(X_i \to Y_i)$ also their colimit $\colim_i X_i \to \colim_i Y_i$ is a monomorphism.', - NULL, - 'cofiltered-limit-stable epimorphisms', - TRUE -), -( - 'cofiltered-limit-stable epimorphisms', - 'has', - 'A category has cofiltered-limit-stable epimorphisms if it has cofiltered limits and for every cofiltered diagram of epimorphisms $(X_i \to Y_i)$ also their limit $\lim_i X_i \to \lim_i Y_i$ is an epimorphism.', - NULL, - 'filtered-colimit-stable monomorphisms', - TRUE -), -( - 'core-thin', - 'is', - 'A category is core-thin if it satisfies the following equivalent conditions: -
    -
  1. Its core is thin.
  2. -
  3. Parallel isomorphisms are equal.
  4. -
  5. Every automorphism is the identity.
  6. -
', - 'https://ncatlab.org/nlab/show/gaunt+category', - 'core-thin', - TRUE -), -( - 'gaunt', - 'is', - 'A category is gaunt when every isomorphism $f : A \to B$ must be the identity (in particular, $A = B$). This is the "skeletal variant" of being core-thin.', - 'https://ncatlab.org/nlab/show/gaunt+category', - 'gaunt', - FALSE -), -( - 'subobject-trivial', - 'is', - 'A category is subobject-trivial if every monomorphism is an isomorphism. Equivalently, the poset of subobjects of any object is trivial. This is no standard terminology. We have added it to the database since it clarifies the relationship between several related properties.', - NULL, - 'quotient-trivial', - TRUE -), -( - 'quotient-trivial', - 'is', - 'A category is quotient-trivial if every epimorphism is an isomorphism. Equivalently, the poset of quotients of any object is trivial. This is no standard terminology. We have added it to the database since it clarifies the relationship between several related properties.', - NULL, - 'subobject-trivial', - TRUE -); diff --git a/databases/catdat/data/002_category-properties/005_additional-structure.sql b/databases/catdat/data/002_category-properties/005_additional-structure.sql deleted file mode 100644 index d0fc5a1d..00000000 --- a/databases/catdat/data/002_category-properties/005_additional-structure.sql +++ /dev/null @@ -1,66 +0,0 @@ -INSERT INTO category_properties ( - id, - relation, - description, - nlab_link, - dual_property_id, - invariant_under_equivalences -) -VALUES -( - 'finitary algebraic', - 'is', - 'A category is finitary algebraic if it is equivalent to the category of models of a one-sorted finitary algebraic theory. This is also known as a variety of one-sorted finitary algebras.', - 'https://ncatlab.org/nlab/show/algebraic+category', - NULL, - TRUE -), -( - 'zero morphisms', - 'has', - 'A category has zero morphisms if for every pair of objects $A,B$ there is a distinguished morphism $0_{A,B} : A \to B$, called the zero morphism, such that we have $f \circ 0_{A,B} = 0_{A,C}$ and $0_{B,C} \circ g = 0_{A,C}$ for all morphisms $f : B \to C$ and $g : A \to B$. The zero morphisms are unique if they exist, hence this is actually a property of the category.', - 'https://ncatlab.org/nlab/show/zero+morphism', - 'zero morphisms', - TRUE -), -( - 'preadditive', - 'is', - 'A category is preadditive when it is locally essentially small* and each hom-set carries the structure of an abelian group such that the composition is bilinear. Notice that "preadditive" is an extra structure. The property here just says that some preadditive structure exists.
- *We demand this instead of the more common "locally small" to ensure that preadditive categories are invariant under equivalences of categories.', - 'https://ncatlab.org/nlab/show/Ab-enriched+category', - 'preadditive', - TRUE -), -( - 'additive', - 'is', - 'A category is additive if it is preadditive and has finite products (equivalently, finite coproducts). Note that in the context of finite products, the preadditive structure is unique.', - 'https://ncatlab.org/nlab/show/additive+category', - 'additive', - TRUE -), -( - 'abelian', - 'is', - 'A category is abelian if it is additive, every morphism has a kernel and a cokernel, and every monomorphism and epimorphism is normal. Equivalently, it is additive, has equalizers and coequalizers, and it is mono-regular and epi-regular. As opposed to other types of categories (such as monoidal categories), being abelian turns out to be a mere property.', - 'https://ncatlab.org/nlab/show/abelian+category', - 'abelian', - TRUE -), -( - 'split abelian', - 'is', - 'A category is split abelian if it is abelian and every short exact sequence splits. Equivalently, every object is projective. Equivalently, every object is injective.', - 'https://ncatlab.org/nlab/show/split+exact+sequence', - 'split abelian', - TRUE -), -( - 'Grothendieck abelian', - 'is', - 'A category is Grothendieck abelian if it is abelian, has coproducts (and is therefore cocomplete), a generator, and filtered colimits commute with finite limits. These categories play an important role in homological algebra.', - 'https://ncatlab.org/nlab/show/Grothendieck+category', - NULL, - TRUE -); \ No newline at end of file diff --git a/databases/catdat/data/002_category-properties/006_trivial-categories.sql b/databases/catdat/data/002_category-properties/006_trivial-categories.sql deleted file mode 100644 index d63e2a03..00000000 --- a/databases/catdat/data/002_category-properties/006_trivial-categories.sql +++ /dev/null @@ -1,49 +0,0 @@ -INSERT INTO category_properties ( - id, - relation, - description, - nlab_link, - dual_property_id, - invariant_under_equivalences -) -VALUES -( - 'trivial', - 'is', - 'A category is trivial if it is equivalent to the trivial category. Equivalently, there is an initial object $0$ such that for every object $A$ the unique morphism $0 \to A$ is an isomorphism. Notice that we do not demand that the category is isomorphic to the trivial category. As a consequence, every inhabited indiscrete category is trivial in our sense.', - 'https://ncatlab.org/nlab/show/terminal+category', - 'trivial', - TRUE -), -( - 'thin', - 'is', - 'A category is thin when between any pair of objects there is at most one morphism. Such categories correspond to preordered collections.', - 'https://ncatlab.org/nlab/show/thin+category', - 'thin', - TRUE -), -( - 'discrete', - 'is', - 'A category is discrete when every morphism is an identity morphism. Thus, a discrete category is merely a collection of objects.', - 'https://ncatlab.org/nlab/show/discrete+category', - 'discrete', - FALSE -), -( - 'essentially discrete', - 'is', - 'A category is essentially discrete if it is equivalent to a discrete category. Equivalently, it is a thin groupoid. Notice that the nLab calls this property simply "discrete". In contrast to being discrete, this property is invariant under equivalences of categories. An essentially discrete category is the same as a setoid (a set equipped with an equivalence relation).', - 'https://ncatlab.org/nlab/show/discrete+category', - 'essentially discrete', - TRUE -), -( - 'skeletal', - 'is', - 'A category is skeletal when isomorphic objects are already equal. Every category is equivalent to a skeletal category (using the axiom of choice).', - 'https://ncatlab.org/nlab/show/skeleton', - 'skeletal', - FALSE -); \ No newline at end of file diff --git a/databases/catdat/data/002_category-properties/007_locally-presentable.sql b/databases/catdat/data/002_category-properties/007_locally-presentable.sql deleted file mode 100644 index ae324bd3..00000000 --- a/databases/catdat/data/002_category-properties/007_locally-presentable.sql +++ /dev/null @@ -1,166 +0,0 @@ -INSERT INTO category_properties ( - id, - relation, - description, - nlab_link, - dual_property_id, - invariant_under_equivalences -) -VALUES -( - 'locally finitely presentable', - 'is', - 'A category is locally finitely presentable if it satisfies one of the following equivalent conditions: -
    -
  1. It is finitely accessible and cocomplete.
  2. -
  3. It is finitely accessible and complete.
  4. -
  5. It is equivalent to the category of finite-limit-preserving functors to $\Set$ from a small category with finite limits.
  6. -
  7. It is equivalent to the category of models of a small finite-limit sketch.
  8. -
- For equivalence of conditions above, see Cor. 2.47, Thm. 1.46, and Cor. 1.52 in Adamek-Rosicky. This is the same as being locally $\aleph_0$-presentable.', - 'https://ncatlab.org/nlab/show/locally+finitely+presentable+category', - NULL, - TRUE -), -( - 'locally presentable', - 'is', - 'Let $\kappa$ be a regular cardinal. A category is locally $\kappa$-presentable if it satisfies one of the following equivalent conditions: -
    -
  1. It is $\kappa$-accessible and cocomplete.
  2. -
  3. It is $\kappa$-accessible and complete.
  4. -
  5. It is equivalent to the category of $\kappa$-limit-preserving functors to $\Set$ from a small category with $\kappa$-limits.
  6. -
  7. It is equivalent to the category of models of a small $\kappa$-limit sketch.
  8. -
- For equivalence of conditions above, see Cor. 2.47, Thm. 1.46, and Cor. 1.52 in Adamek-Rosicky. - A category is locally presentable if it is locally $\kappa$-presentable for some regular cardinal $\kappa$.', - 'https://ncatlab.org/nlab/show/locally+presentable+category', - 'locally copresentable', - TRUE -), -( - 'locally copresentable', - 'is', - 'A category is locally copresentable if its opposite category is locally presentable.', - NULL, - 'locally presentable', - TRUE -), -( - 'locally ℵ₁-presentable', - 'is', - 'This is the special case of the notion of locally $\kappa$-presentable categories, where $\kappa = \aleph_1$ is the first uncountable cardinal.', - 'https://ncatlab.org/nlab/show/locally+presentable+category', - NULL, - TRUE -), -( - 'locally strongly finitely presentable', - 'is', - 'A category is locally strongly finitely presentable if it is cocomplete and there is a set $G$ of strongly finitely presentable objects such that every object is a sifted colimit of objects from $G$. - There are several equivalent conditions: -
    -
  1. It is equivalent to the category of models of a many-sorted finitary algebraic theory.
  2. -
  3. It is equivalent to the category of finite-product-preserving functors to $\Set$ from a small category with finite products (=Lawvere theory).
  4. -
  5. It is equivalent to the category of models of a small finite-product sketch.
  6. -
  7. It is equivalent to the Eilenberg–Moore category of a finitary (=filtered-colimit-preserving) monad on $\Set^S$ for some set $S$.
  8. -
  9. It is equivalent to the Eilenberg–Moore category of a sifted-colimit-preserving monad on $\Set^S$ for some set $S$. (cf. [KR12, Proposition 3.3])
  10. -
- A category satisfying this property is simply called a variety (of algebras) by some authors, although one should be aware that this term is sometimes used only for the one-sorted case.', - 'https://ncatlab.org/nlab/show/locally+strongly+finitely+presentable+category', - NULL, - TRUE -), -( - 'accessible', - 'is', - 'Let $\kappa$ be a regular cardinal. A category is $\kappa$-accessible if it has $\kappa$-filtered colimits and there is a (small) set $G$ of $\kappa$-presentable objects such that every object is a $\kappa$-filtered colimit of objects in $G$. A category is accessible if it is $\kappa$-accessible for some regular cardinal $\kappa$.', - 'https://ncatlab.org/nlab/show/accessible+category', - 'coaccessible', - TRUE -), -( - 'coaccessible', - 'is', - 'A category is coaccessible if its opposite category is accessible.', - NULL, - 'accessible', - TRUE -), -( - 'finitely accessible', - 'is', - 'A category is finitely accessible if it has filtered colimits and there is a (small) set $G$ of finitely presentable objects such that every object is a filtered colimit of objects in $G$.', - 'https://ncatlab.org/nlab/show/accessible+category', - NULL, - TRUE -), -( - 'ℵ₁-accessible', - 'is', - 'This is the special case of the notion of $\kappa$-accessible categories, where $\kappa = \aleph_1$ is the first uncountable cardinal.', - 'https://ncatlab.org/nlab/show/accessible+category', - NULL, - TRUE -), -( - 'generalized variety', - 'is a', - 'A category is a generalized variety if it has sifted colimits and there is a (small) set $G$ of strongly finitely presentable objects such that every object is a sifted colimit of objects from $G$. Generalized varieties are like locally strongly finitely presentable categories but without colimits. The relation is similar as between finitely accessible and locally finitely presentable categories. This notion is defined in [AR01, Def. 3.6].', - NULL, - NULL, - TRUE -), -( - 'multi-algebraic', - 'is', - 'A category is multi-algebraic if it satisfies one of the following equivalent conditions: -
    -
  1. It is a multi-cocomplete generalized variety, that is, it has multi-colimits and sifted colimits of all small diagrams, and there is a (small) set $G$ of strongly finitely presentable objects such that every object is a sifted colimit of objects from $G$.
  2. -
  3. It is equivalent to the category of models of a small (finite product, coproduct)-sketch, shortly small FPC-sketch.
  4. -
  5. It is equivalent to the category of multi-finite-product-preserving functors to $\Set$ from a small category with multi-finite-products (multi-algebraic theory). Here, multi-finite-products means multi-limits of finite discrete diagrams.
  6. -
  7. It is equivalent to the category of models of a small multi-finite-product sketch.
  8. -
- Multi-algebraic categories are like locally strongly finitely presentable categories but only with multi-colimits. The relation is similar as between locally finitely multi-presentable and locally finitely presentable categories. - For equivalence of conditions above, see [AR01a, Lem. 1] and [AR01b, Thm. 4.4]. - This notion was originally introduced by Diers.', - NULL, - NULL, - TRUE -), -( - 'locally multi-presentable', - 'is', - 'Let $\kappa$ be a regular cardinal. A category is locally $\kappa$-multi-presentable if it satisfies one of the following equivalent conditions: -
    -
  1. It is $\kappa$-accessible and multi-cocomplete.
  2. -
  3. It is $\kappa$-accessible and has connected limits.
  4. -
  5. It is equivalent to the category of models of a small ($\kappa$-limit, coproduct)-sketch.
  6. -
- For equivalence of conditions above, see Thm. 4.30, Thm. 4.32, and the remark below in Adamek-Rosicky. A category is locally multi-presentable if it is locally $\kappa$-multi-presentable for some $\kappa$.', - 'https://ncatlab.org/nlab/show/locally+multipresentable+category', - NULL, - TRUE -), -( - 'locally finitely multi-presentable', - 'is', - 'A category is locally finitely multi-presentable if it satisfies one of the following equivalent conditions: -
    -
  1. It is finitely accessible and multi-cocomplete.
  2. -
  3. It is finitely accessible and has connected limits.
  4. -
  5. It is equivalent to the category of models of a small (finite limit, coproduct)-sketch.
  6. -
- For equivalence of conditions above, see Thm. 4.30, Thm. 4.32, and the remark below in Adamek-Rosicky.', - 'https://ncatlab.org/nlab/show/locally+multipresentable+category', - NULL, - TRUE -), -( - 'locally poly-presentable', - 'is', - 'A category is locally poly-presentable if it is accessible and has wide pullbacks.', - 'https://ncatlab.org/nlab/show/locally+polypresentable+category', - NULL, - TRUE -); \ No newline at end of file diff --git a/databases/catdat/data/002_category-properties/008_topos-theory.sql b/databases/catdat/data/002_category-properties/008_topos-theory.sql deleted file mode 100644 index 90b7a50a..00000000 --- a/databases/catdat/data/002_category-properties/008_topos-theory.sql +++ /dev/null @@ -1,112 +0,0 @@ -INSERT INTO category_properties ( - id, - relation, - description, - nlab_link, - dual_property_id, - invariant_under_equivalences -) -VALUES -( - 'cartesian closed', - 'is', - 'A category is cartesian closed if all finite products and exponentials $[X,Y]$ exist, defined by the adjunction $\Hom(T,[X,Y]) \cong \Hom(T \times X,Y)$.', - 'https://ncatlab.org/nlab/show/cartesian+closed+category', - 'cocartesian coclosed', - TRUE -), -( - 'cocartesian coclosed', - 'is', - 'A category is cocartesian coclosed if its dual category is cartesian closed, i.e. if all finite coproducts and coexponentials $\Coexp(X,Y)$ exist, defined by the adjunction $\Hom(\Coexp[X,Y],T) \cong \Hom(Y,T \sqcup X)$.', - 'https://ncatlab.org/nlab/show/cocartesian+coclosed+category', - 'cartesian closed', - TRUE -), -( - 'locally cartesian closed', - 'is', - 'A category is locally cartesian closed if each of its slice categories is cartesian closed.', - 'https://ncatlab.org/nlab/show/locally+cartesian+closed+category', - 'locally cocartesian coclosed', - TRUE -), -( - 'locally cocartesian coclosed', - 'is', - 'A category is locally cocartesian coclosed if its dual is locally cartesian closed, i.e. if each of its coslice categories is cocartesian coclosed.', - 'https://ncatlab.org/nlab/show/locally+cocartesian+coclosed+category', - 'locally cartesian closed', - TRUE -), -( - 'subobject classifier', - 'has a', - 'A category $\C$ has a subobject classifier if it has finite limits and a monomorphism* $\top : 1 \hookrightarrow \Omega$ such that for every monomorphism $m : A \hookrightarrow B$ there is a unique morphism $\chi_m : B \to \Omega$ such that - $$\begin{CD} A @>{m}>> B \\ @V{!}VV @VV{\chi_m}V \\ 1 @>>{\top}> \Omega \end{CD}$$ - is a pullback diagram. Equivalently, the functor $\Sub : \C^{\op} \to \Set^+$ is representable.
- *Every morphism $1 \to \Omega$ is a split monomorphism anyway.', - 'https://ncatlab.org/nlab/show/subobject+classifier', - 'quotient object classifier', - TRUE -), -( - 'quotient object classifier', - 'has a', - 'A category $\C$ has a quotient object classifier if its dual has a subobject classifier. This means that it has finite colimits and an epimorphism* $\top : \Psi \twoheadrightarrow 0$ such that for every epimorphism $e : A \twoheadrightarrow B$ there is a unique morphism $\psi_e : \Psi \to A$ such that - $$\begin{CD} \Psi @>{\top}>> 0 \\ @V{\psi_e}VV @VV{!}V \\ A @>>{e}> B \end{CD}$$ - is a pushout diagram. Equivalently, the functor $\Quot : \C \to \Set^+$ is representable.
- *Every morphism $\Psi \to 0$ is a split epimorphism anyway.', - NULL, - 'subobject classifier', - TRUE -), -( - 'regular subobject classifier', - 'has a', - 'A category $\C$ has a regular subobject classifier if it has finite limits and a regular monomorphism* $\top : 1 \hookrightarrow \Omega$ such that for every regular monomorphism $m : A \hookrightarrow B$ there is a unique morphism $\chi_m : B \to \Omega$ such that - $$\begin{CD} A @>{m}>> B \\ @V{!}VV @VV{\chi_m}V \\ 1 @>>{\top}> \Omega \end{CD}$$ - is a pullback diagram. Equivalently, the functor $\Sub_{\reg} : \C^{\op} \to \Set^+$ is representable.
- *Every morphism $1 \to \Omega$ is a split monomorphism and hence regular anyway.', - 'https://ncatlab.org/nlab/show/subobject+classifier', - 'regular quotient object classifier', - TRUE -), -( - 'regular quotient object classifier', - 'has a', - 'A category $\C$ has a regular quotient object classifier if its dual has a regular subobject classifier. This means that it has finite colimits and a regular epimorphism* $\top : \Psi \twoheadrightarrow 0$ such that for every regular epimorphism $e : A \twoheadrightarrow B$ there is a unique morphism $\psi_e : \Psi \to A$ such that - $$\begin{CD} \Psi @>{\top}>> 0 \\ @V{\psi_e}VV @VV{!}V \\ A @>>{e}> B \end{CD}$$ - is a pushout diagram. Equivalently, the functor $\Quot_{\reg} : \C \to \Set^+$ is representable.
- *Every morphism $\Psi \to 0$ is a split epimorphism anyway.', - NULL, - 'regular subobject classifier', - TRUE -), -( - 'elementary topos', - 'is an', - 'An elementary topos is a cartesian closed category with finite limits and a subobject classifier.', - 'https://ncatlab.org/nlab/show/topos', - NULL, - TRUE -), -( - 'Grothendieck topos', - 'is a', - 'A Grothendieck topos is a category that is equivalent to the category of sheaves on a site.', - 'https://ncatlab.org/nlab/show/Grothendieck+topos', - NULL, - TRUE -), -( - 'natural numbers object', - 'has a', - 'A natural numbers object (NNO) in a category with finite products is a triple - $$(N,\, z : 1 \to N,\, s : N \to N)$$ - satisfying the following universal property: for all $f : A \to X$, $g : X \to X$ there is a unique $\Phi : A \times N \to X$ such that $\Phi(a,z)=f(a)$ and $\Phi(a,s(n)) = g(\Phi(a,n))$ in element notation. -
This concept is an abstraction of the set of natural numbers, which indeed provide a NNO for the category of sets. We have used the parametrized definition here which is more natural (sic!) for categories that are not cartesian closed (cf. Johnstone, Part A, Remark 2.5.3).', - 'https://ncatlab.org/nlab/show/natural+numbers+object', - NULL, - TRUE -); \ No newline at end of file diff --git a/databases/catdat/data/002_category-properties/009_misc.sql b/databases/catdat/data/002_category-properties/009_misc.sql deleted file mode 100644 index 6ae6e31a..00000000 --- a/databases/catdat/data/002_category-properties/009_misc.sql +++ /dev/null @@ -1,95 +0,0 @@ -INSERT INTO category_properties ( - id, - relation, - description, - nlab_link, - dual_property_id, - invariant_under_equivalences -) -VALUES -( - 'self-dual', - 'is', - 'A category is self-dual if it is equivalent to its opposite (or dual) category.', - 'https://ncatlab.org/nlab/show/opposite+category', - 'self-dual', - TRUE -), -( - 'connected', - 'is', - 'A category is connected if it is inhabited and every two objects can be joined via a zig-zag path of morphisms. Equivalently, $\C$ is connected if $\C \simeq \coprod_{i \in I} \C_i$ implies $\C_i \simeq 0$ for some $i$.', - 'https://ncatlab.org/nlab/show/connected+category', - 'connected', - TRUE -), -( - 'semi-strongly connected', - 'is', - 'A category is semi-strongly connected if it is inhabited and for every two objects $A,B$ there is a morphism $A \to B$ or there is a morphism $B \to A$. Notice that this is stronger than being connected, and that posets with this property are precisely the inhabited totally ordered sets.', - 'https://ncatlab.org/nlab/show/strongly+connected+category', - 'semi-strongly connected', - TRUE -), -( - 'strongly connected', - 'is', - 'A category is strongly connected if it is inhabited and for every two objects $A,B$ there is a morphism $A \to B$. In other words, each hom-set is inhabited. Notice that when a terminal object $1$ exists, this property means that every object $A$ admits a morphism $1 \to A$.', - 'https://ncatlab.org/nlab/show/strongly+connected+category', - 'strongly connected', - TRUE -), -( - 'filtered', - 'is', - 'A category is filtered if every finite diagram admits a cocone. Equivalently, it is inhabited, for every two objects $x,y$ there is a cospan $x \rightarrow s \leftarrow y$ (not necessarily universal), and every parallel pair $x \rightrightarrows y$ is coequalized by some morphism $y \to c$ (not necessarily universal).', - 'https://ncatlab.org/nlab/show/filtered+category', - 'cofiltered', - TRUE -), -( - 'cofiltered', - 'is', - 'A category is cofiltered if every finite diagram admits a cone. Equivalently, it is inhabited, for every two objects $x,y$ there is a span $x \leftarrow p \rightarrow y$ (not necessarily universal), and every parallel pair $x \rightrightarrows y$ is equalized by some morphism $e \to x$ (not necessarily universal).', - 'https://ncatlab.org/nlab/show/cofiltered+category', - 'filtered', - TRUE -), -( - 'sifted', - 'is', - 'A category $\C$ is sifted if it is inhabited and the diagonal functor $\Delta : \C \to \C \times \C$ is final, i.e. if it is non-empty and for any two objects $X,Y \in \C$ the category of cospans - $$X \rightarrow Z \leftarrow Y$$ - is connected. Equivalently, a small category $\C$ is sifted if $\colim : \Set^{\C} \to \Set$ preserves finite products. This property is a weaker notion than being filtered.', - 'https://ncatlab.org/nlab/show/sifted+category', - 'cosifted', - TRUE -), -( - 'cosifted', - 'is', - 'A category $\C$ is cosifted if it is inhabited and the diagonal functor $\Delta : \C \to \C \times \C$ is initial, i.e. if it is non-empty and for any two objects $X,Y \in \C$ the category of spans - $$X \leftarrow Z \rightarrow Y$$ - is connected. Equivalently, a small category $\C$ is cosifted if $\colim : \Set^{{\C}^\op} \to \Set$ preserves finite products. This property is a weaker notion than being cofiltered.', - 'https://ncatlab.org/nlab/show/sifted+category', - 'sifted', - TRUE -), -( - 'Malcev', - 'is', - 'A category is Malcev when it has finite limits and every internal reflexive relation is an internal equivalence relation. That is, if $R \subseteq X^2$ is a subobject with $\Delta_X \subseteq R$, then $R$ is symmetric and transitive.', - 'https://ncatlab.org/nlab/show/Malcev+category', - 'co-Malcev', - TRUE -), -( - 'co-Malcev', - 'is', - 'A category is co-Malcev when its dual is Malcev, i.e., it has finite colimits and if $X \sqcup X \twoheadrightarrow R$ is a coreflexive corelation, then it is cosymmetric and cotransitive.
- This terminology is not standard, but we have added it to properly formulate the interesting theorem that the dual of an elementary topos is Malcev, i.e., that every elementary topos is co-Malcev.
- To settle this property, we often use that $\C$ is co-Malcev if and only if the category of representable functors $\C \to \Set^+$ is Malcev.', - NULL, - 'Malcev', - TRUE -); \ No newline at end of file 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 deleted file mode 100644 index 35053691..00000000 --- a/databases/catdat/data/002_category-properties/100_related-category-properties.sql +++ /dev/null @@ -1,426 +0,0 @@ -INSERT INTO related_category_properties (property_id, related_property_id) -VALUES -('small', 'essentially small'), -('small', 'locally small'), -('locally small', 'small'), -('locally small', 'locally essentially small'), -('locally essentially small', 'locally small'), -('essentially small', 'small'), -('essentially small', 'locally essentially small'), -('cartesian closed', 'finite products'), -('cartesian closed', 'locally cartesian closed'), -('cocartesian coclosed', 'finite coproducts'), -('cocartesian coclosed', 'locally cocartesian coclosed'), -('locally cartesian closed', 'cartesian closed'), -('locally cocartesian coclosed', 'cocartesian coclosed'), -('zero morphisms', 'preadditive'), -('zero morphisms', 'pointed'), -('preadditive', 'additive'), -('additive', 'preadditive'), -('additive', 'finite products'), -('additive', 'finite coproducts'), -('additive', 'biproducts'), -('biproducts', 'zero morphisms'), -('biproducts', 'finite products'), -('biproducts', 'finite coproducts'), -('abelian', 'additive'), -('abelian', 'kernels'), -('abelian', 'cokernels'), -('abelian', 'normal'), -('abelian', 'conormal'), -('finitely complete', 'complete'), -('finitely complete', 'finite products'), -('finitely complete', 'equalizers'), -('finitely cocomplete', 'cocomplete'), -('finitely cocomplete', 'finite coproducts'), -('finitely cocomplete', 'coequalizers'), -('pointed', 'initial object'), -('pointed', 'terminal object'), -('locally finitely presentable', 'cocomplete'), -('locally finitely presentable', 'locally presentable'), -('locally finitely presentable', 'locally strongly finitely presentable'), -('locally finitely presentable', 'locally ℵ₁-presentable'), -('locally finitely presentable', 'finitely accessible'), -('locally finitely presentable', 'locally finitely multi-presentable'), -('locally finitely presentable', 'finitary algebraic'), -('locally strongly finitely presentable', 'locally finitely presentable'), -('locally strongly finitely presentable', 'multi-algebraic'), -('locally strongly finitely presentable', 'generalized variety'), -('locally strongly finitely presentable', 'finitary algebraic'), -('locally presentable', 'cocomplete'), -('locally presentable', 'locally finitely presentable'), -('locally presentable', 'locally ℵ₁-presentable'), -('locally presentable', 'accessible'), -('locally presentable', 'locally multi-presentable'), -('locally presentable', 'locally poly-presentable'), -('locally copresentable', 'complete'), -('locally copresentable', 'coaccessible'), -('locally ℵ₁-presentable', 'cocomplete'), -('locally ℵ₁-presentable', 'locally finitely presentable'), -('locally ℵ₁-presentable', 'locally presentable'), -('locally ℵ₁-presentable', 'ℵ₁-accessible'), -('elementary topos', 'Grothendieck topos'), -('elementary topos', 'cartesian closed'), -('elementary topos', 'finitely complete'), -('elementary topos', 'subobject classifier'), -('elementary topos', 'natural numbers object'), -('Grothendieck topos', 'elementary topos'), -('natural numbers object', 'elementary topos'), -('natural numbers object', 'finite products'), -('initial object', 'finite coproducts'), -('initial object', 'multi-initial object'), -('terminal object', 'finite products'), -('terminal object', 'multi-terminal object'), -('complete', 'equalizers'), -('complete', 'products'), -('complete', 'multi-complete'), -('equalizers', 'finitely complete'), -('equalizers', 'coreflexive equalizers'), -('equalizers', 'kernels'), -('equalizers', 'coquotients of cocongruences'), -('coequalizers', 'finitely cocomplete'), -('coequalizers', 'reflexive coequalizers'), -('coequalizers', 'cokernels'), -('coequalizers', 'quotients of congruences'), -('kernels', 'zero morphisms'), -('kernels', 'equalizers'), -('kernels', 'normal'), -('kernels', 'coquotients of cocongruences'), -('cokernels', 'zero morphisms'), -('cokernels', 'coequalizers'), -('cokernels', 'conormal'), -('cokernels', 'quotients of congruences'), -('cocomplete', 'coequalizers'), -('cocomplete', 'coproducts'), -('cocomplete', 'multi-cocomplete'), -('products', 'complete'), -('products', 'finite products'), -('products', 'powers'), -('coproducts', 'cocomplete'), -('coproducts', 'finite coproducts'), -('coproducts', 'copowers'), -('finite products', 'products'), -('finite products', 'finite powers'), -('finite products', 'binary products'), -('finite products', 'terminal object'), -('finite coproducts', 'coproducts'), -('finite coproducts', 'binary coproducts'), -('finite coproducts', 'initial object'), -('finite coproducts', 'finite copowers'), -('binary products', 'finite products'), -('binary products', 'binary powers'), -('binary coproducts', 'finite coproducts'), -('binary coproducts', 'binary copowers'), -('countable products', 'products'), -('countable products', 'finite products'), -('countable products', 'countable powers'), -('countable coproducts', 'coproducts'), -('countable coproducts', 'finite coproducts'), -('countable coproducts', 'countable copowers'), -('cofiltered limits', 'cofiltered'), -('cofiltered limits', 'complete'), -('cofiltered limits', 'directed limits'), -('cofiltered limits', 'cosifted limits'), -('filtered colimits', 'filtered'), -('filtered colimits', 'cocomplete'), -('filtered colimits', 'directed colimits'), -('filtered colimits', 'sifted colimits'), -('directed limits', 'cofiltered limits'), -('directed limits', 'complete'), -('directed colimits', 'filtered colimits'), -('directed colimits', 'cocomplete'), -('sequential limits', 'directed limits'), -('sequential colimits', 'directed colimits'), -('cogenerator', 'cogenerating set'), -('cogenerating set', 'cogenerator'), -('connected limits', 'connected'), -('connected limits', 'complete'), -('connected limits', 'cofiltered limits'), -('connected colimits', 'connected'), -('connected colimits', 'cocomplete'), -('connected colimits', 'filtered colimits'), -('strict initial object', 'initial object'), -('strict terminal object', 'terminal object'), -('discrete', 'essentially discrete'), -('discrete', 'thin'), -('essentially discrete', 'discrete'), -('essentially discrete', 'thin'), -('finite', 'essentially finite'), -('finite', 'small'), -('finite', 'countable'), -('essentially finite', 'finite'), -('essentially finite', 'essentially small'), -('essentially finite', 'essentially countable'), -('countable', 'essentially countable'), -('countable', 'finite'), -('essentially countable', 'countable'), -('essentially countable', 'essentially finite'), -('pullbacks', 'wide pullbacks'), -('pullbacks', 'binary products'), -('pushouts', 'wide pushouts'), -('pushouts', 'binary coproducts'), -('subobject classifier', 'elementary topos'), -('subobject classifier', 'finitely complete'), -('subobject classifier', 'regular subobject classifier'), -('regular subobject classifier', 'subobject classifier'), -('regular subobject classifier', 'finitely complete'), -('quotient object classifier', 'finitely cocomplete'), -('quotient object classifier', 'regular quotient object classifier'), -('regular quotient object classifier', 'quotient object classifier'), -('regular quotient object classifier', 'finitely cocomplete'), -('distributive', 'infinitary distributive'), -('distributive', 'countably distributive'), -('distributive', 'finite products'), -('distributive', 'finite coproducts'), -('countably distributive', 'distributive'), -('countably distributive', 'infinitary distributive'), -('countably distributive', 'finite products'), -('countably distributive', 'countable coproducts'), -('infinitary distributive', 'distributive'), -('infinitary distributive', 'countably distributive'), -('infinitary distributive', 'finite products'), -('infinitary distributive', 'coproducts'), -('codistributive', 'infinitary codistributive'), -('codistributive', 'countably codistributive'), -('codistributive', 'finite products'), -('codistributive', 'finite coproducts'), -('countably codistributive', 'codistributive'), -('countably codistributive', 'infinitary codistributive'), -('countably codistributive', 'finite coproducts'), -('countably codistributive', 'countable products'), -('infinitary codistributive', 'codistributive'), -('infinitary codistributive', 'countably codistributive'), -('infinitary codistributive', 'finite coproducts'), -('infinitary codistributive', 'products'), -('exact filtered colimits', 'filtered colimits'), -('exact filtered colimits', 'finitely complete'), -('exact filtered colimits', 'cartesian filtered colimits'), -('exact cofiltered limits', 'cofiltered limits'), -('exact cofiltered limits', 'finitely cocomplete'), -('exact cofiltered limits', 'cocartesian cofiltered limits'), -('exact cofiltered limits', 'cofiltered-limit-stable epimorphisms'), -('cartesian filtered colimits', 'filtered colimits'), -('cartesian filtered colimits', 'finite products'), -('cartesian filtered colimits', 'exact filtered colimits'), -('cocartesian cofiltered limits', 'cofiltered limits'), -('cocartesian cofiltered limits', 'finite coproducts'), -('cocartesian cofiltered limits', 'exact cofiltered limits'), -('filtered-colimit-stable monomorphisms', 'exact filtered colimits'), -('filtered-colimit-stable monomorphisms', 'filtered colimits'), -('cofiltered-limit-stable epimorphisms', 'exact cofiltered limits'), -('cofiltered-limit-stable epimorphisms', 'cofiltered limits'), -('generator', 'generating set'), -('generating set', 'generator'), -('Grothendieck abelian', 'abelian'), -('Grothendieck abelian', 'cocomplete'), -('Grothendieck abelian', 'generator'), -('Grothendieck abelian', 'exact filtered colimits'), -('disjoint finite coproducts', 'finite coproducts'), -('disjoint finite coproducts', 'disjoint coproducts'), -('disjoint finite coproducts', 'extensive'), -('disjoint coproducts', 'coproducts'), -('disjoint coproducts', 'disjoint finite coproducts'), -('disjoint coproducts', 'infinitary extensive'), -('disjoint finite products', 'finite products'), -('disjoint finite products', 'disjoint products'), -('disjoint finite products', 'coextensive'), -('disjoint products', 'products'), -('disjoint products', 'disjoint finite products'), -('disjoint products', 'infinitary coextensive'), -('left cancellative', 'groupoid'), -('right cancellative', 'groupoid'), -('groupoid', 'left cancellative'), -('groupoid', 'right cancellative'), -('groupoid', 'subobject-trivial'), -('groupoid', 'quotient-trivial'), -('wide pullbacks', 'pullbacks'), -('wide pushouts', 'pushouts'), -('split abelian', 'abelian'), -('Cauchy complete', 'finitely complete'), -('Malcev', 'finitely complete'), -('co-Malcev', 'finitely cocomplete'), -('connected', 'semi-strongly connected'), -('connected', 'strongly connected'), -('connected', 'inhabited'), -('semi-strongly connected', 'connected'), -('semi-strongly connected', 'strongly connected'), -('semi-strongly connected', 'inhabited'), -('strongly connected', 'connected'), -('strongly connected', 'semi-strongly connected'), -('strongly connected', 'inhabited'), -('regular', 'finitely complete'), -('regular', 'quotients of congruences'), -('coregular', 'finitely cocomplete'), -('coregular', 'coquotients of cocongruences'), -('extensive', 'infinitary extensive'), -('extensive', 'finite coproducts'), -('extensive', 'disjoint finite coproducts'), -('infinitary extensive', 'extensive'), -('infinitary extensive', 'coproducts'), -('infinitary extensive', 'disjoint coproducts'), -('coextensive', 'infinitary coextensive'), -('coextensive', 'finite products'), -('coextensive', 'disjoint finite products'), -('infinitary coextensive', 'coextensive'), -('infinitary coextensive', 'products'), -('infinitary coextensive', 'disjoint products'), -('well-powered', 'small'), -('well-copowered', 'small'), -('unital', 'finitely complete'), -('unital', 'pointed'), -('unital', 'Malcev'), -('counital', 'finitely cocomplete'), -('counital', 'pointed'), -('counital', 'co-Malcev'), -('cosifted limits', 'complete'), -('cosifted limits', 'cofiltered limits'), -('cosifted limits', 'coreflexive equalizers'), -('cosifted limits', 'cosifted'), -('sifted colimits', 'cocomplete'), -('sifted colimits', 'filtered colimits'), -('sifted colimits', 'reflexive coequalizers'), -('sifted colimits', 'sifted'), -('sifted', 'sifted colimits'), -('sifted', 'filtered'), -('sifted', 'connected'), -('cosifted', 'cosifted limits'), -('cosifted', 'connected'), -('cosifted', 'cofiltered'), -('coreflexive equalizers', 'equalizers'), -('coreflexive equalizers', 'cosifted limits'), -('reflexive coequalizers', 'coequalizers'), -('reflexive coequalizers', 'sifted colimits'), -('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'), -('inverse', 'skeletal'), -('skeletal', 'gaunt'), -('gaunt', 'skeletal'), -('gaunt', 'one-way'), -('gaunt', 'core-thin'), -('core-thin', 'thin'), -('core-thin', 'one-way'), -('core-thin', 'gaunt'), -('thin', 'core-thin'), -('thin', 'discrete'), -('one-way', 'direct'), -('one-way', 'inverse'), -('one-way', 'core-thin'), -('powers', 'products'), -('powers', 'countable powers'), -('powers', 'finite powers'), -('countable powers', 'countable products'), -('countable powers', 'powers'), -('countable powers', 'finite powers'), -('finite powers', 'finite products'), -('finite powers', 'powers'), -('finite powers', 'countable powers'), -('finite powers', 'binary powers'), -('copowers', 'coproducts'), -('copowers', 'countable copowers'), -('copowers', 'finite copowers'), -('countable copowers', 'countable coproducts'), -('countable copowers', 'copowers'), -('countable copowers', 'finite copowers'), -('finite copowers', 'copowers'), -('finite copowers', 'finite coproducts'), -('finite copowers', 'countable copowers'), -('finite copowers', 'binary copowers'), -('binary powers', 'finite powers'), -('binary powers', 'finite products'), -('binary copowers', 'finite copowers'), -('binary copowers', 'finite coproducts'), -('filtered', 'finitely cocomplete'), -('filtered', 'filtered colimits'), -('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'), -('multi-terminal object', 'terminal object'), -('multi-cocomplete', 'cocomplete'), -('multi-cocomplete', 'multi-initial object'), -('multi-initial object', 'multi-cocomplete'), -('multi-initial object', 'initial object'), -('accessible', 'finitely accessible'), -('accessible', 'ℵ₁-accessible'), -('accessible', 'locally presentable'), -('accessible', 'locally multi-presentable'), -('accessible', 'locally poly-presentable'), -('coaccessible', 'locally copresentable'), -('ℵ₁-accessible', 'accessible'), -('ℵ₁-accessible', 'finitely accessible'), -('ℵ₁-accessible', 'locally ℵ₁-presentable'), -('finitely accessible', 'accessible'), -('finitely accessible', 'ℵ₁-accessible'), -('finitely accessible', 'locally finitely presentable'), -('finitely accessible', 'locally finitely multi-presentable'), -('finitely accessible', 'filtered colimits'), -('locally multi-presentable', 'locally finitely multi-presentable'), -('locally multi-presentable', 'locally presentable'), -('locally multi-presentable', 'locally poly-presentable'), -('locally multi-presentable', 'accessible'), -('locally multi-presentable', 'multi-cocomplete'), -('locally multi-presentable', 'connected limits'), -('locally finitely multi-presentable', 'locally multi-presentable'), -('locally finitely multi-presentable', 'finitely accessible'), -('locally finitely multi-presentable', 'filtered colimits'), -('locally finitely multi-presentable', 'multi-cocomplete'), -('locally finitely multi-presentable', 'connected limits'), -('locally finitely multi-presentable', 'multi-algebraic'), -('locally poly-presentable', 'locally presentable'), -('locally poly-presentable', 'locally multi-presentable'), -('locally poly-presentable', 'accessible'), -('locally poly-presentable', 'wide pullbacks'), -('multi-algebraic', 'locally finitely multi-presentable'), -('multi-algebraic', 'locally strongly finitely presentable'), -('multi-algebraic', 'generalized variety'), -('multi-algebraic', 'sifted colimits'), -('multi-algebraic', 'multi-cocomplete'), -('multi-algebraic', 'finitary algebraic'), -('generalized variety', 'multi-algebraic'), -('generalized variety', 'locally strongly finitely presentable'), -('generalized variety', 'sifted colimits'), -('CIP', 'coproducts'), -('CIP', 'products'), -('CIP', 'zero morphisms'), -('CIP', 'counital'), -('CIP', 'filtered-colimit-stable monomorphisms'), -('CSP', 'coproducts'), -('CSP', 'products'), -('CSP', 'zero morphisms'), -('CSP', 'unital'), -('CSP', 'cofiltered-limit-stable epimorphisms'), -('finitary algebraic', 'locally strongly finitely presentable'), -('subobject-trivial', 'mono-regular'), -('subobject-trivial', 'groupoid'), -('quotient-trivial', 'epi-regular'), -('quotient-trivial', 'groupoid'); diff --git a/databases/catdat/data/003_category-property-assignments/0.sql b/databases/catdat/data/003_category-property-assignments/0.sql deleted file mode 100644 index e6b2cd88..00000000 --- a/databases/catdat/data/003_category-property-assignments/0.sql +++ /dev/null @@ -1,49 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - '0', - 'preadditive', - TRUE, - 'This is vacuously true.' -), -( - '0', - 'discrete', - TRUE, - 'This is trivial.' -), -( - '0', - 'binary products', - TRUE, - 'This is vacuously true.' -), -( - '0', - 'finite', - TRUE, - 'This is trivial.' -), -( - '0', - 'small', - TRUE, - 'This is trivial.' -), -( - '0', - 'multi-algebraic', - TRUE, - 'The terminal category $\1$ becomes an FPC-sketch by selecting the unique empty cone and cocone. Then, a $\Set$-valued model of this sketch is a functor $\1 \to \Set$ sending the unique object to a terminal and initial object, which never exists. Hence, $\0$ is the category of models of this FPC-sketch.' -), -( - '0', - 'inhabited', - FALSE, - 'This is trivial.' -); diff --git a/databases/catdat/data/003_category-property-assignments/1.sql b/databases/catdat/data/003_category-property-assignments/1.sql deleted file mode 100644 index 050857b4..00000000 --- a/databases/catdat/data/003_category-property-assignments/1.sql +++ /dev/null @@ -1,31 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - '1', - 'trivial', - TRUE, - 'This is trivial.' -), -( - '1', - 'finite', - TRUE, - 'This is trivial.' -), -( - '1', - 'small', - TRUE, - 'This is trivial.' -), -( - '1', - 'discrete', - TRUE, - 'This is trivial.' -); diff --git a/databases/catdat/data/003_category-property-assignments/2.sql b/databases/catdat/data/003_category-property-assignments/2.sql deleted file mode 100644 index 9858d80f..00000000 --- a/databases/catdat/data/003_category-property-assignments/2.sql +++ /dev/null @@ -1,43 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - '2', - 'discrete', - TRUE, - 'This is trivial.' -), -( - '2', - 'finite', - TRUE, - 'This is trivial.' -), -( - '2', - 'small', - TRUE, - 'This is trivial.' -), -( - '2', - 'inhabited', - TRUE, - 'This is trivial.' -), -( - '2', - 'multi-algebraic', - TRUE, - 'There is an FPC-sketch whose $\Set$-model is precisely a pair $(X,Y)$ of sets such that the coproduct $X+Y$ is a singleton. Any $\Set$-model of such a sketch is isomorphic to either $(\varnothing, 1)$ or $(1, \varnothing)$, hence the category of models is equivalent to $\2$.' -), -( - '2', - 'connected', - FALSE, - 'The objects $0$, $1$ have no zig-zag path between them.' -); diff --git a/databases/catdat/data/003_category-property-assignments/Ab.sql b/databases/catdat/data/003_category-property-assignments/Ab.sql deleted file mode 100644 index 832ec9ef..00000000 --- a/databases/catdat/data/003_category-property-assignments/Ab.sql +++ /dev/null @@ -1,43 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Ab', - 'locally small', - TRUE, - 'There is a forgetful functor $\Ab \to \Set$ and $\Set$ is locally small.' -), -( - 'Ab', - 'abelian', - TRUE, - 'This is standard, see Mac Lane, Ch. VIII.' -), -( - 'Ab', - 'finitary algebraic', - TRUE, - 'Take the algebraic theory of a commutative group.' -), -( - 'Ab', - 'split abelian', - FALSE, - 'The short exact sequence $0 \xrightarrow{} \IZ \xrightarrow{p} \IZ \xrightarrow{} \IZ/p \xrightarrow{} 0$ does not split. ' -), -( - 'Ab', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Ab', - 'CSP', - FALSE, - 'The canonical homomorphism $\bigoplus_{n \geq 0} \IZ \to \prod_{n \geq 0} \IZ$ is not surjective, hence no epimorphism.' -); diff --git a/databases/catdat/data/003_category-property-assignments/Ab_fg.sql b/databases/catdat/data/003_category-property-assignments/Ab_fg.sql deleted file mode 100644 index dc3fdf80..00000000 --- a/databases/catdat/data/003_category-property-assignments/Ab_fg.sql +++ /dev/null @@ -1,67 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Ab_fg', - 'locally small', - TRUE, - 'There is a forgetful functor $\FinAb \to \Set$ and $\Set$ is locally small.' -), -( - 'Ab_fg', - 'essentially countable', - TRUE, - 'Every finitely generated abelian group is isomorphic to a group of the form $\IZ^n / U$, where $n \in \IN$ and $U$ is a subgroup of $\IZ^n$. Since $\IZ^n$ is Noetherian as a $\IZ$-module, $U$ is finitely generated, hence the category $\Ab_\fg$ has only countably many objects up to isomorphism. Furthermore, for any objects $A \cong \IZ^n / U$ and $B \cong \IZ^m / T$, the hom-set $\Hom(A,B)$ is countable. Indeed, precomposition with the quotient map yields an injection $\Hom(A,B) \hookrightarrow \Hom(\IZ^n, B) \cong B^n$, and $B^n$ is countable.' -), -( - 'Ab_fg', - 'abelian', - TRUE, - 'This follows from the fact for abelian groups and the fact that subgroups of finitely generated abelian groups are also finitely generated.' -), -( - 'Ab_fg', - 'generator', - TRUE, - 'The group $\IZ$ is a generator since it represents the forgetful functor to $\Set$.' -), -( - 'Ab_fg', - 'ℵ₁-accessible', - TRUE, - 'The inclusion $\Ab_{\fg} \hookrightarrow \Ab$ is closed under $\aleph_1$-filtered colimits by MO/400763. In particular, $\Ab_{\fg}$ has $\aleph_1$-filtered colimits. Since $\Ab_{\fg}$ is essentially small, there is a set $G$ such that every f.g. abelian group is isomorphic to one in $G$. So trivially it is also a $\aleph_1$-filtered colimit of such objects (take the constant diagram). Finally, every object is $\Ab_{\fg} = \Ab_{\fp}$ is finitely presentable in $\Ab$ and hence also in $\Ab_{\fg}$, a fortiori $\aleph_1$-presentable.' -), -( - 'Ab_fg', - 'small', - FALSE, - 'Even the collection of trivial groups is not small.' -), -( - 'Ab_fg', - 'cogenerator', - FALSE, - 'Let $Q$ be a finitely generated abelian group. By their well-known classification, we have $Q = F \oplus T$ for a free abelian group $F$ and a finite abelian group $T$. Let $p$ be a prime number which does not divide the order of $T$. Then $\Hom(\IZ/p, Q) = 0$, but $\IZ/p \neq 0$. Therefore, $Q$ is no cogenerator.' -), -( - 'Ab_fg', - 'split abelian', - FALSE, - 'The short exact sequence $0 \xrightarrow{} \IZ \xrightarrow{p} \IZ \xrightarrow{} \IZ/p \xrightarrow{} 0$ does not split.' -), -( - 'Ab_fg', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Ab_fg', - 'countable', - FALSE, - 'This is trivial.' -); diff --git a/databases/catdat/data/003_category-property-assignments/Alg(R).sql b/databases/catdat/data/003_category-property-assignments/Alg(R).sql deleted file mode 100644 index 5b615ef0..00000000 --- a/databases/catdat/data/003_category-property-assignments/Alg(R).sql +++ /dev/null @@ -1,105 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Alg(R)', - 'locally small', - TRUE, - 'There is a forgetful functor $\Alg(R) \to \Set$ and $\Set$ is locally small.' -), -( - 'Alg(R)', - 'finitary algebraic', - TRUE, - 'Take the algebraic theory of an $R$-algebra.' -), -( - 'Alg(R)', - 'strict terminal object', - TRUE, - 'If $f : 0 \to A$ is an algebra homomorphism, then $A$ satisfies $1=f(1)=f(0)=0$, so that $A=0$.' -), -( - 'Alg(R)', - 'Malcev', - TRUE, - 'This follows in the same way as for groups, see also Example 2.2.5 in Malcev, protomodular, homological and semi-abelian categories.' -), -( - 'Alg(R)', - 'disjoint finite products', - TRUE, - 'One can take the same proof as for $\Ring$.' -), -( - 'Alg(R)', - 'balanced', - FALSE, - 'Take a prime ideal $P \subseteq R$ and consider the $R$-algebra $A := R/P$ (which is an integral domain). Then the inclusion $A \hookrightarrow Q(A)$ is a counterexample.' -), -( - 'Alg(R)', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Alg(R)', - 'cogenerating set', - FALSE, - 'We apply this lemma to the collection of $R$-algebras which are fields: If $F$ is an $R$-algebra that is also a field and $A$ is a non-trivial $R$-algebra, any algebra homomorphism $F \to A$ is injective. For every infinite cardinal $\kappa$ the field of rational functions in $\kappa$ variables over some residue field of $R$ has cardinality $\geq \kappa$ and a non-trivial automorphism (swap two variables).' -), -( - 'Alg(R)', - 'codistributive', - FALSE, - 'If $\sqcup$ denotes the coproduct of $R$-algebras (see MSE/625874 for their description) and $A$ is an $R$-algebra, the canonical morphism $A \sqcup R^2 \to (A \sqcup R)^2 = A^2$ is usually no isomorphism. For example, for $A = R[X]$ the coproduct on the LHS is not commutative, it has the algebra presentation $\langle X,E : E^2=E \rangle$.' -), -( - 'Alg(R)', - 'semi-strongly connected', - FALSE, - 'This is because already the full subcategory $\CAlg(R)$ of commutative algebras is not semi-strongly connected, see its category page for details.' -), -( - 'Alg(R)', - 'co-Malcev', - FALSE, - 'See MO/509552: Consider the forgetful functor $U : \Alg(R) \to \Set$ and the relation $S \subseteq U^2$ defined by $S(A) := \{(a,b) \in U(A)^2 : ab = a^2\}$. Both are representable: $U$ by $R[X]$ and $S$ by $R \langle X,Y \rangle / \langle XY-X^2 \rangle$. It is clear that $S$ is reflexive, but not symmetric.' -), -( - 'Alg(R)', - 'coregular', - FALSE, - 'We just need to tweak the proof for $\Ring$. Since $R \neq 0$, there is an infinite field $K$ with a homomorphism $R \to K$. Since $K$ is infinite, we may choose some $\lambda \in K \setminus \{0,1\}$. Let $B := M_2(K)$ and $A := K \times K$. Then $A \to B$, $(x,y) \mapsto \diag(x,y)$ is a regular monomorphism: A direct calculation shows that a matrix is diagonal iff it commutes with $M := \bigl(\begin{smallmatrix} 1 & 0 \\ 0 & \lambda \end{smallmatrix}\bigr)$, so that $A \to B$ is the equalizer of the identity $B \to B$ and the conjugation $B \to B$, $X \mapsto M X M^{-1}$. Consider the homomorphism $A \to K$, $(a,b) \mapsto a$. We claim that $K \to K \sqcup_A B$ is not a monomorphism, because in fact, the pushout $K \sqcup_A B$ is zero: Since $A \to K$ is surjective with kernel $0 \times K$, the pushout is $B/\langle 0 \times K \rangle$, which is $0$ because $B$ is simple (proof) or via a direct calculation with elementary matrices.' -), -( - 'Alg(R)', - 'regular quotient object classifier', - FALSE, - 'We may copy the proof for the category of commutative algebras (since the proof there did not use that $P$ is commutative). Alternatively, any regular quotient object classifier in $\Alg(R)$ would produce one in $\CAlg(R)$ by this lemma (dualized).' -), -( - 'Alg(R)', - 'cocartesian cofiltered limits', - FALSE, - 'Consider the ring $A = R[X]$ and the sequence of rings $B_n = R[Y]/(Y^{n+1})$ with projections $B_{n+1} \to B_n$, whose limit is $R[[Y]]$. Every element in the coproduct of rings $R[X] \sqcup R[[Y]]$ has a finite "free product" length. Now consider the elements - $$w_n = (1 + XY) (1+XY^2) \cdots (1+X Y^n) \in A \sqcup B_n.$$ - Because of $w_n \equiv w_{n-1} \bmod Y^n$ these form an element $w \in \lim_n (A \sqcup B_n)$. Expanding $w_n$, the longest term is $XY XY^2 \cdots X Y^n$ of "free product" length $2n$, which is unbounded.' -), -( - 'Alg(R)', - '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 $\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/B.sql b/databases/catdat/data/003_category-property-assignments/B.sql deleted file mode 100644 index 1a721d59..00000000 --- a/databases/catdat/data/003_category-property-assignments/B.sql +++ /dev/null @@ -1,67 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'B', - 'locally small', - TRUE, - 'There is a forgetful functor $\IB \to \Set$ and $\Set$ is locally small.' -), -( - 'B', - 'essentially countable', - TRUE, - 'Every finite set is isomorphic to some $\{1,\dotsc,n\}$ for some $n \in \IN$.' -), -( - 'B', - 'groupoid', - TRUE, - 'This is trivial.' -), -( - 'B', - 'inhabited', - TRUE, - 'This is trivial.' -), -( - 'B', - 'small', - FALSE, - 'Even the collection of singletons is not small.' -), -( - 'B', - 'connected', - FALSE, - 'For every $n \geq 0$ there is a connected component of sets of size $n$.' -), -( - 'B', - 'generator', - FALSE, - 'This is trivial.' -), -( - 'B', - 'essentially finite', - FALSE, - 'This is trivial.' -), -( - 'B', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'B', - 'countable', - FALSE, - 'This is trivial.' -); diff --git a/databases/catdat/data/003_category-property-assignments/BG_c.sql b/databases/catdat/data/003_category-property-assignments/BG_c.sql deleted file mode 100644 index 61864e12..00000000 --- a/databases/catdat/data/003_category-property-assignments/BG_c.sql +++ /dev/null @@ -1,49 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'BG_c', - 'countable', - TRUE, - 'This is because $G$ is countable.' -), -( - 'BG_c', - 'small', - TRUE, - 'This is trivial.' -), -( - 'BG_c', - 'groupoid', - TRUE, - 'This is trivial.' -), -( - 'BG_c', - 'connected', - TRUE, - 'This is trivial.' -), -( - 'BG_c', - 'generator', - TRUE, - 'The unique object is a generator for trivial reasons.' -), -( - 'BG_c', - 'skeletal', - TRUE, - 'There is just one object.' -), -( - 'BG_c', - 'essentially finite', - FALSE, - 'This is because we choose $G$ to be infinite.' -); diff --git a/databases/catdat/data/003_category-property-assignments/BG_f.sql b/databases/catdat/data/003_category-property-assignments/BG_f.sql deleted file mode 100644 index f2fd24a6..00000000 --- a/databases/catdat/data/003_category-property-assignments/BG_f.sql +++ /dev/null @@ -1,49 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'BG_f', - 'finite', - TRUE, - 'This is trivial.' -), -( - 'BG_f', - 'small', - TRUE, - 'This is trivial.' -), -( - 'BG_f', - 'groupoid', - TRUE, - 'This is trivial.' -), -( - 'BG_f', - 'connected', - TRUE, - 'This is trivial.' -), -( - 'BG_f', - 'generator', - TRUE, - 'The unique object is a generator for trivial reasons.' -), -( - 'BG_f', - 'skeletal', - TRUE, - 'There is just one object.' -), -( - 'BG_f', - 'trivial', - FALSE, - 'This is trivial.' -); diff --git a/databases/catdat/data/003_category-property-assignments/BN.sql b/databases/catdat/data/003_category-property-assignments/BN.sql deleted file mode 100644 index 7ec64607..00000000 --- a/databases/catdat/data/003_category-property-assignments/BN.sql +++ /dev/null @@ -1,67 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'BN', - 'small', - TRUE, - 'This is trivial.' -), -( - 'BN', - 'countable', - TRUE, - 'This is trivial.' -), -( - 'BN', - 'strongly connected', - TRUE, - 'This is trivial.' -), -( - 'BN', - 'self-dual', - TRUE, - 'The identity is a self-duality since the addition is commutative.' -), -( - 'BN', - 'generator', - TRUE, - 'The unique object is a generator for trivial reasons.' -), -( - 'BN', - 'left cancellative', - TRUE, - 'This is because addition of natural numbers is cancellative.' -), -( - 'BN', - 'gaunt', - TRUE, - 'This is because $0$ is the only natural number with an additive inverse.' -), -( - 'BN', - 'locally cartesian closed', - TRUE, - 'The slice category $B\IN / *$ is isomorphic to the poset $(\IN,\geq)$ (not to $(\IN,\leq)$). This category is thin and and semi-strongly connected, hence cartesian closed.' -), -( - 'BN', - 'sequential limits', - FALSE, - 'Assume that the sequence $\cdots \xrightarrow{1} \bullet \xrightarrow{1} \bullet \xrightarrow{1} \bullet$ has a limit. This is a (universal) sequence of natural numbers $n_0,n_1,\dotsc$ satisfying $n_i = n_{i+1} + 1$. But then $n_i = n_0 - i$, and in particular $n_{n_0 + 1} = - 1$, a contradiction.' -), -( - 'BN', - 'one-way', - FALSE, - 'This is trivial.' -); diff --git a/databases/catdat/data/003_category-property-assignments/BOn.sql b/databases/catdat/data/003_category-property-assignments/BOn.sql deleted file mode 100644 index b36fde63..00000000 --- a/databases/catdat/data/003_category-property-assignments/BOn.sql +++ /dev/null @@ -1,109 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'BOn', - 'strongly connected', - TRUE, - 'This is trivial.' -), -( - 'BOn', - 'generator', - TRUE, - 'There is just one object.' -), -( - 'BOn', - 'cogenerator', - TRUE, - 'There is just one object.' -), -( - 'BOn', - 'left cancellative', - TRUE, - 'It is well-known that ordinal addition satisfies $\alpha + \beta = \alpha + \gamma \implies \beta = \gamma$.' -), -( - 'BOn', - 'well-copowered', - TRUE, - 'This follows from the description of epimorphisms as finite ordinals, see MO/5029605.' -), -( - 'BOn', - 'equalizers', - TRUE, - 'See MSE/5029668.' -), -( - 'BOn', - 'gaunt', - TRUE, - 'This is because $0$ is the only ordinal number with an additive inverse.' -), -( - 'BOn', - 'cofiltered limits', - TRUE, - 'See MSE/5129138.' -), -( - 'BOn', - 'locally cartesian closed', - TRUE, - 'The slice category $B\On / *$ is isomorphic to the poset $(\On,\geq)$ (not to $(\On,\leq)$). This category is thin and and semi-strongly connected, hence cartesian closed.' -), -( - 'BOn', - 'locally essentially small', - FALSE, - 'This is because $\On$ is large.' -), -( - 'BOn', - 'initial object', - FALSE, - 'This is trivial.' -), -( - 'BOn', - 'balanced', - FALSE, - 'Every finite ordinal is both a mono- and an epimorphism (see below), but only $0$ is an isomorphism.' -), -( - 'BOn', - 'well-powered', - FALSE, - 'This is because all ordinals are monomorphisms (see below) and they do not form a set.' -), -( - 'BOn', - 'sequential colimits', - FALSE, - 'Assume that the sequence $\bullet \xrightarrow{1} \bullet \xrightarrow{1} \cdots$ has a colimit. This mounts to a (universal) sequence of ordinals $\alpha_n$ with $\alpha_n = \alpha_{n+1} + 1$. But then $\alpha_{n+1} < \alpha_n$, contradicting the fact that $\alpha_0$ is well-ordered.' -), -( - 'BOn', - 'pushouts', - FALSE, - 'Assume that $1,\omega$ have a pushout. This is a (universal) pair of ordinals $\alpha,\beta$ with $\alpha + 1 = \beta + \omega$. But $\beta + \omega$ is a limit ordinal, while $\alpha + 1$ is not.' -), -( - 'BOn', - 'one-way', - FALSE, - 'This is trivial.' -), -( - 'BOn', - 'cofiltered-limit-stable epimorphisms', - FALSE, - 'The epimorphisms are the finite ordinals (see below), but the limit of the sequential diagram $\cdots \xrightarrow{1} * \xrightarrow{1} *$ is the ordinal $\omega$ by MSE/5129138.' -); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/Ban.sql b/databases/catdat/data/003_category-property-assignments/Ban.sql deleted file mode 100644 index bce5b327..00000000 --- a/databases/catdat/data/003_category-property-assignments/Ban.sql +++ /dev/null @@ -1,103 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Ban', - 'locally small', - TRUE, - 'There is a forgetful functor $\Ban \to \Set$ and $\Set$ is locally small.' -), -( - 'Ban', - 'pointed', - TRUE, - 'The trivial Banach space $\{0\}$ is a zero object.' -), -( - 'Ban', - 'locally ℵ₁-presentable', - TRUE, - 'Example 1.48 in Adamek-Rosicky.' -), -( - 'Ban', - 'cartesian filtered colimits', - TRUE, - 'If $X$ is a Banach space and $(Y_i)$ is a filtered diagram of Banach spaces, the canonical map $\colim_i (X \times Y_i) \to X \times \colim_i Y_i$ is the completion of the canonical map in the category of normed vector spaces with non-expansive linear maps. Now the claim follows directly from the category of metric spaces with non-expansive maps.' -), -( - 'Ban', - 'cocartesian cofiltered limits', - TRUE, - 'If $X$ is a Banach space and $(Y_i)$ is a cofiltered diagram of Banach spaces, the canonical map $X \oplus \lim_i Y_i \to \lim_i (X \oplus Y_i)$ is an isomorphism: Since the forgetful functor $\Ban \to \Vect$ preserves finite coproducts and all limits, and $\Vect$ has the claimed property (see here), the canonical map is bijective. It remains to show that it is isometric. For $(x,y) \in X \oplus \lim_i Y_i$ the norm in the domain is $|x| + \sup_i |y_i|$, and the norm in the codomain is $\sup_i (|x| + |y_i|)$, and these clearly agree.' -), -( - 'Ban', - 'CIP', - TRUE, - 'This is immediate from the concrete description of coproducts and products.' -), -( - 'Ban', - 'cogenerator', - TRUE, - 'The Hahn-Banach theorem implies that $\IC$ is a cogenerator.' -), -( - 'Ban', - 'balanced', - FALSE, - 'The linear map $\IC \to \IC$, $x \mapsto x/2$ is a counterexample. It is bijective, hence a mono- and epimorphism, but not isometric and therefore no isomorphism.' -), -( - 'Ban', - 'filtered-colimit-stable monomorphisms', - FALSE, - 'The proof is similar to $\Met$. For $n \geq 1$ let $V_n$ be the Banach space with underlying vector space $\IC$ and the norm $|x|_n := \frac{1}{n} |x|$. For $n \leq m$ the identity map provides a morphism $V_n \to V_m$, which is clearly a monomorphism (also an epimorphism by the way, but an isomorphism iff $n=m$). Let $V$ be the colimit of all $V_n$ in the category of semi-normed vector spaces. It is constructed as the colimit in the category of vector spaces with the semi-norm $|x| := \inf \{|x|_m : n \leq m \}$ for $x \in V_n$. So clearly, the semi-norm is zero. Hence, the colimit in the category of normed vector spaces is $0$. The colimit in the category of Banach spaces is its completion, also $0$. Thus, the monomorphisms $V_1 \to V_n$ become $V_1 \to 0$ in the colimit.' -), -( - 'Ban', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Ban', - 'unital', - FALSE, - 'See MSE/5033161.' -), -( - 'Ban', - 'co-Malcev', - FALSE, - 'See the comments to MO/509552.' -), -( - 'Ban', - 'regular subobject classifier', - FALSE, - 'If $\Omega$ is a regular subobject classifier, then by the classification of regular monomorphisms, $\Hom(X,\Omega)$ is isomorphic to the set of closed subspaces of $X$ for any Banach space $X$. For $X = \IC$ this implies that there are exactly two vectors in $\Omega$ with norm $\leq 1$, which is absurd. (For $\Omega = 0$ there is just one, and for $\Omega \neq 0$ there are infinitely many.)' -), -( - 'Ban', - 'CSP', - FALSE, - 'By using the concrete description of products and coproducts, for the constant family $X_n = \IC$ the canonical morphism $\coprod_n X_n \to \prod_n X_n$ becomes the canonical inclusion map $\ell^1 \hookrightarrow \ell^\infty$. This is not an epimorphism (i.e., has no dense image) since the closure of the image is precisely $c_0$. So for example, $(1,1,\dotsc)$ is not contained in the closure of the image.' -), -( - 'Ban', - 'cofiltered-limit-stable epimorphisms', - FALSE, - 'We show that epimorphisms are not stable under sequential limits. Let $X_n = Y_n = \IC$ for all $n \geq 0$. The transition morphism $Y_{n+1} \to Y_n$ is the identity, and the transition morphism $X_{n+1} \to X_n$ is $x \mapsto x/2$. The morphisms $X_n \to Y_n$, $x \mapsto x/2^n$ are compatible with the transitions, and they are surjective, hence epimorphisms. Now we check $\lim_n X_n = 0$: An element $(x_n) \in \lim_n X_n$ is a family of complex numbers satisfying $x_n = x_{n+1}/2$ and $\sup_n |x_n| < \infty$. But then $x_n = 2^n x_0$ and this can only be bounded when $x_0=0$. Hence, $0 = \lim_n X_n \to \lim_n Y_n = \IC$ is no epimorphism.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'Ban' -AND property_id IN ('pointed'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/CAlg(R).sql b/databases/catdat/data/003_category-property-assignments/CAlg(R).sql deleted file mode 100644 index b5f64243..00000000 --- a/databases/catdat/data/003_category-property-assignments/CAlg(R).sql +++ /dev/null @@ -1,97 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'CAlg(R)', - 'locally small', - TRUE, - 'There is a forgetful functor $\CAlg(R) \to \Set$ and $\Set$ is locally small.' -), -( - 'CAlg(R)', - 'finitary algebraic', - TRUE, - 'Take the algebraic theory of a commutative ring.' -), -( - 'CAlg(R)', - 'strict terminal object', - TRUE, - 'If $f : 0 \to R$ is a homomorphism, then $R$ satisfies $1=f(1)=f(0)=0$, so that $R=0$.' -), -( - 'CAlg(R)', - 'Malcev', - TRUE, - 'This follows in the same way as for groups, see also Example 2.2.5 in Malcev, protomodular, homological and semi-abelian categories.' -), -( - 'CAlg(R)', - 'coextensive', - TRUE, - 'One can use the same proof as for $\CRing$.' -), -( - 'CAlg(R)', - 'balanced', - FALSE, - 'Take a prime ideal $P \subseteq R$ and consider the commutative $R$-algebra $A := R/P$ (which is an integral domain). Then the inclusion $A \hookrightarrow Q(A)$ is a counterexample.' -), -( - 'CAlg(R)', - 'cogenerating set', - FALSE, - 'We apply this lemma to the collection of commutative $R$-algebras which are fields: If $F$ is a commutative $R$-algebra that is also a field and $A$ is a non-trivial commutative $R$-algebra, any algebra homomorphism $F \to A$ is injective. For every infinite cardinal $\kappa$ the field of rational functions in $\kappa$ variables over some residue field of $R$ has cardinality $\geq \kappa$ and a non-trivial automorphism (swap two variables).' -), -( - 'CAlg(R)', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'CAlg(R)', - 'countably codistributive', - FALSE, - 'The canonical homomorphism $A \otimes_R R^{\IN} \to A^{\IN}$ is given by $a \otimes (r_n)_n \mapsto (r_n a)_n$ and does not have to be surjective: Since $R \neq 0$, there is a commutative $R$-algebra $K$ which is a field. Now take $A := K[X]$ and consider the sequence $(X^n)_{n} \in A^{\IN}$.' -), -( - 'CAlg(R)', - 'semi-strongly connected', - FALSE, - 'Choose a maximal ideal $\mathfrak{m}$ of $R$, so $K := R/\mathfrak{m}$ is a field. If $\CAlg(R)$ is semi-strongly connected, then also $\CAlg(K)$ is semi-strongly connected. This has been disproven in MSE/5129689.' -), -( - 'CAlg(R)', - 'coregular', - FALSE, - 'See MSE/3745302.' -), -( - 'CAlg(R)', - 'co-Malcev', - FALSE, - 'See MO/509552: Consider the forgetful functor $U : \CAlg(R) \to \Set$ and the relation $S \subseteq U^2$ defined by $S(A) := \{(a,b) \in U(A)^2 : ab = a^2\}$. Both are representable: $U$ by $R[X]$ and $S$ by $R[X,Y] / \langle XY-X^2 \rangle$. It is clear that $S$ is reflexive, but not symmetric.' -), -( - 'CAlg(R)', - 'regular quotient object classifier', - FALSE, - 'The strategy is similar to the one for $\CRing$: Assume that $P \to R$ is a regular quotient object classifier. If $J$ denotes the kernel of $P \to R$, every ideal $I \subseteq A$ of any commutative $R$-algebra has the form $I = \langle \varphi(J) \rangle$ for a unique homomorphism $\varphi : P \to A$. If $\sigma : A \to A$ is an automorphism with $\sigma(I)=I$, then uniqueness gives us $\sigma \circ \varphi = \varphi$, which means that $\varphi(J)$ lies in $A^{\sigma}$, the fixed algebra of $\sigma$. But then $I$ is generated by elements in $A^{\sigma} \cap I$. If $K$ is a residue field of $R$, this fails for $A = K[X,Y]$, $I = \langle X,Y \rangle$, $\sigma(X)=Y$, $\sigma(Y)=X$. The fixed algebra is the subalgebra of symmetric polynomials, which is $K[X+Y,XY]$. So $\langle X,Y \rangle$ is generated by symmetric polynomials without constant term, which implies $\langle X,Y \rangle \subseteq \langle X+Y,XY \rangle$ in $K[X,Y]$. But reducing an equation like $X = a(X,Y) \cdot (X+Y) + b(X,Y) \cdot (XY)$ modulo $\langle X^2,Y^2,XY \rangle$ yields a contradiction.' -), -( - 'CAlg(R)', - 'cofiltered-limit-stable epimorphisms', - FALSE, - 'Let $K$ be a field over $R$. Consider the sequence of projections $\cdots \to K[X]/\langle X^2 \rangle \to K[X]/\langle X \rangle$ and the constant sequence $\cdots \to K[X] \to K[X]$. The surjective homomorphisms $K[X] \to K[X]/\langle X^n \rangle$ induce the inclusion $K[X] \hookrightarrow K[[X]]$ in the limit, where $K[[X]]$ is the algebra of formal power series. It is clearly not surjective, but this is not sufficient, we need to argue that it is not an epimorphism in $\CAlg(R)$, or equivalently, in $\CRing$. For a proof, see MSE/2391187.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'CAlg(R)' -AND property_id IN ('strict terminal object'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/CMon.sql b/databases/catdat/data/003_category-property-assignments/CMon.sql deleted file mode 100644 index 4c0d973b..00000000 --- a/databases/catdat/data/003_category-property-assignments/CMon.sql +++ /dev/null @@ -1,91 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'CMon', - 'locally small', - TRUE, - 'There is a forgetful functor $\CMon \to \Set$ and $\Set$ is locally small.' -), -( - 'CMon', - 'pointed', - TRUE, - 'The trivial monoid is a zero object.' -), -( - 'CMon', - 'finitary algebraic', - TRUE, - 'Take the algebraic of a commutative monoid.' -), -( - 'CMon', - 'biproducts', - TRUE, - 'This follows from the explicit construction of coproducts and products.' -), -( - 'CMon', - 'balanced', - FALSE, - 'The inclusion of additive monoids $\IN \hookrightarrow \IZ$ is a counterexample.' -), -( - 'CMon', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'CMon', - 'Malcev', - FALSE, - 'Consider the submonoid $\{(a,b) : a \leq b \}$ of $\IN^2$.' -), -( - 'CMon', - 'cogenerator', - FALSE, - 'See MO/509232.' -), -( - 'CMon', - 'co-Malcev', - FALSE, - 'See MO/509552: Consider the forgetful functor $U : \CMon \to \Set$ and the relation $R \subseteq U^2$ defined by $R(A) := \{(a,b) \in U(A)^2 : ab = a^2\}$. Both are representable: $U$ by the free monoid on a single generator and $R$ by the free commutative monoid on two generators $x,y$ subject to the relation $xy=x^2$. It is clear that $R$ is reflexive, but not symmetric.' -), -( - 'CMon', - 'regular subobject classifier', - FALSE, - 'We can use exactly the same proof as for the category of monoids.' -), -( - 'CMon', - 'coregular', - FALSE, - 'We can show this analogously to the case of commutative rings MSE/3746890. Consider the commutative monoid $\IN^2$ and its submonoid $U\coloneqq\{(m,n)\mid m\ge n\}$ with the inclusion $i\colon U\hookrightarrow\IN^2$. Then, the pushout of $i$ along itself is $\langle x,y,z : x+y=x+z \rangle$, and the equalizer of the cokernel pair of $i$ is $D\coloneqq\{(m,n)\mid m=0 \implies n=0 \}$. If the category $\CMon$ were coregular, the canonical inclusion $j\colon U\hookrightarrow D$ would have to be an epimorphism. However, it is not: let $I\coloneqq\{0,1\}$ be the two-element commutative monoid with $1+1=1$, and let $u,v\colon D \rightrightarrows I$ be the morphisms defined by $u^{-1}(0)=\{(0,0)\}$ and $v^{-1}(0)=\{(0,0),(1,2)\}$; then we have $u\circ j = v\circ j$.' -), -( - 'CMon', - 'regular quotient object classifier', - FALSE, - 'If $P \in \CMon$ is a regular quotient object classifier, this means that every surjective homomorphism of commutative monoids $A \to B$ is the cokernel of a unique homomorphism $P \to A$. But there are many surjective homomorphisms which are no cokernels at all: Consider the Boolean monoid $(\{0,1\},\vee)$ with $1 \vee 1 = 1$ and the surjective homomorphism $f : (\IN,+) \to (\{0,1\},\vee)$ defined by $f(0)=0$ and $f(n)=1$ for $n \geq 1$. It has trivial kernel, but is no isomorphism, so it cannot be a cokernel.' -), -( - 'CMon', - 'CSP', - FALSE, - 'First of all, epimorphisms in $\CMon$ are preserved and reflected by the forgetful functor to $\Mon$ (see below). Furthermore, 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 $\CMon$ the canonical homomorphism $\bigoplus_{n \geq 0} \IN \to \prod_{n \geq 0} \IN$ is not an epimorphism because its domain is countable and its codomain is uncountable.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'CMon' -AND property_id IN ('pointed'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/CRing.sql b/databases/catdat/data/003_category-property-assignments/CRing.sql deleted file mode 100644 index c162f6f7..00000000 --- a/databases/catdat/data/003_category-property-assignments/CRing.sql +++ /dev/null @@ -1,97 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'CRing', - 'locally small', - TRUE, - 'There is a forgetful functor $\CRing \to \Set$ and $\Set$ is locally small.' -), -( - 'CRing', - 'finitary algebraic', - TRUE, - 'Take the algebraic theory of a commutative ring.' -), -( - 'CRing', - 'strict terminal object', - TRUE, - 'If $f : 0 \to R$ is a homomorphism, then $R$ satisfies $1=f(1)=f(0)=0$, so that $R=0$.' -), -( - 'CRing', - 'Malcev', - TRUE, - 'This follows in the same way as for groups, see also Example 2.2.5 in Malcev, protomodular, homological and semi-abelian categories.' -), -( - 'CRing', - 'coextensive', - TRUE, - '[Sketch] A ring homomorphism $f : A \times B \to R$ yields the idempotent element $e := f(1,0) \in R$, so that $R \cong eR \times (1-e)R$. Then $f$ decomposes into the ring homomorphisms $f_A : A \to eR$, $f_A(a) := f(a,0)$ and $f_B : B \to (1-e)R$, $f_B(b) := f(0,b)$.' -), -( - 'CRing', - 'balanced', - FALSE, - 'The inclusion $\IZ \hookrightarrow \IQ$ is a counterexample.' -), -( - 'CRing', - 'cogenerating set', - FALSE, - 'We apply this lemma to the collection of fields: If $F$ is a field and $R$ is a non-trivial commutative ring, any ring homomorphism $F \to R$ is injective. For every infinite cardinal $\kappa$ the field of rational functions in $\kappa$ variables has cardinality $\geq \kappa$ and a non-trivial automorphism (swap two variables).' -), -( - 'CRing', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'CRing', - 'countably codistributive', - FALSE, - 'The canonical homomorphism $\IQ \otimes \IZ^{\IN} \to (\IQ \otimes \IZ)^{\IN} = \IQ^{\IN}$ is not an isomorphism: its image consists of those sequences of rational numbers whose denominators can be bounded.' -), -( - 'CRing', - 'semi-strongly connected', - FALSE, - 'There is no homomorphism between $\IF_2$ and $\IF_3$.' -), -( - 'CRing', - 'coregular', - FALSE, - 'See MSE/3745302.' -), -( - 'CRing', - 'co-Malcev', - FALSE, - 'See MO/509552: Consider the forgetful functor $U : \CRing \to \Set$ and the relation $R \subseteq U^2$ defined by $R(A) := \{(a,b) \in U(A)^2 : ab = a^2\}$. Both are representable: $U$ by $\IZ[X]$ and $R$ by $\IZ[X,Y] / \langle XY-X^2 \rangle$. It is clear that $R$ is reflexive, but not symmetric.' -), -( - 'CRing', - 'regular quotient object classifier', - FALSE, - 'Assume that $P \to \IZ$ is a regular quotient object classifier. If $J$ denotes its kernel, this means that every ideal $I \subseteq A$ of any commutative ring has the form $I = \langle \varphi(J) \rangle$ for a unique homomorphism $\varphi : P \to A$. If $\sigma : A \to A$ is an automorphism with $\sigma(I)=I$, then uniqueness gives us $\sigma \circ \varphi = \varphi$, which means that $\varphi(J)$ lies in $A^{\sigma}$, the fixed ring of $\sigma$. But then $I$ is generated by elements in the fixed ring. This fails for $A = \IZ[X]$, $I = \langle X \rangle$, $\sigma(X)=-X$. The fixed ring is $\IZ[X^2]$, and if $I$ was generated by elements $f \in \IZ[X^2] \cap I$, they would be multiples of $X^2$, but $X$ is not a multiple of $X^2$.' -), -( - 'CRing', - 'cofiltered-limit-stable epimorphisms', - FALSE, - 'For a prime $p$ consider the sequence of projections $\cdots \to \IZ/p^2 \to \IZ/p$ and the constant sequence $\cdots \to \IZ \to \IZ$. The surjective homomorphisms $\IZ \to \IZ/p^n$ induce the homomorphism $\IZ \to \IZ_p$ in the limit, where $\IZ_p$ is the ring of $p$-adic integers. It is not surjective since $\IZ_p$ is uncountable, but this is not sufficient (at least, for this category): We need to use SP/04W0 to conclude that it is no epimorphism in $\CRing$.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'CRing' -AND property_id IN ('strict terminal object'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/Cat.sql b/databases/catdat/data/003_category-property-assignments/Cat.sql deleted file mode 100644 index 7e63e0ac..00000000 --- a/databases/catdat/data/003_category-property-assignments/Cat.sql +++ /dev/null @@ -1,99 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Cat', - 'locally small', - TRUE, - 'There is a forgetful functor $\Cat \to \Set \times \Set$, $\C \mapsto (\Ob(\C),\Mor(\C))$, and $\Set \times \Set$ is locally small.' -), -( - 'Cat', - 'cartesian closed', - TRUE, - 'See p. 98 in Mac Lane.' -), -( - 'Cat', - 'locally finitely presentable', - TRUE, - 'See MO/84460.' -), -( - 'Cat', - 'generator', - TRUE, - 'The interval category $\{0 \to 1\}$ is a generator: Assume that $F,G : \C \rightrightarrows \D$ are functors that agree when being precomposed with any functor from $\{0 \to 1\}$. This means that $F(f) = G(f)$ for all morphisms $f : X \to Y$ in $\C$. By comparing the domains and applying this to $f = \id_X$, we see that $F(X) = G(X)$ for all objects $X$. And we just saw that $F,G$ also agree on morphisms.' -), -( - 'Cat', - 'infinitary extensive', - TRUE, - '[Sketch] This is straight forward from the fact that $\Set$ is infinitary extensive: A functor $\C \to \coprod_i \D_i$ yields full subcategories $\C_i \subseteq \C$ (the preimages of $\D_i)$ with $\C = \coprod_i \C_i$.' -), -( - 'Cat', - 'semi-strongly connected', - TRUE, - 'Every non-empty category is weakly terminal (by using constant functors).' -), -( - 'Cat', - 'balanced', - FALSE, - 'Since we know that the category of monoids is not balanced, there is a monoid map $M \to N$ which is a monomorphism and an epimorphism which is not an isomorphism. Then $B(M) \to B(N)$ has the corresponding properties.' -), -( - 'Cat', - 'cogenerating set', - FALSE, - 'Assume that $S$ is a cogenerating set in $\Cat$. Then one checks that the set of monoids $\{\End(X) : X \in \C \in S\}$ is a cogenerating set in the category of monoids, which we know does not exist.' -), -( - 'Cat', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Cat', - 'Malcev', - FALSE, - 'Use that $\Set$ is not Malcev and consider sets as discrete categories.' -), -( - 'Cat', - 'regular', - FALSE, - 'See Example 3.14 at the nLab.' -), -( - 'Cat', - 'co-Malcev', - FALSE, - 'We can adapt the proof from $\Mon$ as follows: Consider the functor $U : \Cat \to \Set^+$ sending a category $\C$ to the (large) set $\{(x,u) : x \in \Ob(\C) ,\, u \in \End(x) \}$. It is represented by $B \IN$, the one-object category associated to the free monoid in one generator. Consider the relation $R \subseteq U^2$ consisting of those pairs $((x,u),(y,v))$ where $x = y$ and $uv = u^2$. This also representable, namely be the one-object category associated to the monoid with the presentation $\langle u,v : uv = u^2 \rangle$. Clearly, $R$ is reflexive, but not symmetric.' -), -( - 'Cat', - 'coregular', - FALSE, - 'We already know that the category of monoids is not coregular, in fact there is a regular monomorphism $M \to N$ of monoids and a morphism $M \to K$ such that $K \to K \sqcup_M N$ is not a monomorphism. The delooping functor $B : \Mon \to \Cat$ has a left adjoint (MSE/574745), hence it preserves regular monomorphisms. It also preserves pushouts (MSE/5130854), and it reflects monomorphisms since it is faithful. Therefore, $B(M) \to B(N)$ provides the desired counterexample of a non-stable regular monomorphism of categories.' -), -( - 'Cat', - '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.' -), -( - 'Cat', - 'effective cocongruences', - FALSE, - '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, \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/Delta.sql b/databases/catdat/data/003_category-property-assignments/Delta.sql deleted file mode 100644 index da5dff5b..00000000 --- a/databases/catdat/data/003_category-property-assignments/Delta.sql +++ /dev/null @@ -1,119 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Delta', - 'countable', - TRUE, - 'This is obvious.' -), -( - 'Delta', - 'small', - TRUE, - 'This is trivial.' -), -( - 'Delta', - 'terminal object', - TRUE, - 'The ordered set $[0] = \{0\}$ is terminal.' -), -( - 'Delta', - 'strongly connected', - TRUE, - 'For all $n,m$ there are morphisms $[n] \to [0] \to [m]$.' -), -( - 'Delta', - 'cogenerator', - TRUE, - 'The ordered set $[1] = \{0 < 1\}$ is a cogenerator, even for the category of posets, see there for a proof.' -), -( - 'Delta', - 'coequalizers', - TRUE, - 'Assume that $X \rightrightarrows Y$ are morphisms in $\FinOrd \setminus \{\varnothing\}$. Since $\FinOrd$ has coequalizers, we have a coequalizer $Y \to Q$. Since $Y$ is non-empty, $Q$ is non-empty as well, and clearly $Y \to Q$ is then also the coequalizer in $\FinOrd \setminus \{\varnothing\}$.' -), -( - 'Delta', - 'generator', - TRUE, - 'The ordered set $[0] = \{0\}$ is a generator.' -), -( - 'Delta', - 'skeletal', - TRUE, - 'If $f : [n] \to [m]$ is an isomorphism, then $n + 1 = m + 1$ by comparing the cardinalities, hence $n = m$.' -), -( - 'Delta', - 'core-thin', - TRUE, - 'The category $\FinOrd \setminus \{\varnothing\}$ is core-thin because already $\FinOrd$ is core-thin (see its category page).' -), -( - 'Delta', - 'mono-regular', - TRUE, - 'The proof for $\FinOrd$ also works for $\FinSet \setminus \{\varnothing\}$.' -), -( - 'Delta', - 'epi-regular', - TRUE, - 'The proof for $\FinOrd$ also works for $\FinSet \setminus \{\varnothing\}$.' -), -( - 'Delta', - 'cosifted', - TRUE, - 'Let $X,Y \in \Delta$. We may pick $x \in X$, $y \in Y$. Then there is a "point span" $X \xleftarrow{x} [0] \xrightarrow{y} Y$. Every span $X \xleftarrow{f} Z \xrightarrow{g} Y$ is connected to such a point span: Pick $z \in Z$. This defines a morphism of spans: - $$\begin{CD} X @<{f(z)}<< [0] @>{g(z)}>> Y \\ @| @VV{z}V @| \\ X @<<{f}< Z @>>{g}> Y \end{CD}$$ - It remains to show that all point spans are connected to each other. Assume $x_0,x_1 \in X$ and $y \in Y$, w.l.o.g. $x_0 \leq x_1$. Define the map $f : [1] \to X$ by $f(0) = x_0$, $f(1) = x_1$, and the map $g : [1] \to Y$ by $g(0)=g(1)=y$. They are order-preserving and fit into a zig-zag of spans: - $$\begin{CD} X @<{x_0}<< [0] @>{y}>> Y \\ @| @V{0}VV @| \\ X @<{f}<< [1] @>{g}>> Y \\ @| @A{1}AA @| \\ X @<{x_1}<< [0] @>{y}>> Y \end{CD}$$ - This shows that the choice of $x \in X$ does not matter, and for $y \in Y$ the proof is the same.' -), -( - 'Delta', - 'strict terminal object', - FALSE, - 'This is trivial.' -), -( - 'Delta', - 'cofiltered', - FALSE, - 'The two maps $d^0,d^1 : [0] \rightrightarrows [1]$ are not equalized by any morphism.' -), -( - 'Delta', - 'coreflexive equalizers', - FALSE, - 'The two maps $d^0,d^1 : [0] \rightrightarrows [1]$ have a common left inverse, the unique map $s^0 : [1] \to [0]$, but are not equalized by any morphism.' -), -( - 'Delta', - 'sequential colimits', - FALSE, - 'We can just copy the proof for $\FinOrd$ to show that the sequence of inclusions $[0] \hookrightarrow [1] \hookrightarrow [2] \hookrightarrow \cdots$ has no colimit.' -), -( - 'Delta', - 'sequential limits', - FALSE, - 'We can just copy the proof for $\FinOrd$ to show that the sequence of truncations $\cdots \twoheadrightarrow [2] \twoheadrightarrow [1] \twoheadrightarrow [0]$ has no limit.' -), -( - 'Delta', - 'pushouts', - FALSE, - 'Assume that the two inclusions $\{0 < 1\} \leftarrow \{0\} \rightarrow \{0 < 2\}$ have a pushout in $\FinOrd \setminus \{\varnothing\}$. This would be a universal non-empty finite ordered set $X$ with three elements $0,1,2$ satisfying $0 \leq 1$ and $0 \leq 2$. Assume w.l.o.g. $1 \leq 2$ (the case $2 \leq 1$ is similar). The universal property yields an order-preserving map $X \to \{a < b < c\}$ with $0 \mapsto a$, $1 \mapsto c$, $2 \mapsto b$. But then $c \leq b$, which is a contradiction.' -); diff --git a/databases/catdat/data/003_category-property-assignments/FI.sql b/databases/catdat/data/003_category-property-assignments/FI.sql deleted file mode 100644 index e5dccbef..00000000 --- a/databases/catdat/data/003_category-property-assignments/FI.sql +++ /dev/null @@ -1,109 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'FI', - 'locally small', - TRUE, - 'There is a forgetful functor $\FI \to \Set$ and $\Set$ is locally small.' -), -( - 'FI', - 'left cancellative', - TRUE, - 'This is trivial.' -), -( - 'FI', - 'essentially countable', - TRUE, - 'Every finite set is isomorphic to some $\{1,\dotsc,n\}$ for some $n \in \IN$.' -), -( - 'FI', - 'generator', - TRUE, - 'The one-point set is a generator since it represents the forgetful functor $\FI \to \Set$.' -), -( - 'FI', - 'equalizers', - TRUE, - 'We construct equalizers just like in $\FinSet$ and observe that the universal property still holds.' -), -( - 'FI', - 'wide pullbacks', - TRUE, - 'We construct wide pullbacks just like in $\Set$, i.e., for a w.l.o.g. non-empty family of injective maps $f_i : X_i \to S$ we consider the subset $P \subseteq \prod_{i \in I} X_i$ of those tuples $x$ where $f_i(x_i) = f_j(x_j)$. Each projection $P \to X_i$ is injective, so in particular $P$ is finite, and $P \to X_i$ becomes a morphism in $\FI$. It is easy to check that the universal property still holds in $\FI$.' -), -( - 'FI', - 'mono-regular', - TRUE, - 'If $f : X \to Y$ is an injective map of finite sets, it is the equalizer of the two injective maps $i_1,i_2 : Y \rightrightarrows Y \sqcup_X Y$, and $Y \sqcup_X Y$ is finite.' -), -( - 'FI', - 'semi-strongly connected', - TRUE, - 'If $X,Y$ are two finite sets, we have $\card(X) \leq \card(Y)$ or $\card(Y) \leq \card(X)$. In the first case there will be an injection $X \to Y$, in the second case there will be an injection $Y \to X$.' -), -( - 'FI', - 'locally cartesian closed', - TRUE, - 'IF $X$ is a finite set, the slice category $\FI / X$ is equivalent to the poset of subsets of $X$. This is cartesian closed because $A \cap B \subseteq C$ holds if and only if $B \subseteq (X \setminus A) \cup C$, where $A,B,C \subseteq X$.' -), -( - 'FI', - 'small', - FALSE, - 'Even the collection of all singletons is not small.' -), -( - 'FI', - 'cogenerator', - FALSE, - 'Let $Q$ be finite set. When $Q$ is empty, it is clearly no cogenerator. Otherwise, $Q + 1$ has at least two elements, so that there are two different morphisms $1 \rightrightarrows Q + 1$. But there is no morphism $Q + 1 \to Q$ at all. Hence, $Q$ is no cogenerator.' -), -( - 'FI', - 'binary powers', - FALSE, - 'Assume that two finite sets $X,Y$ have a product $P$ in this category. Elements of $P$ are the same as maps $1 \to P$, and they are automatically injective. Therefore, $P \cong \Hom(1,P) \times \Hom(1,X) \times \Hom(1,Y) \cong X \times Y$, and the projections must agree as well. But they are usually not injective. In particular, the product $X \times X$ never exists when $X$ has $>1$ elements.' -), -( - 'FI', - 'sequential colimits', - FALSE, - 'Let $X_n := \{1,\dotsc,n\}$. Assume the sequence of inclusion maps $X_n \hookrightarrow X_{n+1}$ has a colimit $(f_n : X_n \to X)$ in this category. But $f_n$ must be an injective map, so that $\card(X) \geq n$ for all $n$. Since $X$ is finite, this is a contradiction.' -), -( - 'FI', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'FI', - 'core-thin', - FALSE, - 'Its core is the category of finite sets and bijections, which we know is not thin.' -), -( - 'FI', - 'strongly connected', - FALSE, - 'There is no map from a non-empty set to the empty set.' -), -( - 'FI', - 'countable', - FALSE, - 'This is trivial.' -); diff --git a/databases/catdat/data/003_category-property-assignments/FS.sql b/databases/catdat/data/003_category-property-assignments/FS.sql deleted file mode 100644 index e7d65206..00000000 --- a/databases/catdat/data/003_category-property-assignments/FS.sql +++ /dev/null @@ -1,127 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'FS', - 'locally small', - TRUE, - 'There is a forgetful functor $\FS \to \Set$ and $\Set$ is locally small.' -), -( - 'FS', - 'essentially countable', - TRUE, - 'Every finite set is isomorphic to some $\{1,\dotsc,n\}$ for some $n \in \IN$.' -), -( - 'FS', - 'right cancellative', - TRUE, - 'This is trivial.' -), -( - 'FS', - 'cogenerator', - TRUE, - 'We prove that $\{0,1\}$ is a cogenerator: The surjective maps $X \to \{0,1\}$ correspond to the non-empty proper subsets of $X$. If $a,b \in X$ are elements that have the same image under each surjective map $X \to \{0,1\}$, it therefore means that they lie in the same non-empty proper subsets of $X$. This implies $a=b$: If $X = \{a\}$, this is trivial. Otherwise, use the subset $\{a\}$.' -), -( - 'FS', - 'wide pushouts', - TRUE, - 'We construct wide pushouts as in $\Set$ and observe that the universal property still holds when we restrict to surjective maps. If $f_i : S \to X_i$ are surjective maps and $P$ is their wide pushout, then each $X_i \to P$ is surjective, so that in particular $P$ is finite.' -), -( - 'FS', - 'coequalizers', - TRUE, - 'We construct coequalizers as in $\FinSet$ (or $\Set$) and observe that the universal property still holds when we restrict to surjective maps.' -), -( - 'FS', - 'epi-regular', - TRUE, - 'If $f : X \to Y$ is a surjective map of finite sets, it is the coequalizer of the two projections $p_1, p_2 : X \times_Y X \rightrightarrows X$ in $\FinSet$, but also in $\FS$. Notice that $p_1,p_2$ are surjective. Even though $X \times_Y X$ is not a pullback in $\FS$, we can use this finite set here.' -), -( - 'FS', - 'multi-terminal object', - TRUE, - 'The empty set and a singleton give a multi-terminal object.' -), -( - 'FS', - 'small', - FALSE, - 'Even the collection of all singletons is not small.' -), -( - 'FS', - 'connected', - FALSE, - 'If $f : \varnothing \to X$ is surjective, then $X = \varnothing$, and if $f : X \to \varnothing$ is any map, then also $X = \varnothing$. This shows that $\{ \varnothing \}$ is a connected component in this category. (The other connected component consists of all non-empty finite sets.)' -), -( - 'FS', - 'generator', - FALSE, - 'Let $G$ be a finite set. There are at least two morphisms $G + 2 \rightrightarrows 2$, but there is no morphism $G \to G + 2$ at all. Hence, $G$ is not a generator.' -), -( - 'FS', - 'sequential limits', - FALSE, - 'Let $X_n := \{1,\dotsc,n\}$. We define the truncation $p_n : X_{n+1} \to X_n$ by extending the identity of $X_n$ with $p_n(n+1) := n$. Assume the sequence of truncations $\cdots \to X_2 \to X_1$ has a limit $(f_n : X \to X_n)$ in this category. But $f_n$ is surjective, so that $\card(X) \geq n$ for all $n$. Since $X$ is finite, this is a contradiction.' -), -( - 'FS', - 'pullbacks', - FALSE, - 'The connected component of non-empty sets has a terminal object, $1$, and it suffices to prove that it has no products. Let $X$ be a finite set with more than $1$ element. Assume that the product $P$ of $X$ with itself exists. The diagonal $X \to P$ is a split monomorphism, hence injective, but also surjective, i.e. an isomorphism. In other words, the two projections $P \rightrightarrows X$ are equal. The universal property of $P$ now implies that every two morphisms $Y \rightrightarrows X$ are equal, which is absurd.' -), -( - 'FS', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'FS', - 'core-thin', - FALSE, - 'Its core is the category of finite sets and bijections, which we know is not thin.' -), -( - 'FS', - 'binary copowers', - FALSE, - 'Assume that the copower $X := 2+2$ exists. Since we have a surjective map $2 \to X$, the set $X$ has at most $2$ elements. The codiagonal $X \to 2$ shows that $X$ has at least $2$ elements. Thus, $X \cong 2$. For all finite sets $Y$ we get a bijection $\Hom(2,Y) \cong \Hom(2,Y)^2$, in particular the cardinalities are the same. For $Y=2$ this gives the contradiction $2 = 4$.' -), -( - 'FS', - 'locally cocartesian coclosed', - FALSE, - 'If $X$ is a finite set, the coslice category $X / \FS$ is thin and in fact equivalent to the lattice of equivalence relations on $X$. If $X$ has $\geq 3$ elements, it is not codistributive* and hence not cocartesian coclosed: For simplicity assume $X = \{a,b,c\}$. The bottom element $\bot$ corresponds to the partition $\{\{a\},\{b\},\{c\}\}$, the top element $\top$ to the partition $\{\{a,b,c\}\}$. Now consider the three equivalence relations $E_1,E_2,E_3$ corresponding to the three partitions - $$\{\{a,b\},\{c\}\}, \, \{\{a,c\},\{b\}\}, \, \{\{b,c\},\{a\}\}.$$ - Then - $$E_1 \vee (E_2 \wedge E_3) = E_1 \vee \bot = E_1,$$ - but - $$(E_1 \vee E_2) \wedge (E_1 \vee E_3) = \top \wedge \top = \top.$$ - *For thin categories, the properties codistributive and distributive are equivalent.' -), -( - 'FS', - 'multi-initial object', - FALSE, - 'If a multi-initial object exists, then the connected component consisting of non-empty finite sets has an initial object $X$. Then, any non-empty finite set cannot have a cardinality strictly greater than $X$, which is a contradiction.' -), -( - 'FS', - 'countable', - FALSE, - 'This is trivial.' -); diff --git a/databases/catdat/data/003_category-property-assignments/FinAb.sql b/databases/catdat/data/003_category-property-assignments/FinAb.sql deleted file mode 100644 index c3c4033f..00000000 --- a/databases/catdat/data/003_category-property-assignments/FinAb.sql +++ /dev/null @@ -1,67 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'FinAb', - 'locally small', - TRUE, - 'There is a forgetful functor $\FinAb \to \Set$ and $\Set$ is locally small.' -), -( - 'FinAb', - 'essentially countable', - TRUE, - 'The underlying set of a finite structure can be chosen to be a subset of $\IN$.' -), -( - 'FinAb', - 'abelian', - TRUE, - 'This follows from the fact for abelian groups.' -), -( - 'FinAb', - 'self-dual', - TRUE, - 'This is a simple special case of Pontryagin duality: The functor $\Hom(-,\IQ/\IZ)$ provides the equivalence.' -), -( - 'FinAb', - 'ℵ₁-accessible', - TRUE, - 'The proof works exactly as for the category of finite sets.' -), -( - 'FinAb', - 'small', - FALSE, - 'Even the collection of trivial groups is not small.' -), -( - 'FinAb', - 'generator', - FALSE, - 'If $A,B$ are finite abelian groups whose orders are coprime, then we know that $\Hom(A,B)$ is trivial. But a generator would admit a non-trivial homomorphism to any other non-trivial finite abelian group.' -), -( - 'FinAb', - 'split abelian', - FALSE, - 'The sequence $0 \to \IZ/2 \to \IZ/4 \to \IZ/2 \to 0$ does not split.' -), -( - 'FinAb', - 'skeletal', - FALSE, - 'There are many trivial and hence isomorphic groups which are not equal.' -), -( - 'FinAb', - 'countable', - FALSE, - 'This is trivial.' -); diff --git a/databases/catdat/data/003_category-property-assignments/FinGrp.sql b/databases/catdat/data/003_category-property-assignments/FinGrp.sql deleted file mode 100644 index 52e45f52..00000000 --- a/databases/catdat/data/003_category-property-assignments/FinGrp.sql +++ /dev/null @@ -1,121 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'FinGrp', - 'locally small', - TRUE, - 'It is a full subcategory of $\Grp$, which is locally small.' -), -( - 'FinGrp', - 'pointed', - TRUE, - 'The trivial group is a zero object.' -), -( - 'FinGrp', - 'essentially countable', - TRUE, - 'The underlying set of a finite structure can be chosen to be a subset of $\IN$.' -), -( - 'FinGrp', - 'mono-regular', - TRUE, - 'See Prop. 4.2 at the nLab. The proof also works for finite groups.' -), -( - 'FinGrp', - 'coequalizers', - TRUE, - 'The quotient group of a finite group is still finite.' -), -( - 'FinGrp', - 'Malcev', - TRUE, - 'A direct argument is possible, but this can also be derived from the observation that $\FinGrp$ is the category of group objects in $(\FinSet,\times)$ and Example 2.2.16 in Malcev, protomodular, homological and semi-abelian categories.' -), -( - 'FinGrp', - 'regular', - TRUE, - 'The category is Malcev and hence finitely complete, and it has all coequalizers. The regular epimorphisms coincide with the surjective group homomorphisms (see below), hence are clearly stable under pullbacks.' -), -( - 'FinGrp', - 'conormal', - TRUE, - 'Since epimorphisms are surjective (see below), this is the first isomorphism theorem for finite groups.' -), -( - 'FinGrp', - 'ℵ₁-accessible', - 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 $\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', - 'normal', - FALSE, - 'Every non-normal subgroup of a finite group provides a counterexample.' -), -( - 'FinGrp', - 'cogenerator', - FALSE, - 'We apply this lemma to the collection of finite simple groups: Any non-trivial homomorphism from a finite simple group to a finite group must be injective, and for every $n \in \IN$ there is a finite simple group of size $\geq n$ (for example, the alternating group on $n+5$ elements).' -), -( - 'FinGrp', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'FinGrp', - 'binary copowers', - FALSE, - 'Assume that $C_2 \sqcup C_2$ exists. This is a finite group, say of order $N$, with two involutions $u,v$ such that for every finite group $G$ with two involutions $a,b$ there is a unique homomorphism $\varphi : C_2 \sqcup C_2 \to G$ with $\varphi(u)=a$ and $\varphi(v)=2$. In particular, when $G$ is generated by $a,b$, then $\ord(G) \leq N$. But then the dihedral group $G := D_N$ of order $2N$ yields a contradiction.' -), -( - 'FinGrp', - 'small', - FALSE, - 'Even the collection of trivial groups is not small.' -), -( - 'FinGrp', - 'generator', - FALSE, - 'If $A,B$ are finite groups whose orders are coprime, then we know that $\Hom(A,B)$ is trivial. But a generator would admit a non-trivial homomorphism to any other non-trivial finite group.' -), -( - 'FinGrp', - 'sequential colimits', - FALSE, - 'This follows from this lemma.' -), -( - 'FinGrp', - 'countable', - FALSE, - 'This is trivial.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'FinGrp' -AND property_id IN ('pointed'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/FinOrd.sql b/databases/catdat/data/003_category-property-assignments/FinOrd.sql deleted file mode 100644 index 0ab8e1a9..00000000 --- a/databases/catdat/data/003_category-property-assignments/FinOrd.sql +++ /dev/null @@ -1,121 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'FinOrd', - 'equalizers', - TRUE, - 'Take the equalizer in $\FinSet$ and restrict the order.' -), -( - 'FinOrd', - 'generator', - TRUE, - 'The one-point finite ordered set is a generator since it represents the forgetful functor $\FinOrd \to \Set$.' -), -( - 'FinOrd', - 'terminal object', - TRUE, - 'Take the singleton set with the unique ordering.' -), -( - 'FinOrd', - 'cogenerator', - TRUE, - 'The ordered set $\{0 < 1\}$ is a cogenerator, even for the category of posets, see there for a proof.' -), -( - 'FinOrd', - 'strict initial object', - TRUE, - 'The empty ordered set is initial and is clearly strict.' -), -( - 'FinOrd', - 'coequalizers', - TRUE, - 'It suffices to construct quotients by equivalence relations. Let $\sim$ be an equivalence relation on $X$, where $(X,\leq)$ is a finite ordered set. Since $X$ is finite, by induction we may assume that $\sim$ is generated by a single relation $(a,b)$. If $a=b$, there is nothing to prove. If $a < b$ and $X = \{0,1,\dotsc,n-1\}$ with the usual order, the quotient is $\{0,1,\dotsc,a,b+1,\dotsc,n-1\}$ with the usual order.' -), -( - 'FinOrd', - 'mono-regular', - TRUE, - 'Let $i : A \to B$ be a monomorphism of finite ordered sets. If $A$ is empty, then $i$ is clearly regular, so assume it is not. The map $i$ is injective (see below), hence order-reflecting. Define maps $u,v : B \to A$ by $u(b) := \max \{a \in A : i(a) \leq b \}$ and $v(b) := \min \{a \in A : b \leq i(a) \}$. These are order-preserving and satisfy $u \circ i = v \circ i$, both sides are $\id_A$. Conversely, if $b \in B$ satisfies $u(b) = v(b) =: a$, then $i(a) \leq b$ and $b \leq i(a)$, hence $b = i(a)$. This shows that $i$ is the equalizer of $u,v$.' -), -( - 'FinOrd', - 'epi-regular', - TRUE, - 'Let $f : A \to B$ be an epimorphism of finite ordered sets. It is surjective (see below). Define $u,v : B \to A$ by $u(b) := \min(f^{-1}(b))$ and $v(b) := \max(f^{-1}(b))$. One can easily check that $u,v$ are order-preserving maps with $f \circ u = f \circ v$ (both sides are $\id_B$). Let $h : A \to T$ be an order-preserving map with $h \circ u = h \circ v$. Then $h(a)$ only depends on $b := f(a)$: We have $u(b) \leq a \leq v(b)$, hence $h(u(b)) \leq h(a) \leq h(v(b)) = h(u(b))$. Therefore, there is a unique map $\tilde{h} : B \to T$ with $\tilde{h}(f(a)) = h(a)$, and one easily checks that it is order-preserving. This shows that $f$ is the coequalizer of $u,v$.' -), -( - 'FinOrd', - 'semi-strongly connected', - TRUE, - 'Every non-empty totally ordered set is weakly terminal (by using constant maps).' -), -( - 'FinOrd', - 'essentially countable', - TRUE, - 'Every finite ordered set is isomorphic to $\{0 < \cdots < n-1 \}$ for some $n \in \IN$.' -), -( - 'FinOrd', - 'locally small', - TRUE, - 'There is a forgetful functor $\FinOrd \to \Set$ and $\Set$ is locally small.' -), -( - 'FinOrd', - 'core-thin', - TRUE, - 'Let $f : \{1 < \cdots < n \} \to \{1 < \cdots < n \}$ be an automorphism. Then $f(i)$ is the smallest element not contained in $\{f(j) : j < i\}$. From this one can deduce $f(i)=i$ by induction.' -), -( - 'FinOrd', - 'small', - FALSE, - 'Even the collection of all singleton orders is not small.' -), -( - 'FinOrd', - 'strict terminal object', - FALSE, - 'This is trivial.' -), -( - 'FinOrd', - 'sequential limits', - FALSE, - 'Consider the (non-empty) ordered set $[n] := \{0 < \cdots < n\}$ for $n \in \IN$. The forgetful functor to $\Set$ is representable, hence preserves all limits. Thus, if the diagram of truncation maps $\cdots \twoheadrightarrow [2] \twoheadrightarrow [1] \twoheadrightarrow [0]$ has a limit in $\FinOrd$, its underlying set is isomorphic to the limit taken in $\Set$, which is $\IN \cup \{\infty\}$. But this is not a finite set.' -), -( - 'FinOrd', - 'sequential colimits', - FALSE, - 'Consider the (non-empty) ordered set $[n] := \{0 < \cdots < n\}$ for $n \in \IN$. Assume the sequence of inclusion maps $[0] \hookrightarrow [1] \hookrightarrow [2] \hookrightarrow \cdots$ has a colimit $(f_n : [n] \to X)$ in $\FinOrd$. Let $n_0 \geq 0$ be fixed. I claim that $f_{n_0}$ is injective, which will then yield a contradiction by taking $n_0 \geq \card(X)$. For $n \geq 0$ define $g_n : [n] \to [n_0]$ as follows. For $n \leq n_0$ it is the inclusion, and for $n \geq n_0$ it is the surjection which keeps all elements of $[n_0]$ and maps all other elements to $n_0$. Observe that $g_n$ preserves the order and $g_{n+1} |_{[n]} = g_n$. Hence, there is a unique order-preserving map $g : X \to [n_0]$ with $g \circ f_n = g_n$ for all $n$. For $n = n_0$ this shows $g \circ f_{n_0} = \id_{[n_0]}$, and $f_{n_0}$ is injective.' -), -( - 'FinOrd', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'FinOrd', - 'one-way', - FALSE, - 'There are three different order-preserving maps $\{0 < 1\} \to \{0 < 1\}$.' -), -( - 'FinOrd', - 'countable', - FALSE, - 'This is trivial.' -); diff --git a/databases/catdat/data/003_category-property-assignments/FinSet.sql b/databases/catdat/data/003_category-property-assignments/FinSet.sql deleted file mode 100644 index 4c916a07..00000000 --- a/databases/catdat/data/003_category-property-assignments/FinSet.sql +++ /dev/null @@ -1,75 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'FinSet', - 'locally small', - TRUE, - 'There is a forgetful functor $\FinSet \to \Set$ and $\Set$ is locally small.' -), -( - 'FinSet', - 'essentially countable', - TRUE, - 'Every finite set is isomorphic to some $\{1,\dotsc,n\}$ for some $n \in \IN$.' -), -( - 'FinSet', - 'elementary topos', - TRUE, - 'This follows easily from the fact that sets form an elementary topos.' -), -( - 'FinSet', - 'generator', - TRUE, - 'The one-point set is a generator since it represents the forgetful functor $\FinSet \to \Set$.' -), -( - 'FinSet', - 'semi-strongly connected', - TRUE, - 'Every non-empty finite set is weakly terminal (by using constant maps).' -), -( - 'FinSet', - 'cogenerator', - TRUE, - 'The two-element set is a cogenerator.' -), -( - 'FinSet', - 'ℵ₁-accessible', - TRUE, - 'The inclusion $\FinSet \hookrightarrow \Set$ is closed under ℵ₁-filtered colimits, that is, any ℵ₁-filtered colimit of finite sets is again finite. Since every finite set is ℵ₁-presentable in $\Set$, it is still ℵ₁-presentable in $\FinSet$. Therefore, $\FinSet$ is ℵ₁-accessible, where every object is ℵ₁-presentable.' -), -( - 'FinSet', - 'small', - FALSE, - 'Even the collection of all singletons is not a set.' -), -( - 'FinSet', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'FinSet', - 'countable', - FALSE, - 'This is trivial.' -), -( - 'FinSet', - 'natural numbers object', - FALSE, - 'If $(N,z,s)$ is a natural numbers object, then - $$1 \xrightarrow{z} N \xleftarrow{s} N$$ - is a coproduct cocone by Johnstone, Part A, Lemma 2.5.5. But there is no finite set $N$ with $N \cong 1 + N$.' -); diff --git a/databases/catdat/data/003_category-property-assignments/Fld.sql b/databases/catdat/data/003_category-property-assignments/Fld.sql deleted file mode 100644 index 42e833e2..00000000 --- a/databases/catdat/data/003_category-property-assignments/Fld.sql +++ /dev/null @@ -1,105 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Fld', - 'locally small', - TRUE, - 'There is a forgetful functor $\Fld \to \Set$ and $\Set$ is locally small.' -), -( - 'Fld', - 'inhabited', - TRUE, - 'This is trivial.' -), -( - 'Fld', - 'left cancellative', - TRUE, - 'It is well-known that every field homomorphism is injective and hence a monomorphism.' -), -( - 'Fld', - 'well-copowered', - TRUE, - 'Epimorphisms are the purely inseparable field extensions. If $K \to L$ is purely inseparable, then for all $x \in L$ there is some $n \in \IN$ with $x^n \in L$. An element of $K$ has at most $n$ $n$th-roots. So we can bound the size of $L$.' -), -( - 'Fld', - 'multi-algebraic', - TRUE, - 'See Eg. 4.3(1) in [AR01].' -), -( - 'Fld', - 'connected', - FALSE, - 'A field of characteristic $0$ cannot be connected with a field of characteristic $p > 0$. in fact, the connected components of $\Fld$ are the subcategories $\Fld_p$ of fields of characteristic $p$, where $p$ is a prime or $0$.' -), -( - 'Fld', - 'pushouts', - FALSE, - 'By MSE/359352, the pushout $E \sqcup_K F$ of two field homomorphisms $E \leftarrow K \rightarrow F$ exists if and only if the tensor product $E \otimes_K F$ has a "fieldification": this means that the nilradical is a prime ideal whose quotient ring is a field. This is quite rare: Consider $E = K(X)$, $F = K(Y)$. Then $E \otimes_K F$ is isomorphic to $K[X,Y] (K[X]-\{0\})^{-1} (K[Y]-\{0\})^{-1}$, which is an integral domain but not a field: for example, $X-Y$ has no inverse.' -), -( - 'Fld', - 'balanced', - FALSE, - 'Every non-trivial purely inseparable field extension, such as $\IF_p(X^p) \to \IF_p(X)$, provides a counterexample by the descriptions of special morphisms below.' -), -( - 'Fld', - 'generator', - FALSE, - 'Assume that $G$ is a generator, say of characteristic $p$. Then for all $q \neq p$ all homomorphisms between two fields of characteristic $q$ would be equal, which is absurd.' -), -( - 'Fld', - 'cogenerating set', - FALSE, - 'We apply this lemma to the collection of fields: Any homomorphism of fields is injective. For every infinite cardinal $\kappa$ the field of rational functions in $\kappa$ variables has cardinality $\geq \kappa$ and a non-trivial automorphism (swap two variables).' -), -( - 'Fld', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Fld', - 'locally cartesian closed', - FALSE, - 'Assume that $K$ is a field such that $\Fld / K$ is cartesian closed. This slice category is equivalent to the poset of subfields of $K$. This poset is a lattice, and our assumption implies that it is distributive (see here). But this is quite rare: Consider $K = \IQ(\sqrt{2}, \sqrt{3})$. By Galois theory, the lattice of subfields is isomorphic to the diamond lattice $M_3$ which is not distributive. Specifically, $(\IQ(\sqrt{2}) \wedge \IQ(\sqrt{6})) \vee (\IQ(\sqrt{3}) \wedge \IQ(\sqrt{6})) = \IQ \vee \IQ = \IQ$, while $(\IQ(\sqrt{2}) \vee \IQ(\sqrt{3})) \wedge \IQ(\sqrt{6}) = \IQ(\sqrt{2},\sqrt{3}) \wedge \IQ(\sqrt{6}) = \IQ(\sqrt{6})$.' -), -( - 'Fld', - 'core-thin', - FALSE, - 'If this category was core-thin, Galois theory would not exist. Specifically, the conjugation $\IC \to \IC$, $z \mapsto \overline{z}$ is a non-trivial automorphism.' -), -( - 'Fld', - 'binary powers', - FALSE, - 'Assume that the product $P := \IQ(\sqrt{2}) \times \IQ(\sqrt{2})$ exists. This field is isomorphic to a subfield of $\IQ(\sqrt{2})$, hence $P \cong \IQ$ or $P \cong \IQ(\sqrt{2})$. In the first case, the two projections $P \rightrightarrows \IQ(\sqrt{2})$ must be equal, which means that every two homomorphisms $K \rightrightarrows \IQ(\sqrt{2})$ are equal, which is absurd (take $K = \IQ(\sqrt{2})$ and its two automorphisms). In the second case, the projections induce for every field $K$ a bijection $\Hom(K,\IQ(\sqrt{2})) \cong \Hom(K,\IQ(\sqrt{2}))^2$, which however fails for $K = \IQ(\sqrt{2})$: the left hand side has $2$ elements, the right hand side has $4$ elements. A more general result about products in $\Fld$ can be found at MSE/359352.' -), -( - 'Fld', - 'multi-terminal object', - FALSE, - 'Every field has a non-trivial extension, for instance, the rational function field over itself in one variable. Hence, a multi-terminal object never exists.' -), -( - 'Fld', - 'cofiltered-limit-stable epimorphisms', - FALSE, - 'Inside of $\IF_p(X)$ consider the descending sequence of subfields - $$\IF_p(X) \supseteq \IF_p(X^p) \supseteq \IF_p(X^{p^2}) \supseteq \cdots,$$ - whose intersection is $\IF_p$. Each $\IF_p(X^{p^n}) \hookrightarrow \IF_p(X)$ is purely inseparable, hence an epimorphism, but in the limit we get $\IF_p \hookrightarrow \IF_p(X)$, which is not even algebraic.' -); diff --git a/databases/catdat/data/003_category-property-assignments/FreeAb.sql b/databases/catdat/data/003_category-property-assignments/FreeAb.sql deleted file mode 100644 index f579570b..00000000 --- a/databases/catdat/data/003_category-property-assignments/FreeAb.sql +++ /dev/null @@ -1,96 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'FreeAb', - 'locally small', - TRUE, - 'There is a forgetful functor $\FreeAb \to \Set$ and $\Set$ is locally small.' -), -( - 'FreeAb', - 'additive', - TRUE, - 'This follows easily from the fact for abelian groups.' -), -( - 'FreeAb', - 'coproducts', - TRUE, - 'This is is because free abelian groups are closed under direct sums of abelian groups.' -), -( - 'FreeAb', - 'well-powered', - TRUE, - 'This is clear since the monomorphisms are injective.' -), -( - 'FreeAb', - 'well-copowered', - TRUE, - 'See MSE/5025660.' -), -( - 'FreeAb', - 'generator', - TRUE, - 'As for $\Ab$, the group $\IZ$ is a generator.' -), -( - 'FreeAb', - 'cogenerator', - TRUE, - 'It is easy to check that $\IZ$ is a cogenerator for free abelian groups.' -), -( - 'FreeAb', - 'regular', - TRUE, - 'This follows formally from the fact that $\Ab$ is regular and $\FreeAb$ is closed under subobjects and finite products: By Prop. 2.5 in the nlab it suffices to prove that there are pullback-stable (reg epi, mono)-factorizations. Every homomorphism $f : A \to B$ in $\FreeAb$ factors as $f = i \circ p : A \twoheadrightarrow C \hookrightarrow B$, where $C$ is a subgroup, hence free, and $A \to C$ is surjective. Clearly, surjective homomorphisms are pullback-stable. It remains to show that they coincide with the regular epimorphisms.
- (1) If $f : A \to B$ is surjective, it is the coequalizer of $A \times_B A \rightrightarrows A$ in $\Ab$. Since $A \times_B A$ is free abelian, $f$ is also an coequalizer in $\FreeAb$.
- (2) If $f : A \to B$ is a regular epimorphism in $\FreeAb$, consider the factorization $f = i \circ p$ as above. Since $f$ is an extremal epimorphism, $i$ must be an isomorphism, so that $f$ is surjective.' -), -( - 'FreeAb', - 'countable powers', - FALSE, - 'Assume that the power $P = \prod_{n \geq 0} \IZ$ exists in this category. The projections $P \to \IZ$ induce an isomorphism of abelian groups $\Hom(\IZ, P) \to \prod_n \Hom(\IZ, \IZ)$, hence $P \cong \IZ^{\IN}$. But it is well-known that $\IZ^{\IN}$ is not free abelian.' -), -( - 'FreeAb', - 'balanced', - FALSE, - 'The homomorphism $2 : \IZ \to \IZ$ is a counterexample.' -), -( - 'FreeAb', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'FreeAb', - '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 $\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) -VALUES -( - 'FreeAb', - 'accessible', - 'The question if this category is accessible is undecidable in ZFC. See MSE/720885.' -); diff --git a/databases/catdat/data/003_category-property-assignments/Grp.sql b/databases/catdat/data/003_category-property-assignments/Grp.sql deleted file mode 100644 index 3b0e779c..00000000 --- a/databases/catdat/data/003_category-property-assignments/Grp.sql +++ /dev/null @@ -1,119 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Grp', - 'locally small', - TRUE, - 'There is a forgetful functor $\Grp \to \Set$ and $\Set$ is locally small.' -), -( - 'Grp', - 'pointed', - TRUE, - 'The trivial group is a zero object.' -), -( - 'Grp', - 'finitary algebraic', - TRUE, - 'Take the algebraic theory of a group.' -), -( - 'Grp', - 'mono-regular', - TRUE, - 'See Prop. 4.2 at the nLab.' -), -( - 'Grp', - 'Malcev', - TRUE, - 'See Example 2.2.4 in Malcev, protomodular, homological and semi-abelian categories.' -), -( - 'Grp', - 'conormal', - 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', - FALSE, - 'Every non-normal subgroup provides a counterexample.' -), -( - 'Grp', - 'cogenerator', - FALSE, - 'We apply this lemma to the collection of simple groups: Any non-trivial homomorphism from a simple group to a group must be injective, and for every infinite cardinal $\kappa$ there is a simple group of size $\geq \kappa$ (for example, the alternating group on $\kappa$ elements).' -), -( - 'Grp', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Grp', - 'coregular', - FALSE, - 'This is because injective group homomorphisms are not stable under pushouts, see e.g. MSE/601463 or MSE/5088032.' -), -( - 'Grp', - 'counital', - FALSE, - 'The canonical morphism $F_2 = \IZ \sqcup \IZ \to \IZ \times \IZ$ is not a monomorphism since $F_2$ is not abelian.' -), -( - 'Grp', - 'CIP', -- TODO: remove code duplication with "counital" proof - FALSE, - 'The canonical morphism $F_2 = \IZ \sqcup \IZ \to \IZ \times \IZ$ is not a monomorphism since $F_2$ is not abelian.' -), -( - 'Grp', - 'regular quotient object classifier', - FALSE, - 'Assume that $\Grp$ has a (regular) quotient object classifier, i.e. a group $P$ such that every surjective homomorphism $G \to H$ is the cokernel of a unique homomorphism $\varphi : P \to G$. Equivalently, every normal subgroup $N \subseteq G$ is $\langle \langle \varphi(P) \rangle \rangle$ for a unique homomorphism $\varphi : P \to G$, where $\langle \langle - \rangle \rangle$ denotes the normal closure. If $c_g : G \to G$ denotes the conjugation with $g \in G$, then the images of $\varphi$ and $c_g \circ \varphi$ have the same normal closures, so the homomorphisms must be equal. In other words, $\varphi$ factors through the center $Z(G)$. But then every normal subgroup of $G$, in particular $G$ itself, would be contained in $Z(G)$, which is wrong for every non-abelian group $G$.' -), -( - 'Grp', - 'cocartesian cofiltered limits', - FALSE, - 'For cofiltered diagrams of groups $(H_i)$ and a group $G$ the canonical homomorphism - $$\textstyle \alpha : G \sqcup \lim_i H_i \to \lim_i (G \sqcup H_i)$$ - is injective, but often fails to be surjective because the components of an element in the image have bounded free product length (the number of factors appearing in the reduced form). Specifically, consider the free groups $G = \langle y \rangle$ and $H_n = \langle x_1,\dotsc,x_n \rangle$ for $n \in \IN$ with the truncation maps $H_{n+1} \to H_n$, $x_{n+1} \mapsto 1$. Define - $$p_n := x_1 \, y \, x_2 \, y \, \cdots \, x_{n-1} \, y \, x_n \, y^{-(n-1)} \in G \sqcup H_n.$$ - If we substitute $x_{n+1}=1$ in $p_{n+1}$, we get $p_n$. Thus, we have $p = (p_n) \in \lim_n (G \sqcup H_n)$. This element does not lie in the image of $\alpha$ since the free product length of $p_n$ (which is well-defined) is $2n$, which is unbounded.' -), -( - 'Grp', - 'CSP', - FALSE, - 'The canonical homomorphism $\coprod_{n \geq 0} \IZ \to \prod_{n \geq 0} \IZ$ is not surjective because its domain is countable and its codomain is uncountable. Hence it is no epimorphism.' -), -( - 'Grp', - 'cofiltered-limit-stable epimorphisms', - FALSE, - 'We already know that $\Ab$ does not have this property. Now apply the contrapositive of the dual of this lemma to the forgetful functor $\Ab \to \Grp$ which indeed preserves epimorphisms.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'Grp' -AND property_id IN ('pointed'); \ 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 deleted file mode 100644 index b25c4ff7..00000000 --- a/databases/catdat/data/003_category-property-assignments/Haus.sql +++ /dev/null @@ -1,121 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Haus', - 'locally small', - TRUE, - 'It is a full subcategory of $\Top$, which is locally small.' -), -( - 'Haus', - 'equalizers', - TRUE, - 'This follows from the corresponding fact for $\Top$ since subspaces of Hausdorff spaces are again Hausdorff.' -), -( - 'Haus', - 'products', - TRUE, - 'This follows from the corresponding fact for $\Top$ since products of Hausdorff spaces are again Hausdorff.' -), -( - 'Haus', - 'cocomplete', - TRUE, - 'This follows since $\Haus$ is a reflective subcategory of $\Top$, which is cocomplete. For the reflector, see e.g. the nLab. Explicitly, we construct the colimit of Hausdorff spaces by applying the reflector to the colimit of the underlying topological spaces.' -), -( - 'Haus', - 'infinitary extensive', - TRUE, - 'This follows exactly as for $\Top$ since Hausdorff spaces are closed under taking subspaces and coproducts in $\Top$.' -), -( - 'Haus', - 'well-powered', - TRUE, - 'This is clear from the classification of monomorphisms as injective continuous maps.' -), -( - 'Haus', - 'well-copowered', - TRUE, - 'Every epimorphism has dense image, so it suffices to prove that if a Hausdorff space $X$ has a dense subset $D \subseteq X$, we can bound the cardinality of $X$ in terms of the cardinality of $D$. For $x \in X$ let $\alpha(x)$ be the set of all $U \cap D$, where $U$ is an open neighborhood of $x$. This defines a map $\alpha : X \to P(P(D))$, and we claim that it is injective: this is because $\{x\}$ is the intersection of all $\overline{U} = \overline{U \cap D}$, where $U$ runs through the open neighborhoods of $x$.' -), -( - 'Haus', - 'generator', - TRUE, - 'The one-point space is a generator since it represents the forgetful functor $\Haus \to \Set$.' -), -( - 'Haus', - 'semi-strongly connected', - TRUE, - 'Every non-empty Hausdorff space is weakly terminal (by using constant maps).' -), -( - 'Haus', - 'co-Malcev', - TRUE, - 'See MO/509548.' -), -( - 'Haus', - 'effective cocongruences', - TRUE, - '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', - 'cartesian filtered colimits', - FALSE, - 'It is shown in MSE/1255678 that $\IQ \times - : \Top \to \Top$ does not preserve sequential colimits (so that it cannot be a left adjoint). The same example also works in $\Haus$: Surely $\IQ$ is Hausdorff, $X_n$ is Hausdorff, as is their colimit $X$, and the colimit (taken in $\Top$) of the $X_n \times \IQ$ admits a bijective continuous map to a Hausdorff space, therefore is also Hausdorff, meaning it is also the colimit taken in $\Haus$.' -), -( - 'Haus', - 'filtered-colimit-stable monomorphisms', - FALSE, - 'The proof is similar to $\Met$. For $n \geq 1$ let $X_n$ be the pushout of $[-1/n,+1/n] \hookrightarrow \IR$ with itself. That is, $X_n$ is the union of two lines $\IR \times \{1\}$ and $\IR \times \{2\}$ where we identify $(x,1) \equiv (x,2)$ when $|x| \leq 1/n$. Then $X_n$ is Hausdorff, and there is a canonical surjective continuous map $X_n \to X_{n+1}$. The colimit in $\Top$ is the union of two lines where we identify $(x,1) \equiv (x,2)$ when $|x| \leq 1/n$ for some $n$, i.e. when $x \neq 0$. This is the line with the double origin, which is not Hausdorff. Its Hausdorff reflection is the line $\IR$ where all points of both lines are identified, and it provides the colimit in $\Haus$. Now, the injective continuous maps $\{1,2\} \to X_n$, $i \mapsto (0,i)$ (where $\{1,2\}$ is discrete) become the constant map $0 : \{1,2\} \to \IR$ in the colimit, which is no monomorphism.' -), -( - 'Haus', - 'balanced', - FALSE, - 'The inclusion $\IQ \hookrightarrow \IR$ is a counterexample; it is an epimorphism since $\IQ$ is dense in $\IR$.' -), -( - 'Haus', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Haus', - 'Malcev', - FALSE, - 'This is clear since $\Set$ is not Malcev and can be interpreted as the subcategory of discrete spaces (which are Hausdorff).' -), -( - 'Haus', - 'regular subobject classifier', - FALSE, - 'Assume that there is a regular subobject classifier $\Omega$. By the classification of regular monomorphisms, we would have an isomorphism between $\Hom(X,\Omega)$ and the set of closed subsets of $X$ for any Hausdorff space $X$. If we take $X = 1$ we see that $\Omega$ has two points. Since $\Omega$ is Hausdorff, $\Omega \cong 1 + 1$ must be discrete. But then $\Hom(X,\Omega)$ is isomorphic to the set of all clopen subsets of $X$, of which there are usually far fewer than closed subsets (consider $X = [0,1]$).' -), -( - 'Haus', - 'cofiltered-limit-stable epimorphisms', - FALSE, - 'Recall the counterexample for sets: The unique maps $\IN_{\geq n} \to 1$ are surjective, but their limit $0 = \bigcap_{n \geq 0} \IN_{\geq n} \to 1$ is not. This also works in $\Haus$ by using discrete topologies. We could also apply a variant of (the dual of) this lemma to the discrete topology functor $\Set \to \Haus$, which does not preserve all cofiltered limits, but does preserve intersections.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'Haus' -AND property_id IN ('cocomplete'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/J2.sql b/databases/catdat/data/003_category-property-assignments/J2.sql deleted file mode 100644 index ca50386b..00000000 --- a/databases/catdat/data/003_category-property-assignments/J2.sql +++ /dev/null @@ -1,42 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'J2', - 'locally small', - TRUE, - 'This is trivial.' -), -( - 'J2', - 'finitary algebraic', - TRUE, - 'The structure of a Jónsson-Tarski algebra on a set $X$ is equivalent to one binary operation $\mu : X^2 \to X$ and two unary operations $\lambda, \rho : X \rightrightarrows X$ such that $\mu(\lambda(x),\rho(x)) = x$, $\lambda(\mu(x,y))=x$, and $\rho(\mu(x,y))=y$.' -), -( - 'J2', - 'Grothendieck topos', - TRUE, - 'See the nLab.' -), -( - 'J2', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'J2', - 'semi-strongly connected', - FALSE, - 'There is a bijection $\alpha = (\lambda,\rho) : \IN \to \IN \times \IN$ such that $\lambda$ has a fixed point, but $\rho$ does not (see below). Then the isomorphism $\beta := (\rho,\lambda)$ has the opposite property. There cannot be any morphism $(\IN,\alpha) \to (\IN,\beta)$, as it would map the fixed point of $\lambda$ to a fixed point of $\rho$, and likewise there is no morphism $(\IN,\beta) \to (\IN,\alpha)$.
- To construct $\alpha$ or rather $\alpha^{-1} : \IN \times \IN \to \IN$, we can alter the standard bijection $(n,m) \mapsto 2^n (2m+1) - 1$ as follows: - $$\alpha^{-1}(n,m) = \begin{cases} 2 & (n,m) = (0,0) \\ 0 & (n,m) = (0,1) \\ 2^n (2m+1) - 1 & \text{otherwise} \end{cases}$$ - Then $\alpha(0)=(0,1)$, i.e. $\lambda(0)=0$. The function $\rho$ has no fixed point, i.e. $\alpha^{-1}(n,m) \neq m$ for all $n,m$. Namely, if $(n,m)=(0,0)$, then $\alpha^{-1}(n,m)=2 \neq m$. If $(n,m)=(0,1)$, then $\alpha^{-1}(n,m)=0 \neq m$. Otherwise, - $$\alpha^{-1}(n,m) = 2^n (2m+1) - 1 \geq (2m+1)-1 = 2m \geq m,$$ - and equality can only hold if $m=0$ and $n=0$, which we already excluded.' -); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/LRS.sql b/databases/catdat/data/003_category-property-assignments/LRS.sql deleted file mode 100644 index 77f8aa0c..00000000 --- a/databases/catdat/data/003_category-property-assignments/LRS.sql +++ /dev/null @@ -1,73 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'LRS', - 'locally small', - TRUE, - 'For two ringed spaces $(X,O_X), (Y,O_Y)$, the collection of morphisms $X \to Y$ of ringed spaces is the collection $\prod_{f \in \Hom(X,Y)} \Hom(O_Y,f_* O_X)$, which is a set since $\Hom(X,Y)$ is a set and each $\Hom(O_Y,f_* O_X)$ is a set.' -), -( - 'LRS', - 'complete', - TRUE, - 'See Localization of ringed spaces by W. Gillam. See also MSE/1033675.' -), -( - 'LRS', - 'cocomplete', - TRUE, - 'See Demazure-Gabriel''s "Groupes algébriques", I. §1. 1.6. Specifically, the forgetful functor to ringed spaces preserves colimits, and colimits of ringed spaces are built from colimits of topological spaces and limits of commutative rings, see MSE/1646202.' -), -( - 'LRS', - 'well-powered', - TRUE, - 'Let $f : X \to Y$ be a monomorphism of locally ringed spaces. I claim that $f$ is injective, from which the claim will follow. The diagonal $\Delta : X \to X \times_Y X$ is an isomorphism. By the explicit construction of fiber products, $X \times_Y X$ consists of triples $(x_1,x_2,\mathfrak{p})$ where $x_1,x_2 \in X$, $y := f(x_1) = f(x_2)$ and $\mathfrak{p}$ is a prime ideal in $k(x_1) \otimes_{k(y)} k(x_2)$. The map $\Delta$ is given by $\Delta(x) = \bigl(x,x,\ker(k(x) \otimes_{k(f(x))} k(x) \to k(x)\bigr)$, and it is bijective. This clearly implies that $f$ is injective (and that each tensor product $k(x) \otimes_{k(f(x))} k(x)$ has a unique prime ideal, namely the kernel mentioned).' -), -( - 'LRS', - 'well-copowered', - TRUE, - 'It is enough to prove that every epimorphism of locally ringed spaces is surjective. The forgetful functor $\LRS \to \RS$ has a right adjoint (see Localization of ringed spaces by W. Gillam), so it preserves epimorphisms. The forgetful functor $\RS \to \Top$ also has a right adjoint, namely $X \mapsto (X,\underline{\IZ})$, so it also preserves epimorphisms.' -), -( - 'LRS', - 'infinitary extensive', - TRUE, - '[Sketch] Since $\Top$ is infinitary extensive, a morphism $f : Y \to \coprod_i X_i =: X$ yields a decomposition $Y = \coprod_i Y_i$ (as topological spaces) with continuous maps $f_i : Y_i \to X_i$. Endow the open subset $Y_i \subseteq Y$ with the restricted sheaf. Then each $f_i$ becomes a morphism of locally ringed spaces, and $Y = \coprod_i Y_i$ holds as locally ringed spaces.' -), -( - 'LRS', - 'balanced', - FALSE, - 'The canonical morphism $\Spec(\IZ/2 \times \IZ[1/2]) \longrightarrow \Spec(\IZ)$ is a mono- and an epimorphism, but no isomorphism.' -), -( - 'LRS', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'LRS', - 'Malcev', - FALSE, - 'This is because the category of schemes already is not Malcev.' -), -( - 'LRS', - 'semi-strongly connected', - FALSE, - 'This is because already the full subcategory of affine schemes is not semi-strongly connected, see the entry for $\CRing$. Specifically, there is no morphism between $\Spec(\IF_2)$ and $\Spec(\IF_3)$.' -), -( - 'LRS', - 'co-Malcev', - FALSE, - 'We can adjust the proof for $\Top$ (see MO/509548) as follows: Let $k$ be a field, $X$ be a singleton and $Y = \{u,v\}$ be the Sierpinski space where $\{u\}$ is open, but $\{v\}$ is not. Endow both with the sheaf of locally constant functions to $k$. Thus, $\O_X(X) = k$, $\O_Y(Y) = \O_Y(\{u\}) = k$. There is a canonical morphism $p : X + X \to Y$. It is a coreflexive corelation that is not cosymmetric.' -); diff --git a/databases/catdat/data/003_category-property-assignments/M-Set.sql b/databases/catdat/data/003_category-property-assignments/M-Set.sql deleted file mode 100644 index 52bcb27d..00000000 --- a/databases/catdat/data/003_category-property-assignments/M-Set.sql +++ /dev/null @@ -1,45 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'M-Set', - 'locally small', - TRUE, - 'There is a forgetful functor $M{-}\Set \to \Set$ and $\Set$ is locally small.' -), -( - 'M-Set', - 'Grothendieck topos', - TRUE, - 'It is the category of sheaves on the opposite of the one-object category associated to $M$.' -), -( - 'M-Set', - 'finitary algebraic', - TRUE, - 'Take the algebraic theory of an $M$-sets (having a unary operation for each $m \in M$).' -), -( - 'M-Set', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'M-Set', - 'trivial', - FALSE, - 'This is trivial.' -); - -INSERT INTO category_property_comments (category_id, property_id, comment) -VALUES -( - 'M-Set', - 'semi-strongly connected', - 'If this category is semi-strongly connected depends on the choice of $M$. For $M = 1$ it is, for $M = \IZ$ it is not. In general, if $G$ is a group, then $G{-}\Set$ is semi-strongly connected if and only if for all subgroups $H,K \subseteq G$, $H$ is subconjugated to $K$ or $K$ is subconjugated to $H$. If $G$ is abelian, this means that the poset of subgroups is linear, in which case $G$ is either isomorphic to $\IZ/p^n$ or to $\IZ/p^{\infty}$ for a prime $p$. See also MSE/5129804.' -); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/Man.sql b/databases/catdat/data/003_category-property-assignments/Man.sql deleted file mode 100644 index 3d69e749..00000000 --- a/databases/catdat/data/003_category-property-assignments/Man.sql +++ /dev/null @@ -1,130 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Man', - 'locally small', - TRUE, - 'There is a forgetful functor $\Man \to \Set$ and $\Set$ is locally small.' -), -( - 'Man', - 'finite products', - TRUE, - 'In short, this follows from the corresponding statement for topological spaces and $\IR^n \times \IR^m \cong \IR^{n+m}$.' -), -( - 'Man', - 'generator', - TRUE, - 'The $0$-dimensional one-point manifold is a generator since it represents the forgetful functor $\Top \to \Set$.' -), -( - 'Man', - 'cogenerator', - TRUE, - 'The manifold $\IR$ is a cogenerator, since for every smooth manifold $M$ and points $p \neq q$ in $M$ there is a smooth function $f : M \to \IR$ with $f(p) = 1$ and $f(q) = 0$ (John Lee, Introduction to Smooth Manifolds, Prop. 2.25).' -), -( - 'Man', - 'extensive', - TRUE, - '[Sketch] Since $\Top$ is infinitary extensive, a continuous map $f : M \to \coprod_i N_i$ corresponds to a decomposition $M = \coprod_i M_i$ (as topological spaces) with continuous maps $f_i : M_i \to N_i$. Endow the open subset $M_i \subseteq M$ with the smooth structure inherited from $M$. Now remark that $f$ is smooth iff each $f_i$ is smooth.' -), -( - -- TODO: maybe add "countably extensive" to make this more conceptual - 'Man', - 'countably distributive', - TRUE, - 'To construct countable coproducts, take the usual disjoint union of spaces, which is clearly locally Euclidean and Hausdorff, and it is second countable since we are using only countable many spaces. (Without that condition, all coproducts would exist.) Now we need to check that the canonical smooth map $\coprod_i X \times Y_i \to X \times \coprod_i Y_i$ is a diffeomorphism (for countable families). It is a homeomorphism since $\Top$ is infinitary distributive. The inverse $X \times \coprod_i Y_i \to \coprod_i X \times Y_i$ is smooth since the domain is covered by the open subsets $X \times Y_i$ on which the map is clearly smooth.' -), -( - 'Man', - 'Cauchy complete', - TRUE, - 'See Theorem 2.1 at the nLab.' -), -( - 'Man', - 'semi-strongly connected', - TRUE, - 'Every non-empty manifold is weakly terminal (by using constant maps).' -), -( - 'Man', - 'essentially small', - TRUE, - 'This is a consequence of the Whitney embedding theorem. But there is also a more direct proof: Since a manifold is second-countable, it is Lindelöf (proof). In particular, there is a countable atlas. It is then completely determined by countable many open subsets of Euclidean spaces and the transition maps.' -), -( - 'Man', - 'coquotients of cocongruences', - TRUE, - 'Let $p : X + X \twoheadrightarrow E$ be a cocongruence with coreflexivity morphism $r : E \to X$, so that $r \circ p : X + X \to X$ is the codiagonal. Since $p$ is an epimorphism, it has dense image (see below). We first claim that in fact $p$ also has closed image and therefore is surjective. - 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 $\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', - FALSE, - 'Even the collection of all singletons is not a set.' -), -( - 'Man', - 'countable powers', - FALSE, - 'The power $\IR^{\IN}$ does not exist. More generally, let $(M_n)_{n \geq 0}$ be a sequence of smooth manifolds of positive dimension whose product $(\pi_n : P \to M_n)_{n \geq 0}$ exists. This product cone in $\Man$ yields a product cone in $\Set$ since the forgetful functor $\Man \to \Set$ is representable, hence preserves all limits. Choose points $x_n \in M_n$ with $T_{x_n}(M_n) \neq 0$. Choose the point $x \in P$ with $\pi_n(x) = x_n$. Consider the linear map $T_x(P) \to \prod_{n \geq 0} T_{x_n}(M_n)$ induced by the derivatives $d_x(\pi_n) : T_x(P) \to T_{x_n}(M_n)$. Since $T_x(P)$ is finite-dimensional and $\prod_{n \geq 0} T_{x_n}(M_n)$ is not, it cannot be surjective. But actually, it is: Choose tangent vectors $v_n \in T_{x_n}(M_n)$. Choose smooth curves $\gamma_n : \IR \to M_n$ with $\gamma_n(0)=x_n$ and ${\gamma_n}''(0) = v_n$. By the universal property there is a unique smooth curve $\gamma : \IR \to P$ with $\pi_n \gamma = \gamma_n$. In particular, $\gamma(0) = x$. The chain rule now implies that $\gamma''(0) \in T_x(P)$ is a preimage of $(v_n)$ – a contradiction.' -), -( - 'Man', - 'pullbacks', - FALSE, - 'See MSE/5129579 or MSE/322485.' -), -( - 'Man', - 'balanced', - FALSE, - 'The irrational winding of a torus $\IR \to S^1 \times S^1$, $t \mapsto (e^{i t}, \, e^{i \alpha t})$, where $\alpha \in \IR \setminus \IQ$, provides a counterexample. It is injective and has a dense image. Hence, it is a mono- and an epimorphism. But it is not surjective, hence no isomorphism.' -), -( - 'Man', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Man', - 'sequential colimits', - FALSE, - 'If $\Man$ had sequential colimits, then by this lemma there would be a manifold $M$ that admits a split epimorphism $M \to \IR^n$ for every $n$. But then $M$ will have an infinite-dimensional tangent space, which is a contradiction.' -), -( - 'Man', - 'ℵ₁-accessible', - FALSE, - 'We already know that the category of countable sets $\Set_\c$ does not have $\aleph_1$-filtered colimits. The functor $\pi_0: \Man \to \Set_\c$ is well-defined (because manifolds are second-countable), and it admits a fully faithful right adjoint (regarding a countable set as a discrete manifold). Therefore, $\Man$ does not have $\aleph_1$-filtered colimits.' -), -( - 'Man', - 'quotients of congruences', - FALSE, - 'If $\Man$ had quotients of congruences, then by this lemma, it would have a pushout of $\IR \leftarrow \{ 0 \} \rightarrow \IR$. This contradicts MO/19916.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'Man' -AND property_id IN ('finite products'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/Meas.sql b/databases/catdat/data/003_category-property-assignments/Meas.sql deleted file mode 100644 index 3ece3480..00000000 --- a/databases/catdat/data/003_category-property-assignments/Meas.sql +++ /dev/null @@ -1,109 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Meas', - 'locally small', - TRUE, - 'There is a forgetful functor $\Meas \to \Set$ and $\Set$ is locally small.' -), -( - 'Meas', - 'well-powered', - TRUE, - 'This follows from the fact that monomorphisms are injective in this category.' -), -( - 'Meas', - 'well-copowered', - TRUE, - 'This follows from the fact that epimorphisms are surjective in this category.' -), -( - 'Meas', - 'complete', - TRUE, - 'Take the limit of the underlying sets and take the smallest $\sigma$-algebra making all projections measurable.' -), -( - 'Meas', - 'cocomplete', - TRUE, - 'Take the colimit of the underlying sets and take the largest $\sigma$-algebra making all inclusions measurable. That is, a set is measurable iff its preimage under each inclusion is measurable.' -), -( - 'Meas', - 'infinitary extensive', - TRUE, - '[Sketch] Since $\Set$ is infinitary extensive, a map $f : Y \to \coprod_i X_i =: X$ corresponds to a decomposition $Y = \coprod_i Y_i$ (as sets) with maps $f_i : Y_i \to X_i$. Endow the measurable subset $Y_i \subseteq Y$ with the restricted $\sigma$-algebra. If $f$ is measurable, each $f_i$ is measurable, and $Y = \coprod_i Y_i$ holds as measurable spaces.' -), -( - 'Meas', - 'generator', - TRUE, - 'The one-point measurable space (with the unique $\sigma$-algebra) is a generator since it represents the forgetful functor $\Meas \to \Set$.' -), -( - 'Meas', - 'cogenerator', - TRUE, - 'Take the two-element set $2$ endowed with the trivial $\sigma$-algebra (where only $\varnothing$ and $2$ are measurable), and use that $2$ is a cogenerator for $\Set$.' -), -( - 'Meas', - 'filtered-colimit-stable monomorphisms', - TRUE, - 'This follows from this lemma applied to the forgetful functor to $\Set$.' -), -( - 'Meas', - 'semi-strongly connected', - TRUE, - 'Every non-empty measurable space is weakly terminal (by using constant maps).' -), -( - 'Meas', - 'regular subobject classifier', - TRUE, - 'The set $\{0,1\}$ with the trivial $\sigma$-algebra is a regular subobject classifier since measurable maps $X \to \{0,1\}$ correspond to subsets of $X$.' -), -( - 'Meas', - 'cartesian filtered colimits', - FALSE, - 'See MSE/5027218.' -), -( - 'Meas', - 'balanced', - FALSE, - 'Take a set $X$ with two different $\sigma$-algebras $\A \subset \B$ (for example, $\A = \{\varnothing,X\}$ and $\B = P(X)$ when $X$ has at least $2$ elements), then the identity map $(X,\B) \to (X,\A)$ provides a counterexample.' -), -( - 'Meas', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Meas', - 'Malcev', - FALSE, - 'Use that $\Set$ is not Malcev and endow sets with the trivial $\sigma$-algebra.' -), -( - 'Meas', - '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 $\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 deleted file mode 100644 index 8182e7c5..00000000 --- a/databases/catdat/data/003_category-property-assignments/Met.sql +++ /dev/null @@ -1,172 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Met', - 'locally small', - TRUE, - 'There is a forgetful functor $\Met \to \Set$ and $\Set$ is locally small.' -), -( - 'Met', - 'well-powered', - TRUE, - 'This follows since monomorphisms are injective.' -), -( - 'Met', - 'equalizers', - TRUE, - 'Just restrict the metric to the equalizer built from the sets.' -), -( - 'Met', - 'binary products', - TRUE, - 'The product of two metric spaces $(X,d)$, $(Y,d)$ is $(X \times Y,d)$ with $d((x_1,y_1),(x_2,x_2)) := \sup(d(x_1,x_2),d(y_1,y_2))$.' -), -( - 'Met', - 'terminal object', - TRUE, - 'The one-point metric space is terminal.' -), -( - 'Met', - 'coequalizers', - TRUE, - 'This is because the category of pseudo-metric spaces has coequalizers and $\Met \hookrightarrow \PMet$ has a left adjoint, mapping a pseudo-metric space $X$ to $X /{\sim}$ where $x \sim y \iff d(x,y)=0$. Concretely, we take the coequalizer in the category of pseudo-metric spaces and then identify points with distance zero.' -), -( - 'Met', - 'filtered colimits', - TRUE, - 'This is because the category of pseudo-metric spaces has filtered colimits and $\Met \hookrightarrow \PMet$ has a left adjoint, mapping a pseudo-metric space $X$ to $X /{\sim}$ where $x \sim y \iff d(x,y)=0$. Concretely, we take the filtered colimit in the category of pseudo-metric spaces and then identify points with distance zero.' -), -( - 'Met', - 'cartesian filtered colimits', - TRUE, - 'We already saw that filtered colimits and finite products exist. The canonical map $\colim_i (X \times Y_i) \to X \times \colim_i Y_i$ is an isomorphism for filtered diagrams $(Y_i)$: It is surjective by the concrete description of filtered colimits. It is isometric because of the elementary observation - $$\textstyle\inf_i \max(r, s_i) = \max(r, \inf_i s_i)$$ - for $r, s_i \in \IR$, where $i \leq j \implies s_i \geq s_j$.' -), -( - 'Met', - 'strict initial object', - TRUE, - 'The empty metric space is initial and clearly strict.' -), -( - 'Met', - 'generator', - TRUE, - 'The one-point metric space is a generator since it represents the forgetful functor $\Met \to \Set$.' -), -( - 'Met', - 'cogenerator', - TRUE, - 'We claim that $\IR$ with the usual metric is a cogenerator. Let $a,b \in X$ be two points of a metric space such that $f(a)=f(b)$ for all non-expansive maps $f : X \to \IR$. This applies in particular to $f(x) := d(a,x)$ and shows that $0=d(a,a)=d(a,b)$, so that $a=b$.' -), -( - 'Met', - 'well-copowered', - TRUE, - 'If $f : X \to Y$ is an epimorphism, then $f(X)$ is dense in $Y$ (see below). Hence, there is an injective map $Y \to X^{\IN}$, which bounds the size of $Y$.' -), -( - 'Met', - 'semi-strongly connected', - TRUE, - 'Every non-empty metric space is weakly terminal (by using constant maps).' -), -( - 'Met', - 'countable powers', - FALSE, - 'Assume that the power $P = \IR^{\IN}$ exists, where $\IR$ has the usual metric. Since the forgetful functor $\Met \to \Set$ is representable, it preserves limits, powers in particular. Thus, we may assume that $P$ is the set of sequences of numbers and that the projections $p_n : P \to \IR$ are given by $p_n(x) = x_n$. Now consider the sequences $x = (n)_n$ and $y = (0)_n$. Since each $p_n$ is non-expansive, we get $d(x,y) \geq d(p_n(x),p_n(y)) = d(n,0) = n$. But then $d(x,y) = \infty$, a contradiction.' -), -( - 'Met', - 'binary copowers', - FALSE, - 'The coproduct of two non-empty metric spaces does not exist, see MSE/1778408. For example, the copower $\IR \sqcup \IR$ does not exist. We only get coproducts when allowing $\infty$ as a distance, as in $\Met_{\infty}$.' -), -( - 'Met', - 'strict terminal object', - FALSE, - 'This is trivial.' -), -( - 'Met', - 'balanced', - FALSE, - 'The inclusion $\IQ \hookrightarrow \IR$ is a counterexample; it is an epimorphism since $\IQ$ is dense in $\IR$. Alternatively, consider the identity map $(X,2d) \to (X,d)$ for any non-trivial metric space $(X,d)$.' -), -( - 'Met', - 'cartesian closed', - FALSE, - 'This is proven in MSE/5131457.' -), -( - 'Met', - 'essentially small', - FALSE, - 'This is trivial.' -), -( - 'Met', - 'filtered-colimit-stable monomorphisms', - FALSE, - 'The following example is taken from Remark 2.7 in Approximate injectivity and smallness in metric-enriched categories by Adamek-Rosicky: For $n \geq 1$ let $X_n$ denote the metric space with underlying set $\{0,1\}$ in which $0,1$ have distance $1/n$. We have bijective non-expansive maps $X_n \to X_{n+1}$, $x \mapsto x$. The colimit of this sequence in $\PMet$ is $\{0,1\}$ where $0,1$ have distance $0$, so the colimit in $\Met$ collapses to $\{0\}$. Therefore, the colimit of the monomorphisms $X_0 \to X_n$, $x \mapsto x$ is the non-injective map $X_0 \to \{0\}$.' -), -( - 'Met', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Met', - 'Malcev', - FALSE, - 'Consider the metric subspace $\{(a,b) \in \IR^2 : a \leq b\}$ of $\IR^2$.' -), -( - 'Met', - 'natural numbers object', - FALSE, - '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.' -), -( - 'Met', - 'effective congruences', - FALSE, - '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 \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 $\Met$.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'Met' -AND property_id IN ('terminal object', 'binary products', 'filtered colimits'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/Met_c.sql b/databases/catdat/data/003_category-property-assignments/Met_c.sql deleted file mode 100644 index c429fb47..00000000 --- a/databases/catdat/data/003_category-property-assignments/Met_c.sql +++ /dev/null @@ -1,121 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Met_c', - 'locally small', - TRUE, - 'There is a forgetful functor $\Met_c \to \Set$ and $\Set$ is locally small.' -), -( - 'Met_c', - 'equalizers', - TRUE, - 'Just restrict the metric to the equalizer built from the sets.' -), -( - 'Met_c', - 'countable products', - TRUE, - 'For finite products, we take the cartesian product with, say, the sup-metric. The product of countably many metric spaces $(X_i,d_i)_{i \geq 0}$ is given by the cartesian product $\prod_{i \geq 0} X_i$ with the metric $d(x,y) := \sum_{i \geq 0} d_i(x_i,y_i)/(1 + d_i(x_i,y_i))$. See Engelking''s book General Topology.' -), -( - 'Met_c', - 'coproducts', - TRUE, - 'See MSE/5004389.' -), -( - 'Met_c', - 'infinitary extensive', - TRUE, - 'This follows from the existence of coproducts and finite products, and from the fact that $\Top$ is infinitary extensive.' -), -( - 'Met_c', - 'well-powered', - TRUE, - 'This follows easily from the fact that monomorphisms are injective in this category.' -), -( - 'Met_c', - 'generator', - TRUE, - 'The one-point metric space is a generator since it represents the forgetful functor $\Met_c \to \Set$.' -), -( - 'Met_c', - 'cogenerator', - TRUE, - 'The same proof as for $\Met$ shows that $\IR$ with the usual metric is a cogenerator.' -), -( - 'Met_c', - 'well-copowered', - TRUE, - 'If $f : X \to Y$ is an epimorphism, then $f(X)$ is dense in $Y$ (see below). Hence, there is an injective map $Y \to X^{\IN}$, which bounds the size of $Y$.' -), -( - 'Met_c', - 'semi-strongly connected', - 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 $\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', - 'powers', - FALSE, - 'See MSE/139168 for a proof that uncountable powers do not exist.' -), -( - 'Met_c', - 'balanced', - FALSE, - 'The inclusion $\IQ \hookrightarrow \IR$ provides a counterexample.' -), -( - 'Met_c', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Met_c', - 'Malcev', - FALSE, - 'Consider the metric subspace $\{(a,b) \in \IR^2 : a \leq b\}$ of $\IR^2$.' -), -( - 'Met_c', - 'regular subobject classifier', - FALSE, - 'We recycle the proof from the category of Hausdorff spaces: Assume that there is a regular subobject classifier $\Omega$. By the classification of regular monomorphisms, we would have an isomorphism between $\Hom(X,\Omega)$ and the set of closed subsets of $X$ for any metric space $X$. If we take $X = 1$ we see that $\Omega$ has two points. Since $\Omega$ is Hausdorff, $\Omega \cong 1 + 1$ must be discrete. But then $\Hom(X,\Omega)$ is isomorphic to the set of all clopen subsets of $X$, of which there are usually far fewer than closed subsets (consider $X = [0,1]$).' -), -( - 'Met_c', - 'sequential colimits', - FALSE, - 'See MO/510316.' -), -( - 'Met_c', - 'quotients of congruences', - FALSE, - 'If $\Met_c$ had quotients of congruences, then by this lemma it would have sequential colimits of sequences of monomorphisms. This contradicts MO/510316.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'Met_c' -AND property_id IN ('coproducts'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/Met_oo.sql b/databases/catdat/data/003_category-property-assignments/Met_oo.sql deleted file mode 100644 index 89723a17..00000000 --- a/databases/catdat/data/003_category-property-assignments/Met_oo.sql +++ /dev/null @@ -1,97 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Met_oo', - 'locally small', - TRUE, - 'There is a forgetful functor $\Met_{\infty} \to \Set$ and $\Set$ is locally small.' -), -( - 'Met_oo', - 'generator', - TRUE, - 'The singleton metric space $1$ is a generator, since morphisms $1 \to X$ correspond to the elements of $X$.' -), -( - 'Met_oo', - 'locally ℵ₁-presentable', - TRUE, - 'Example 4.5 in this preprint' -), -( - 'Met_oo', - 'cartesian filtered colimits', - TRUE, - 'We can use the same proof as for the category of metric spaces since the equation $\inf_i \max(r, s_i) = \max(r, \inf_i s_i)$ also holds for for $r, s_i \in \IR \cup \{\infty\}$.' -), -( - 'Met_oo', - 'infinitary extensive', - TRUE, - '[Sketch] Since $\Set$ is infinitary extensive, a map $f : Y \to \coprod_i X_i =: X$ corresponds to a decomposition $Y = \coprod_i Y_i$ (as sets) with maps $f_i : Y_i \to X_i$. Endow $Y_i$ with the restricted metric. If $f$ is non-expansive, each $f_i$ is non-expansive, and for $x_i \in Y_i$ and $i \neq j$ we have $d_Y(x_i,x_j) \geq d_X(f(x_i),f(x_j)) = \infty$, so that $Y = \coprod_i Y_i$ holds as metric spaces.' -), -( - 'Met_oo', - 'cogenerator', - TRUE, - 'The proof is similar to $\Met$, a cogenerator is given by $\IR \cup \{\infty\}$ with the metric in which $d(a,\infty)=\infty$ for $a \in \IR$. Then one checks that the maps $d(a,-) : X \to \IR \cup \{\infty\}$ are non-expansive and finishes as for $\Met$.' -), -( - 'Met_oo', - 'semi-strongly connected', - TRUE, - 'Every non-empty metric space is weakly terminal (by using constant maps).' -), -( - 'Met_oo', - 'balanced', - FALSE, - 'The inclusion $\IQ \hookrightarrow \IR$ provides a counterexample. Alternatively, consider the identity map $(X,2d) \to (X,d)$ for any non-trivial metric space $(X,d)$.' -), -( - 'Met_oo', - 'cartesian closed', - FALSE, - 'This is proven in MSE/5131457.' -), -( - 'Met_oo', - 'filtered-colimit-stable monomorphisms', - FALSE, - 'We can copy the proof from the category of metric spaces.' -), -( - 'Met_oo', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Met_oo', - 'Malcev', - FALSE, - 'Consider the metric subspace $\{(a,b) \in \IR^2 : a \leq b\}$ of $\IR^2$.' -), -( - 'Met_oo', - 'co-Malcev', - FALSE, - 'See MO/509552: Consider the forgetful functor $U : \Met_{\infty} \to \Set$ and the relation $R \subseteq U^2$ defined by $R(X) := \{(a,b) \in U(X)^2 : d(x,y) \leq 1 \}$. Both are representable: $U$ by the singleton metric space and $R$ by the metric space $\{ 0,1 \}$ where $d(0,1) := 1$. It is clear that $R$ is reflexive, but not transitive.' -), -( - 'Met_oo', - '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 $\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 deleted file mode 100644 index d1a61434..00000000 --- a/databases/catdat/data/003_category-property-assignments/Mon.sql +++ /dev/null @@ -1,121 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Mon', - 'locally small', - TRUE, - 'There is a forgetful functor $\Mon \to \Set$ and $\Set$ is locally small.' -), -( - 'Mon', - 'pointed', - TRUE, - 'The trivial monoid is a zero object.' -), -( - 'Mon', - 'finitary algebraic', - TRUE, - 'Take the algebraic of a monoid.' -), -( - 'Mon', - 'unital', - TRUE, - 'If a submonoid of $X \times Y$ contains $X \times \{1\}$ and $\{1\} \times Y$, then for all $x \in X$ and $y \in Y$ it also contains $(x,1) \cdot (1,y) = (x,y)$.' -), -( - 'Mon', - 'balanced', - FALSE, - 'The inclusion of additive monoids $\IN \hookrightarrow \IZ$ is a counterexample.' -), -( - 'Mon', - 'cogenerator', - FALSE, - 'We apply this lemma to the collection of simple groups: Any non-trivial homomorphism $G \to M$ from a simple group $G$ to a monoid $M$ must be injective (as it corestricts to a homomorphism of groups $G \to M^{\times}$), and for every infinite cardinal $\kappa$ there is a simple group of size $\geq \kappa$ (for example, the alternating group on $\kappa$ elements).' -), -( - 'Mon', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Mon', - 'Malcev', - FALSE, - 'Consider the submonoid $\{(a,b) : a \leq b \}$ of $\IN^2$.' -), -( - 'Mon', - 'counital', - FALSE, - 'The canonical morphism $\IN \sqcup \IN \to \IN \times \IN$ is not a monomorphism since $\IN \sqcup \IN$ is not commutative.' -), -( - 'Mon', - 'CIP', -- TODO: remove code duplication with "counital" proof - FALSE, - 'The canonical morphism $\IN \sqcup \IN \to \IN \times \IN$ is not a monomorphism since $\IN \sqcup \IN$ is not commutative.' -), -( - 'Mon', - 'coregular', - FALSE, - 'Consider the monoid $M := \langle x_0, x_1, s : x_0 s = x_1 s = 1 \rangle$. Notice that every element in $M$ has a unique expression as $s^k \cdot u$ with $k \in \IN$ and $u \in \langle x_0,x_1 \rangle_M$. Moreover, the canonical homomorphism $\iota : \langle x_0, x_1 \rangle \to M$ (from the free monoid) is injective. We will prove that it is a regular monomorphism, which however is not pushout-stable. Consider $N := \langle x_0, x_1, s_0, s_1 : x_i s_j = 1 \rangle$ and define $f_i : M \to N$ for $i=0,1$ by $f_i(x_j) = x_j$ and $f_i(s) = s_i$. Then $\iota$ is the equalizer of $f_0,f_1$. Now consider $g : \langle x_0,x_1 \rangle \to \langle y_0 \rangle$ defined by $g(x_0) = y_0$, $g(x_1) = 1$. The pushout of $\iota$ with $g$ is given by $\langle x_0, x_1, s, y_0 : x_0 s = x_1 s = 1 , \, x_0 = y_0, \, x_1 = 1 \rangle$, which simplifies to $\langle x_0, s : x_0 s = s = 1 \rangle$, which is trivial.' -), -( - 'Mon', - 'regular subobject classifier', - FALSE, - 'Assume that $\Omega$ is a regular subobject classifier. Since the trivial monoid is a zero object, every regular submonoid $U \subseteq M$ of any monoid $M$ would have the form $\{m \in M : h(m) = 1 \}$ for some homomorphism $M \to \Omega$. Now take any monoid $M$ with zero that has two different homomorphisms with zero $f,g : M \rightrightarrows N$ (for example, let $M = N = \{0\} \cup \{x^n : n \geq 0\}$ be the free monoid with zero on one generator, $f(x) = 0$,and $g(x) = x$). Take their equalizer $U \subseteq M$, and choose a homomorphism $h : M \to \Omega$ with $U = \{m \in M : h(m) = 1\}$. Since $0 \in U$, we have $h(0)=1$. But then for all $m \in M$ we have $h(m) = h(m) h(0) = h(m 0) = h(0) = 1$, i.e. $U = M$, which yields the contradiction $f = g$.' -), -( - 'Mon', - 'regular quotient object classifier', - FALSE, - 'We can just copy the proof for the category of commutative monoids. Alternatively, we may use this lemma (dualized).' -), -( - 'Mon', - 'cofiltered-limit-stable epimorphisms', - FALSE, - 'We already know that $\Grp$ does not have this property. Now apply the contrapositive of the dual of this lemma to the forgetful functor $\Grp \to \Mon$. It preserves epimorphisms since it has a right adjoint, the unit group functor.' -), -( - 'Mon', - 'cocartesian cofiltered limits', - FALSE, - 'We know that the category of groups fails to satisfy this property. The same counterexample works here since the inclusion $\Grp \hookrightarrow \Mon$ preserves limits and colimits (it has a left and a right adjoint) and is conservative. A similar counterexample is given by the free monoids $N_n = \langle x_1,\dotsc,x_n \rangle$ and the Boolean monoid $M = \langle e : e^2=e \rangle$ with the maps $N_{n+1} \to N_n$, $x_{n+1} \mapsto 1$. Then the element $(x_1 e \cdots x_n e) \in \lim_n (M \sqcup N_n)$ does not come from $M \sqcup \lim_n N_n$ because its components have unbounded free product length.' -), -( - 'Mon', - '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 $\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}(\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$.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'Mon' -AND property_id IN ('pointed'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/N.sql b/databases/catdat/data/003_category-property-assignments/N.sql deleted file mode 100644 index 2bb8f3a8..00000000 --- a/databases/catdat/data/003_category-property-assignments/N.sql +++ /dev/null @@ -1,67 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'N', - 'small', - TRUE, - 'This is trivial.' -), -( - 'N', - 'thin', - TRUE, - 'This is trivial.' -), -( - 'N', - 'finitely cocomplete', - TRUE, - 'Finitely many natural numbers have a supremum natural number.' -), -( - 'N', - 'binary products', - TRUE, - 'Two natural numbers have a minimum.' -), -( - 'N', - 'connected limits', - TRUE, - 'Every non-empty set of natural numbers has a minimum.' -), -( - 'N', - 'semi-strongly connected', - TRUE, - 'This is trivial.' -), -( - 'N', - 'direct', - TRUE, - 'This is because the natural numbers with respect to $<$ are well-founded.' -), -( - 'N', - 'countable', - TRUE, - 'This is trivial.' -), -( - 'N', - 'countable coproducts', - FALSE, - 'The numbers $0,1,2,\dotsc$ have no supremum, i.e. no coproduct.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'N' -AND property_id IN ('thin', 'finitely cocomplete'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/N_oo.sql b/databases/catdat/data/003_category-property-assignments/N_oo.sql deleted file mode 100644 index 32c67be3..00000000 --- a/databases/catdat/data/003_category-property-assignments/N_oo.sql +++ /dev/null @@ -1,73 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'N_oo', - 'small', - TRUE, - 'This is trivial.' -), -( - 'N_oo', - 'countable', - TRUE, - 'This is trivial.' -), -( - 'N_oo', - 'coproducts', - TRUE, - 'Take the supremum.' -), -( - 'N_oo', - 'direct', - TRUE, - 'This is because the natural numbers with $\infty$ with respect to $<$ are well-founded.' -), -( - 'N_oo', - 'locally strongly finitely presentable', - TRUE, - 'We already saw that coproducts, and therefore colimits exist. Every natural number is strongly finitely presentable, and $\infty$ is the colimit of all $n < \infty$.' -), -( - 'N_oo', - 'semi-strongly connected', - TRUE, - 'This is trivial.' -), -( - 'N_oo', - 'essentially finite', - FALSE, - 'This is trivial.' -), -( - 'N_oo', - 'finitary algebraic', - FALSE, - 'This follows from this lemma.' -), -( - 'N_oo', - 'self-dual', - FALSE, - 'This is because every upper set is infinite, but every lower set is finite.' -), -( - 'N_oo', - 'inverse', - FALSE, - 'Consider the strictly increasing sequence $0 < 1 < 2 < \cdots$.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'N_oo' -AND property_id IN ('coproducts'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/On.sql b/databases/catdat/data/003_category-property-assignments/On.sql deleted file mode 100644 index fde8aab6..00000000 --- a/databases/catdat/data/003_category-property-assignments/On.sql +++ /dev/null @@ -1,79 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'On', - 'thin', - TRUE, - 'This is trivial.' -), -( - 'On', - 'locally small', - TRUE, - 'This is trivial.' -), -( - 'On', - 'cocomplete', - TRUE, - 'Every set of ordinal numbers has a supremum.' -), -( - 'On', - 'binary products', - TRUE, - 'For ordinal numbers $\alpha,\beta$ their minimum exists, it is $\alpha$ when $\alpha \leq \beta$ and $\beta$ otherwise.' -), -( - 'On', - 'connected limits', - TRUE, - 'Every non-empty set of ordinal numbers has a minimum.' -), -( - 'On', - 'well-powered', - TRUE, - 'This is because for every ordinal $\alpha$ the collection of ordinals $\leq \alpha$ is a set (namely, $\alpha + 1$).' -), -( - 'On', - 'semi-strongly connected', - TRUE, - 'It is well-known that for ordinals $\alpha,\beta$ we have $\alpha \leq \beta$ or $\beta \leq \alpha$.' -), -( - 'On', - 'direct', - TRUE, - 'This is because the ordinal numbers with respect to $<$ are well-founded (by definition).' -), -( - 'On', - 'terminal object', - FALSE, - 'There is no largest ordinal $\alpha$ since $\alpha + 1$ will always be larger.' -), -( - 'On', - 'well-copowered', - FALSE, - 'The "quotients" of $0$ are all ordinals.' -), -( - 'On', - 'inverse', - FALSE, - 'Consider the strictly increasing sequence $0 < 1 < 2 < \cdots$.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'On' -AND property_id IN ('thin'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/PMet.sql b/databases/catdat/data/003_category-property-assignments/PMet.sql deleted file mode 100644 index 7b695571..00000000 --- a/databases/catdat/data/003_category-property-assignments/PMet.sql +++ /dev/null @@ -1,153 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'PMet', - 'locally small', - TRUE, - 'There is a forgetful functor $\PMet \to \Set$ and $\Set$ is locally small.' -), -( - 'PMet', - 'equalizers', - TRUE, - 'Just restrict the pseudo-metric to the equalizer built from the sets.' -), -( - 'PMet', - 'binary products', - TRUE, - 'The product of two pseudo-metric spaces $(X,d)$, $(Y,d)$ is $(X \times Y,d)$ with $d((x_1,y_1),(x_2,x_2)) := \sup(d(x_1,x_2),d(y_1,y_2))$.' -), -( - 'PMet', - 'terminal object', - TRUE, - 'The one-point (pseudo-)metric space is terminal.' -), -( - 'PMet', - 'coequalizers', - TRUE, - 'See MO/123739.' -), -( - 'PMet', - 'filtered colimits', - TRUE, - 'Given a filtered diagram $(X_i)$ of pseudo-metric spaces, take the filtered colimit $X$ of the underlying sets with the following pseudo-metric: If $x,y \in X$, let $d(x,y)$ be infimum of all $d(x_i,y_i)$, where $x_i,y_i \in X_i$ are some preimages of $x,y$ in some $X_i$. The definition ensures that each $X_i \to X$ is non-expansive, and the universal property is easy to check.' -), -( - 'PMet', - 'exact filtered colimits', - TRUE, - 'We already saw that finite limits and filtered colimits exist. Now let $\I$ be a finite category and $\J$ be a small filtered category, w.l.o.g. a directed poset. Let $X : \I \times \J \to \PMet$ be a diagram. We need to show that the canonical map $\colim_{j \in \J} \lim_{i \in \I} X(i,j) \to \lim_{i \in \I} \colim_{j \in \J} X(i,j)$ is an isomorphism. It is bijective since the forgetful functor to $\Set$ preserves finite limits and filtered colimits and since $\Set$ has exact filtered colimits. That the map is isometric can easily be reduced to the following lemma: If $d_{i,j} \in \IR_{\geq 0}$ are numbers for $i \in \I$, $j \in \J$ with $j \leq k \implies d_{i,k} \leq d_{i,j}$, then $\inf_j \sup_i d_{i,j} = \sup_i \inf_j d_{i,j}$. This can be proven directly. Alternatively, use that the thin category $(\IR_{\geq 0} \cup \{\infty\},\leq)$ is isomorphic to $([0,1],\leq)$, and we already know that it has exact filtered colimits.' -), -( - 'PMet', - 'strict initial object', - TRUE, - 'The empty (pseudo-)metric space is initial and clearly strict.' -), -( - 'PMet', - 'generator', - TRUE, - 'The one-point (pseudo-)metric space is a generator since it represents the forgetful functor $\PMet \to \Set$.' -), -( - 'PMet', - 'cogenerator', - TRUE, - 'The set $\{0,1\}$ equipped with the pseudo-metric $d(0,1)=0$ is a cogenerator since every map into is automatically non-expansive and since $\{0,1\}$ is a cogenerator in $\Set$.' -), -( - 'PMet', - 'semi-strongly connected', - TRUE, - 'Every non-empty pseudo-metric space is weakly terminal (by using constant maps).' -), -( - 'PMet', - 'well-powered', - TRUE, - 'This follows since monomorphisms are injective (see below).' -), -( - 'PMet', - 'well-copowered', - TRUE, - 'This follows since epimorphisms are surjective (see below).' -), -( - 'PMet', - 'balanced', - FALSE, - 'Let $d : \IR \times \IR \to \IR_{\geq 0}$ be the usual Euclidean metric on $\IR$ and $0 : \IR \times \IR \to \IR_{\geq 0}$ be the zero pseudo-metric. Then the identity map $(\IR,d) \to (\IR,0)$ provides a counterexample.' -), -( - 'PMet', - 'cartesian closed', - FALSE, - 'This is proven in MSE/5131457.' -), -( - 'PMet', - 'countable powers', - FALSE, - 'Assume that the power $P = \IR^{\IN}$ exists, where $\IR$ has the usual (pseudo-)metric. Since the forgetful functor $\PMet \to \Set$ is representable, it preserves limits, powers in particular. Thus, we may assume that $P$ is the set of sequences of numbers and that the projections $p_n : P \to \IR$ are given by $p_n(x) = x_n$. Now consider the sequences $x = (n)_n$ and $y = (0)_n$. Since each $p_n$ is non-expansive, we get $d(x,y) \geq d(p_n(x),p_n(y)) = d(n,0) = n$. But then $d(x,y) = \infty$, a contradiction.' -), -( - 'PMet', - 'binary copowers', - FALSE, - 'The coproduct of two non-empty pseudo-metric spaces does not exist, see MSE/1778408 (the proof also works for pseudo-metric spaces). For example, the copower $\IR \sqcup \IR$ does not exist. We only get coproducts when allowing $\infty$ as a distance.' -), -( - 'PMet', - 'strict terminal object', - FALSE, - 'This is trivial.' -), -( - 'PMet', - 'essentially small', - FALSE, - 'This is trivial.' -), -( - 'PMet', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'PMet', - 'Malcev', - FALSE, - 'Take any counterexample in $\Set$ and equip it with the zero pseudo-metric.' -), -( - 'PMet', - 'natural numbers object', - FALSE, - '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 $\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.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'PMet' -AND property_id IN ('equalizers', 'binary products', 'terminal object', 'filtered colimits'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/Pos.sql b/databases/catdat/data/003_category-property-assignments/Pos.sql deleted file mode 100644 index 352856d9..00000000 --- a/databases/catdat/data/003_category-property-assignments/Pos.sql +++ /dev/null @@ -1,104 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Pos', - 'locally small', - TRUE, - 'There is a forgetful functor $\Pos \to \Set$ and $\Set$ is locally small.' -), -( - 'Pos', - 'locally finitely presentable', - TRUE, - 'See Adamek-Rosicky, Example 1.10.' -), -( - 'Pos', - 'generator', - TRUE, - 'The singleton poset $1$ is a generator, since morphisms $1 \to P$ correspond to the elements of $P$.' -), -( - 'Pos', - 'cartesian closed', - TRUE, - 'For posets $P,Q$ we endow $\Hom(P,Q)$ with the partial order in which $f \leq g$ holds iff $f(p) \leq g(p)$ for all $p \in P$. The universal evaluation map is $\Hom(P,Q) \times P \to Q$, $(f,p) \mapsto f(p)$, it is order-preserving, and it satisfies the universal property.' -), -( - 'Pos', - 'cogenerator', - TRUE, - 'We prove that the poset $\{0 < 1\}$ is a cogenerator: Let $P$ be a poset and $a,b \in P$ be two elements such that $f(a) = f(b)$ for all order-preserving maps $f : P \to \{0 < 1 \}$. This means that $a$ and $b$ lie in the same upper sets. In particular, $b$ lies in the upper set generated by $a$, meaning $a \leq b$, and similarly we deduce $b \leq a$. Thus, $a = b$.' -), -( - 'Pos', - 'infinitary extensive', - TRUE, - '[Sketch] Since $\Set$ is infinitary extensive, a map $f : P \to \coprod_i Q_i$ corresponds to a decomposition $P = \coprod_i P_i$ (as sets) with maps $f_i : P_i \to Q_i$. Endow $P_i$ with the induced order. If $f$ is order-preserving, the elements in different $P_i$ cannot be comparable (since their $f$-images are not comparable), so that $P = \coprod_i P_i$ as posets, and each $f_i$ is order-preserving.' -), -( - 'Pos', - 'semi-strongly connected', - TRUE, - 'Every non-empty poset is weakly terminal (by using constant maps).' -), -( - 'Pos', - 'coregular', - TRUE, - 'See MSE/5130295.' -), -( - 'Pos', - 'regular', - FALSE, - 'See Example 3.14 at the nLab.' -), -( - 'Pos', - 'balanced', - FALSE, - 'The inclusion $\{0,1\} \to \{0 < 1\}$ provides a counterexample (where in the domain there is no relation between $0$ and $1$).' -), -( - 'Pos', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Pos', - 'Malcev', - FALSE, - 'Consider the subposet $\{(a,b) : a \leq b \}$ of $\IN^2$.' -), -( - 'Pos', - 'co-Malcev', - FALSE, - 'See MO/509552: Consider the forgetful functor $U : \Pos \to \Set$ and the relation $R \subseteq U^2$ defined by $R(A) := \{(a,b) \in U(A)^2 : a \leq b\}$. Both are representable: $U$ by the singleton poset and $R$ by $\{0 \leq 1 \}$. It is clear that $R$ is reflexive, but not symmetric.' -), -( - 'Pos', - 'regular subobject classifier', - FALSE, - 'Assume that there is a regular subobject classifier $\Omega$, so that (by the classification of regular monomorphisms) $\Hom(P,\Omega)$ is isomorphic to the set of subsets of $P$. By taking $P = \{0\}$ we see that $\Omega$ has $2$ elements, so that either $\Omega \cong \{0,1\}$ (discrete) or $\Omega \cong \{0 < 1\}$. By taking $P = \{0 < 1\}$ we see that $\Omega$ has four pairs $(x,y)$ with $x \leq y$. But $\{0,1\}$ has only two and $\{0 < 1\}$ has only three such pairs.' -), -( - 'Pos', - '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 $\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/Prost.sql b/databases/catdat/data/003_category-property-assignments/Prost.sql deleted file mode 100644 index 643a221a..00000000 --- a/databases/catdat/data/003_category-property-assignments/Prost.sql +++ /dev/null @@ -1,103 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Prost', - 'locally small', - TRUE, - 'There is a forgetful functor $\Pos \to \Set$ and $\Set$ is locally small.' -), -( - 'Prost', - 'locally finitely presentable', - TRUE, - 'The same proof as for $\Pos$ works, cf. Adamek-Rosicky, Example 1.10.' -), -( - 'Prost', - 'generator', - TRUE, - 'The singleton proset $1$ is a generator, since morphisms $1 \to P$ correspond to the elements of $P$.' -), -( - 'Prost', - 'cartesian closed', - TRUE, - 'For prosets $P,Q$ we endow $\Hom(P,Q)$ with the preorder in which $f \leq g$ holds iff $f(p) \leq g(p)$ for all $p \in P$. The universal evaluation map is $\Hom(P,Q) \times P \to Q$, $(f,p) \mapsto f(p)$, it is order-preserving, and it satisfies the universal property.' -), -( - 'Prost', - 'cogenerator', - TRUE, - 'Endow the set $\{ 0,1 \}$ with the preorder $0 \leq 1$, $1 \leq 0$ (which is not a partial order). Then every map $P \to \{0,1\}$ is order-preserving. Now the claim follows since the set $\{ 0,1 \}$ is a cogenerator in $\Set$.' -), -( - 'Prost', - 'infinitary extensive', - TRUE, - '[Sketch] Since $\Set$ is infinitary extensive, a map $f : P \to \coprod_i Q_i$ corresponds to a decomposition $P = \coprod_i P_i$ (as sets) with maps $f_i : P_i \to Q_i$. Endow $P_i$ with the induced order. If $f$ is order-preserving, the elements in different $P_i$ cannot be comparable (since their $f$-images are not comparable), so that $P = \coprod_i P_i$ as prosets, and each $f_i$ is order-preserving.' -), -( - 'Prost', - 'semi-strongly connected', - TRUE, - 'Every non-empty proset is weakly terminal (by using constant maps).' -), -( - 'Prost', - 'coregular', - TRUE, - 'See MSE/5130295.' -), -( - 'Prost', - 'regular subobject classifier', - TRUE, - 'The set $\{0,1\}$ with the chaotic preorder $(0 \leq 1$, $1 \leq 0)$ is a regular subobject classifier since order-preserving maps $P \to \{0,1\}$ correspond to subsets of $P$.' -), -( - 'Prost', - 'regular', - FALSE, - 'See Example 3.14 at the nLab.' -), -( - 'Prost', - 'balanced', - FALSE, - 'The inclusion $\{0,1\} \to \{0 < 1\}$ provides a counterexample (where in the domain there is no relation between $0$ and $1$).' -), -( - 'Prost', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Prost', - 'Malcev', - FALSE, - 'Consider the subproset $\{(a,b) : a \leq b \}$ of $\IN^2$.' -), -( - 'Prost', - 'co-Malcev', - FALSE, - 'See MO/509552: Consider the forgetful functor $U : \Prost \to \Set$ and the relation $R \subseteq U^2$ defined by $R(A) := \{(a,b) \in U(A)^2 : a \leq b\}$. Both are representable: $U$ by the singleton preordered set and $R$ by $\{0 \leq 1 \}$. It is clear that $R$ is reflexive, but not symmetric.' -), -( - 'Prost', - '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/R-Mod.sql b/databases/catdat/data/003_category-property-assignments/R-Mod.sql deleted file mode 100644 index 4fe07cca..00000000 --- a/databases/catdat/data/003_category-property-assignments/R-Mod.sql +++ /dev/null @@ -1,43 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'R-Mod', - 'locally small', - TRUE, - 'There is a forgetful functor $R{-}\Mod \to \Set$ and $\Set$ is locally small.' -), -( - 'R-Mod', - 'abelian', - TRUE, - 'This is standard, see Mac Lane, Ch. VIII.' -), -( - 'R-Mod', - 'finitary algebraic', - TRUE, - 'Take the algebraic theory of an $R$-module (given by the algebraic theory of an abelian group and for each $r \in R$ a unary operation).' -), -( - 'R-Mod', - 'split abelian', - FALSE, - 'By assumption, $R$ is not semisimple, so that there is a non-projective $R$-module, which yields a non-split sequence.' -), -( - 'R-Mod', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'R-Mod', - 'CSP', - FALSE, - 'The canonical homomorphism $\bigoplus_{n \geq 0} R \to \prod_{n \geq 0} R$ is not surjective, hence no epimorphism.' -); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/R-Mod_div.sql b/databases/catdat/data/003_category-property-assignments/R-Mod_div.sql deleted file mode 100644 index 2d6769ae..00000000 --- a/databases/catdat/data/003_category-property-assignments/R-Mod_div.sql +++ /dev/null @@ -1,37 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'R-Mod_div', - 'locally small', - TRUE, - 'There is a forgetful functor $R{-}\Mod \to \Set$ and $\Set$ is locally small.' -), -( - 'R-Mod_div', - 'split abelian', - TRUE, - 'It is a standard fact that the category of $R$-modules is abelian for any ring $R$. If $R$ is a division ring, then by linear algebra every $R$-module has a basis, hence is projective, so that every short exact sequence splits.' -), -( - 'R-Mod_div', - 'finitary algebraic', - TRUE, - 'Take the algebraic theory of an $R$-module (given by the algebraic theory of an abelian group and for each $r \in R$ a unary operation).' -), -( - 'R-Mod_div', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'R-Mod_div', - 'CSP', - FALSE, - 'The canonical homomorphism $\bigoplus_{n \geq 0} R \to \prod_{n \geq 0} R$ is not surjective, hence no epimorphism.' -); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/Rel.sql b/databases/catdat/data/003_category-property-assignments/Rel.sql deleted file mode 100644 index 01c1aa82..00000000 --- a/databases/catdat/data/003_category-property-assignments/Rel.sql +++ /dev/null @@ -1,103 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Rel', - 'locally small', - TRUE, - 'The set of morphisms $X \to Y$ is the set $P(X \times Y)$.' -), -( - 'Rel', - 'self-dual', - TRUE, - 'There is an isomorphism $\Rel \to \Rel^{\op}$ that is the identity on objects (sets) and maps a relation $R \subseteq X \times Y$ to the opposite relation $R^o \subseteq Y \times X$ defined by $R^o := \{(y,x) : (x,y) \in R \}$.' -), -( - 'Rel', - 'pointed', - TRUE, - 'The empty set is clearly both initial and terminal. The zero morphisms are the empty relations.' -), -( - 'Rel', - 'generator', - TRUE, - 'One checks that the the one-point set is a generator.' -), -( - 'Rel', - 'coproducts', - TRUE, - 'It is an easy exercise to deduce this from the corresponding fact for sets and that sets form a distributive category.' -), -( - 'Rel', - 'well-powered', - TRUE, - 'Any relation $R : A \to B$ induces an injective map $P(A) \to P(B)$, so that in particular there is an injective map $A \to P(B)$.' -), -( - 'Rel', - 'balanced', - TRUE, - 'See MSE/5030393.' -), -( - 'Rel', - 'biproducts', - TRUE, - 'This is a consequence of the description of coproducts and products, both are disjoint unions (even for infinite families).' -), -( - 'Rel', - 'CIP', - TRUE, - 'The canonical morphism from the coproduct to the product is the identity.' -), -( - 'Rel', - 'kernels', - TRUE, - 'Let $R : A \to B$ be a relation. Define $K = \bigl\{a \in A : \neg \exists b \in B ((a,b) \in R) \bigr\}$. We have an inclusion map $I : K \to A$, which can also be regarded as relation, and $R \circ I = \empty$ is the empty relation, i.e. the zero morphism. It is easy to check the universal property.' -), -( - 'Rel', - 'quotients of congruences', - TRUE, - 'A proof can be found here.' -), -( - 'Rel', - 'effective congruences', - TRUE, - 'A proof can be found here.' -), -( - 'Rel', - 'Cauchy complete', - FALSE, - 'See MSE/1931577.' -), -( - 'Rel', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Rel', - 'normal', - FALSE, - 'The construction of equalizers in $\Rel$ shows that they are injective functions, but MSE/350716 shows that monomorphisms in $\Rel$ don''t have to be functions.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'Rel' -AND property_id IN ('pointed', 'coproducts'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/Ring.sql b/databases/catdat/data/003_category-property-assignments/Ring.sql deleted file mode 100644 index d80d7c72..00000000 --- a/databases/catdat/data/003_category-property-assignments/Ring.sql +++ /dev/null @@ -1,105 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Ring', - 'locally small', - TRUE, - 'There is a forgetful functor $\Ring \to \Set$ and $\Set$ is locally small.' -), -( - 'Ring', - 'finitary algebraic', - TRUE, - 'Take the algebraic theory of a ring.' -), -( - 'Ring', - 'strict terminal object', - TRUE, - 'If $f : 0 \to R$ is a homomorphism, then $R$ satisfies $1=f(1)=f(0)=0$, so that $R=0$.' -), -( - 'Ring', - 'Malcev', - TRUE, - 'This follows in the same way as for groups, see also Example 2.2.5 in Malcev, protomodular, homological and semi-abelian categories.' -), -( - 'Ring', - 'disjoint finite products', - TRUE, - 'To show that $A \sqcup_{A \times B} B$ is trivial, let $R$ be a ring which admits homomorphisms $f : A \to R$, $g : B \to R$ with $f(p_1(a,b))=g(p_2(a,b))$ for all $(a,b) \in A \times B$, i.e. $f(a)=g(b)$. Applying this to $a=0$, $b=1$ yields $1=0$ in $R$.' -), -( - 'Ring', - 'balanced', - FALSE, - 'The inclusion $\IZ \hookrightarrow \IQ$ is a counterexample.' -), -( - 'Ring', - 'cogenerating set', - FALSE, - 'We apply this lemma to the collection of fields: If $F$ is a field and $R$ is a non-trivial ring, any ring homomorphism $F \to R$ is injective. For every infinite cardinal $\kappa$ the field of rational functions in $\kappa$ variables has cardinality $\geq \kappa$ and a non-trivial automorphism (swap two variables).' -), -( - 'Ring', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Ring', - 'codistributive', - FALSE, - 'If $\sqcup$ denotes the coproduct of rings (see MSE/625874 for their description) and $R$ is a ring, the canonical morphism $R \sqcup \IZ^2 \to (R \sqcup \IZ)^2 = R^2$ is usually no isomorphism. For example, for $R = \IZ[X]$ the coproduct on the LHS is not commutative, it has the ring presentation $\langle X,E : E^2=E \rangle$.' -), -( - 'Ring', - 'semi-strongly connected', - FALSE, - 'There is no homomorphism between $\IF_2$ and $\IF_3$.' -), -( - 'Ring', - 'co-Malcev', - FALSE, - 'See MO/509552: Consider the forgetful functor $U : \Ring \to \Set$ and the relation $R \subseteq U^2$ defined by $R(A) := \{(a,b) \in U(A)^2 : ab = a^2\}$. Both are representable: $U$ by $\IZ[X]$ and $S$ by $\IZ \langle X,Y \rangle / \langle XY-X^2 \rangle$. It is clear that $R$ is reflexive, but not symmetric.' -), -( - 'Ring', - 'coregular', - FALSE, - 'Let $B := M_2(\IQ)$ and $A := \IQ^2$. Then $A \to B$, $(x,y) \mapsto \diag(x,y)$ is a regular monomorphism: A direct calculation shows that a matrix is diagonal iff it commutes with $M := \bigl(\begin{smallmatrix} 1 & 0 \\ 0 & 2 \end{smallmatrix}\bigr)$, so that $A \to B$ is the equalizer of the identity $B \to B$ and the conjugation $B \to B$, $X \mapsto M X M^{-1}$. Consider the homomorphism $A \to K$, $(a,b) \mapsto a$. We claim that $K \to K \sqcup_A B$ is not a monomorphism, because in fact, the pushout $K \sqcup_A B$ is zero: Since $A \to K$ is surjective with kernel $0 \times K$, the pushout is $B/\langle 0 \times K \rangle$, which is $0$ because $B$ is simple (proof) or via a direct calculation with elementary matrices.' -), -( - 'Ring', - 'regular quotient object classifier', - FALSE, - 'We may copy the proof for the category of commutative rings (since the proof there did not use that $P$ is commutative). Alternatively, any regular quotient object classifier in $\Ring$ would produce one in $\CRing$ by this lemma (dualized).' -), -( - 'Ring', - 'cocartesian cofiltered limits', - FALSE, - 'Consider the ring $A = \IZ[X]$ and the sequence of rings $B_n = \IZ[Y]/(Y^{n+1})$ with projections $B_{n+1} \to B_n$, whose limit is $\IZ[[Y]]$. Every element in the coproduct of rings $\IZ[X] \sqcup \IZ[[Y]]$ has a finite "free product" length. Now consider the elements - $$w_n = (1 + XY) (1+XY^2) \cdots (1+X Y^n) \in A \sqcup B_n.$$ - Because of $w_n \equiv w_{n-1} \bmod Y^n$ these form an element $w \in \lim_n (A \sqcup B_n)$. Expanding $w_n$, the longest term is $XY XY^2 \cdots X Y^n$ of "free product" length $2n$, which is unbounded.' -), -( - 'Ring', - '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.' -), -( - '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 deleted file mode 100644 index a4bcc88b..00000000 --- a/databases/catdat/data/003_category-property-assignments/Rng.sql +++ /dev/null @@ -1,111 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Rng', - 'locally small', - TRUE, - 'There is a forgetful functor $\Rng \to \Set$ and $\Set$ is locally small.' -), -( - 'Rng', - 'finitary algebraic', - TRUE, - 'Take the algebraic theory of a rng.' -), -( - 'Rng', - 'pointed', - TRUE, - 'The zero ring is a zero object.' -), -( - 'Rng', - 'Malcev', - TRUE, - 'This follows in the same way as for groups, see also Example 2.2.5 in Malcev, protomodular, homological and semi-abelian categories.' -), -( - 'Rng', - 'balanced', - FALSE, - 'The inclusion $\IZ \hookrightarrow \IQ$ is a counterexample. (The proof can be reduced to the unital case.)' -), -( - 'Rng', - 'cogenerator', - FALSE, - 'We apply this lemma to the collection of fields: Any non-zero rng homomorphism from a field to a rng must be injective, and for every infinite cardinal $\kappa$ the field of rational functions in $\kappa$ variables has cardinality $\geq \kappa$.' -), -( - 'Rng', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Rng', - 'counital', - FALSE, - 'If $\IZ\langle X_1,\dotsc,X_n \rangle_0$ denotes the free rng on $n$ generators (non-commutative polynomials without constant term), then the canonical homomorphism $\IZ\langle X,Y \rangle_0 = \IZ\langle X \rangle_0 \sqcup \IZ\langle Y \rangle_0 \to \IZ\langle X \rangle_0 \times \IZ\langle Y \rangle_0$ is not a monomorphism since $\IZ\langle X,Y \rangle_0$ is not commutative.' -), -( - 'Rng', - 'CIP', -- TODO: remove code duplication with "counital" proof - FALSE, - 'If $\IZ\langle X_1,\dotsc,X_n \rangle_0$ denotes the free rng on $n$ generators (non-commutative polynomials without constant term), then the canonical homomorphism $\IZ\langle X,Y \rangle_0 = \IZ\langle X \rangle_0 \sqcup \IZ\langle Y \rangle_0 \to \IZ\langle X \rangle_0 \times \IZ\langle Y \rangle_0$ is not a monomorphism since $\IZ\langle X,Y \rangle_0$ is not commutative.' -), -( - 'Rng', - 'regular subobject classifier', - FALSE, - 'Assume that $\Rng$ has a subobject classifier $\Omega$. Since $0$ is a zero object, every regular subobject $R \subseteq S$ would be the kernel of some homomorphism $S \to \Omega$. In particular, it would be an ideal. Now take any pair of homomorphisms $f,g : S \rightrightarrows T$ in $\Ring$. Their equalizer $R \subseteq S$ is also the equalizer in $\Rng$, and it contains $1 \in S$. If it was an ideal, then $R = S$, and hence $f = g$, which is absurd.' -), -( - 'Rng', - 'coregular', - FALSE, - 'We can copy the proof for the category of rings. In short, the inclusion of diagonal matrices $\IQ^2 \hookrightarrow M_2(\IQ)$ is a regular monomorphism, but becomes zero after taking the pushout with $p_1 : \IQ^2 \twoheadrightarrow \IQ$ because $M_2(\IQ)$ is simple.' -), -( - 'Rng', - 'regular quotient object classifier', - FALSE, - 'Assume that $\Rng$ has a regular quotient object classifier $P$. Consider the functor $N : \Ab \to \Rng$ that equips an abelian group with zero multiplication. It is fully faithful and has a left adjoint mapping a rng $R$ to the abelian group $R/R^2$. If $R$ is a rng with zero multiplication and $R \to S$ is a surjective homomorphism, then $S$ has zero multiplication. Therefore, the assumptions of this lemma (dualized) apply and we conclude that $P/P^2$ is a regular quotient object classifier of $\Ab$. But we already know that this category has no such object (in fact, the only additive categories with such an object are trivial by MSE/4086192).' -), -( - 'Rng', - 'cocartesian cofiltered limits', - FALSE, - 'Consider the ring $A = \IZ[X]$ and the sequence of rings $B_n = \IZ[Y]/(Y^{n+1})$ with projections $B_{n+1} \to B_n$, whose limit is $\IZ[[Y]]$ (both in $\Ring$ and $\Rng$). Every element in the coproduct of rngs $\IZ[X] \sqcup \IZ[[Y]]$ has a finite "free product" length. Now consider the elements - $$w_n = (1 + XY) (1+XY^2) \cdots (1+X Y^n) - 1 \in A \sqcup B_n.$$ - Because of $w_n \equiv w_{n-1} \bmod Y^n$ these form an element $w \in \lim_n (A \sqcup B_n)$. Expanding $w_n$, the longest term is $XY XY^2 \cdots X Y^n$ of "free product" length $2n$, which is unbounded.' -), -( - 'Rng', - 'CSP', - FALSE, - 'Assume that $\coprod_n \IZ \to \prod_n \IZ$ is an epimorphism in $\Rng$. Then $((\coprod_n \IZ)^+)^{\ab} \to \prod_n \IZ$ would be an epimorphism in $\CRing$, where $(-)^+$ denotes the unitalization and $(-)^{\ab}$ the abelianization. But if $R \to S$ is an epimorphism of commutative rings, then $\card(S) \leq \card(R)$ by SP/04W0. Since $((\coprod_n \IZ)^+)^{\ab}$ is countable and $\prod_n \IZ$ is not, we get a contradiction.' -), -( - 'Rng', - '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 $\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_{\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 $\Ring$.' -); diff --git a/databases/catdat/data/003_category-property-assignments/Sch.sql b/databases/catdat/data/003_category-property-assignments/Sch.sql deleted file mode 100644 index 49f76723..00000000 --- a/databases/catdat/data/003_category-property-assignments/Sch.sql +++ /dev/null @@ -1,79 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Sch', - 'locally small', - TRUE, - 'There is a forgetful functor $\Sch \to \LRS$ and $\LRS$ is locally small.' -), -( - 'Sch', - 'terminal object', - TRUE, - 'The scheme $\Spec(\IZ)$ is terminal.' -), -( - 'Sch', - 'pullbacks', - TRUE, - 'This is the well-known construction of the fiber product of schemes, see e.g. EGA I, Chap. I, Thm. 3.2.1.' -), -( - 'Sch', - 'well-powered', - TRUE, - 'See MO/160681.' -), -( - 'Sch', - 'infinitary extensive', - TRUE, - 'One uses the same proof as for locally ringed spaces, using that open subspaces of schemes are also schemes.' -), -( - 'Sch', - 'countable powers', - FALSE, - 'While all diagrams of affine schemes have a limit in the category of schemes, one can show that an infinite product of quasi-compact non-empty schemes only exists when almost all of them are affine, see MO/65506. Thus, for example the power $(\IP^1)^{\IN}$ does not exist in $\Sch$.' -), -( - 'Sch', - 'balanced', - FALSE, - 'The canonical morphism $\Spec(\IZ/2 \times \IZ[1/2]) \longrightarrow \Spec(\IZ)$ is a mono- and an epimorphism, but no isomorphism.' -), -( - 'Sch', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Sch', - 'Malcev', - FALSE, - 'Consider the subscheme $V(x-y) \cup V(y) \subseteq \IA^2$. It contains the diagonal but it is not symmetric.' -), -( - 'Sch', - 'semi-strongly connected', - FALSE, - 'This is because already the full subcategory of affine schemes is not semi-strongly connected, see the entry for $\CRing$. Specifically, there is no morphism between $\Spec(\IF_2)$ and $\Spec(\IF_3)$.' -), -( - 'Sch', - 'generating set', - FALSE, - 'If $S$ is a generating set of schemes, then the set of affine open subsets of the schemes in $S$ would also be a generating set. This is then also a generating set in the category of affine schemes, corresponding to a cogenerating set in the category of commutative rings, which we know does not exist (see there for the proof).' -), -( - 'Sch', - 'quotients of congruences', - FALSE, - 'If $\Sch$ had quotients of congruences, then by this lemma it would also have pushouts of monomorphisms, contradicting the fact that the span $\IA^1 \leftarrow \Spec(k(t)) \rightarrow \IA^1$ has no pushout - see MO/9961.' -); diff --git a/databases/catdat/data/003_category-property-assignments/SemiGrp.sql b/databases/catdat/data/003_category-property-assignments/SemiGrp.sql deleted file mode 100644 index f8865450..00000000 --- a/databases/catdat/data/003_category-property-assignments/SemiGrp.sql +++ /dev/null @@ -1,134 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'SemiGrp', - 'locally small', - TRUE, - 'There is a forgetful functor $\SemiGrp \to \Set$ and $\Set$ is locally small.' -), -( - 'SemiGrp', - 'finitary algebraic', - TRUE, - 'Take the algebraic theory of a semigroup.' -), -( - 'SemiGrp', - 'strict initial object', - TRUE, - 'This is because the initial object is the empty semigroup, and a non-empty set has no map to an empty set.' -), -( - 'SemiGrp', - 'disjoint coproducts', - TRUE, - 'This follows easily from the concrete description of coproducts as (a variant of) free products.' -), -( - 'SemiGrp', - 'cocartesian cofiltered limits', - TRUE, - 'We need to prove that for two cofiltered diagram of semigroups $(B_i)$, $(C_i)$ the canonical map - $$\textstyle \alpha : \lim_i B_i + \lim_i C_i \to \lim_i (B_i + C_i)$$ - is an isomorphism, i.e. bijective. The underlying set of the coproduct $B_i + C_i$ is identified with the disjoint union of sets of the form - $$B_i \times C_i \times B_i \times \cdots \times C_i$$ - with any positive product length, starting and ending either with $B_i$ or $C_i$. Moreover, $\lim_i$ commutes with arbitrary coproducts in $\Set$, and of course also with products. This shows that $\alpha$ is bijective.' -), -( - 'SemiGrp', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'SemiGrp', - 'balanced', - FALSE, - 'The inclusion of additive semigroups $\IN \hookrightarrow \IZ$ is a counterexample. Indeed, if $f,g : \IZ \to G$ are semigroup homomorphisms which agree on $\IN$, the element $e := f(0) = g(0)$ provides a neutral element for $eGe$, which therefore becomes a monoid, and $f,g$ corestrict to monoid homomorphisms $f,g : \IZ \to eGe$ which agree on $\IN$. And we already know that $f = g$ in that case (inverses are uniquely determined).
- Another example can be found in MO/510431.' -), -( - 'SemiGrp', - 'Malcev', - FALSE, - 'Consider the subsemigroup $\{(a,b) : a \leq b \}$ of $\IN^2$ under addition.' -), -( - 'SemiGrp', - 'co-Malcev', - FALSE, - 'See MO/509552: Consider the forgetful functor $U : \SemiGrp \to \Set$ and the relation $R \subseteq U^2$ defined by $R(A) := \{(a,b) \in U(A)^2 : ab = a^2\}$. Both are representable: $U$ by the free semigroup on a single generator and $R$ by the free semigroup on two generators $x,y$ subject to the relation $xy=x^2$. It is clear that $R$ is reflexive, but not symmetric.' -), -( - 'SemiGrp', - 'semi-strongly connected', - FALSE, - 'Let us first remark that every non-empty finite semigroup $A$ has an idempotent element $e$, and then $B \to A$, $x \mapsto e$ does define a semigroup homomorphism for any $B$. Therefore, counterexamples need to be infinite and also without idempotent elements.
- Let $A$ be the set of positive rational numbers of the form $m/2^n$ (with $m > 0$, $n \geq 0$), and let $B$ be the set of positive rational numbers of the form $m/3^n$ (with $m > 0$, $n \geq 0$). Both are semigroups under addition. The element $1 \in A$ is $2^\infty$-divisible, meaning that for every $n \geq 0$ there is some $a \in A$ with $1 = 2^n \cdot a$. But $B$ has no $2^\infty$-divisible element. Hence, there is no semigroup homomorphism $A \to B$. Likewise, there is no semigroup homomorphism $B \to A$.' -), -( - -- TODO: find a variant of the lemma missing_cogenerating_sets (or missing_cogenerator) which handles this. - 'SemiGrp', - 'cogenerating set', - FALSE, - 'The proof is similar to the proof for $\Grp$. Assume that there is a cogenerating set $S$. There is an infinite simple group $G$ larger than all the semigroups in $S$ (such as an alternating group). Since $\id_G, 1 : G \rightrightarrows G$ are different, there is a semigroup $H \in S$ and a homomorphism of semigroups $f : G \to H$ with $f \neq f \circ 1$. Then - $$N := \{g \in G : f(g) = f(1)\}$$ - is a normal subgroup of $G$. It is proper, and hence trivial. But then $f$ is injective, which is a contradiction.' -), -( - 'SemiGrp', - 'cofiltered-limit-stable epimorphisms', - FALSE, - 'We already know that $\Set$ does not have this property (by this result). Now apply the contrapositive of the dual of this lemma to the functor $\Set \to \SemiGrp$ that equips a set with the multiplication $a \cdot b := a$.' -), -( - 'SemiGrp', - 'effective cocongruences', - FALSE, - 'The proof is similar to $\Mon$, i.e. we adapt the counterexample from MO/510744. Namely, consider the semigroups - $$\begin{align*} X & := \langle p \mid p^2 = p \rangle,\\ - E & := \langle p, q \mid p^2 = p,\, q^2 = q,\, pq = q,\, qp = p \rangle, - \end{align*}$$ - whose underlying sets are $\{p\}$ and $\{p,q\}$, respectively. Then $X$ represents the functor sending a semigroup $A$ to its idempotents, and $E$ represents the relation on idempotents $a, b$ of $A$ that $ab = b$, $ba = a$. It is easy to check that this defines an equivalence relation (see MO/510744 for details). Since $p \ne q$ in $E$, the equalizer of the two maps $X \rightrightarrows E$ is the empty semigroup. Therefore, if $E$ were effective, it would be isomorphic to the coproduct $X \sqcup X$, whose underlying set consists of non-empty words in $p,q$ with $p,q$ strictly alternating. In particular, in this coproduct, $pq \ne q$.' -), -( - 'SemiGrp', - 'natural numbers object', - FALSE, - 'Assume that a natural numbers object exists. Then by this result, for every semigroup $A$ the natural homomorphism - $$\textstyle\alpha : \coprod_{n \geq 0} A \to A \times \coprod_{n \geq 0} 1$$ - is a split monomorphism. But this is not true: For each $n \geq 0$ let $A_n$ denote a copy of $A$. The elements of the coproduct in $\alpha$''s domain have a unique representation as - $$x_{n_1} * \cdots * x_{n_s}$$ - with $x_i \in A_i$ and $n_i \neq n_{i+1}$, and we have - $$\alpha(x_{n_1} * \cdots * x_{n_s}) = (x_{n_1} \cdots x_{n_s}, n_1 * \cdots * n_s).$$ - In particular, if $A$ has two non-equal commuting elements $x,y$ (for example, if $A$ is any non-trivial monoid), we have - $$\alpha(y_0 x_0) = \alpha(x_0 y_0),$$ - showing that $\alpha$ is not injective.' -), -( - 'SemiGrp', - 'coregular', - FALSE, - 'We will find a regular monomorphism $\iota : F \to M$ of semigroups and a homomorphism $F \to K$ such that $K \to K \sqcup_F M$ is not injective. It is similar to our example for $\Mon$. Consider these semigroups defined by generators and relations: - $$\begin{align*} - F & := \langle a,b,c,d \rangle \\ - M & := \langle a,b,c,d,s : as = c, \, bs = d \rangle \cong \langle a,b,s \rangle \\ - K & := \langle x,c,d \rangle \\ - N & := \langle a,b,c,d,s_0,s_1 : as_i = c, \, bs_i = d \rangle \\ - & \cong \langle a,b,s_0,s_1 : a s_0 = a s_1, \, b s_0 = b s_1 \rangle \\ - \end{align*}$$ - There is a canonical homomorphism $\iota : F \to M$, which is the equalizer of the two canonical homomorphisms $M \rightrightarrows N$ defined by $s \mapsto s_i$. We define $F \to K$ by $a \mapsto x$, $b \mapsto x$, $c \mapsto c$, $d \mapsto d$. Then - $$K \sqcup_F M \cong \langle x,c,d,s : x s = c,\, x s = d \rangle$$ - shows that $c,d \in K$ have the same image in the pushout.' -), -( - 'SemiGrp', - 'regular subobject classifier', - FALSE, - 'Assume that a regular subobject classifier $\Omega$ exists in $\SemiGrp$. The universal regular monomorphism $\top : 1 \to \Omega$ corresponds to an idempotent element $e \in \Omega$. It follows that $e \Omega e$ is a monoid with neutral element $e$. We claim that it is a regular subobject classifier in $\Mon$, which we know does not exist. Indeed, let $\iota : A \to B$ be a regular monomorphism of monoids. Since the forgetful functor $\Mon \to \SemiGrp$ preserves limits, we can also see $\iota$ as a regular monomorphism of semigroups. Hence, there is a unique homomorphism of semigroups $f : B \to \Omega$ with $\iota(A) = \{b \in B : f(b) = e\}$. Since $1 \in \iota(A)$, we have $f(1) = e$. Then $f$ corresponds to a homomorphism of monoids $f : B \to e \Omega e$ with kernel $\iota$, which proves our claim.' -); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/Set.sql b/databases/catdat/data/003_category-property-assignments/Set.sql deleted file mode 100644 index 70b2c170..00000000 --- a/databases/catdat/data/003_category-property-assignments/Set.sql +++ /dev/null @@ -1,43 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Set', - 'locally small', - TRUE, - 'The collection of maps between two sets $X,Y$ is a subset of $X \times Y$ and therefore a set.' -), -( - 'Set', - 'Grothendieck topos', - TRUE, - 'It is equivalent to the category of sheaves on a one-point space.' -), -( - 'Set', - 'semi-strongly connected', - TRUE, - 'Every non-empty set is weakly terminal (by using constant maps).' -), -( - 'Set', - 'finitary algebraic', - TRUE, - 'Use the empty algebraic theory.' -), -( - 'Set', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Set', - 'trivial', - FALSE, - 'This is trivial.' -); diff --git a/databases/catdat/data/003_category-property-assignments/Set_c.sql b/databases/catdat/data/003_category-property-assignments/Set_c.sql deleted file mode 100644 index afda5985..00000000 --- a/databases/catdat/data/003_category-property-assignments/Set_c.sql +++ /dev/null @@ -1,121 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Set_c', - 'locally small', - TRUE, - 'The collection of maps between two (countable) sets $X,Y$ is a subset of $X \times Y$ and therefore a set.' -), -( - 'Set_c', - 'essentially small', - TRUE, - 'Every countable set is isomorphic to a subset of $\IN$.' -), -( - 'Set_c', - 'finitely complete', - TRUE, - 'The embedding $\Set_\c \hookrightarrow \Set$ is closed under finite products and equalizers, hence under finite limits.' -), -( - 'Set_c', - 'finitely cocomplete', - TRUE, - 'The embedding $\Set_\c \hookrightarrow \Set$ is closed under finite coproducts and coequalizers, hence under finite colimits.' -), -( - 'Set_c', - 'generator', - TRUE, - 'The one-point set is clearly a generator.' -), -( - 'Set_c', - 'cogenerator', - TRUE, - 'The two-point set is a cogenerator in $\Set$, hence also in $\Set_\c$.' -), -( - 'Set_c', - 'semi-strongly connected', - TRUE, - 'This is because the larger category $\Set$ has this property.' -), -( - 'Set_c', - 'extensive', - TRUE, - 'The same proof as for $\Set$ applies. Actually, the category is "countably extensive".' -), -( - 'Set_c', - 'countably distributive', - TRUE, - 'By elementary set theory, a countable (disjoint) union of countable sets is again countable. Hence, countable coproducts exist in $\Set_\c$, and we already saw that finite products exist. The distributivity morphism is an isomorphism since this is the case in $\Set$ and the forgetful functor $\Set_\c \to \Set$ preserves finite products and countable coproducts.' -), -( - 'Set_c', - 'epi-regular', - TRUE, - 'If $X \to Y$ is an epimorphism in $\Set_\c$, i.e. a surjective map, it is coequalizer of the two maps $X \times_Y X \rightrightarrows X$ in $\Set$ and hence also in $\Set_\c$.' -), -( - 'Set_c', - 'subobject classifier', - 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 $\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', - 'regular', - TRUE, - 'From the other properties we know that the category is finitely complete and that it has coequalizers. The regular epimorphisms are stable under pullback since this holds in $\Set$ and both regular epimorphisms (they are surjective maps) and pullbacks coincide.' -), -( - 'Set_c', - 'coregular', - TRUE, - 'From the other properties we know that the category is finitely cocomplete and that it has equalizers. The regular monomorphisms are stable under pushout since this holds in $\Set$ and both regular monomorphisms (they are injective maps) and pushouts coincide.' -), -( - 'Set_c', - 'small', - FALSE, - 'Even the collection of all singletons is not a set.' -), -( - 'Set_c', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Set_c', - 'countable powers', - FALSE, - 'Since the forgetful functor $\Set_\c \to \Set$ is representable, it preserves (countable) products. Therefore, if the power $\{0,1\}^{\IN}$ exists in $\Set_\c$, it must be the ordinary cartesian product, which however is uncountable.' -), -( - 'Set_c', - 'ℵ₁-accessible', - FALSE, - 'In fact, $\Set_\c$ does not have $\aleph_1$-filtered colimits: Fix an uncountable set $X$, let $P_\c(X)$ be the poset of countable subsets of $X$, which is $\aleph_1$-filtered, and consider the functor $P_\c(X) \to \Set_\c$ taking a subset $Y \subseteq X$ to $Y$. The colimit of this diagram in $\Set$ is given by $X$ itself, so if $X_c$ were a colimit in $\Set_\c$, then $\Hom(X_c, \{0,1\}) \cong \Hom(X, \{0,1\})$. But the former has cardinality at most $2^{\aleph_0}$ and the latter has cardinality $2^{\card(X)}$, so we have obtained a contradiction if we pick $X$ large enough (e.g. $\card(X)=2^{\aleph_0}$).' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'Set_c' -AND property_id IN ('finitely complete', 'finitely cocomplete'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/Set_f.sql b/databases/catdat/data/003_category-property-assignments/Set_f.sql deleted file mode 100644 index 8b62d8c4..00000000 --- a/databases/catdat/data/003_category-property-assignments/Set_f.sql +++ /dev/null @@ -1,128 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Set_f', - 'locally small', - TRUE, - 'There is a forgetful functor $\Set_\f \to \Set$ and $\Set$ is locally small.' -), -( - 'Set_f', - 'generator', - TRUE, - 'The singleton set (which is not terminal) is a generator as it represents the forgetful functor $\Set_\f \to \Set$.' -), -( - 'Set_f', - 'cogenerator', - TRUE, - 'The set $\{0,1\}$ is a cogenerator in $\Set_\f$: Assume that $f,g : X \rightrightarrows Y$ are two finite-to-one maps such that $h \circ f = h \circ g$ for all finite-to-one maps $h : Y \to \{0,1\}$. This exactly means $f^*(A)=g^*(A)$ for all finite subsets $A \subseteq Y$. Applying this to $A = \{f(x)\}$ for $x \in X$ we get $x \in f^*(\{f(x)\}) = g^*(\{f(x)\})$, so that $g(x) = f(x)$.' -), -( - 'Set_f', - 'extensive', - TRUE, - 'We first show that finite coproducts exist. The empty set is clearly initial. The disjoint union $X+Y$ of two sets $X,Y$ with the inclusion maps $X \rightarrow X+Y \leftarrow Y$ is a coproduct: The inclusions are injective, hence finite-to-one. If $f : X \to T$, $g : Y \to T$ are finite-to-one maps, the induced map $(f;g) : X + Y \to T$ is finite-to-one since the fiber of $t \in T$ is $f^*(\{t\}) + g^*(\{t\})$, which is finite. Hence, finite coproducts exist. A map $A \to X + Y$ yields a decomposition $A = A_X + A_Y$ with maps $A_X \to X$, $A_Y \to Y$ (since $\Set$ is extensive). Here, $A \to X + Y$ is finite-to-one iff $A_X \to X$ and $A_Y \to Y$ are finite-to-one.' -), -( - 'Set_f', - 'equalizers', - TRUE, - 'Equalizers can be constructed as in $\Set$ because of the following trivial observation: if $f : X \to Y$ is a finite-to-one map and $E \subseteq Y$ is a subset with $f(X) \subseteq E$, then the induced map $f^E : X \to E$ is also finite-to-one.' -), -( - 'Set_f', - 'quotients of congruences', - 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 $\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 $\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', - 'locally cartesian closed', - TRUE, - 'If $X$ is a set, the equivalence $\Set/X \simeq \Set^X$, $f \mapsto (f^*(\{x\}))_{x \in X}$ restricts to an equivalence $\Set_\f / X \simeq \FinSet^X$. This category is cartesian closed since the category $\FinSet$ is cartesian closed and products of cartesian closed categories are cartesian closed.' -), -( - 'Set_f', - 'epi-regular', - TRUE, - 'If $f : X \to Y$ is an epimorphism in $\Set_\f$, i.e. a surjective finite-to-one map, it is a coequalizer of the two maps $p_1, p_2 : X \times_Y Y \rightrightarrows Y$ in $\Set$. These maps are finite-to-one since $p_i^*(\{y\}) \cong f^*(\{y\})$ for $i=1,2$, and their coequalizer is also $f$ in $\Set_\f$: It suffices to observe that if $h : Y \to T$ is a map such that $h \circ f$ is finite-to-one, then $h$ is finite-to-one as well. In fact, surjectivity of $f$ implies $h^*(\{t\}) = f_*((h \circ f)^*(\{t\}))$ for $t \in T$.' -), -( - 'Set_f', - 'semi-strongly connected', - TRUE, - 'From set theory it is known that for all sets $X,Y$ there is an injective map $X \to Y$ or an injective map $Y \to X$, and injective maps are finite-to-one.' -), -( - 'Set_f', - 'well-copowered', - TRUE, - 'This is clear since the epimorphisms are injective.' -), -( - 'Set_f', - 'ℵ₁-accessible', - TRUE, - 'We first show that $\aleph_1$-directed colimits exist and are preserved by the forgetful functor to $\Set$. Let $(X_i)_{i \in I}$ be a diagram in $\Set_\f$ indexed by a $\aleph_1$-directed poset $I$. Let $(u_i : X_i \to X)$ be the colimit in $\Set$. Each map $u_i$ is finite-to-one: Otherwise, some fiber $u_i^*(\{x\}) \subseteq X_i$ contains infinitely many elements $a_1,a_2,\dotsc$. For every $n \geq 1$ we find $i_n \geq i$ such that $a_1,a_n$ have the same image in $X_{i_n}$. Let $i_\infty \in I$ be an upper bound of all $i_n$. Then all $a_n$ have the same image in $X_{i_\infty}$. This is a contradiction since $X_i \to X_{i_\infty}$ is finite-to-one. Now if $f : X \to Y$ is a map such that each $f \circ u_i$ is finite-to-one, then $f$ is finite-to-one as well: If a fiber $f^*(\{y\})$ contains infinitely many distinct elements $x_1,x_2,\dotsc$, there is some index $i$ such that all have a preimage in $X_i$, but then $(f \circ u_i)^*(\{y\})$ would be infinite. This concludes the proof that $\aleph_1$-directed colimits exist.
- In $\Set$, every set $X$ is the $\aleph_1$-directed colimit of its countable subsets. This remains true in $\Set_\f$ because a map $X \to Y$ is finite-to-one as long as each restriction to a countable subset of $X$ is finite-to-one. Moreover, every countable set is $\aleph_1$-presentable in $\Set$, but also in $\Set_\f$.' -), -( - 'Set_f', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Set_f', - 'binary powers', - FALSE, - 'More generally, if $X,Y$ are two non-empty sets such that $X \times Y$ exists in $\Set_\f$, then both $X$ and $Y$ must be finite. In fact, the forgetful functor to $\Set$ is representable, so it must preserve products. This means we can assume $X \times Y$ is the usual cartesian product with the usual projections. Since $p_1 : X \times Y \to X$ is finite-to-one and $X$ is non-empty, $Y$ is finite. By symmetric, also $X$ is finite. (Conversely, if $X$ and $Y$ are finite, or one of them is empty, then indeed $X \times Y$ exists.)' -), -( - 'Set_f', - 'countable copowers', - FALSE, - 'Assume that the copower $X := \IN \otimes 1$ exists, where $1$ is the singleton set. This is a set with a map $i : \IN \to X$ (not necessarily finite-to-one) such that for every other such map $j : \IN \to Y$ there is a unique finite-to-one map $f : X \to Y$ with $f \circ i = j$. Applying this to $j : \IN \to 1$, we see that $X$ is finite. Applying the universal property to maps $j : \IN \to \{0,1\}$, we see that for every subset $E \subseteq \IN$ there is a unique finite subset $F \subseteq X$ with $i^*(F) = E$. But finiteness of $F$ is automatic, so $i^* : P(X) \to P(\IN)$ is bijective. But then $P(\IN)$ is finite, which is absurd.' -), -( - 'Set_f', - 'essentially small', - FALSE, - 'This is obvious.' -), -( - 'Set_f', - 'strongly connected', - FALSE, - 'Already $\Set$ is not strongly connected.' -), -( - 'Set_f', - 'filtered', - FALSE, - 'Consider the maps $f,g : \IN \rightrightarrows \IN$ defined by $f(x)=x$ and $g(x)=2x$. They are injective, hence finite-to-one. If a map $h : \IN \to X$ coequalizes them, we have $h(x)=h(2x)$, in particular $h(1)=h(2^n)$ for all $n \in \IN$. Thus, $h$ is not finite-to-one.' -), -( - 'Set_f', - 'sequential limits', - FALSE, - 'Consider the set $[n] := \{0,\dotsc,n\}$ for $n \in \IN$. The forgetful functor to $\Set$ is representable (by the singleton set), hence preserves all limits. Thus, if the diagram of truncation maps $\cdots \twoheadrightarrow [2] \twoheadrightarrow [1] \twoheadrightarrow [0]$ has a limit in $\Set_\f$, its underlying set is isomorphic to the limit taken in $\Set$, which is $\IN \cup \{\infty\}$. But there is no finite-to-one map $\IN \cup \{\infty\} \to [0]$.' -); diff --git a/databases/catdat/data/003_category-property-assignments/Set_pointed.sql b/databases/catdat/data/003_category-property-assignments/Set_pointed.sql deleted file mode 100644 index 4c325d0e..00000000 --- a/databases/catdat/data/003_category-property-assignments/Set_pointed.sql +++ /dev/null @@ -1,112 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Set*', - 'locally small', - TRUE, - 'There is a forgetful functor $\Set_* \to \Set$ and $\Set$ is locally small.' -), -( - 'Set*', - 'pointed', - TRUE, - 'The singleton set is a zero object.' -), -( - 'Set*', - 'finitary algebraic', - TRUE, - 'Take the algebraic theory with just one constant.' -), -( - 'Set*', - 'subobject classifier', - TRUE, - 'The pointed set $(\{0,1\},1)$ is a subobject classifier.' -), -( - 'Set*', - 'cogenerator', - TRUE, - 'The pointed set $(\{0,1\},1)$ is a cogenerator.' -), -( - 'Set*', - 'epi-regular', - TRUE, - 'Every epimorphism is surjective for this category, and in an algebraic category every surjective homomorphism is a regular epimorphism.' -), -( - 'Set*', - 'coregular', - TRUE, - 'From the other properties we know that (co-)limits exist and that monomorphisms coincide with injective pointed maps. So it suffices to prove that these maps are stable under pushouts. This follows from the corresponding fact for the category of sets and the observation that the forgetful functor $\Set_* \to \Set$ preserves pushouts.' -), -( - 'Set*', - 'co-Malcev', - TRUE, - 'Malcev categories are closed under slice categories by Prop. 2.2.14 in Malcev, protomodular, homological and semi-abelian categories. It follows that co-Malcev categories are closed under coslice categories, and $\Set_*$ is a coslice category of $\Set$, which is co-Malcev since every elementary topos is co-Malcev.' -), -( - 'Set*', - 'cocartesian cofiltered limits', - TRUE, - 'Let $X$ be a pointed set and $(Y_i)$ be a filtered diagram of pointed sets. Base points will be denoted by $0$. The canonical map $X \vee \lim_i Y_i \to \lim_i (X \vee Y_i)$ is injective since the wedge sum naturally embeds into the product and the natural map $X \vee \prod_i Y_i \to \prod_i (X \times Y_i)$ is injective. Now let $z = (z_i) \in \lim_i (X \vee Y_i)$. -
Case 1: There is some index $i$ with $z_i \in X \setminus \{0\}$. We claim $z_j \in X$ for any index $j$ and $z_j = z_i$ in $X$, so that $z$ has a preimage in $X$. To see this, choose an index $k \geq i,j$. Since $X \vee Y_i \to X \vee Y_k$ maps $z_i \mapsto z_k$ and is the identity on $X$, we see that $z_k \in X$ and $z_k = z_i$ in $X$. Since $X \vee Y_j \to X \vee Y_k$ maps $z_j \mapsto z_k$, we see that $z_j \notin Y_j$, since otherwise $z_k \in Y_k \cap X = \{0\}$. Hence, $z_j \in X \setminus \{0\}$, and then $z_j = z_k = z_i$. -
Case 2: We have $z_i \in Y_i$ for all $i$. Then clearly $(z_i) \in \lim_i Y_i$ is a preimage.' -), -( - 'Set*', - 'CIP', - 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 $\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*', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Set*', - 'unital', - FALSE, - 'The joint image of $X \to X \times Y \leftarrow Y$ is just $\{(x,0) : x \in X\} \cup \{(0,y) : y \in Y\}$ (where $0$ denotes the base point), which is clearly a proper subset of $X \times Y$ when both $X,Y$ are non-trivial.' -), -( - 'Set*', - 'CSP', -- TODO: remove duplication with unital proof - FALSE, - 'The image of $X \vee Y$ in $X \times Y$ is just $\{(x,0) : x \in X\} \cup \{(0,y) : y \in Y\}$ (where $0$ denotes the base point), which is clearly a proper subset when both $X,Y$ are non-trivial.' -), -( - 'Set*', - 'conormal', - FALSE, - 'Every cokernel is "injective away from the base point". Formally, if $p : A \to B$ is a cokernel in $\Set_*$, it has the property that $p(x)=p(y) \neq 0$ implies $x=y$ (where $0$ denotes the base point). Clearly this is not satisfied for every surjective pointed map, consider $(\IN,0) \to (\{0,1\},0)$ defined by $0 \mapsto 0$ and $x \mapsto 1$ for $x > 0$.' -), -( - 'Set*', - '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 \Set_*$ that freely adds a base point.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'Set*' -AND property_id IN ('pointed'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/Setne.sql b/databases/catdat/data/003_category-property-assignments/Setne.sql deleted file mode 100644 index 14088cf6..00000000 --- a/databases/catdat/data/003_category-property-assignments/Setne.sql +++ /dev/null @@ -1,129 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Setne', - 'locally small', - TRUE, - 'There is a forgetful functor $\Set_{\neq \varnothing} \to \Set$ and $\Set$ is locally small.' -), -( - 'Setne', - 'generator', - TRUE, - 'The one-point set is clearly a generator.' -), -( - 'Setne', - 'cogenerator', - TRUE, - 'The two-point set is a cogenerator, this follows as for $\Set$.' -), -( - 'Setne', - 'products', - TRUE, - 'Take the product of non-empty sets inside of $\Set$ and observe that it is non-empty by the axiom of choice.' -), -( - 'Setne', - 'binary coproducts', - TRUE, - 'The disjoint union of two non-empty sets is non-empty.' -), -( - 'Setne', - 'cartesian closed', - TRUE, - 'This follows as for $\Set$, since for non-empty sets $X,Y$ there is at least one function $X \to Y$.' -), -( - 'Setne', - 'mono-regular', - TRUE, - 'This follows as for $\Set$.' -), -( - 'Setne', - 'epi-regular', - TRUE, - 'This follows as for $\Set$.' -), -( - 'Setne', - 'strongly connected', - TRUE, - 'Use constant maps.' -), -( - 'Setne', - 'finitely accessible', - TRUE, - 'Since the inclusion $\Set_{\neq \varnothing} \hookrightarrow \Set$ is closed under non-empty colimits, it is also closed under filtered colimits. Therefore, non-empty finite sets are still finitely presentable in $\Set_{\neq \varnothing}$, and every non-empty set is written as a filtered colimit of them.' -), -( - 'Setne', - 'generalized variety', - TRUE, - 'Since the inclusion $\Set_{\neq \varnothing} \hookrightarrow \Set$ is closed under non-empty colimits, it is also closed under sifted colimits. Therefore, non-empty finite sets are still strongly finitely presentable in $\Set_{\neq \varnothing}$, and every non-empty set is written as a sifted colimit of them.' -), - -( - 'Setne', - 'multi-complete', - TRUE, - 'Let $D$ be a diagram in $\Set_{\neq \varnothing}$, and let $L$ be a limit of $D$ in $\Set$. If $L$ is non-empty, it gives a limit in $\Set_{\neq \varnothing}$ as well. If $L$ is the empty set, there is no cone over $D$ in $\Set_{\neq \varnothing}$; hence the empty set of cones gives a multi-limit of $D$ in $\Set_{\neq \varnothing}$.' -), -( - 'Setne', - 'natural numbers object', - TRUE, - 'Any natural numbers object in $\Set$, such as $(\IN,0,n \mapsto n+1)$, is clearly also one in $\Set_{\neq \varnothing}$.' -), -( - 'Setne', - 'filtered-colimit-stable monomorphisms', - 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', - FALSE, - 'Assume that the sequence of inclusions $\cdots \to \IN_{\geq 2} \to \IN_{\geq 1} \to \IN_{\geq 0} = \IN$ as a limit $X$, consisting of maps $X \to \IN_{\geq n}$. Since $X$ is non-empty, there is a map $1 \to X$. This corresponds to a family of compatible maps $ 1 \to \IN_{\geq n}$, i.e. to compatible elements in $\IN_{\geq n}$. But the set $\bigcap_{n \geq 0} \IN_{\geq n}$ is empty.' -), -( - 'Setne', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Setne', - 'cofiltered', - FALSE, - 'The two maps $\{0\} \rightrightarrows \{0,1\}$ are equalized by no map $X \to \{0\}$ in this category.' -), -( - 'Setne', - '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 deleted file mode 100644 index b55ea360..00000000 --- a/databases/catdat/data/003_category-property-assignments/SetxSet.sql +++ /dev/null @@ -1,43 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'SetxSet', - 'locally small', - TRUE, - 'This is obvious.' -), -( - 'SetxSet', - 'Grothendieck topos', - TRUE, - 'It is equivalent to the category of sheaves on a discrete space with two points.' -), -( - 'SetxSet', - 'locally strongly finitely presentable', - TRUE, - 'Take the two-sorted algebraic theory with no operations and no equations.' -), -( - 'SetxSet', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'SetxSet', - 'semi-strongly connected', - FALSE, - 'When $X$ is non-empty, there is no morphism between $(\varnothing,X)$ and $(X,\varnothing)$.' -), -( - 'SetxSet', - 'generator', - FALSE, - 'Assume that $(A,B)$ is a generator. Of course, $A$ and $B$ cannot be both empty. Assume w.l.o.g. that $A$ is non-empty. Then there is no morphism $(A,B) \to (0,1)$, but there are two different morphisms $(0,1) \rightrightarrows (0,2)$.' -); diff --git a/databases/catdat/data/003_category-property-assignments/Sh(X).sql b/databases/catdat/data/003_category-property-assignments/Sh(X).sql deleted file mode 100644 index eacc1e66..00000000 --- a/databases/catdat/data/003_category-property-assignments/Sh(X).sql +++ /dev/null @@ -1,31 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Sh(X)', - 'locally small', - TRUE, - 'This is easy.' -), -( - 'Sh(X)', - 'Grothendieck topos', - TRUE, - 'This holds by definition of a Grothendieck topos.' -), -( - 'Sh(X)', - 'skeletal', - FALSE, - 'Consider constant sheaves for isomorphic but non-equal sets.' -), -( - 'Sh(X)', - 'trivial', - FALSE, - 'This is because $X$ is assumed to be non-empty.' -); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/Sh(X,Ab).sql b/databases/catdat/data/003_category-property-assignments/Sh(X,Ab).sql deleted file mode 100644 index 48973272..00000000 --- a/databases/catdat/data/003_category-property-assignments/Sh(X,Ab).sql +++ /dev/null @@ -1,32 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Sh(X,Ab)', - 'locally small', - TRUE, - 'This is easy.' -), -( - 'Sh(X,Ab)', - 'Grothendieck abelian', - TRUE, - 'This is standard, see for example Theorem 18.1.6. in Kashiwara-Schapira.' -), -( - 'Sh(X,Ab)', - 'skeletal', - FALSE, - 'Consider constant sheaves for isomorphic but non-equal abelian groups.' -), -( - 'Sh(X,Ab)', - 'split abelian', - FALSE, - 'Choose a point $x \in X$. The functor $x_* : \Ab \to \Sh(X,\Ab)$ (skyscraper sheaf) is exact, and its left adjoint $x^* : \Sh(X,\Ab) \to \Ab$ (stalk) satisfies $x^* x_* \cong \id_{\Ab}$. Now, since $\Ab$ is not split abelian (see here), there is a short exact sequence of abelian groups $0 \to A \to B \to C \to 0$ that does not split. Then $0 \to x_* A \to x_* B \to x_* C \to 0$ is also exact, but it does not split: Otherwise it would also be split after applying $x^*$, which however gives the original sequence in $\Ab$.' -); - diff --git a/databases/catdat/data/003_category-property-assignments/Sp.sql b/databases/catdat/data/003_category-property-assignments/Sp.sql deleted file mode 100644 index 6f51f486..00000000 --- a/databases/catdat/data/003_category-property-assignments/Sp.sql +++ /dev/null @@ -1,69 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Sp', - 'essentially small', - TRUE, - 'This holds because $\FinSet$ and $\IB$ are essentially small.' -), -( - 'Sp', - 'elementary topos', - TRUE, - 'The category is equivalent to $\prod_{n \geq 0} \Sigma_n{-}\FinSet$ (where $\Sigma_n$ denotes the symmetric group of order $n$), and each $\Sigma_n{-}\FinSet$ is an elementary topos since $\FinSet$ is and $\Sigma_n$ is a finite group, cf. Johnstone, Part B, Corollary 2.3.18.' -), -( - 'Sp', - 'cogenerator', - TRUE, - 'This follows from $\Sp \simeq \prod_{n \geq 0} \Sigma_n{-}\FinSet$, this lemma, and the fact that if $G$ is a (finite) group, the power set $P(G)$ with the evident $G$-action is a weakly terminal cogenerator in $G{-}\Set$ (resp. $G{-}\FinSet$). For the proof, notice that $\varnothing,G \in P(G)$ are fixed points, yielding two $G$-maps $1 \rightrightarrows P(G)$. In particular, $P(G)$ is weakly terminal. If $X$ is a $G$-set with distinct points $x,y$, we construct a $G$-map $f : X \to P(G)$ that separates $x,y$: First, $X$ is a coproduct of orbits. If $x,y$ lie in different orbits, let $f|_{Gx}$ be constant $\varnothing$, $f|_{Gy}$ be constant $G$, and, say, $f$ be constant $\varnothing$ on all other orbits. If $x,y$ lie in the same orbit, say $y = g_0 x$, define $f|_{Gx} : Gx \to P(G)$ by $f(x) = G_x$ (stabilizer), which is well-defined, and choose $f$ to be $\varnothing$ on all other orbits. Then $f(y) = g_0 G_x \neq G_x = f(x)$.' -), -( - 'Sp', - 'locally small', - FALSE, - 'Disclaimer: This result and its proof are not relevant for category theory and are also depending on the concrete model of set theory. That this category is locally essentially small is only what matters. Now, consider the terminal species $F=G=1$. Then $\Hom(F,G)$ has just a single element, namely the natural transformation $\alpha$ that sends every finite set $X$ to the unique map $\alpha_X : 1 \to 1$. Formally, $\alpha$ is a map, modelled as a set of ordered pairs $(X,\id_1)$, where $X$ is a finite set. Hence, $\alpha$ is not a set (since finite sets do not form a set), and therefore $\Hom(F,G) = \{\alpha\}$ is also not a set.' -), -( - 'Sp', - 'countable powers', - FALSE, - 'If $\Sp \simeq \FinSet \times \prod_{n > 0} \Sigma_n{-}\FinSet$ has countable powers, then $\FinSet$ has countable powers as well by this lemma, which we already know is false (see here).' -), -( - 'Sp', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Sp', - 'semi-strongly connected', - FALSE, - 'For $n \geq 0$ let $E_n$ be the combinatorial species of $n$-sets: $E_n(A) = \{A\}$ when $A$ has cardinality $n$, otherwise $E_n(A) = \varnothing$. Then there is no morphism between $E_n$ and $E_m$ unless $n = m$.' -), -( - 'Sp', - 'generator', - FALSE, - 'Assume that a generator $G$ exists. For $n \geq 0$ let $F_n$ be the combinatorial species of sets of cardinality $\neq n$: $F_n(A) = \varnothing$ when $A$ has cardinality $n$, otherwise $F_n(A) = \{A\}$. There are two different morphisms $F_n \rightrightarrows F_n \sqcup F_n$. Hence, there must be at least one morphism $G \to F_n$. If $A$ has cardinality $n$, this implies $G(A) = \varnothing$. Since this holds for all $n$, $G$ is the initial object. But this is clearly no generator (it would mean that the category is thin).' -), -( - 'Sp', - 'essentially countable', - FALSE, - 'Any function $f\colon\IN \to \IN$ can be regarded as a combinatorial species with trivial actions, and distinct functions yield non-isomorphic species.' -), -( - 'Sp', - 'natural numbers object', - FALSE, - 'If $(N,z,s)$ is a natural numbers object, then - $$1 \xrightarrow{z} N \xleftarrow{s} N$$ - is a coproduct cocone by Johnstone, Part A, Lemma 2.5.5. But there is no combinatorial species $N$ with $N \cong 1 + N$, since evaluating this at, say, $\varnothing$, would yield a finite set $N$ with this property.' -); diff --git a/databases/catdat/data/003_category-property-assignments/Top.sql b/databases/catdat/data/003_category-property-assignments/Top.sql deleted file mode 100644 index 0ae7dcce..00000000 --- a/databases/catdat/data/003_category-property-assignments/Top.sql +++ /dev/null @@ -1,145 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Top', - 'locally small', - TRUE, - 'There is a forgetful functor $\Top \to \Set$ and $\Set$ is locally small.' -), -( - 'Top', - 'complete', - TRUE, - 'Take the limit of the underlying sets and endow it with the coarsest topology making all projections continuous.' -), -( - 'Top', - 'cocomplete', - TRUE, - 'Take the colimit of the underlying sets and endow it with the finest topology making all inclusions continuous.' -), -( - 'Top', - 'well-powered', - TRUE, - 'This is clear from the classification of monomorphisms as injective continuous maps.' -), -( - 'Top', - 'well-copowered', - TRUE, - 'This is clear from the classification of epimorphisms as surjective continuous maps.' -), -( - 'Top', - 'infinitary extensive', - TRUE, - '[Sketch] Since $\Set$ is infinitary extensive, a map $f : Y \to \coprod_i X_i$ corresponds to a decomposition $Y = \coprod_i Y_i$ (as sets) with maps $f_i : Y_i \to X_i$. Endow $Y_i$ with the subspace topology. If $f$ is continuous, each $Y_i = f^{-1}(X_i)$ is open in $Y$, so that $Y = \coprod_i Y_i$ holds as topological spaces, and each $f_i$ is continuous.' -), -( - 'Top', - 'generator', - TRUE, - 'The one-point space is a generator since it represents the forgetful functor $\Top \to \Set$.' -), -( - 'Top', - 'cogenerator', - TRUE, - 'It is easily checked that the indiscrete two-point space is a cogenerator.' -), -( - 'Top', - 'semi-strongly connected', - TRUE, - 'Every non-empty space is weakly terminal (by using constant maps).' -), -( - 'Top', - 'regular subobject classifier', - TRUE, - 'The indiscrete two-point space $\{0,1\}$ is a regular subobject classifier since continuous maps $X \to \{0,1\}$ correspond to subsets of $X$.' -), -( - 'Top', - 'coregular', - TRUE, - 'The category has all limits and colimits, and the regular monomorphisms are the subspace inclusions. Thus, it suffices to prove that subspace inclusions are stable under pushouts. For a proof see e.g. Lemma 3.6 at the nLab.' -), -( - 'Top', - 'filtered-colimit-stable monomorphisms', - TRUE, - 'This follows from this lemma applied to the forgetful functor to $\Set$.' -), -( - 'Top', - 'cartesian filtered colimits', - FALSE, - 'The functor $\IQ \times - : \Top \to \Top$ does not preserve colimits, see MSE/2969372.' -), -( - 'Top', - 'regular', - FALSE, - 'See Example 3.14 at the nLab.' -), -( - 'Top', - 'locally presentable', - FALSE, - 'In fact, it does not have any small dense subcategory by MSE/4097315. For a related result, see MO/288648.' -), -( - 'Top', - 'balanced', - FALSE, - 'If $X$ is a set, consider the discrete space $X_d$ on $X$ and the indiscrete space $X_i$ on $X$. The identity map $X \to X$ lifts to a continuous map $X_d \to X_i$, which is bijective and therefore both a mono- and an epimorphism, but it is not an isomorphism unless $X$ has at most one element.' -), -( - 'Top', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Top', - 'Malcev', - FALSE, - 'This is clear since $\Set$ is not Malcev and can be interpreted as the subcategory of discrete spaces.' -), -( - 'Top', - 'co-Malcev', - FALSE, - 'See MO/509548. We can also phrase the proof as follows: Consider the forgetful functor $U : \Top \to \Set$ and the relation $R \subseteq U^2$ defined by $R(X) := \{(x,y) \in U(X)^2 : x \in \overline{\{y\}} \}$. Both are representable: $U$ by the singleton and $R$ by the Sierpinski space. It is clear that $R$ is reflexive, but not symmetric.' -), -( - 'Top', - 'coaccessible', - FALSE, - 'Assume $\Top$ is coaccessible. Let $p\colon S \to I$ be the identity map from the Sierpinski space to the two-element indiscrete space. Then, a topological space is discrete if and only if it is projective to the morphism $p$. This implies that the full subcategory spanned by all discrete spaces, which is equivalent to $\Set$, is coaccessible by Prop. 4.7 in Adamek-Rosicky. However, since $\Set$ is not coaccessible, this is a contradiction.' -), -( - 'Top', - '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.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'Top' -AND property_id IN ('cocomplete'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/Top_pointed.sql b/databases/catdat/data/003_category-property-assignments/Top_pointed.sql deleted file mode 100644 index c96168d9..00000000 --- a/databases/catdat/data/003_category-property-assignments/Top_pointed.sql +++ /dev/null @@ -1,183 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Top*', - 'locally small', - TRUE, - 'There is a forgetful functor $\Top_* \to \Set_*$ and $\Set_*$ is locally small.' -), -( - 'Top*', - 'pointed', - TRUE, - 'The singleton space $\{0\}$ with base point $0$ is a zero object.' -), -( - 'Top*', - 'complete', - TRUE, - 'This follows from $\Top_* \cong 1 / \Top$ and the fact that $\Top$ is complete. Concretely, the limit of pointed spaces $(X_i,x_i)$ is the limit of the underlying spaces $X_i$ equipped with the base point that projects down to each $x_i$.' -), -( - 'Top*', - 'coequalizers', - TRUE, - 'This follows immediately from the fact that $\Top$ has coequalizers.' -), -( - 'Top*', - 'coproducts', - TRUE, - 'This follows from $\Top_* \cong 1 / \Top$ and the fact that $\Top$ has wide pushouts.' -), -( - 'Top*', - 'well-powered', - TRUE, - 'This is clear from the classification of monomorphisms as injective pointed continuous maps.' -), -( - 'Top*', - 'well-copowered', - TRUE, - 'This is clear from the classification of epimorphisms as surjective pointed continuous maps.' -), -( - 'Top*', - 'generator', - TRUE, - 'The discrete space $\{0,1\}$ with base point $0$ is a generator since it represents the forgetful functor $\Top_* \to \Set$.' -), -( - 'Top*', - 'cogenerator', - TRUE, - 'It is easily checked that the indiscrete two-point space $\{0,1\}$ with base point $1$ is a cogenerator.' -), -( - 'Top*', - 'regular subobject classifier', - TRUE, - 'The indiscrete two-point space $\{0,1\}$ with base point $1$ is a regular subobject classifier since pointed continuous maps $X \to \{0,1\}$ correspond to pointed subsets of $X$ (by taking the fiber of $1$ as usual).' -), -( - 'Top*', - 'counital', - TRUE, - 'Since embeddings are regular monomorphisms in this category (see below) and hence strong monomorphisms, it suffices to prove that the canonical morphism $X \vee Y \hookrightarrow X \times Y$ is an embedding. For a proof, see MSE/4055988.' -), -( - 'Top*', - 'CIP', - TRUE, - 'This follows since $\Set_*$ has this property and the forgetful functor preserves products and coproducts.' -), -( - 'Top*', - 'cocartesian cofiltered limits', - TRUE, - 'We continue the proof for $\Set_*$ by showing that the natural bijective map - $$\textstyle \alpha : X \vee \lim_i Y_i \to \lim_i (X \vee Y_i)$$ - is open. It suffices to consider open sets of two types: (1) If $U \subseteq X$ is open, the $\alpha$-image of $U \vee \lim_i Y_i$ is $p_{i_0}^{-1}(U \vee Y_{i_0})$ for any chosen index $i_0$, hence open. (2) If $i$ is an index and $V_i \subseteq Y_i$ is open, then the $\alpha$-image of $X \vee (p_i^{-1}(V_i) \cap \lim_i Y_i)$ is $p_i^{-1}(X \vee V_i)$, hence open.' -), -( - 'Top*', - 'filtered-colimit-stable monomorphisms', - TRUE, - 'This follows from this lemma applied to the forgetful functor to $\Set$.' -), -( - 'Top*', - 'coregular', - TRUE, - 'Regular monomorphisms coincide with the embeddings (see below). Since $\Top$ is coregular, they are stable under pushouts, and pushouts in $\Top_*$ are the same.' -), -( - 'Top*', - 'regular', - FALSE, - 'See Example 3.14 at the nLab. The proof also works for pointed spaces (resp. posets) by using the base points $a$ and $0$.' -), -( - 'Top*', - 'locally presentable', - FALSE, - 'In fact, it does not have any small dense subcategory by MSE/4097315. The proof easily adapts to pointed spaces.' -), -( - 'Top*', - 'balanced', - FALSE, - 'If $X$ is a set with a base point $x_0$, consider the discrete space $X_d$ on $X$ and the indiscrete space $X_i$ on $X$. The identity map $X \to X$ lifts to a continuous map $X_d \to X_i$ preserving $x_0$, which is bijective and therefore both a mono- and an epimorphism, but it is not an isomorphism unless $X = \{x_0\}$.' -), -( - 'Top*', - 'cartesian filtered colimits', - FALSE, - 'The functor $\IQ \times - : \Top_* \to \Top_*$ does not preserve colimits, see MSE/2969372. The counterexample also works for pointed spaces.' -), -( - 'Top*', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Top*', - 'co-Malcev', - FALSE, - 'We can adjust the proof for $\Top$ as follows: Consider the forgetful functor $U : \Top_* \to \Set$ and the relation $R \subseteq U^2$ defined by $R(X) := \{(x,y) \in U(X)^2 : x \in \overline{\{y\}} \}$. Both are representable: $U$ by the discrete space $\{0,1\}$ with base point $0$ and $R$ by the Sierpinski space with an isolated base point added. It is clear that $R$ is reflexive, but not symmetric.' -), -( - 'Top*', - 'unital', - FALSE, - 'The joint image of $X \to X \times Y \leftarrow Y$ is just $\{(x,0) : x \in X\} \cup \{(0,y) : y \in Y\}$ (where $0$ denotes the base point), which is clearly a proper subset of $X \times Y$ when both $X,Y$ are non-trivial.' -), -( - 'Top*', - 'regular quotient object classifier', - FALSE, - 'We can recycle the proof for the category of pointed sets using discrete topological spaces.' -), -( - 'Top*', - 'coaccessible', - FALSE, - 'We can adjust the proof for $\Top$ as follows: Assume $\Top_*$ is coaccessible. Let $S_0=\{x,*\}$ be the pointed topological space such that $\{*\}$ is the only non-trivial open set, and let $S_1=\{x,*\}$ be the pointed space such that $\{x\}$ is the only non-trivial open set. Let $p_i\colon S_i \to \{x,*\}$ be the identity function to the two-element indiscrete pointed space. Then, a pointed topological space is discrete if and only if it is projective to the morphisms $p_0$ and $p_1$. This implies that the full subcategory spanned by all discrete pointed spaces, which is equivalent to $\Set_*$, is coaccessible by Prop. 4.7 in Adamek-Rosicky. However, since $\Set_*$ is not coaccessible, this is a contradiction.' -), -( - 'Top*', - 'CSP', -- TODO: remove duplication with unital proof - FALSE, - 'The image of $X \vee Y$ in $X \times Y$ is just $\{(x,0) : x \in X\} \cup \{(0,y) : y \in Y\}$ (where $0$ denotes the base point), which is clearly a proper subset when both $X,Y$ are non-trivial.' -), -( - 'Top*', - '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 $\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 $\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 \}$.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'Top*' -AND property_id IN ('complete', 'coequalizers', 'coproducts', 'pointed'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/TorsAb.sql b/databases/catdat/data/003_category-property-assignments/TorsAb.sql deleted file mode 100644 index 2fd4b027..00000000 --- a/databases/catdat/data/003_category-property-assignments/TorsAb.sql +++ /dev/null @@ -1,81 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'TorsAb', - 'locally small', - TRUE, - 'There is a forgetful functor $\TorsAb \to \Ab$ and $\Ab$ is locally small.' -), -( - 'TorsAb', - 'cocomplete', - TRUE, - 'The embedding $\TorsAb \hookrightarrow \Ab$ is closed under colimits and $\Ab$ is cocomplete.' -), -( - 'TorsAb', - 'complete', - TRUE, - 'The embedding $\TorsAb \hookrightarrow \Ab$ has a right adjoint, sending an abelian group $A$ to its torsion subgroup $T(A)$. Since $\Ab$ is complete, $\TorsAb$ is complete as well. The limit of a diagram of torsion abelian groups is the torsion subgroup of the limit of the underlying abelian groups. Notice that the torsion subgroup is not required in the case of equalizers, since a subgroup of a torsion abelian group is already torsion. Also, a finite product of torsion abelian groups is already torsion.' -), -( - 'TorsAb', - 'preadditive', - TRUE, - 'It is a full subcategory of the preadditive category $\Ab$.' -), -( - 'TorsAb', - 'normal', - TRUE, - 'If $f : A \to B$ is a monomorphism, it is injective (see below). In $\Ab$ it is then the kernel of $B \to B/f(A)$. Since $B/f(A)$ is torsion, it is also the kernel in $\TorsAb$.' -), -( - 'TorsAb', - 'conormal', - TRUE, - 'If $f : A \to B$ is an epimorphism, it is surjective (see below). In $\Ab$ it is then the cokernel of its kernel $K \hookrightarrow A$. Since $K$ is torsion, it is also the cokernel in $\TorsAb$.' -), -( - 'TorsAb', - 'finitely accessible', - TRUE, - 'We already know that (filtered) colimits exist and are preserved by the forgetful functor to $\Ab$. Every torsion abelian group is the filtered colimit of its finitely generated subgroups (which are finite). These are finitely presentable in $\Ab$, hence also in $\TorsAb$.' -), -( - 'TorsAb', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'TorsAb', - 'split abelian', - FALSE, - 'The sequence $0 \to \IZ/2 \to \IZ/4 \to \IZ/2 \to 0$ does not split.' -), -( - 'TorsAb', - 'CSP', - FALSE, - 'The canonical homomorphism $\bigoplus_{n \geq 0} \IZ/2 \to T(\prod_{n \geq 0} \IZ/2)$ is not surjective, since the torsion element $(1,1,\dotsc)$ does not lie in the image. Hence, it is no epimorphism.' -), -( - 'TorsAb', - 'locally strongly finitely presentable', - FALSE, - 'Assume that it is locally strongly finitely presentable, and therefore the category of algebras of a multi-sorted finitary algebraic theory. For each sort $s$ let $F_s$ be the free algebra on one generator of sort $s$. One of them must be non-trivial, since otherwise the category would be thin. So assume $F_s \neq 0$. It is finitely presentable, hence a finite abelian group, and regular projective. Any direct summand will have the same properties. So we find that some $\IZ/p^k$ (with $k \geq 1$ and $p$ prime) is regular projective. However, the exact sequence in $\TorsAb$ - $$0 \to \IZ/p \to \IZ/p^{k+1} \to \IZ/p^k \to 0$$ - does not split.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'TorsAb' -AND property_id IN ('complete', 'cocomplete'); diff --git a/databases/catdat/data/003_category-property-assignments/TorsFreeAb.sql b/databases/catdat/data/003_category-property-assignments/TorsFreeAb.sql deleted file mode 100644 index be86540a..00000000 --- a/databases/catdat/data/003_category-property-assignments/TorsFreeAb.sql +++ /dev/null @@ -1,81 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'TorsFreeAb', - 'locally small', - TRUE, - 'There is a forgetful functor $\TorsFreeAb \to \Ab$ and $\Ab$ is locally small.' -), -( - 'TorsFreeAb', - 'complete', - TRUE, - 'The embedding $\TorsFreeAb \hookrightarrow \Ab$ is closed under limits and $\Ab$ is complete.' -), -( - 'TorsFreeAb', - 'cocomplete', - TRUE, - 'The embedding $\TorsFreeAb \hookrightarrow \Ab$ has a left adjoint, sending an abelian group $A$ to its torsion-free reflection $A/T(A)$, where $T(A)$ is the torsion subgroup of $A$. Since $\Ab$ is cocomplete, $\TorsFreeAb$ is cocomplete as well. The colimit of a diagram of torsion-free abelian groups is the torsion-free reflection of the colimit of the underlying abelian groups. Notice that the reflection is not required in the case of coproducts: the direct sum of torsion-free abelian groups is again torsion-free. It is also not required for filtered colimits.' -), -( - 'TorsFreeAb', - 'finitely accessible', - TRUE, - 'We already saw that filtered colimits exist and are preserved by the forgetful functor to $\Ab$. Every torsion-free abelian group is the filtered colimit of its finitely generated subgroups, which are in fact free. Finitely generated free abelian groups are finitely presentable in $\Ab$ and therefore also in $\TorsFreeAb$.' -), -( - 'TorsFreeAb', - 'preadditive', - TRUE, - 'It is a full subcategory of the preadditive category $\Ab$.' -), -( - 'TorsFreeAb', - 'cogenerator', - TRUE, - 'The additive group $\IQ$ is a cogenerator since every torsion-free abelian group $A$ embeds into $A \otimes \IQ$, which is a vector space over $\IQ$, and by linear algebra $K$ is a cogenerator in the category of vector spaces over $K$.' -), -( - 'TorsFreeAb', - 'regular', - TRUE, - 'The regular epimorphisms are exactly the surjective homomorphisms (see below), and these are clearly stable under pullbacks.' -), -( - 'TorsFreeAb', - 'coregular', - TRUE, - 'It suffices to prove that regular monomorphisms (which are classified below) are stable under pushouts. Let $i : A \to B$ be a regular monomorphism in $\TorsFreeAb$, i.e. $i$ is injective and its $\Ab$-cokernel $B/i(A)$ is torsion-free, and let $f : B \to C$ be any morphism in $\TorsFreeAb$. Their $\Ab$-pushout is - $$P = (B \times C)/\{(i(a),-f(a)): a \in A\}.$$ - It is torsion-free: If $n \in \IZ \setminus \{0\}$ and $n (b,c) = (i(a),-f(a))$, there is some $a'' \in A$ with $b = i(a'')$ since $B/i(A)$ is torsion-free. It follows $n a'' = a$, and then $c = -f(a'')$ since $C$ is torsion-free. Thus, $(b,c) = (i(a''),-f(a''))$, which proves our claim. Therefore, $P$ is also the pushout in $\TorsFreeAb$. The homomorphism $j : C \to P$, $j(c) = [0,c]$ is injective (since $\Ab$ is coregular, but a direct proof is also easy), and by the universal property of $P$ its $\Ab$-cokernel is isomorphic to the $\Ab$-cokernel of $i$, which is torsion-free.' -), -( - 'TorsFreeAb', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'TorsFreeAb', - 'balanced', - FALSE, - 'It can be checked directly that $2 : \IZ \to \IZ$ is both a monomorphism and an epimorphism, but no isomorphism. This also follows from the general classification of mono- and epimorphisms below.' -), -( - 'TorsFreeAb', - '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.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'TorsFreeAb' -AND property_id IN ('complete', 'cocomplete'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/Vect.sql b/databases/catdat/data/003_category-property-assignments/Vect.sql deleted file mode 100644 index 5614458b..00000000 --- a/databases/catdat/data/003_category-property-assignments/Vect.sql +++ /dev/null @@ -1,37 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Vect', - 'locally small', - TRUE, - 'There is a forgetful functor $\Vect \to \Set$ and $\Set$ is locally small.' -), -( - 'Vect', - 'split abelian', - TRUE, - 'It is a fact from linear algebra that every subspace has a complement.' -), -( - 'Vect', - 'finitary algebraic', - TRUE, - 'Take the algebraic theory of a vector space.' -), -( - 'Vect', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Vect', - 'CSP', - FALSE, - 'The canonical homomorphism $\bigoplus_{n \geq 0} K \to \prod_{n \geq 0} K$ is not surjective, hence no epimorphism.' -); diff --git a/databases/catdat/data/003_category-property-assignments/Z.sql b/databases/catdat/data/003_category-property-assignments/Z.sql deleted file mode 100644 index f233ddeb..00000000 --- a/databases/catdat/data/003_category-property-assignments/Z.sql +++ /dev/null @@ -1,121 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Z', - 'complete', - TRUE, - 'This follows immediately from the fact for $\Set$.' -), -( - 'Z', - 'cocomplete', - TRUE, - 'This follows immediately from the fact for $\Set$.' -), -( - 'Z', - 'infinitary extensive', - TRUE, - 'This follows immediately from the fact for $\Set$.' -), -( - 'Z', - 'exact filtered colimits', - TRUE, - 'This follows immediately from the fact for $\Set$.' -), -( - 'Z', - 'mono-regular', - TRUE, - 'This follows immediately from the fact for $\Set$.' -), -( - 'Z', - 'epi-regular', - TRUE, - 'This follows immediately from the fact for $\Set$.' -), -( - 'Z', - 'regular', - TRUE, - 'This follows immediately from the fact for $\Set$.' -), -( - 'Z', - 'coregular', - TRUE, - 'This follows immediately from the fact for $\Set$.' -), -( - 'Z', - 'effective congruences', - TRUE, - '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 $[\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', - 'locally essentially small', - FALSE, - 'See MO/390611 for example.' -), -( - 'Z', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'Z', - 'Malcev', - FALSE, - 'Any counterexample for $\Set$ (i.e., any non-symmetric reflexive relation) yields one for this category by taking constant functors.' -), -( - 'Z', - 'co-Malcev', - TRUE, - 'This is true because the category of sets is co-Malcev.' -), -( - 'Z', - 'semi-strongly connected', - FALSE, - 'This is because already the full subcategory of representable functors is not semi-strongly connected, see the entry for $\CRing$. Specifically, there is no morphism between $\Hom(\IF_2,-)$ and $\Hom(\IF_3,-)$.' -), -( - 'Z', - 'cartesian closed', - FALSE, - 'There are functors $F,G : \CRing \to \Set$ such that $\Hom(F,G)$ is not essentially small, see MO/390611 for example. Now if the exponential $[F,G] : \CRing \to \Set$ exists, we get $[F,G](\IZ) \cong \Hom(\Hom(\IZ,-),[F,G])$ by Yoneda, which simplifies to $\Hom(1,[F,G]) \cong \Hom(1 \times F,G) \cong \Hom(F,G)$, a contradiction.' -), -( - 'Z', - 'well-powered', - FALSE, - 'Consider the functor $F$ from MO/390611 for example. The collection of subobjects of $F$ is not isomorphic to a set: for each infinite cardinal $\kappa$, simply cut off the construction of $F$ at $\kappa$. This yields a different subobject for each $\kappa$.' -), -( - 'Z', - '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.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'Z' -AND property_id IN ('cocomplete', 'mono-regular', 'effective cocongruences', 'co-Malcev'); diff --git a/databases/catdat/data/003_category-property-assignments/Z_div.sql b/databases/catdat/data/003_category-property-assignments/Z_div.sql deleted file mode 100644 index 43bfce6c..00000000 --- a/databases/catdat/data/003_category-property-assignments/Z_div.sql +++ /dev/null @@ -1,67 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Z_div', - 'small', - TRUE, - 'This is trivial.' -), -( - 'Z_div', - 'countable', - TRUE, - 'This is trivial.' -), -( - 'Z_div', - 'thin', - TRUE, - 'This is trivial.' -), -( - 'Z_div', - 'distributive', - TRUE, - 'We need to prove $\lcm_i \gcd(a, b_i) \cong \gcd(a, \lcm_i b_i)$ for finite families. If $x$ denotes the LHS and $y$ denotes the RHS, the relation $x \mid y$ is formal. If $v_p(-) : \IZ \to \IN_{\infty}$ denotes the multiplicity of a prime $p$, then $v_p(x)$ equals $\max_i \min(v_p(a),v_p(b_i))$, and $v_p(y)$ equals $\min(v_p(a), \max_i v_p(b_i))$. Since our family is finite, there is some $i_0$ with $\max_i v_p(b_i) = v_p(b_{i_0})$. Then $v_p(x) \geq \min(v_p(a),v_p(b_{i_0})) = v_p(y)$. This proves $y \mid x$.' -), -( - 'Z_div', - 'locally ℵ₁-presentable', - TRUE, - 'Every $\aleph_1$-directed diagram is eventually constant.' -), -( - 'Z_div', - 'skeletal', - FALSE, - 'The integers $+1$ and $-1$ are isomorphic, but not equal.' -), -( - 'Z_div', - 'self-dual', - FALSE, - 'The only integer with infinitely many divisors (up to isomorphism) is $0$. But many integers have infinitely many multiples (up to isomorphism).' -), -( - 'Z_div', - 'countably distributive', - FALSE, - 'We have $2 \times \coprod_n 3^n = \gcd(2,\lcm_n(3^n)) = \gcd(2,0) = 2$, but $\coprod_n (2 \times 3^n) = \lcm_n \gcd(2,3^n) = \lcm_n 1 = 1$.' -), -( - 'Z_div', - 'countably codistributive', - FALSE, - 'If $p$ runs through all odd primes, we have $2 \sqcup \prod_p p = \lcm(2,\gcd_p p) = \lcm(2,0) = 0$, but $\prod_p (2 \sqcup p) = \gcd_p (\lcm(2,p)) = \gcd_p (2 \cdot p) = 2$.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'Z_div' -AND property_id IN ('thin'); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/real_interval.sql b/databases/catdat/data/003_category-property-assignments/real_interval.sql deleted file mode 100644 index 41f9b87e..00000000 --- a/databases/catdat/data/003_category-property-assignments/real_interval.sql +++ /dev/null @@ -1,61 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'real_interval', - 'small', - TRUE, - 'This is trivial.' -), -( - 'real_interval', - 'self-dual', - TRUE, - 'Take $t \mapsto 1-t$.' -), -( - 'real_interval', - 'semi-strongly connected', - TRUE, - 'This is trivial.' -), -( - 'real_interval', - 'locally ℵ₁-presentable', - TRUE, - 'See MSE/4481902.' -), -( - 'real_interval', - 'skeletal', - TRUE, - 'The relation $\leq$ is antisymmetric.' -), -( - 'real_interval', - 'essentially countable', - FALSE, - 'This is trivial.' -), -( - 'real_interval', - 'locally finitely presentable', - FALSE, - 'It suffices to prove that $0$ (the initial object) is the only finitely presentable object. If $s > 0$, then $s = \sup_{n \in \IN, \, s \geq 1/n } (s - 1/n)$, but there is no $n$ with $s \leq s - 1/n$.' -), -( - 'real_interval', - 'direct', - FALSE, - 'Consider the strictly decreasing sequence $1/2^n$ for $n \geq 0$.' -), -( - 'real_interval', - 'inverse', - FALSE, - 'Consider the strictly increasing sequence $1 - 1/2^n$ for $n \geq 0$.' -); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/sSet.sql b/databases/catdat/data/003_category-property-assignments/sSet.sql deleted file mode 100644 index 969dc9b6..00000000 --- a/databases/catdat/data/003_category-property-assignments/sSet.sql +++ /dev/null @@ -1,49 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'sSet', - 'locally small', - TRUE, - 'This follows from the general fact that $[\C,\D]$ is locally small when $\C$ is small and $\D$ is locally small, here applied to $\C = \Delta^{\op}$ and $\D = \Set$.' -), -( - 'sSet', - 'Grothendieck topos', - TRUE, - 'This is clear from the definitions.' -), -( - 'sSet', - 'generator', - TRUE, - 'Let $\Delta^n := \Hom([n],-)$ be the standard $n$-simplex for $n \geq 0$. The set $\{\Delta^n : n \geq 0\}$ is a generating set by the Yoneda Lemma. For all $n,m$ there is a morphism $[n] \to [m]$ in $\Delta$ and hence a morphism $\Delta^m \to \Delta^n$ in $\sSet$. Then by this lemma the coproduct $\coprod_{n \geq 0} \Delta^n$ is a generator in $\sSet$.' -), -( - 'sSet', - 'locally strongly finitely presentable', - TRUE, - 'This follows from the fact that every category of presheaves over a small category is locally strongly finitely presentable.' -), -( - 'sSet', - 'semi-strongly connected', - TRUE, - 'Let $X,Y$ be two simplicial sets. Assume that $X_0$ is empty. Then $X_n$ is empty for all $n$ since there is a morphism $[0] \to [n]$, hence a map $X_n \to X_0$. So there is a morphism $X \to Y$ for trivial reasons. If $X_0$ is non-empty, pick an element. By the Yoneda Lemma it corresponds to a morphism $\Delta^0 \to X$. Since $\Delta^0 = 1$ is terminal, there is a morphism $Y \to \Delta^0$, and these compose to a morphism $Y \to X$.' -), -( - 'sSet', - 'skeletal', - FALSE, - 'This is trivial.' -), -( - 'sSet', - 'finitary algebraic', - FALSE, - 'A one-sorted finitary algebraic category has an object $F$ (the free algebra on one generator) such that $F$ is finitely presentable and every object $X$ admits an epimorphism $\coprod_{s \in S} F \to X$ for some index set $S$. Assume that such a simplicial set $F$ exists. By using the sequence of $n$-skeletons of $F$, we see that there is some $n$ such that every $n$-simplex in $F$ is degenerate. Now take $X = \Delta^n$, which has a non-degenerate $n$-simplex. Then there cannot be an epimorphism $\coprod_{s \in S} F \to X$.' -); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/walking_commutative_square.sql b/databases/catdat/data/003_category-property-assignments/walking_commutative_square.sql deleted file mode 100644 index f4036a70..00000000 --- a/databases/catdat/data/003_category-property-assignments/walking_commutative_square.sql +++ /dev/null @@ -1,55 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'walking_commutative_square', - 'self-dual', - TRUE, - 'This is trivial.' -), -( - 'walking_commutative_square', - 'finite', - TRUE, - 'This is trivial.' -), -( - 'walking_commutative_square', - 'small', - TRUE, - 'This is trivial.' -), -( - 'walking_commutative_square', - 'skeletal', - TRUE, - 'The four objects are not isomorphic.' -), -( - 'walking_commutative_square', - 'locally cartesian closed', - TRUE, - 'This is because the walking morphism has this property.' -), -( - 'walking_commutative_square', - 'locally strongly finitely presentable', - TRUE, - 'This is because the walking morphism has this property. Alternatively, we may represent this category as the category of algebras for the finitary algebraic theory with two sorts $S_1,S_2$, the equation $x=y$ for $x,y \in S_1$, and the equation $x=y$ for $x,y \in S_2$.' -), -( - 'walking_commutative_square', - 'semi-strongly connected', - FALSE, - 'There is no morphism between $b$ and $c$ (resp., between $(0,1)$ and $(1,0)$).' -), -( - 'walking_commutative_square', - 'finitary algebraic', - FALSE, - 'This follows from this lemma.' -); diff --git a/databases/catdat/data/003_category-property-assignments/walking_composable_pair.sql b/databases/catdat/data/003_category-property-assignments/walking_composable_pair.sql deleted file mode 100644 index d0476dba..00000000 --- a/databases/catdat/data/003_category-property-assignments/walking_composable_pair.sql +++ /dev/null @@ -1,51 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'walking_composable_pair', - 'finite', - TRUE, - 'This is trivial.' -), -( - 'walking_composable_pair', - 'small', - TRUE, - 'This is trivial.' -), -( - 'walking_composable_pair', - 'semi-strongly connected', - TRUE, - 'This is trivial.' -), -( - 'walking_composable_pair', - 'skeletal', - TRUE, - 'This is trivial.' -), -( - 'walking_composable_pair', - 'self-dual', - TRUE, - 'This is trivial.' -), -( - 'walking_composable_pair', - 'finitary algebraic', - FALSE, - 'This follows from this lemma.' -), -( - 'walking_composable_pair', - 'locally strongly finitely presentable', - TRUE, - 'Take the two-sorted (finitary) algebraic theory with exactly one unary operation between them and the equation $x=y$ for each sort. There are exactly three algebras for this theory up to isomorphism: the identities on the empty set and the singleton, the morphism from the empty set to the singleton. - Hence we get the equivalence to $\{0 \to 1 \to 2\}$.' -) -; diff --git a/databases/catdat/data/003_category-property-assignments/walking_coreflexive_pair.sql b/databases/catdat/data/003_category-property-assignments/walking_coreflexive_pair.sql deleted file mode 100644 index 8f4db583..00000000 --- a/databases/catdat/data/003_category-property-assignments/walking_coreflexive_pair.sql +++ /dev/null @@ -1,110 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'walking_coreflexive_pair', - 'finite', - TRUE, - 'This is trivial.' -), -( - 'walking_coreflexive_pair', - 'small', - TRUE, - 'This is trivial.' -), -( - 'walking_coreflexive_pair', - 'strongly connected', - TRUE, - 'This is trivial.' -), -( - 'walking_coreflexive_pair', - 'gaunt', - TRUE, - 'This is obvious.' -), -( - 'walking_coreflexive_pair', - 'terminal object', - TRUE, - 'The object $[0]$ is terminal since it is already terminal in $\Delta$.' -), -( - 'walking_coreflexive_pair', - 'epi-regular', - TRUE, - 'The only non-identity epimorphism is $p$, which is the coequalizer of $\id, ip : [1] \rightrightarrows [1]$ (since $pi = \id$).' -), -( - 'walking_coreflexive_pair', - 'mono-regular', - TRUE, - 'The only non-identity monomorphisms are $i$ and $j$. The morphism $i$ is the equalizer of $\id, ip : [1] \rightrightarrows [1]$ (since $pi = \id$), and for $j$ it is the same argument.' -), -( - 'walking_coreflexive_pair', - 'coequalizers', - TRUE, - 'We already know that the simplex category $\Delta$ has coequalizers, and the proof has shown that the cardinality does not increase, so we are done. But a direct proof is also possible: There are four non-equal parallel pairs: $(i,j)$, $(ip,jp)$, $(\id,ip)$, and $(\id,jp)$. The first two have the same coequalizer (if it exists) since $p$ is an epimorphism, the last two are symmetric, and we already remarked that $p$ is a coequalizer of $(\id,ip)$. So it suffices to check that $p$ is a coequalizer of $i,j$, which is easy.' -), -( - 'walking_coreflexive_pair', - 'generator', - TRUE, - 'The object $[0]$ is generator since this is already true in $\Delta$. A direct proof is also possible.' -), -( - 'walking_coreflexive_pair', - 'cogenerator', - TRUE, - 'The object $[1]$ is cogenerator since this is already true in $\Delta$. A direct proof is also possible.' -), -( - 'walking_coreflexive_pair', - 'cosifted', - TRUE, - 'Our proof that the simplex category $\Delta$ is cosifted has only used $[0],[1]$ as auxiliary objects and therefore also shows that $\Delta^{\leq 1}$ is cosifted.' -), -( - 'walking_coreflexive_pair', - 'generalized variety', - TRUE, - 'This actually holds for every truncated simplex category $\Delta^{\leq n}$. See MO/510760 for a proof that sifted colimits exist. See MO/510827 for a proof that every object is strongly finitely presentable.' -), -( - 'walking_coreflexive_pair', - 'strict terminal object', - FALSE, - 'The morphism $i : [0] \to [1]$ from the terminal object $[0]$ is a witness.' -), -( - 'walking_coreflexive_pair', - 'cofiltered', - FALSE, - 'The morphisms $i,j : [0] \rightrightarrows [1]$ are not equalized by any morphism.' -), -( - 'walking_coreflexive_pair', - 'coreflexive equalizers', - FALSE, - 'The coreflexive pair $i,j : [0] \rightrightarrows [1]$ has no equalizer, in fact is not equalized by any morphism.' -), -( - 'walking_coreflexive_pair', - 'pushouts', - FALSE, - 'Assume that $[1] \xleftarrow{i} [0] \xrightarrow{i} [1]$ has a pushout in $\Delta^{\leq 1}$, where $i(0)=0$. This amounts to a universal totally ordered set of cardinality $\leq 2$ with elements $a,b,c$ satisfying $a \leq b$, $a \leq c$. Since a finite totally ordered set has trivial automorphism group, the automorphism defined by $a \mapsto a$, $b \mapsto c$, $c \mapsto b$ must be the identity, i.e., we have $b = c$. However, in $[1]$ the equations $0 \leq 0$, $0 \leq 1$ then show that the universal property fails.' -), -( - -- TODO: remove this manual proof once locally multi-presentable is dualized, cf. #139 - 'walking_coreflexive_pair', - 'multi-complete', - FALSE, - 'This follows directly from existing results: If its dual, the walking reflexive pair, was multi-cocomplete, then since it is also accessible, it would be locally multi-presentable. But then it would have connected limits, in particular pullbacks.' -); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/walking_fork.sql b/databases/catdat/data/003_category-property-assignments/walking_fork.sql deleted file mode 100644 index 9aa0de2b..00000000 --- a/databases/catdat/data/003_category-property-assignments/walking_fork.sql +++ /dev/null @@ -1,85 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'walking_fork', - 'finite', - TRUE, - 'This is trivial.' -), -( - 'walking_fork', - 'small', - TRUE, - 'This is trivial.' -), -( - 'walking_fork', - 'semi-strongly connected', - TRUE, - 'This is obvious.' -), -( - 'walking_fork', - 'skeletal', - TRUE, - 'The three objects are clearly not isomorphic.' -), -( - 'walking_fork', - 'generator', - TRUE, - 'It is easy to check that $1$ is a generator.' -), -( - 'walking_fork', - 'cogenerator', - TRUE, - 'It is easy to check that $2$ is a cogenerator.' -), -( - 'walking_fork', - 'left cancellative', - TRUE, - 'It is easy to check that $i,f,g$ are monomorphisms.' -), -( - 'walking_fork', - 'equalizers', - TRUE, - 'The only pair of distinct parallel morphisms is $f,g$, and their equalizer is $i$.' -), -( - 'walking_fork', - 'locally cartesian closed', - TRUE, - 'We need to check that every slice category is cartesian closed. The slice category over $0$ is the trivial category. The slice category over $1$ is the walking morphism. Finally, the slice category over $2$ ist the walking commutative square. All of these are cartesian closed, see their pages for details.' -), -( - 'walking_fork', - 'one-way', - TRUE, - 'This is trivial.' -), -( - 'walking_fork', - 'balanced', - FALSE, - 'Both $f$ and $g$ are monomorphisms and epimorphisms.' -), -( - 'walking_fork', - 'binary powers', - FALSE, - 'Assume that $X := 2 \times 2$ exists. Since there is a diagonal morphism $2 \to X$, we must have $X = 2$, and the two projections $p_1,p_2 : X \rightrightarrows 2$ must be equal to the identity. But $f,g$ induce a morphism $(f,g) : 1 \to X$ with $p_1 (f,g) = f$ and $p_2 (f,g) = g$, so that $f=g$, a contradiction.' -), -( - 'walking_fork', - 'strongly connected', - FALSE, - 'There is no morphism $1 \to 0$.' -); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/walking_idempotent.sql b/databases/catdat/data/003_category-property-assignments/walking_idempotent.sql deleted file mode 100644 index 867fa35e..00000000 --- a/databases/catdat/data/003_category-property-assignments/walking_idempotent.sql +++ /dev/null @@ -1,67 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'walking_idempotent', - 'finite', - TRUE, - 'This is trivial.' -), -( - 'walking_idempotent', - 'small', - TRUE, - 'This is trivial.' -), -( - 'walking_idempotent', - 'generator', - TRUE, - 'The unique object is a generator for trivial reasons.' -), -( - 'walking_idempotent', - 'gaunt', - TRUE, - 'This is obvious.' -), -( - 'walking_idempotent', - 'self-dual', - TRUE, - 'This is obvious.' -), -( - 'walking_idempotent', - 'subobject-trivial', - TRUE, - 'This is because the identity is the only monomorphism.' -), -( - 'walking_idempotent', - 'preadditive', - TRUE, - 'The monoid $\{1,e\}$ with $e^2=e$ is the underlying multiplicative monoid of the ring $\IZ/2$, where $e=0$. Thus, the (unique) preadditive structure is given by $1 + e = e + 1 = 1$, $e + e = e$ and $1 + 1 = e$.' -), -( - 'walking_idempotent', - 'filtered', - TRUE, - 'The pair $\id,e$ is coequalized by $e$ (non-universally).' -), -( - 'walking_idempotent', - 'terminal object', - FALSE, - 'This is obvious.' -), -( - 'walking_idempotent', - 'Cauchy complete', - FALSE, - 'The idempotent $e$ does not split.' -); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/walking_isomorphism.sql b/databases/catdat/data/003_category-property-assignments/walking_isomorphism.sql deleted file mode 100644 index e11c8406..00000000 --- a/databases/catdat/data/003_category-property-assignments/walking_isomorphism.sql +++ /dev/null @@ -1,31 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'walking_isomorphism', - 'trivial', - TRUE, - 'The inclusion $\{0\} \hookrightarrow \{0 \to 1\}$ is clearly an equivalence.' -), -( - 'walking_isomorphism', - 'finite', - TRUE, - 'This is trivial.' -), -( - 'walking_isomorphism', - 'small', - TRUE, - 'This is trivial.' -), -( - 'walking_isomorphism', - 'skeletal', - FALSE, - 'The two objects are isomorphic, but different.' -); diff --git a/databases/catdat/data/003_category-property-assignments/walking_morphism.sql b/databases/catdat/data/003_category-property-assignments/walking_morphism.sql deleted file mode 100644 index 0012a822..00000000 --- a/databases/catdat/data/003_category-property-assignments/walking_morphism.sql +++ /dev/null @@ -1,49 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'walking_morphism', - 'finitary algebraic', - TRUE, - 'Take the algebraic theory with no operations but with the equation $x=y$ that is supposed to hold for all elements $x,y$. The algebras for this theory are the empty set and the singleton set, hence we get the equivalence to $\{0 \to 1\}$.' -), -( - 'walking_morphism', - 'self-dual', - TRUE, - 'This is trivial.' -), -( - 'walking_morphism', - 'finite', - TRUE, - 'This is trivial.' -), -( - 'walking_morphism', - 'small', - TRUE, - 'This is trivial.' -), -( - 'walking_morphism', - 'skeletal', - TRUE, - 'The two objects are not isomorphic.' -), -( - 'walking_morphism', - 'semi-strongly connected', - TRUE, - 'This is trivial.' -), -( - 'walking_morphism', - 'trivial', - FALSE, - 'This is trivial.' -); diff --git a/databases/catdat/data/003_category-property-assignments/walking_pair.sql b/databases/catdat/data/003_category-property-assignments/walking_pair.sql deleted file mode 100644 index 06acd814..00000000 --- a/databases/catdat/data/003_category-property-assignments/walking_pair.sql +++ /dev/null @@ -1,73 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'walking_pair', - 'finite', - TRUE, - 'This is trivial.' -), -( - 'walking_pair', - 'small', - TRUE, - 'This is trivial.' -), -( - 'walking_pair', - 'self-dual', - TRUE, - 'This is trivial.' -), -( - 'walking_pair', - 'semi-strongly connected', - TRUE, - 'This is trivial.' -), -( - 'walking_pair', - 'generator', - TRUE, - 'It is easy to check that $0$ is a generator.' -), -( - 'walking_pair', - 'left cancellative', - TRUE, - 'The two morphisms $0 \rightrightarrows 1$ are clearly monomorphisms.' -), -( - 'walking_pair', - 'skeletal', - TRUE, - 'The two objects are not isomorphic.' -), -( - 'walking_pair', - 'one-way', - TRUE, - 'This is trivial.' -), -( - 'walking_pair', - 'pullbacks', - FALSE, - 'The two morphisms $a,b : 0 \rightrightarrows 1$ have no pullback, since it would have to consist of identities $0 \leftarrow 0 \rightarrow 0$, but $a \neq b$.' -), -( - 'walking_pair', - 'sifted colimits', - TRUE, - 'A proof can be found here.' -), -( - 'walking_pair', - 'strongly connected', - FALSE, - 'There is no morphism $1 \to 0$.' -); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/walking_span.sql b/databases/catdat/data/003_category-property-assignments/walking_span.sql deleted file mode 100644 index 37569e2a..00000000 --- a/databases/catdat/data/003_category-property-assignments/walking_span.sql +++ /dev/null @@ -1,61 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'walking_span', - 'finite', - TRUE, - 'This is trivial.' -), -( - 'walking_span', - 'small', - TRUE, - 'This is trivial.' -), -( - 'walking_span', - 'skeletal', - TRUE, - 'The three objects are not isomorphic.' -), -( - 'walking_span', - 'initial object', - TRUE, - '$0$ is an initial object.' -), -( - 'walking_span', - 'thin', - TRUE, - 'This is trivial.' -), -( - 'walking_span', - 'binary products', - TRUE, - 'We have $0 \times x = 0$ for all $x$, $x \times x = x$, and $1 \times 2 = 0$.' -), -( - 'walking_span', - 'locally cartesian closed', - TRUE, - 'The slice category over $0$ is the trivial category, and the slice category over $1$ is the interval category, which is cartesian closed (see there). The same holds for $2$ by symmetry.' -), -( - 'walking_span', - 'multi-algebraic', - TRUE, - 'We first remark that for a set $X$, the identity span $(\id,\id)\colon X \leftarrow X \rightarrow X$ exhibits a product if and only if $X$ is either a singleton or the empty set. Therefore, there is a (finite product, coproduct)-sketch whose $\Set$-model is precisely a pair $(X,Y)$ of sets such that each of $X$ and $Y$ is either a singleton or the empty set and the product $X \times Y$ is the empty set. Any $\Set$-model of such a sketch is isomorphic to either $(\varnothing, \varnothing)$, $(\varnothing, 1)$, or $(1, \varnothing)$; hence the category of models is equivalent to the walking span.' -), -( - 'walking_span', - 'sifted', - FALSE, - 'There is no cospan between $1$ and $2$.' -); \ No newline at end of file diff --git a/databases/catdat/data/003_category-property-assignments/walking_splitting.sql b/databases/catdat/data/003_category-property-assignments/walking_splitting.sql deleted file mode 100644 index ac235e41..00000000 --- a/databases/catdat/data/003_category-property-assignments/walking_splitting.sql +++ /dev/null @@ -1,87 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'walking_splitting', - 'finite', - TRUE, - 'This is trivial.' -), -( - 'walking_splitting', - 'small', - TRUE, - 'This is trivial.' -), -( - 'walking_splitting', - 'gaunt', - TRUE, - 'This is obvious.' -), -( - 'walking_splitting', - 'pointed', - TRUE, - 'The object $0$ is initial and terminal. This also means that $\id_0, i, p, ip$ are zero morphisms. The only non-zero morphism is $\id_1$.' -), -( - 'walking_splitting', - 'equalizers', - TRUE, - 'The only parallel pair of non-equal morphisms is $\id_1, ip : 1 \rightrightarrows 1$, and their equalizer is $i$.' -), -( - 'walking_splitting', - 'self-dual', - TRUE, - 'There is an isomorphism $\Split^\op \to \Split$ defined by $0 \mapsto 0$, $1 \mapsto 1$, $i \mapsto p$, $p \mapsto i$.' -), -( - 'walking_splitting', - 'normal', - TRUE, - 'The only non-identity monomorphism is $i : 0 \to 1$, which is the kernel of $\id_1$.' -), -( - 'walking_splitting', - 'generator', - TRUE, - 'The object $1$ a generator, since the only parallel pair of non-equal morphisms is $\id_1, ip : 1 \rightrightarrows 1$ with domain $1$.' -), -( - 'walking_splitting', - 'preadditive', - TRUE, - 'We can define $\id_1 + \id_1 := ip$ (and it is clear how to add zero morphisms) and then verify that the axioms of a preadditive category hold. Alternatively, it suffices to find a preadditive category which is isomorphic to the walking splitting: Consider the full subcategory of $\Vect_{\IF_2}$ that consists only of the trivial vector space $\{0\}$ and $\IF_2$. Since $\Vect_{\IF_2}$ is preadditive, it is preadditive as well. It has two objects, two identities, the morphisms $i : \{0\} \to \IF_2$, $p : \IF_2 \to \{0\}$, and the zero morphism $ip : \IF_2 \to \IF_2$. Clearly, $pi$ is the identity.' -), -( - 'walking_splitting', - 'sifted colimits', - TRUE, - 'We work with the representation of the category as $\Vect^{\leq 1}_{\IF_2}$, the category of vector spaces over $\IF_2$ of dimension $\leq 1$. It suffices to show that it is closed under sifted colimits in $\Vect_{\IF_2}$. More generally, we show this for $\Vect^{\leq d}_K \subseteq \Vect_K$, where $d \in \IN$ and $K$ is a field. So let $X : \I \to \Vect_K$ be a sifted diagram with colimit $(u_i : X_i \to X_\infty)_{i \in \I}$. Since $\I$ is sifted, for finitely many objects $i_1,\dotsc,i_n \in \I$ there is an object $k$ that admits morphisms $i_1 \to k, \dotsc, i_n \to k$; this is all we need to know about $\I$. Assume that each $X_i$ is of dimension $\leq d$, we need to show this for $X_\infty$ as well.
- Every element in $X_\infty$ is a finite sum of elements of the form $u_i(x_i)$ with $x_i \in X_i$. Choose an object $k$ with morphisms $i \to k$ for every occurring $i$. If $y_i \in X_k$ denotes the image of $x_i$, we get $\sum_i u_i(x_i) = \sum_i u_k(y_i) = u_k(\sum_i y_i)$. Therefore, every element of $X_\infty$ has the form $u_i(x_i)$ for some $i \in \I$ and $x_i \in X_i$. Moreover, for finitely many elements in $X_\infty$ the index $i$ may be chosen uniformly.
- Now, if $X_\infty$ has dimension $> d$, it would have linearly independent vectors $v_0,\dotsc,v_d$, all of which have a preimage in $X_i$ for some $i \in \I$. But then these preimages would be linearly independent as well, which contradicts $\dim(X_i) \leq d$.' -), -( - 'walking_splitting', - 'generalized variety', - TRUE, - 'Again we work with $\Vect^{\leq 1}_{\IF_2}$. We already know that it has sifted colimits and that the embedding to $\Vect_{\IF_2}$ preserves them. The object $0$ is initial and hence strongly finitely presentable. The object $\IF_2$ is strongly finitely presentable in $\Vect^{\leq 1}_{\IF_2}$ since its hom-functor is the composition of the embedding and the forgetful functor $\Vect_{\IF_2} \to \Set$, and the latter preserves sifted colimits by [AR01, Lemma 3.3] applied to $\IF_2 \in \Vect_{\IF_2}$.' -), -( - 'walking_splitting', - 'one-way', - FALSE, - 'The morphism $ip : 1 \to 1$ provides a counterexample.' -); - --- properties that should be ignored by the redundancy check script -UPDATE category_property_assignments -SET check_redundancy = FALSE -WHERE category_id = 'walking_splitting' -AND property_id IN ('sifted colimits'); \ No newline at end of file diff --git a/databases/catdat/data/004_category-implications/001_limits-colimits-existence-implications.sql b/databases/catdat/data/004_category-implications/001_limits-colimits-existence-implications.sql deleted file mode 100644 index 2c50a7f9..00000000 --- a/databases/catdat/data/004_category-implications/001_limits-colimits-existence-implications.sql +++ /dev/null @@ -1,323 +0,0 @@ -INSERT INTO category_implications_view ( - id, - assumptions, - conclusions, - reason, - is_equivalence -) -VALUES -( - 'complete_consequence', - '["complete"]', - '["finitely complete", "connected limits"]', - 'This is trivial.', - FALSE -), -( - 'sifted_categories_are_connected', - '["connected colimits"]', - '["sifted colimits"]', - 'This is because every sifted category is connected.', - FALSE -), -( - 'sifted_colimits_consequence', - '["sifted colimits"]', - '["filtered colimits", "reflexive coequalizers"]', - 'This is because filtered categories are sifted and because the index category for a reflexive coequalizer is sifted.', - FALSE -), -( - 'sifted_colimits_criterion', - '["pullbacks", "reflexive coequalizers", "filtered colimits"]', - '["sifted colimits"]', - 'See Cor. 5.2 in Chen''s paper.', - FALSE -), -( - 'coreflexive_equalizers_are_equalizers', - '["equalizers"]', - '["coreflexive equalizers"]', - 'This is trivial.', - FALSE -), -( - 'equalizers_via_coreflexive_equalizers', - '["coreflexive equalizers", "binary products"]', - '["equalizers"]', - 'If $f,g : X \rightrightarrows Y$ are two morphisms, we have a coreflexive pair $(\id_X,f), (\id_X,g) : X \rightrightarrows X \times Y$. A morphism with codomain $X$ equalizes $f$ and $g$ if and only if it equalizes $(\id_X,f)$ and $(\id_X,g)$. Thus, their equalizers agree.', - FALSE -), -( - 'congruence_quotients_are_reflexive_coequalizers', - '["reflexive coequalizers"]', - '["quotients of congruences"]', - 'A congruence $E \rightrightarrows X$ has a common section $X \to E$ given by the reflexivity morphism.', - FALSE -), -( - 'cokernels_via_congruence_quotients', - '["preadditive", "regular", "quotients of congruences"]', - '["cokernels"]', - 'By the regularity assumption, it suffices to consider cokernels of subobjects. Given a subobject $Y$ of $X$, we have the congruence on $X$ given by the pullback of ${-} : X \times X \to X$ and $Y$. The quotient of this congruence is a cokernel of $Y \hookrightarrow X$.', - FALSE -), -( - 'congruence_quotients_via_cokernels', - '["preadditive", "kernels", "cokernels"]', - '["quotients of congruences"]', - 'For any congruence $E$ on an object $X$ of a preadditive category, let $E_0$ be the kernel of $p_2 : E \to X$. The restriction of $p_1$ to $E_0$ is a monomorphism. We can then see that $E$ must be the pullback of $p_1 - p_2 : E \to X$ and $E_0 \hookrightarrow X$. Then the cokernel of $E_0 \hookrightarrow X$ is a quotient of $E$.', - FALSE -), -( - 'products_consequences', - '["products"]', - '["finite products", "countable products", "powers"]', - 'This is trivial.', - FALSE -), -( - 'finite_products_characterization', - '["finite products"]', - '["terminal object", "binary products"]', - 'The non-trivial direction follows since finite products can be constructed recursively via $X_1 \times \cdots \times X_{n+1} = (X_1 \times \cdots \times X_n) \times X_{n+1}$.', - TRUE -), -( - 'products_criterion', - '["finite products", "cofiltered limits"]', - '["products"]', - 'The product $\prod_{i \in I} X_i$ is the cofiltered limit of the finite partial products $\prod_{i \in E} X_i$ where $E$ ranges over the finite subsets of $I$.', - FALSE -), -( - 'binary_products_criterion', - '["pullbacks", "terminal object"]', - '["binary products"]', - 'If $1$ is a terminal object, then $X \times_1 Y = X \times Y$.', - FALSE -), -( - 'countable_products_consequence', - '["countable products"]', - '["finite products", "countable powers"]', - 'This is trivial.', - FALSE -), -( - 'directed_limits_consequence', - '["directed limits"]', - '["sequential limits"]', - 'This is trivial.', - FALSE -), -( - 'complete_characterization', - '["complete"]', - '["products", "equalizers"]', - 'See Mac Lane, V.2, Thm. 2.', - TRUE -), -( - 'finitely_complete_characterization', - '["finitely complete"]', - '["finite products", "equalizers"]', - 'See Mac Lane, V.2, Cor. 1.', - TRUE -), -( - 'pullbacks_criterion', - '["binary products", "equalizers"]', - '["pullbacks"]', - 'The pullback of $f : X \to S$ and $g : Y \to S$ is the equalizer of $p_1 \circ f, \, p_2 \circ g : X \times Y \rightrightarrows S$.', - FALSE -), -( - 'equalizers_criterion', - '["binary products", "pullbacks"]', - '["equalizers"]', - 'The equalizer of $f,g : X \rightrightarrows Y$ is the pullback of $(f,g) : X \to Y \times Y$ with the diagonal $Y \to Y \times Y$.', - FALSE -), -( - 'equalizers_consequence', - '["equalizers"]', - '["Cauchy complete"]', - 'If $e : X \to X$ is an idempotent, then the equalizer of $e, \id_X : X \rightrightarrows X$ provides a splitting of $e$.', - FALSE -), -( - 'kernels_condition', - '["kernels"]', - '["zero morphisms"]', - 'This is part of our definition of having kernels.', - FALSE -), -( - 'kernels_criterion', - '["zero morphisms", "equalizers"]', - '["kernels"]', - 'This is trivial.', - FALSE -), -( - 'equalizers_via_kernels', - '["preadditive", "kernels"]', - '["equalizers"]', - 'The equalizer of $f,g$ is the kernel of $f-g$.', - FALSE -), -( - 'sequential_colimits_consequence', - '["sequential colimits"]', - '["Cauchy complete"]', - 'Assume that $e : X \to X$ is an idempotent morphism. Consider the sequence - $$X \xrightarrow{e} X \xrightarrow{e} X \to \cdots.$$ - A cocone under this sequence is a family of morphisms $f_n : X \to Y$ satisfying $$f_n = f_{n+1} e.$$ - Then - $$f_n = f_{n+1} e = f_{n+2} e^2 = f_{n+2} e = f_{n+1}$$ - shows that all the morphisms are equal. Thus, a cocone is the same as a morphism $f_0 : X \to Y$ with $f_0 = f_0 e$, meaning it coequalizes $\id_X,e : X \rightrightarrows X$. Hence, if a colimit exists, $e$ splits.', - FALSE -), -( - 'finite_filtered_colimits', - -- TODO: combine this with "finitely accessible" below - -- once its dual is added to the database. - '["essentially finite", "Cauchy complete"]', - '["filtered colimits", "filtered-colimit-stable monomorphisms"]', - 'We may assume that the category $\C$ is finite and Cauchy complete. The answer at MO/509853 shows that every filtered colimit in $\C$ exists, in fact it is a retract of one of the objects in the diagram. Now apply this to the morphism category of $\C$. It follows that for every filtered diagram of morphisms $X_i \to Y_i$ their colimit $X_\infty \to Y_\infty$ exists, which is a retract of one of the $X_i \to Y_i$. Therefore, if every $X_i \to Y_i$ is a monomorphism, also $X_\infty \to Y_\infty$ is a monomorphism.', - FALSE -), -( - 'finite_accessible', - '["essentially finite", "Cauchy complete"]', - '["finitely accessible"]', - 'See MO/509853, where it is in fact shown that the ind-completion of any finite Cauchy-complete category becomes itself.', - FALSE -), -( - 'directed_colimits_suffice', - '["directed colimits"]', - '["filtered colimits"]', - 'This is Theorem 1.5. in Adamek-Rosicky.', - TRUE -), -( - 'connected_limits_characterization', - '["connected limits"]', - '["wide pullbacks", "equalizers"]', - 'The direction $\Rightarrow$ is trivial. The direction $\Leftarrow$ can be found at the nLab.', - TRUE -), -( - 'complete_criterion', - '["wide pullbacks", "terminal object"]', - '["complete"]', - 'See the nLab.', - FALSE -), -( - 'wide_pullbacks_criterion', - '["wide pullbacks"]', - '["pullbacks", "cofiltered limits"]', - 'To prove $\Leftarrow$, a wide pullback can be constructed as a cofiltered limit of finite pullbacks, and finite pullbacks can be reduced to binary pullbacks (the empty-indexed pullback always exists). Conversely, assume that wide pullbacks exist in $\C$. For every object $A$ then the slice category $\C / A$ has wide pullbacks and a terminal object, hence is complete. Since a cofiltered limit can be finally reduced to such a slice, we are done.', - TRUE -), -( - 'wide_pullbacks_finite', - '["pullbacks", "essentially finite"]', - '["wide pullbacks"]', - 'Each slice category has finite products and is essentially finite, hence has all products by this result followed by this result.', - FALSE -), -( - 'sequential_limits_criterion', - '["equalizers", "countable products"]', - '["sequential limits"]', - 'See Mac Lane, V.2, Prop. 3. The proof can easily be adapted to this case. Namely, the limit of $\cdots \to X_2 \to X_1 \to X_0$ is the equalizer of two suitable endomorphisms of $\prod_{n \geq 0} X_n$.', - FALSE -), -( - 'countable_products_criterion', - '["finite products", "sequential limits"]', - '["countable products"]', - 'If $X_1,X_2,\dotsc$ is an infinite sequence of objects, then their product is the limit of the sequence $\cdots \to X_2 \times X_1 \to X_1$.', - FALSE -), -( - 'finite_products_include_finite_powers', - '["finite products"]', - '["finite powers"]', - 'This is trivial.', - FALSE -), -( - 'binary_products_include_binary_powers', - '["binary products"]', - '["binary powers"]', - 'This is trivial.', - FALSE -), -( - 'powers_include_countable_powers', - '["powers"]', - '["countable powers"]', - 'This is trivial.', - FALSE -), -( - 'countable_powers_include_finite_powers', - '["countable powers"]', - '["finite powers"]', - 'This is trivial.', - FALSE -), -( - 'finite_powers_consequences', - '["finite powers"]', - '["binary powers", "terminal object"]', - 'This is trivial.', - FALSE -), -( - 'countable_powers_criterion', - '["finite powers", "sequential limits"]', - '["countable powers"]', - 'We can write $X^{\IN}$ as the limit of the sequence $\cdots \to X^3 \to X^2 \to X \to 1$ with transition morphisms $f_n : X^{n+1} \to X^n$, $(x_1,\dotsc,x_{n+1}) \mapsto (x_1,\dotsc,x_n)$, i.e., $p_i f_n = p_i$ for $1 \leq i \leq n$.', - FALSE -), -( - 'powers_criterion', - '["finite powers", "cofiltered limits"]', - '["powers"]', - 'The product $X^I$ is the cofiltered limit of the finite powers $X^E$, where $E$ ranges over the finite subsets of $I$.', - FALSE -), -( - 'multi-complete_generalize_limits', - '["complete"]', - '["multi-complete"]', - 'Limits are precisely multi-limits such that the set of cones is singleton.', - FALSE -), -( - 'multi-terminal_special_case', - '["multi-complete"]', - '["multi-terminal object"]', - 'This is trivial.', - FALSE -), -( - 'multi-terminal_with_connected', - '["connected","multi-terminal object"]', - '["terminal object"]', - 'Let $(T_i)_{i\in I}$ be a multi-terminal object in a connected category $\C$. By definition of multi-terminal objects, for each object $C$, there are a unique index $i_C\in I$ and a unique morphism $C \to T_{i_C}$. Since the index $i_C$ is invariant under connected components, $I$ must be a singleton. The converse is trivial.', - TRUE -), -( - 'multi-complete_with_finite_coproducts', - '["multi-complete", "finite coproducts"]', - '["complete"]', - 'Let $D\colon \S \to \C$ be a small diagram in a category $\C$. Since $\C$ has finite coproducts, the category $\Cone(D)$ of cones over $D$ has finite coproducts. In particular, $\Cone(D)$ is connected, hence a multi-terminal object in it automatically becomes a terminal object.', - FALSE -); diff --git a/databases/catdat/data/004_category-implications/002_limits-colimits-behavior-implications.sql b/databases/catdat/data/004_category-implications/002_limits-colimits-behavior-implications.sql deleted file mode 100644 index d8237c35..00000000 --- a/databases/catdat/data/004_category-implications/002_limits-colimits-behavior-implications.sql +++ /dev/null @@ -1,297 +0,0 @@ -INSERT INTO category_implications_view ( - id, - assumptions, - conclusions, - reason, - is_equivalence -) -VALUES -( - 'biproducts_definition_consequences', - '["biproducts"]', - '["zero morphisms", "finite products", "finite coproducts"]', - 'This holds by definition of biproducts.', - FALSE -), -( - 'biproducts_unital', - '["biproducts", "finitely complete"]', - '["unital"]', - 'For all objects $X,Y$ the morphism $X \sqcup Y \to X \times Y$ is an isomorphism, hence a strong epimorphism.', - FALSE -), -( - 'biproducts_cartesian_filtered_colimits', - '["biproducts", "filtered colimits"]', - '["cartesian filtered colimits"]', - 'If $I$ is a finite set, the product functor $\C^I \to \C$ is isomorphic to the coproduct functor $\C^I \to \C$, hence preserves all colimits that exist in $\C$.', - FALSE -), -( - 'pointed_characterization', - '["pointed"]', - '["zero morphisms", "initial object"]', - 'This is easy.', - TRUE -), -( - 'disjoint_coproducts_equivalence', - '["disjoint coproducts"]', - '["coproducts", "disjoint finite coproducts"]', - 'This is easy.', - TRUE -), -( - 'disjoint_coproducts_consequence', - '["disjoint finite coproducts"]', - '["finite coproducts"]', - 'This holds by definition.', - FALSE -), -( - 'disjoint_coproducts_thin_trivial', - '["disjoint finite coproducts", "thin"]', - '["trivial"]', - 'For every object $A$ the two inclusions $A \rightrightarrows A + A$ must be equal, so their equalizer is $A$, but also $0$ since the coproduct is disjoint. Hence $A = 0$.', - FALSE -), -( - 'disjoint_coproducts_strict', - '["disjoint finite coproducts", "strict terminal object"]', - '["thin"]', - 'Let $1$ be the strict terminal object, and let $A$ be any object. Then $1 \to A + 1$ is an isomorphism, since $1$ is strict. Also, $A \to A + 1$ is a monomorphism by assumption. It follows that the unique morphism $u : A \to 1$ is a monomorphism. For all $f,g : B \to A$ we have $uf = ug$ (since $1$ is terminal), hence $f = g$.', - FALSE -), -( - 'exact_filtered_colimits_condition', - '["exact filtered colimits"]', - '["filtered colimits", "finitely complete"]', - 'This holds by definition.', - FALSE -), -( - 'exact_filtered_colimits_monos', - '["exact filtered colimits"]', - '["filtered-colimit-stable monomorphisms"]', - 'This is because $f : X \longrightarrow Y$ is a monomorphism iff the diagram - $$\begin{CD} X @>{\id}>> X \\ @V{\id}VV @VV{f}V \\ X @>>{f}> Y \end{CD}$$ - is a pullback, and if a functor preserves finite limits, it preserves pullbacks in particular.', - FALSE -), -( - 'cartesian_filtered_colimits_condition', - '["cartesian filtered colimits"]', - '["filtered colimits", "finite products"]', - 'This holds by definition.', - FALSE -), -( - 'exact_includes_cartesian_filtered_colimits', - '["exact filtered colimits"]', - '["cartesian filtered colimits"]', - 'If filtered colimits commute with finite limits, they commute with finite products in particular.', - FALSE -), -( - 'infinitary_distributive_assumption', - '["infinitary distributive"]', - '["finite products", "coproducts"]', - 'This holds by definition.', - FALSE -), -( - 'countably_distributive_assumption', - '["countably distributive"]', - '["finite products", "countable coproducts"]', - 'This holds by definition.', - FALSE -), -( - 'distributive_assumption', - '["distributive"]', - '["finite products", "finite coproducts"]', - 'This holds by definition.', - FALSE -), -( - 'infinitary_distributive_trivial', - '["infinitary distributive"]', - '["countably distributive"]', - 'This is trivial.', - FALSE -), -( - 'countably_distributive_trivial', - '["countably distributive"]', - '["distributive"]', - 'This is trivial.', - FALSE -), -( - 'distributive_duality', - '["thin", "distributive"]', - '["codistributive"]', - 'This is equivalent to the classical result that the distributivity law in a lattice can be defined in two ways, see e.g. Birkhoff, Lattice Theory, Ch. IX, Thm. 1.', - FALSE -), -( - 'strict_initial_consequence', - '["strict initial object"]', - '["initial object"]', - 'This holds by definition.', - FALSE -), -( - 'strict_initial_trivial', - '["strict initial object", "pointed"]', - '["trivial"]', - 'If $0$ is the zero object, then for every object $A$ the unique morphism $A \to 0$ is an isomorphism by assumption.', - FALSE -), -( - 'strict_initial_left_criterion', - '["left cancellative", "initial object"]', - '["strict initial object"]', - 'It suffices to prove that in general any monomorphism $f : A \to 0$ into an initial object is an isomorphism. If $g : 0 \to A$ is the unique morphism, then $f \circ g = \id_0$ since $0$ is initial. But then $f$ is a split epimorphism and a monomorphism, hence an isomorphism.', - FALSE -), -( - 'strict_initial_right_criterion', - '["right cancellative", "initial object"]', - '["strict initial object"]', - 'Let $f : A \to 0$ be a morphism. Let $g : 0 \to A$ be the unique morphism. It is an epimorphism by assumption. Also, $f \circ g = \id_0$ since $0$ is initial. But then $g$ is a split monomorphism and an epimorphism, hence an isomorphism.', - FALSE -), -( - 'extensive_assumption', - '["extensive"]', - '["finite coproducts"]', - 'This holds by definition.', - FALSE -), -( - 'infinitary_extensive_assumption', - '["infinitary extensive"]', - '["coproducts"]', - 'This holds by definition.', - FALSE -), -( - 'infinitary_extensive_finitary', - '["infinitary extensive"]', - '["extensive"]', - 'This is obvious.', - FALSE -), -( - 'extensive_cocartesian_cofiltered_limits', - '["extensive", "cofiltered limits", "terminal object"]', - '["cocartesian cofiltered limits"]', - 'Let $\C$ be an extensive category with cofiltered limits and a terminal object. Then the coproduct functor $\C \times \C \cong \C/1 \times \C/1 \to \C/(1+1)$ is an equivalence. The forgetful functor $\C/A \to \C$ creates connected limits, and hence preserves cofiltered limits. For every $X \in \C$ the functor $(X,-) : \C \to \C \times \C$ also preserves cofiltered limits. The composition of these functors is $X \sqcup - : \C \to \C$ and therefore also preserves cofiltered limits.', - FALSE -), -( - 'distributive_consequence', - '["distributive"]', - '["strict initial object"]', - 'See the nLab or Prop. 3.4 in Introduction to extensive and distributive categories.', - FALSE -), -( - 'distributive_criterion', - '["cartesian closed", "finite coproducts"]', - '["distributive"]', - 'Each functor $A \times -$ is left adjoint and hence preserves finite coproducts (in fact, all colimits).', - FALSE -), -( - 'countably_distributive_criterion', - '["cartesian closed", "countable coproducts"]', - '["countably distributive"]', - 'Each functor $A \times -$ is left adjoint and hence preserves countable coproducts (in fact, all colimits).', - FALSE -), -( - 'infinitary_distributive_criterion', - '["cartesian closed", "coproducts"]', - '["infinitary distributive"]', - 'Each functor $A \times -$ is left adjoint and hence preserves coproducts (in fact, all colimits).', - FALSE -), -( - 'infinite_distributive_filtered_criterion', - '["distributive", "cartesian filtered colimits", "coproducts"]', - '["infinitary distributive"]', - 'Each functor $A \times -$ preserves finite coproducts and filtered colimits, hence all coproducts.', - FALSE -), -( - 'countably_distributive_filtered_criterion', - '["distributive", "cartesian filtered colimits", "countable coproducts"]', - '["countably distributive"]', - 'Each functor $A \times -$ preserves finite coproducts and filtered colimits, hence all countable coproducts.', - FALSE -), -( - 'extensive_consequences', - '["extensive"]', - '["disjoint finite coproducts", "strict initial object"]', - 'These are Prop. 2.6 and 2.8 in Introduction to extensive and distributive categories.', - FALSE -), -( - 'extensive_distributivity', - '["extensive", "finite products"]', - '["distributive"]', - 'This is Prop. 4.5 in Introduction to extensive and distributive categories.', - FALSE -), -( - 'infinitary_extensive_distributivity', - '["infinitary extensive", "finite products"]', - '["infinitary distributive"]', - 'One can adjust the proof of Prop. 4.5 in Introduction to extensive and distributive categories (which deals with the finite case).', - FALSE -), -( - 'regular_def', - '["regular"]', - '["finitely complete"]', - 'This holds by definition of a regular category.', - FALSE -), -( - 'power_construction', - '["copowers", "cartesian closed"]', - '["powers"]', - 'The power $X^I$ can be constructed as $[I \otimes 1, X]$ because - $$\begin{align*} - \Hom(T,[I \otimes 1, X]) & \cong \Hom(T \times (I \otimes 1),X) \\ - & \cong \Hom(I \otimes (T \times 1),X) \\ - & \cong \Hom(I \otimes T,X) \\ - & \cong \Hom(T,X)^I. - \end{align*}$$ - In the second isomorphism we have used that $T \times -$ preserves copowers, which is true because it is a left adjoint.', - FALSE -), -( - 'countable_power_construction', - '["countable copowers", "cartesian closed"]', - '["countable powers"]', - 'We can recycle this proof.', - FALSE -), -( - 'CIP_assumption', - '["CIP"]', - '["zero morphisms", "products", "coproducts"]', - 'This is true by definition.', - FALSE -), -( - 'CIP_criterion', - '["biproducts", "products", "filtered colimits", "filtered-colimit-stable monomorphisms"]', - '["CIP"]', - 'Let $(X_i)_{i \in I}$ be a family of objects. For every finite subset $E \subseteq I$ the canonical morphism $\coprod_{i \in E} X_i = \prod_{i \in E} X_i \to \prod_{i \in I} X_i$ is a (split) monomorphism. Hence, their colimit is also a monomorphism, which is the canonical morphism $\coprod_{i \in I} X_i \to \prod_{i \in I} X_i$.', - FALSE -); \ No newline at end of file diff --git a/databases/catdat/data/004_category-implications/003_size-constraints-implications.sql b/databases/catdat/data/004_category-implications/003_size-constraints-implications.sql deleted file mode 100644 index d649edaf..00000000 --- a/databases/catdat/data/004_category-implications/003_size-constraints-implications.sql +++ /dev/null @@ -1,78 +0,0 @@ -INSERT INTO category_implications_view ( - id, - assumptions, - conclusions, - reason, - is_equivalence -) -VALUES -( - 'small_consequence', - '["small"]', - '["locally small", "essentially small"]', - 'This is trivial.', - FALSE -), -( - 'essentially_small_consequences', - '["essentially small"]', - '["well-powered", "well-copowered", "locally essentially small", "generating set"]', - 'This is trivial.', - FALSE -), -( - 'finite_consequence', - '["finite"]', - '["countable", "essentially finite"]', - 'This is trivial.', - FALSE -), -( - 'essentially_finite_raise', - '["essentially finite"]', - '["essentially countable"]', - 'This is trivial.', - FALSE -), -( - 'countable_consequence', - '["countable"]', - '["essentially countable"]', - 'This is trivial.', - FALSE -), -( - 'essentially_countable_consequence', - '["essentially countable"]', - '["essentially small"]', - 'This is trivial.', - FALSE -), -( - 'locally_small_consequence', - '["locally small"]', - '["locally essentially small"]', - 'This is trivial.', - FALSE -), -( - 'generator_consequence', - '["generator"]', - '["inhabited", "generating set"]', - 'This is trivial.', - FALSE -), -( - 'generator_via_coproduct', - '["generating set", "coproducts", "zero morphisms"]', - '["generator"]', - 'If $S$ is a generating set, we claim that $U := \coprod_{G \in S} G$ is a generator. Let $f,g : A \rightrightarrows B$ be two morphisms with $f h = g h$ for all $h : U \to A$. If $G \in S$, any morphism $G \to A$ extends to $U$ by using zero morphisms outside of $G$. Thus, $fh = gh$ holds for all $h : G \to A$ and $G \in S$. Since $S$ is a generating set, this implies $f = g$.', - FALSE -), -( - 'free-algebra-generates', - '["finitary algebraic"]', - '["generator"]', - 'Pick an algebraic theory that represents the category. The free algebra $F(1)$ on one generator is a generator since morphisms $F(1) \to X$ correspond to the elements of (the underlying set of) the algebra $X$.', - FALSE -); \ No newline at end of file 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 deleted file mode 100644 index 4196ec49..00000000 --- a/databases/catdat/data/004_category-implications/004_morphism-behavior-implications.sql +++ /dev/null @@ -1,233 +0,0 @@ -INSERT INTO category_implications_view ( - id, - assumptions, - conclusions, - reason, - is_equivalence -) -VALUES -( - 'cancellative_consequence', - '["right cancellative", "equalizers"]', - '["thin"]', - 'If $f,g$ are two parallel morphisms, then their equalizer is a regular monomorphism, but also an epimorphism by assumption, so it must be an isomorphism. But this means that $f = g$.', - FALSE -), -( - 'zero-no-mono', - '["left cancellative", "zero morphisms"]', - '["thin"]', - 'If $f,g : A \rightrightarrows B$ are two morphisms, then $0_{B,B} \circ f = 0_{A,B} = 0_{B,B} \circ g$, so that $f = g$.', - FALSE -), -( - 'codiagonal-no-mono', - '["left cancellative", "binary copowers"]', - '["thin"]', - 'For every object $A$ the codiagonal $A + A \to A$ is a split epimorphism, and by assumption a monomorphism, hence an isomorphism. Hence, the two inclusions $i_1,i_2 : A \rightrightarrows A + A$ coincide. Now, if $f, g : A \rightrightarrows B$ are two morphisms, consider the induced morphism $h : A + A \to B$ and compute $f = h \circ i_1 = h \circ i_2 = g$.', - FALSE -), -( - 'cauchy_complete_criterion', - '["left cancellative"]', - '["Cauchy complete"]', - 'Any idempotent monomorphism must be the identity and therefore splits.', - FALSE -), -( - 'reflexive_pair_trivial', - '["left cancellative"]', - '["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 -), -( - 'reflexive_pair_trivial_2', - '["subobject-trivial"]', - '["reflexive coequalizers", "coreflexive equalizers"]', - 'Any parallel pair of morphisms with a common section (or retraction) must be a pair of equal isomorphisms.', - FALSE -), -( - 'groupoid_consequence', - '["groupoid"]', - '["self-dual", "mono-regular", "pullbacks", "directed limits", "left cancellative", "well-powered"]', - 'This is easy.', - FALSE -), -( - 'groupoid_criterion', - '["left cancellative", "right cancellative", "balanced"]', - '["groupoid"]', - 'This is trivial.', - FALSE -), -( - 'groupoid_connected', - '["groupoid", "connected"]', - '["strongly connected"]', - 'This is trivial.', - FALSE -), -( - 'groupoid_lcc', - '["groupoid"]', - '["locally cartesian closed"]', - 'Every slice category is a trivial category.', - FALSE -), -( - 'mono_regular_consequence', - '["mono-regular"]', - '["balanced"]', - 'Any regular monomorphism that is an epimorphism must be an isomorphism.', - FALSE -), -( - 'normal_condition', - '["normal"]', - '["zero morphisms"]', - 'This is part of our definition of a normal category.', - FALSE -), -( - 'mono_regular_via_kernels', - '["normal"]', - '["mono-regular"]', - 'This is trivial.', - FALSE -), -( - 'normal_criterion', - '["mono-regular", "preadditive"]', - '["normal"]', - 'The a monomorphism is the equalizer of $f,g$, it is the kernel of $f-g$.', - FALSE -), -( - 'direct_implies_one-way', - '["direct"]', - '["one-way", "skeletal"]', - 'The category is one-way since any non-identity endomorphism yields an infinite sequence of equal non-identity morphisms. The category is skeletal since any non-identity isomorphism $f : A \to B$ yields the infinite sequence $\dotsc,f^{-1},f,f^{-1},f$.', - FALSE -), -( - 'thin_consequences', - '["thin"]', - '["one-way", "locally essentially small", "generating set"]', - 'This is trivial. The empty set is generating.', - FALSE -), -( - 'one-way_zero', - '["zero morphisms", "one-way"]', - '["thin"]', - 'If $f,g : A \rightrightarrows B$ are two morphisms, then since $0_{B,B} = \id_B$ we have - $$f = 0_{B,B} \circ f = 0_{A,B} = 0_{B,B} \circ g = g.$$', - FALSE -), -( - 'direct_criterion', - '["skeletal", "one-way", "finite"]', - '["direct"]', - 'See the nLab for a proof.', - FALSE -), -( - 'one-way_implies_core-thin', - '["one-way"]', - '["core-thin"]', - 'This is trivial.', - FALSE -), -( - 'core-thin_products_thin', - '["core-thin", "binary powers"]', - '["thin"]', - 'Let $X$ be any object. The swap $\tau : X \times X \to X \times X$ is an automorphism, hence equal to the identity. It follows that the projections $p_1,p_2 : X \times X \rightrightarrows X$ are the same. And this means that every two morphisms $Y \rightrightarrows X$ are the same.', - FALSE -), -( - 'direct_implies_sequential_limits', - '["direct"]', - '["sequential limits"]', - 'Assume that $\cdots \to A_2 \to A_1 \to A_0$ is a sequence of morphisms. We will prove that almost all of them are identities, so that the sequence is eventually constant and the limit exists. Assume the opposite, i.e. that there are infinitely many $A_k \to A_{k-1}$ which are not the identity. Pick some $n_1$ such that $A_{n_1} \to A_{n_1 - 1}$ is not the identity, and let $n_0 := n_1 - 1$. If $A_{n_i} \to A_{n_{i-1}}$ has been constructed, there is some $n_{i+1} > n_i$ such that the composite $A_{n_{i+1}} \to A_{n_i}$ is not the identity, because otherwise it would follow inductively that all $A_{k+1} \to A_k$, $k \geq n_i$ would be identities, which would contradict our infiniteness assumption. This way we construct an infinite sequence of non-identity morphisms $A_{n_{i+1}} \to A_{n_i}$, a contradiction.', - FALSE -), -( - 'one-way_reflexive', - '["one-way"]', - '["reflexive coequalizers"]', - 'Every reflexive pair is equal: If $f s = g s = \id$, then since $s f = \id$ (one-way), we must have $f = s^{-1}$, and likewise $g = s^{-1}$.', - FALSE -), -( - 'filtered_monos_assumption', - '["filtered-colimit-stable monomorphisms"]', - '["filtered colimits"]', - 'This holds by definition.', - FALSE -), -( - 'filtered_monos_trivial', - '["left cancellative", "filtered colimits"]', - '["filtered-colimit-stable monomorphisms"]', - 'This is trivial.', - FALSE -), -( - 'filtered_monos_iso', - '["subobject-trivial", "filtered colimits"]', - '["filtered-colimit-stable monomorphisms"]', - 'This is trivial.', - FALSE -), -( - 'thin_groupoids', - '["groupoid", "core-thin"]', - '["thin"]', - 'This is trivial.', - FALSE -), -( - 'core-hin_quotients', - '["core-thin"]', - '["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 -), -( - 'gaunt_characterization', - '["gaunt"]', - '["skeletal", "core-thin"]', - 'This is trivial.', - TRUE -), -( - 'thin_subobject-trivial', - '["subobject-trivial", "equalizers"]', - '["thin"]', - 'If $f,g : X \rightrightarrows Y$ are morphisms, their equalizer is a monomorphism $E \hookrightarrow X$, hence an isomorphism. But this means $f = g$.', - FALSE -), -( - 'subobject-trivial_consequence', - '["subobject-trivial"]', - '["mono-regular"]', - 'This is trivial.', - FALSE -), -( - 'subobject-trivial_groupoids', - '["groupoid"]', - '["subobject-trivial"]', - 'This is trivial.', - FALSE -), -( - 'subobject-trivial_criterion', - '["right cancellative", "epi-regular"]', - '["subobject-trivial"]', - 'This is because a monomorphism which is also a regular epimorphism is an isomorphism.', - FALSE -); 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 deleted file mode 100644 index 3cece9fb..00000000 --- a/databases/catdat/data/004_category-implications/005_additional-structure-implications.sql +++ /dev/null @@ -1,137 +0,0 @@ -INSERT INTO category_implications_view ( - id, - assumptions, - conclusions, - reason, - is_equivalence -) -VALUES -( - 'finitary_algebraic_consequence', - '["finitary algebraic"]', - '["locally strongly finitely presentable"]', - 'This is trivial because a locally strongly finitely presentable category is a variety of many-sorted finitary algebras.', - FALSE -), -( - 'zero_morphisms_mean_strongly_connected', - '["zero morphisms", "inhabited"]', - '["strongly connected"]', - 'This holds by definition.', - FALSE -), -( - 'preadditive_consequence', - '["preadditive"]', - '["locally essentially small", "zero morphisms"]', - '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 $\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"]', - '["preadditive", "finite products"]', - 'This holds by definition.', - TRUE -), -( - 'additive_biproducts', - '["additive"]', - '["biproducts"]', - 'This is standard, see e.g. Prop. 2.1 on the nLab.', - FALSE -), -( - 'abelian_definition', - '["abelian"]', - '["additive", "kernels", "cokernels", "normal", "conormal"]', - 'This holds by definition.', - TRUE -), -( - 'abelian_implies_regular', - '["abelian"]', - '["regular"]', - 'In an abelian category, every epimorphism is regular, and epimorphisms are pullback-stable, see Mac Lane, Ch. VIII.', - FALSE -), -( - 'grothendieck_abelian_definition', - '["Grothendieck abelian"]', - '["abelian", "coproducts", "generator", "exact filtered colimits"]', - 'This holds by definition.', - TRUE -), -( - 'split_abelian_condition', - '["split abelian"]', - '["abelian"]', - 'This holds by definition.', - FALSE -), -( - 'preadditive_products_criterion', - '["preadditive", "finite coproducts"]', - '["finite products"]', - 'See Mac Lane, VIII.2., Theorem 2.', - FALSE -), -( - 'algebraic_well-copowered', - '["finitary algebraic"]', - '["well-copowered"]', - 'See MSE/486607. Alternatively, one may combine the facts that finitary algebraic categories are locally (finitely) presentable and that locally presentable categories are well-copowered, both of which are saved in the database. But we include the direct proof here as well, since it makes it easier to deduce the property for finitary algebraic categories appearing in practice.', - FALSE -), -( - 'many_sorted_algebraic_implies_regular', - '["locally strongly finitely presentable"]', - '["regular"]', - 'The regular epimorphisms are precisely the sort-wise surjective homomorphisms, which are clearly stable under pullbacks.', - FALSE -), -( - 'algebras_with_0_disjoint_products', - '["finitary algebraic", "pointed"]', - '["disjoint products"]', - 'We have a constant in every algebra, let us denoted it by $0$. Then the projection $A \times B \to A$ is clearly surjective, hence an epimorphism. To show that $A \sqcup_{A \times B} B$ is trivial, let $R$ be an algebra which admits homomorphisms $f : A \to R$, $g : B \to R$ such that $f(p_1(a,b)) = g(p_2(a,b))$ for all $(a,b) \times A \times B$. This means $f(a) = g(b)$. In particular, $f(a) = g(0) = 0$. Likewise, $g(b) = 0$, and we are done.', - FALSE -), -( - 'grothendieck_abelian_cogenerator', - '["Grothendieck abelian"]', - '["cogenerator"]', - 'See Kashiwara-Schapira, Thm. 9.6.3.', - FALSE -), -( - 'grothendieck_abelian_self-dual', - '["Grothendieck abelian", "self-dual"]', - '["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 -); diff --git a/databases/catdat/data/004_category-implications/006_trivial-categories-implications.sql b/databases/catdat/data/004_category-implications/006_trivial-categories-implications.sql deleted file mode 100644 index ee1453fb..00000000 --- a/databases/catdat/data/004_category-implications/006_trivial-categories-implications.sql +++ /dev/null @@ -1,155 +0,0 @@ -INSERT INTO category_implications_view ( - id, - assumptions, - conclusions, - reason, - is_equivalence -) -VALUES -( - 'discrete_consequences', - '["discrete"]', - '["essentially discrete", "locally small", "skeletal", "direct"]', - 'This is trivial.', - FALSE -), -( - 'essentially_discrete_characterization', - '["essentially discrete"]', - '["thin", "groupoid"]', - 'This is trivial.', - TRUE -), -( - 'essentially_discrete_consequence', - '["essentially discrete"]', - '["locally essentially small", "connected limits"]', - 'This is trivial.', - FALSE -), -( - 'essentially_discrete_trivial', - '["essentially discrete", "connected"]', - '["trivial"]', - 'This is trivial.', - FALSE -), -( - 'groupoid_with_multi-terminal', - '["groupoid", "multi-terminal object"]', - '["thin"]', - 'Let $f,g\colon A \rightrightarrows B$ be a parallel pair of morphisms. Since the category has a multi-terminal object, the connected component containing $A$ and $B$ has a terminal object. But since the category is a groupoid, both $A$ and $B$ are terminal objects in the connected component, hence $f=g$.', - FALSE -), -( - 'trivial_consequence', - '["trivial"]', - '["finitary algebraic", "Grothendieck topos", "split abelian", "self-dual", "essentially discrete", "essentially finite"]', - 'This is trivial.', - FALSE -), -( - 'thin_consequence', - '["thin"]', - '["equalizers", "left cancellative"]', - 'Any two parallel morphisms are equal, so their equalizer is the identity, and every morphism is a monomorphism as well.', - FALSE -), -( - 'thin_inhabited_consequence', - '["thin", "inhabited"]', - '["generator"]', - 'Any object will be a generator for trivial reasons.', - FALSE -), -( - 'freyd_small', - '["essentially small", "powers"]', - '["thin"]', - 'See Mac Lane, V.2, Prop. 3. The proof works for any category with powers.', - FALSE -), -( - 'freyd_countable', - '["essentially countable", "countable powers"]', - '["thin"]', - 'Adjust the proof of Mac Lane, V.2, Prop. 3.', - FALSE -), -( - 'freyd_finite', - '["essentially finite", "finite powers"]', - '["thin"]', - 'Adjust the proof of Mac Lane, V.2, Prop. 3.', - FALSE -), -( - 'thin_finite_product_reduction', - '["thin", "essentially finite", "finite products"]', - '["products"]', - 'The category is equivalent to a finite preordered set. But then products are just infima, so that repetitions of objects do not matter, and every product can be reduced to a finite one.', - FALSE -), -( - 'thin_countable_product_reduction', - '["thin", "essentially countable", "countable products"]', - '["products"]', - 'The category is equivalent to a countable preordered set. But then products are just infima, so that repetitions of objects do not matter, and every product can be reduced to a countable one.', - FALSE -), -( - 'cocomplete_thin_criterion', - '["essentially small", "thin", "complete"]', - '["cocomplete"]', - 'The supremum of a subset in a (small) proset is the infimum of the set of upper bounds.', - FALSE -), -( - 'cartesian_closed_thin_criterion', - '["essentially small", "thin", "complete", "infinitary distributive"]', - '["cartesian closed"]', - 'This is an application of the adjoint functor theorem. Specifically, if $P$ is a complete lattice in which $\sup_i \inf(t,x_i) = \inf(t, \sup_i y_i)$ always holds, then the functor $\inf(t,-)$ is a left adjoint because it preserves all suprema.', - FALSE -), -( - 'sequential_implies_lcc', - '["thin", "semi-strongly connected"]', - '["locally cartesian closed"]', - 'Each slice is thin, semi-strongly connected, and has a terminal object. Thus, it corresponds to a linear order with a largest element $1$. Every such category is cartesian closed, where the exponential $a \Rightarrow b$ (Heyting implication) is $1$ when $a \leq b$ and otherwise $b$.', - FALSE -), -( - 'thin_implies_regular', - '["thin", "finitely complete"]', - '["regular"]', - 'In a thin category, regular epimorphisms are isomorphisms, and the rest is clear as well.', - FALSE -), -( - 'thin_zero_trivial', - '["thin", "zero morphisms", "inhabited"]', - '["trivial"]', - 'This is easy.', - FALSE -), -( - 'thin_power', - '["thin", "terminal object"]', - '["powers"]', - 'This is because for non-empty set $I$ the power $X^I$ is just $X$.', - FALSE -), -( - 'thin_binary_power', - '["thin"]', - '["binary powers"]', - 'This is because $X \times X = X$.', - FALSE -), -( - 'thin_exact_filtered_colimits', - '["thin", "cartesian filtered colimits"]', - '["exact filtered colimits"]', - 'In a thin category, every (finite) limit can be reduced to a (finite) product.', - 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 deleted file mode 100644 index b801b7bc..00000000 --- a/databases/catdat/data/004_category-implications/007_locally-presentable-implications.sql +++ /dev/null @@ -1,239 +0,0 @@ -INSERT INTO category_implications_view ( - id, - assumptions, - conclusions, - reason, - is_equivalence -) -VALUES -( - 'locally_finitely_presentable_raise', - '["locally finitely presentable"]', - '["locally ℵ₁-presentable"]', - 'This is trivial.', - FALSE -), -( - 'locally_countably_presentable_raise', - '["locally ℵ₁-presentable"]', - '["locally presentable"]', - 'This is trivial.', - FALSE -), -( - 'accessible_trivial_consequence', - '["accessible"]', - '["generating set"]', - 'For a $\kappa$-accessible category, the set $G$ appearing in the definition gives a small dense full subcategory, which is in particular a generating set.', - FALSE -), -( - 'accessible_well-powered', - '["accessible"]', - '["well-powered"]', - 'See nLab.', - FALSE -), -( - 'accessible_locally_small', - '["accessible"]', - '["locally essentially small"]', - 'See the proof of Prop. 2.1.5 in Makkai-Pare.', - FALSE -), -( - 'accessible_well-copowered', - '["accessible", "pushouts"]', - '["well-copowered"]', - 'See Thm. 2.49 in Adamek-Rosicky or Prop. 6.1.3 in Makkai-Pare.', - FALSE -), -( - 'locally_finitely_presentable_consequence', - '["locally finitely presentable"]', - '["exact filtered colimits"]', - 'Special case of Adamek-Rosicky, Prop. 1.59 with $\lambda = \aleph_0$.', - FALSE -), -( - 'locally_presentable_essentially_small', - '["locally presentable", "locally copresentable"]', - '["essentially small"]', - 'This follows from Adamek-Rosicky, Thm. 1.64.', - FALSE -), -( - 'grothendieck_abelian_presentable', - '["Grothendieck abelian"]', - '["locally presentable"]', - 'See Deriving Auslander''s formula, Cor. 5.2, or Sheafifiable homotopy model categories, Prop. 3.10.', - FALSE -), -( - 'locally_strongly_finitely_presentable_raise', - '["locally strongly finitely presentable"]', - '["locally finitely presentable"]', - 'See Adamek-Rosicky, Cor. 3.7.', - FALSE -), -( - 'locally_presentable_definition_finite', - '["locally finitely presentable"]', - '["finitely accessible", "cocomplete"]', - 'This follows from one of equivalent formulations of locally finitely presentable categories.', - TRUE -), -( - 'locally_presentable_definition_countable', - '["locally ℵ₁-presentable"]', - '["ℵ₁-accessible", "cocomplete"]', - 'This follows from one of equivalent formulations of locally ℵ₁-presentable categories.', - TRUE -), -( - 'locally_presentable_definition', - '["locally presentable"]', - '["accessible", "cocomplete"]', - 'This follows from one of equivalent formulations of locally presentable categories.', - TRUE -), -( - 'finitely_accessible_raise', - '["finitely accessible"]', - '["ℵ₁-accessible"]', - 'This is because any regular cardinal is strictly smaller than its successor cardinal. See nLab.', - FALSE -), -( - 'countably_accessible_special_case', - '["ℵ₁-accessible"]', - '["accessible"]', - 'This is trivial.', - FALSE -), -( - 'accessible_require_filtered_colimit', - '["finitely accessible"]', - '["filtered colimits"]', - 'This holds by definition.', - FALSE -), -( - 'accessible_require_Cauchy_complete', - '["accessible"]', - '["Cauchy complete"]', - 'This is because the walking idempotent is $\kappa$-filtered for any regular cardinal $\kappa$.', - FALSE -), -( - 'small_accessible_characterization', - '["essentially small", "Cauchy complete"]', - '["accessible"]', - 'See Makkai-Pare, Thm. 2.2.2.', - FALSE -), -( - 'countably_accessible_thin', - '["essentially countable", "thin"]', - '["ℵ₁-accessible"]', - 'In general, every $\kappa$-filtered diagram in a poset whose elements are less than $\kappa$ admits the greatest element. Therefore, all the elements are $\kappa$-presentable, and the poset is $\kappa$-accessible.', - FALSE -), -( - 'locally_presentable_another_definition', - '["accessible", "complete"]', - '["locally presentable"]', - 'This follows from one of equivalent formulations of locally presentable categories.', - FALSE -), -( - 'locally_strongly_finitely_presentable_definition', - '["locally strongly finitely presentable"]', - '["generalized variety", "cocomplete"]', - 'This is trivial.', - TRUE -), -( - 'generalized_variety_require_sifted_colimit', - '["generalized variety"]', - '["sifted colimits"]', - 'This holds by definition.', - FALSE -), -( - 'generalized_variety_implies_accessible', - '["generalized variety"]', - '["ℵ₁-accessible"]', - 'See [AR01, Remark 4.8(2)].', - FALSE -), -( - 'locally_multi-presentable_definition', - '["locally multi-presentable"]', - '["accessible", "connected limits"]', - 'This follows from one of equivalent formulations of locally multi-presentable categories.', - TRUE -), -( - 'locally_multi-presentable_another_definition', - '["locally multi-presentable"]', - '["accessible", "multi-cocomplete"]', - 'This follows from one of equivalent formulations of locally multi-presentable categories.', - TRUE -), -( - 'locally_finitely_multi-presentable_definition', - '["locally finitely multi-presentable"]', - '["finitely accessible", "connected limits"]', - 'This follows from one of equivalent formulations of locally finitely multi-presentable categories.', - TRUE -), -( - 'locally_finitely_multi-presentable_another_definition', - '["locally finitely multi-presentable"]', - '["finitely accessible", "multi-cocomplete"]', - 'This follows from one of equivalent formulations of locally finitely multi-presentable categories.', - TRUE -), -( - 'locally_poly-presentable_definition', - '["locally poly-presentable"]', - '["accessible", "wide pullbacks"]', - 'This holds by definition.', - TRUE -), -( - 'multi-algebraic_implies_locally_finitely_multi-presentable', - '["multi-algebraic"]', - '["locally finitely multi-presentable"]', - 'This is because that every (finite product, coproduct)-sketch is clearly a (finite limit, coproduct)-sketch.', - FALSE -), -( - 'varieties_are_multi-algebraic', - '["locally strongly finitely presentable"]', - '["multi-algebraic"]', - 'This is because that every finite-product-sketch is clearly a (finite product, coproduct)-sketch.', - FALSE -), -( - 'multi-algebraic_another_definition', - '["multi-algebraic"]', - '["generalized variety", "multi-cocomplete"]', - '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 -); 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 deleted file mode 100644 index 0ad7e2a1..00000000 --- a/databases/catdat/data/004_category-implications/008_topos-theory-implications.sql +++ /dev/null @@ -1,267 +0,0 @@ -INSERT INTO category_implications_view ( - id, - assumptions, - conclusions, - reason, - is_equivalence -) -VALUES -( - 'ccc_condition', - '["cartesian closed"]', - '["finite products"]', - 'This holds by definition.', - FALSE -), -( - 'subobject_classifier_well-powered', - '["subobject classifier", "locally essentially small"]', - '["well-powered"]', - 'See Mac Lane & Moerdijk, Prop. I.3.1.', - FALSE -), -( - 'ccc_consequence', - '["cartesian closed", "initial object"]', - '["strict initial object"]', - 'See the nLab.', - FALSE -), -( - 'ccc_cartesian_filtered_colimits', - '["cartesian closed", "filtered colimits"]', - '["cartesian filtered colimits"]', - 'Each functor $X \times -$ is a left adjoint and therefore preserves (filtered) colimits.', - FALSE -), -( - 'ccc_no_strict_terminal', - '["cartesian closed", "strict terminal object"]', - '["thin"]', - 'If a morphism $X \to Y$ exists, we get a morphism $1 \to [X,Y]$, which forces $[X,Y]$ to be a terminal object by assumption. But then any two morphisms $1 \rightrightarrows [X,Y]$ are equal, so that any two morphisms $X \rightrightarrows Y$ are equal.', - FALSE -), -( - 'topos_definition', - '["elementary topos"]', - '["cartesian closed", "finitely complete", "subobject classifier"]', - 'This holds by definition.', - TRUE -), -( - 'subobject_classifier_consequence', - '["subobject classifier"]', - '["finitely complete", "mono-regular"]', - 'The first part holds by convention, and the second part: any monomorphism $U \to X$ is the equalizer of $\chi_U,\chi_X : X \rightrightarrows \Omega$.', - FALSE -), -( - 'subobject_classifier_pointed_case', - '["subobject classifier", "pointed"]', - '["normal"]', - 'The universal property of $\top : 0 \to \Omega$ precisely says that every monomorphism $A \to B$ is the kernel of a unique morphism $B \to \Omega$, so it is normal.', - FALSE -), -( - 'additive_trivial_condition', - '["regular subobject classifier", "additive"]', - '["trivial"]', - 'See MSE/4086192.', - FALSE -), -( - 'regular_subobjects_trivial', - '["right cancellative", "finitely complete"]', - '["regular subobject classifier"]', - 'In a right cancellative category, every regular monomorphism is an isomorphism, so that a terminal object is a regular subobject classifier.', - FALSE -), -( - 'regular_subobject_weaker', - '["subobject classifier"]', - '["regular subobject classifier"]', - 'This is obvious.', - FALSE -), -( - 'regular_subobject_assumption', - '["regular subobject classifier"]', - '["finitely complete"]', - 'This holds by definition.', - FALSE -), -( - 'regular_subobjects_suffice', - '["regular subobject classifier", "mono-regular"]', - '["subobject classifier"]', - 'This is obvious.', - FALSE -), -( - 'regular_subobject_classifier_strict', - '["regular subobject classifier", "strict terminal object"]', - '["thin"]', - 'Let $\Omega$ be a regular subobject classifier. Since $1$ is a strict terminal object, $\top : 1 \to \Omega$ is an isomorphism. This implies that every regular monomorphism is an isomorphism. Hence, by taking the equalizer of two parallel morphisms, we see that the category is thin.', - FALSE -), -( - 'pullbacks_are_local_products', - '["locally cartesian closed"]', - '["pullbacks"]', - 'Pullbacks are binary products in slice categories.', - FALSE -), -( - 'locally_cartesian_closed_with_terminal_is_closed', - '["locally cartesian closed", "terminal object"]', - '["cartesian closed"]', - 'The slice over the terminal object is the category itself.', - FALSE -), -( - 'topos_consequence', - '["elementary topos"]', - '["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 -), -( - 'topos_well-copowered_criterion', - '["elementary topos", "locally essentially small"]', - '["well-copowered"]', - 'This follows from Mac Lane & Moerdijk, Theorem IV.7.8 (and Prop. I.3.1).', - FALSE -), -( - 'grothendieck_topos_definition', - '["Grothendieck topos"]', - '["elementary topos", "coproducts", "generating set", "locally essentially small"]', - 'See Mac Lane & Moerdijk, Appendix, Prop. 4.4.', - TRUE -), -( - 'grothendieck_topos_consequence', - '["Grothendieck topos"]', - '["locally presentable", "cogenerator", "infinitary extensive", "exact filtered colimits"]', - 'A Grothendieck topos is locally presentable by Prop. 3.4.16 in Handbook of Categorical Algebra Vol. 3, has a cogenerator (see nLab) and is infinitary extensive by Giraud''s Theorem. To show that it has exact filtered colimits, first observe that this is clearly true in every presheaf topos (since $\Set$ has the property). Every Grothendieck topos is a full reflective subcategory of a presheaf topos such that the reflector preserves finite limits (nLab), so we conclude with this lemma.', - FALSE -), -( - 'topos_is_locally_cartesian_closed', - '["elementary topos"]', - '["locally cartesian closed"]', - 'See Johnstone, Cor. A2.3.4.', - FALSE -), -( - 'lcc_implies_regular', - '["locally cartesian closed", "coequalizers", "finitely complete"]', - '["regular"]', - 'See Johnstone, Lemma A1.5.13. From this it follows also that every elementary topos is regular.', - FALSE -), -( - 'topos_implies_coregular', - '["elementary topos"]', - '["coregular"]', - '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 \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 -), -( - '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"]', - '["extensive"]', - 'The pullback functor preserves finite coproducts because it has a right adjoint. Remark: In combination with other implication, this result implies that every elementary topos is extensive.', - FALSE -), -( - 'lcc_extensive_yields_infinitary', - '["locally cartesian closed", "cocomplete", "extensive"]', - '["infinitary extensive"]', - 'The pullback functor preserves coproducts because it has a right adjoint. See also Remark 2.6 at the nLab.', - FALSE -), -( - 'subobject_classifier_disallows_malcev', - '["subobject classifier", "Malcev"]', - '["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 -), -( - 'nno_assumption', - '["natural numbers object"]', - '["finite products"]', - 'This holds by definition.', - FALSE -), -( - 'nno_criterion', - '["countably distributive"]', - '["natural numbers object"]', - 'Consider the copower $N := \coprod_{n \in \IN} 1$ with inclusions $i_n : 1 \to N$ for $n \in \IN$. We define $z := i_1 : 1 \to N$ and $s : N \to N$ by $s \circ i_n = i_{n+1}$. Since the category is countably distributive, we have $A \times N \cong \coprod_{n \in \IN} A$ for every object $A$. Given morphisms $f : A \to X$, $g : X \to X$, a morphism $\Phi : A \times N \to X$ therefore corresponds to a family of morphisms $\phi_n : A \to X$ for $n \in \IN$. The condition $\Phi(a,z)=f(a)$ becomes $\phi_0 = f$. The condition $\Phi(a,s(n)) = g(\Phi(a,n))$ becomes $\phi_{n+1} = g \circ \phi_n$. This recursively defines the morphisms $\phi_n$. (We are basically using that $\IN$ is a natural numbers object in $\Set$.) Concretely, $\phi_n = g^n \circ f$.', - FALSE -), -( - 'nno_pointed_case', - '["natural numbers object", "pointed"]', - '["trivial"]', - 'Let $(N,z,s)$ be a natural numbers object in a category with a zero object, denoted $0$. The morphism $z : 0 \to N$ must be zero. The universal property applied to $A=1$ implies that $s : N \to N$ is an initial object in the category of endomorphisms. This exists, it is given by the identity $0 \to 0$. Therefore, $N = 0$. The general universal property now becomes: For all $f : A \to X$, $g : X \to X$ there is a unique $\Phi : A \to X$ such that $\Phi(a) = f(a)$ and $\Phi(a)=g(\Phi(a))$. Apply this to $g = 0$ to conclude $f = 0$.', - FALSE -), -( - 'nno_terminal', - '["natural numbers object", "strict terminal object"]', - '["one-way"]', - 'By assumption, $z : 1 \to N$ is an isomorphism. Therefore, the terminal object $1$ is a NNO with $z = \id_1$ and $s = \id_1$. This precisely means that for all $f : A \to X$ and $g : X \to X$ there is a unique $\Phi : A \to X$ with $\Phi = f$ and $\Phi = g \circ \Phi$. In other words, we have $f = g \circ f$, and therefore $g = \id_X$ (take $f = \id_X$), which proves the claim. (From here one can further deduce that the category is thin.)', - FALSE -), -( - 'nno_thin', - '["finite products", "thin"]', - '["natural numbers object"]', - 'The triple $(1, \id_1, \id_1)$ is clearly a NNO.', - FALSE -), -( - 'topos_no_stable_epis', - '["elementary topos", "countable coproducts", "cofiltered-limit-stable epimorphisms"]', - '["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 -); diff --git a/databases/catdat/data/004_category-implications/009_misc-implications.sql b/databases/catdat/data/004_category-implications/009_misc-implications.sql deleted file mode 100644 index d31122a9..00000000 --- a/databases/catdat/data/004_category-implications/009_misc-implications.sql +++ /dev/null @@ -1,138 +0,0 @@ -INSERT INTO category_implications_view ( - id, - assumptions, - conclusions, - reason, - is_equivalence -) -VALUES -( - 'connected_consequence', - '["connected"]', - '["inhabited"]', - 'This holds by definition.', - FALSE -), -( - 'strongly_connected_consequence', - '["strongly connected"]', - '["semi-strongly connected"]', - 'This is immediate from the definition.', - FALSE -), -( - 'semi-strongly_connected_consequence', - '["semi-strongly connected"]', - '["connected"]', - 'This is immediate from the definition.', - FALSE -), -( - 'thin_not_strongly_connected', - '["strongly connected", "thin"]', - '["trivial"]', - 'This is obvious.', - FALSE -), -( - 'strongly_connected_pointed_criterion', - '["strongly connected", "terminal object", "initial object"]', - '["pointed"]', - 'By assumption there is a morphism $1 \to 0$. There is also a unique morphism $0 \to 1$. They are necessarily inverse to each other.', - FALSE -), -( - 'strongly_connected_disjoint_products', - '["strongly connected", "finite products"]', - '["disjoint finite products"]', - 'See MSE/5130190 for a proof.', - FALSE -), -( - 'malcev_condition', - '["Malcev"]', - '["finitely complete"]', - 'This holds by definition.', - FALSE -), -( - 'malcev_thin_condition', - '["thin", "finitely complete"]', - '["Malcev"]', - 'In a thin category, every subobject of $X^2 = X$ containing $X$ is already $X$.', - FALSE -), -( - 'malcev_additive_criterion', - '["finitely complete", "additive"]', - '["Malcev"]', - 'See Prop. 2.2.13. in Malcev, protomodular, homological and semi-abelian categories.', - FALSE -), -( - 'unital_assumptions', - '["unital"]', - '["pointed", "finitely complete"]', - 'This holds by definition.', - FALSE -), -( - 'malcev_implies_unital', - '["Malcev", "pointed"]', - '["unital"]', - 'This follows from Corollary 2.2.10 in Malcev, protomodular, homological and semi-abelian categories. The proof is also written down in MSE/5033161.', - FALSE -), -( - 'filtered_is_sifted', - '["filtered"]', - '["sifted"]', - 'Every filtered category $\C$ is inhabited and has final diagonal functors $\Delta : \C \to \C^J$ for all finite index categories $J$; in particular, it is inhabited and its diagonal $\Delta: \C \to \C \times \C$ is final.', - FALSE -), -( - 'sifted_is_connected', - '["sifted"]', - '["connected"]', - 'Sifted categories are inhabited, and any two objects in a sifted category are joined by a cospan.', - FALSE -), -( - 'coproducts_implies_sifted', - '["inhabited", "binary coproducts"]', - '["sifted"]', - 'The category is inhabited by assumption, and the coproduct of two objects is initial in the corresponding category of cospans.', - FALSE -), -( - 'sifted_left_cancellative_implies_thin', - '["sifted", "left cancellative"]', - '["thin"]', - 'For any object $X$ in a left-cancellative category, the connected component containing - $$X \xrightarrow{\id} X \xleftarrow{\id} X$$ - in the category of cospans from $X$ to $X$ consists only of cospans - $$X \xrightarrow{f} Y \xleftarrow{g} X$$ - where $f=g$; hence when the category is also sifted, all cospans must be of this form, and so any two parallel morphisms are equal.', - FALSE -), -( - 'terminal_object_yields_filtered', - '["terminal object"]', - '["filtered"]', - 'This is obvious.', - FALSE -), -( - 'filtered_criterion', - '["finitely cocomplete"]', - '["filtered"]', - 'Every finite diagram even admits a universal cocone.', - FALSE -), -( - 'filtered_via_equalizers', - '["semi-strongly connected", "coequalizers"]', - '["filtered"]', - 'This is obvious.', - FALSE -); \ No newline at end of file diff --git a/databases/catdat/data/005_special-objects/001_special_object_types.sql b/databases/catdat/data/005_special-objects/001_special_object_types.sql deleted file mode 100644 index 48a5d9ee..00000000 --- a/databases/catdat/data/005_special-objects/001_special_object_types.sql +++ /dev/null @@ -1,6 +0,0 @@ -INSERT INTO special_object_types (type, dual) -VALUES - ('terminal object', 'initial object'), - ('initial object', 'terminal object'), - ('products', 'coproducts'), - ('coproducts', 'products'); diff --git a/databases/catdat/data/005_special-objects/002_initial_objects.sql b/databases/catdat/data/005_special-objects/002_initial_objects.sql deleted file mode 100644 index 763f583d..00000000 --- a/databases/catdat/data/005_special-objects/002_initial_objects.sql +++ /dev/null @@ -1,78 +0,0 @@ -CREATE TEMP TABLE initial_objects ( - category_id TEXT NOT NULL, - description TEXT NOT NULL -); - -INSERT INTO initial_objects (category_id, description) -VALUES -('1', 'the unique object'), -('Ab', 'trivial group'), -('Ab_fg', 'trivial group'), -('Alg(R)', '$R$'), -('Ban', 'trivial Banach space'), -('CAlg(R)', '$R$'), -('Cat', 'empty category'), -('CMon', 'trivial monoid'), -('CRing', 'ring of integers'), -('FI', 'empty set'), -('FinAb', 'trivial group'), -('FinGrp', 'trivial group'), -('FinOrd', 'empty ordered set'), -('FinSet', 'empty set'), -('FreeAb', 'trivial group'), -('Grp', 'trivial group'), -('Haus', 'empty space'), -('J2', '$(\varnothing,!)$'), -('LRS', 'empty space'), -('M-Set', 'empty set with the unique action'), -('Man', 'empty manifold'), -('Meas', 'empty set with the unique $\sigma$-algebra'), -('Met', 'empty metric space'), -('Met_c', 'empty metric space'), -('Met_oo', 'empty metric space'), -('Mon', 'trivial monoid'), -('N', '$0$'), -('N_oo', '$0$'), -('On', '$0$'), -('PMet', 'empty pseudo-metric space'), -('Pos', 'empty poset'), -('Prost', 'empty proset'), -('R-Mod', 'trivial module'), -('R-Mod_div', 'trivial module'), -('real_interval', '$0$'), -('Rel', 'empty set'), -('Ring', 'ring of integers'), -('Rng', 'trivial ring'), -('Sch', 'empty scheme'), -('SemiGrp', 'empty semigroup'), -('Set_c', 'empty set'), -('Set_f', 'empty set'), -('Set', 'empty set'), -('Set*', 'singleton pointed set'), -('SetxSet', '$(0,0)$'), -('Sh(X)', 'constant sheaf with value $\varnothing$, sending all non-empty open sets to $\varnothing$ and the empty set to a singleton'), -('Sh(X,Ab)', 'trivial abelian sheaf'), -('Sp', 'species $X$ with $X_n = \varnothing$'), -('sSet', 'simplicial set $X$ with $X_n = \varnothing$'), -('Top', 'empty space'), -('Top*', 'singleton space with the unique base point'), -('TorsAb', 'trivial group'), -('TorsFreeAb', 'trivial group'), -('Vect', 'trivial vector space'), -('walking_commutative_square', '$a$'), -('walking_isomorphism', 'both objects'), -('walking_fork', '$0$'), -('walking_morphism', '$0$'), -('walking_span', '$0$'), -('walking_splitting', '$0$'), -('Z', 'constant functor with value $\varnothing$'), -('Z_div', '$1$'), -('walking_composable_pair', '$0$'); - -INSERT INTO special_objects - (category_id, description, type) -SELECT - category_id, description, 'initial object' -FROM initial_objects; - -DROP TABLE initial_objects; diff --git a/databases/catdat/data/005_special-objects/003_terminal_objects.sql b/databases/catdat/data/005_special-objects/003_terminal_objects.sql deleted file mode 100644 index 9f95331b..00000000 --- a/databases/catdat/data/005_special-objects/003_terminal_objects.sql +++ /dev/null @@ -1,74 +0,0 @@ -CREATE TEMP TABLE terminal_objects ( - category_id TEXT NOT NULL, - description TEXT NOT NULL -); - -INSERT INTO terminal_objects (category_id, description) -VALUES -('1', 'the unique object'), -('Ab', 'trivial group'), -('Ab_fg', 'trivial group'), -('Alg(R)', 'trivial algebra'), -('Ban', 'trivial Banach space'), -('CAlg(R)', 'trivial algebra'), -('Cat', 'trivial category'), -('CMon', 'trivial monoid'), -('CRing', 'zero ring'), -('FinAb', 'trivial group'), -('FinGrp', 'trivial group'), -('FinOrd', 'singleton ordered set'), -('FinSet', 'singleton set'), -('FreeAb', 'trivial group'), -('Grp', 'trivial group'), -('Haus', 'singleton space'), -('J2', '$(\{\ast\},!)$'), -('LRS', '$\Spec(\IZ)$'), -('M-Set', 'singleton set with the unique action'), -('Man', 'singleton manifold of dimension $0$'), -('Meas', 'singleton set with the unique $\sigma$-algebra'), -('Met', 'singleton space'), -('Met_c', 'singleton space'), -('Met_oo', 'singleton space'), -('Mon', 'trivial monoid'), -('N_oo', '$\infty$'), -('PMet', 'singleton space'), -('Pos', 'singleton poset'), -('Prost', 'singleton proset'), -('R-Mod', 'zero module'), -('R-Mod_div', 'zero module'), -('real_interval', '$1$'), -('Rel', 'empty set'), -('Ring', 'zero ring'), -('Rng', 'zero ring'), -('Sch', '$\Spec(\IZ)$'), -('SemiGrp', 'trivial semigroup'), -('Set_c', 'singleton set'), -('Set', 'singleton set'), -('Set*', 'singleton pointed set'), -('Setne', 'singleton set'), -('SetxSet', '$(1,1)$'), -('Sh(X)', 'constant sheaf with value a singleton'), -('Sh(X,Ab)', 'trivial abelian sheaf'), -('Sp', 'species $X$ with $X_n = 1$'), -('sSet', 'simplicial set $X$ with $X_n = 1$'), -('Top', 'singleton space'), -('Top*', 'singleton space with the unique base point'), -('TorsAb', 'trivial group'), -('TorsFreeAb', 'trivial group'), -('Vect', 'trivial vector space'), -('walking_commutative_square', '$d$'), -('walking_coreflexive_pair', '$[1]$'), -('walking_isomorphism', 'both objects'), -('walking_morphism', '$1$'), -('walking_splitting', '$0$'), -('Z', 'constant functor with value $1$'), -('Z_div', '$0$'), -('walking_composable_pair', '$2$'); - -INSERT INTO special_objects - (category_id, description, type) -SELECT - category_id, description, 'terminal object' -FROM terminal_objects; - -DROP TABLE terminal_objects; diff --git a/databases/catdat/data/005_special-objects/004_coproducts.sql b/databases/catdat/data/005_special-objects/004_coproducts.sql deleted file mode 100644 index fae68b39..00000000 --- a/databases/catdat/data/005_special-objects/004_coproducts.sql +++ /dev/null @@ -1,77 +0,0 @@ -CREATE TEMP TABLE coproducts ( - category_id TEXT NOT NULL, - description TEXT NOT NULL -); - -INSERT INTO coproducts (category_id, description) -VALUES ---------------------------------------------------------------- --- all coproducts ---------------------------------------------------------------- -('1', '$0 \sqcup 0 = 0$'), -('Ab', 'direct sums'), -('Alg(R)', 'see MSE/625874'), -('Ban', 'The coproduct of a family of Banach spaces $(B_i)$ is the subspace $\bigl\{x \in \prod_i B_i : \sum_i |x_i| < \infty\bigr\}$ equipped with the $1$-norm $|x| := \sum_i |x_i|$.'), -('CAlg(R)', 'tensor products over $R$'), -('Cat', 'disjoint unions'), -('CMon', 'direct sums'), -('CRing', 'tensor products over $\IZ$'), -('FreeAb', 'direct sums'), -('Grp', 'free products'), -('Haus', 'disjoint union with the disjoint union topology'), -('J2', 'See here for a description'), -('LRS', 'disjoint union with the product sheaf'), -('M-Set', 'disjoint union with obvious $M$-action'), -('Meas', 'disjoint union with the obvious $\sigma$-algebra'), -('Met_c', 'Given metric spaces $(X_i,d_i)$ with $d_i \leq 1$ w.l.o.g, we endow the disjoint union $\coprod_i X_i$ with the metric $d$ that extends the metrics $d_i$ and satisfies $d(x,y) = 1$ when $x,y$ are in different $X_i$.'), -('Met_oo', 'disjoint union with the metric that extends the given ones and gives points in different spaces the distance $\infty$'), -('Mon', 'free products'), -('N_oo', 'supremum'), -('On', 'supremum'), -('Pos', 'disjoint union with the obvious partial order that leaves the distinct summands incomparable'), -('Prost', 'disjoint union with the obvious preorder that leaves the distinct summands incomparable'), -('R-Mod', 'direct sums'), -('R-Mod_div', 'direct sums'), -('real_interval', 'supremum'), -('Rel', 'disjoint union'), -('Ring', 'see MSE/625874'), -('Rng', 'see MSE/4975797'), -('Sch', 'disjoint union with the product sheaf'), -('SemiGrp', 'similar to free products of monoids, but where the empty word is not allowed, and of course we do (and can) not demand that the factors are $\neq 1$'), -('Set', 'disjoint union'), -('Set*', 'wedge sum, aka one-point union'), -('SetxSet', 'component-wise disjoint union'), -('Sh(X)', 'associated sheaf to the section-wise disjoint union'), -('Sh(X,Ab)', 'associated sheaf to the section-wise direct sum'), -('sSet', 'pointwise disjoint union'), -('Top', 'disjoint union with the disjoint union topology'), -('Top*', 'wedge sum, aka one-point union'), -('TorsAb', 'direct sums'), -('TorsFreeAb', 'direct sums'), -('Vect', 'direct sums'), -('walking_commutative_square', '$b \sqcup c = d$, $a \sqcup x = x$, $d \sqcup x = d$, $x \sqcup x = x$'), -('walking_isomorphism', '$0 \sqcup 0 = 0$'), -('walking_morphism', '$0 \sqcup x = x$, $1 \sqcup x = 1$'), -('walking_composable_pair', 'supremum taken in $\{0 < 1 < 2\}$'), -('Z', 'pointwise disjoint union'), -('Z_div', 'the least common multiple, can be $0$ for infinite families'), - ---------------------------------------------------------------- --- only finite and countable coproducts ---------------------------------------------------------------- -('Sp', '[finite case] pointwise finite disjoint union'), -('FinAb', '[finite case] direct sum'), -('FinSet', '[finite case] disjoint union'), -('Ab_fg', '[finite case] direct sum'), -('Man', '[countable case] disjoint union with the disjoint union topology and the obvious charts'), -('N', '[finite case] supremum'), -('Set_c', '[countable case] disjoint union'), -('Set_f', '[finite case] disjoint union'); - -INSERT INTO special_objects - (category_id, description, type) -SELECT - category_id, description, 'coproducts' -FROM coproducts; - -DROP TABLE coproducts; diff --git a/databases/catdat/data/005_special-objects/005_products.sql b/databases/catdat/data/005_special-objects/005_products.sql deleted file mode 100644 index 091fd6f9..00000000 --- a/databases/catdat/data/005_special-objects/005_products.sql +++ /dev/null @@ -1,80 +0,0 @@ -CREATE TEMP TABLE products ( - category_id TEXT NOT NULL, - description TEXT NOT NULL -); - -INSERT INTO products (category_id, description) -VALUES ---------------------------------------------------------------- --- all products ---------------------------------------------------------------- -('1', '$0 \times 0$'), -('Ab', 'direct products with pointwise operations'), -('Alg(R)', 'direct products with pointwise operations'), -('Ban', 'direct products with the $\sup$-norm'), -('CAlg(R)', 'direct products with pointwise operations'), -('Cat', 'direct products with pointwise operations'), -('CMon', 'direct products with pointwise operations'), -('CRing', 'direct products with pointwise operations'), -('Grp', 'direct products with pointwise operations'), -('Haus', 'direct product with the product topology'), -('J2', 'direct products with pointwise operations'), -('LRS', 'See Localization of ringed spaces by W. Gillam. See also MSE/1033675.'), -('M-Set', 'direct products with the evident $M$-action'), -('Meas', 'direct products with the product $\sigma$-algebra'), -('Met_oo', 'direct products with the metric $d(x,y) = \sup_i d_i(x_i,y_i)$'), -('Mon', 'direct products with pointwise operations'), -('N_oo', 'infimum'), -('Pos', 'direct products with the evident partial order'), -('Prost', 'direct products with the evident preorder'), -('R-Mod', 'direct products with pointwise operations'), -('R-Mod_div', 'direct products with pointwise operations'), -('real_interval', 'infimum'), -('Rel', 'disjoint unions (!)'), -('Ring', 'direct products with pointwise operations'), -('Rng', 'direct products with pointwise operations'), -('SemiGrp', 'direct products with pointwise operations'), -('Set', 'direct products with pointwise operations'), -('Set*', 'direct products with pointwise operations'), -('Setne', 'direct products'), -('SetxSet', 'component-wise direct product'), -('Sh(X)', 'section-wise defined direct product'), -('Sh(X,Ab)', 'section-wise defined direct product'), -('sSet', 'pointwise defined direct product'), -('Top', 'direct product with the product topology'), -('Top*', 'direct product with the product topology and the obvious base point'), -('TorsAb', 'torsion subgroup of the direct product'), -('TorsFreeAb', 'direct products'), -('Vect', 'direct products with pointwise operations'), -('walking_commutative_square', '$b \times c = a$, $x \times x = x$, $a \times x = a$, $d \times x = x$'), -('walking_isomorphism', '$0 \times 0 = 0$'), -('walking_morphism', '$0 \times x = 0$, $1 \times x = x$'), -('walking_composable_pair', 'infimum taken in $\{0 < 1 < 2\}$'), -('Z', 'pointwise defined direct product'), -('Z_div', 'greatest common divisor'), - ---------------------------------------------------------------- --- only finite and countable products ---------------------------------------------------------------- -('Sp', '[finite case] pointwise defined direct product'), -('FinAb', '[finite case] direct products with pointwise operations'), -('FinGrp', '[finite case] direct products with pointwise operations'), -('FinOrd', '[finite case] direct products with the evident order'), -('FinSet', '[finite case] direct products'), -('Ab_fg', '[finite case] direct products'), -('FreeAb', '[finite case] direct sums'), -('Set_c', '[finite case] direct products'), -('Met_c', '[countable case] In the finite case, take direct products with the metric $d(x,y) = \sup_i d_i(x_i,y_i)$, but other metrics such as $d(x,y) = \sum_i d_i(x_i,y_i)$ also work. In the countable case, one can assume $d_i \leq 1$ and then define $d(x,y) = \sum_i d_i(x,y) / 2^i$.'), -('Met', '[finite case] direct products with the metric $d(x,y) = \sup_i d_i(x_i,y_i)$'), -('PMet', '[finite case] direct products with the pseudo-metric $d(x,y) = \sup_i d_i(x_i,y_i)$'), -('Sch', '[finite case] The idea is to use $\Spec(A) \times \Spec(B) = \Spec(A \otimes B)$ and then to glue affine pieces together. See EGA I, Chap. I, Thm. 3.2.1.'), -('Man', '[finite case] direct products $X \times Y$ with the product topology and the charts $\IR^{n + m} = \IR^n \times \IR^m \cong U \times V \hookrightarrow X \times Y$ for charts $\IR^n \cong U \hookrightarrow X$ and $\IR^m \cong V \hookrightarrow Y$'), -('walking_span', '[binary case] $1 \times 2 = 0$, $x \times x = x$, $0 \times x = 0$'); - -INSERT INTO special_objects - (category_id, description, type) -SELECT - category_id, description, 'products' -FROM products; - -DROP TABLE products; diff --git a/databases/catdat/data/006_special-morphisms/001_special_morphism_types.sql b/databases/catdat/data/006_special-morphisms/001_special_morphism_types.sql deleted file mode 100644 index ddfb1823..00000000 --- a/databases/catdat/data/006_special-morphisms/001_special_morphism_types.sql +++ /dev/null @@ -1,7 +0,0 @@ -INSERT INTO special_morphism_types (type, dual) -VALUES - ('isomorphisms', 'isomorphisms'), - ('monomorphisms', 'epimorphisms'), - ('epimorphisms', 'monomorphisms'), - ('regular monomorphisms', 'regular epimorphisms'), - ('regular epimorphisms', 'regular monomorphisms'); \ No newline at end of file diff --git a/databases/catdat/data/006_special-morphisms/002_isomorphisms.sql b/databases/catdat/data/006_special-morphisms/002_isomorphisms.sql deleted file mode 100644 index e61b24d0..00000000 --- a/databases/catdat/data/006_special-morphisms/002_isomorphisms.sql +++ /dev/null @@ -1,405 +0,0 @@ -CREATE TEMP TABLE isomorphisms ( - category_id TEXT NOT NULL, - description TEXT NOT NULL, - reason TEXT NOT NULL -); - -INSERT INTO isomorphisms ( - category_id, - description, - reason -) -VALUES -( - '0', - 'none', - 'This is trivial.' -), -( - '1', - 'every morphism', - 'This is trivial.' -), -( - '2', - 'every morphism', - 'This is trivial.' -), -( - 'Ab', - 'bijective homomorphisms', - 'This characterization holds in every algebraic category.' -), -( - 'Ab_fg', - 'bijective homomorphisms', - 'This follows exactly as for abelian groups.' -), -( - 'Alg(R)', - 'bijective ring homomorphisms', - 'This characterization holds in every algebraic category.' -), -( - 'B', - 'every morphism', - 'It is a groupoid by construction.' -), -( - 'Ban', - 'bijective linear isometries', - 'This is easy.' -), -( - 'BG_c', - 'every morphism', - 'It is a groupoid.' -), -( - 'BG_f', - 'every morphism', - 'It is a groupoid.' -), -( - 'BN', - 'only the number $0$', - 'The $0$ is the only natural number which has an additive inverse, since for $n > 0$ we have $n + m > 0$ for all $m$.' -), -( - 'BOn', - 'only the ordinal $0$', - 'The $0$ is the only ordinal which has an additive inverse, since for $\alpha > 0$ we have $\alpha + \beta > 0$ for all $\beta$.' -), -( - 'Cat', - 'functors that are bijective on objects and morphisms', - 'This is easy.' -), -( - 'CAlg(R)', - 'bijective homomorphisms', - 'This characterization holds in every algebraic category.' -), -( - 'CMon', - 'bijective homomorphisms', - 'This characterization holds in every algebraic category.' -), -( - 'CRing', - 'bijective ring homomorphisms', - 'This characterization holds in every algebraic category.' -), -( - 'Delta', - 'bijective order-preserving maps', - 'This is easy. Notice that bijective order-preserving maps automatically also reflect the order (because we work with totally ordered sets).' -), -( - 'FI', - 'bijective maps', - 'This follows exactly as for sets.' -), -( - 'FinAb', - 'bijective homomorphisms', - 'This follows exactly as for abelian groups.' -), -( - 'FinGrp', - 'bijective homomorphisms', - 'This follows exactly as for groups.' -), -( - 'FinOrd', - 'bijective order-preserving maps', - 'This works as for posets, using that injective order-preserving maps must be order-reflecting.' -), -( - 'FinSet', - 'bijective maps', - 'This follows exactly as for sets.' -), -( - 'Fld', - 'bijective field homomorphisms', - 'This is easy.' -), -( - 'FreeAb', - 'bijective homomorphisms', - 'This follows exactly as for abelian groups.' -), -( - 'FS', - 'bijective maps', - 'This follows exactly as for sets.' -), -( - 'Grp', - 'bijective homomorphisms', - 'This characterization holds in every algebraic category.' -), -( - 'Haus', - 'homeomorphisms', - 'This is easy.' -), -( - 'J2', - 'bijective morphisms', - 'This characterization holds in every algebraic category.' -), -( - 'LRS', - 'pairs $(f,f^{\sharp})$ consisting of a homeomorphism $f$ and an isomorphism of sheaves $f^{\sharp}$', - 'This is easy.' -), -( - 'M-Set', - 'bijective $M$-maps', - 'This characterization holds in every algebraic category.' -), -( - 'Man', - 'diffeomorphisms', - 'This holds by definition.' -), -( - 'Meas', - 'bijective measurable maps that map measurable sets to measurable sets', - 'This is easy.' -), -( - 'Met', - 'bijective isometries', - 'This is easy.' -), -( - 'Met_c', - 'homeomorphisms', - 'This works as for topological spaces.' -), -( - 'Met_oo', - 'bijective isometries', - 'This is easy.' -), -( - 'Mon', - 'bijective homomorphisms', - 'This characterization holds in every algebraic category.' -), -( - 'N', - 'only the identity morphisms', - 'This is true for every poset (regarded as a category).' -), -( - 'N_oo', - 'only the identity morphisms', - 'This is true for every poset (regarded as a category).' -), -( - 'On', - 'only the identities', - 'This is true for every poset (regarded as a category).' -), -( - 'PMet', - 'bijective isometries', - 'This is easy.' -), -( - 'Pos', - 'bijective functions that are order-preserving and order-reflecting', - 'This is easy.' -), -( - 'Prost', - 'bijective functions that are order-preserving and order-reflecting', - 'This is easy.' -), -( - 'R-Mod', - 'bijective $R$-linear maps', - 'This characterization holds in every algebraic category.' -), -( - 'R-Mod_div', - 'bijective $R$-linear maps', - 'This characterization holds in every algebraic category.' -), -( - 'real_interval', - 'only the identity morphisms', - 'This is true for every poset (regarded as a category).' -), -( - 'Rel', - 'bijective functions', - 'For the non-trivial direction, assume that $R : A \to B$ is a relation which has an inverse relation $S : B \to A$. For every $a \in A$ we have $(a,a) \in \id_A = S \circ R$, so there is some $b \in B$ with $(a,b) \in R$ (and $(b,a) \in S$). This shows that $R$ is left-total, and for right-total the argument is similar. By symmetry, this also holds for $S$. To show that $R$ is a function, assume $(a,b_1), (a,b_2) \in R$. Choose some $b_3 \in B$ with $(b_3,a) \in S$. It follows $(b_3,b_1) \in S \circ R = \id_A$, so $b_3 = b_1$. Similarly, $(b_3,b_2) \in S \circ R = \id_A$, so $b_3 = b_2$. This shows that $R$ is a function, i.e. left-unique. That $R$ is injective, i.e. right-unique, follows by symmetry. Finally, $R$ is surjective since it is right-total.' -), -( - 'Ring', - 'bijective ring homomorphisms', - 'This characterization holds in every algebraic category.' -), -( - 'Rng', - 'bijective rng homomorphisms', - 'This characterization holds in every algebraic category.' -), -( - 'Sch', - 'pairs $(f,f^{\sharp})$ consisting of a homeomorphism $f$ and an isomorphism of sheaves $f^{\sharp}$', - 'This is easy.' -), -( - 'SemiGrp', - 'bijective ring homomorphisms', - 'This characterization holds in every algebraic category.' -), -( - 'Set_c', - 'bijective maps', - 'This is easy.' -), -( - 'Set_f', - 'bijective maps', - 'This is easy.' -), -( - 'Set', - 'bijective maps', - 'This is easy.' -), -( - 'Set*', - 'bijective pointed maps', - 'This characterization holds in every algebraic category.' -), -( - 'Setne', - 'bijective maps', - 'This follows exactly as for sets.' -), -( - 'SetxSet', - 'pairs of bijective maps', - 'This is easy.' -), -( - 'Sh(X)', - 'morphisms of sheaves that are bijective on every open set', - 'This is easy.' -), -( - 'Sh(X,Ab)', - 'morphisms of abelian sheaves that are bijective on every open set', - 'This is easy.' -), -( - 'Sp', - 'natural isomorphisms', - 'This is the for every functor category.' -), -( - 'sSet', - 'natural isomorphisms', - 'This is true for all functor categories.' -), -( - 'Top', - 'homeomorphisms', - 'This is easy.' -), -( - 'Top*', - 'pointed homeomorphisms', - 'This is easy.' -), -( - 'TorsAb', - 'bijective group homomorphisms', - 'This is easy.' -), -( - 'TorsFreeAb', - 'bijective group homomorphisms', - 'This is easy.' -), -( - 'Vect', - 'bijective linear maps', - 'This characterization holds in every algebraic category.' -), -( - 'walking_composable_pair', - 'the three identities', - 'This is trivial.' -), -( - 'walking_commutative_square', - 'the four identities', - 'This is trivial.' -), -( - 'walking_coreflexive_pair', - 'the two identities', - 'This is obvious.' -), -( - 'walking_fork', - 'the three identities', - 'This is trivial.' -), -( - 'walking_idempotent', - 'the identity', - 'This is trivial.' -), -( - 'walking_isomorphism', - 'every morphism', - 'This is trivial.' -), -( - 'walking_morphism', - 'the two identities', - 'This is trivial.' -), -( - 'walking_pair', - 'the two identities', - 'This is trivial.' -), -( - 'walking_span', - 'the three identities', - 'This is trivial.' -), -( - 'walking_splitting', - 'the two identities', - 'This is obvious.' -), -( - 'Z', - 'natural isomorphisms', - 'This is true for all functor categories.' -), -( - 'Z_div', - 'the identities $(a,a) : a \to a$ and the isomorphisms $(a,-a) : a \to -a$ for $a \in \IZ$', - 'This is trivial.' -); - -INSERT INTO special_morphisms - (category_id, description, reason, type) -SELECT - category_id, description, reason, 'isomorphisms' -FROM isomorphisms; - -DROP TABLE isomorphisms; diff --git a/databases/catdat/data/006_special-morphisms/003_monomorphisms.sql b/databases/catdat/data/006_special-morphisms/003_monomorphisms.sql deleted file mode 100644 index e0944657..00000000 --- a/databases/catdat/data/006_special-morphisms/003_monomorphisms.sql +++ /dev/null @@ -1,395 +0,0 @@ -CREATE TEMP TABLE monomorphisms ( - category_id TEXT NOT NULL, - description TEXT NOT NULL, - reason TEXT NOT NULL -); - -INSERT INTO monomorphisms ( - category_id, - description, - reason -) -VALUES -( - '0', - 'none', - 'This is trivial.' -), -( - '1', - 'every morphism', - 'This is trivial.' -), -( - '2', - 'every morphism', - 'This is trivial.' -), -( - 'Ab', - 'injective homomorphisms', - 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' -), -( - 'Ab_fg', - 'injective homomorphisms', - 'Let $f : A \to B$ be a monomorphism of finitely generated abelian groups. Let $a \in A$ be in the kernel of $a$. Then we may view $a$ as a morphism $a : \IZ \to A$ with $f \circ a = 0$, and $\IZ$ is finitely generated. Hence, $a = 0$.' -), -( - 'Alg(R)', - 'injective ring homomorphisms', - 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' -), -( - 'B', - 'every morphism', - 'This is trivial.' -), -( - 'Ban', - 'injective linear contractions', - 'The unit ball functor $U : \Ban \to \Set$ is faithful and representable (by $\IC$), hence reflects and preserves monomorphisms.' -), -( - 'BG_c', - 'every morphism', - 'This is trivial.' -), -( - 'BG_f', - 'every morphism', - 'This is trivial.' -), -( - 'BN', - 'every morphism', - 'This is because addition of natural numbers is cancellative.' -), -( - 'BOn', - 'every ordinal number', - 'This is because ordinal addition is left cancellative.' -), -( - 'Cat', - 'faithful functors that are injective on objects', - 'Faithful functors that are injective on objects are clearly monomorphisms. For the converse, assume that $F : \C \to \D$ is a monomorphic functor. Two objects $A,B \in \C$ with $F(A) = F(B)$ can be regarded as functors $A,B : 1 \to \C$ from the trivial category satisfying $F \circ A = F \circ B$, so that $A = B$. Now assume that $f,g : A \to B$ are morphisms in $\C$ with $F(f) = F(g)$. These can be regarded as functors $f,g : \{ 0 \to 1 \} \to \C$ from the walking morphism category satisfying $F \circ f = F \circ g$, so that $f = g$.' -), -( - 'CMon', - 'injective homomorphisms', - 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' -), -( - 'CRing', - 'injective ring homomorphisms', - 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' -), -( - 'Delta', - 'injective order-preserving maps', - 'For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms.' -), -( - 'FI', - 'every morphism', - 'This is trivial.' -), -( - 'FinAb', - 'injective homomorphisms', - 'Let $f : A \to B$ be a monomorphism of finite abelian groups. Let $a \in A$ be in the kernel of $a$, say of order $n$. Then we may view $a$ as a morphism $a : \IZ/n \to A$ with $f \circ a = 0$, and $\IZ/n$ is finite. Hence, $a = 0$.' -), -( - 'FinGrp', - 'injective homomorphisms', - 'Let $f : A \to B$ be a monomorphism of finite groups. Let $a \in A$ be in the kernel of $a$, say of order $n$. Then we may view $a$ as a morphism $a : C_n \to A$ with $f \circ a = 1$ (the trivial homomorphism), and $C_n$ is finite. Hence, $a = 1$.' -), -( - 'FinOrd', - 'injective order-preserving maps', - 'For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms.' -), -( - 'FinSet', - 'injective maps', - 'For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms.' -), -( - 'Fld', - 'every morphism', - 'It is well-known that field homomorphisms are injective.' -), -( - 'FreeAb', - 'injective homomorphisms', - 'Let $f : A \to B$ be a monomorphism of free abelian groups. Let $a \in A$ be in the kernel of $a$. Then we may view $a$ as a morphism $a : \IZ \to A$ with $f \circ a = 0$, and $\IZ$ is free. Hence, $a = 0$.' -), -( - 'FS', - 'bijective maps', - 'Assume that $f : X \to Y$ is a monomorphism in this category. If $a,b \in X$ are such that $a \neq b$ but $f(a) = f(b)$, let $h : X \to X$ be the transposition that swaps $a$, $b$. Then $f \circ \id_X = f = f \circ h$, so by assumption $\id_X = h$, a contradiction. This shows that $f$ is bijective.' -), -( - 'Grp', - 'injective homomorphisms', - 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' -), -( - 'Haus', - 'injective continuous maps', - 'For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms.' -), -( - 'J2', - 'injective morphisms', - 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' -), -( - 'M-Set', - 'injective $M$-maps', - 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' -), -( - 'Man', - 'injective smooth maps', - 'For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms.' -), -( - 'Meas', - 'injective measurable maps', - 'For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms.' -), -( - 'Met', - 'injective non-expansive maps', - 'For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms.' -), -( - 'Met_c', - 'injective continuous maps', - 'For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms.' -), -( - 'Met_oo', - 'injective non-expansive maps', - 'For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms.' -), -( - 'CAlg(R)', - 'injective homomorphisms', - 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' -), -( - 'Mon', - 'injective homomorphisms', - 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' -), -( - 'N', - 'every morphism', - 'It is a thin category.' -), -( - 'N_oo', - 'every morphism', - 'It is a thin category.' -), -( - 'On', - 'every morphism', - 'It is a thin category.' -), -( - 'PMet', - 'injective non-expansive maps', - 'For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms.' -), -( - 'Pos', - 'injective order-preserving functions', - 'The same proof as for $\Set$ can be used.' -), -( - 'Prost', - 'injective order-preserving functions', - 'The same proof as for $\Set$ can be used.' -), -( - 'R-Mod', - 'injective $R$-linear maps', - 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' -), -( - 'R-Mod_div', - 'injective $R$-linear maps', - 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' -), -( - 'real_interval', - 'every morphism', - 'It is a thin category.' -), -( - 'Rel', - 'A relation $R : A \to B$ is a monomorphism iff the map $R_* : P(A) \to P(B)$ defined by $T \mapsto \{b \in B : \exists \, a \in T: (a,b) \in R \}$ is injective.', - 'See MSE/350716.' -), -( - 'Ring', - 'injective ring homomorphisms', - 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' -), -( - 'Rng', - 'injective rng homomorphisms', - 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' -), -( - 'SemiGrp', - 'injective semigroup homomorphisms', - 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' -), -( - 'Set_c', - 'injective maps', - 'For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms.' -), -( - 'Set_f', - 'injective maps', - 'For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the singleton), hence preserves monomorphisms.' -), -( - 'Set', - 'injective maps', - 'For the non-trivial direction, if $f : X \to Y$ is a monomorphism of sets and $a,b \in X$ satisfy $f(a) = f(b)$, then $f \circ a = f \circ b$ when we regard $a,b$ as morphisms $a,b : 1 \to X$. Hence, $a = b$. More generally, if $\C$ is a category that admits a faithful and representable functor $U : \C \to \Set$, then the monomorphisms in $\C$ are precisely the morphisms whose $U$-image is injective.' -), -( - 'Set*', - 'injective pointed maps', - 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' -), -( - 'Setne', - 'injective maps', - 'For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms.' -), -( - 'SetxSet', - 'pairs of injective maps', - 'This follows from the fact for the category of sets.' -), -( - 'Sh(X)', - 'morphisms of sheaves that are injective on every open subset', - 'For the non-trivial direction, assume that $f : F \to G$ is a monomorphism of sheaves on $X$. Then the diagonal $F \to F \times_G F$ is an isomorphism. Since pullbacks of sheaves are constructed section-wise, it follows that the diagonal $F(U) \to F(U) \times_{G(U)} F(U)$ is an isomorphism for every open set $U \subseteq X$. But this means that $f(U) : F(U) \to G(U)$ is injective.' -), -( - 'Sh(X,Ab)', - 'morphisms of abelian sheaves that are injective on every open subset', - 'For the non-trivial direction, assume that $f : F \to G$ is a monomorphism of abelian sheaves on $X$. Then the diagonal $F \to F \times_G F$ is an isomorphism. Since pullbacks of abelian sheaves are constructed section-wise, it follows that the diagonal $F(U) \to F(U) \times_{G(U)} F(U)$ is an isomorphism for every open set $U \subseteq X$. But this means that $f(U) : F(U) \to G(U)$ is injective.' -), -( - 'Sp', - 'pointwise injective natural transformations', - 'If $a : F \to G$ is a monomorphism of species, then the diagonal morphism $F \to F \times_G F$ is an isomorphism, so that for every $x$ the diagonal morphism $F(x) \to F(x) \times_{G(x)} F(x)$ is an isomorphism, i.e., $a(x) : F(x) \to G(x)$ is a monomorphism. This argument works for every functor category where the target has fiber products.' -), -( - 'sSet', - 'pointwise injective transformations', - 'If $a : F \to G$ is a monomorphism of simplicial sets, then the diagonal morphism $F \to F \times_G F$ is an isomorphism, so that for every $n$ the diagonal morphism $F(n) \to F(n) \times_{G(n)} F(n)$ is an isomorphism, i.e., $a(n) : F(n) \to G(n)$ is a monomorphism. This argument works for every functor category where the target has fiber products.' -), -( - 'Top', - 'injective continuous maps', - 'For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms.' -), -( - 'Top*', - 'injective pointed continuous maps', - 'For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the discrete two-point space), hence preserves monomorphisms.' -), -( - 'TorsAb', - 'injective group homomorphisms', - 'For the non-trivial direction, assume $f : A \to B$ is a monomorphism and $a \in A$ satisfies $f(a)=0$. Choose $n \geq 1$ with $n a = 0$. Then $a$ corresponds to a homomorphism of torsion abelian groups $\tilde{a} : \IZ/n \to A$ satisfying $f \circ \tilde{a} = 0$. Hence, $\tilde{a} = 0$, which means $a = 0$.' -), -( - 'TorsFreeAb', - 'injective group homomorphisms', - 'For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the group $\IZ$), hence preserves monomorphisms.' -), -( - 'Vect', - 'injective linear maps', - 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' -), -( - 'walking_commutative_square', - 'every morphism', - 'It is a thin category.' -), -( - 'walking_composable_pair', - 'every morphism', - 'It is a thin category.' -), -( - 'walking_coreflexive_pair', - 'the identities and $i$, $j$', - 'Since $pi = \id$, but $ip \neq \id$, we conclude that $i$ is a monomorphism, but $p$ is not. Likewise, $j$ is a monomorphism. Since $p$ is not a monomorphism, $ip$ and $jp$ are also no monomorphisms.' -), -( - 'walking_fork', - 'every morphism', - 'This is easily checked.' -), -( - 'walking_idempotent', - 'the identity', - 'This is trivial.' -), -( - 'walking_isomorphism', - 'every morphism', - 'This is trivial.' -), -( - 'walking_morphism', - 'every morphism', - 'It is a thin category.' -), -( - 'walking_pair', - 'every morphism', - 'This is trivial.' -), -( - 'walking_span', - 'every morphism', - 'It is a thin category.' -), -( - 'walking_splitting', - 'the identities and $i$', - 'The morphism $i$ is even a split monomorphism. The morphism $p$ is not a monomorphism since $p \circ \id_1 = p \circ ip$. The morphism $ip$ is not a monomorphism since it would imply that $p$ is a monomorphism.' -), -( - 'Z', - 'pointwise injective natural transformations', - 'If $a : F \to G$ is a monomorphism of Z-functors, then the diagonal morphism $F \to F \times_G F$ is an isomorphism, so that for every $R$ the diagonal morphism $F(R) \to F(R) \times_{G(R)} F(R)$ is an isomorphism, i.e., $a(R) : F(R) \to G(R)$ is a monomorphism. This argument works for every functor category where the target has fiber products.' -), -( - 'Z_div', - 'every morphism', - 'It is a thin category.' -); - -INSERT INTO special_morphisms - (category_id, description, reason, type) -SELECT - category_id, description, reason, 'monomorphisms' -FROM monomorphisms; - -DROP TABLE monomorphisms; diff --git a/databases/catdat/data/006_special-morphisms/004_epimorphisms.sql b/databases/catdat/data/006_special-morphisms/004_epimorphisms.sql deleted file mode 100644 index 342e6cba..00000000 --- a/databases/catdat/data/006_special-morphisms/004_epimorphisms.sql +++ /dev/null @@ -1,381 +0,0 @@ -CREATE TEMP TABLE epimorphisms ( - category_id TEXT NOT NULL, - description TEXT NOT NULL, - reason TEXT NOT NULL -); - -INSERT INTO epimorphisms ( - category_id, - description, - reason -) -VALUES -( - '0', - 'none', - 'This is trivial.' -), -( - '1', - 'every morphism', - 'This is clear since it is discrete.' -), -( - '2', - 'every morphism', - 'This is clear since it is discrete.' -), -( - 'Ab', - 'surjective homomorphisms', - 'For the non-trivial direction, if $f : A \to B$ is an epimorphism, then $p \circ f = 0$ for the projection $p : B \to B/f(A)$ implies that $p = 0$, so that $B = f(A)$.' -), -( - 'Ab_fg', - 'surjective homomorphisms', - 'Use the same proof as for abelian groups.' -), -( - 'B', - 'every morphism', - 'This is trivial.' -), -( - 'Ban', - 'linear contractions with dense image', - 'Let $f : X \to Y$ be an epimorphism of Banach spaces. The subspace $U := \overline{f(X)} \subseteq Y$ is closed. It is well-known that the quotient $Y/U$ is also a Banach space with a projection $p : Y \to Y/U$. Since $p \circ f = 0 = 0 \circ f$, we infer $p = 0$, so that $U = Y$.' -), -( - 'BG_c', - 'every morphism', - 'This holds because it is a groupoid.' -), -( - 'BG_f', - 'every morphism', - 'This holds because it is a groupoid.' -), -( - 'BN', - 'every morphism', - 'Addition of natural numbers is cancellative.' -), -( - 'BOn', - 'finite ordinal numbers', - 'See MSE/5029605.' -), -( - 'Cat', - 'A functor $F : \C \to \D$ is an epimorphism iff $F$ is surjective on objects and for every morphism $s$ in $\D$ there is a zigzag over $U := F(\C)$, meaning morphisms $u_1,\dotsc,u_{m+1} \in U$, $v_1,\dotsc,v_m \in U$, $x_1,\dotsc,x_m \in \D$ and $y_1,\dotsc,y_m \in \D$ such that $s = x_1 u_1$, $u_1 = v_1 y_1$, $x_{i-1} v_{i-1} = x_i u_i$, $u_i y_{i-1} = v_i y_i$, $x_m v_m = u_{m+1}$ and $u_{m+1} y_m = s$.', - 'This is an extension of the corresponding theorem for monoids and proven in Epimorphisms and Dominions, III by John R. Isbell.' -), -( - 'CMon', - 'A morphism in $\CMon$ is an epimorphism iff it is an epimorphism in $\Mon$, which in turn can be characterized by Isbell''s zigzag theorem.', - 'If $f : M \to N$ is a homomorphism of commutative monoids which is an epimorphism in $\Mon$, then it is trivially also an epimorphism in $\CMon$. The converse requires a proof, which can be found at MSE/5133488. - ' -), -( - 'CAlg(R)', - 'a homomorphism of algebras which is an epimorphism of commutative rings', - 'The forgetful functor $\CAlg(R) \to \Ring$ is faithful and hence reflects epimorphisms, but it also preserves epimorphisms since it preserves pushouts (since $\CAlg(R) \cong R / \Ring$). For epimorphisms of commutative rings see their detail page.' -), -( - 'CRing', - 'A ring map $f : R \to S$ is an epimorphism iff $S$ equals the dominion of $f(R) \subseteq S$, meaning that for every $s \in S$ there is some matrix factorization $(s) = Y X Z$ with $X \in M_{n \times n}(R)$, $Y \in M_{1 \times n}(S)$, and $Z \in M_{n \times 1}(S)$.', - 'See Stacks Project ,or, for many more results, the seminar Les épimorphismes d''anneaux. See also MO/109 for some results.' -), -( - 'Delta', - 'surjective order-preserving maps', - 'We can use the same proof as for $\FinOrd$ since this has merely used the non-empty ordered set $\{0 < 1\}$.' -), -( - 'FI', - 'bijective maps', - 'Take an epimorphism $X \to Y$ in this category, w.l.o.g. the inclusion of a subset $X \subseteq Y$. This means that for two injective maps $f,g : Y \rightrightarrows T$ with $f|_X = g|_X$ we must have $f = g$. Let $T := Y + (Y \setminus X)$ (disjoint union), $f$ be the inclusion into the first summand, $g|_X$ be the inclusion into the first summand, and $g|_{Y \setminus X}$ be the inclusion into the second summand. Then $f$ and $g$ are injective with $f|_X = g|_X$, so that $f = g$. But this means $X = Y$.' -), -( - 'FinAb', - 'surjective homomorphisms', - 'Use the same proof as for abelian groups.' -), -( - 'FinGrp', - 'surjective homomorphisms', - 'For the non-trivial direction, if $f : G \to H$ is an epimorphism, we may factor it as $G \to f(G) \to H$, and $f(G) \to H$ is still an epimorphism, but also an inclusion and hence a monomorphism. Since we already know that the category is mono-regular, $f(G) \to H$ must be an isomorphism.' -), -( - 'FinOrd', - 'surjective order-preserving maps', - 'The proof is similar to the one for $\Set$: If $f : X \to Y$ is an epimorphism of (finite) orders, in particular for all morphisms $g,h : Y \to \{0 < 1\}$ with $g \circ f = h \circ f$ we have $g = h$. This means for all upper sets $A,B \subseteq Y$ with $f^*(A) = f^*(B)$ we have $A = B$. If $y \in Y$, apply this to the intervals $A = Y_{\geq y}$ and $B = Y_{> y}$, which are different. Hence, there is some $x \in f^*(A) \setminus f^*(B)$, which means $f(x) \geq y$ but not $f(x) > y$, so that $f(x) = y$.' -), -( - 'FinSet', - 'surjective maps', - 'Use the same proof as for sets.' -), -( - 'Fld', - 'purely inseparable homomorphisms', - 'See MSE/687869.' -), -( - 'FreeAb', - 'homomorphisms $f : A \to B$ with the property that $f(A)$ is not contained in a proper direct summand of $B$.', - 'Let $f : A \to B$ be a morphism of free abelian groups such that $f(A)$ is not contained in a proper direct summand of $B$. Then $f$ is an epimorphism: If $t : B \to C$ is a morphism with $t \circ f = 0$, we want to show $t = 0$. Since the image of $t$ is free abelian (as a subgroup of $B$), we may assume that $t$ is surjective. Since $C$ is free, $t$ splits, so its kernel $K$ is a direct summand of $B$ (Splitting Lemma). It contains $f(A)$ because of $t \circ f = 0$. By assumption, $K = B$, so that $t = 0$. Conversely, assume that $f : A \to B$ is an epimorphism, and that $f(A)$ is contained in a direct summand $K$ of $B$. Let $L$ be a complement of $B$ (which is free abelian) and let $p : B \to L$ be the projection. Then $t \circ f = 0$, so $t = 0$. But then $L = 0$, which means $K = B$.' -), -( - 'FS', - 'every morphism', - 'This is trivial.' -), -( - 'Grp', - 'surjective homomorphisms', - 'For the non-trivial direction, if $f : G \to H$ is an epimorphism, we may factor it as $G \to f(G) \to H$, and $f(G) \to H$ is still an epimorphism, but also an inclusion and hence a monomorphism. Since we already know that the category is balanced, $f(G) \to H$ must be an isomorphism.' -), -( - 'Haus', - 'continuous maps with dense image', - 'It is clear that continuous maps with dense image are epimorphism, but the other direction is non-trivial. See MSE/214045 for a proof.' -), -( - 'J2', - 'surjective morphisms', - 'For the non-trivial direction: The category is epi-regular (since it is an elementary topos), and every regular epimorphism is surjective (this holds in any algebraic category).' -), -( - 'M-Set', - 'surjective $M$-maps', - 'This holds in every functor category $[\C,\Set]$, here applied to the case that $\C$ has just one object.' -), -( - 'Man', - 'smooth maps with dense image', - 'Let $f : X \to Y$ be a smooth map which is not dense. Choose some non-empty open subset $U \subseteq Y$ that is disjoint from $f(X)$. Take any $p \in U$. There is a smooth bump function $g : Y \to \IR$ with $g(p) = 1$ and $\supp(g) \subseteq U$ (John Lee, Introduction to Smooth Manifolds, Prop. 2.25). Hence, $g \neq 0$ and $g \circ f = 0 = 0 \circ f$. Thus, $f$ is not an epimorphism.' -), -( - 'Meas', - 'surjective measurable maps', - 'Use the same proof as for sets, where $2 = \{0,1\}$ is endowed with the trivial $\sigma$-algebra.' -), -( - 'Met', - 'non-expansive maps with dense image', - 'See MSE/937387.' -), -( - 'Met_c', - 'continuous maps with dense image', - 'See MSE/937387.' -), -( - 'Met_oo', - 'non-expansive maps with dense image', - 'See MSE/937387.' -), -( - 'Mon', - 'A monoid map $f : T \to S$ is an epimorphism iff $S$ equals the dominion of $U := f(T) \subseteq S$, meaning that for every $s \in S$ there are $u_1,\dotsc,u_{m+1} \in U$, $v_1,\dotsc,v_m \in U$, $x_1,\dotsc,x_m \in S$ and $y_1,\dotsc,y_m \in S$ such that $s = x_1 u_1$, $u_1 = v_1 y_1$, $x_{i-1} v_{i-1} = x_i u_i$, $u_i y_{i-1} = v_i y_i$, $x_m v_m = u_{m+1}$ and $u_{m+1} y_m = s$.', - 'This is Isbell''s zigzag Theorem, see references there.' -), -( - 'N', - 'every morphism', - 'It is a thin category.' -), -( - 'N_oo', - 'every morphism', - 'It is a thin category.' -), -( - 'PMet', - 'surjective non-expansive maps', - 'Let $f : X \to Y$ be a non-expansive map that is not surjective. Choose $y_0 \in Y \setminus f(X)$. We extend the pseudo-metric from $Y$ to $Z := Y \sqcup \{y''_0\}$ via $d(y,y''_0) := d(y,y_0)$, i.e., we make $y_0,y''_0$ indistinguishable. Let $g : Y \to Z$ be the inclusion and $h : Y \to Z$ be the map that composes $g$ with the swap between $y_0$ and $y''_0$. Both are isometric and satisfy $g \circ f = h \circ f$. Therefore, $f$ is not an epimorphism.' -), -( - 'On', - 'every morphism', - 'It is a thin category.' -), -( - 'Pos', - 'surjective order-preserving functions', - 'Clearly, surjective maps are epimorphisms. Conversely, assume that $f : P \to Q$ is an order-preserving map which is not surjective. Choose $q \in Q \setminus f(P)$. The order-preserving maps $Q \to \{0 < 1\}$ correspond to the upper sets in $Q$, and composing them with $f$ corresponds to taking their $f$-preimages. Consider the two upper sets $Q_{> q}$ and $Q_{\geq q}$. Their $f$-preimages are the same since $q \notin f(P)$. Therefore, $f$ is not an epimorphism.' -), -( - 'Prost', - 'surjective order-preserving functions', - 'Clearly, surjective maps are epimorphisms. The converse follows since, as mentioned, the forgetful functor $\Prost \to \Set$ has a right adjoint hence preserves epimorphisms.' -), -( - 'R-Mod', - 'surjective $R$-linear maps', - 'The forgetful functor to abelian groups is faithful and preserves colimits, hence reflects and preserves epimorphisms. Alternatively, use the same proof as for abelian groups.' -), -( - 'R-Mod_div', - 'surjective $R$-linear maps', - 'The forgetful functor to abelian groups is faithful and preserves colimits, hence reflects and preserves epimorphisms. Alternatively, use the same proof as for abelian groups.' -), -( - 'real_interval', - 'every morphism', - 'It is a thin category.' -), -( - 'Rel', - 'A relation $R : A \to B$ is an epimorphism iff the map $R^* : P(B) \to P(A)$ defined by $S \mapsto \{a \in A : \exists \, b \in S: (a,b) \in R \}$ is injective.', - 'See MSE/350716.' -), -( - 'SemiGrp', - 'A semigroup homomorphism $f : T \to S$ is an epimorphism iff $S$ equals the dominion of $U := f(T) \subseteq S$, meaning that for every $s \in S$ there are $u_1,\dotsc,u_{m+1} \in U$, $v_1,\dotsc,v_m \in U$, $x_1,\dotsc,x_m \in S$ and $y_1,\dotsc,y_m \in S$ such that $s = x_1 u_1$, $u_1 = v_1 y_1$, $x_{i-1} v_{i-1} = x_i u_i$, $u_i y_{i-1} = v_i y_i$, $x_m v_m = u_{m+1}$ and $u_{m+1} y_m = s$.', - 'This is Isbell''s zigzag Theorem, see references there.' -), -( - 'Set_c', - 'surjective maps', - 'For the non-trivial direction, if $f : X \to Y$ is an epimorphism of countable sets, then in particular $f^* : \Hom(Y,2) \to \Hom(X,2)$ is injective, which identifies with $f^* : P(Y) \to P(X)$. Then for all $y \in Y$ we have $f^*(\{y\}) \neq f^*(\varnothing) = \varnothing$, so that $y$ has a preimage.' -), -( - 'Set_f', - 'surjective maps with finite fibers', - 'For the non-trivial direction, if $f : X \to Y$ is an epimorphism in this category, then in particular $f^* : \Hom(Y,2) \to \Hom(X,2)$ is injective, which identifies with $f^* : E(Y) \to E(X)$, where $E(-)$ denotes the set of finite subsets. Then for all $y \in Y$ we have $f^*(\{y\}) \neq f^*(\varnothing) = \varnothing$, so that $y$ has a preimage.' -), -( - 'Set', - 'surjective maps', - 'For the non-trivial direction, if $f : X \to Y$ is an epimorphism of sets, then in particular $f^* : \Hom(Y,2) \to \Hom(X,2)$ is injective, which identifies with $f^* : P(Y) \to P(X)$. Then for all $y \in Y$ we have $f^*(\{y\}) \neq f^*(\varnothing) = \varnothing$, so that $y$ has a preimage.' -), -( - 'Set*', - 'surjective pointed maps', - 'If $f : X \to Y$ is an epimorphism of pointed sets, then the inclusion $i : f(X) \hookrightarrow Y$ is an epimorphism as well. But it is also a split monomorphism (we may map everything in $Y \setminus f(X)$ to the base point of $f(X)$, and do not touch the rest), hence an isomorphism.' -), -( - 'Setne', - 'surjective maps', - 'For the non-trivial direction, let $f : X \to Y$ be an epimorphism of non-empty sets. Then the inclusion $f(X) \hookrightarrow Y$ is an epimorphism as well, but also a split monomorphism (we can just map everything in $Y \setminus f(X)$ to a fixed element of $f(X)$). As such, it must be an isomorphism.' -), -( - 'SetxSet', - 'pairs of surjective maps', - 'This follows from the fact for the category of sets.' -), -( - 'Sh(X)', - 'morphisms of sheaves $f : F \to G$ that are "locally surjective": for every local section $g \in G(U)$ there is an open covering $U = \bigcup_{i \in I} U_i$ such that each $g|_{U_i} \in G(U_i)$ is contained in the image of $f(U_i) : F(U_i) \to G(U_i)$.', - 'The one direction is easy. For the other one, assume that $f : F \to G$ is an epimorphism of sheaves. For every $x \in X$ the map on stalks $f_x : F_x \to G_x$ is an epimorphism because the stalk functor $\Sh(X) \to \Set$ admits a right adjoint: take skyscraper sheaves. For $x \in U$ then $g_x \in G_x$ has a preimage in $F_x$, say represented by some $f \in F(V_x)$ for some $x \in V_x \subseteq U$. By construction of the stalk $G_x$, there is some $x \in U_x \subseteq V_x$ with $f(U_x)(f|_{U_x}) = g|_{U_x}$. Hence, the sets $(U_x)$ provide the open covering.' -), -( - 'Sh(X,Ab)', - 'morphisms of abelian sheaves $f : F \to G$ that are "locally surjective": for every local section $g \in G(U)$ there is an open covering $U = \bigcup_{i \in I} U_i$ such that each $g|_{U_i} \in G(U_i)$ is contained in the image of $f(U_i) : F(U_i) \to G(U_i)$.', - 'The one direction is easy. For the other one, assume that $f : F \to G$ is an epimorphism of abelian sheaves. For every $x \in X$ the homomorphism on stalks $f_x : F_x \to G_x$ is an epimorphism because the stalk functor $\Sh(X,\Ab) \to \Ab$ admits a right adjoint: take skyscraper sheaves. For $x \in U$ then $g_x \in G_x$ has a preimage in $F_x$, say represented by some $f \in F(V_x)$ for some $x \in V_x \subseteq U$. By construction of the stalk $G_x$, there is some $x \in U_x \subseteq V_x$ with $f(U_x)(f|_{U_x}) = g|_{U_x}$. Hence, the sets $(U_x)$ provide the open covering.' -), -( - 'Sp', - 'pointwise surjective natural transformations', - 'This holds in every functor category $[\C,\Set]$.' -), -( - 'sSet', - 'pointwise surjective transformations', - 'This holds in every functor category $[\C,\Set]$.' -), -( - 'Top', - 'surjective continuous maps', - 'The proof works exactly as for the category of sets, where we endow $2$ with the indiscrete topology.' -), -( - 'Top*', - 'surjective pointed continuous maps', - 'For the non-trivial direction: The forgetful functor $\Top_* \to \Top$ preserves pushouts and hence also epimorphisms, and we already know the epimorphisms in $\Top$.' -), -( - 'TorsAb', - 'surjective homomorphisms', - 'Clearly, surjective homomorphisms are epimorphisms. The converse follows since the forgetful functor $\TorsAb \to \Ab$ has a right adjoint, hence preserves epimorphisms.' -), -( - 'TorsFreeAb', - 'homomorphisms $f : A \to B$ such that $B/f(A)$ is a torsion group', - 'The homomorphism $f$ is an epimorphism iff its cokernel in $\TorsFreeAb$ is trivial. As with all types of colimits, the cokernel is the torsion-free reflection of the cokernel in $\Ab$, which is $B/f(A)$. This is trivial iff $B/f(A)$ is torsion.' -), -( - 'Vect', - 'surjective linear maps', - 'The forgetful functor to abelian groups is faithful and preserves colimits, hence reflects and preserves epimorphisms. Alternatively, just use the same proof as for abelian groups.' -), -( - 'walking_commutative_square', - 'every morphism', - 'It is a thin category.' -), -( - 'walking_composable_pair', - 'every morphism', - 'It is a thin category.' -), -( - 'walking_coreflexive_pair', - 'the identities and $p$', - 'Since $pi = \id$, but $ip \neq \id$, we conclude that $p$ is an epimorphism, but $i$ is not. Hence, also $ip$ is not an epimorphism. Likewise, $j$ and $jp$ are no epimorphisms.' -), -( - 'walking_fork', - 'the identities and $f,g$', - 'This is easily checked.' -), -( - 'walking_idempotent', - 'the identity', - 'This is trivial.' -), -( - 'walking_isomorphism', - 'every morphism', - 'This holds because it is a groupoid.' -), -( - 'walking_morphism', - 'every morphism', - 'It is a thin category.' -), -( - 'walking_pair', - 'every morphism', - 'Each $0 \to 1$ is an epimorphism since the only morphism starting at $1$ is the identity.' -), -( - 'walking_span', - 'every morphism', - 'It is a thin category.' -), -( - 'walking_splitting', - 'the identities and $p$', - 'The morphism $p$ is even a split monomorphism. The morphism $i$ is not an epimorphism since $\id_1 \circ i = ip \circ i$. The morphism $ip$ is not a epimorphism since it would imply that $i$ is an epimorphism.' -), -( - 'Z', - 'objectwise surjective natural transformations', - 'This holds in every functor category $[\C,\Set]$, here applied to the case that $\C$ has just one object.' -), -( - 'Z_div', - 'every morphism', - 'It is a thin category.' -); - -INSERT INTO special_morphisms - (category_id, description, reason, type) -SELECT - category_id, description, reason, 'epimorphisms' -FROM epimorphisms; - -DROP TABLE epimorphisms; \ No newline at end of file diff --git a/databases/catdat/data/006_special-morphisms/005_regular-monomorphisms.sql b/databases/catdat/data/006_special-morphisms/005_regular-monomorphisms.sql deleted file mode 100644 index 78b65fe5..00000000 --- a/databases/catdat/data/006_special-morphisms/005_regular-monomorphisms.sql +++ /dev/null @@ -1,320 +0,0 @@ -CREATE TEMP TABLE regular_monomorphisms ( - category_id TEXT NOT NULL, - description TEXT NOT NULL, - reason TEXT NOT NULL -); - -INSERT INTO regular_monomorphisms ( - category_id, - description, - reason -) -VALUES -( - '0', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - '1', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - '2', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'Ab', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'Ab_fg', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'B', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'BG_c', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'BG_f', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'BN', - 'same as isomorphisms', - 'This is because the category is right cancellative.' -), -( - 'BOn', - 'ordinals of the form $\alpha \cdot \omega$, where $\alpha$ is any ordinal', - 'This results from the proof that equalizers exist, see MSE/5029668.' -), -( - 'Ban', - 'closed embeddings', - 'The non-trivial direction follows from the well-known fact that for every closed subspace of a Banach space its quotient space is again a Banach space.' -), -( - 'Delta', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'FI', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'FS', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'FinAb', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'FinGrp', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'FinOrd', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'FinSet', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'Fld', - 'A Galois extension is a regular monomorphism iff it is procyclic, and the general case can be reduced to this situation; see the reference for details.', - 'See MSE/5129895.' -), -( - 'Grp', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'Haus', - 'embeddings with closed image', - 'The explicit construction of equalizers shows that they are embeddings, and they have a closed image because of the well-known lemma that for a Hausdorff space the diagonal $X \to X \times X$ has closed image. For the other non-trivial direction, see MSE/214045.' -), -( - 'J2', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'M-Set', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'Meas', - 'embeddings', - '(This is the same proof as for $\Top$.) Equalizers are embeddings by their construction. Conversely, if $f : X \to Y$ is an embedding, then $f$ is the equalizer of the two characteristic maps $\chi_Y, \chi_{f(X)} : Y \rightrightarrows \{0,1\}$, where $\{0,1\}$ carries the trivial $\sigma$-algebra.' -), -( - 'Met_c', - 'embeddings of closed subspaces', - 'A reference is Example 7.58 (3) in Joy of Cats, but a proof is missing there.' -), -( - 'N', - 'same as isomorphisms', - 'This is because the category is right cancellative.' -), -( - 'N_oo', - 'same as isomorphisms', - 'This is because the category is right cancellative.' -), -( - 'On', - 'same as isomorphisms', - 'This is because the category is right cancellative.' -), -( - 'Pos', - 'embeddings', - 'Every regular monomorphism is an embedding by the explicit construction of equalizers. For the converse, let $i : P \to Q$ be an embedding, which we may assume to be an inclusion. Consider the cokernel pair $C := Q \cup_P Q$. It exists because the category has pushouts, but we can (and need to) describe it more concretely: As a set, $C$ is a disjoint union of $P$ and two copies of $Q \setminus P$. The elements will be denoted by $p,q_1,q_2$. The $i$th inclusion map $Q \to C$ maps $p \in P$ to itself and $q \in Q \setminus P$ to $q_i$. The ordering is directly induced by $Q$: We have $p \leq p''$ in $C$ iff $p \leq p''$ in $P$, we have $p \leq q_i$ iff $p \leq q$ in $Q$, etc. One verifies that this indeed defines a partial order, and by construction the two maps $Q \rightrightarrows C$ are order-preserving and have equalizer $P$.' -), -( - 'Prost', - 'embeddings', - 'Every regular monomorphism is an embedding by the explicit construction of equalizers. For the converse, let $i : P \to Q$ be an embedding, which we may assume to be an inclusion. Consider the cokernel pair $C := Q \cup_P Q$. It exists because the category has pushouts, but we can (and need to) describe it more concretely: As a set, $C$ is a disjoint union of $P$ and two copies of $Q \setminus P$. The elements will be denoted by $p,q_1,q_2$. The $i$th inclusion map $Q \to C$ maps $p \in P$ to itself and $q \in Q \setminus P$ to $q_i$. The ordering is directly induced by $Q$: We have $p \leq p''$ in $C$ iff $p \leq p''$ in $P$, we have $p \leq q_i$ iff $p \leq q$ in $Q$, etc. One verifies that this indeed defines a preorder, and by construction the two maps $Q \rightrightarrows C$ are order-preserving and have equalizer $P$.' -), -( - 'R-Mod', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'R-Mod_div', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'Set_c', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'Set_f', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'Set', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'Set*', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'Setne', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'SetxSet', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'Sh(X)', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'Sh(X,Ab)', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'Sp', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'Top', - 'embeddings', - 'Equalizers are embeddings by their construction. Conversely, if $f : X \to Y$ is an embedding, then $f$ is the equalizer of the two characteristic maps $\chi_Y, \chi_{f(X)} : Y \to \{0,1\}$, where $\{0,1\}$ carries the indiscrete topology.' -), -( - 'Top*', - 'embeddings', - 'Equalizers are embeddings by their construction. Conversely, if $f : X \to Y$ is an embedding, then $f$ is the equalizer of the two characteristic maps $\chi_Y, \chi_{f(X)} : Y \to \{0,1\}$, where $\{0,1\}$ carries the indiscrete topology and $1$ is the base point.' -), -( - 'TorsAb', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'TorsFreeAb', - 'injective group homomorphisms $i : A \to B$ such that $B/i(A)$ is torsion-free, i.e., $i$ is the inclusion of a saturated subgroup', - 'If $i : A \to B$ is the kernel of $f : B \to C$ in $\TorsFreeAb$, it is also the kernel of $f$ in $\Ab$, so we know that $i$ is injective with $i(A) = \{b \in B : f(b) = 0\}$. If $n \in \IZ \setminus \{0\}$ and $b \in B$ satisfy $f(n b) = 0$, then also $f(b)=0$ since $C$ is torsion-free. This shows that $B/i(A)$ is torsion-free. Conversely, if $i$ is injective and $B/i(A)$ is torsion-free, then $i$ is the kernel of the natural homomorphism $B \to B/i(A)$.' -), -( - 'Vect', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'Z', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'Z_div', - 'same as isomorphisms', - 'This is because the category is right cancellative.' -), -( - 'real_interval', - 'same as isomorphisms', - 'This is because the category is right cancellative.' -), -( - 'sSet', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'walking_composable_pair', - 'same as isomorphisms', - 'This is because the category is right cancellative.' -), -( - 'walking_fork', - 'the identities and $i$', - 'First, $i$ is the equalizer of $f,g$. The morphism $f$ is an epimorphism (and a monomorphism), but no isomorphism, hence cannot be a regular monomorphism. The same holds for $g$.' -), -( - 'walking_commutative_square', - 'same as isomorphisms', - 'This is because the category is right cancellative.' -), -( - 'walking_coreflexive_pair', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -), -( - 'walking_idempotent', - 'the identity', - 'This is trivial.' -), -( - 'walking_isomorphism', - 'same as isomorphisms', - 'This is because the category is right cancellative.' -), -( - 'walking_morphism', - 'same as isomorphisms', - 'This is because the category is right cancellative.' -), -( - 'walking_pair', - 'same as isomorphisms', - 'This is because the category is right cancellative.' -), -( - 'walking_span', - 'same as isomorphisms', - 'This is because the category is right cancellative.' -), -( - 'walking_splitting', - 'same as monomorphisms', - 'This is because the category is mono-regular.' -); - -INSERT INTO special_morphisms - (category_id, description, reason, type) -SELECT - category_id, description, reason, 'regular monomorphisms' -FROM regular_monomorphisms; - -DROP TABLE regular_monomorphisms; \ No newline at end of file diff --git a/databases/catdat/data/006_special-morphisms/006_regular-epimorphisms.sql b/databases/catdat/data/006_special-morphisms/006_regular-epimorphisms.sql deleted file mode 100644 index 89cbf7c7..00000000 --- a/databases/catdat/data/006_special-morphisms/006_regular-epimorphisms.sql +++ /dev/null @@ -1,330 +0,0 @@ -CREATE TEMP TABLE regular_epimorphisms ( - category_id TEXT NOT NULL, - description TEXT NOT NULL, - reason TEXT NOT NULL -); - -INSERT INTO regular_epimorphisms ( - category_id, - description, - reason -) -VALUES -( - '0', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - '1', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - '2', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'Ab', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'Ab_fg', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'Alg(R)', - 'surjective homomorphisms', - 'This holds in every finitary algebraic category.' -), -( - 'B', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'BG_c', - 'same as isomorphisms', - 'This is because the category is left cancellative.' -), -( - 'BG_f', - 'same as isomorphisms', - 'This is because the category is left cancellative.' -), -( - 'BN', - 'same as isomorphisms', - 'This is because the category is left cancellative.' -), -( - 'BOn', - 'same as isomorphisms', - 'This is because the category is left cancellative.' -), -( - 'CAlg(R)', - 'surjective homomorphisms', - 'This holds in every finitary algebraic category.' -), -( - 'CMon', - 'surjective homomorphisms', - 'This holds in every finitary algebraic category.' -), -( - 'CRing', - 'surjective homomorphisms', - 'This holds in every finitary algebraic category.' -), -( - 'Delta', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'FI', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'FinAb', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'FinGrp', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'FinOrd', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'FinSet', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'Fld', - 'same as isomorphisms', - 'This is because the category is left cancellative.' -), -( - 'FS', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'Grp', - 'surjective homomorphisms', - 'This holds in every finitary algebraic category.' -), -( - 'J2', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'M-Set', - 'surjective homomorphisms', - 'This holds in every finitary algebraic category.' -), -( - 'Mon', - 'surjective homomorphisms', - 'This holds in every finitary algebraic category.' -), -( - 'N', - 'same as isomorphisms', - 'This is because the category is left cancellative.' -), -( - 'N_oo', - 'same as isomorphisms', - 'This is because the category is left cancellative.' -), -( - 'On', - 'same as isomorphisms', - 'This is because the category is left cancellative.' -), -( - 'R-Mod', - 'surjective homomorphisms', - 'This holds in every finitary algebraic category.' -), -( - 'R-Mod_div', - 'surjective homomorphisms', - 'This holds in every finitary algebraic category.' -), -( - 'real_interval', - 'same as isomorphisms', - 'This is because the category is left cancellative.' -), -( - 'Ring', - 'surjective homomorphisms', - 'This holds in every finitary algebraic category.' -), -( - 'Rng', - 'surjective homomorphisms', - 'This holds in every finitary algebraic category.' -), -( - 'SemiGrp', - 'surjective homomorphisms', - 'This holds in every finitary algebraic category.' -), -( - 'Set_c', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'Set_f', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'Set', - 'surjective homomorphisms', - 'This holds in every finitary algebraic category.' -), -( - 'Set*', - 'surjective homomorphisms', - 'This holds in every finitary algebraic category.' -), -( - 'Setne', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'SetxSet', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'Sh(X)', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'Sh(X,Ab)', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'Sp', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'sSet', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'Top', - 'surjective quotient maps', - 'Regular epimorphisms are surjective quotient maps by the explicit construction of coequalizers. Conversely, if $q : X \to Y$ is a surjective quotient map, then one checks that $q$ is the coequalizer of its kernel pair $X \times_Y X \rightrightarrows X$: This is true for the underlying sets, and continuity of the induced morphism follows since $q$ is a quotient map.' -), -( - 'Top*', - 'surjective pointed quotient maps', - 'Regular epimorphisms are surjective pointed quotient maps by the explicit construction of coequalizers. Conversely, if $q : X \to Y$ is a surjective pointed quotient map, then one checks that $q$ is the coequalizer of its kernel pair $X \times_Y X \rightrightarrows X$: This is true for the underlying pointed sets, and continuity of the induced morphism follows since $q$ is a quotient map.' -), -( - 'TorsAb', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'TorsFreeAb', - 'surjective group homomorphisms', - 'By the construction of the coequalizer in $\TorsFreeAb$ as the torsion-free reflection of the coequalizer in $\Ab$, every regular epimorphism is surjective. Conversely, if $f : A \to B$ is a surjective homomorphism of torsion-free abelian groups, in $\Ab$ it is the coequalizer of the two projections $A \times_B A \rightrightarrows A$, and $A \times_B A$ is also torsion-free. Hence, it is also the coequalizer of these projections in $\TorsFreeAb$.' -), -( - 'Vect', - 'surjective homomorphisms', - 'This holds in every finitary algebraic category.' -), -( - 'walking_commutative_square', - 'same as isomorphisms', - 'This is because the category is left cancellative.' -), -( - 'walking_composable_pair', - 'same as isomorphisms', - 'This is because the category is left cancellative.' -), -( - 'walking_coreflexive_pair', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'walking_fork', - 'same as isomorphisms', - 'This is because the category is left cancellative.' -), -( - 'walking_idempotent', - 'the identity', - 'This is trivial.' -), -( - 'walking_isomorphism', - 'same as isomorphisms', - 'This is because the category is left cancellative.' -), -( - 'walking_morphism', - 'same as isomorphisms', - 'This is because the category is left cancellative.' -), -( - 'walking_pair', - 'same as isomorphisms', - 'This is because the category is left cancellative.' -), -( - 'walking_span', - 'same as isomorphisms', - 'This is because the category is right cancellative.' -), -( - 'walking_splitting', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'Z', - 'same as epimorphisms', - 'This is because the category is epi-regular.' -), -( - 'Z_div', - 'same as isomorphisms', - 'This is because the category is left cancellative.' -); - -INSERT INTO special_morphisms - (category_id, description, reason, type) -SELECT - category_id, description, reason, 'regular epimorphisms' -FROM regular_epimorphisms; - -DROP TABLE regular_epimorphisms; \ No newline at end of file diff --git a/databases/catdat/data/007_functors/001_functor-properties.sql b/databases/catdat/data/007_functors/001_functor-properties.sql deleted file mode 100644 index 898f1a46..00000000 --- a/databases/catdat/data/007_functors/001_functor-properties.sql +++ /dev/null @@ -1,234 +0,0 @@ -INSERT INTO functor_properties ( - id, - relation, - description, - nlab_link, - invariant_under_equivalences, - dual_property_id -) -VALUES - ( - 'faithful', - 'is', - 'A functor is faithful when it is injective on Hom-sets: If $F(f)=F(g)$, then $f=g$.', - 'https://ncatlab.org/nlab/show/faithful+functor', - TRUE, - 'faithful' - ), - ( - 'full', - 'is', - 'A functor is full when it is surjective on Hom-sets: Every morphism $F(A) \to F(B)$ is induced by a morphism $A \to B$.', - 'https://ncatlab.org/nlab/show/full+functor', - TRUE, - 'full' - ), - ( - 'essentially surjective', - 'is', - 'A functor $F : \C \to \D$ is essentially surjective when every object $Y \in \D$ is isomorphic to $F(X)$ for some $X \in \C$.', - 'https://ncatlab.org/nlab/show/essentially+surjective+functor', - TRUE, - 'essentially surjective' - ), - ( - 'equivalence', - 'is an', - 'A functor is an equivalence if it has a pseudo-inverse functor.', - 'https://ncatlab.org/nlab/show/equivalence+of+categories', - TRUE, - 'equivalence' - ), - ( - 'continuous', - 'is', - 'A functor is continuous when it preserves all small limits.', - 'https://ncatlab.org/nlab/show/continuous+functor', - TRUE, - 'cocontinuous' - ), - ( - 'cocontinuous', - 'is', - 'A functor is cocontinuous when it preserves all small colimits.', - 'https://ncatlab.org/nlab/show/cocontinuous+functor', - TRUE, - 'continuous' - ), - -- Here is why we do not call this property "preserves products": - -- Either we name the property "preserves products" and choose the - -- empty relation '' (instead of 'is'). But then negations will not be - -- formatted properly ("does not preserves products"). - -- Or we name property "products" and choose the relation 'preserves'. - -- But then we will never be able to add the properties of "reflecting products", - -- "creating products", etc. - ( - 'product-preserving', - 'is', - 'A functor $F$ preserves products when for every family of objects $(A_i)$ in the source whose product $\prod_i A_i$ exists, also the product $\prod_i F(A_i)$ exists in the target and such that the canonical morphism $F(\prod_i A_i) \to \prod_i F(A_i)$ is an isomorphism.', - NULL, - TRUE, - 'coproduct-preserving' - ), - ( - 'coproduct-preserving', - 'is', - 'A functor $F$ preserves coproducts when for every family of objects $(A_i)$ in the source whose coproduct $\prod_i A_i$ exists, also the coproduct $\coprod_i F(A_i)$ exists in the target and such that the canonical morphism $\coprod_i F(A_i) \to F(\coprod_i A_i)$ is an isomorphism.', - NULL, - TRUE, - 'product-preserving' - ), - ( - 'finite-product-preserving', - 'is', - 'A functor $F$ preserves finite products when for every finite family of objects $(A_i)$ in the source whose product $\prod_i A_i$ exists, also the product $\prod_i F(A_i)$ exists in the target and such that the canonical morphism $F(\prod_i A_i) \to \prod_i F(A_i)$ is an isomorphism.', - NULL, - TRUE, - 'finite-coproduct-preserving' - ), - ( - 'finite-coproduct-preserving', - 'is', - 'A functor $F$ preserves finite coproducts when for every family of objects $(A_i)$ in the source whose coproduct $\prod_i A_i$ exists, also the coproduct $\coprod_i F(A_i)$ exists in the target and such that the canonical morphism $\coprod_i F(A_i) \to F(\coprod_i A_i)$ is an isomorphism.', - NULL, - TRUE, - 'finite-product-preserving' - ), - ( - 'terminal-object-preserving', - 'is', - 'A functor $F$ preserves terminal objects when it maps every terminal object to a terminal object. It is not assumed that the source category has a terminal object.', - NULL, - TRUE, - 'initial-object-preserving' - ), - ( - 'initial-object-preserving', - 'is', - 'A functor $F$ preserves initial objects when it maps every initial object to an initial object. It is not assumed that the source category has a initial object.', - NULL, - TRUE, - 'terminal-object-preserving' - ), - ( - 'equalizer-preserving', - 'is', - 'A functor $F$ preserves equalizers when for every parallel pair of morphisms $f,g : A \rightrightarrows B$ whose equalizer $i : E \to A$ exists, also $F(i) : F(E) \to F(A)$ is an equalizer of $F(f),F(g) : F(A) \rightrightarrows F(B)$.', - NULL, - TRUE, - 'coequalizer-preserving' - ), - ( - 'coequalizer-preserving', - 'is', - 'A functor $F$ preserves coequalizers when for every parallel pair of morphisms $f,g : A \rightrightarrows B$ whose coequalizer $p : B \to Q$ exists, also $F(p) : F(B) \to F(Q)$ is an coequalizer of $F(f),F(g) : F(A) \rightrightarrows F(B)$.', - NULL, - TRUE, - 'equalizer-preserving' - ), - ( - 'left adjoint', - 'is a', - 'A functor $F : \C \to \D$ is a left adjoint when there is a functor $G : \D \to \C$ such that there are natural bijections $\Hom(F(A),B) \cong \Hom(A,G(B))$.', - 'https://ncatlab.org/nlab/show/left+adjoint', - TRUE, - 'right adjoint' - ), - ( - 'right adjoint', - 'is a', - 'A functor $F : \C \to \D$ is a right adjoint when there is a functor $G : \D \to \C$ such that there are natural bijections $\Hom(G(A),B) \cong \Hom(A,F(B))$.', - 'https://ncatlab.org/nlab/show/right+adjoint', - TRUE, - 'left adjoint' - ), - ( - 'monadic', - 'is', - 'A functor $F : \C \to \D$ is monadic when there is a monad $T$ on $\D$ such that $F$ is equivalent to the forgetful functor $U^T : \Alg(T) \to \D$.', - 'https://ncatlab.org/nlab/show/monadic+functor', - TRUE, - 'comonadic' - ), - ( - 'comonadic', - 'is', - 'A functor $F : \C \to \D$ is comonadic when there is a comonad $T$ on $\D$ such that $F$ is equivalent to the forgetful functor $U^T : \CoAlg(T) \to \D$.', - 'https://ncatlab.org/nlab/show/comonadic+functor', - TRUE, - 'monadic' - ), - ( - 'conservative', - 'is', - 'A functor $F : \C \to \D$ is conservative when it is isomorphic-reflecting: If $f$ is a morphism in $\C$ such that $F(f)$ is an isomorphism, then $f$ is an isomorphism.', - 'https://ncatlab.org/nlab/show/conservative+functor', - TRUE, - 'conservative' - ), - ( - 'finitary', - 'is', - 'A functor is finitary when it preserves filtered colimits.', - 'https://ncatlab.org/nlab/show/finitary+functor', - TRUE, - 'cofinitary' - ), - ( - 'cofinitary', - 'is', - 'A functor is cofinitary when it preserves cofiltered limits.', - NULL, - TRUE, - 'finitary' - ), - ( - 'left exact', - 'is', - 'A functor is left exact when it preserves finite limits.', - 'https://ncatlab.org/nlab/show/exact+functor', - TRUE, - 'right exact' - ), - ( - 'right exact', - 'is', - 'A functor is right exact when it preserves finite colimits.', - 'https://ncatlab.org/nlab/show/exact+functor', - TRUE, - 'left exact' - ), - ( - 'exact', - 'is', - 'A functor is exact when it is left exact and right exact.', - 'https://ncatlab.org/nlab/show/exact+functor', - TRUE, - 'exact' - ), - ( - 'representable', - 'is', - 'A functor $F : \C \to \D$ is representable if $\C$ is locally small, $\D = \Set$, and there is an object $A \in \C$ with $F \cong \Hom(A,-)$.', - 'https://ncatlab.org/nlab/show/representable+functor', - TRUE, - NULL - ), - ( - 'monomorphism-preserving', - 'is', - 'A functor $F : \C \to \D$ preserves monomorphisms if every monomorphism in $\C$ is mapped to a monomorphism in $\D$.
- This property is useful to rule out some adjunctions.', - 'https://ncatlab.org/nlab/show/monomorphism', - TRUE, - 'epimorphism-preserving' - ), - ( - 'epimorphism-preserving', - 'is', - 'A functor $F : \C \to \D$ preserves epimorphisms if every epimorphism in $\C$ is mapped to an epimorphism in $\D$.
- This property is useful to rule out some adjunctions.', - 'https://ncatlab.org/nlab/show/epimorphism', - TRUE, - 'monomorphism-preserving' - ); diff --git a/databases/catdat/data/007_functors/002_functor-implications.sql b/databases/catdat/data/007_functors/002_functor-implications.sql deleted file mode 100644 index 87561a8e..00000000 --- a/databases/catdat/data/007_functors/002_functor-implications.sql +++ /dev/null @@ -1,172 +0,0 @@ -INSERT INTO functor_implications_view ( - id, - assumptions, - source_assumptions, - target_assumptions, - conclusions, - reason, - is_equivalence -) -VALUES - ( - 'equivalence_criterion', - '["full", "faithful", "essentially surjective"]', - '[]', - '[]', - '["equivalence"]', - 'This is standard, see Mac Lane, Ch. IV, Theorem 4.1.', - TRUE - ), - ( - 'continuous_consequences', - '["continuous"]', - '[]', - '[]', - '["product-preserving", "equalizer-preserving", "cofinitary"]', - 'This is trivial.', - FALSE - ), - ( - 'products_consequences', - '["product-preserving"]', - '[]', - '[]', - '["finite-product-preserving"]', - 'This is trivial.', - FALSE - ), - ( - 'finite_products_consequences', - '["finite-product-preserving"]', - '[]', - '[]', - '["terminal-object-preserving"]', - 'This is trivial.', - FALSE - ), - ( - 'continuous_criterion', - '["product-preserving", "equalizer-preserving"]', - '["products"]', - '[]', - '["continuous"]', - 'This follows from the construction of limits via equalizers and products, see Mac Lane, Ch. V, Theorem 2.2.', - FALSE - ), - ( - 'continuous_criterion_filtered', - '["left exact", "cofinitary"]', - '["finitely complete"]', - '[]', - '["continuous"]', - 'This is because every limit can be written as a filtered limit of finite limits, see Mac Lane, Ch. IX, Theorem 1.1.', - FALSE - ), - ( - 'product_criterion_filtered', - '["finite-product-preserving", "cofinitary"]', - '["finite products"]', - '[]', - '["product-preserving"]', - 'This is because every product can be written as a filtered limit of finite products, see Mac Lane, Ch. IX, Theorem 1.1.', - FALSE - ), - ( - 'exact_definition', - '["exact"]', - '[]', - '[]', - '["left exact", "right exact"]', - 'This holds by definition.', - TRUE - ), - ( - 'left_exact_consequences', - '["left exact"]', - '[]', - '[]', - '["finite-product-preserving", "terminal-object-preserving"]', - 'Both finite products and terminal objects are special cases of finite limits.', - FALSE - ), - ( - 'left_exact_criterion', - '["finite-product-preserving", "equalizer-preserving"]', - '["finite products"]', - '[]', - '["left exact"]', - 'This follows from the construction of finite limits via equalizers and finite products, see Mac Lane, Ch. V, Theorem 2.2.', - FALSE - ), - ( - 'equivalence_consequences', - '["equivalence"]', - '[]', - '[]', - '["continuous", "right adjoint", "monadic"]', - 'This is easy.', - FALSE - ), - ( - 'right_adjoint_consequences', - '["right adjoint"]', - '[]', - '[]', - '["continuous"]', - 'This is standard, see Mac Lane, Ch. V, Theorem 5.1.', - FALSE - ), - ( - 'saft', - '["continuous"]', - '["complete", "locally small", "well-powered", "cogenerating set"]', - '["locally small"]', - '["right adjoint"]', - 'This is the Special Adjoint Functor Theorem. The proof can be found, for example, at the nLab, or in Mac Lane, Ch. V, Theorem 8.2.', - FALSE - ), - ( - 'monadic_consequences', - '["monadic"]', - '[]', - '[]', - '["faithful", "right adjoint", "conservative"]', - 'This is clear since for a monad $T$ the forgetful functor from the category of $T$-algebras has these properties.', - FALSE - ), - ( - 'representable_is_continuous', - '["representable"]', - '[]', - '[]', - '["continuous"]', - 'This is standard, see Mac Lane, Ch. V, Theorem 4.1.', - FALSE - ), - ( - 'left_exact_preserves_mono', - '["left exact"]', - '[]', - '[]', - '["monomorphism-preserving"]', - 'This is because $f : X \to Y$ is a monomorphism if and only the square displaying $\id_Y \circ f = \id_Y \circ f$ is a pullback square.', - FALSE - ), - ( - 'faithful-via-equalizers', - '["equalizer-preserving", "conservative"]', - '["equalizers"]', - '[]', - '["faithful"]', - 'Let $f,g : X \rightrightarrows Y$ be two morphisms in the source category, and choose an equalizer $E \hookrightarrow X$. By assumption, $F(E) \to F(X)$ is the equalizer of $F(f),F(g) : F(X) \rightrightarrows F(Y)$. Thus, if $F(f) = F(g)$, then $F(E) \to F(X)$ is an isomorphism. Since $F$ is conservative, $E \to X$ is an isomorphism, which means $f = g$.', - FALSE - ), - ( - 'monadic_full_trivial', - '["monadic", "full"]', - '[]', - '[]', - '["equivalence"]', - 'Assume that $T$ is a monad on $\C$ such that the forgetful functor $U : \Alg(T) \to \C$ is full. Then by general facts about adjunctions (see MSE/1994963) the unit $\eta : \id_{\C} \to T$ is an isomorphism of functors. Then it is an isomorphism of monads, so that $U$ is an equivalence.', - FALSE - ); \ No newline at end of file diff --git a/databases/catdat/data/007_functors/003_functor-examples.sql b/databases/catdat/data/007_functors/003_functor-examples.sql deleted file mode 100644 index c8560e2b..00000000 --- a/databases/catdat/data/007_functors/003_functor-examples.sql +++ /dev/null @@ -1,57 +0,0 @@ -INSERT INTO functors ( - id, - name, - source, - target, - description, - nlab_link -) -VALUES - ( - 'id_Set', - 'identity functor on the category of sets', - 'Set', - 'Set', - 'Every category $\C$ has an identity functor $\id_{\C}$. Here, we specify that it is for the category of sets.', - 'https://ncatlab.org/nlab/show/identity+functor' - ), - ( - 'abelianization', - 'abelianization functor for groups', - 'Grp', - 'Ab', - 'This functor maps a group $G$ to its abelianization $G^{\ab} := G/[G,G]$.', - 'https://ncatlab.org/nlab/show/abelianization' - ), - ( - 'forget_vector', - 'forgetful functor for vector spaces', - 'Vect', - 'Set', - 'This functor $U$ maps a vector space $V$ (over a fixed field $K$) to its underlying set $U(V)$.', - 'https://ncatlab.org/nlab/show/forgetful+functor' - ), - ( - 'free_group', - 'free group functor', - 'Set', - 'Grp', - 'This functor maps a set $X$ to the free group $F(X)$ on that set.', - 'https://ncatlab.org/nlab/show/free+functor' - ), - ( - 'power_set_covariant', - 'covariant power set functor', - 'Set', - 'Set', - 'This functor maps a set $X$ to its power set $P(X)$ and a map of sets $f : X \to Y$ to the induced image operator $f_* : P(X) \to P(Y)$.', - 'https://ncatlab.org/nlab/show/power+set' - ), - ( - 'power_set_contravariant', - 'contravariant power set functor', - 'Set_op', - 'Set', - 'This functor maps a set $X$ to its power set $P(X)$ and a map of sets $f : X \to Y$ to the induced preimage operator $f^* : P(Y) \to P(X)$.', - 'https://ncatlab.org/nlab/show/power+set' - ); \ No newline at end of file diff --git a/databases/catdat/data/008_functor-property-assignments/abelianization.sql b/databases/catdat/data/008_functor-property-assignments/abelianization.sql deleted file mode 100644 index 6a04fc10..00000000 --- a/databases/catdat/data/008_functor-property-assignments/abelianization.sql +++ /dev/null @@ -1,55 +0,0 @@ -INSERT INTO functor_property_assignments ( - functor_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'abelianization', - 'left adjoint', - TRUE, - 'This functor is left adjoint to the forgetful functor.' -), -( - 'abelianization', - 'finite-product-preserving', - TRUE, - 'See MO/386144.' -), -( - 'abelianization', - 'product-preserving', - FALSE, - 'If $G$ is a group, the canonical homomorphism $(G^{\IN})^{\ab} \to (G^{\ab})^{\IN}$ is surjective, but does not need to be an isomorphism: otherwise, the inclusion $[G^{\IN}, G^{\IN}] \subseteq [G,G]^{\IN}$ would be an equality. But this requires the commutator width of $G$ to be finite, which fails for $G = F_2$ for instance. See also The abelianization of inverse limits of groups, Remark 0.0.7.' -), -( - 'abelianization', - 'monomorphism-preserving', - FALSE, - 'The monomorphism $A_3 \hookrightarrow S_3$ is mapped to $A_3 \to 1$.' -), -( - 'abelianization', - 'essentially surjective', - TRUE, - 'For abelian groups $G$ we have $G \cong G^{\ab}$.' -), -( - 'abelianization', - 'faithful', - FALSE, - 'Both the inclusion $A_3 \hookrightarrow S_3$ and the trivial homomorphism $A_3 \to S_3$ are mapped to the trivial homomorphism $A_3 \to 1$.' -), -( - 'abelianization', - 'conservative', - FALSE, - 'The proper inclusion $S_3 \hookrightarrow S_4$ gets mapped to the trivial homomorphism $1 \to 1$, which is an isomorphism.' -), -( - 'abelianization', - 'full', - FALSE, - 'See MSE/716686.' -); \ No newline at end of file diff --git a/databases/catdat/data/008_functor-property-assignments/forget_vector.sql b/databases/catdat/data/008_functor-property-assignments/forget_vector.sql deleted file mode 100644 index 75532b9f..00000000 --- a/databases/catdat/data/008_functor-property-assignments/forget_vector.sql +++ /dev/null @@ -1,55 +0,0 @@ -INSERT INTO functor_property_assignments ( - functor_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'forget_vector', - 'representable', - TRUE, - 'This functor is represented by any $1$-dimensional vector space.' -), -( - 'forget_vector', - 'conservative', - TRUE, - 'It is standard that the inverse of a bijective linear map is also linear.' -), -( - 'forget_vector', - 'finitary', - TRUE, - 'For every algebraic category the forgetful functor to the category of sets preserves filtered colimits.' -), -( - 'forget_vector', - 'monadic', - TRUE, - 'For every algebraic category the forgetful functor to the category of sets is monadic.' -), -( - 'forget_vector', - 'epimorphism-preserving', - TRUE, - 'This follows from the classifications of epimorphisms in the category of vector spaces and in the category of sets.' -), -( - 'forget_vector', - 'initial-object-preserving', - FALSE, - 'The underlying set of a trivial vector space is not empty.' -), -( - 'forget_vector', - 'essentially surjective', - FALSE, - 'The empty has has no vector space structure.' -), -( - 'forget_vector', - 'coequalizer-preserving', - FALSE, - 'The coequalizer of $0,i_1 : K \to K^2$ in $\Vect$ is $p_2 : K^2 \to K$, but the coequalizer in $\Set$ is $(K \times K^*) \cup \{(0,0)\}$.' -); \ No newline at end of file diff --git a/databases/catdat/data/008_functor-property-assignments/free_group.sql b/databases/catdat/data/008_functor-property-assignments/free_group.sql deleted file mode 100644 index b59f0df9..00000000 --- a/databases/catdat/data/008_functor-property-assignments/free_group.sql +++ /dev/null @@ -1,55 +0,0 @@ -INSERT INTO functor_property_assignments ( - functor_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'free_group', - 'left adjoint', - TRUE, - 'This functor is left adjoint to the forgetful functor.' -), -( - 'free_group', - 'monomorphism-preserving', - TRUE, - 'This can be deduced from the description of the elements of a free group, but here is an abstract argument: Split monomorphisms are preserved by any functor. The only injective maps in $\Set$ that are not split are $\varnothing \hookrightarrow X$ (for non-empty $X$), and $F(\varnothing) \to F(X)$ is injective since $F(\varnothing)$ is the trivial group.' -), -( - 'free_group', - 'faithful', - TRUE, - 'A left adjoint is faithful if and only if its unit consists of monomorphisms. So we only need to check that every set embeds into (the underlying set of) its free group. But this is clear since $X$ already embeds into the free abelian group $\IZ^{\oplus X}$, which is a quotient of the free group.' -), -( - 'free_group', - 'conservative', - TRUE, - 'Let $f : X \to Y$ be a map of sets such that $F(f) : F(X) \to F(Y)$ is an isomorphism of groups. We know that $F$ is faithful, so that it reflects monomorphisms. Thus, $f$ is injective. Choose a complement $U \subseteq Y$ of $f(X) \subseteq Y$. Then $F(X) \to F(Y) = F(X) \sqcup F(U)$ is an isomorphism. This implies $F(U)=1$ and hence $U = \varnothing$.' -), -( - 'free_group', - 'essentially surjective', - FALSE, - 'Not every group is free (consider $\IZ/2$).' -), -( - 'free_group', - 'terminal-object-preserving', - FALSE, - 'The free group of rank $1$ is not the trivial group.' -), -( - 'free_group', - 'full', - FALSE, - 'The map $1 = \Hom(1,1) \to \Hom(F(1),F(1)) = \Hom(\IZ,\IZ) = \IZ$ is not surjective.' -), -( - 'free_group', - 'equalizer-preserving', - FALSE, - 'Let $f,g : \{a,b\} \rightrightarrows \{c,d\}$ be the two constant maps, $f \equiv c$, $g \equiv d$. Their equalizer is empty, and the free group on that equalizer is trivial. Now consider the induced group homomorphisms $F(f), F(g) : F(\{a,b\}) \rightrightarrows F(\{c,d\})$ and observe that $a \cdot b^{-1}$ lies in the kernel of both homomorphisms, hence in their equalizer.' -); diff --git a/databases/catdat/data/008_functor-property-assignments/id_Set.sql b/databases/catdat/data/008_functor-property-assignments/id_Set.sql deleted file mode 100644 index 3264a7f3..00000000 --- a/databases/catdat/data/008_functor-property-assignments/id_Set.sql +++ /dev/null @@ -1,19 +0,0 @@ -INSERT INTO functor_property_assignments ( - functor_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'id_Set', - 'equivalence', - TRUE, - 'This is trivial.' -), -( - 'id_Set', - 'representable', - TRUE, - 'This functor is represented by any singleton set.' -); \ No newline at end of file diff --git a/databases/catdat/data/008_functor-property-assignments/power_set_contravariant.sql b/databases/catdat/data/008_functor-property-assignments/power_set_contravariant.sql deleted file mode 100644 index 71ab9b67..00000000 --- a/databases/catdat/data/008_functor-property-assignments/power_set_contravariant.sql +++ /dev/null @@ -1,55 +0,0 @@ -INSERT INTO functor_property_assignments ( - functor_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'power_set_contravariant', - 'representable', - TRUE, - 'This is because there are natural bijections $P(X) \cong \Hom(X,2)$, sending a subset to its characteristic function.' -), -( - 'power_set_contravariant', - 'monadic', - TRUE, - 'See Johnstone, Theorem 2.2.7.' -), -( - 'power_set_contravariant', - 'epimorphism-preserving', - TRUE, - 'If $f : X \to Y$ is injective, then $f^* : P(Y) \to P(X)$ is surjective, since for all $A \subseteq X$ we have $A = f^*(f_*(A))$.' -), -( - 'power_set_contravariant', - 'coequalizer-preserving', - FALSE, - 'The power set functor preserves reflexive coequalizers, but not all coequalizers, i.e. there are maps $f,g : Y \to X$ with equalizer $E \subseteq Y$ such that $P(Y) \twoheadrightarrow P(E)$ is not the coequalizer of $f^*,g^* : P(X) \to P(Y)$: Let $X=\{0,1\}$ and $Y=\{a,b,c\}$. Define maps $f,g:Y\to X$ by $f(a)=0$, $f(b)=0$, $f(c)=1$ and $g(a)=0$, $g(b)=1$, $g(c)=0$. Their equalizer is $E = \{a\}$, so that $P(E)$ has $2$ elements. For $S=\{0\}$ one has $f^*(S)=\{a,b\}$, $g^*(S)=\{a,c\}$, and for $S=\{1\}$ one has $f^*(S)=\{c\}$, $g^*(S)=\{b\}$. Thus the coequalizer of $f^*,g^*$ is obtained from $P(Y)$ by imposing the two relations $\{a,b\} \sim \{a,c\}$ and $\{c\} \sim \{b\}$. But then it as $8-2 = 6$ elements.' -), -( - 'power_set_contravariant', - 'initial-object-preserving', - FALSE, - 'In fact, the initial object does not even lie in the essential image since $P(X) \neq 0$ for all $X$.' -), -( - 'power_set_contravariant', - 'finitary', - FALSE, - 'Consider the sequence of projections $\cdots \twoheadrightarrow \{0,1\}^2 \twoheadrightarrow \{0,1\}^1$. Its limit in $\Set$ (i.e. colimit in $\Set^{\op}$) is $\{0,1\}^{\IN}$, which is uncountable, so that $P(\{0,1\}^{\IN})$ is also uncountable. But the colimit of the induced diagram $P(\{0,1\}^1) \hookrightarrow P(\{0,1\}^2) \hookrightarrow \cdots$ is countable since each $P(\{0,1\}^n)$ is finite.' -), -( - 'power_set_contravariant', - 'essentially surjective', - FALSE, - 'The initial object does not lie in the essential image since $P(X) \neq 0$ for all $X$.' -), -( - 'power_set_contravariant', - 'full', - FALSE, - 'The maps $f^* : P(Y) \to P(X)$ preserve the empty set, so take the constant map $P(X) \to P(X)$, $T \mapsto X$ for instance (where $X$ is non-empty).' -); diff --git a/databases/catdat/data/008_functor-property-assignments/power_set_covariant.sql b/databases/catdat/data/008_functor-property-assignments/power_set_covariant.sql deleted file mode 100644 index 4f7e4d11..00000000 --- a/databases/catdat/data/008_functor-property-assignments/power_set_covariant.sql +++ /dev/null @@ -1,73 +0,0 @@ -INSERT INTO functor_property_assignments ( - functor_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'power_set_covariant', - 'monomorphism-preserving', - TRUE, - 'If $f : X \to Y$ is injective, then $f^* \circ f_* = \id_{P(X)}$, so that $f_*$ is injective.' -), -( - 'power_set_covariant', - 'epimorphism-preserving', - TRUE, - 'If $f : X \to Y$ is surjective, then $f_* \circ f^* = \id_{P(Y)}$, so that $f^*$ is surjective.' -), -( - 'power_set_covariant', - 'faithful', - TRUE, - 'Let $f,g : X \rightrightarrows Y$ be two maps with $f_* = g_* : P(X) \rightrightarrows P(Y)$. Then $\{f(x)\} = f_*(\{x\}) = g_*(\{x\}) = \{g(x)\}$ and hence $f(x) = g(x)$ for all $x \in X$.' -), -( - 'power_set_covariant', - 'conservative', - TRUE, - 'Assume that $f : X \to Y$ is a map such that $f_* : P(X) \to P(Y)$ is an isomorphism. There is some $A \subseteq X$ with $Y = f_*(A)$, this proves that $f$ is surjective. It is also injective: If $x,y \in X$ satisfy $f(x) = f(y)$, then $f_*(\{x\}) = f_*(\{y\})$, and hence $\{x\} = \{y\}$, i.e. $x = y$.' -), -( - 'power_set_covariant', - 'full', - FALSE, - 'Take any map $P(X) \to P(X)$ that does not preserve the empty set, say the constant map with value $X$ (for $X \neq \varnothing$).' -), -( - 'power_set_covariant', - 'terminal-object-preserving', - FALSE, - 'We have $2^1 \neq 1$.' -), -( - 'power_set_covariant', - 'initial-object-preserving', - FALSE, - 'We have $2^0 \neq 0$.' -), -( - 'power_set_covariant', - 'essentially surjective', - FALSE, - 'Every power set is non-empty.' -), -( - 'power_set_covariant', - 'finitary', - FALSE, - 'The filtered colimit $\IN = \bigcup_{n \geq 0} \IN_{\leq n}$ is not preserved by $P$, since $\bigcup_{n \geq 0} P(\IN_{\leq n})$ just consists of the finite subsets of $\IN$.' -), -( - 'power_set_covariant', - 'equalizer-preserving', - FALSE, - 'Any pair of distinct surjective maps $f,g : X \rightrightarrows Y$ provides a counterexample: Their equalizer $E$ is a proper subset of $X$, so that $P(E)$ cannot contain $X$. But $f_*(X) = Y = g_*(X)$ shows that $X$ is contained in the equalizer of $f_*,g_* : P(X) \rightrightarrows P(Y)$.' -), -( - 'power_set_covariant', - 'coequalizer-preserving', - FALSE, - 'Let $X := \{x,y\}$. Consider the two maps $x,y : \{0\} \rightrightarrows X$. Their coequalizer $Q = X / (x = y)$ has just one element, so that $P(Q)$ has two elements. The induced maps $x_*,y_* : P(\{0\}) \rightrightarrows P(X)$ (which already agree on the empty set) have coequalizer $P(X) / (\{x\} = \{y\})$, which has $3$ elements. So it cannot be $P(Q)$.' -); diff --git a/databases/catdat/data/009_lemmas/001_lemmas.sql b/databases/catdat/data/009_lemmas/001_lemmas.sql deleted file mode 100644 index a49577c8..00000000 --- a/databases/catdat/data/009_lemmas/001_lemmas.sql +++ /dev/null @@ -1,181 +0,0 @@ -INSERT INTO lemmas ( - id, - title, - claim, - proof -) VALUES -( - 'thin_algebraic_categories', - 'Algebraic categories are "never" thin', - 'Let $\C$ be a thin and finitary algebraic category. Then $\C \simeq 1$ or $\C \simeq \{0 < 1\}$.', - 'Let $F : \Set \to \C$ denote the free algebra functor. Every object $A \in \C$ admits a regular epimorphism $F(X) \twoheadrightarrow A$ for some set $X$. But since $\C$ is thin, every regular epimorphism must be an isomorphism. Also, $F(X)$ is a coproduct of copies of $F(1)$, which means it is either the initial object $0$ or $F(1)$ itself (since $\C$ is thin). If $F(1) \cong 0$, then every object is isomorphic to the initial object $0$, and hence $\C$ is trivial. If not, then $\C$ has exactly two objects up to isomorphism, $0$ and $F(1)$, there is a morphism $0 \to F(1)$, but no morphism $F(1) \to 0$. Since $\C$ is thin, we conclude $\C \simeq \{0 \to 1\}$.' -), -( - 'preadditive_structure_unique', - 'Uniqueness of preadditive structures', - 'Let $\C$ be a preadditive category (or more generally, a category enriched in commutative monoids) with finite products and finite coproducts. Then for all objects $X,Y$ the canonical morphism - $$\alpha : X \oplus Y \to X \times Y$$ - is an isomorphism. Moreover, the preadditive structure is unique: If $f,g : A \rightrightarrows B$ are morphisms, their sum - $$f+g : A \to B$$ - is the composite of $(f,g) : A \to B \times B$, the inverse $\alpha^{-1} : B \oplus B \to B \times B$, and the codiagonal $\nabla : B \oplus B \to B$.', - 'The morphism $\alpha : X \oplus Y \to X \times Y$ is defined by the equations - $$p_1 \circ \alpha \circ i_1 = \id_X, \quad p_2 \circ \alpha \circ i_2 = \id_Y,$$ - $$p_2 \circ \alpha \circ i_1 = 0,\quad p_1 \circ \alpha \circ i_2 = 0.$$ - It does not depend on the choice of preadditive structure since zero morphisms are unique. It is an isomorphism: Define - $$\beta := i_1 \circ p_1 + i_2 \circ p_2 : X \times Y \to X \oplus Y.$$ - Then $\alpha \circ \beta = \id_{X \times Y}$ because - $$p_1 \circ \alpha \circ \beta = p_1 \circ \alpha \circ i_1 \circ p_1 + p_1 \circ \alpha \circ i_2 \circ p_2 = \id_1 \circ p_1 + 0 \circ p_2 = p_1$$ - and likewise $p_2 \circ \alpha \circ \beta = p_2$. We also have $\beta \circ \alpha = \id_{X \oplus Y}$ with a very similar calculation that shows $\beta \circ \alpha \circ i_1 = i_1$ and $\beta \circ \alpha \circ i_2 = i_2$. Therefore, for morphisms $f,g : A \rightrightarrows B$ the composite $A \to B$ in the claim is equal to - $$\begin{align*} - \nabla \circ \beta \circ (f,g) & = \nabla \circ (i_1 \circ p_1 + i_2 \circ p_2) \circ (f,g) \\ - & = \nabla \circ i_1 \circ p_1 \circ (f,g) + \nabla \circ i_2 \circ p_2 \circ (f,g) \\ - & = p_1 \circ (f,g) + p_2 \circ (f,g) \\ - & = f + g. - \end{align*}$$' -), -( - 'generator_construction', - 'Construction of Generators', - 'In a category let $S$ be a generating set which is strongly connected (between any two objects in $S$ there is a morphism). If the coproduct $U := \coprod_{G \in S} G$ exists, then it is a generator.', - 'This is a straight forward generalization of this result. We remark that the assumption about $S$ implies that each inclusion $G \to U$ has a left inverse. Now let $f,g : A \rightrightarrows B$ be two morphisms with $f h = g h$ for all $h : U \to A$. If $G \in S$, any morphism $G \to A$ extends to $U$ by our preliminary remark. Thus, $fh = gh$ holds for all $h : G \to A$ and $G \in S$. Since $S$ is a generating set, this implies $f = g$.' -), -( - 'limits_in_factor_categories', - 'Limits in factor categories', - 'Let $\C,\D$ be two categories. Assume that $\D$ is inhabited. If $\C \times \D$ has limits of a given shape, then $\C$ also has limits of this shape.', - 'Let $U \in \D$ be a fixed object. Assume that $X : \J \to \C$ is a diagram. Assume that the diagram $(X,U) : \J \to \C \times \D$ (which is constant in the second variable) has a limit cone $((p_i, u_i) : (L,V) \to (X_i,U))$, thus consisting of morphisms $p_i : L \to X_i$ and $u_i : V \to U$. Clearly, $(p_i : L \to X_i)$ is a cone over $X$. We prove that it is universal:
- Let $(f_i : T \to X_i)$ be a cone over $X$. Then $((f_i,\id_U) : (T,U) \to (X_i,U))$ is a cone over $(X,U)$. Hence, there is a unique morphism $(f,v) : (T,U) \to (L,V)$, consisting of $f : T \to L$ and $v : U \to V$, such that $(p_i,u_i) \circ (f,v) = (f_i,\id_U)$, i.e. $p_i \circ f = f_i$ and $u_i \circ v = \id_U$. If $g : T \to L$ is another morphism with $p_i \circ g = f_i$, then uniqueness applied to $(g,v)$ shows that $f = g$.' -), -( - 'cogenerators_in_product_categories', - 'Cogenerators in product categories', - 'For a family of categories $(\C_i)_{i \in I}$, each having a cogenerator $Q_i$ which is weakly terminal, the object $(Q_i)_{i \in I}$ is a cogenerator in the product category $\prod_{i \in I} \C_i$.', - 'Let $(f_i: A_i \to B_i)_{i \in I}$ and $(g_i: A_i \to B_i)_{i \in I}$ be two parallel morphisms in the product category which are coequalized by any morphism $(B_i \to Q_i)_{i \in I}$. Let $i_0 \in I$. We claim that $f_{i_0},g_{i_0} : A_{i_0} \rightrightarrows B_{i_0}$ are coequalized by all morphisms $B_{i_0} \to Q_{i_0}$, and hence are equal: Indeed, for all $i \neq i_0$ we may choose some morphism $B_i \to Q_i$ since $Q_i$ is weakly terminal. Thus, the morphism $B_{i_0} \to Q_{i_0}$ extends to a morphism $(B_i \to Q_i)_{i \in I}$ in the product category. By assumption, it coequalizes $(f_i)_{i \in I}$ and $(g_i)_{i \in I}$. By looking at the $i_0$-component are done.' -), -( - 'special_sequential_colimits', - 'Finite structures usually have no sequential colimits', - 'Let $\C$ be a category with finite powers, including a terminal object $1$. Let $a : 1 \to X$ be a morphism. Assume that the sequence of morphisms $(X^n,a) : X^n \to X^{n+1}$ for $n \geq 0$ admits a colimit $(i_n : X^n \to C)$. Then for every $m \geq 0$ there is a split epimorphism $C \to X^m$. In particular, if $U : \C \to \Set$ is a functor preserving finite powers and $\card(U(X)) \geq 2$, then $U(C)$ is infinite.', - 'Let $m \geq 0$ be fixed. For $n \geq 0$ we define a morphism $u_n : X^n \to X^m$ as follows: It is the projection on the first $m$ factors for $m \leq n$, and $(X^n,a^{m-n})$ for $m \geq n$ (for $m=n$ these agree). With generalized elements this says: - $$u_n(x_1,\dotsc,x_n) = \begin{cases} (x_1,\dotsc,x_m) & m \leq n \\ (x_1,\dotsc,x_n,a,\dotsc,a) & m \geq n \end{cases}$$ - We claim that $u_n = u_{n+1} \circ (X^n,a)$, i.e. - $$u_n(x_1,\dotsc,x_n) = u_{n+1}(x_1,\dotsc,x_n,a).$$ - If $m \leq n$ (hence, $m \leq n+1$), both sides are equal to $(x_1,\dotsc,x_m)$. If $m > n$, i.e. $m \geq n+1$, both sides are equal to $(x_1,\dotsc,x_n,a,\dotsc,a)$. This proves the claim. -
Hence, there is a unique morphism $\varphi : C \to X^m$ such that $\varphi \circ i_n = u_n$ for all $n \geq 0$. Since $u_m$ is the identity, $\varphi$ is a split epimorphism. -
If $U$ is a functor with the mentioned properties, $U(\varphi)$ is also a split epimorphism from $U(C)$ to $U(X^m) \cong U(X)^m$, and $U(X)^m$ has $\geq 2^m$ elements. This holds for all $m$, so that $U(C)$ is infinite.' -), -( - 'missing_cogenerating_sets', - 'Missing cogenerating sets', - 'Let $\C$ be a category with a faithful functor $U: \C \to \Set$. Assume there exists a collection of objects $\F \subseteq \Ob(\C)$ satisfying the following conditions: -
    -
  1. For any $X \in \F$ and any non-terminal $Y \in \C$, for every morphism $f: X \to Y$ its underlying map $U(f) : U(X) \to U(Y)$ is injective.
  2. -
  3. For every infinite cardinal number $\kappa$, there exists an object $X \in \F$ such that $\card(U(X)) \geq \kappa$ and such that $X$ has a non-identity endomorphism.
  4. -
- Then $\C$ does not have a cogenerating set.', - 'Assume that there is a cogenerating set $S$. By assumption (2) there is an object $X \in \F$ such that $U(X)$ is larger than all the $U(Y)$ with $Y \in S$ (w.r.t. cardinalities) and which has a non-identity endomorphism $\sigma : X \to X$. Since $S$ cogenerates, there is a morphism $f : X \to Y$ with $Y \in S$ and $f \sigma \neq f$. For this, $Y$ must be non-terminal. By (1) the map $U(f) : U(X) \to U(Y)$ is injective. This is a contradiction.' -), -( - 'missing_cogenerator', - 'Missing cogenerator', - 'Let $\C$ be a pointed category with a faithful functor $U: \C \to \Set$. Assume there exists a collection of non-zero objects $\F \subseteq \Ob(\C)$ satisfying the following conditions: -
    -
  1. For any $X \in \F$ and any $Y \in \C$, every non-zero morphism $f: X \to Y$ is injective on underlying sets.
  2. -
  3. For every $Y \in \C$ there is some object $X \in \F$ such that $\card(U(X)) > \card(U(Y))$.
  4. -
- Then $\C$ does not have a cogenerator.', - 'Assume that there is a cogenerator $Y$. By assumption (2) there is an object $X \in \F$ such that $U(X)$ is larger than $U(Y)$ (w.r.t. cardinalities). Since $0,\id_X : X \rightrightarrows X$ are distinct, there is a morphism $f : X \to Y$ with $f \neq 0$. But then $U(f) : U(X) \to U(Y)$ is injective by assumption (1), which contradicts our choice of $X$.' -), -( - 'subobject_classifiers_coreflection', - 'Coreflection of subobject classifiers', - 'Let $\D$ be a category with a (regular) subobject classifier $\Omega$. Assume that $\C \to \D$ is a full subcategory such that (1) any (regular) $\D$-subobject of an object in $\C$ already lies in $\C$, (2) it is coreflective, i.e. there is a functor $R : \D \to \C$ right adjoint to the inclusion. Then $R(\Omega)$ is a (regular) subobject classifier in $\C$.', - 'If $X \in \C$, then $\Hom(X,R(\Omega)) \cong \Hom(X,\Omega)$ is isomorphic to the collection of $\D$-subobjects of $X$, which by assumption coincide with the $\C$-subobjects of $X$.' -), -( - 'exact_filtered_colimits_descend', - 'Exact filtered colimits descend to nice subcategories', - 'Let $G : \C \to \D$ be a fully faithful functor with a left adjoint $F : \D \to \C$ that preserves finite limits. Assume that $\D$ has exact filtered colimits and that $\C$ has finite limits. Then $\C$ has exact filtered colimits as well.', - 'It is well-known (and easy to prove) that the colimit of a diagram $(X_j)$ in $\C$ is constructed as $F(\colim_j G(X_j))$, provided that colimit in $\D$ exists. In particular, $\C$ has filtered colimits. By assumption, it also has finite limits, and $G$ preserves these since it is a right adjoint. Now let $X : \I \times \J \to \C$ be a diagram, where $\I$ is finite and $\J$ is filtered. We compute: - $$\begin{align*} \colim_j {\lim}_i X(i,j) & \cong F(\colim_j G({\lim}_i X(i,j))) \\ - & \cong F(\colim_j {\lim}_i G(X(i,j))) \\ - & \cong F({\lim}_i \colim_j G(X(i,j))) \\ - & \cong {\lim}_i F(\colim_j G(X(i,j))) \\ - & \cong {\lim}_i \colim_j X(i,j) - \end{align*}$$' -), -( - 'filtered-monos', - 'Detection of filtered-colimit-stable monomorphisms', - 'Let $\C$ be a category with filtered colimits. Assume that $U : \C \to \D$ is faithful functor which preserves monomorphisms and filtered colimits. If monomorphisms in $\D$ are stable under filtered colimits, then the same is true for $\C$.

- For the record, here is the dual statement: Let $\C$ be a category with cofiltered limits. Assume that $U : \C \to \D$ is faithful functor which preserves epimorphisms and cofiltered limits. If epimorphisms in $\D$ are stable under cofiltered limits, then the same is true for $\C$. - ', - 'Since $U$ is faithful, it reflects monomorphisms. From here the proof is straight forward.' -), -( - 'pushouts-of-monos-via-congruence-quotients', - 'Construction of a pushout of monomorphisms as a quotient of a congruence', - 'Let $\C$ be an extensive category with quotients of congruences. Then $\C$ has pushouts of monomorphisms.', - 'Let $f : S \hookrightarrow X$, $g : S \hookrightarrow Y$ be monomorphisms. We construct a congruence on $X+Y$ via the maps $p_1, p_2 : X + Y + S + S \rightrightarrows X+Y$ which act as the identity on $X+Y$, $i_1 \circ f, i_2 \circ g$ on the first copy of $S$, and $i_2 \circ g, i_1 \circ f$ on the second copy of $S$, respectively. To show that $p_1, p_2$ are jointly monomorphic, and again in proving transitivity of the congruence, we use extensivity to split the domain of the generalized elements of $X+Y+S+S$ so that without loss of generality we may assume each factors through one of the coproduct inclusions. Now a quotient of the congruence must be a pushout of $f$ and $g$.' -), -( - 'monic-sequential-colimits-via-congruence-quotients', - '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 $\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 \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$.' -), -( - 'nno_distributive_criterion', - 'Natural number objects indicate distributivity', - 'Let $\C$ be a category with finite products, arbitrary copowers (denoted $\otimes$), and a natural numbers object $1 \xrightarrow{z} N \xrightarrow{s} N$. Then there is an isomorphism $N \cong \IN \otimes 1$, and for every object $A$ the natural morphism - $$\alpha : \IN \otimes A \to A \times (\IN \otimes 1)$$ - is a split monomorphism.', - 'We will use generalized elements extensively. In particular, for every element $a \in A$ and $n \in \IN$ there is an element $n \otimes a \in \IN \otimes A$, formally defined by the $n$th coproduct inclusion. The morphism $\alpha$ is defined by - $$\alpha(n \otimes a) = (a , n \otimes 1).$$ - In any category with finite products and arbitrary copowers, we can construct the non-parameterized NNO $\IN \otimes 1$ with the element $0 \otimes 1 \in \IN \otimes 1$ and the map - $$s : \IN \otimes 1 \to \IN \otimes 1, \quad s(n \otimes 1) := (n+1) \otimes 1.$$ - Its universal property states that it is initial in the category of pairs $1 \xrightarrow{x_0} X \xrightarrow{r} X$. Hence, it is unique up to isomorphism. Since by assumption $1 \xrightarrow{z} N \xrightarrow{s} N$ is a full, parameterized NNO, it is also a non-parameterized NNO and therefore isomorphic to the one described. We will assume w.l.o.g. that it is equal to it and continue to work with $N = \IN \otimes 1$.

- Next, we apply the (parameterized) universal property of the NNO to the diagram - $$A \xrightarrow{f} \IN \otimes A \xrightarrow{g} \IN \otimes A$$ - defined by $f(a) := 0 \otimes a$ and $g(n \otimes a) := (n+1) \otimes a$. It tells us that there is a map - $$\Phi : A \times N \to \IN \otimes A$$ - with - $$\Phi(a,0 \otimes 1) = 0 \otimes a, \quad \Phi(a, s(m)) = g(\Phi(a,m)).$$ - For $m := n \otimes 1 \in N$ (where $n \in \IN$) the second equation reads - $$\Phi(a, (n+1) \otimes 1) = g(\Phi(a, n \otimes 1)).$$ - By classical induction on $n \in \IN$ it follows that - $$\Phi(a, n \otimes 1) = n \otimes a,$$ - which exactly means $\Phi \circ \alpha = \id_{\IN \otimes A}$.' -); - diff --git a/databases/catdat/data_yaml/categories/0.yaml b/databases/catdat/data/categories/0.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/0.yaml rename to databases/catdat/data/categories/0.yaml diff --git a/databases/catdat/data_yaml/categories/1.yaml b/databases/catdat/data/categories/1.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/1.yaml rename to databases/catdat/data/categories/1.yaml diff --git a/databases/catdat/data_yaml/categories/2.yaml b/databases/catdat/data/categories/2.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/2.yaml rename to databases/catdat/data/categories/2.yaml diff --git a/databases/catdat/data_yaml/categories/Ab.yaml b/databases/catdat/data/categories/Ab.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Ab.yaml rename to databases/catdat/data/categories/Ab.yaml diff --git a/databases/catdat/data_yaml/categories/Ab_fg.yaml b/databases/catdat/data/categories/Ab_fg.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Ab_fg.yaml rename to databases/catdat/data/categories/Ab_fg.yaml diff --git a/databases/catdat/data_yaml/categories/Alg(R).yaml b/databases/catdat/data/categories/Alg(R).yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Alg(R).yaml rename to databases/catdat/data/categories/Alg(R).yaml diff --git a/databases/catdat/data_yaml/categories/B.yaml b/databases/catdat/data/categories/B.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/B.yaml rename to databases/catdat/data/categories/B.yaml diff --git a/databases/catdat/data_yaml/categories/BG_c.yaml b/databases/catdat/data/categories/BG_c.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/BG_c.yaml rename to databases/catdat/data/categories/BG_c.yaml diff --git a/databases/catdat/data_yaml/categories/BG_f.yaml b/databases/catdat/data/categories/BG_f.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/BG_f.yaml rename to databases/catdat/data/categories/BG_f.yaml diff --git a/databases/catdat/data_yaml/categories/BN.yaml b/databases/catdat/data/categories/BN.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/BN.yaml rename to databases/catdat/data/categories/BN.yaml diff --git a/databases/catdat/data_yaml/categories/BOn.yaml b/databases/catdat/data/categories/BOn.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/BOn.yaml rename to databases/catdat/data/categories/BOn.yaml diff --git a/databases/catdat/data_yaml/categories/Ban.yaml b/databases/catdat/data/categories/Ban.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Ban.yaml rename to databases/catdat/data/categories/Ban.yaml diff --git a/databases/catdat/data_yaml/categories/CAlg(R).yaml b/databases/catdat/data/categories/CAlg(R).yaml similarity index 100% rename from databases/catdat/data_yaml/categories/CAlg(R).yaml rename to databases/catdat/data/categories/CAlg(R).yaml diff --git a/databases/catdat/data_yaml/categories/CMon.yaml b/databases/catdat/data/categories/CMon.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/CMon.yaml rename to databases/catdat/data/categories/CMon.yaml diff --git a/databases/catdat/data_yaml/categories/CRing.yaml b/databases/catdat/data/categories/CRing.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/CRing.yaml rename to databases/catdat/data/categories/CRing.yaml diff --git a/databases/catdat/data_yaml/categories/Cat.yaml b/databases/catdat/data/categories/Cat.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Cat.yaml rename to databases/catdat/data/categories/Cat.yaml diff --git a/databases/catdat/data_yaml/categories/Delta.yaml b/databases/catdat/data/categories/Delta.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Delta.yaml rename to databases/catdat/data/categories/Delta.yaml diff --git a/databases/catdat/data_yaml/categories/FI.yaml b/databases/catdat/data/categories/FI.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/FI.yaml rename to databases/catdat/data/categories/FI.yaml diff --git a/databases/catdat/data_yaml/categories/FS.yaml b/databases/catdat/data/categories/FS.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/FS.yaml rename to databases/catdat/data/categories/FS.yaml diff --git a/databases/catdat/data_yaml/categories/FinAb.yaml b/databases/catdat/data/categories/FinAb.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/FinAb.yaml rename to databases/catdat/data/categories/FinAb.yaml diff --git a/databases/catdat/data_yaml/categories/FinGrp.yaml b/databases/catdat/data/categories/FinGrp.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/FinGrp.yaml rename to databases/catdat/data/categories/FinGrp.yaml diff --git a/databases/catdat/data_yaml/categories/FinOrd.yaml b/databases/catdat/data/categories/FinOrd.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/FinOrd.yaml rename to databases/catdat/data/categories/FinOrd.yaml diff --git a/databases/catdat/data_yaml/categories/FinSet.yaml b/databases/catdat/data/categories/FinSet.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/FinSet.yaml rename to databases/catdat/data/categories/FinSet.yaml diff --git a/databases/catdat/data_yaml/categories/Fld.yaml b/databases/catdat/data/categories/Fld.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Fld.yaml rename to databases/catdat/data/categories/Fld.yaml diff --git a/databases/catdat/data_yaml/categories/FreeAb.yaml b/databases/catdat/data/categories/FreeAb.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/FreeAb.yaml rename to databases/catdat/data/categories/FreeAb.yaml diff --git a/databases/catdat/data_yaml/categories/Grp.yaml b/databases/catdat/data/categories/Grp.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Grp.yaml rename to databases/catdat/data/categories/Grp.yaml diff --git a/databases/catdat/data_yaml/categories/Haus.yaml b/databases/catdat/data/categories/Haus.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Haus.yaml rename to databases/catdat/data/categories/Haus.yaml diff --git a/databases/catdat/data_yaml/categories/J2.yaml b/databases/catdat/data/categories/J2.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/J2.yaml rename to databases/catdat/data/categories/J2.yaml diff --git a/databases/catdat/data_yaml/categories/LRS.yaml b/databases/catdat/data/categories/LRS.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/LRS.yaml rename to databases/catdat/data/categories/LRS.yaml diff --git a/databases/catdat/data_yaml/categories/M-Set.yaml b/databases/catdat/data/categories/M-Set.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/M-Set.yaml rename to databases/catdat/data/categories/M-Set.yaml diff --git a/databases/catdat/data_yaml/categories/Man.yaml b/databases/catdat/data/categories/Man.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Man.yaml rename to databases/catdat/data/categories/Man.yaml diff --git a/databases/catdat/data_yaml/categories/Meas.yaml b/databases/catdat/data/categories/Meas.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Meas.yaml rename to databases/catdat/data/categories/Meas.yaml diff --git a/databases/catdat/data_yaml/categories/Met.yaml b/databases/catdat/data/categories/Met.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Met.yaml rename to databases/catdat/data/categories/Met.yaml diff --git a/databases/catdat/data_yaml/categories/Met_c.yaml b/databases/catdat/data/categories/Met_c.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Met_c.yaml rename to databases/catdat/data/categories/Met_c.yaml diff --git a/databases/catdat/data_yaml/categories/Met_oo.yaml b/databases/catdat/data/categories/Met_oo.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Met_oo.yaml rename to databases/catdat/data/categories/Met_oo.yaml diff --git a/databases/catdat/data_yaml/categories/Mon.yaml b/databases/catdat/data/categories/Mon.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Mon.yaml rename to databases/catdat/data/categories/Mon.yaml diff --git a/databases/catdat/data_yaml/categories/N.yaml b/databases/catdat/data/categories/N.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/N.yaml rename to databases/catdat/data/categories/N.yaml diff --git a/databases/catdat/data_yaml/categories/N_oo.yaml b/databases/catdat/data/categories/N_oo.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/N_oo.yaml rename to databases/catdat/data/categories/N_oo.yaml diff --git a/databases/catdat/data_yaml/categories/On.yaml b/databases/catdat/data/categories/On.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/On.yaml rename to databases/catdat/data/categories/On.yaml diff --git a/databases/catdat/data_yaml/categories/PMet.yaml b/databases/catdat/data/categories/PMet.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/PMet.yaml rename to databases/catdat/data/categories/PMet.yaml diff --git a/databases/catdat/data_yaml/categories/Pos.yaml b/databases/catdat/data/categories/Pos.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Pos.yaml rename to databases/catdat/data/categories/Pos.yaml diff --git a/databases/catdat/data_yaml/categories/Prost.yaml b/databases/catdat/data/categories/Prost.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Prost.yaml rename to databases/catdat/data/categories/Prost.yaml diff --git a/databases/catdat/data_yaml/categories/R-Mod.yaml b/databases/catdat/data/categories/R-Mod.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/R-Mod.yaml rename to databases/catdat/data/categories/R-Mod.yaml diff --git a/databases/catdat/data_yaml/categories/R-Mod_div.yaml b/databases/catdat/data/categories/R-Mod_div.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/R-Mod_div.yaml rename to databases/catdat/data/categories/R-Mod_div.yaml diff --git a/databases/catdat/data_yaml/categories/Rel.yaml b/databases/catdat/data/categories/Rel.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Rel.yaml rename to databases/catdat/data/categories/Rel.yaml diff --git a/databases/catdat/data_yaml/categories/Ring.yaml b/databases/catdat/data/categories/Ring.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Ring.yaml rename to databases/catdat/data/categories/Ring.yaml diff --git a/databases/catdat/data_yaml/categories/Rng.yaml b/databases/catdat/data/categories/Rng.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Rng.yaml rename to databases/catdat/data/categories/Rng.yaml diff --git a/databases/catdat/data_yaml/categories/Sch.yaml b/databases/catdat/data/categories/Sch.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Sch.yaml rename to databases/catdat/data/categories/Sch.yaml diff --git a/databases/catdat/data_yaml/categories/SemiGrp.yaml b/databases/catdat/data/categories/SemiGrp.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/SemiGrp.yaml rename to databases/catdat/data/categories/SemiGrp.yaml diff --git a/databases/catdat/data_yaml/categories/Set.yaml b/databases/catdat/data/categories/Set.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Set.yaml rename to databases/catdat/data/categories/Set.yaml diff --git a/databases/catdat/data_yaml/categories/Set_c.yaml b/databases/catdat/data/categories/Set_c.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Set_c.yaml rename to databases/catdat/data/categories/Set_c.yaml diff --git a/databases/catdat/data_yaml/categories/Set_f.yaml b/databases/catdat/data/categories/Set_f.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Set_f.yaml rename to databases/catdat/data/categories/Set_f.yaml diff --git a/databases/catdat/data_yaml/categories/Set_op.yaml b/databases/catdat/data/categories/Set_op.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Set_op.yaml rename to databases/catdat/data/categories/Set_op.yaml diff --git a/databases/catdat/data_yaml/categories/Set_pointed.yaml b/databases/catdat/data/categories/Set_pointed.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Set_pointed.yaml rename to databases/catdat/data/categories/Set_pointed.yaml diff --git a/databases/catdat/data_yaml/categories/Setne.yaml b/databases/catdat/data/categories/Setne.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Setne.yaml rename to databases/catdat/data/categories/Setne.yaml diff --git a/databases/catdat/data_yaml/categories/SetxSet.yaml b/databases/catdat/data/categories/SetxSet.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/SetxSet.yaml rename to databases/catdat/data/categories/SetxSet.yaml diff --git a/databases/catdat/data_yaml/categories/Sh(X).yaml b/databases/catdat/data/categories/Sh(X).yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Sh(X).yaml rename to databases/catdat/data/categories/Sh(X).yaml diff --git a/databases/catdat/data_yaml/categories/Sh(X,Ab).yaml b/databases/catdat/data/categories/Sh(X,Ab).yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Sh(X,Ab).yaml rename to databases/catdat/data/categories/Sh(X,Ab).yaml diff --git a/databases/catdat/data_yaml/categories/Sp.yaml b/databases/catdat/data/categories/Sp.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Sp.yaml rename to databases/catdat/data/categories/Sp.yaml diff --git a/databases/catdat/data_yaml/categories/Top.yaml b/databases/catdat/data/categories/Top.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Top.yaml rename to databases/catdat/data/categories/Top.yaml diff --git a/databases/catdat/data_yaml/categories/Top_pointed.yaml b/databases/catdat/data/categories/Top_pointed.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Top_pointed.yaml rename to databases/catdat/data/categories/Top_pointed.yaml diff --git a/databases/catdat/data_yaml/categories/TorsAb.yaml b/databases/catdat/data/categories/TorsAb.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/TorsAb.yaml rename to databases/catdat/data/categories/TorsAb.yaml diff --git a/databases/catdat/data_yaml/categories/TorsFreeAb.yaml b/databases/catdat/data/categories/TorsFreeAb.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/TorsFreeAb.yaml rename to databases/catdat/data/categories/TorsFreeAb.yaml diff --git a/databases/catdat/data_yaml/categories/Vect.yaml b/databases/catdat/data/categories/Vect.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Vect.yaml rename to databases/catdat/data/categories/Vect.yaml diff --git a/databases/catdat/data_yaml/categories/Z.yaml b/databases/catdat/data/categories/Z.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Z.yaml rename to databases/catdat/data/categories/Z.yaml diff --git a/databases/catdat/data_yaml/categories/Z_div.yaml b/databases/catdat/data/categories/Z_div.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/Z_div.yaml rename to databases/catdat/data/categories/Z_div.yaml diff --git a/databases/catdat/data_yaml/categories/real_interval.yaml b/databases/catdat/data/categories/real_interval.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/real_interval.yaml rename to databases/catdat/data/categories/real_interval.yaml diff --git a/databases/catdat/data_yaml/categories/sSet.yaml b/databases/catdat/data/categories/sSet.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/sSet.yaml rename to databases/catdat/data/categories/sSet.yaml diff --git a/databases/catdat/data_yaml/categories/walking_commutative_square.yaml b/databases/catdat/data/categories/walking_commutative_square.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/walking_commutative_square.yaml rename to databases/catdat/data/categories/walking_commutative_square.yaml diff --git a/databases/catdat/data_yaml/categories/walking_composable_pair.yaml b/databases/catdat/data/categories/walking_composable_pair.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/walking_composable_pair.yaml rename to databases/catdat/data/categories/walking_composable_pair.yaml diff --git a/databases/catdat/data_yaml/categories/walking_coreflexive_pair.yaml b/databases/catdat/data/categories/walking_coreflexive_pair.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/walking_coreflexive_pair.yaml rename to databases/catdat/data/categories/walking_coreflexive_pair.yaml diff --git a/databases/catdat/data_yaml/categories/walking_fork.yaml b/databases/catdat/data/categories/walking_fork.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/walking_fork.yaml rename to databases/catdat/data/categories/walking_fork.yaml diff --git a/databases/catdat/data_yaml/categories/walking_idempotent.yaml b/databases/catdat/data/categories/walking_idempotent.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/walking_idempotent.yaml rename to databases/catdat/data/categories/walking_idempotent.yaml diff --git a/databases/catdat/data_yaml/categories/walking_isomorphism.yaml b/databases/catdat/data/categories/walking_isomorphism.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/walking_isomorphism.yaml rename to databases/catdat/data/categories/walking_isomorphism.yaml diff --git a/databases/catdat/data_yaml/categories/walking_morphism.yaml b/databases/catdat/data/categories/walking_morphism.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/walking_morphism.yaml rename to databases/catdat/data/categories/walking_morphism.yaml diff --git a/databases/catdat/data_yaml/categories/walking_pair.yaml b/databases/catdat/data/categories/walking_pair.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/walking_pair.yaml rename to databases/catdat/data/categories/walking_pair.yaml diff --git a/databases/catdat/data_yaml/categories/walking_span.yaml b/databases/catdat/data/categories/walking_span.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/walking_span.yaml rename to databases/catdat/data/categories/walking_span.yaml diff --git a/databases/catdat/data_yaml/categories/walking_splitting.yaml b/databases/catdat/data/categories/walking_splitting.yaml similarity index 100% rename from databases/catdat/data_yaml/categories/walking_splitting.yaml rename to databases/catdat/data/categories/walking_splitting.yaml diff --git a/databases/catdat/data_yaml/category-implications/Malcev.yaml b/databases/catdat/data/category-implications/Malcev.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/Malcev.yaml rename to databases/catdat/data/category-implications/Malcev.yaml diff --git a/databases/catdat/data_yaml/category-implications/NNO.yaml b/databases/catdat/data/category-implications/NNO.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/NNO.yaml rename to databases/catdat/data/category-implications/NNO.yaml diff --git a/databases/catdat/data_yaml/category-implications/accessible.yaml b/databases/catdat/data/category-implications/accessible.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/accessible.yaml rename to databases/catdat/data/category-implications/accessible.yaml diff --git a/databases/catdat/data_yaml/category-implications/additive.yaml b/databases/catdat/data/category-implications/additive.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/additive.yaml rename to databases/catdat/data/category-implications/additive.yaml diff --git a/databases/catdat/data_yaml/category-implications/algebraic.yaml b/databases/catdat/data/category-implications/algebraic.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/algebraic.yaml rename to databases/catdat/data/category-implications/algebraic.yaml diff --git a/databases/catdat/data_yaml/category-implications/cancellative.yaml b/databases/catdat/data/category-implications/cancellative.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/cancellative.yaml rename to databases/catdat/data/category-implications/cancellative.yaml diff --git a/databases/catdat/data_yaml/category-implications/cartesian closed.yaml b/databases/catdat/data/category-implications/cartesian closed.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/cartesian closed.yaml rename to databases/catdat/data/category-implications/cartesian closed.yaml diff --git a/databases/catdat/data_yaml/category-implications/completeness.yaml b/databases/catdat/data/category-implications/completeness.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/completeness.yaml rename to databases/catdat/data/category-implications/completeness.yaml diff --git a/databases/catdat/data_yaml/category-implications/congruences.yaml b/databases/catdat/data/category-implications/congruences.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/congruences.yaml rename to databases/catdat/data/category-implications/congruences.yaml diff --git a/databases/catdat/data_yaml/category-implications/connected.yaml b/databases/catdat/data/category-implications/connected.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/connected.yaml rename to databases/catdat/data/category-implications/connected.yaml diff --git a/databases/catdat/data_yaml/category-implications/discrete.yaml b/databases/catdat/data/category-implications/discrete.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/discrete.yaml rename to databases/catdat/data/category-implications/discrete.yaml diff --git a/databases/catdat/data_yaml/category-implications/disjoint coproducts.yaml b/databases/catdat/data/category-implications/disjoint coproducts.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/disjoint coproducts.yaml rename to databases/catdat/data/category-implications/disjoint coproducts.yaml diff --git a/databases/catdat/data_yaml/category-implications/distributivity.yaml b/databases/catdat/data/category-implications/distributivity.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/distributivity.yaml rename to databases/catdat/data/category-implications/distributivity.yaml diff --git a/databases/catdat/data_yaml/category-implications/equalizers.yaml b/databases/catdat/data/category-implications/equalizers.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/equalizers.yaml rename to databases/catdat/data/category-implications/equalizers.yaml diff --git a/databases/catdat/data_yaml/category-implications/exact filtered colimits.yaml b/databases/catdat/data/category-implications/exact filtered colimits.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/exact filtered colimits.yaml rename to databases/catdat/data/category-implications/exact filtered colimits.yaml diff --git a/databases/catdat/data_yaml/category-implications/extensive.yaml b/databases/catdat/data/category-implications/extensive.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/extensive.yaml rename to databases/catdat/data/category-implications/extensive.yaml diff --git a/databases/catdat/data_yaml/category-implications/filtered + sifted.yaml b/databases/catdat/data/category-implications/filtered + sifted.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/filtered + sifted.yaml rename to databases/catdat/data/category-implications/filtered + sifted.yaml diff --git a/databases/catdat/data_yaml/category-implications/filtered colimits.yaml b/databases/catdat/data/category-implications/filtered colimits.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/filtered colimits.yaml rename to databases/catdat/data/category-implications/filtered colimits.yaml diff --git a/databases/catdat/data_yaml/category-implications/generators.yaml b/databases/catdat/data/category-implications/generators.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/generators.yaml rename to databases/catdat/data/category-implications/generators.yaml diff --git a/databases/catdat/data_yaml/category-implications/groupoids.yaml b/databases/catdat/data/category-implications/groupoids.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/groupoids.yaml rename to databases/catdat/data/category-implications/groupoids.yaml diff --git a/databases/catdat/data_yaml/category-implications/initial objects.yaml b/databases/catdat/data/category-implications/initial objects.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/initial objects.yaml rename to databases/catdat/data/category-implications/initial objects.yaml diff --git a/databases/catdat/data_yaml/category-implications/mono-regular.yaml b/databases/catdat/data/category-implications/mono-regular.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/mono-regular.yaml rename to databases/catdat/data/category-implications/mono-regular.yaml diff --git a/databases/catdat/data_yaml/category-implications/products.yaml b/databases/catdat/data/category-implications/products.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/products.yaml rename to databases/catdat/data/category-implications/products.yaml diff --git a/databases/catdat/data_yaml/category-implications/pullbacks.yaml b/databases/catdat/data/category-implications/pullbacks.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/pullbacks.yaml rename to databases/catdat/data/category-implications/pullbacks.yaml diff --git a/databases/catdat/data_yaml/category-implications/size.yaml b/databases/catdat/data/category-implications/size.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/size.yaml rename to databases/catdat/data/category-implications/size.yaml diff --git a/databases/catdat/data_yaml/category-implications/subobject classifiers.yaml b/databases/catdat/data/category-implications/subobject classifiers.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/subobject classifiers.yaml rename to databases/catdat/data/category-implications/subobject classifiers.yaml diff --git a/databases/catdat/data_yaml/category-implications/subobject-trivial.yaml b/databases/catdat/data/category-implications/subobject-trivial.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/subobject-trivial.yaml rename to databases/catdat/data/category-implications/subobject-trivial.yaml diff --git a/databases/catdat/data_yaml/category-implications/thin.yaml b/databases/catdat/data/category-implications/thin.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/thin.yaml rename to databases/catdat/data/category-implications/thin.yaml diff --git a/databases/catdat/data_yaml/category-implications/topos.yaml b/databases/catdat/data/category-implications/topos.yaml similarity index 100% rename from databases/catdat/data_yaml/category-implications/topos.yaml rename to databases/catdat/data/category-implications/topos.yaml diff --git a/databases/catdat/data_yaml/category-properties/CIP.yaml b/databases/catdat/data/category-properties/CIP.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/CIP.yaml rename to databases/catdat/data/category-properties/CIP.yaml diff --git a/databases/catdat/data_yaml/category-properties/CSP.yaml b/databases/catdat/data/category-properties/CSP.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/CSP.yaml rename to databases/catdat/data/category-properties/CSP.yaml diff --git a/databases/catdat/data_yaml/category-properties/Cauchy complete.yaml b/databases/catdat/data/category-properties/Cauchy complete.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/Cauchy complete.yaml rename to databases/catdat/data/category-properties/Cauchy complete.yaml diff --git a/databases/catdat/data_yaml/category-properties/Grothendieck abelian.yaml b/databases/catdat/data/category-properties/Grothendieck abelian.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/Grothendieck abelian.yaml rename to databases/catdat/data/category-properties/Grothendieck abelian.yaml diff --git a/databases/catdat/data_yaml/category-properties/Grothendieck topos.yaml b/databases/catdat/data/category-properties/Grothendieck topos.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/Grothendieck topos.yaml rename to databases/catdat/data/category-properties/Grothendieck topos.yaml diff --git a/databases/catdat/data_yaml/category-properties/Malcev.yaml b/databases/catdat/data/category-properties/Malcev.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/Malcev.yaml rename to databases/catdat/data/category-properties/Malcev.yaml diff --git a/databases/catdat/data_yaml/category-properties/abelian.yaml b/databases/catdat/data/category-properties/abelian.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/abelian.yaml rename to databases/catdat/data/category-properties/abelian.yaml diff --git a/databases/catdat/data_yaml/category-properties/accessible.yaml b/databases/catdat/data/category-properties/accessible.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/accessible.yaml rename to databases/catdat/data/category-properties/accessible.yaml diff --git a/databases/catdat/data_yaml/category-properties/additive.yaml b/databases/catdat/data/category-properties/additive.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/additive.yaml rename to databases/catdat/data/category-properties/additive.yaml diff --git a/databases/catdat/data_yaml/category-properties/aleph1-accessible.yaml b/databases/catdat/data/category-properties/aleph1-accessible.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/aleph1-accessible.yaml rename to databases/catdat/data/category-properties/aleph1-accessible.yaml diff --git a/databases/catdat/data_yaml/category-properties/balanced.yaml b/databases/catdat/data/category-properties/balanced.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/balanced.yaml rename to databases/catdat/data/category-properties/balanced.yaml diff --git a/databases/catdat/data_yaml/category-properties/binary copowers.yaml b/databases/catdat/data/category-properties/binary copowers.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/binary copowers.yaml rename to databases/catdat/data/category-properties/binary copowers.yaml diff --git a/databases/catdat/data_yaml/category-properties/binary coproducts.yaml b/databases/catdat/data/category-properties/binary coproducts.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/binary coproducts.yaml rename to databases/catdat/data/category-properties/binary coproducts.yaml diff --git a/databases/catdat/data_yaml/category-properties/binary powers.yaml b/databases/catdat/data/category-properties/binary powers.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/binary powers.yaml rename to databases/catdat/data/category-properties/binary powers.yaml diff --git a/databases/catdat/data_yaml/category-properties/binary products.yaml b/databases/catdat/data/category-properties/binary products.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/binary products.yaml rename to databases/catdat/data/category-properties/binary products.yaml diff --git a/databases/catdat/data_yaml/category-properties/biproducts.yaml b/databases/catdat/data/category-properties/biproducts.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/biproducts.yaml rename to databases/catdat/data/category-properties/biproducts.yaml diff --git a/databases/catdat/data_yaml/category-properties/cartesian closed.yaml b/databases/catdat/data/category-properties/cartesian closed.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/cartesian closed.yaml rename to databases/catdat/data/category-properties/cartesian closed.yaml diff --git a/databases/catdat/data_yaml/category-properties/cartesian filtered colimits.yaml b/databases/catdat/data/category-properties/cartesian filtered colimits.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/cartesian filtered colimits.yaml rename to databases/catdat/data/category-properties/cartesian filtered colimits.yaml diff --git a/databases/catdat/data_yaml/category-properties/co-Malcev.yaml b/databases/catdat/data/category-properties/co-Malcev.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/co-Malcev.yaml rename to databases/catdat/data/category-properties/co-Malcev.yaml diff --git a/databases/catdat/data_yaml/category-properties/coaccessible.yaml b/databases/catdat/data/category-properties/coaccessible.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/coaccessible.yaml rename to databases/catdat/data/category-properties/coaccessible.yaml diff --git a/databases/catdat/data_yaml/category-properties/cocartesian coclosed.yaml b/databases/catdat/data/category-properties/cocartesian coclosed.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/cocartesian coclosed.yaml rename to databases/catdat/data/category-properties/cocartesian coclosed.yaml diff --git a/databases/catdat/data_yaml/category-properties/cocartesian cofiltered limits.yaml b/databases/catdat/data/category-properties/cocartesian cofiltered limits.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/cocartesian cofiltered limits.yaml rename to databases/catdat/data/category-properties/cocartesian cofiltered limits.yaml diff --git a/databases/catdat/data_yaml/category-properties/cocomplete.yaml b/databases/catdat/data/category-properties/cocomplete.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/cocomplete.yaml rename to databases/catdat/data/category-properties/cocomplete.yaml diff --git a/databases/catdat/data_yaml/category-properties/codistributive.yaml b/databases/catdat/data/category-properties/codistributive.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/codistributive.yaml rename to databases/catdat/data/category-properties/codistributive.yaml diff --git a/databases/catdat/data_yaml/category-properties/coequalizers.yaml b/databases/catdat/data/category-properties/coequalizers.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/coequalizers.yaml rename to databases/catdat/data/category-properties/coequalizers.yaml diff --git a/databases/catdat/data_yaml/category-properties/coextensive.yaml b/databases/catdat/data/category-properties/coextensive.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/coextensive.yaml rename to databases/catdat/data/category-properties/coextensive.yaml diff --git a/databases/catdat/data_yaml/category-properties/cofiltered limits.yaml b/databases/catdat/data/category-properties/cofiltered limits.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/cofiltered limits.yaml rename to databases/catdat/data/category-properties/cofiltered limits.yaml diff --git a/databases/catdat/data_yaml/category-properties/cofiltered-limit-stable epimorphisms.yaml b/databases/catdat/data/category-properties/cofiltered-limit-stable epimorphisms.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/cofiltered-limit-stable epimorphisms.yaml rename to databases/catdat/data/category-properties/cofiltered-limit-stable epimorphisms.yaml diff --git a/databases/catdat/data_yaml/category-properties/cofiltered.yaml b/databases/catdat/data/category-properties/cofiltered.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/cofiltered.yaml rename to databases/catdat/data/category-properties/cofiltered.yaml diff --git a/databases/catdat/data_yaml/category-properties/cogenerating set.yaml b/databases/catdat/data/category-properties/cogenerating set.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/cogenerating set.yaml rename to databases/catdat/data/category-properties/cogenerating set.yaml diff --git a/databases/catdat/data_yaml/category-properties/cogenerator.yaml b/databases/catdat/data/category-properties/cogenerator.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/cogenerator.yaml rename to databases/catdat/data/category-properties/cogenerator.yaml diff --git a/databases/catdat/data_yaml/category-properties/cokernels.yaml b/databases/catdat/data/category-properties/cokernels.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/cokernels.yaml rename to databases/catdat/data/category-properties/cokernels.yaml diff --git a/databases/catdat/data_yaml/category-properties/complete.yaml b/databases/catdat/data/category-properties/complete.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/complete.yaml rename to databases/catdat/data/category-properties/complete.yaml diff --git a/databases/catdat/data_yaml/category-properties/connected colimits.yaml b/databases/catdat/data/category-properties/connected colimits.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/connected colimits.yaml rename to databases/catdat/data/category-properties/connected colimits.yaml diff --git a/databases/catdat/data_yaml/category-properties/connected limits.yaml b/databases/catdat/data/category-properties/connected limits.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/connected limits.yaml rename to databases/catdat/data/category-properties/connected limits.yaml diff --git a/databases/catdat/data_yaml/category-properties/connected.yaml b/databases/catdat/data/category-properties/connected.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/connected.yaml rename to databases/catdat/data/category-properties/connected.yaml diff --git a/databases/catdat/data_yaml/category-properties/conormal.yaml b/databases/catdat/data/category-properties/conormal.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/conormal.yaml rename to databases/catdat/data/category-properties/conormal.yaml diff --git a/databases/catdat/data_yaml/category-properties/copowers.yaml b/databases/catdat/data/category-properties/copowers.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/copowers.yaml rename to databases/catdat/data/category-properties/copowers.yaml diff --git a/databases/catdat/data_yaml/category-properties/coproducts.yaml b/databases/catdat/data/category-properties/coproducts.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/coproducts.yaml rename to databases/catdat/data/category-properties/coproducts.yaml diff --git a/databases/catdat/data_yaml/category-properties/coquotients of cocongruences.yaml b/databases/catdat/data/category-properties/coquotients of cocongruences.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/coquotients of cocongruences.yaml rename to databases/catdat/data/category-properties/coquotients of cocongruences.yaml diff --git a/databases/catdat/data_yaml/category-properties/core-thin.yaml b/databases/catdat/data/category-properties/core-thin.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/core-thin.yaml rename to databases/catdat/data/category-properties/core-thin.yaml diff --git a/databases/catdat/data_yaml/category-properties/coreflexive equalizers.yaml b/databases/catdat/data/category-properties/coreflexive equalizers.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/coreflexive equalizers.yaml rename to databases/catdat/data/category-properties/coreflexive equalizers.yaml diff --git a/databases/catdat/data_yaml/category-properties/coregular.yaml b/databases/catdat/data/category-properties/coregular.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/coregular.yaml rename to databases/catdat/data/category-properties/coregular.yaml diff --git a/databases/catdat/data_yaml/category-properties/cosifted limits.yaml b/databases/catdat/data/category-properties/cosifted limits.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/cosifted limits.yaml rename to databases/catdat/data/category-properties/cosifted limits.yaml diff --git a/databases/catdat/data_yaml/category-properties/cosifted.yaml b/databases/catdat/data/category-properties/cosifted.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/cosifted.yaml rename to databases/catdat/data/category-properties/cosifted.yaml diff --git a/databases/catdat/data_yaml/category-properties/counital.yaml b/databases/catdat/data/category-properties/counital.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/counital.yaml rename to databases/catdat/data/category-properties/counital.yaml diff --git a/databases/catdat/data_yaml/category-properties/countable copowers.yaml b/databases/catdat/data/category-properties/countable copowers.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/countable copowers.yaml rename to databases/catdat/data/category-properties/countable copowers.yaml diff --git a/databases/catdat/data_yaml/category-properties/countable coproducts.yaml b/databases/catdat/data/category-properties/countable coproducts.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/countable coproducts.yaml rename to databases/catdat/data/category-properties/countable coproducts.yaml diff --git a/databases/catdat/data_yaml/category-properties/countable powers.yaml b/databases/catdat/data/category-properties/countable powers.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/countable powers.yaml rename to databases/catdat/data/category-properties/countable powers.yaml diff --git a/databases/catdat/data_yaml/category-properties/countable products.yaml b/databases/catdat/data/category-properties/countable products.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/countable products.yaml rename to databases/catdat/data/category-properties/countable products.yaml diff --git a/databases/catdat/data_yaml/category-properties/countable.yaml b/databases/catdat/data/category-properties/countable.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/countable.yaml rename to databases/catdat/data/category-properties/countable.yaml diff --git a/databases/catdat/data_yaml/category-properties/countably codistributive.yaml b/databases/catdat/data/category-properties/countably codistributive.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/countably codistributive.yaml rename to databases/catdat/data/category-properties/countably codistributive.yaml diff --git a/databases/catdat/data_yaml/category-properties/countably distributive.yaml b/databases/catdat/data/category-properties/countably distributive.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/countably distributive.yaml rename to databases/catdat/data/category-properties/countably distributive.yaml diff --git a/databases/catdat/data_yaml/category-properties/direct.yaml b/databases/catdat/data/category-properties/direct.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/direct.yaml rename to databases/catdat/data/category-properties/direct.yaml diff --git a/databases/catdat/data_yaml/category-properties/directed colimits.yaml b/databases/catdat/data/category-properties/directed colimits.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/directed colimits.yaml rename to databases/catdat/data/category-properties/directed colimits.yaml diff --git a/databases/catdat/data_yaml/category-properties/directed limits.yaml b/databases/catdat/data/category-properties/directed limits.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/directed limits.yaml rename to databases/catdat/data/category-properties/directed limits.yaml diff --git a/databases/catdat/data_yaml/category-properties/discrete.yaml b/databases/catdat/data/category-properties/discrete.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/discrete.yaml rename to databases/catdat/data/category-properties/discrete.yaml diff --git a/databases/catdat/data_yaml/category-properties/disjoint coproducts.yaml b/databases/catdat/data/category-properties/disjoint coproducts.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/disjoint coproducts.yaml rename to databases/catdat/data/category-properties/disjoint coproducts.yaml diff --git a/databases/catdat/data_yaml/category-properties/disjoint finite coproducts.yaml b/databases/catdat/data/category-properties/disjoint finite coproducts.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/disjoint finite coproducts.yaml rename to databases/catdat/data/category-properties/disjoint finite coproducts.yaml diff --git a/databases/catdat/data_yaml/category-properties/disjoint finite products.yaml b/databases/catdat/data/category-properties/disjoint finite products.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/disjoint finite products.yaml rename to databases/catdat/data/category-properties/disjoint finite products.yaml diff --git a/databases/catdat/data_yaml/category-properties/disjoint products.yaml b/databases/catdat/data/category-properties/disjoint products.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/disjoint products.yaml rename to databases/catdat/data/category-properties/disjoint products.yaml diff --git a/databases/catdat/data_yaml/category-properties/distributive.yaml b/databases/catdat/data/category-properties/distributive.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/distributive.yaml rename to databases/catdat/data/category-properties/distributive.yaml diff --git a/databases/catdat/data_yaml/category-properties/effective cocongruences.yaml b/databases/catdat/data/category-properties/effective cocongruences.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/effective cocongruences.yaml rename to databases/catdat/data/category-properties/effective cocongruences.yaml diff --git a/databases/catdat/data_yaml/category-properties/effective congruences.yaml b/databases/catdat/data/category-properties/effective congruences.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/effective congruences.yaml rename to databases/catdat/data/category-properties/effective congruences.yaml diff --git a/databases/catdat/data_yaml/category-properties/elementary topos.yaml b/databases/catdat/data/category-properties/elementary topos.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/elementary topos.yaml rename to databases/catdat/data/category-properties/elementary topos.yaml diff --git a/databases/catdat/data_yaml/category-properties/epi-regular.yaml b/databases/catdat/data/category-properties/epi-regular.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/epi-regular.yaml rename to databases/catdat/data/category-properties/epi-regular.yaml diff --git a/databases/catdat/data_yaml/category-properties/equalizers.yaml b/databases/catdat/data/category-properties/equalizers.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/equalizers.yaml rename to databases/catdat/data/category-properties/equalizers.yaml diff --git a/databases/catdat/data_yaml/category-properties/essentially countable.yaml b/databases/catdat/data/category-properties/essentially countable.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/essentially countable.yaml rename to databases/catdat/data/category-properties/essentially countable.yaml diff --git a/databases/catdat/data_yaml/category-properties/essentially discrete.yaml b/databases/catdat/data/category-properties/essentially discrete.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/essentially discrete.yaml rename to databases/catdat/data/category-properties/essentially discrete.yaml diff --git a/databases/catdat/data_yaml/category-properties/essentially finite.yaml b/databases/catdat/data/category-properties/essentially finite.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/essentially finite.yaml rename to databases/catdat/data/category-properties/essentially finite.yaml diff --git a/databases/catdat/data_yaml/category-properties/essentially small.yaml b/databases/catdat/data/category-properties/essentially small.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/essentially small.yaml rename to databases/catdat/data/category-properties/essentially small.yaml diff --git a/databases/catdat/data_yaml/category-properties/exact cofiltered limits.yaml b/databases/catdat/data/category-properties/exact cofiltered limits.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/exact cofiltered limits.yaml rename to databases/catdat/data/category-properties/exact cofiltered limits.yaml diff --git a/databases/catdat/data_yaml/category-properties/exact filtered colimits.yaml b/databases/catdat/data/category-properties/exact filtered colimits.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/exact filtered colimits.yaml rename to databases/catdat/data/category-properties/exact filtered colimits.yaml diff --git a/databases/catdat/data_yaml/category-properties/extensive.yaml b/databases/catdat/data/category-properties/extensive.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/extensive.yaml rename to databases/catdat/data/category-properties/extensive.yaml diff --git a/databases/catdat/data_yaml/category-properties/filtered colimits.yaml b/databases/catdat/data/category-properties/filtered colimits.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/filtered colimits.yaml rename to databases/catdat/data/category-properties/filtered colimits.yaml diff --git a/databases/catdat/data_yaml/category-properties/filtered-colimit-stable monomorphisms.yaml b/databases/catdat/data/category-properties/filtered-colimit-stable monomorphisms.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/filtered-colimit-stable monomorphisms.yaml rename to databases/catdat/data/category-properties/filtered-colimit-stable monomorphisms.yaml diff --git a/databases/catdat/data_yaml/category-properties/filtered.yaml b/databases/catdat/data/category-properties/filtered.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/filtered.yaml rename to databases/catdat/data/category-properties/filtered.yaml diff --git a/databases/catdat/data_yaml/category-properties/finitary algebraic.yaml b/databases/catdat/data/category-properties/finitary algebraic.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/finitary algebraic.yaml rename to databases/catdat/data/category-properties/finitary algebraic.yaml diff --git a/databases/catdat/data_yaml/category-properties/finite copowers.yaml b/databases/catdat/data/category-properties/finite copowers.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/finite copowers.yaml rename to databases/catdat/data/category-properties/finite copowers.yaml diff --git a/databases/catdat/data_yaml/category-properties/finite coproducts.yaml b/databases/catdat/data/category-properties/finite coproducts.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/finite coproducts.yaml rename to databases/catdat/data/category-properties/finite coproducts.yaml diff --git a/databases/catdat/data_yaml/category-properties/finite powers.yaml b/databases/catdat/data/category-properties/finite powers.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/finite powers.yaml rename to databases/catdat/data/category-properties/finite powers.yaml diff --git a/databases/catdat/data_yaml/category-properties/finite products.yaml b/databases/catdat/data/category-properties/finite products.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/finite products.yaml rename to databases/catdat/data/category-properties/finite products.yaml diff --git a/databases/catdat/data_yaml/category-properties/finite.yaml b/databases/catdat/data/category-properties/finite.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/finite.yaml rename to databases/catdat/data/category-properties/finite.yaml diff --git a/databases/catdat/data_yaml/category-properties/finitely accessible.yaml b/databases/catdat/data/category-properties/finitely accessible.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/finitely accessible.yaml rename to databases/catdat/data/category-properties/finitely accessible.yaml diff --git a/databases/catdat/data_yaml/category-properties/finitely cocomplete.yaml b/databases/catdat/data/category-properties/finitely cocomplete.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/finitely cocomplete.yaml rename to databases/catdat/data/category-properties/finitely cocomplete.yaml diff --git a/databases/catdat/data_yaml/category-properties/finitely complete.yaml b/databases/catdat/data/category-properties/finitely complete.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/finitely complete.yaml rename to databases/catdat/data/category-properties/finitely complete.yaml diff --git a/databases/catdat/data_yaml/category-properties/gaunt.yaml b/databases/catdat/data/category-properties/gaunt.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/gaunt.yaml rename to databases/catdat/data/category-properties/gaunt.yaml diff --git a/databases/catdat/data_yaml/category-properties/generalized variety.yaml b/databases/catdat/data/category-properties/generalized variety.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/generalized variety.yaml rename to databases/catdat/data/category-properties/generalized variety.yaml diff --git a/databases/catdat/data_yaml/category-properties/generating set.yaml b/databases/catdat/data/category-properties/generating set.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/generating set.yaml rename to databases/catdat/data/category-properties/generating set.yaml diff --git a/databases/catdat/data_yaml/category-properties/generator.yaml b/databases/catdat/data/category-properties/generator.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/generator.yaml rename to databases/catdat/data/category-properties/generator.yaml diff --git a/databases/catdat/data_yaml/category-properties/groupoid.yaml b/databases/catdat/data/category-properties/groupoid.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/groupoid.yaml rename to databases/catdat/data/category-properties/groupoid.yaml diff --git a/databases/catdat/data_yaml/category-properties/infinitary codistributive.yaml b/databases/catdat/data/category-properties/infinitary codistributive.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/infinitary codistributive.yaml rename to databases/catdat/data/category-properties/infinitary codistributive.yaml diff --git a/databases/catdat/data_yaml/category-properties/infinitary coextensive.yaml b/databases/catdat/data/category-properties/infinitary coextensive.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/infinitary coextensive.yaml rename to databases/catdat/data/category-properties/infinitary coextensive.yaml diff --git a/databases/catdat/data_yaml/category-properties/infinitary distributive.yaml b/databases/catdat/data/category-properties/infinitary distributive.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/infinitary distributive.yaml rename to databases/catdat/data/category-properties/infinitary distributive.yaml diff --git a/databases/catdat/data_yaml/category-properties/infinitary extensive.yaml b/databases/catdat/data/category-properties/infinitary extensive.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/infinitary extensive.yaml rename to databases/catdat/data/category-properties/infinitary extensive.yaml diff --git a/databases/catdat/data_yaml/category-properties/inhabited.yaml b/databases/catdat/data/category-properties/inhabited.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/inhabited.yaml rename to databases/catdat/data/category-properties/inhabited.yaml diff --git a/databases/catdat/data_yaml/category-properties/initial object.yaml b/databases/catdat/data/category-properties/initial object.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/initial object.yaml rename to databases/catdat/data/category-properties/initial object.yaml diff --git a/databases/catdat/data_yaml/category-properties/inverse.yaml b/databases/catdat/data/category-properties/inverse.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/inverse.yaml rename to databases/catdat/data/category-properties/inverse.yaml diff --git a/databases/catdat/data_yaml/category-properties/kernels.yaml b/databases/catdat/data/category-properties/kernels.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/kernels.yaml rename to databases/catdat/data/category-properties/kernels.yaml diff --git a/databases/catdat/data_yaml/category-properties/left cancellative.yaml b/databases/catdat/data/category-properties/left cancellative.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/left cancellative.yaml rename to databases/catdat/data/category-properties/left cancellative.yaml diff --git a/databases/catdat/data_yaml/category-properties/locally aleph1-presentable.yaml b/databases/catdat/data/category-properties/locally aleph1-presentable.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/locally aleph1-presentable.yaml rename to databases/catdat/data/category-properties/locally aleph1-presentable.yaml diff --git a/databases/catdat/data_yaml/category-properties/locally cartesian closed.yaml b/databases/catdat/data/category-properties/locally cartesian closed.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/locally cartesian closed.yaml rename to databases/catdat/data/category-properties/locally cartesian closed.yaml diff --git a/databases/catdat/data_yaml/category-properties/locally cocartesian coclosed.yaml b/databases/catdat/data/category-properties/locally cocartesian coclosed.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/locally cocartesian coclosed.yaml rename to databases/catdat/data/category-properties/locally cocartesian coclosed.yaml diff --git a/databases/catdat/data_yaml/category-properties/locally copresentable.yaml b/databases/catdat/data/category-properties/locally copresentable.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/locally copresentable.yaml rename to databases/catdat/data/category-properties/locally copresentable.yaml diff --git a/databases/catdat/data_yaml/category-properties/locally essentially small.yaml b/databases/catdat/data/category-properties/locally essentially small.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/locally essentially small.yaml rename to databases/catdat/data/category-properties/locally essentially small.yaml diff --git a/databases/catdat/data_yaml/category-properties/locally finitely multi-presentable.yaml b/databases/catdat/data/category-properties/locally finitely multi-presentable.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/locally finitely multi-presentable.yaml rename to databases/catdat/data/category-properties/locally finitely multi-presentable.yaml diff --git a/databases/catdat/data_yaml/category-properties/locally finitely presentable.yaml b/databases/catdat/data/category-properties/locally finitely presentable.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/locally finitely presentable.yaml rename to databases/catdat/data/category-properties/locally finitely presentable.yaml diff --git a/databases/catdat/data_yaml/category-properties/locally multi-presentable.yaml b/databases/catdat/data/category-properties/locally multi-presentable.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/locally multi-presentable.yaml rename to databases/catdat/data/category-properties/locally multi-presentable.yaml diff --git a/databases/catdat/data_yaml/category-properties/locally poly-presentable.yaml b/databases/catdat/data/category-properties/locally poly-presentable.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/locally poly-presentable.yaml rename to databases/catdat/data/category-properties/locally poly-presentable.yaml diff --git a/databases/catdat/data_yaml/category-properties/locally presentable.yaml b/databases/catdat/data/category-properties/locally presentable.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/locally presentable.yaml rename to databases/catdat/data/category-properties/locally presentable.yaml diff --git a/databases/catdat/data_yaml/category-properties/locally small.yaml b/databases/catdat/data/category-properties/locally small.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/locally small.yaml rename to databases/catdat/data/category-properties/locally small.yaml diff --git a/databases/catdat/data_yaml/category-properties/locally strongly finitely presentable.yaml b/databases/catdat/data/category-properties/locally strongly finitely presentable.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/locally strongly finitely presentable.yaml rename to databases/catdat/data/category-properties/locally strongly finitely presentable.yaml diff --git a/databases/catdat/data_yaml/category-properties/mono-regular.yaml b/databases/catdat/data/category-properties/mono-regular.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/mono-regular.yaml rename to databases/catdat/data/category-properties/mono-regular.yaml diff --git a/databases/catdat/data_yaml/category-properties/multi-algebraic.yaml b/databases/catdat/data/category-properties/multi-algebraic.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/multi-algebraic.yaml rename to databases/catdat/data/category-properties/multi-algebraic.yaml diff --git a/databases/catdat/data_yaml/category-properties/multi-cocomplete.yaml b/databases/catdat/data/category-properties/multi-cocomplete.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/multi-cocomplete.yaml rename to databases/catdat/data/category-properties/multi-cocomplete.yaml diff --git a/databases/catdat/data_yaml/category-properties/multi-complete.yaml b/databases/catdat/data/category-properties/multi-complete.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/multi-complete.yaml rename to databases/catdat/data/category-properties/multi-complete.yaml diff --git a/databases/catdat/data_yaml/category-properties/multi-initial object.yaml b/databases/catdat/data/category-properties/multi-initial object.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/multi-initial object.yaml rename to databases/catdat/data/category-properties/multi-initial object.yaml diff --git a/databases/catdat/data_yaml/category-properties/multi-terminal object.yaml b/databases/catdat/data/category-properties/multi-terminal object.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/multi-terminal object.yaml rename to databases/catdat/data/category-properties/multi-terminal object.yaml diff --git a/databases/catdat/data_yaml/category-properties/natural numbers object.yaml b/databases/catdat/data/category-properties/natural numbers object.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/natural numbers object.yaml rename to databases/catdat/data/category-properties/natural numbers object.yaml diff --git a/databases/catdat/data_yaml/category-properties/normal.yaml b/databases/catdat/data/category-properties/normal.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/normal.yaml rename to databases/catdat/data/category-properties/normal.yaml diff --git a/databases/catdat/data_yaml/category-properties/one-way.yaml b/databases/catdat/data/category-properties/one-way.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/one-way.yaml rename to databases/catdat/data/category-properties/one-way.yaml diff --git a/databases/catdat/data_yaml/category-properties/pointed.yaml b/databases/catdat/data/category-properties/pointed.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/pointed.yaml rename to databases/catdat/data/category-properties/pointed.yaml diff --git a/databases/catdat/data_yaml/category-properties/powers.yaml b/databases/catdat/data/category-properties/powers.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/powers.yaml rename to databases/catdat/data/category-properties/powers.yaml diff --git a/databases/catdat/data_yaml/category-properties/preadditive.yaml b/databases/catdat/data/category-properties/preadditive.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/preadditive.yaml rename to databases/catdat/data/category-properties/preadditive.yaml diff --git a/databases/catdat/data_yaml/category-properties/products.yaml b/databases/catdat/data/category-properties/products.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/products.yaml rename to databases/catdat/data/category-properties/products.yaml diff --git a/databases/catdat/data_yaml/category-properties/pullbacks.yaml b/databases/catdat/data/category-properties/pullbacks.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/pullbacks.yaml rename to databases/catdat/data/category-properties/pullbacks.yaml diff --git a/databases/catdat/data_yaml/category-properties/pushouts.yaml b/databases/catdat/data/category-properties/pushouts.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/pushouts.yaml rename to databases/catdat/data/category-properties/pushouts.yaml diff --git a/databases/catdat/data_yaml/category-properties/quotient object classifier.yaml b/databases/catdat/data/category-properties/quotient object classifier.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/quotient object classifier.yaml rename to databases/catdat/data/category-properties/quotient object classifier.yaml diff --git a/databases/catdat/data_yaml/category-properties/quotient-trivial.yaml b/databases/catdat/data/category-properties/quotient-trivial.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/quotient-trivial.yaml rename to databases/catdat/data/category-properties/quotient-trivial.yaml diff --git a/databases/catdat/data_yaml/category-properties/quotients of congruences.yaml b/databases/catdat/data/category-properties/quotients of congruences.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/quotients of congruences.yaml rename to databases/catdat/data/category-properties/quotients of congruences.yaml diff --git a/databases/catdat/data_yaml/category-properties/reflexive coequalizers.yaml b/databases/catdat/data/category-properties/reflexive coequalizers.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/reflexive coequalizers.yaml rename to databases/catdat/data/category-properties/reflexive coequalizers.yaml diff --git a/databases/catdat/data_yaml/category-properties/regular quotient object classifier.yaml b/databases/catdat/data/category-properties/regular quotient object classifier.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/regular quotient object classifier.yaml rename to databases/catdat/data/category-properties/regular quotient object classifier.yaml diff --git a/databases/catdat/data_yaml/category-properties/regular subobject classifier.yaml b/databases/catdat/data/category-properties/regular subobject classifier.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/regular subobject classifier.yaml rename to databases/catdat/data/category-properties/regular subobject classifier.yaml diff --git a/databases/catdat/data_yaml/category-properties/regular.yaml b/databases/catdat/data/category-properties/regular.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/regular.yaml rename to databases/catdat/data/category-properties/regular.yaml diff --git a/databases/catdat/data_yaml/category-properties/right cancellative.yaml b/databases/catdat/data/category-properties/right cancellative.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/right cancellative.yaml rename to databases/catdat/data/category-properties/right cancellative.yaml diff --git a/databases/catdat/data_yaml/category-properties/self-dual.yaml b/databases/catdat/data/category-properties/self-dual.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/self-dual.yaml rename to databases/catdat/data/category-properties/self-dual.yaml diff --git a/databases/catdat/data_yaml/category-properties/semi-strongly connected.yaml b/databases/catdat/data/category-properties/semi-strongly connected.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/semi-strongly connected.yaml rename to databases/catdat/data/category-properties/semi-strongly connected.yaml diff --git a/databases/catdat/data_yaml/category-properties/sequential colimits.yaml b/databases/catdat/data/category-properties/sequential colimits.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/sequential colimits.yaml rename to databases/catdat/data/category-properties/sequential colimits.yaml diff --git a/databases/catdat/data_yaml/category-properties/sequential limits.yaml b/databases/catdat/data/category-properties/sequential limits.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/sequential limits.yaml rename to databases/catdat/data/category-properties/sequential limits.yaml diff --git a/databases/catdat/data_yaml/category-properties/sifted colimits.yaml b/databases/catdat/data/category-properties/sifted colimits.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/sifted colimits.yaml rename to databases/catdat/data/category-properties/sifted colimits.yaml diff --git a/databases/catdat/data_yaml/category-properties/sifted.yaml b/databases/catdat/data/category-properties/sifted.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/sifted.yaml rename to databases/catdat/data/category-properties/sifted.yaml diff --git a/databases/catdat/data_yaml/category-properties/skeletal.yaml b/databases/catdat/data/category-properties/skeletal.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/skeletal.yaml rename to databases/catdat/data/category-properties/skeletal.yaml diff --git a/databases/catdat/data_yaml/category-properties/small.yaml b/databases/catdat/data/category-properties/small.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/small.yaml rename to databases/catdat/data/category-properties/small.yaml diff --git a/databases/catdat/data_yaml/category-properties/split abelian.yaml b/databases/catdat/data/category-properties/split abelian.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/split abelian.yaml rename to databases/catdat/data/category-properties/split abelian.yaml diff --git a/databases/catdat/data_yaml/category-properties/strict initial object.yaml b/databases/catdat/data/category-properties/strict initial object.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/strict initial object.yaml rename to databases/catdat/data/category-properties/strict initial object.yaml diff --git a/databases/catdat/data_yaml/category-properties/strict terminal object.yaml b/databases/catdat/data/category-properties/strict terminal object.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/strict terminal object.yaml rename to databases/catdat/data/category-properties/strict terminal object.yaml diff --git a/databases/catdat/data_yaml/category-properties/strongly connected.yaml b/databases/catdat/data/category-properties/strongly connected.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/strongly connected.yaml rename to databases/catdat/data/category-properties/strongly connected.yaml diff --git a/databases/catdat/data_yaml/category-properties/subobject classifier.yaml b/databases/catdat/data/category-properties/subobject classifier.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/subobject classifier.yaml rename to databases/catdat/data/category-properties/subobject classifier.yaml diff --git a/databases/catdat/data_yaml/category-properties/subobject-trivial.yaml b/databases/catdat/data/category-properties/subobject-trivial.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/subobject-trivial.yaml rename to databases/catdat/data/category-properties/subobject-trivial.yaml diff --git a/databases/catdat/data_yaml/category-properties/terminal object.yaml b/databases/catdat/data/category-properties/terminal object.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/terminal object.yaml rename to databases/catdat/data/category-properties/terminal object.yaml diff --git a/databases/catdat/data_yaml/category-properties/thin.yaml b/databases/catdat/data/category-properties/thin.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/thin.yaml rename to databases/catdat/data/category-properties/thin.yaml diff --git a/databases/catdat/data_yaml/category-properties/trivial.yaml b/databases/catdat/data/category-properties/trivial.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/trivial.yaml rename to databases/catdat/data/category-properties/trivial.yaml diff --git a/databases/catdat/data_yaml/category-properties/unital.yaml b/databases/catdat/data/category-properties/unital.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/unital.yaml rename to databases/catdat/data/category-properties/unital.yaml diff --git a/databases/catdat/data_yaml/category-properties/well-copowered.yaml b/databases/catdat/data/category-properties/well-copowered.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/well-copowered.yaml rename to databases/catdat/data/category-properties/well-copowered.yaml diff --git a/databases/catdat/data_yaml/category-properties/well-powered.yaml b/databases/catdat/data/category-properties/well-powered.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/well-powered.yaml rename to databases/catdat/data/category-properties/well-powered.yaml diff --git a/databases/catdat/data_yaml/category-properties/wide pullbacks.yaml b/databases/catdat/data/category-properties/wide pullbacks.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/wide pullbacks.yaml rename to databases/catdat/data/category-properties/wide pullbacks.yaml diff --git a/databases/catdat/data_yaml/category-properties/wide pushouts.yaml b/databases/catdat/data/category-properties/wide pushouts.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/wide pushouts.yaml rename to databases/catdat/data/category-properties/wide pushouts.yaml diff --git a/databases/catdat/data_yaml/category-properties/zero morphisms.yaml b/databases/catdat/data/category-properties/zero morphisms.yaml similarity index 100% rename from databases/catdat/data_yaml/category-properties/zero morphisms.yaml rename to databases/catdat/data/category-properties/zero morphisms.yaml diff --git a/databases/catdat/data_yaml/config.yaml b/databases/catdat/data/config.yaml similarity index 100% rename from databases/catdat/data_yaml/config.yaml rename to databases/catdat/data/config.yaml diff --git a/databases/catdat/data_yaml/functor-implications/adjoints.yaml b/databases/catdat/data/functor-implications/adjoints.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-implications/adjoints.yaml rename to databases/catdat/data/functor-implications/adjoints.yaml diff --git a/databases/catdat/data_yaml/functor-implications/equivalences.yaml b/databases/catdat/data/functor-implications/equivalences.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-implications/equivalences.yaml rename to databases/catdat/data/functor-implications/equivalences.yaml diff --git a/databases/catdat/data_yaml/functor-implications/limits preservation.yaml b/databases/catdat/data/functor-implications/limits preservation.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-implications/limits preservation.yaml rename to databases/catdat/data/functor-implications/limits preservation.yaml diff --git a/databases/catdat/data_yaml/functor-implications/misc.yaml b/databases/catdat/data/functor-implications/misc.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-implications/misc.yaml rename to databases/catdat/data/functor-implications/misc.yaml diff --git a/databases/catdat/data_yaml/functor-implications/monadic.yaml b/databases/catdat/data/functor-implications/monadic.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-implications/monadic.yaml rename to databases/catdat/data/functor-implications/monadic.yaml diff --git a/databases/catdat/data_yaml/functor-properties/cocontinuous.yaml b/databases/catdat/data/functor-properties/cocontinuous.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/cocontinuous.yaml rename to databases/catdat/data/functor-properties/cocontinuous.yaml diff --git a/databases/catdat/data_yaml/functor-properties/coequalizer-preserving.yaml b/databases/catdat/data/functor-properties/coequalizer-preserving.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/coequalizer-preserving.yaml rename to databases/catdat/data/functor-properties/coequalizer-preserving.yaml diff --git a/databases/catdat/data_yaml/functor-properties/cofinitary.yaml b/databases/catdat/data/functor-properties/cofinitary.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/cofinitary.yaml rename to databases/catdat/data/functor-properties/cofinitary.yaml diff --git a/databases/catdat/data_yaml/functor-properties/comonadic.yaml b/databases/catdat/data/functor-properties/comonadic.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/comonadic.yaml rename to databases/catdat/data/functor-properties/comonadic.yaml diff --git a/databases/catdat/data_yaml/functor-properties/conservative.yaml b/databases/catdat/data/functor-properties/conservative.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/conservative.yaml rename to databases/catdat/data/functor-properties/conservative.yaml diff --git a/databases/catdat/data_yaml/functor-properties/continuous.yaml b/databases/catdat/data/functor-properties/continuous.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/continuous.yaml rename to databases/catdat/data/functor-properties/continuous.yaml diff --git a/databases/catdat/data_yaml/functor-properties/coproduct-preserving.yaml b/databases/catdat/data/functor-properties/coproduct-preserving.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/coproduct-preserving.yaml rename to databases/catdat/data/functor-properties/coproduct-preserving.yaml diff --git a/databases/catdat/data_yaml/functor-properties/epimorphism-preserving.yaml b/databases/catdat/data/functor-properties/epimorphism-preserving.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/epimorphism-preserving.yaml rename to databases/catdat/data/functor-properties/epimorphism-preserving.yaml diff --git a/databases/catdat/data_yaml/functor-properties/equalizer-preserving.yaml b/databases/catdat/data/functor-properties/equalizer-preserving.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/equalizer-preserving.yaml rename to databases/catdat/data/functor-properties/equalizer-preserving.yaml diff --git a/databases/catdat/data_yaml/functor-properties/equivalence.yaml b/databases/catdat/data/functor-properties/equivalence.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/equivalence.yaml rename to databases/catdat/data/functor-properties/equivalence.yaml diff --git a/databases/catdat/data_yaml/functor-properties/essentially surjective.yaml b/databases/catdat/data/functor-properties/essentially surjective.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/essentially surjective.yaml rename to databases/catdat/data/functor-properties/essentially surjective.yaml diff --git a/databases/catdat/data_yaml/functor-properties/exact.yaml b/databases/catdat/data/functor-properties/exact.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/exact.yaml rename to databases/catdat/data/functor-properties/exact.yaml diff --git a/databases/catdat/data_yaml/functor-properties/faithful.yaml b/databases/catdat/data/functor-properties/faithful.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/faithful.yaml rename to databases/catdat/data/functor-properties/faithful.yaml diff --git a/databases/catdat/data_yaml/functor-properties/finitary.yaml b/databases/catdat/data/functor-properties/finitary.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/finitary.yaml rename to databases/catdat/data/functor-properties/finitary.yaml diff --git a/databases/catdat/data_yaml/functor-properties/finite-coproduct-preserving.yaml b/databases/catdat/data/functor-properties/finite-coproduct-preserving.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/finite-coproduct-preserving.yaml rename to databases/catdat/data/functor-properties/finite-coproduct-preserving.yaml diff --git a/databases/catdat/data_yaml/functor-properties/finite-product-preserving.yaml b/databases/catdat/data/functor-properties/finite-product-preserving.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/finite-product-preserving.yaml rename to databases/catdat/data/functor-properties/finite-product-preserving.yaml diff --git a/databases/catdat/data_yaml/functor-properties/full.yaml b/databases/catdat/data/functor-properties/full.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/full.yaml rename to databases/catdat/data/functor-properties/full.yaml diff --git a/databases/catdat/data_yaml/functor-properties/initial-object-preserving.yaml b/databases/catdat/data/functor-properties/initial-object-preserving.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/initial-object-preserving.yaml rename to databases/catdat/data/functor-properties/initial-object-preserving.yaml diff --git a/databases/catdat/data_yaml/functor-properties/left adjoint.yaml b/databases/catdat/data/functor-properties/left adjoint.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/left adjoint.yaml rename to databases/catdat/data/functor-properties/left adjoint.yaml diff --git a/databases/catdat/data_yaml/functor-properties/left exact.yaml b/databases/catdat/data/functor-properties/left exact.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/left exact.yaml rename to databases/catdat/data/functor-properties/left exact.yaml diff --git a/databases/catdat/data_yaml/functor-properties/monadic.yaml b/databases/catdat/data/functor-properties/monadic.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/monadic.yaml rename to databases/catdat/data/functor-properties/monadic.yaml diff --git a/databases/catdat/data_yaml/functor-properties/monomorphism-preserving.yaml b/databases/catdat/data/functor-properties/monomorphism-preserving.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/monomorphism-preserving.yaml rename to databases/catdat/data/functor-properties/monomorphism-preserving.yaml diff --git a/databases/catdat/data_yaml/functor-properties/product-preserving.yaml b/databases/catdat/data/functor-properties/product-preserving.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/product-preserving.yaml rename to databases/catdat/data/functor-properties/product-preserving.yaml diff --git a/databases/catdat/data_yaml/functor-properties/representable.yaml b/databases/catdat/data/functor-properties/representable.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/representable.yaml rename to databases/catdat/data/functor-properties/representable.yaml diff --git a/databases/catdat/data_yaml/functor-properties/right adjoint.yaml b/databases/catdat/data/functor-properties/right adjoint.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/right adjoint.yaml rename to databases/catdat/data/functor-properties/right adjoint.yaml diff --git a/databases/catdat/data_yaml/functor-properties/right exact.yaml b/databases/catdat/data/functor-properties/right exact.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/right exact.yaml rename to databases/catdat/data/functor-properties/right exact.yaml diff --git a/databases/catdat/data_yaml/functor-properties/terminal-object-preserving.yaml b/databases/catdat/data/functor-properties/terminal-object-preserving.yaml similarity index 100% rename from databases/catdat/data_yaml/functor-properties/terminal-object-preserving.yaml rename to databases/catdat/data/functor-properties/terminal-object-preserving.yaml diff --git a/databases/catdat/data_yaml/functors/abelianization.yaml b/databases/catdat/data/functors/abelianization.yaml similarity index 100% rename from databases/catdat/data_yaml/functors/abelianization.yaml rename to databases/catdat/data/functors/abelianization.yaml diff --git a/databases/catdat/data_yaml/functors/forget_vector.yaml b/databases/catdat/data/functors/forget_vector.yaml similarity index 100% rename from databases/catdat/data_yaml/functors/forget_vector.yaml rename to databases/catdat/data/functors/forget_vector.yaml diff --git a/databases/catdat/data_yaml/functors/free_group.yaml b/databases/catdat/data/functors/free_group.yaml similarity index 100% rename from databases/catdat/data_yaml/functors/free_group.yaml rename to databases/catdat/data/functors/free_group.yaml diff --git a/databases/catdat/data_yaml/functors/id_Set.yaml b/databases/catdat/data/functors/id_Set.yaml similarity index 100% rename from databases/catdat/data_yaml/functors/id_Set.yaml rename to databases/catdat/data/functors/id_Set.yaml diff --git a/databases/catdat/data_yaml/functors/power_set_contravariant.yaml b/databases/catdat/data/functors/power_set_contravariant.yaml similarity index 100% rename from databases/catdat/data_yaml/functors/power_set_contravariant.yaml rename to databases/catdat/data/functors/power_set_contravariant.yaml diff --git a/databases/catdat/data_yaml/functors/power_set_covariant.yaml b/databases/catdat/data/functors/power_set_covariant.yaml similarity index 100% rename from databases/catdat/data_yaml/functors/power_set_covariant.yaml rename to databases/catdat/data/functors/power_set_covariant.yaml diff --git a/databases/catdat/data_yaml/lemmas/cogenerators_in_product_categories.yaml b/databases/catdat/data/lemmas/cogenerators_in_product_categories.yaml similarity index 100% rename from databases/catdat/data_yaml/lemmas/cogenerators_in_product_categories.yaml rename to databases/catdat/data/lemmas/cogenerators_in_product_categories.yaml diff --git a/databases/catdat/data_yaml/lemmas/coslice-effective-congruences.yaml b/databases/catdat/data/lemmas/coslice-effective-congruences.yaml similarity index 100% rename from databases/catdat/data_yaml/lemmas/coslice-effective-congruences.yaml rename to databases/catdat/data/lemmas/coslice-effective-congruences.yaml diff --git a/databases/catdat/data_yaml/lemmas/effective-congruence-quotients.yaml b/databases/catdat/data/lemmas/effective-congruence-quotients.yaml similarity index 100% rename from databases/catdat/data_yaml/lemmas/effective-congruence-quotients.yaml rename to databases/catdat/data/lemmas/effective-congruence-quotients.yaml diff --git a/databases/catdat/data_yaml/lemmas/exact_filtered_colimits_descend.yaml b/databases/catdat/data/lemmas/exact_filtered_colimits_descend.yaml similarity index 100% rename from databases/catdat/data_yaml/lemmas/exact_filtered_colimits_descend.yaml rename to databases/catdat/data/lemmas/exact_filtered_colimits_descend.yaml diff --git a/databases/catdat/data_yaml/lemmas/filtered-monos.yaml b/databases/catdat/data/lemmas/filtered-monos.yaml similarity index 100% rename from databases/catdat/data_yaml/lemmas/filtered-monos.yaml rename to databases/catdat/data/lemmas/filtered-monos.yaml diff --git a/databases/catdat/data_yaml/lemmas/generator_construction.yaml b/databases/catdat/data/lemmas/generator_construction.yaml similarity index 100% rename from databases/catdat/data_yaml/lemmas/generator_construction.yaml rename to databases/catdat/data/lemmas/generator_construction.yaml diff --git a/databases/catdat/data_yaml/lemmas/limits_in_factor_categories.yaml b/databases/catdat/data/lemmas/limits_in_factor_categories.yaml similarity index 100% rename from databases/catdat/data_yaml/lemmas/limits_in_factor_categories.yaml rename to databases/catdat/data/lemmas/limits_in_factor_categories.yaml diff --git a/databases/catdat/data_yaml/lemmas/missing_cogenerating_sets.yaml b/databases/catdat/data/lemmas/missing_cogenerating_sets.yaml similarity index 100% rename from databases/catdat/data_yaml/lemmas/missing_cogenerating_sets.yaml rename to databases/catdat/data/lemmas/missing_cogenerating_sets.yaml diff --git a/databases/catdat/data_yaml/lemmas/missing_cogenerator.yaml b/databases/catdat/data/lemmas/missing_cogenerator.yaml similarity index 100% rename from databases/catdat/data_yaml/lemmas/missing_cogenerator.yaml rename to databases/catdat/data/lemmas/missing_cogenerator.yaml diff --git a/databases/catdat/data_yaml/lemmas/monic-sequential-colimits-via-congruence-quotients.yaml b/databases/catdat/data/lemmas/monic-sequential-colimits-via-congruence-quotients.yaml similarity index 100% rename from databases/catdat/data_yaml/lemmas/monic-sequential-colimits-via-congruence-quotients.yaml rename to databases/catdat/data/lemmas/monic-sequential-colimits-via-congruence-quotients.yaml diff --git a/databases/catdat/data_yaml/lemmas/nno_distributive_criterion.yaml b/databases/catdat/data/lemmas/nno_distributive_criterion.yaml similarity index 100% rename from databases/catdat/data_yaml/lemmas/nno_distributive_criterion.yaml rename to databases/catdat/data/lemmas/nno_distributive_criterion.yaml diff --git a/databases/catdat/data_yaml/lemmas/preadditive_structure_unique.yaml b/databases/catdat/data/lemmas/preadditive_structure_unique.yaml similarity index 100% rename from databases/catdat/data_yaml/lemmas/preadditive_structure_unique.yaml rename to databases/catdat/data/lemmas/preadditive_structure_unique.yaml diff --git a/databases/catdat/data_yaml/lemmas/pushouts-of-monos-via-congruence-quotients.yaml b/databases/catdat/data/lemmas/pushouts-of-monos-via-congruence-quotients.yaml similarity index 100% rename from databases/catdat/data_yaml/lemmas/pushouts-of-monos-via-congruence-quotients.yaml rename to databases/catdat/data/lemmas/pushouts-of-monos-via-congruence-quotients.yaml diff --git a/databases/catdat/data_yaml/lemmas/special_sequential_colimits.yaml b/databases/catdat/data/lemmas/special_sequential_colimits.yaml similarity index 100% rename from databases/catdat/data_yaml/lemmas/special_sequential_colimits.yaml rename to databases/catdat/data/lemmas/special_sequential_colimits.yaml diff --git a/databases/catdat/data_yaml/lemmas/subobject_classifiers_coreflection.yaml b/databases/catdat/data/lemmas/subobject_classifiers_coreflection.yaml similarity index 100% rename from databases/catdat/data_yaml/lemmas/subobject_classifiers_coreflection.yaml rename to databases/catdat/data/lemmas/subobject_classifiers_coreflection.yaml diff --git a/databases/catdat/data_yaml/lemmas/thin_algebraic_categories.yaml b/databases/catdat/data/lemmas/thin_algebraic_categories.yaml similarity index 100% rename from databases/catdat/data_yaml/lemmas/thin_algebraic_categories.yaml rename to databases/catdat/data/lemmas/thin_algebraic_categories.yaml diff --git a/databases/catdat/scripts/seed.ts b/databases/catdat/scripts/seed.ts index 9982db8c..341f635c 100644 --- a/databases/catdat/scripts/seed.ts +++ b/databases/catdat/scripts/seed.ts @@ -1,66 +1,606 @@ import fs from 'node:fs' import path from 'node:path' import { get_client } from './shared' -import { create_schema_hash, get_saved_schema_hash } from './schema.utils' +import YAML from 'yaml' +import type { + CategoryYaml, + ConfigYaml, + CategoryPropertyYaml, + LemmaYaml, + CategoryImplicationYaml, + FunctorImplicationYaml, + FunctorPropertyYaml, + FunctorYaml, +} from './yaml.types' + +const db = get_client() + +const data_folder = path.join(process.cwd(), 'databases', 'catdat', 'data') seed() /** - * Seeds the data recorded in SQL files into the database. + * Seeds the data recorded in YAML files into the database. */ function seed() { console.info('\n--- Seed CatDat database ---') - const schema_hash = get_saved_schema_hash() - const actual_hash = create_schema_hash() - if (schema_hash !== actual_hash) { - console.error(`❌ Your schema is outdated. Run first pnpm db:setup.`) + clear_all_data() + + seed_config() + + seed_lemmas() + + seed_category_properties() + seed_category_implications() + seed_categories() + + seed_functor_properties() + seed_functor_implications() + seed_functors() +} + +function clear_all_data() { + console.info(`\nClear all tables ...`) + try { + db.transaction(() => { + db.pragma('foreign_keys = OFF') + + db.prepare(`DELETE FROM lemmas`).run() + + db.prepare(`DELETE FROM category_implication_assumptions`).run() + db.prepare(`DELETE FROM category_implication_conclusions`).run() + db.prepare(`DELETE FROM category_implications`).run() + + db.prepare(`DELETE FROM special_morphisms`).run() + db.prepare(`DELETE FROM special_morphism_types`).run() + + db.prepare(`DELETE FROM special_objects`).run() + db.prepare(`DELETE FROM special_object_types`).run() + + db.prepare(`DELETE FROM category_property_comments`).run() + db.prepare(`DELETE FROM category_property_assignments`).run() + + db.prepare(`DELETE FROM category_comments`).run() + db.prepare(`DELETE FROM related_categories`).run() + db.prepare(`DELETE FROM category_tag_assignments`).run() + db.prepare(`DELETE FROM categories`).run() + + db.prepare(`DELETE FROM tags`).run() + + db.prepare(`DELETE FROM related_category_properties`).run() + db.prepare(`DELETE FROM category_properties`).run() + + db.prepare(`DELETE FROM functor_property_assignments`).run() + db.prepare(`DELETE FROM functor_properties`).run() + db.prepare(`DELETE FROM functors`).run() + + db.prepare(`DELETE FROM relations`).run() + + db.prepare(`DELETE FROM functor_implication_assumptions`).run() + db.prepare(`DELETE FROM functor_implication_conclusions`).run() + db.prepare(`DELETE FROM functor_implication_source_assumptions`).run() + db.prepare(`DELETE FROM functor_implication_target_assumptions`).run() + db.prepare(`DELETE FROM functor_implications`).run() + })() + } catch (err) { + console.error(`Error clearing data:`, err) + process.exit(1) + } +} + +function seed_config() { + console.info(`\nSeed config...`) + + const config_file_content = fs.readFileSync( + path.join(data_folder, 'config.yaml'), + 'utf8', + ) + const config = YAML.parse(config_file_content) as ConfigYaml + + try { + const tag_insert = db.prepare(`INSERT INTO tags (tag) VALUES (?)`) + db.transaction(() => { + for (const tag of config.tags) tag_insert.run(tag) + })() + + const relation_insert = db.prepare( + `INSERT INTO relations (relation, negation, conditional) VALUES (?, ?, ?)`, + ) + db.transaction(() => { + for (const { relation, negation, conditional } of config.relations) { + relation_insert.run(relation, negation, conditional) + } + })() + + const object_insert = db.prepare( + `INSERT INTO special_object_types (type, dual) VALUES (?, ?)`, + ) + + db.transaction(() => { + db.pragma('defer_foreign_keys = ON') + for (const obj of config.special_object_types) { + object_insert.run(obj.type, obj.dual) + } + })() + + const morphism_insert = db.prepare( + `INSERT INTO special_morphism_types (type, dual) VALUES (?, ?)`, + ) + db.transaction(() => { + db.pragma('defer_foreign_keys = ON') + for (const mor of config.special_morphism_types) { + morphism_insert.run(mor.type, mor.dual) + } + })() + } catch (err) { + console.error(`Error seeding config:`, err) + process.exit(1) + } +} + +function seed_categories() { + console.info(`\nSeed categories ...`) + const categories_folder = path.join(data_folder, 'categories') + + const category_files = fs + .readdirSync(categories_folder) + .filter((file) => file.endsWith('.yaml')) + .sort() + + const category_insert = db.prepare( + `INSERT INTO categories ( + id, name, notation, objects, morphisms, + description, nlab_link, dual_category_id + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`, + ) + + const tag_insert = db.prepare( + `INSERT INTO category_tag_assignments (category_id, tag) VALUES (?, ?)`, + ) + + const comment_insert = db.prepare( + `INSERT INTO category_comments (category_id, comment) VALUES (?, ?)`, + ) + + const related_insert = db.prepare( + `INSERT INTO related_categories (category_id, related_category_id) VALUES (?, ?)`, + ) + + const special_object_insert = db.prepare( + `INSERT INTO special_objects (category_id, type, description) VALUES (?, ?, ?)`, + ) + + const special_morphism_insert = db.prepare( + `INSERT INTO special_morphisms (category_id, type, description, reason) + VALUES (?, ?, ?, ?)`, + ) + + const property_assignment_insert = db.prepare( + `INSERT INTO category_property_assignments ( + category_id, property_id, is_satisfied, reason, check_redundancy + ) VALUES (?, ?, ?, ?, ?)`, + ) + + const property_comment_insert = db.prepare(` + INSERT INTO category_property_comments (category_id, property_id, comment) + VALUES (?, ?, ?)`) + + try { + db.transaction(() => { + db.pragma('defer_foreign_keys = ON') + + for (const category_file of category_files) { + console.info(`Seed: ${category_file}`) + const content = fs.readFileSync( + path.join(categories_folder, category_file), + 'utf8', + ) + const category = YAML.parse(content) as CategoryYaml + + category_insert.run( + category.id, + category.name, + category.notation, + category.objects, + category.morphisms, + category.description || null, + category.nlab_link || null, + category.dual_category_id || null, + ) + + for (const tag of category.tags) { + tag_insert.run(category.id, tag) + } + + for (const comment of category.comments ?? []) { + comment_insert.run(category.id, comment) + } + + for (const related of category.related_categories) { + related_insert.run(category.id, related) + } + + for (const [type, entry] of Object.entries(category.special_objects)) { + if (!entry) continue + special_object_insert.run(category.id, type, entry.description) + } + + for (const [type, entry] of Object.entries(category.special_morphisms)) { + if (!entry) continue + special_morphism_insert.run( + category.id, + type, + entry.description, + entry.reason, + ) + } + + for (const entry of category.satisfied_properties) { + property_assignment_insert.run( + category.id, + entry.property_id, + 1, + entry.reason, + entry.check_redundancy === false ? 0 : 1, + ) + } + + for (const entry of category.unsatisfied_properties) { + property_assignment_insert.run( + category.id, + entry.property_id, + 0, + entry.reason, + entry.check_redundancy === false ? 0 : 1, + ) + } + + for (const comment_obj of category.category_property_comments ?? []) { + property_comment_insert.run( + category.id, + comment_obj.property_id, + comment_obj.comment, + ) + } + } + })() + } catch (err) { + console.error(`Error seeding categories:`, err) + process.exit(1) + } +} + +function seed_category_properties() { + console.info(`\nSeed category properties ...`) + const property_folder = path.join(data_folder, 'category-properties') + + const property_files = fs + .readdirSync(property_folder) + .filter((file) => file.endsWith('.yaml')) + .sort() + + const property_insert = db.prepare(` + INSERT INTO category_properties ( + id, relation, description, nlab_link, + dual_property_id, invariant_under_equivalences + ) VALUES (?, ?, ?, ?, ?, ?)`) + + const related_insert = db.prepare( + `INSERT INTO related_category_properties (property_id, related_property_id) VALUES (?, ?)`, + ) + + try { + db.transaction(() => { + db.pragma('defer_foreign_keys = ON') + + for (const property_file of property_files) { + console.info(`Seed: ${property_file}`) + const content = fs.readFileSync( + path.join(property_folder, property_file), + 'utf8', + ) + const property = YAML.parse(content) as CategoryPropertyYaml + + property_insert.run( + property.id, + property.relation, + property.description, + property.nlab_link || null, + property.dual_property_id || null, + Number(property.invariant_under_equivalences), + ) + + for (const related of property.related_properties) { + related_insert.run(property.id, related) + } + } + })() + } catch (err) { + console.error(`Error seeding category categories:`, err) process.exit(1) } +} - const db = get_client() - const data_folder = path.join(process.cwd(), 'databases', 'catdat', 'data') +function seed_lemmas() { + console.info(`\nSeed lemmas ...`) + const lemma_folder = path.join(data_folder, 'lemmas') - const subfolders = fs - .readdirSync(data_folder, { withFileTypes: true }) - .filter((f) => f.isDirectory()) - .map((f) => f.name) + const lemma_files = fs + .readdirSync(lemma_folder) + .filter((file) => file.endsWith('.yaml')) .sort() - const invalid_folder = subfolders.find((f) => !f.match(/^\d{3}_/)) - if (invalid_folder) throw new Error(`Invalid folder name: ${invalid_folder}`) + const lemma_insert = db.prepare( + `INSERT INTO lemmas (id, title, claim, proof) VALUES (?, ?, ?, ?)`, + ) + try { + db.transaction(() => { + for (const lemma_file of lemma_files) { + console.info(`Seed: ${lemma_file}`) + const content = fs.readFileSync( + path.join(lemma_folder, lemma_file), + 'utf8', + ) + const lemma = YAML.parse(content) as LemmaYaml + + lemma_insert.run(lemma.id, lemma.title, lemma.claim, lemma.proof) + } + })() + } catch (err) { + console.error(`Error seeding lemmas:`, err) + process.exit(1) + } +} - const process_files = db.transaction(() => { - for (const folder of subfolders) { - const folder_path = path.join(data_folder, folder) +function seed_category_implications() { + console.info(`\nSeed category implications ...`) + const implications_folder = path.join(data_folder, 'category-implications') - const files = fs - .readdirSync(folder_path, 'utf8') - .filter((file) => file.endsWith('.sql')) - .sort() + const implication_files = fs + .readdirSync(implications_folder) + .filter((file) => file.endsWith('.yaml')) + .sort() - const invalid_file = files.find( - (file) => !file.match(/^[A-Za-z0-9_.,\-()]+$/), - ) - if (invalid_file) throw new Error(`Invalid file name: ${invalid_file}`) + const implication_insert = db.prepare( + `INSERT INTO category_implications ( + id, reason, is_equivalence + ) VALUES (?, ?, ?)`, + ) - for (const file of files) { - console.info(`Seed: ${file}`) + const assumption_insert = db.prepare( + `INSERT INTO category_implication_assumptions ( + implication_id, property_id + ) VALUES (?, ?)`, + ) - try { - const sql = fs.readFileSync(path.join(folder_path, file), 'utf8') - db.exec(sql) - } catch (err) { - throw new Error(`Seed failed in ${file}: ${String(err)}`) + const conclusion_insert = db.prepare( + `INSERT INTO category_implication_conclusions ( + implication_id, property_id + ) VALUES (?, ?)`, + ) + + try { + db.transaction(() => { + for (const implications_file of implication_files) { + console.info(`Seed: ${implications_file}`) + + const content = fs.readFileSync( + path.join(implications_folder, implications_file), + 'utf8', + ) + const implications = YAML.parse(content) as CategoryImplicationYaml[] + + for (const implication of implications) { + implication_insert.run( + implication.id, + implication.reason, + Number(implication.is_equivalence), + ) + + for (const assumption of implication.assumptions) { + assumption_insert.run(implication.id, assumption) + } + + for (const conclusion of implication.conclusions) { + conclusion_insert.run(implication.id, conclusion) + } } } - } - }) + })() + } catch (err) { + console.error(`Error seeding category implications:`, err) + process.exit(1) + } +} + +function seed_functor_properties() { + console.info(`\nSeed functor properties ...`) + const property_folder = path.join(data_folder, 'functor-properties') + + const property_files = fs + .readdirSync(property_folder) + .filter((file) => file.endsWith('.yaml')) + .sort() + + const property_insert = db.prepare(` + INSERT INTO functor_properties ( + id, relation, description, nlab_link, + dual_property_id, invariant_under_equivalences + ) VALUES (?, ?, ?, ?, ?, ?)`) try { - process_files() + db.transaction(() => { + db.pragma('defer_foreign_keys = ON') + + for (const property_file of property_files) { + console.info(`Seed: ${property_file}`) + const content = fs.readFileSync( + path.join(property_folder, property_file), + 'utf8', + ) + const property = YAML.parse(content) as FunctorPropertyYaml + + property_insert.run( + property.id, + property.relation, + property.description, + property.nlab_link || null, + property.dual_property_id || null, + Number(property.invariant_under_equivalences), + ) + } + })() + } catch (err) { + console.error(`Error seeding functor properties:`, err) + process.exit(1) + } +} + +function seed_functor_implications() { + console.info(`\nSeed functor implications ...`) + const implications_folder = path.join(data_folder, 'functor-implications') + + const implication_files = fs + .readdirSync(implications_folder) + .filter((file) => file.endsWith('.yaml')) + .sort() + + const implication_insert = db.prepare( + `INSERT INTO functor_implications ( + id, reason, is_equivalence + ) VALUES (?, ?, ?)`, + ) + + const assumption_insert = db.prepare( + `INSERT INTO functor_implication_assumptions ( + implication_id, property_id + ) VALUES (?, ?)`, + ) + + const source_assumption_insert = db.prepare( + `INSERT INTO functor_implication_source_assumptions ( + implication_id, property_id + ) VALUES (?, ?)`, + ) + + const target_assumption_insert = db.prepare( + `INSERT INTO functor_implication_target_assumptions ( + implication_id, property_id + ) VALUES (?, ?)`, + ) + + const conclusion_insert = db.prepare( + `INSERT INTO functor_implication_conclusions ( + implication_id, property_id + ) VALUES (?, ?)`, + ) + + try { + db.transaction(() => { + for (const implications_file of implication_files) { + console.info(`Seed: ${implications_file}`) + + const content = fs.readFileSync( + path.join(implications_folder, implications_file), + 'utf8', + ) + const implications = YAML.parse(content) as FunctorImplicationYaml[] + + for (const implication of implications) { + implication_insert.run( + implication.id, + implication.reason, + Number(implication.is_equivalence), + ) + + for (const assumption of implication.assumptions) { + assumption_insert.run(implication.id, assumption) + } + + for (const assumption of implication.source_assumptions) { + source_assumption_insert.run(implication.id, assumption) + } + + for (const assumption of implication.target_assumptions) { + target_assumption_insert.run(implication.id, assumption) + } + + for (const conclusion of implication.conclusions) { + conclusion_insert.run(implication.id, conclusion) + } + } + } + })() + } catch (err) { + console.error(`Error seeding category implications:`, err) + process.exit(1) + } +} + +function seed_functors() { + console.info(`\nSeed functors ...`) + const functors_folder = path.join(data_folder, 'functors') + + const functor_files = fs + .readdirSync(functors_folder) + .filter((file) => file.endsWith('.yaml')) + .sort() + + const functor_insert = db.prepare( + `INSERT INTO functors ( + id, name, source, target, description, nlab_link + ) VALUES (?, ?, ?, ?, ?, ?)`, + ) + + const property_assignment_insert = db.prepare( + `INSERT INTO functor_property_assignments ( + functor_id, property_id, is_satisfied, reason + ) VALUES (?, ?, ?, ?)`, + ) + + try { + db.transaction(() => { + db.pragma('defer_foreign_keys = ON') + + for (const functor_file of functor_files) { + console.info(`Seed: ${functor_file}`) + const content = fs.readFileSync( + path.join(functors_folder, functor_file), + 'utf8', + ) + const functor = YAML.parse(content) as FunctorYaml + + functor_insert.run( + functor.id, + functor.name, + functor.source, + functor.target, + functor.description || null, + functor.nlab_link || null, + ) + + for (const entry of functor.satisfied_properties) { + property_assignment_insert.run( + functor.id, + entry.property_id, + 1, + entry.reason, + ) + } + + for (const entry of functor.unsatisfied_properties) { + property_assignment_insert.run( + functor.id, + entry.property_id, + 0, + entry.reason, + ) + } + } + })() } catch (err) { - console.error(err) + console.error(`Error seeding functors:`, err) process.exit(1) } } diff --git a/databases/catdat/scripts/seed.yaml.ts b/databases/catdat/scripts/seed.yaml.ts deleted file mode 100644 index a8ba9070..00000000 --- a/databases/catdat/scripts/seed.yaml.ts +++ /dev/null @@ -1,606 +0,0 @@ -import fs from 'node:fs' -import path from 'node:path' -import { get_client } from './shared' -import YAML from 'yaml' -import type { - CategoryYaml, - ConfigYaml, - CategoryPropertyYaml, - LemmaYaml, - CategoryImplicationYaml, - FunctorImplicationYaml, - FunctorPropertyYaml, - FunctorYaml, -} from './yaml.types' - -const db = get_client() - -const data_folder = path.join(process.cwd(), 'databases', 'catdat', 'data_yaml') - -seed() - -/** - * Seeds the data recorded in YAML files into the database. - */ -function seed() { - console.info('\n--- Seed CatDat database ---') - - clear_all_data() - - seed_config() - - seed_lemmas() - - seed_category_properties() - seed_category_implications() - seed_categories() - - seed_functor_properties() - seed_functor_implications() - seed_functors() -} - -function clear_all_data() { - console.info(`\nClear all tables ...`) - try { - db.transaction(() => { - db.pragma('foreign_keys = OFF') - - db.prepare(`DELETE FROM lemmas`).run() - - db.prepare(`DELETE FROM category_implication_assumptions`).run() - db.prepare(`DELETE FROM category_implication_conclusions`).run() - db.prepare(`DELETE FROM category_implications`).run() - - db.prepare(`DELETE FROM special_morphisms`).run() - db.prepare(`DELETE FROM special_morphism_types`).run() - - db.prepare(`DELETE FROM special_objects`).run() - db.prepare(`DELETE FROM special_object_types`).run() - - db.prepare(`DELETE FROM category_property_comments`).run() - db.prepare(`DELETE FROM category_property_assignments`).run() - - db.prepare(`DELETE FROM category_comments`).run() - db.prepare(`DELETE FROM related_categories`).run() - db.prepare(`DELETE FROM category_tag_assignments`).run() - db.prepare(`DELETE FROM categories`).run() - - db.prepare(`DELETE FROM tags`).run() - - db.prepare(`DELETE FROM related_category_properties`).run() - db.prepare(`DELETE FROM category_properties`).run() - - db.prepare(`DELETE FROM functor_property_assignments`).run() - db.prepare(`DELETE FROM functor_properties`).run() - db.prepare(`DELETE FROM functors`).run() - - db.prepare(`DELETE FROM relations`).run() - - db.prepare(`DELETE FROM functor_implication_assumptions`).run() - db.prepare(`DELETE FROM functor_implication_conclusions`).run() - db.prepare(`DELETE FROM functor_implication_source_assumptions`).run() - db.prepare(`DELETE FROM functor_implication_target_assumptions`).run() - db.prepare(`DELETE FROM functor_implications`).run() - })() - } catch (err) { - console.error(`Error clearing data:`, err) - process.exit(1) - } -} - -function seed_config() { - console.info(`\nSeed config...`) - - const config_file_content = fs.readFileSync( - path.join(data_folder, 'config.yaml'), - 'utf8', - ) - const config = YAML.parse(config_file_content) as ConfigYaml - - try { - const tag_insert = db.prepare(`INSERT INTO tags (tag) VALUES (?)`) - db.transaction(() => { - for (const tag of config.tags) tag_insert.run(tag) - })() - - const relation_insert = db.prepare( - `INSERT INTO relations (relation, negation, conditional) VALUES (?, ?, ?)`, - ) - db.transaction(() => { - for (const { relation, negation, conditional } of config.relations) { - relation_insert.run(relation, negation, conditional) - } - })() - - const object_insert = db.prepare( - `INSERT INTO special_object_types (type, dual) VALUES (?, ?)`, - ) - - db.transaction(() => { - db.pragma('defer_foreign_keys = ON') - for (const obj of config.special_object_types) { - object_insert.run(obj.type, obj.dual) - } - })() - - const morphism_insert = db.prepare( - `INSERT INTO special_morphism_types (type, dual) VALUES (?, ?)`, - ) - db.transaction(() => { - db.pragma('defer_foreign_keys = ON') - for (const mor of config.special_morphism_types) { - morphism_insert.run(mor.type, mor.dual) - } - })() - } catch (err) { - console.error(`Error seeding config:`, err) - process.exit(1) - } -} - -function seed_categories() { - console.info(`\nSeed categories ...`) - const categories_folder = path.join(data_folder, 'categories') - - const category_files = fs - .readdirSync(categories_folder) - .filter((file) => file.endsWith('.yaml')) - .sort() - - const category_insert = db.prepare( - `INSERT INTO categories ( - id, name, notation, objects, morphisms, - description, nlab_link, dual_category_id - ) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`, - ) - - const tag_insert = db.prepare( - `INSERT INTO category_tag_assignments (category_id, tag) VALUES (?, ?)`, - ) - - const comment_insert = db.prepare( - `INSERT INTO category_comments (category_id, comment) VALUES (?, ?)`, - ) - - const related_insert = db.prepare( - `INSERT INTO related_categories (category_id, related_category_id) VALUES (?, ?)`, - ) - - const special_object_insert = db.prepare( - `INSERT INTO special_objects (category_id, type, description) VALUES (?, ?, ?)`, - ) - - const special_morphism_insert = db.prepare( - `INSERT INTO special_morphisms (category_id, type, description, reason) - VALUES (?, ?, ?, ?)`, - ) - - const property_assignment_insert = db.prepare( - `INSERT INTO category_property_assignments ( - category_id, property_id, is_satisfied, reason, check_redundancy - ) VALUES (?, ?, ?, ?, ?)`, - ) - - const property_comment_insert = db.prepare(` - INSERT INTO category_property_comments (category_id, property_id, comment) - VALUES (?, ?, ?)`) - - try { - db.transaction(() => { - db.pragma('defer_foreign_keys = ON') - - for (const category_file of category_files) { - console.info(`Seed: ${category_file}`) - const content = fs.readFileSync( - path.join(categories_folder, category_file), - 'utf8', - ) - const category = YAML.parse(content) as CategoryYaml - - category_insert.run( - category.id, - category.name, - category.notation, - category.objects, - category.morphisms, - category.description || null, - category.nlab_link || null, - category.dual_category_id || null, - ) - - for (const tag of category.tags) { - tag_insert.run(category.id, tag) - } - - for (const comment of category.comments ?? []) { - comment_insert.run(category.id, comment) - } - - for (const related of category.related_categories) { - related_insert.run(category.id, related) - } - - for (const [type, entry] of Object.entries(category.special_objects)) { - if (!entry) continue - special_object_insert.run(category.id, type, entry.description) - } - - for (const [type, entry] of Object.entries(category.special_morphisms)) { - if (!entry) continue - special_morphism_insert.run( - category.id, - type, - entry.description, - entry.reason, - ) - } - - for (const entry of category.satisfied_properties) { - property_assignment_insert.run( - category.id, - entry.property_id, - 1, - entry.reason, - entry.check_redundancy === false ? 0 : 1, - ) - } - - for (const entry of category.unsatisfied_properties) { - property_assignment_insert.run( - category.id, - entry.property_id, - 0, - entry.reason, - entry.check_redundancy === false ? 0 : 1, - ) - } - - for (const comment_obj of category.category_property_comments ?? []) { - property_comment_insert.run( - category.id, - comment_obj.property_id, - comment_obj.comment, - ) - } - } - })() - } catch (err) { - console.error(`Error seeding categories:`, err) - process.exit(1) - } -} - -function seed_category_properties() { - console.info(`\nSeed category properties ...`) - const property_folder = path.join(data_folder, 'category-properties') - - const property_files = fs - .readdirSync(property_folder) - .filter((file) => file.endsWith('.yaml')) - .sort() - - const property_insert = db.prepare(` - INSERT INTO category_properties ( - id, relation, description, nlab_link, - dual_property_id, invariant_under_equivalences - ) VALUES (?, ?, ?, ?, ?, ?)`) - - const related_insert = db.prepare( - `INSERT INTO related_category_properties (property_id, related_property_id) VALUES (?, ?)`, - ) - - try { - db.transaction(() => { - db.pragma('defer_foreign_keys = ON') - - for (const property_file of property_files) { - console.info(`Seed: ${property_file}`) - const content = fs.readFileSync( - path.join(property_folder, property_file), - 'utf8', - ) - const property = YAML.parse(content) as CategoryPropertyYaml - - property_insert.run( - property.id, - property.relation, - property.description, - property.nlab_link || null, - property.dual_property_id || null, - Number(property.invariant_under_equivalences), - ) - - for (const related of property.related_properties) { - related_insert.run(property.id, related) - } - } - })() - } catch (err) { - console.error(`Error seeding category categories:`, err) - process.exit(1) - } -} - -function seed_lemmas() { - console.info(`\nSeed lemmas ...`) - const lemma_folder = path.join(data_folder, 'lemmas') - - const lemma_files = fs - .readdirSync(lemma_folder) - .filter((file) => file.endsWith('.yaml')) - .sort() - - const lemma_insert = db.prepare( - `INSERT INTO lemmas (id, title, claim, proof) VALUES (?, ?, ?, ?)`, - ) - try { - db.transaction(() => { - for (const lemma_file of lemma_files) { - console.info(`Seed: ${lemma_file}`) - const content = fs.readFileSync( - path.join(lemma_folder, lemma_file), - 'utf8', - ) - const lemma = YAML.parse(content) as LemmaYaml - - lemma_insert.run(lemma.id, lemma.title, lemma.claim, lemma.proof) - } - })() - } catch (err) { - console.error(`Error seeding lemmas:`, err) - process.exit(1) - } -} - -function seed_category_implications() { - console.info(`\nSeed category implications ...`) - const implications_folder = path.join(data_folder, 'category-implications') - - const implication_files = fs - .readdirSync(implications_folder) - .filter((file) => file.endsWith('.yaml')) - .sort() - - const implication_insert = db.prepare( - `INSERT INTO category_implications ( - id, reason, is_equivalence - ) VALUES (?, ?, ?)`, - ) - - const assumption_insert = db.prepare( - `INSERT INTO category_implication_assumptions ( - implication_id, property_id - ) VALUES (?, ?)`, - ) - - const conclusion_insert = db.prepare( - `INSERT INTO category_implication_conclusions ( - implication_id, property_id - ) VALUES (?, ?)`, - ) - - try { - db.transaction(() => { - for (const implications_file of implication_files) { - console.info(`Seed: ${implications_file}`) - - const content = fs.readFileSync( - path.join(implications_folder, implications_file), - 'utf8', - ) - const implications = YAML.parse(content) as CategoryImplicationYaml[] - - for (const implication of implications) { - implication_insert.run( - implication.id, - implication.reason, - Number(implication.is_equivalence), - ) - - for (const assumption of implication.assumptions) { - assumption_insert.run(implication.id, assumption) - } - - for (const conclusion of implication.conclusions) { - conclusion_insert.run(implication.id, conclusion) - } - } - } - })() - } catch (err) { - console.error(`Error seeding category implications:`, err) - process.exit(1) - } -} - -function seed_functor_properties() { - console.info(`\nSeed functor properties ...`) - const property_folder = path.join(data_folder, 'functor-properties') - - const property_files = fs - .readdirSync(property_folder) - .filter((file) => file.endsWith('.yaml')) - .sort() - - const property_insert = db.prepare(` - INSERT INTO functor_properties ( - id, relation, description, nlab_link, - dual_property_id, invariant_under_equivalences - ) VALUES (?, ?, ?, ?, ?, ?)`) - - try { - db.transaction(() => { - db.pragma('defer_foreign_keys = ON') - - for (const property_file of property_files) { - console.info(`Seed: ${property_file}`) - const content = fs.readFileSync( - path.join(property_folder, property_file), - 'utf8', - ) - const property = YAML.parse(content) as FunctorPropertyYaml - - property_insert.run( - property.id, - property.relation, - property.description, - property.nlab_link || null, - property.dual_property_id || null, - Number(property.invariant_under_equivalences), - ) - } - })() - } catch (err) { - console.error(`Error seeding functor properties:`, err) - process.exit(1) - } -} - -function seed_functor_implications() { - console.info(`\nSeed functor implications ...`) - const implications_folder = path.join(data_folder, 'functor-implications') - - const implication_files = fs - .readdirSync(implications_folder) - .filter((file) => file.endsWith('.yaml')) - .sort() - - const implication_insert = db.prepare( - `INSERT INTO functor_implications ( - id, reason, is_equivalence - ) VALUES (?, ?, ?)`, - ) - - const assumption_insert = db.prepare( - `INSERT INTO functor_implication_assumptions ( - implication_id, property_id - ) VALUES (?, ?)`, - ) - - const source_assumption_insert = db.prepare( - `INSERT INTO functor_implication_source_assumptions ( - implication_id, property_id - ) VALUES (?, ?)`, - ) - - const target_assumption_insert = db.prepare( - `INSERT INTO functor_implication_target_assumptions ( - implication_id, property_id - ) VALUES (?, ?)`, - ) - - const conclusion_insert = db.prepare( - `INSERT INTO functor_implication_conclusions ( - implication_id, property_id - ) VALUES (?, ?)`, - ) - - try { - db.transaction(() => { - for (const implications_file of implication_files) { - console.info(`Seed: ${implications_file}`) - - const content = fs.readFileSync( - path.join(implications_folder, implications_file), - 'utf8', - ) - const implications = YAML.parse(content) as FunctorImplicationYaml[] - - for (const implication of implications) { - implication_insert.run( - implication.id, - implication.reason, - Number(implication.is_equivalence), - ) - - for (const assumption of implication.assumptions) { - assumption_insert.run(implication.id, assumption) - } - - for (const assumption of implication.source_assumptions) { - source_assumption_insert.run(implication.id, assumption) - } - - for (const assumption of implication.target_assumptions) { - target_assumption_insert.run(implication.id, assumption) - } - - for (const conclusion of implication.conclusions) { - conclusion_insert.run(implication.id, conclusion) - } - } - } - })() - } catch (err) { - console.error(`Error seeding category implications:`, err) - process.exit(1) - } -} - -function seed_functors() { - console.info(`\nSeed functors ...`) - const functors_folder = path.join(data_folder, 'functors') - - const functor_files = fs - .readdirSync(functors_folder) - .filter((file) => file.endsWith('.yaml')) - .sort() - - const functor_insert = db.prepare( - `INSERT INTO functors ( - id, name, source, target, description, nlab_link - ) VALUES (?, ?, ?, ?, ?, ?)`, - ) - - const property_assignment_insert = db.prepare( - `INSERT INTO functor_property_assignments ( - functor_id, property_id, is_satisfied, reason - ) VALUES (?, ?, ?, ?)`, - ) - - try { - db.transaction(() => { - db.pragma('defer_foreign_keys = ON') - - for (const functor_file of functor_files) { - console.info(`Seed: ${functor_file}`) - const content = fs.readFileSync( - path.join(functors_folder, functor_file), - 'utf8', - ) - const functor = YAML.parse(content) as FunctorYaml - - functor_insert.run( - functor.id, - functor.name, - functor.source, - functor.target, - functor.description || null, - functor.nlab_link || null, - ) - - for (const entry of functor.satisfied_properties) { - property_assignment_insert.run( - functor.id, - entry.property_id, - 1, - entry.reason, - ) - } - - for (const entry of functor.unsatisfied_properties) { - property_assignment_insert.run( - functor.id, - entry.property_id, - 0, - entry.reason, - ) - } - } - })() - } catch (err) { - console.error(`Error seeding functors:`, err) - process.exit(1) - } -} From 0e01cf75cf57a201b7bcb7fff4e649aa12ec269a Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Fri, 8 May 2026 17:09:05 +0200 Subject: [PATCH 09/22] bring back schema diff check --- databases/catdat/scripts/seed.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/databases/catdat/scripts/seed.ts b/databases/catdat/scripts/seed.ts index 341f635c..d7f0e7f1 100644 --- a/databases/catdat/scripts/seed.ts +++ b/databases/catdat/scripts/seed.ts @@ -12,6 +12,7 @@ import type { FunctorPropertyYaml, FunctorYaml, } from './yaml.types' +import { create_schema_hash, get_saved_schema_hash } from './schema.utils' const db = get_client() @@ -25,6 +26,13 @@ seed() function seed() { console.info('\n--- Seed CatDat database ---') + const schema_hash = get_saved_schema_hash() + const actual_hash = create_schema_hash() + if (schema_hash !== actual_hash) { + console.error(`❌ Your schema is outdated. Run first pnpm db:setup.`) + process.exit(1) + } + clear_all_data() seed_config() From 5eb3eade766f58ee939a0f4bf63d711fde9358d3 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Fri, 8 May 2026 18:07:08 +0200 Subject: [PATCH 10/22] refactor seed script for yaml files --- databases/catdat/scripts/seed.ts | 590 +++++++++++++++---------------- 1 file changed, 289 insertions(+), 301 deletions(-) diff --git a/databases/catdat/scripts/seed.ts b/databases/catdat/scripts/seed.ts index d7f0e7f1..a95b7e35 100644 --- a/databases/catdat/scripts/seed.ts +++ b/databases/catdat/scripts/seed.ts @@ -48,6 +48,18 @@ function seed() { seed_functors() } +function read_yaml_file(...parts: string[]): T { + const content = fs.readFileSync(path.join(...parts), 'utf8') + return YAML.parse(content) as T +} + +function get_yaml_files(folder: string) { + return fs + .readdirSync(folder) + .filter((file) => file.endsWith('.yaml')) + .sort() +} + function clear_all_data() { console.info(`\nClear all tables ...`) try { @@ -100,45 +112,38 @@ function clear_all_data() { function seed_config() { console.info(`\nSeed config...`) - const config_file_content = fs.readFileSync( - path.join(data_folder, 'config.yaml'), - 'utf8', + const config = read_yaml_file(data_folder, 'config.yaml') + + const tag_insert = db.prepare(`INSERT INTO tags (tag) VALUES (?)`) + + const relation_insert = db.prepare( + `INSERT INTO relations (relation, negation, conditional) VALUES (?, ?, ?)`, + ) + + const object_insert = db.prepare( + `INSERT INTO special_object_types (type, dual) VALUES (?, ?)`, + ) + + const morphism_insert = db.prepare( + `INSERT INTO special_morphism_types (type, dual) VALUES (?, ?)`, ) - const config = YAML.parse(config_file_content) as ConfigYaml try { - const tag_insert = db.prepare(`INSERT INTO tags (tag) VALUES (?)`) db.transaction(() => { + db.pragma('defer_foreign_keys = ON') + for (const tag of config.tags) tag_insert.run(tag) - })() - const relation_insert = db.prepare( - `INSERT INTO relations (relation, negation, conditional) VALUES (?, ?, ?)`, - ) - db.transaction(() => { for (const { relation, negation, conditional } of config.relations) { relation_insert.run(relation, negation, conditional) } - })() - - const object_insert = db.prepare( - `INSERT INTO special_object_types (type, dual) VALUES (?, ?)`, - ) - db.transaction(() => { - db.pragma('defer_foreign_keys = ON') - for (const obj of config.special_object_types) { - object_insert.run(obj.type, obj.dual) + for (const { type, dual } of config.special_object_types) { + object_insert.run(type, dual) } - })() - const morphism_insert = db.prepare( - `INSERT INTO special_morphism_types (type, dual) VALUES (?, ?)`, - ) - db.transaction(() => { - db.pragma('defer_foreign_keys = ON') - for (const mor of config.special_morphism_types) { - morphism_insert.run(mor.type, mor.dual) + for (const { type, dual } of config.special_morphism_types) { + morphism_insert.run(type, dual) } })() } catch (err) { @@ -149,12 +154,9 @@ function seed_config() { function seed_categories() { console.info(`\nSeed categories ...`) - const categories_folder = path.join(data_folder, 'categories') - const category_files = fs - .readdirSync(categories_folder) - .filter((file) => file.endsWith('.yaml')) - .sort() + const folder = path.join(data_folder, 'categories') + const files = get_yaml_files(folder) const category_insert = db.prepare( `INSERT INTO categories ( @@ -191,88 +193,91 @@ function seed_categories() { ) const property_comment_insert = db.prepare(` - INSERT INTO category_property_comments (category_id, property_id, comment) - VALUES (?, ?, ?)`) + INSERT INTO category_property_comments ( + category_id, property_id, comment + ) VALUES (?, ?, ?)`) + + function insert_category(category: CategoryYaml) { + category_insert.run( + category.id, + category.name, + category.notation, + category.objects, + category.morphisms, + category.description || null, + category.nlab_link || null, + category.dual_category_id || null, + ) - try { - db.transaction(() => { - db.pragma('defer_foreign_keys = ON') + for (const tag of category.tags) { + tag_insert.run(category.id, tag) + } + + for (const comment of category.comments ?? []) { + comment_insert.run(category.id, comment) + } + + for (const related of category.related_categories) { + related_insert.run(category.id, related) + } + + for (const [type, entry] of Object.entries(category.special_objects)) { + if (!entry) continue + special_object_insert.run(category.id, type, entry.description) + } + + for (const [type, entry] of Object.entries(category.special_morphisms)) { + if (!entry) continue + special_morphism_insert.run( + category.id, + type, + entry.description, + entry.reason, + ) + } + + for (const entry of category.satisfied_properties) { + property_assignment_insert.run( + category.id, + entry.property_id, + 1, + entry.reason, + entry.check_redundancy === false ? 0 : 1, + ) + } + + for (const entry of category.unsatisfied_properties) { + property_assignment_insert.run( + category.id, + entry.property_id, + 0, + entry.reason, + entry.check_redundancy === false ? 0 : 1, + ) + } + + for (const comment_obj of category.category_property_comments ?? []) { + property_comment_insert.run( + category.id, + comment_obj.property_id, + comment_obj.comment, + ) + } + } - for (const category_file of category_files) { - console.info(`Seed: ${category_file}`) - const content = fs.readFileSync( - path.join(categories_folder, category_file), - 'utf8', - ) - const category = YAML.parse(content) as CategoryYaml - - category_insert.run( - category.id, - category.name, - category.notation, - category.objects, - category.morphisms, - category.description || null, - category.nlab_link || null, - category.dual_category_id || null, - ) - - for (const tag of category.tags) { - tag_insert.run(category.id, tag) - } - - for (const comment of category.comments ?? []) { - comment_insert.run(category.id, comment) - } - - for (const related of category.related_categories) { - related_insert.run(category.id, related) - } - - for (const [type, entry] of Object.entries(category.special_objects)) { - if (!entry) continue - special_object_insert.run(category.id, type, entry.description) - } - - for (const [type, entry] of Object.entries(category.special_morphisms)) { - if (!entry) continue - special_morphism_insert.run( - category.id, - type, - entry.description, - entry.reason, - ) - } - - for (const entry of category.satisfied_properties) { - property_assignment_insert.run( - category.id, - entry.property_id, - 1, - entry.reason, - entry.check_redundancy === false ? 0 : 1, - ) - } - - for (const entry of category.unsatisfied_properties) { - property_assignment_insert.run( - category.id, - entry.property_id, - 0, - entry.reason, - entry.check_redundancy === false ? 0 : 1, - ) - } - - for (const comment_obj of category.category_property_comments ?? []) { - property_comment_insert.run( - category.id, - comment_obj.property_id, - comment_obj.comment, - ) - } - } - })() + const tx = db.transaction(() => { + db.pragma('defer_foreign_keys = ON') + + for (const category_file of files) { + console.info(`Seed: ${category_file}`) + + const category = read_yaml_file(folder, category_file) + insert_category(category) + } + }) + + try { + tx() } catch (err) { console.error(`Error seeding categories:`, err) process.exit(1) @@ -281,12 +286,9 @@ function seed_categories() { function seed_category_properties() { console.info(`\nSeed category properties ...`) - const property_folder = path.join(data_folder, 'category-properties') - const property_files = fs - .readdirSync(property_folder) - .filter((file) => file.endsWith('.yaml')) - .sort() + const folder = path.join(data_folder, 'category-properties') + const files = get_yaml_files(folder) const property_insert = db.prepare(` INSERT INTO category_properties ( @@ -298,32 +300,34 @@ function seed_category_properties() { `INSERT INTO related_category_properties (property_id, related_property_id) VALUES (?, ?)`, ) - try { - db.transaction(() => { - db.pragma('defer_foreign_keys = ON') + function insert_property(property: CategoryPropertyYaml) { + property_insert.run( + property.id, + property.relation, + property.description, + property.nlab_link || null, + property.dual_property_id || null, + Number(property.invariant_under_equivalences), + ) - for (const property_file of property_files) { - console.info(`Seed: ${property_file}`) - const content = fs.readFileSync( - path.join(property_folder, property_file), - 'utf8', - ) - const property = YAML.parse(content) as CategoryPropertyYaml - - property_insert.run( - property.id, - property.relation, - property.description, - property.nlab_link || null, - property.dual_property_id || null, - Number(property.invariant_under_equivalences), - ) - - for (const related of property.related_properties) { - related_insert.run(property.id, related) - } - } - })() + for (const related of property.related_properties) { + related_insert.run(property.id, related) + } + } + + const tx = db.transaction(() => { + db.pragma('defer_foreign_keys = ON') + + for (const property_file of files) { + console.info(`Seed: ${property_file}`) + + const property = read_yaml_file(folder, property_file) + insert_property(property) + } + }) + + try { + tx() } catch (err) { console.error(`Error seeding category categories:`, err) process.exit(1) @@ -332,29 +336,29 @@ function seed_category_properties() { function seed_lemmas() { console.info(`\nSeed lemmas ...`) - const lemma_folder = path.join(data_folder, 'lemmas') - const lemma_files = fs - .readdirSync(lemma_folder) - .filter((file) => file.endsWith('.yaml')) - .sort() + const folder = path.join(data_folder, 'lemmas') + const files = get_yaml_files(folder) const lemma_insert = db.prepare( `INSERT INTO lemmas (id, title, claim, proof) VALUES (?, ?, ?, ?)`, ) + + function insert_lemma(lemma: LemmaYaml) { + lemma_insert.run(lemma.id, lemma.title, lemma.claim, lemma.proof) + } + + const tx = db.transaction(() => { + for (const lemma_file of files) { + console.info(`Seed: ${lemma_file}`) + + const lemma = read_yaml_file(folder, lemma_file) + insert_lemma(lemma) + } + }) + try { - db.transaction(() => { - for (const lemma_file of lemma_files) { - console.info(`Seed: ${lemma_file}`) - const content = fs.readFileSync( - path.join(lemma_folder, lemma_file), - 'utf8', - ) - const lemma = YAML.parse(content) as LemmaYaml - - lemma_insert.run(lemma.id, lemma.title, lemma.claim, lemma.proof) - } - })() + tx() } catch (err) { console.error(`Error seeding lemmas:`, err) process.exit(1) @@ -363,12 +367,9 @@ function seed_lemmas() { function seed_category_implications() { console.info(`\nSeed category implications ...`) - const implications_folder = path.join(data_folder, 'category-implications') - const implication_files = fs - .readdirSync(implications_folder) - .filter((file) => file.endsWith('.yaml')) - .sort() + const folder = path.join(data_folder, 'category-implications') + const files = get_yaml_files(folder) const implication_insert = db.prepare( `INSERT INTO category_implications ( @@ -388,34 +389,35 @@ function seed_category_implications() { ) VALUES (?, ?)`, ) - try { - db.transaction(() => { - for (const implications_file of implication_files) { - console.info(`Seed: ${implications_file}`) - - const content = fs.readFileSync( - path.join(implications_folder, implications_file), - 'utf8', - ) - const implications = YAML.parse(content) as CategoryImplicationYaml[] - - for (const implication of implications) { - implication_insert.run( - implication.id, - implication.reason, - Number(implication.is_equivalence), - ) - - for (const assumption of implication.assumptions) { - assumption_insert.run(implication.id, assumption) - } - - for (const conclusion of implication.conclusions) { - conclusion_insert.run(implication.id, conclusion) - } - } + function insert_implication(impl: CategoryImplicationYaml) { + implication_insert.run(impl.id, impl.reason, Number(impl.is_equivalence)) + + for (const assumption of impl.assumptions) { + assumption_insert.run(impl.id, assumption) + } + + for (const conclusion of impl.conclusions) { + conclusion_insert.run(impl.id, conclusion) + } + } + + const tx = db.transaction(() => { + for (const implications_file of files) { + console.info(`Seed: ${implications_file}`) + + const implications = read_yaml_file( + folder, + implications_file, + ) + + for (const impl of implications) { + insert_implication(impl) } - })() + } + }) + + try { + tx() } catch (err) { console.error(`Error seeding category implications:`, err) process.exit(1) @@ -424,12 +426,9 @@ function seed_category_implications() { function seed_functor_properties() { console.info(`\nSeed functor properties ...`) - const property_folder = path.join(data_folder, 'functor-properties') - const property_files = fs - .readdirSync(property_folder) - .filter((file) => file.endsWith('.yaml')) - .sort() + const folder = path.join(data_folder, 'functor-properties') + const files = get_yaml_files(folder) const property_insert = db.prepare(` INSERT INTO functor_properties ( @@ -437,28 +436,30 @@ function seed_functor_properties() { dual_property_id, invariant_under_equivalences ) VALUES (?, ?, ?, ?, ?, ?)`) - try { - db.transaction(() => { - db.pragma('defer_foreign_keys = ON') + function insert_property(property: FunctorPropertyYaml) { + property_insert.run( + property.id, + property.relation, + property.description, + property.nlab_link || null, + property.dual_property_id || null, + Number(property.invariant_under_equivalences), + ) + } - for (const property_file of property_files) { - console.info(`Seed: ${property_file}`) - const content = fs.readFileSync( - path.join(property_folder, property_file), - 'utf8', - ) - const property = YAML.parse(content) as FunctorPropertyYaml - - property_insert.run( - property.id, - property.relation, - property.description, - property.nlab_link || null, - property.dual_property_id || null, - Number(property.invariant_under_equivalences), - ) - } - })() + const tx = db.transaction(() => { + db.pragma('defer_foreign_keys = ON') + + for (const property_file of files) { + console.info(`Seed: ${property_file}`) + + const property = read_yaml_file(folder, property_file) + insert_property(property) + } + }) + + try { + tx() } catch (err) { console.error(`Error seeding functor properties:`, err) process.exit(1) @@ -467,12 +468,9 @@ function seed_functor_properties() { function seed_functor_implications() { console.info(`\nSeed functor implications ...`) - const implications_folder = path.join(data_folder, 'functor-implications') - const implication_files = fs - .readdirSync(implications_folder) - .filter((file) => file.endsWith('.yaml')) - .sort() + const folder = path.join(data_folder, 'functor-implications') + const files = get_yaml_files(folder) const implication_insert = db.prepare( `INSERT INTO functor_implications ( @@ -504,42 +502,43 @@ function seed_functor_implications() { ) VALUES (?, ?)`, ) - try { - db.transaction(() => { - for (const implications_file of implication_files) { - console.info(`Seed: ${implications_file}`) - - const content = fs.readFileSync( - path.join(implications_folder, implications_file), - 'utf8', - ) - const implications = YAML.parse(content) as FunctorImplicationYaml[] - - for (const implication of implications) { - implication_insert.run( - implication.id, - implication.reason, - Number(implication.is_equivalence), - ) - - for (const assumption of implication.assumptions) { - assumption_insert.run(implication.id, assumption) - } - - for (const assumption of implication.source_assumptions) { - source_assumption_insert.run(implication.id, assumption) - } - - for (const assumption of implication.target_assumptions) { - target_assumption_insert.run(implication.id, assumption) - } - - for (const conclusion of implication.conclusions) { - conclusion_insert.run(implication.id, conclusion) - } - } + function insert_implication(impl: FunctorImplicationYaml) { + implication_insert.run(impl.id, impl.reason, Number(impl.is_equivalence)) + + for (const assumption of impl.assumptions) { + assumption_insert.run(impl.id, assumption) + } + + for (const assumption of impl.source_assumptions) { + source_assumption_insert.run(impl.id, assumption) + } + + for (const assumption of impl.target_assumptions) { + target_assumption_insert.run(impl.id, assumption) + } + + for (const conclusion of impl.conclusions) { + conclusion_insert.run(impl.id, conclusion) + } + } + + const tx = db.transaction(() => { + for (const implications_file of files) { + console.info(`Seed: ${implications_file}`) + + const implications = read_yaml_file( + folder, + implications_file, + ) + + for (const impl of implications) { + insert_implication(impl) } - })() + } + }) + + try { + tx() } catch (err) { console.error(`Error seeding category implications:`, err) process.exit(1) @@ -548,12 +547,9 @@ function seed_functor_implications() { function seed_functors() { console.info(`\nSeed functors ...`) - const functors_folder = path.join(data_folder, 'functors') - const functor_files = fs - .readdirSync(functors_folder) - .filter((file) => file.endsWith('.yaml')) - .sort() + const folder = path.join(data_folder, 'functors') + const files = get_yaml_files(folder) const functor_insert = db.prepare( `INSERT INTO functors ( @@ -567,46 +563,38 @@ function seed_functors() { ) VALUES (?, ?, ?, ?)`, ) - try { - db.transaction(() => { - db.pragma('defer_foreign_keys = ON') + function insert_functor(functor: FunctorYaml) { + functor_insert.run( + functor.id, + functor.name, + functor.source, + functor.target, + functor.description || null, + functor.nlab_link || null, + ) - for (const functor_file of functor_files) { - console.info(`Seed: ${functor_file}`) - const content = fs.readFileSync( - path.join(functors_folder, functor_file), - 'utf8', - ) - const functor = YAML.parse(content) as FunctorYaml - - functor_insert.run( - functor.id, - functor.name, - functor.source, - functor.target, - functor.description || null, - functor.nlab_link || null, - ) - - for (const entry of functor.satisfied_properties) { - property_assignment_insert.run( - functor.id, - entry.property_id, - 1, - entry.reason, - ) - } - - for (const entry of functor.unsatisfied_properties) { - property_assignment_insert.run( - functor.id, - entry.property_id, - 0, - entry.reason, - ) - } - } - })() + for (const entry of functor.satisfied_properties) { + property_assignment_insert.run(functor.id, entry.property_id, 1, entry.reason) + } + + for (const entry of functor.unsatisfied_properties) { + property_assignment_insert.run(functor.id, entry.property_id, 0, entry.reason) + } + } + + const tx = db.transaction(() => { + db.pragma('defer_foreign_keys = ON') + + for (const functor_file of files) { + console.info(`Seed: ${functor_file}`) + + const functor = read_yaml_file(folder, functor_file) + insert_functor(functor) + } + }) + + try { + tx() } catch (err) { console.error(`Error seeding functors:`, err) process.exit(1) From c165fc7cc945154c91eb15a296437dc47e64bd7a Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Sat, 9 May 2026 16:21:03 +0200 Subject: [PATCH 11/22] format yaml files: replace " with ', unescape backslashes --- databases/catdat/data/categories/Ab.yaml | 6 ++--- databases/catdat/data/categories/Ab_fg.yaml | 2 +- databases/catdat/data/categories/Alg(R).yaml | 4 ++-- databases/catdat/data/categories/Ban.yaml | 8 +++---- databases/catdat/data/categories/CAlg(R).yaml | 8 +++---- databases/catdat/data/categories/CMon.yaml | 6 ++--- databases/catdat/data/categories/CRing.yaml | 12 +++++----- databases/catdat/data/categories/Cat.yaml | 8 +++---- databases/catdat/data/categories/Delta.yaml | 6 ++--- databases/catdat/data/categories/FI.yaml | 8 +++---- databases/catdat/data/categories/FS.yaml | 12 +++++----- databases/catdat/data/categories/FinAb.yaml | 4 ++-- databases/catdat/data/categories/FinGrp.yaml | 6 ++--- databases/catdat/data/categories/FinOrd.yaml | 10 ++++----- databases/catdat/data/categories/FreeAb.yaml | 8 +++---- databases/catdat/data/categories/Grp.yaml | 6 ++--- databases/catdat/data/categories/Haus.yaml | 2 +- databases/catdat/data/categories/J2.yaml | 8 +++---- databases/catdat/data/categories/LRS.yaml | 4 ++-- databases/catdat/data/categories/M-Set.yaml | 2 +- databases/catdat/data/categories/Man.yaml | 12 +++++----- databases/catdat/data/categories/Meas.yaml | 4 ++-- databases/catdat/data/categories/Met.yaml | 12 +++++----- databases/catdat/data/categories/Met_c.yaml | 6 ++--- databases/catdat/data/categories/Met_oo.yaml | 6 ++--- databases/catdat/data/categories/Mon.yaml | 10 ++++----- databases/catdat/data/categories/N.yaml | 2 +- databases/catdat/data/categories/N_oo.yaml | 2 +- databases/catdat/data/categories/On.yaml | 2 +- databases/catdat/data/categories/PMet.yaml | 10 ++++----- databases/catdat/data/categories/Pos.yaml | 10 ++++----- databases/catdat/data/categories/Prost.yaml | 8 +++---- databases/catdat/data/categories/R-Mod.yaml | 2 +- .../catdat/data/categories/R-Mod_div.yaml | 2 +- databases/catdat/data/categories/Rel.yaml | 14 ++++++------ databases/catdat/data/categories/Ring.yaml | 6 ++--- databases/catdat/data/categories/Rng.yaml | 4 ++-- databases/catdat/data/categories/Sch.yaml | 2 +- databases/catdat/data/categories/SemiGrp.yaml | 6 ++--- databases/catdat/data/categories/Set.yaml | 4 ++-- databases/catdat/data/categories/Set_c.yaml | 4 ++-- databases/catdat/data/categories/Set_f.yaml | 22 +++++++++---------- databases/catdat/data/categories/Set_op.yaml | 2 +- .../catdat/data/categories/Set_pointed.yaml | 8 +++---- databases/catdat/data/categories/Setne.yaml | 4 ++-- databases/catdat/data/categories/Sh(X).yaml | 4 ++-- .../catdat/data/categories/Sh(X,Ab).yaml | 4 ++-- databases/catdat/data/categories/Sp.yaml | 8 +++---- databases/catdat/data/categories/Top.yaml | 8 +++---- .../catdat/data/categories/Top_pointed.yaml | 12 +++++----- databases/catdat/data/categories/TorsAb.yaml | 6 ++--- .../catdat/data/categories/TorsFreeAb.yaml | 12 +++++----- databases/catdat/data/categories/Vect.yaml | 2 +- databases/catdat/data/categories/Z.yaml | 2 +- databases/catdat/data/categories/Z_div.yaml | 6 ++--- .../catdat/data/categories/real_interval.yaml | 2 +- databases/catdat/data/categories/sSet.yaml | 2 +- .../categories/walking_coreflexive_pair.yaml | 12 +++++----- .../catdat/data/categories/walking_fork.yaml | 4 ++-- .../data/categories/walking_idempotent.yaml | 2 +- .../catdat/data/categories/walking_pair.yaml | 2 +- .../catdat/data/categories/walking_span.yaml | 2 +- .../data/categories/walking_splitting.yaml | 12 +++++----- .../data/category-implications/NNO.yaml | 6 ++--- .../data/category-implications/algebraic.yaml | 2 +- .../category-implications/cancellative.yaml | 4 ++-- .../category-implications/congruences.yaml | 6 ++--- .../disjoint coproducts.yaml | 2 +- .../category-implications/equalizers.yaml | 8 +++---- .../exact filtered colimits.yaml | 2 +- .../filtered + sifted.yaml | 2 +- .../category-implications/generators.yaml | 2 +- .../initial objects.yaml | 4 ++-- .../data/category-implications/products.yaml | 2 +- .../data/category-implications/pullbacks.yaml | 2 +- .../subobject classifiers.yaml | 6 ++--- .../subobject-trivial.yaml | 2 +- .../data/category-implications/thin.yaml | 4 ++-- .../category-properties/Cauchy complete.yaml | 2 +- .../category-properties/coequalizers.yaml | 2 +- .../category-properties/cogenerating set.yaml | 2 +- .../data/category-properties/cokernels.yaml | 2 +- .../data/category-properties/coproducts.yaml | 2 +- .../coquotients of cocongruences.yaml | 2 +- .../data/category-properties/counital.yaml | 2 +- .../data/category-properties/equalizers.yaml | 2 +- .../category-properties/generating set.yaml | 2 +- .../data/category-properties/kernels.yaml | 2 +- .../left cancellative.yaml | 2 +- .../data/category-properties/products.yaml | 2 +- .../quotients of congruences.yaml | 2 +- .../right cancellative.yaml | 2 +- .../sequential colimits.yaml | 2 +- .../data/category-properties/unital.yaml | 2 +- .../category-properties/zero morphisms.yaml | 2 +- .../limits preservation.yaml | 2 +- .../data/functor-implications/misc.yaml | 2 +- .../coequalizer-preserving.yaml | 2 +- .../data/functor-properties/comonadic.yaml | 2 +- .../data/functor-properties/conservative.yaml | 2 +- .../equalizer-preserving.yaml | 2 +- .../essentially surjective.yaml | 2 +- .../data/functor-properties/faithful.yaml | 2 +- .../catdat/data/functor-properties/full.yaml | 2 +- .../data/functor-properties/left adjoint.yaml | 2 +- .../data/functor-properties/monadic.yaml | 2 +- .../functor-properties/representable.yaml | 2 +- .../functor-properties/right adjoint.yaml | 2 +- .../catdat/data/functors/forget_vector.yaml | 2 +- .../catdat/data/functors/free_group.yaml | 6 ++--- .../functors/power_set_contravariant.yaml | 8 +++---- .../data/functors/power_set_covariant.yaml | 14 ++++++------ .../cogenerators_in_product_categories.yaml | 2 +- .../exact_filtered_colimits_descend.yaml | 2 +- .../catdat/data/lemmas/filtered-monos.yaml | 6 +---- .../lemmas/missing_cogenerating_sets.yaml | 2 +- .../data/lemmas/missing_cogenerator.yaml | 2 +- ...ial-colimits-via-congruence-quotients.yaml | 2 +- ...uts-of-monos-via-congruence-quotients.yaml | 2 +- .../lemmas/special_sequential_colimits.yaml | 2 +- .../subobject_classifiers_coreflection.yaml | 2 +- .../lemmas/thin_algebraic_categories.yaml | 2 +- 122 files changed, 280 insertions(+), 284 deletions(-) diff --git a/databases/catdat/data/categories/Ab.yaml b/databases/catdat/data/categories/Ab.yaml index 8d9eeae1..8fb17c3a 100644 --- a/databases/catdat/data/categories/Ab.yaml +++ b/databases/catdat/data/categories/Ab.yaml @@ -30,7 +30,7 @@ satisfied_properties: unsatisfied_properties: - property_id: split abelian - reason: "The short exact sequence $0 \\xrightarrow{} \\IZ \\xrightarrow{p} \\IZ \\xrightarrow{} \\IZ/p \\xrightarrow{} 0$ does not split. " + reason: 'The short exact sequence $0 \xrightarrow{} \IZ \xrightarrow{p} \IZ \xrightarrow{} \IZ/p \xrightarrow{} 0$ does not split. ' - property_id: skeletal reason: This is trivial. @@ -54,10 +54,10 @@ special_morphisms: reason: This characterization holds in every algebraic category. monomorphisms: description: injective homomorphisms - reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + reason: 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' epimorphisms: description: surjective homomorphisms - reason: "For the non-trivial direction, if $f : A \\to B$ is an epimorphism, then $p \\circ f = 0$ for the projection $p : B \\to B/f(A)$ implies that $p = 0$, so that $B = f(A)$." + reason: 'For the non-trivial direction, if $f : A \to B$ is an epimorphism, then $p \circ f = 0$ for the projection $p : B \to B/f(A)$ implies that $p = 0$, so that $B = f(A)$.' regular monomorphisms: description: same as monomorphisms reason: This is because the category is mono-regular. diff --git a/databases/catdat/data/categories/Ab_fg.yaml b/databases/catdat/data/categories/Ab_fg.yaml index 46c20c04..73207667 100644 --- a/databases/catdat/data/categories/Ab_fg.yaml +++ b/databases/catdat/data/categories/Ab_fg.yaml @@ -60,7 +60,7 @@ special_morphisms: reason: This follows exactly as for abelian groups. monomorphisms: description: injective homomorphisms - reason: "Let $f : A \\to B$ be a monomorphism of finitely generated abelian groups. Let $a \\in A$ be in the kernel of $a$. Then we may view $a$ as a morphism $a : \\IZ \\to A$ with $f \\circ a = 0$, and $\\IZ$ is finitely generated. Hence, $a = 0$." + reason: 'Let $f : A \to B$ be a monomorphism of finitely generated abelian groups. Let $a \in A$ be in the kernel of $a$. Then we may view $a$ as a morphism $a : \IZ \to A$ with $f \circ a = 0$, and $\IZ$ is finitely generated. Hence, $a = 0$.' epimorphisms: description: surjective homomorphisms reason: Use the same proof as for abelian groups. diff --git a/databases/catdat/data/categories/Alg(R).yaml b/databases/catdat/data/categories/Alg(R).yaml index f89c5b70..5b136ac9 100644 --- a/databases/catdat/data/categories/Alg(R).yaml +++ b/databases/catdat/data/categories/Alg(R).yaml @@ -22,7 +22,7 @@ satisfied_properties: reason: Take the algebraic theory of an $R$-algebra. - property_id: strict terminal object - reason: "If $f : 0 \\to A$ is an algebra homomorphism, then $A$ satisfies $1=f(1)=f(0)=0$, so that $A=0$." + reason: 'If $f : 0 \to A$ is an algebra homomorphism, then $A$ satisfies $1=f(1)=f(0)=0$, so that $A=0$.' - property_id: Malcev reason: This follows in the same way as for groups, see also Example 2.2.5 in Malcev, protomodular, homological and semi-abelian categories. @@ -83,7 +83,7 @@ special_morphisms: reason: This characterization holds in every algebraic category. monomorphisms: description: injective ring homomorphisms - reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + reason: 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' regular epimorphisms: description: surjective homomorphisms reason: This holds in every finitary algebraic category. diff --git a/databases/catdat/data/categories/Ban.yaml b/databases/catdat/data/categories/Ban.yaml index 6aca9a99..fbd1bc99 100644 --- a/databases/catdat/data/categories/Ban.yaml +++ b/databases/catdat/data/categories/Ban.yaml @@ -58,7 +58,7 @@ unsatisfied_properties: reason: By using the concrete description of products and coproducts, for the constant family $X_n = \IC$ the canonical morphism $\coprod_n X_n \to \prod_n X_n$ becomes the canonical inclusion map $\ell^1 \hookrightarrow \ell^\infty$. This is not an epimorphism (i.e., has no dense image) since the closure of the image is precisely $c_0$. So for example, $(1,1,\dotsc)$ is not contained in the closure of the image. - property_id: cofiltered-limit-stable epimorphisms - reason: "We show that epimorphisms are not stable under sequential limits. Let $X_n = Y_n = \\IC$ for all $n \\geq 0$. The transition morphism $Y_{n+1} \\to Y_n$ is the identity, and the transition morphism $X_{n+1} \\to X_n$ is $x \\mapsto x/2$. The morphisms $X_n \\to Y_n$, $x \\mapsto x/2^n$ are compatible with the transitions, and they are surjective, hence epimorphisms. Now we check $\\lim_n X_n = 0$: An element $(x_n) \\in \\lim_n X_n$ is a family of complex numbers satisfying $x_n = x_{n+1}/2$ and $\\sup_n |x_n| < \\infty$. But then $x_n = 2^n x_0$ and this can only be bounded when $x_0=0$. Hence, $0 = \\lim_n X_n \\to \\lim_n Y_n = \\IC$ is no epimorphism." + reason: 'We show that epimorphisms are not stable under sequential limits. Let $X_n = Y_n = \IC$ for all $n \geq 0$. The transition morphism $Y_{n+1} \to Y_n$ is the identity, and the transition morphism $X_{n+1} \to X_n$ is $x \mapsto x/2$. The morphisms $X_n \to Y_n$, $x \mapsto x/2^n$ are compatible with the transitions, and they are surjective, hence epimorphisms. Now we check $\lim_n X_n = 0$: An element $(x_n) \in \lim_n X_n$ is a family of complex numbers satisfying $x_n = x_{n+1}/2$ and $\sup_n |x_n| < \infty$. But then $x_n = 2^n x_0$ and this can only be bounded when $x_0=0$. Hence, $0 = \lim_n X_n \to \lim_n Y_n = \IC$ is no epimorphism.' special_objects: initial object: @@ -66,7 +66,7 @@ special_objects: terminal object: description: trivial Banach space coproducts: - description: "The coproduct of a family of Banach spaces $(B_i)$ is the subspace $\\bigl\\{x \\in \\prod_i B_i : \\sum_i |x_i| < \\infty\\bigr\\}$ equipped with the $1$-norm $|x| := \\sum_i |x_i|$." + description: 'The coproduct of a family of Banach spaces $(B_i)$ is the subspace $\bigl\{x \in \prod_i B_i : \sum_i |x_i| < \infty\bigr\}$ equipped with the $1$-norm $|x| := \sum_i |x_i|$.' products: description: direct products with the $\sup$-norm @@ -76,10 +76,10 @@ special_morphisms: reason: This is easy. monomorphisms: description: injective linear contractions - reason: "The unit ball functor $U : \\Ban \\to \\Set$ is faithful and representable (by $\\IC$), hence reflects and preserves monomorphisms." + reason: 'The unit ball functor $U : \Ban \to \Set$ is faithful and representable (by $\IC$), hence reflects and preserves monomorphisms.' epimorphisms: description: linear contractions with dense image - reason: "Let $f : X \\to Y$ be an epimorphism of Banach spaces. The subspace $U := \\overline{f(X)} \\subseteq Y$ is closed. It is well-known that the quotient $Y/U$ is also a Banach space with a projection $p : Y \\to Y/U$. Since $p \\circ f = 0 = 0 \\circ f$, we infer $p = 0$, so that $U = Y$." + reason: 'Let $f : X \to Y$ be an epimorphism of Banach spaces. The subspace $U := \overline{f(X)} \subseteq Y$ is closed. It is well-known that the quotient $Y/U$ is also a Banach space with a projection $p : Y \to Y/U$. Since $p \circ f = 0 = 0 \circ f$, we infer $p = 0$, so that $U = Y$.' regular monomorphisms: description: closed embeddings reason: The non-trivial direction follows from the well-known fact that for every closed subspace of a Banach space its quotient space is again a Banach space. diff --git a/databases/catdat/data/categories/CAlg(R).yaml b/databases/catdat/data/categories/CAlg(R).yaml index c51fff79..9f267c64 100644 --- a/databases/catdat/data/categories/CAlg(R).yaml +++ b/databases/catdat/data/categories/CAlg(R).yaml @@ -22,7 +22,7 @@ satisfied_properties: reason: Take the algebraic theory of a commutative ring. - property_id: strict terminal object - reason: "If $f : 0 \\to R$ is a homomorphism, then $R$ satisfies $1=f(1)=f(0)=0$, so that $R=0$." + reason: 'If $f : 0 \to R$ is a homomorphism, then $R$ satisfies $1=f(1)=f(0)=0$, so that $R=0$.' check_redundancy: false - property_id: Malcev @@ -42,7 +42,7 @@ unsatisfied_properties: reason: This is trivial. - property_id: countably codistributive - reason: "The canonical homomorphism $A \\otimes_R R^{\\IN} \\to A^{\\IN}$ is given by $a \\otimes (r_n)_n \\mapsto (r_n a)_n$ and does not have to be surjective: Since $R \\neq 0$, there is a commutative $R$-algebra $K$ which is a field. Now take $A := K[X]$ and consider the sequence $(X^n)_{n} \\in A^{\\IN}$." + reason: 'The canonical homomorphism $A \otimes_R R^{\IN} \to A^{\IN}$ is given by $a \otimes (r_n)_n \mapsto (r_n a)_n$ and does not have to be surjective: Since $R \neq 0$, there is a commutative $R$-algebra $K$ which is a field. Now take $A := K[X]$ and consider the sequence $(X^n)_{n} \in A^{\IN}$.' - property_id: semi-strongly connected reason: Choose a maximal ideal $\mathfrak{m}$ of $R$, so $K := R/\mathfrak{m}$ is a field. If $\CAlg(R)$ is semi-strongly connected, then also $\CAlg(K)$ is semi-strongly connected. This has been disproven in MSE/5129689. @@ -54,7 +54,7 @@ unsatisfied_properties: reason: 'See MO/509552: Consider the forgetful functor $U : \CAlg(R) \to \Set$ and the relation $S \subseteq U^2$ defined by $S(A) := \{(a,b) \in U(A)^2 : ab = a^2\}$. Both are representable: $U$ by $R[X]$ and $S$ by $R[X,Y] / \langle XY-X^2 \rangle$. It is clear that $S$ is reflexive, but not symmetric.' - property_id: regular quotient object classifier - reason: "The strategy is similar to the one for $\\CRing$: Assume that $P \\to R$ is a regular quotient object classifier. If $J$ denotes the kernel of $P \\to R$, every ideal $I \\subseteq A$ of any commutative $R$-algebra has the form $I = \\langle \\varphi(J) \\rangle$ for a unique homomorphism $\\varphi : P \\to A$. If $\\sigma : A \\to A$ is an automorphism with $\\sigma(I)=I$, then uniqueness gives us $\\sigma \\circ \\varphi = \\varphi$, which means that $\\varphi(J)$ lies in $A^{\\sigma}$, the fixed algebra of $\\sigma$. But then $I$ is generated by elements in $A^{\\sigma} \\cap I$. If $K$ is a residue field of $R$, this fails for $A = K[X,Y]$, $I = \\langle X,Y \\rangle$, $\\sigma(X)=Y$, $\\sigma(Y)=X$. The fixed algebra is the subalgebra of symmetric polynomials, which is $K[X+Y,XY]$. So $\\langle X,Y \\rangle$ is generated by symmetric polynomials without constant term, which implies $\\langle X,Y \\rangle \\subseteq \\langle X+Y,XY \\rangle$ in $K[X,Y]$. But reducing an equation like $X = a(X,Y) \\cdot (X+Y) + b(X,Y) \\cdot (XY)$ modulo $\\langle X^2,Y^2,XY \\rangle$ yields a contradiction." + reason: 'The strategy is similar to the one for $\CRing$: Assume that $P \to R$ is a regular quotient object classifier. If $J$ denotes the kernel of $P \to R$, every ideal $I \subseteq A$ of any commutative $R$-algebra has the form $I = \langle \varphi(J) \rangle$ for a unique homomorphism $\varphi : P \to A$. If $\sigma : A \to A$ is an automorphism with $\sigma(I)=I$, then uniqueness gives us $\sigma \circ \varphi = \varphi$, which means that $\varphi(J)$ lies in $A^{\sigma}$, the fixed algebra of $\sigma$. But then $I$ is generated by elements in $A^{\sigma} \cap I$. If $K$ is a residue field of $R$, this fails for $A = K[X,Y]$, $I = \langle X,Y \rangle$, $\sigma(X)=Y$, $\sigma(Y)=X$. The fixed algebra is the subalgebra of symmetric polynomials, which is $K[X+Y,XY]$. So $\langle X,Y \rangle$ is generated by symmetric polynomials without constant term, which implies $\langle X,Y \rangle \subseteq \langle X+Y,XY \rangle$ in $K[X,Y]$. But reducing an equation like $X = a(X,Y) \cdot (X+Y) + b(X,Y) \cdot (XY)$ modulo $\langle X^2,Y^2,XY \rangle$ yields a contradiction.' - property_id: cofiltered-limit-stable epimorphisms reason: Let $K$ be a field over $R$. Consider the sequence of projections $\cdots \to K[X]/\langle X^2 \rangle \to K[X]/\langle X \rangle$ and the constant sequence $\cdots \to K[X] \to K[X]$. The surjective homomorphisms $K[X] \to K[X]/\langle X^n \rangle$ induce the inclusion $K[X] \hookrightarrow K[[X]]$ in the limit, where $K[[X]]$ is the algebra of formal power series. It is clearly not surjective, but this is not sufficient, we need to argue that it is not an epimorphism in $\CAlg(R)$, or equivalently, in $\CRing$. For a proof, see MSE/2391187. @@ -75,7 +75,7 @@ special_morphisms: reason: This characterization holds in every algebraic category. monomorphisms: description: injective homomorphisms - reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + reason: 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' epimorphisms: description: a homomorphism of algebras which is an epimorphism of commutative rings reason: The forgetful functor $\CAlg(R) \to \Ring$ is faithful and hence reflects epimorphisms, but it also preserves epimorphisms since it preserves pushouts (since $\CAlg(R) \cong R / \Ring$). For epimorphisms of commutative rings see their detail page. diff --git a/databases/catdat/data/categories/CMon.yaml b/databases/catdat/data/categories/CMon.yaml index 21cef652..d8410266 100644 --- a/databases/catdat/data/categories/CMon.yaml +++ b/databases/catdat/data/categories/CMon.yaml @@ -35,7 +35,7 @@ unsatisfied_properties: reason: This is trivial. - property_id: Malcev - reason: "Consider the submonoid $\\{(a,b) : a \\leq b \\}$ of $\\IN^2$." + reason: 'Consider the submonoid $\{(a,b) : a \leq b \}$ of $\IN^2$.' - property_id: cogenerator reason: See MO/509232. @@ -50,7 +50,7 @@ unsatisfied_properties: reason: 'We can show this analogously to the case of commutative rings MSE/3746890. Consider the commutative monoid $\IN^2$ and its submonoid $U\coloneqq\{(m,n)\mid m\ge n\}$ with the inclusion $i\colon U\hookrightarrow\IN^2$. Then, the pushout of $i$ along itself is $\langle x,y,z : x+y=x+z \rangle$, and the equalizer of the cokernel pair of $i$ is $D\coloneqq\{(m,n)\mid m=0 \implies n=0 \}$. If the category $\CMon$ were coregular, the canonical inclusion $j\colon U\hookrightarrow D$ would have to be an epimorphism. However, it is not: let $I\coloneqq\{0,1\}$ be the two-element commutative monoid with $1+1=1$, and let $u,v\colon D \rightrightarrows I$ be the morphisms defined by $u^{-1}(0)=\{(0,0)\}$ and $v^{-1}(0)=\{(0,0),(1,2)\}$; then we have $u\circ j = v\circ j$.' - property_id: regular quotient object classifier - reason: "If $P \\in \\CMon$ is a regular quotient object classifier, this means that every surjective homomorphism of commutative monoids $A \\to B$ is the cokernel of a unique homomorphism $P \\to A$. But there are many surjective homomorphisms which are no cokernels at all: Consider the Boolean monoid $(\\{0,1\\},\\vee)$ with $1 \\vee 1 = 1$ and the surjective homomorphism $f : (\\IN,+) \\to (\\{0,1\\},\\vee)$ defined by $f(0)=0$ and $f(n)=1$ for $n \\geq 1$. It has trivial kernel, but is no isomorphism, so it cannot be a cokernel." + reason: 'If $P \in \CMon$ is a regular quotient object classifier, this means that every surjective homomorphism of commutative monoids $A \to B$ is the cokernel of a unique homomorphism $P \to A$. But there are many surjective homomorphisms which are no cokernels at all: Consider the Boolean monoid $(\{0,1\},\vee)$ with $1 \vee 1 = 1$ and the surjective homomorphism $f : (\IN,+) \to (\{0,1\},\vee)$ defined by $f(0)=0$ and $f(n)=1$ for $n \geq 1$. It has trivial kernel, but is no isomorphism, so it cannot be a cokernel.' - property_id: CSP reason: First of all, epimorphisms in $\CMon$ are preserved and reflected by the forgetful functor to $\Mon$ (see below). Furthermore, 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 $\CMon$ the canonical homomorphism $\bigoplus_{n \geq 0} \IN \to \prod_{n \geq 0} \IN$ is not an epimorphism because its domain is countable and its codomain is uncountable. @@ -71,7 +71,7 @@ special_morphisms: reason: This characterization holds in every algebraic category. monomorphisms: description: injective homomorphisms - reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + reason: 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' epimorphisms: description: A morphism in $\CMon$ is an epimorphism iff it is an epimorphism in $\Mon$, which in turn can be characterized by Isbell's zigzag theorem. reason: diff --git a/databases/catdat/data/categories/CRing.yaml b/databases/catdat/data/categories/CRing.yaml index d658280b..c9865fc0 100644 --- a/databases/catdat/data/categories/CRing.yaml +++ b/databases/catdat/data/categories/CRing.yaml @@ -24,14 +24,14 @@ satisfied_properties: reason: Take the algebraic theory of a commutative ring. - property_id: strict terminal object - reason: "If $f : 0 \\to R$ is a homomorphism, then $R$ satisfies $1=f(1)=f(0)=0$, so that $R=0$." + reason: 'If $f : 0 \to R$ is a homomorphism, then $R$ satisfies $1=f(1)=f(0)=0$, so that $R=0$.' check_redundancy: false - property_id: Malcev reason: This follows in the same way as for groups, see also Example 2.2.5 in Malcev, protomodular, homological and semi-abelian categories. - property_id: coextensive - reason: "[Sketch] A ring homomorphism $f : A \\times B \\to R$ yields the idempotent element $e := f(1,0) \\in R$, so that $R \\cong eR \\times (1-e)R$. Then $f$ decomposes into the ring homomorphisms $f_A : A \\to eR$, $f_A(a) := f(a,0)$ and $f_B : B \\to (1-e)R$, $f_B(b) := f(0,b)$." + reason: '[Sketch] A ring homomorphism $f : A \times B \to R$ yields the idempotent element $e := f(1,0) \in R$, so that $R \cong eR \times (1-e)R$. Then $f$ decomposes into the ring homomorphisms $f_A : A \to eR$, $f_A(a) := f(a,0)$ and $f_B : B \to (1-e)R$, $f_B(b) := f(0,b)$.' unsatisfied_properties: - property_id: balanced @@ -44,7 +44,7 @@ unsatisfied_properties: reason: This is trivial. - property_id: countably codistributive - reason: "The canonical homomorphism $\\IQ \\otimes \\IZ^{\\IN} \\to (\\IQ \\otimes \\IZ)^{\\IN} = \\IQ^{\\IN}$ is not an isomorphism: its image consists of those sequences of rational numbers whose denominators can be bounded." + reason: 'The canonical homomorphism $\IQ \otimes \IZ^{\IN} \to (\IQ \otimes \IZ)^{\IN} = \IQ^{\IN}$ is not an isomorphism: its image consists of those sequences of rational numbers whose denominators can be bounded.' - property_id: semi-strongly connected reason: There is no homomorphism between $\IF_2$ and $\IF_3$. @@ -56,7 +56,7 @@ unsatisfied_properties: reason: 'See MO/509552: Consider the forgetful functor $U : \CRing \to \Set$ and the relation $R \subseteq U^2$ defined by $R(A) := \{(a,b) \in U(A)^2 : ab = a^2\}$. Both are representable: $U$ by $\IZ[X]$ and $R$ by $\IZ[X,Y] / \langle XY-X^2 \rangle$. It is clear that $R$ is reflexive, but not symmetric.' - property_id: regular quotient object classifier - reason: "Assume that $P \\to \\IZ$ is a regular quotient object classifier. If $J$ denotes its kernel, this means that every ideal $I \\subseteq A$ of any commutative ring has the form $I = \\langle \\varphi(J) \\rangle$ for a unique homomorphism $\\varphi : P \\to A$. If $\\sigma : A \\to A$ is an automorphism with $\\sigma(I)=I$, then uniqueness gives us $\\sigma \\circ \\varphi = \\varphi$, which means that $\\varphi(J)$ lies in $A^{\\sigma}$, the fixed ring of $\\sigma$. But then $I$ is generated by elements in the fixed ring. This fails for $A = \\IZ[X]$, $I = \\langle X \\rangle$, $\\sigma(X)=-X$. The fixed ring is $\\IZ[X^2]$, and if $I$ was generated by elements $f \\in \\IZ[X^2] \\cap I$, they would be multiples of $X^2$, but $X$ is not a multiple of $X^2$." + reason: 'Assume that $P \to \IZ$ is a regular quotient object classifier. If $J$ denotes its kernel, this means that every ideal $I \subseteq A$ of any commutative ring has the form $I = \langle \varphi(J) \rangle$ for a unique homomorphism $\varphi : P \to A$. If $\sigma : A \to A$ is an automorphism with $\sigma(I)=I$, then uniqueness gives us $\sigma \circ \varphi = \varphi$, which means that $\varphi(J)$ lies in $A^{\sigma}$, the fixed ring of $\sigma$. But then $I$ is generated by elements in the fixed ring. This fails for $A = \IZ[X]$, $I = \langle X \rangle$, $\sigma(X)=-X$. The fixed ring is $\IZ[X^2]$, and if $I$ was generated by elements $f \in \IZ[X^2] \cap I$, they would be multiples of $X^2$, but $X$ is not a multiple of $X^2$.' - property_id: cofiltered-limit-stable epimorphisms reason: 'For a prime $p$ consider the sequence of projections $\cdots \to \IZ/p^2 \to \IZ/p$ and the constant sequence $\cdots \to \IZ \to \IZ$. The surjective homomorphisms $\IZ \to \IZ/p^n$ induce the homomorphism $\IZ \to \IZ_p$ in the limit, where $\IZ_p$ is the ring of $p$-adic integers. It is not surjective since $\IZ_p$ is uncountable, but this is not sufficient (at least, for this category): We need to use SP/04W0 to conclude that it is no epimorphism in $\CRing$.' @@ -77,9 +77,9 @@ special_morphisms: reason: This characterization holds in every algebraic category. monomorphisms: description: injective ring homomorphisms - reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + reason: 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' epimorphisms: - description: "A ring map $f : R \\to S$ is an epimorphism iff $S$ equals the dominion of $f(R) \\subseteq S$, meaning that for every $s \\in S$ there is some matrix factorization $(s) = Y X Z$ with $X \\in M_{n \\times n}(R)$, $Y \\in M_{1 \\times n}(S)$, and $Z \\in M_{n \\times 1}(S)$." + description: 'A ring map $f : R \to S$ is an epimorphism iff $S$ equals the dominion of $f(R) \subseteq S$, meaning that for every $s \in S$ there is some matrix factorization $(s) = Y X Z$ with $X \in M_{n \times n}(R)$, $Y \in M_{1 \times n}(S)$, and $Z \in M_{n \times 1}(S)$.' reason: See Stacks Project ,or, for many more results, the seminar Les épimorphismes d'anneaux. See also MO/109 for some results. regular epimorphisms: description: surjective homomorphisms diff --git a/databases/catdat/data/categories/Cat.yaml b/databases/catdat/data/categories/Cat.yaml index 86290c35..cf19f952 100644 --- a/databases/catdat/data/categories/Cat.yaml +++ b/databases/catdat/data/categories/Cat.yaml @@ -25,10 +25,10 @@ satisfied_properties: reason: See MO/84460. - property_id: generator - reason: "The interval category $\\{0 \\to 1\\}$ is a generator: Assume that $F,G : \\C \\rightrightarrows \\D$ are functors that agree when being precomposed with any functor from $\\{0 \\to 1\\}$. This means that $F(f) = G(f)$ for all morphisms $f : X \\to Y$ in $\\C$. By comparing the domains and applying this to $f = \\id_X$, we see that $F(X) = G(X)$ for all objects $X$. And we just saw that $F,G$ also agree on morphisms." + reason: 'The interval category $\{0 \to 1\}$ is a generator: Assume that $F,G : \C \rightrightarrows \D$ are functors that agree when being precomposed with any functor from $\{0 \to 1\}$. This means that $F(f) = G(f)$ for all morphisms $f : X \to Y$ in $\C$. By comparing the domains and applying this to $f = \id_X$, we see that $F(X) = G(X)$ for all objects $X$. And we just saw that $F,G$ also agree on morphisms.' - property_id: infinitary extensive - reason: "[Sketch] This is straight forward from the fact that $\\Set$ is infinitary extensive: A functor $\\C \\to \\coprod_i \\D_i$ yields full subcategories $\\C_i \\subseteq \\C$ (the preimages of $\\D_i)$ with $\\C = \\coprod_i \\C_i$." + reason: '[Sketch] This is straight forward from the fact that $\Set$ is infinitary extensive: A functor $\C \to \coprod_i \D_i$ yields full subcategories $\C_i \subseteq \C$ (the preimages of $\D_i)$ with $\C = \coprod_i \C_i$.' - property_id: semi-strongly connected reason: Every non-empty category is weakly terminal (by using constant functors). @@ -80,7 +80,7 @@ special_morphisms: reason: This is easy. monomorphisms: description: faithful functors that are injective on objects - reason: "Faithful functors that are injective on objects are clearly monomorphisms. For the converse, assume that $F : \\C \\to \\D$ is a monomorphic functor. Two objects $A,B \\in \\C$ with $F(A) = F(B)$ can be regarded as functors $A,B : 1 \\to \\C$ from the trivial category satisfying $F \\circ A = F \\circ B$, so that $A = B$. Now assume that $f,g : A \\to B$ are morphisms in $\\C$ with $F(f) = F(g)$. These can be regarded as functors $f,g : \\{ 0 \\to 1 \\} \\to \\C$ from the walking morphism category satisfying $F \\circ f = F \\circ g$, so that $f = g$." + reason: 'Faithful functors that are injective on objects are clearly monomorphisms. For the converse, assume that $F : \C \to \D$ is a monomorphic functor. Two objects $A,B \in \C$ with $F(A) = F(B)$ can be regarded as functors $A,B : 1 \to \C$ from the trivial category satisfying $F \circ A = F \circ B$, so that $A = B$. Now assume that $f,g : A \to B$ are morphisms in $\C$ with $F(f) = F(g)$. These can be regarded as functors $f,g : \{ 0 \to 1 \} \to \C$ from the walking morphism category satisfying $F \circ f = F \circ g$, so that $f = g$.' epimorphisms: - description: "A functor $F : \\C \\to \\D$ is an epimorphism iff $F$ is surjective on objects and for every morphism $s$ in $\\D$ there is a zigzag over $U := F(\\C)$, meaning morphisms $u_1,\\dotsc,u_{m+1} \\in U$, $v_1,\\dotsc,v_m \\in U$, $x_1,\\dotsc,x_m \\in \\D$ and $y_1,\\dotsc,y_m \\in \\D$ such that $s = x_1 u_1$, $u_1 = v_1 y_1$, $x_{i-1} v_{i-1} = x_i u_i$, $u_i y_{i-1} = v_i y_i$, $x_m v_m = u_{m+1}$ and $u_{m+1} y_m = s$." + description: 'A functor $F : \C \to \D$ is an epimorphism iff $F$ is surjective on objects and for every morphism $s$ in $\D$ there is a zigzag over $U := F(\C)$, meaning morphisms $u_1,\dotsc,u_{m+1} \in U$, $v_1,\dotsc,v_m \in U$, $x_1,\dotsc,x_m \in \D$ and $y_1,\dotsc,y_m \in \D$ such that $s = x_1 u_1$, $u_1 = v_1 y_1$, $x_{i-1} v_{i-1} = x_i u_i$, $u_i y_{i-1} = v_i y_i$, $x_m v_m = u_{m+1}$ and $u_{m+1} y_m = s$.' reason: This is an extension of the corresponding theorem for monoids and proven in Epimorphisms and Dominions, III by John R. Isbell. diff --git a/databases/catdat/data/categories/Delta.yaml b/databases/catdat/data/categories/Delta.yaml index 24382e5c..434bf2b0 100644 --- a/databases/catdat/data/categories/Delta.yaml +++ b/databases/catdat/data/categories/Delta.yaml @@ -40,7 +40,7 @@ satisfied_properties: reason: The ordered set $[0] = \{0\}$ is a generator. - property_id: skeletal - reason: "If $f : [n] \\to [m]$ is an isomorphism, then $n + 1 = m + 1$ by comparing the cardinalities, hence $n = m$." + reason: 'If $f : [n] \to [m]$ is an isomorphism, then $n + 1 = m + 1$ by comparing the cardinalities, hence $n = m$.' - property_id: core-thin reason: The category $\FinOrd \setminus \{\varnothing\}$ is core-thin because already $\FinOrd$ is core-thin (see its category page). @@ -64,10 +64,10 @@ unsatisfied_properties: reason: This is trivial. - property_id: cofiltered - reason: "The two maps $d^0,d^1 : [0] \\rightrightarrows [1]$ are not equalized by any morphism." + reason: 'The two maps $d^0,d^1 : [0] \rightrightarrows [1]$ are not equalized by any morphism.' - property_id: coreflexive equalizers - reason: "The two maps $d^0,d^1 : [0] \\rightrightarrows [1]$ have a common left inverse, the unique map $s^0 : [1] \\to [0]$, but are not equalized by any morphism." + reason: 'The two maps $d^0,d^1 : [0] \rightrightarrows [1]$ have a common left inverse, the unique map $s^0 : [1] \to [0]$, but are not equalized by any morphism.' - property_id: sequential colimits reason: We can just copy the proof for $\FinOrd$ to show that the sequence of inclusions $[0] \hookrightarrow [1] \hookrightarrow [2] \hookrightarrow \cdots$ has no colimit. diff --git a/databases/catdat/data/categories/FI.yaml b/databases/catdat/data/categories/FI.yaml index 7d36de06..dbb85ca2 100644 --- a/databases/catdat/data/categories/FI.yaml +++ b/databases/catdat/data/categories/FI.yaml @@ -31,10 +31,10 @@ satisfied_properties: reason: We construct equalizers just like in $\FinSet$ and observe that the universal property still holds. - property_id: wide pullbacks - reason: "We construct wide pullbacks just like in $\\Set$, i.e., for a w.l.o.g. non-empty family of injective maps $f_i : X_i \\to S$ we consider the subset $P \\subseteq \\prod_{i \\in I} X_i$ of those tuples $x$ where $f_i(x_i) = f_j(x_j)$. Each projection $P \\to X_i$ is injective, so in particular $P$ is finite, and $P \\to X_i$ becomes a morphism in $\\FI$. It is easy to check that the universal property still holds in $\\FI$." + reason: 'We construct wide pullbacks just like in $\Set$, i.e., for a w.l.o.g. non-empty family of injective maps $f_i : X_i \to S$ we consider the subset $P \subseteq \prod_{i \in I} X_i$ of those tuples $x$ where $f_i(x_i) = f_j(x_j)$. Each projection $P \to X_i$ is injective, so in particular $P$ is finite, and $P \to X_i$ becomes a morphism in $\FI$. It is easy to check that the universal property still holds in $\FI$.' - property_id: mono-regular - reason: "If $f : X \\to Y$ is an injective map of finite sets, it is the equalizer of the two injective maps $i_1,i_2 : Y \\rightrightarrows Y \\sqcup_X Y$, and $Y \\sqcup_X Y$ is finite." + reason: 'If $f : X \to Y$ is an injective map of finite sets, it is the equalizer of the two injective maps $i_1,i_2 : Y \rightrightarrows Y \sqcup_X Y$, and $Y \sqcup_X Y$ is finite.' - property_id: semi-strongly connected reason: If $X,Y$ are two finite sets, we have $\card(X) \leq \card(Y)$ or $\card(Y) \leq \card(X)$. In the first case there will be an injection $X \to Y$, in the second case there will be an injection $Y \to X$. @@ -53,7 +53,7 @@ unsatisfied_properties: reason: Assume that two finite sets $X,Y$ have a product $P$ in this category. Elements of $P$ are the same as maps $1 \to P$, and they are automatically injective. Therefore, $P \cong \Hom(1,P) \times \Hom(1,X) \times \Hom(1,Y) \cong X \times Y$, and the projections must agree as well. But they are usually not injective. In particular, the product $X \times X$ never exists when $X$ has $>1$ elements. - property_id: sequential colimits - reason: "Let $X_n := \\{1,\\dotsc,n\\}$. Assume the sequence of inclusion maps $X_n \\hookrightarrow X_{n+1}$ has a colimit $(f_n : X_n \\to X)$ in this category. But $f_n$ must be an injective map, so that $\\card(X) \\geq n$ for all $n$. Since $X$ is finite, this is a contradiction." + reason: 'Let $X_n := \{1,\dotsc,n\}$. Assume the sequence of inclusion maps $X_n \hookrightarrow X_{n+1}$ has a colimit $(f_n : X_n \to X)$ in this category. But $f_n$ must be an injective map, so that $\card(X) \geq n$ for all $n$. Since $X$ is finite, this is a contradiction.' - property_id: skeletal reason: This is trivial. @@ -80,7 +80,7 @@ special_morphisms: reason: This is trivial. epimorphisms: description: bijective maps - reason: "Take an epimorphism $X \\to Y$ in this category, w.l.o.g. the inclusion of a subset $X \\subseteq Y$. This means that for two injective maps $f,g : Y \\rightrightarrows T$ with $f|_X = g|_X$ we must have $f = g$. Let $T := Y + (Y \\setminus X)$ (disjoint union), $f$ be the inclusion into the first summand, $g|_X$ be the inclusion into the first summand, and $g|_{Y \\setminus X}$ be the inclusion into the second summand. Then $f$ and $g$ are injective with $f|_X = g|_X$, so that $f = g$. But this means $X = Y$." + reason: 'Take an epimorphism $X \to Y$ in this category, w.l.o.g. the inclusion of a subset $X \subseteq Y$. This means that for two injective maps $f,g : Y \rightrightarrows T$ with $f|_X = g|_X$ we must have $f = g$. Let $T := Y + (Y \setminus X)$ (disjoint union), $f$ be the inclusion into the first summand, $g|_X$ be the inclusion into the first summand, and $g|_{Y \setminus X}$ be the inclusion into the second summand. Then $f$ and $g$ are injective with $f|_X = g|_X$, so that $f = g$. But this means $X = Y$.' regular monomorphisms: description: same as monomorphisms reason: This is because the category is mono-regular. diff --git a/databases/catdat/data/categories/FS.yaml b/databases/catdat/data/categories/FS.yaml index 6bc3c135..a60b037e 100644 --- a/databases/catdat/data/categories/FS.yaml +++ b/databases/catdat/data/categories/FS.yaml @@ -25,16 +25,16 @@ satisfied_properties: reason: This is trivial. - property_id: cogenerator - reason: "We prove that $\\{0,1\\}$ is a cogenerator: The surjective maps $X \\to \\{0,1\\}$ correspond to the non-empty proper subsets of $X$. If $a,b \\in X$ are elements that have the same image under each surjective map $X \\to \\{0,1\\}$, it therefore means that they lie in the same non-empty proper subsets of $X$. This implies $a=b$: If $X = \\{a\\}$, this is trivial. Otherwise, use the subset $\\{a\\}$." + reason: 'We prove that $\{0,1\}$ is a cogenerator: The surjective maps $X \to \{0,1\}$ correspond to the non-empty proper subsets of $X$. If $a,b \in X$ are elements that have the same image under each surjective map $X \to \{0,1\}$, it therefore means that they lie in the same non-empty proper subsets of $X$. This implies $a=b$: If $X = \{a\}$, this is trivial. Otherwise, use the subset $\{a\}$.' - property_id: wide pushouts - reason: "We construct wide pushouts as in $\\Set$ and observe that the universal property still holds when we restrict to surjective maps. If $f_i : S \\to X_i$ are surjective maps and $P$ is their wide pushout, then each $X_i \\to P$ is surjective, so that in particular $P$ is finite." + reason: 'We construct wide pushouts as in $\Set$ and observe that the universal property still holds when we restrict to surjective maps. If $f_i : S \to X_i$ are surjective maps and $P$ is their wide pushout, then each $X_i \to P$ is surjective, so that in particular $P$ is finite.' - property_id: coequalizers reason: We construct coequalizers as in $\FinSet$ (or $\Set$) and observe that the universal property still holds when we restrict to surjective maps. - property_id: epi-regular - reason: "If $f : X \\to Y$ is a surjective map of finite sets, it is the coequalizer of the two projections $p_1, p_2 : X \\times_Y X \\rightrightarrows X$ in $\\FinSet$, but also in $\\FS$. Notice that $p_1,p_2$ are surjective. Even though $X \\times_Y X$ is not a pullback in $\\FS$, we can use this finite set here." + reason: 'If $f : X \to Y$ is a surjective map of finite sets, it is the coequalizer of the two projections $p_1, p_2 : X \times_Y X \rightrightarrows X$ in $\FinSet$, but also in $\FS$. Notice that $p_1,p_2$ are surjective. Even though $X \times_Y X$ is not a pullback in $\FS$, we can use this finite set here.' - property_id: multi-terminal object reason: The empty set and a singleton give a multi-terminal object. @@ -44,13 +44,13 @@ unsatisfied_properties: reason: Even the collection of all singletons is not small. - property_id: connected - reason: "If $f : \\varnothing \\to X$ is surjective, then $X = \\varnothing$, and if $f : X \\to \\varnothing$ is any map, then also $X = \\varnothing$. This shows that $\\{ \\varnothing \\}$ is a connected component in this category. (The other connected component consists of all non-empty finite sets.)" + reason: 'If $f : \varnothing \to X$ is surjective, then $X = \varnothing$, and if $f : X \to \varnothing$ is any map, then also $X = \varnothing$. This shows that $\{ \varnothing \}$ is a connected component in this category. (The other connected component consists of all non-empty finite sets.)' - property_id: generator reason: Let $G$ be a finite set. There are at least two morphisms $G + 2 \rightrightarrows 2$, but there is no morphism $G \to G + 2$ at all. Hence, $G$ is not a generator. - property_id: sequential limits - reason: "Let $X_n := \\{1,\\dotsc,n\\}$. We define the truncation $p_n : X_{n+1} \\to X_n$ by extending the identity of $X_n$ with $p_n(n+1) := n$. Assume the sequence of truncations $\\cdots \\to X_2 \\to X_1$ has a limit $(f_n : X \\to X_n)$ in this category. But $f_n$ is surjective, so that $\\card(X) \\geq n$ for all $n$. Since $X$ is finite, this is a contradiction." + reason: 'Let $X_n := \{1,\dotsc,n\}$. We define the truncation $p_n : X_{n+1} \to X_n$ by extending the identity of $X_n$ with $p_n(n+1) := n$. Assume the sequence of truncations $\cdots \to X_2 \to X_1$ has a limit $(f_n : X \to X_n)$ in this category. But $f_n$ is surjective, so that $\card(X) \geq n$ for all $n$. Since $X$ is finite, this is a contradiction.' - property_id: pullbacks reason: The connected component of non-empty sets has a terminal object, $1$, and it suffices to prove that it has no products. Let $X$ be a finite set with more than $1$ element. Assume that the product $P$ of $X$ with itself exists. The diagonal $X \to P$ is a split monomorphism, hence injective, but also surjective, i.e. an isomorphism. In other words, the two projections $P \rightrightarrows X$ are equal. The universal property of $P$ now implies that every two morphisms $Y \rightrightarrows X$ are equal, which is absurd. @@ -88,7 +88,7 @@ special_morphisms: reason: This follows exactly as for sets. monomorphisms: description: bijective maps - reason: "Assume that $f : X \\to Y$ is a monomorphism in this category. If $a,b \\in X$ are such that $a \\neq b$ but $f(a) = f(b)$, let $h : X \\to X$ be the transposition that swaps $a$, $b$. Then $f \\circ \\id_X = f = f \\circ h$, so by assumption $\\id_X = h$, a contradiction. This shows that $f$ is bijective." + reason: 'Assume that $f : X \to Y$ is a monomorphism in this category. If $a,b \in X$ are such that $a \neq b$ but $f(a) = f(b)$, let $h : X \to X$ be the transposition that swaps $a$, $b$. Then $f \circ \id_X = f = f \circ h$, so by assumption $\id_X = h$, a contradiction. This shows that $f$ is bijective.' epimorphisms: description: every morphism reason: This is trivial. diff --git a/databases/catdat/data/categories/FinAb.yaml b/databases/catdat/data/categories/FinAb.yaml index db7a982d..d4276a28 100644 --- a/databases/catdat/data/categories/FinAb.yaml +++ b/databases/catdat/data/categories/FinAb.yaml @@ -25,7 +25,7 @@ satisfied_properties: reason: This follows from the fact for abelian groups. - property_id: self-dual - reason: "This is a simple special case of Pontryagin duality: The functor $\\Hom(-,\\IQ/\\IZ)$ provides the equivalence." + reason: 'This is a simple special case of Pontryagin duality: The functor $\Hom(-,\IQ/\IZ)$ provides the equivalence.' - property_id: ℵ₁-accessible reason: The proof works exactly as for the category of finite sets. @@ -62,7 +62,7 @@ special_morphisms: reason: This follows exactly as for abelian groups. monomorphisms: description: injective homomorphisms - reason: "Let $f : A \\to B$ be a monomorphism of finite abelian groups. Let $a \\in A$ be in the kernel of $a$, say of order $n$. Then we may view $a$ as a morphism $a : \\IZ/n \\to A$ with $f \\circ a = 0$, and $\\IZ/n$ is finite. Hence, $a = 0$." + reason: 'Let $f : A \to B$ be a monomorphism of finite abelian groups. Let $a \in A$ be in the kernel of $a$, say of order $n$. Then we may view $a$ as a morphism $a : \IZ/n \to A$ with $f \circ a = 0$, and $\IZ/n$ is finite. Hence, $a = 0$.' epimorphisms: description: surjective homomorphisms reason: Use the same proof as for abelian groups. diff --git a/databases/catdat/data/categories/FinGrp.yaml b/databases/catdat/data/categories/FinGrp.yaml index d1f74f0a..90ad0d0a 100644 --- a/databases/catdat/data/categories/FinGrp.yaml +++ b/databases/catdat/data/categories/FinGrp.yaml @@ -55,7 +55,7 @@ unsatisfied_properties: reason: This is trivial. - property_id: binary copowers - reason: "Assume that $C_2 \\sqcup C_2$ exists. This is a finite group, say of order $N$, with two involutions $u,v$ such that for every finite group $G$ with two involutions $a,b$ there is a unique homomorphism $\\varphi : C_2 \\sqcup C_2 \\to G$ with $\\varphi(u)=a$ and $\\varphi(v)=2$. In particular, when $G$ is generated by $a,b$, then $\\ord(G) \\leq N$. But then the dihedral group $G := D_N$ of order $2N$ yields a contradiction." + reason: 'Assume that $C_2 \sqcup C_2$ exists. This is a finite group, say of order $N$, with two involutions $u,v$ such that for every finite group $G$ with two involutions $a,b$ there is a unique homomorphism $\varphi : C_2 \sqcup C_2 \to G$ with $\varphi(u)=a$ and $\varphi(v)=2$. In particular, when $G$ is generated by $a,b$, then $\ord(G) \leq N$. But then the dihedral group $G := D_N$ of order $2N$ yields a contradiction.' - property_id: small reason: Even the collection of trivial groups is not small. @@ -83,10 +83,10 @@ special_morphisms: reason: This follows exactly as for groups. monomorphisms: description: injective homomorphisms - reason: "Let $f : A \\to B$ be a monomorphism of finite groups. Let $a \\in A$ be in the kernel of $a$, say of order $n$. Then we may view $a$ as a morphism $a : C_n \\to A$ with $f \\circ a = 1$ (the trivial homomorphism), and $C_n$ is finite. Hence, $a = 1$." + reason: 'Let $f : A \to B$ be a monomorphism of finite groups. Let $a \in A$ be in the kernel of $a$, say of order $n$. Then we may view $a$ as a morphism $a : C_n \to A$ with $f \circ a = 1$ (the trivial homomorphism), and $C_n$ is finite. Hence, $a = 1$.' epimorphisms: description: surjective homomorphisms - reason: "For the non-trivial direction, if $f : G \\to H$ is an epimorphism, we may factor it as $G \\to f(G) \\to H$, and $f(G) \\to H$ is still an epimorphism, but also an inclusion and hence a monomorphism. Since we already know that the category is mono-regular, $f(G) \\to H$ must be an isomorphism." + reason: 'For the non-trivial direction, if $f : G \to H$ is an epimorphism, we may factor it as $G \to f(G) \to H$, and $f(G) \to H$ is still an epimorphism, but also an inclusion and hence a monomorphism. Since we already know that the category is mono-regular, $f(G) \to H$ must be an isomorphism.' regular monomorphisms: description: same as monomorphisms reason: This is because the category is mono-regular. diff --git a/databases/catdat/data/categories/FinOrd.yaml b/databases/catdat/data/categories/FinOrd.yaml index 332c01b4..fba6dc72 100644 --- a/databases/catdat/data/categories/FinOrd.yaml +++ b/databases/catdat/data/categories/FinOrd.yaml @@ -35,10 +35,10 @@ satisfied_properties: reason: It suffices to construct quotients by equivalence relations. Let $\sim$ be an equivalence relation on $X$, where $(X,\leq)$ is a finite ordered set. Since $X$ is finite, by induction we may assume that $\sim$ is generated by a single relation $(a,b)$. If $a=b$, there is nothing to prove. If $a < b$ and $X = \{0,1,\dotsc,n-1\}$ with the usual order, the quotient is $\{0,1,\dotsc,a,b+1,\dotsc,n-1\}$ with the usual order. - property_id: mono-regular - reason: "Let $i : A \\to B$ be a monomorphism of finite ordered sets. If $A$ is empty, then $i$ is clearly regular, so assume it is not. The map $i$ is injective (see below), hence order-reflecting. Define maps $u,v : B \\to A$ by $u(b) := \\max \\{a \\in A : i(a) \\leq b \\}$ and $v(b) := \\min \\{a \\in A : b \\leq i(a) \\}$. These are order-preserving and satisfy $u \\circ i = v \\circ i$, both sides are $\\id_A$. Conversely, if $b \\in B$ satisfies $u(b) = v(b) =: a$, then $i(a) \\leq b$ and $b \\leq i(a)$, hence $b = i(a)$. This shows that $i$ is the equalizer of $u,v$." + reason: 'Let $i : A \to B$ be a monomorphism of finite ordered sets. If $A$ is empty, then $i$ is clearly regular, so assume it is not. The map $i$ is injective (see below), hence order-reflecting. Define maps $u,v : B \to A$ by $u(b) := \max \{a \in A : i(a) \leq b \}$ and $v(b) := \min \{a \in A : b \leq i(a) \}$. These are order-preserving and satisfy $u \circ i = v \circ i$, both sides are $\id_A$. Conversely, if $b \in B$ satisfies $u(b) = v(b) =: a$, then $i(a) \leq b$ and $b \leq i(a)$, hence $b = i(a)$. This shows that $i$ is the equalizer of $u,v$.' - property_id: epi-regular - reason: "Let $f : A \\to B$ be an epimorphism of finite ordered sets. It is surjective (see below). Define $u,v : B \\to A$ by $u(b) := \\min(f^{-1}(b))$ and $v(b) := \\max(f^{-1}(b))$. One can easily check that $u,v$ are order-preserving maps with $f \\circ u = f \\circ v$ (both sides are $\\id_B$). Let $h : A \\to T$ be an order-preserving map with $h \\circ u = h \\circ v$. Then $h(a)$ only depends on $b := f(a)$: We have $u(b) \\leq a \\leq v(b)$, hence $h(u(b)) \\leq h(a) \\leq h(v(b)) = h(u(b))$. Therefore, there is a unique map $\\tilde{h} : B \\to T$ with $\\tilde{h}(f(a)) = h(a)$, and one easily checks that it is order-preserving. This shows that $f$ is the coequalizer of $u,v$." + reason: 'Let $f : A \to B$ be an epimorphism of finite ordered sets. It is surjective (see below). Define $u,v : B \to A$ by $u(b) := \min(f^{-1}(b))$ and $v(b) := \max(f^{-1}(b))$. One can easily check that $u,v$ are order-preserving maps with $f \circ u = f \circ v$ (both sides are $\id_B$). Let $h : A \to T$ be an order-preserving map with $h \circ u = h \circ v$. Then $h(a)$ only depends on $b := f(a)$: We have $u(b) \leq a \leq v(b)$, hence $h(u(b)) \leq h(a) \leq h(v(b)) = h(u(b))$. Therefore, there is a unique map $\tilde{h} : B \to T$ with $\tilde{h}(f(a)) = h(a)$, and one easily checks that it is order-preserving. This shows that $f$ is the coequalizer of $u,v$.' - property_id: semi-strongly connected reason: Every non-empty totally ordered set is weakly terminal (by using constant maps). @@ -50,7 +50,7 @@ satisfied_properties: reason: There is a forgetful functor $\FinOrd \to \Set$ and $\Set$ is locally small. - property_id: core-thin - reason: "Let $f : \\{1 < \\cdots < n \\} \\to \\{1 < \\cdots < n \\}$ be an automorphism. Then $f(i)$ is the smallest element not contained in $\\{f(j) : j < i\\}$. From this one can deduce $f(i)=i$ by induction." + reason: 'Let $f : \{1 < \cdots < n \} \to \{1 < \cdots < n \}$ be an automorphism. Then $f(i)$ is the smallest element not contained in $\{f(j) : j < i\}$. From this one can deduce $f(i)=i$ by induction.' unsatisfied_properties: - property_id: small @@ -63,7 +63,7 @@ unsatisfied_properties: reason: Consider the (non-empty) ordered set $[n] := \{0 < \cdots < n\}$ for $n \in \IN$. The forgetful functor to $\Set$ is representable, hence preserves all limits. Thus, if the diagram of truncation maps $\cdots \twoheadrightarrow [2] \twoheadrightarrow [1] \twoheadrightarrow [0]$ has a limit in $\FinOrd$, its underlying set is isomorphic to the limit taken in $\Set$, which is $\IN \cup \{\infty\}$. But this is not a finite set. - property_id: sequential colimits - reason: "Consider the (non-empty) ordered set $[n] := \\{0 < \\cdots < n\\}$ for $n \\in \\IN$. Assume the sequence of inclusion maps $[0] \\hookrightarrow [1] \\hookrightarrow [2] \\hookrightarrow \\cdots$ has a colimit $(f_n : [n] \\to X)$ in $\\FinOrd$. Let $n_0 \\geq 0$ be fixed. I claim that $f_{n_0}$ is injective, which will then yield a contradiction by taking $n_0 \\geq \\card(X)$. For $n \\geq 0$ define $g_n : [n] \\to [n_0]$ as follows. For $n \\leq n_0$ it is the inclusion, and for $n \\geq n_0$ it is the surjection which keeps all elements of $[n_0]$ and maps all other elements to $n_0$. Observe that $g_n$ preserves the order and $g_{n+1} |_{[n]} = g_n$. Hence, there is a unique order-preserving map $g : X \\to [n_0]$ with $g \\circ f_n = g_n$ for all $n$. For $n = n_0$ this shows $g \\circ f_{n_0} = \\id_{[n_0]}$, and $f_{n_0}$ is injective." + reason: 'Consider the (non-empty) ordered set $[n] := \{0 < \cdots < n\}$ for $n \in \IN$. Assume the sequence of inclusion maps $[0] \hookrightarrow [1] \hookrightarrow [2] \hookrightarrow \cdots$ has a colimit $(f_n : [n] \to X)$ in $\FinOrd$. Let $n_0 \geq 0$ be fixed. I claim that $f_{n_0}$ is injective, which will then yield a contradiction by taking $n_0 \geq \card(X)$. For $n \geq 0$ define $g_n : [n] \to [n_0]$ as follows. For $n \leq n_0$ it is the inclusion, and for $n \geq n_0$ it is the surjection which keeps all elements of $[n_0]$ and maps all other elements to $n_0$. Observe that $g_n$ preserves the order and $g_{n+1} |_{[n]} = g_n$. Hence, there is a unique order-preserving map $g : X \to [n_0]$ with $g \circ f_n = g_n$ for all $n$. For $n = n_0$ this shows $g \circ f_{n_0} = \id_{[n_0]}$, and $f_{n_0}$ is injective.' - property_id: skeletal reason: This is trivial. @@ -91,7 +91,7 @@ special_morphisms: reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms. epimorphisms: description: surjective order-preserving maps - reason: "The proof is similar to the one for $\\Set$: If $f : X \\to Y$ is an epimorphism of (finite) orders, in particular for all morphisms $g,h : Y \\to \\{0 < 1\\}$ with $g \\circ f = h \\circ f$ we have $g = h$. This means for all upper sets $A,B \\subseteq Y$ with $f^*(A) = f^*(B)$ we have $A = B$. If $y \\in Y$, apply this to the intervals $A = Y_{\\geq y}$ and $B = Y_{> y}$, which are different. Hence, there is some $x \\in f^*(A) \\setminus f^*(B)$, which means $f(x) \\geq y$ but not $f(x) > y$, so that $f(x) = y$." + reason: 'The proof is similar to the one for $\Set$: If $f : X \to Y$ is an epimorphism of (finite) orders, in particular for all morphisms $g,h : Y \to \{0 < 1\}$ with $g \circ f = h \circ f$ we have $g = h$. This means for all upper sets $A,B \subseteq Y$ with $f^*(A) = f^*(B)$ we have $A = B$. If $y \in Y$, apply this to the intervals $A = Y_{\geq y}$ and $B = Y_{> y}$, which are different. Hence, there is some $x \in f^*(A) \setminus f^*(B)$, which means $f(x) \geq y$ but not $f(x) > y$, so that $f(x) = y$.' regular monomorphisms: description: same as monomorphisms reason: This is because the category is mono-regular. diff --git a/databases/catdat/data/categories/FreeAb.yaml b/databases/catdat/data/categories/FreeAb.yaml index 6690bd23..04e7984f 100644 --- a/databases/catdat/data/categories/FreeAb.yaml +++ b/databases/catdat/data/categories/FreeAb.yaml @@ -44,7 +44,7 @@ unsatisfied_properties: reason: Assume that the power $P = \prod_{n \geq 0} \IZ$ exists in this category. The projections $P \to \IZ$ induce an isomorphism of abelian groups $\Hom(\IZ, P) \to \prod_n \Hom(\IZ, \IZ)$, hence $P \cong \IZ^{\IN}$. But it is well-known that $\IZ^{\IN}$ is not free abelian. - property_id: balanced - reason: "The homomorphism $2 : \\IZ \\to \\IZ$ is a counterexample." + reason: 'The homomorphism $2 : \IZ \to \IZ$ is a counterexample.' - property_id: skeletal reason: This is trivial. @@ -77,7 +77,7 @@ special_morphisms: reason: This follows exactly as for abelian groups. monomorphisms: description: injective homomorphisms - reason: "Let $f : A \\to B$ be a monomorphism of free abelian groups. Let $a \\in A$ be in the kernel of $a$. Then we may view $a$ as a morphism $a : \\IZ \\to A$ with $f \\circ a = 0$, and $\\IZ$ is free. Hence, $a = 0$." + reason: 'Let $f : A \to B$ be a monomorphism of free abelian groups. Let $a \in A$ be in the kernel of $a$. Then we may view $a$ as a morphism $a : \IZ \to A$ with $f \circ a = 0$, and $\IZ$ is free. Hence, $a = 0$.' epimorphisms: - description: "homomorphisms $f : A \\to B$ with the property that $f(A)$ is not contained in a proper direct summand of $B$." - reason: "Let $f : A \\to B$ be a morphism of free abelian groups such that $f(A)$ is not contained in a proper direct summand of $B$. Then $f$ is an epimorphism: If $t : B \\to C$ is a morphism with $t \\circ f = 0$, we want to show $t = 0$. Since the image of $t$ is free abelian (as a subgroup of $B$), we may assume that $t$ is surjective. Since $C$ is free, $t$ splits, so its kernel $K$ is a direct summand of $B$ (Splitting Lemma). It contains $f(A)$ because of $t \\circ f = 0$. By assumption, $K = B$, so that $t = 0$. Conversely, assume that $f : A \\to B$ is an epimorphism, and that $f(A)$ is contained in a direct summand $K$ of $B$. Let $L$ be a complement of $B$ (which is free abelian) and let $p : B \\to L$ be the projection. Then $t \\circ f = 0$, so $t = 0$. But then $L = 0$, which means $K = B$." + description: 'homomorphisms $f : A \to B$ with the property that $f(A)$ is not contained in a proper direct summand of $B$.' + reason: 'Let $f : A \to B$ be a morphism of free abelian groups such that $f(A)$ is not contained in a proper direct summand of $B$. Then $f$ is an epimorphism: If $t : B \to C$ is a morphism with $t \circ f = 0$, we want to show $t = 0$. Since the image of $t$ is free abelian (as a subgroup of $B$), we may assume that $t$ is surjective. Since $C$ is free, $t$ splits, so its kernel $K$ is a direct summand of $B$ (Splitting Lemma). It contains $f(A)$ because of $t \circ f = 0$. By assumption, $K = B$, so that $t = 0$. Conversely, assume that $f : A \to B$ is an epimorphism, and that $f(A)$ is contained in a direct summand $K$ of $B$. Let $L$ be a complement of $B$ (which is free abelian) and let $p : B \to L$ be the projection. Then $t \circ f = 0$, so $t = 0$. But then $L = 0$, which means $K = B$.' diff --git a/databases/catdat/data/categories/Grp.yaml b/databases/catdat/data/categories/Grp.yaml index c38bf5c1..a6cafce8 100644 --- a/databases/catdat/data/categories/Grp.yaml +++ b/databases/catdat/data/categories/Grp.yaml @@ -59,7 +59,7 @@ unsatisfied_properties: reason: The canonical morphism $F_2 = \IZ \sqcup \IZ \to \IZ \times \IZ$ is not a monomorphism since $F_2$ is not abelian. - property_id: regular quotient object classifier - reason: "Assume that $\\Grp$ has a (regular) quotient object classifier, i.e. a group $P$ such that every surjective homomorphism $G \\to H$ is the cokernel of a unique homomorphism $\\varphi : P \\to G$. Equivalently, every normal subgroup $N \\subseteq G$ is $\\langle \\langle \\varphi(P) \\rangle \\rangle$ for a unique homomorphism $\\varphi : P \\to G$, where $\\langle \\langle - \\rangle \\rangle$ denotes the normal closure. If $c_g : G \\to G$ denotes the conjugation with $g \\in G$, then the images of $\\varphi$ and $c_g \\circ \\varphi$ have the same normal closures, so the homomorphisms must be equal. In other words, $\\varphi$ factors through the center $Z(G)$. But then every normal subgroup of $G$, in particular $G$ itself, would be contained in $Z(G)$, which is wrong for every non-abelian group $G$." + reason: 'Assume that $\Grp$ has a (regular) quotient object classifier, i.e. a group $P$ such that every surjective homomorphism $G \to H$ is the cokernel of a unique homomorphism $\varphi : P \to G$. Equivalently, every normal subgroup $N \subseteq G$ is $\langle \langle \varphi(P) \rangle \rangle$ for a unique homomorphism $\varphi : P \to G$, where $\langle \langle - \rangle \rangle$ denotes the normal closure. If $c_g : G \to G$ denotes the conjugation with $g \in G$, then the images of $\varphi$ and $c_g \circ \varphi$ have the same normal closures, so the homomorphisms must be equal. In other words, $\varphi$ factors through the center $Z(G)$. But then every normal subgroup of $G$, in particular $G$ itself, would be contained in $Z(G)$, which is wrong for every non-abelian group $G$.' - property_id: cocartesian cofiltered limits reason: |- @@ -91,10 +91,10 @@ special_morphisms: reason: This characterization holds in every algebraic category. monomorphisms: description: injective homomorphisms - reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + reason: 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' epimorphisms: description: surjective homomorphisms - reason: "For the non-trivial direction, if $f : G \\to H$ is an epimorphism, we may factor it as $G \\to f(G) \\to H$, and $f(G) \\to H$ is still an epimorphism, but also an inclusion and hence a monomorphism. Since we already know that the category is balanced, $f(G) \\to H$ must be an isomorphism." + reason: 'For the non-trivial direction, if $f : G \to H$ is an epimorphism, we may factor it as $G \to f(G) \to H$, and $f(G) \to H$ is still an epimorphism, but also an inclusion and hence a monomorphism. Since we already know that the category is balanced, $f(G) \to H$ must be an isomorphism.' regular monomorphisms: description: same as monomorphisms reason: This is because the category is mono-regular. diff --git a/databases/catdat/data/categories/Haus.yaml b/databases/catdat/data/categories/Haus.yaml index a8d542d5..1c8c7e7c 100644 --- a/databases/catdat/data/categories/Haus.yaml +++ b/databases/catdat/data/categories/Haus.yaml @@ -34,7 +34,7 @@ satisfied_properties: reason: This is clear from the classification of monomorphisms as injective continuous maps. - property_id: well-copowered - reason: "Every epimorphism has dense image, so it suffices to prove that if a Hausdorff space $X$ has a dense subset $D \\subseteq X$, we can bound the cardinality of $X$ in terms of the cardinality of $D$. For $x \\in X$ let $\\alpha(x)$ be the set of all $U \\cap D$, where $U$ is an open neighborhood of $x$. This defines a map $\\alpha : X \\to P(P(D))$, and we claim that it is injective: this is because $\\{x\\}$ is the intersection of all $\\overline{U} = \\overline{U \\cap D}$, where $U$ runs through the open neighborhoods of $x$." + reason: 'Every epimorphism has dense image, so it suffices to prove that if a Hausdorff space $X$ has a dense subset $D \subseteq X$, we can bound the cardinality of $X$ in terms of the cardinality of $D$. For $x \in X$ let $\alpha(x)$ be the set of all $U \cap D$, where $U$ is an open neighborhood of $x$. This defines a map $\alpha : X \to P(P(D))$, and we claim that it is injective: this is because $\{x\}$ is the intersection of all $\overline{U} = \overline{U \cap D}$, where $U$ runs through the open neighborhoods of $x$.' - property_id: generator reason: The one-point space is a generator since it represents the forgetful functor $\Haus \to \Set$. diff --git a/databases/catdat/data/categories/J2.yaml b/databases/catdat/data/categories/J2.yaml index d2ead57b..2021f8b3 100644 --- a/databases/catdat/data/categories/J2.yaml +++ b/databases/catdat/data/categories/J2.yaml @@ -1,8 +1,8 @@ id: J2 name: category of Jónsson-Tarski algebras notation: $\J_2$ -objects: "pairs $(X,\\alpha)$, where $X$ is a set and $\\alpha : X \\to X \\times X$ is an isomorphism" -morphisms: "A morphism $(X,\\alpha) \\to (Y,\\beta)$ is a map $f : X \\to Y$ satisfying $$(f \\times f) \\circ \\alpha = \\beta \\circ f.$$" +objects: 'pairs $(X,\alpha)$, where $X$ is a set and $\alpha : X \to X \times X$ is an isomorphism' +morphisms: 'A morphism $(X,\alpha) \to (Y,\beta)$ is a map $f : X \to Y$ satisfying $$(f \times f) \circ \alpha = \beta \circ f.$$' description: This is interesting example of a category in the intersection of topos theory and algebra. nlab_link: https://ncatlab.org/nlab/show/J%C3%B3nsson-Tarski+algebra @@ -18,7 +18,7 @@ satisfied_properties: reason: This is trivial. - property_id: finitary algebraic - reason: "The structure of a Jónsson-Tarski algebra on a set $X$ is equivalent to one binary operation $\\mu : X^2 \\to X$ and two unary operations $\\lambda, \\rho : X \\rightrightarrows X$ such that $\\mu(\\lambda(x),\\rho(x)) = x$, $\\lambda(\\mu(x,y))=x$, and $\\rho(\\mu(x,y))=y$." + reason: 'The structure of a Jónsson-Tarski algebra on a set $X$ is equivalent to one binary operation $\mu : X^2 \to X$ and two unary operations $\lambda, \rho : X \rightrightarrows X$ such that $\mu(\lambda(x),\rho(x)) = x$, $\lambda(\mu(x,y))=x$, and $\rho(\mu(x,y))=y$.' - property_id: Grothendieck topos reason: See the nLab. @@ -52,7 +52,7 @@ special_morphisms: reason: This characterization holds in every algebraic category. monomorphisms: description: injective morphisms - reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + reason: 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' epimorphisms: description: surjective morphisms reason: 'For the non-trivial direction: The category is epi-regular (since it is an elementary topos), and every regular epimorphism is surjective (this holds in any algebraic category).' diff --git a/databases/catdat/data/categories/LRS.yaml b/databases/catdat/data/categories/LRS.yaml index cec368b2..04332d41 100644 --- a/databases/catdat/data/categories/LRS.yaml +++ b/databases/catdat/data/categories/LRS.yaml @@ -22,13 +22,13 @@ satisfied_properties: reason: See Demazure-Gabriel's "Groupes algébriques", I. §1. 1.6. Specifically, the forgetful functor to ringed spaces preserves colimits, and colimits of ringed spaces are built from colimits of topological spaces and limits of commutative rings, see MSE/1646202. - property_id: well-powered - reason: "Let $f : X \\to Y$ be a monomorphism of locally ringed spaces. I claim that $f$ is injective, from which the claim will follow. The diagonal $\\Delta : X \\to X \\times_Y X$ is an isomorphism. By the explicit construction of fiber products, $X \\times_Y X$ consists of triples $(x_1,x_2,\\mathfrak{p})$ where $x_1,x_2 \\in X$, $y := f(x_1) = f(x_2)$ and $\\mathfrak{p}$ is a prime ideal in $k(x_1) \\otimes_{k(y)} k(x_2)$. The map $\\Delta$ is given by $\\Delta(x) = \\bigl(x,x,\\ker(k(x) \\otimes_{k(f(x))} k(x) \\to k(x)\\bigr)$, and it is bijective. This clearly implies that $f$ is injective (and that each tensor product $k(x) \\otimes_{k(f(x))} k(x)$ has a unique prime ideal, namely the kernel mentioned)." + reason: 'Let $f : X \to Y$ be a monomorphism of locally ringed spaces. I claim that $f$ is injective, from which the claim will follow. The diagonal $\Delta : X \to X \times_Y X$ is an isomorphism. By the explicit construction of fiber products, $X \times_Y X$ consists of triples $(x_1,x_2,\mathfrak{p})$ where $x_1,x_2 \in X$, $y := f(x_1) = f(x_2)$ and $\mathfrak{p}$ is a prime ideal in $k(x_1) \otimes_{k(y)} k(x_2)$. The map $\Delta$ is given by $\Delta(x) = \bigl(x,x,\ker(k(x) \otimes_{k(f(x))} k(x) \to k(x)\bigr)$, and it is bijective. This clearly implies that $f$ is injective (and that each tensor product $k(x) \otimes_{k(f(x))} k(x)$ has a unique prime ideal, namely the kernel mentioned).' - property_id: well-copowered reason: It is enough to prove that every epimorphism of locally ringed spaces is surjective. The forgetful functor $\LRS \to \RS$ has a right adjoint (see Localization of ringed spaces by W. Gillam), so it preserves epimorphisms. The forgetful functor $\RS \to \Top$ also has a right adjoint, namely $X \mapsto (X,\underline{\IZ})$, so it also preserves epimorphisms. - property_id: infinitary extensive - reason: "[Sketch] Since $\\Top$ is infinitary extensive, a morphism $f : Y \\to \\coprod_i X_i =: X$ yields a decomposition $Y = \\coprod_i Y_i$ (as topological spaces) with continuous maps $f_i : Y_i \\to X_i$. Endow the open subset $Y_i \\subseteq Y$ with the restricted sheaf. Then each $f_i$ becomes a morphism of locally ringed spaces, and $Y = \\coprod_i Y_i$ holds as locally ringed spaces." + reason: '[Sketch] Since $\Top$ is infinitary extensive, a morphism $f : Y \to \coprod_i X_i =: X$ yields a decomposition $Y = \coprod_i Y_i$ (as topological spaces) with continuous maps $f_i : Y_i \to X_i$. Endow the open subset $Y_i \subseteq Y$ with the restricted sheaf. Then each $f_i$ becomes a morphism of locally ringed spaces, and $Y = \coprod_i Y_i$ holds as locally ringed spaces.' unsatisfied_properties: - property_id: balanced diff --git a/databases/catdat/data/categories/M-Set.yaml b/databases/catdat/data/categories/M-Set.yaml index aa688799..9383b3dd 100644 --- a/databases/catdat/data/categories/M-Set.yaml +++ b/databases/catdat/data/categories/M-Set.yaml @@ -51,7 +51,7 @@ special_morphisms: reason: This characterization holds in every algebraic category. monomorphisms: description: injective $M$-maps - reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + reason: 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' epimorphisms: description: surjective $M$-maps reason: This holds in every functor category $[\C,\Set]$, here applied to the case that $\C$ has just one object. diff --git a/databases/catdat/data/categories/Man.yaml b/databases/catdat/data/categories/Man.yaml index 0ae46edd..c831b076 100644 --- a/databases/catdat/data/categories/Man.yaml +++ b/databases/catdat/data/categories/Man.yaml @@ -26,10 +26,10 @@ satisfied_properties: reason: The $0$-dimensional one-point manifold is a generator since it represents the forgetful functor $\Top \to \Set$. - property_id: cogenerator - reason: "The manifold $\\IR$ is a cogenerator, since for every smooth manifold $M$ and points $p \\neq q$ in $M$ there is a smooth function $f : M \\to \\IR$ with $f(p) = 1$ and $f(q) = 0$ (John Lee, Introduction to Smooth Manifolds, Prop. 2.25)." + reason: 'The manifold $\IR$ is a cogenerator, since for every smooth manifold $M$ and points $p \neq q$ in $M$ there is a smooth function $f : M \to \IR$ with $f(p) = 1$ and $f(q) = 0$ (John Lee, Introduction to Smooth Manifolds, Prop. 2.25).' - property_id: extensive - reason: "[Sketch] Since $\\Top$ is infinitary extensive, a continuous map $f : M \\to \\coprod_i N_i$ corresponds to a decomposition $M = \\coprod_i M_i$ (as topological spaces) with continuous maps $f_i : M_i \\to N_i$. Endow the open subset $M_i \\subseteq M$ with the smooth structure inherited from $M$. Now remark that $f$ is smooth iff each $f_i$ is smooth." + reason: '[Sketch] Since $\Top$ is infinitary extensive, a continuous map $f : M \to \coprod_i N_i$ corresponds to a decomposition $M = \coprod_i M_i$ (as topological spaces) with continuous maps $f_i : M_i \to N_i$. Endow the open subset $M_i \subseteq M$ with the smooth structure inherited from $M$. Now remark that $f$ is smooth iff each $f_i$ is smooth.' - property_id: countably distributive # TODO: maybe add "countably extensive" to make this more conceptual @@ -51,14 +51,14 @@ satisfied_properties: 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$. - property_id: effective cocongruences - reason: "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$." + reason: '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$.' unsatisfied_properties: - property_id: small reason: Even the collection of all singletons is not a set. - property_id: countable powers - reason: "The power $\\IR^{\\IN}$ does not exist. More generally, let $(M_n)_{n \\geq 0}$ be a sequence of smooth manifolds of positive dimension whose product $(\\pi_n : P \\to M_n)_{n \\geq 0}$ exists. This product cone in $\\Man$ yields a product cone in $\\Set$ since the forgetful functor $\\Man \\to \\Set$ is representable, hence preserves all limits. Choose points $x_n \\in M_n$ with $T_{x_n}(M_n) \\neq 0$. Choose the point $x \\in P$ with $\\pi_n(x) = x_n$. Consider the linear map $T_x(P) \\to \\prod_{n \\geq 0} T_{x_n}(M_n)$ induced by the derivatives $d_x(\\pi_n) : T_x(P) \\to T_{x_n}(M_n)$. Since $T_x(P)$ is finite-dimensional and $\\prod_{n \\geq 0} T_{x_n}(M_n)$ is not, it cannot be surjective. But actually, it is: Choose tangent vectors $v_n \\in T_{x_n}(M_n)$. Choose smooth curves $\\gamma_n : \\IR \\to M_n$ with $\\gamma_n(0)=x_n$ and ${\\gamma_n}'(0) = v_n$. By the universal property there is a unique smooth curve $\\gamma : \\IR \\to P$ with $\\pi_n \\gamma = \\gamma_n$. In particular, $\\gamma(0) = x$. The chain rule now implies that $\\gamma'(0) \\in T_x(P)$ is a preimage of $(v_n)$ – a contradiction." + reason: 'The power $\IR^{\IN}$ does not exist. More generally, let $(M_n)_{n \geq 0}$ be a sequence of smooth manifolds of positive dimension whose product $(\pi_n : P \to M_n)_{n \geq 0}$ exists. This product cone in $\Man$ yields a product cone in $\Set$ since the forgetful functor $\Man \to \Set$ is representable, hence preserves all limits. Choose points $x_n \in M_n$ with $T_{x_n}(M_n) \neq 0$. Choose the point $x \in P$ with $\pi_n(x) = x_n$. Consider the linear map $T_x(P) \to \prod_{n \geq 0} T_{x_n}(M_n)$ induced by the derivatives $d_x(\pi_n) : T_x(P) \to T_{x_n}(M_n)$. Since $T_x(P)$ is finite-dimensional and $\prod_{n \geq 0} T_{x_n}(M_n)$ is not, it cannot be surjective. But actually, it is: Choose tangent vectors $v_n \in T_{x_n}(M_n)$. Choose smooth curves $\gamma_n : \IR \to M_n$ with $\gamma_n(0)=x_n$ and ${\gamma_n}''(0) = v_n$. By the universal property there is a unique smooth curve $\gamma : \IR \to P$ with $\pi_n \gamma = \gamma_n$. In particular, $\gamma(0) = x$. The chain rule now implies that $\gamma''(0) \in T_x(P)$ is a preimage of $(v_n)$ – a contradiction.' - property_id: pullbacks reason: See MSE/5129579 or MSE/322485. @@ -86,7 +86,7 @@ special_objects: coproducts: description: '[countable case] disjoint union with the disjoint union topology and the obvious charts' products: - description: "[finite case] direct products $X \\times Y$ with the product topology and the charts $\\IR^{n + m} = \\IR^n \\times \\IR^m \\cong U \\times V \\hookrightarrow X \\times Y$ for charts $\\IR^n \\cong U \\hookrightarrow X$ and $\\IR^m \\cong V \\hookrightarrow Y$" + description: '[finite case] direct products $X \times Y$ with the product topology and the charts $\IR^{n + m} = \IR^n \times \IR^m \cong U \times V \hookrightarrow X \times Y$ for charts $\IR^n \cong U \hookrightarrow X$ and $\IR^m \cong V \hookrightarrow Y$' special_morphisms: isomorphisms: @@ -97,4 +97,4 @@ special_morphisms: reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms. epimorphisms: description: smooth maps with dense image - reason: "Let $f : X \\to Y$ be a smooth map which is not dense. Choose some non-empty open subset $U \\subseteq Y$ that is disjoint from $f(X)$. Take any $p \\in U$. There is a smooth bump function $g : Y \\to \\IR$ with $g(p) = 1$ and $\\supp(g) \\subseteq U$ (John Lee, Introduction to Smooth Manifolds, Prop. 2.25). Hence, $g \\neq 0$ and $g \\circ f = 0 = 0 \\circ f$. Thus, $f$ is not an epimorphism." + reason: 'Let $f : X \to Y$ be a smooth map which is not dense. Choose some non-empty open subset $U \subseteq Y$ that is disjoint from $f(X)$. Take any $p \in U$. There is a smooth bump function $g : Y \to \IR$ with $g(p) = 1$ and $\supp(g) \subseteq U$ (John Lee, Introduction to Smooth Manifolds, Prop. 2.25). Hence, $g \neq 0$ and $g \circ f = 0 = 0 \circ f$. Thus, $f$ is not an epimorphism.' diff --git a/databases/catdat/data/categories/Meas.yaml b/databases/catdat/data/categories/Meas.yaml index 020f9a95..b33faba5 100644 --- a/databases/catdat/data/categories/Meas.yaml +++ b/databases/catdat/data/categories/Meas.yaml @@ -32,7 +32,7 @@ satisfied_properties: reason: Take the colimit of the underlying sets and take the largest $\sigma$-algebra making all inclusions measurable. That is, a set is measurable iff its preimage under each inclusion is measurable. - property_id: infinitary extensive - reason: "[Sketch] Since $\\Set$ is infinitary extensive, a map $f : Y \\to \\coprod_i X_i =: X$ corresponds to a decomposition $Y = \\coprod_i Y_i$ (as sets) with maps $f_i : Y_i \\to X_i$. Endow the measurable subset $Y_i \\subseteq Y$ with the restricted $\\sigma$-algebra. If $f$ is measurable, each $f_i$ is measurable, and $Y = \\coprod_i Y_i$ holds as measurable spaces." + reason: '[Sketch] Since $\Set$ is infinitary extensive, a map $f : Y \to \coprod_i X_i =: X$ corresponds to a decomposition $Y = \coprod_i Y_i$ (as sets) with maps $f_i : Y_i \to X_i$. Endow the measurable subset $Y_i \subseteq Y$ with the restricted $\sigma$-algebra. If $f$ is measurable, each $f_i$ is measurable, and $Y = \coprod_i Y_i$ holds as measurable spaces.' - property_id: generator reason: The one-point measurable space (with the unique $\sigma$-algebra) is a generator since it represents the forgetful functor $\Meas \to \Set$. @@ -90,4 +90,4 @@ special_morphisms: reason: Use the same proof as for sets, where $2 = \{0,1\}$ is endowed with the trivial $\sigma$-algebra. regular monomorphisms: description: embeddings - reason: "(This is the same proof as for $\\Top$.) Equalizers are embeddings by their construction. Conversely, if $f : X \\to Y$ is an embedding, then $f$ is the equalizer of the two characteristic maps $\\chi_Y, \\chi_{f(X)} : Y \\rightrightarrows \\{0,1\\}$, where $\\{0,1\\}$ carries the trivial $\\sigma$-algebra." + reason: '(This is the same proof as for $\Top$.) Equalizers are embeddings by their construction. Conversely, if $f : X \to Y$ is an embedding, then $f$ is the equalizer of the two characteristic maps $\chi_Y, \chi_{f(X)} : Y \rightrightarrows \{0,1\}$, where $\{0,1\}$ carries the trivial $\sigma$-algebra.' diff --git a/databases/catdat/data/categories/Met.yaml b/databases/catdat/data/categories/Met.yaml index 6a267bbc..c5143e5a 100644 --- a/databases/catdat/data/categories/Met.yaml +++ b/databases/catdat/data/categories/Met.yaml @@ -53,17 +53,17 @@ satisfied_properties: reason: The one-point metric space is a generator since it represents the forgetful functor $\Met \to \Set$. - property_id: cogenerator - reason: "We claim that $\\IR$ with the usual metric is a cogenerator. Let $a,b \\in X$ be two points of a metric space such that $f(a)=f(b)$ for all non-expansive maps $f : X \\to \\IR$. This applies in particular to $f(x) := d(a,x)$ and shows that $0=d(a,a)=d(a,b)$, so that $a=b$." + reason: 'We claim that $\IR$ with the usual metric is a cogenerator. Let $a,b \in X$ be two points of a metric space such that $f(a)=f(b)$ for all non-expansive maps $f : X \to \IR$. This applies in particular to $f(x) := d(a,x)$ and shows that $0=d(a,a)=d(a,b)$, so that $a=b$.' - property_id: well-copowered - reason: "If $f : X \\to Y$ is an epimorphism, then $f(X)$ is dense in $Y$ (see below). Hence, there is an injective map $Y \\to X^{\\IN}$, which bounds the size of $Y$." + reason: 'If $f : X \to Y$ is an epimorphism, then $f(X)$ is dense in $Y$ (see below). Hence, there is an injective map $Y \to X^{\IN}$, which bounds the size of $Y$.' - property_id: semi-strongly connected reason: Every non-empty metric space is weakly terminal (by using constant maps). unsatisfied_properties: - property_id: countable powers - reason: "Assume that the power $P = \\IR^{\\IN}$ exists, where $\\IR$ has the usual metric. Since the forgetful functor $\\Met \\to \\Set$ is representable, it preserves limits, powers in particular. Thus, we may assume that $P$ is the set of sequences of numbers and that the projections $p_n : P \\to \\IR$ are given by $p_n(x) = x_n$. Now consider the sequences $x = (n)_n$ and $y = (0)_n$. Since each $p_n$ is non-expansive, we get $d(x,y) \\geq d(p_n(x),p_n(y)) = d(n,0) = n$. But then $d(x,y) = \\infty$, a contradiction." + reason: 'Assume that the power $P = \IR^{\IN}$ exists, where $\IR$ has the usual metric. Since the forgetful functor $\Met \to \Set$ is representable, it preserves limits, powers in particular. Thus, we may assume that $P$ is the set of sequences of numbers and that the projections $p_n : P \to \IR$ are given by $p_n(x) = x_n$. Now consider the sequences $x = (n)_n$ and $y = (0)_n$. Since each $p_n$ is non-expansive, we get $d(x,y) \geq d(p_n(x),p_n(y)) = d(n,0) = n$. But then $d(x,y) = \infty$, a contradiction.' - property_id: binary copowers reason: The coproduct of two non-empty metric spaces does not exist, see MSE/1778408. For example, the copower $\IR \sqcup \IR$ does not exist. We only get coproducts when allowing $\infty$ as a distance, as in $\Met_{\infty}$. @@ -87,7 +87,7 @@ unsatisfied_properties: reason: This is trivial. - property_id: Malcev - reason: "Consider the metric subspace $\\{(a,b) \\in \\IR^2 : a \\leq b\\}$ of $\\IR^2$." + reason: 'Consider the metric subspace $\{(a,b) \in \IR^2 : a \leq b\}$ of $\IR^2$.' - property_id: natural numbers object reason: |- @@ -96,7 +96,7 @@ unsatisfied_properties: 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. - property_id: effective congruences - reason: "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." + reason: '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.' - property_id: effective cocongruences reason: |- @@ -113,7 +113,7 @@ special_objects: terminal object: description: singleton space products: - description: "[finite case] direct products with the metric $d(x,y) = \\sup_i d_i(x_i,y_i)$" + description: '[finite case] direct products with the metric $d(x,y) = \sup_i d_i(x_i,y_i)$' special_morphisms: isomorphisms: diff --git a/databases/catdat/data/categories/Met_c.yaml b/databases/catdat/data/categories/Met_c.yaml index dc403f7f..c3936636 100644 --- a/databases/catdat/data/categories/Met_c.yaml +++ b/databases/catdat/data/categories/Met_c.yaml @@ -42,7 +42,7 @@ satisfied_properties: reason: The same proof as for $\Met$ shows that $\IR$ with the usual metric is a cogenerator. - property_id: well-copowered - reason: "If $f : X \\to Y$ is an epimorphism, then $f(X)$ is dense in $Y$ (see below). Hence, there is an injective map $Y \\to X^{\\IN}$, which bounds the size of $Y$." + reason: 'If $f : X \to Y$ is an epimorphism, then $f(X)$ is dense in $Y$ (see below). Hence, there is an injective map $Y \to X^{\IN}$, which bounds the size of $Y$.' - property_id: semi-strongly connected reason: Every non-empty metric space is weakly terminal (by using constant maps). @@ -61,7 +61,7 @@ unsatisfied_properties: reason: This is trivial. - property_id: Malcev - reason: "Consider the metric subspace $\\{(a,b) \\in \\IR^2 : a \\leq b\\}$ of $\\IR^2$." + reason: 'Consider the metric subspace $\{(a,b) \in \IR^2 : a \leq b\}$ of $\IR^2$.' - property_id: regular subobject classifier reason: 'We recycle the proof from the category of Hausdorff spaces: Assume that there is a regular subobject classifier $\Omega$. By the classification of regular monomorphisms, we would have an isomorphism between $\Hom(X,\Omega)$ and the set of closed subsets of $X$ for any metric space $X$. If we take $X = 1$ we see that $\Omega$ has two points. Since $\Omega$ is Hausdorff, $\Omega \cong 1 + 1$ must be discrete. But then $\Hom(X,\Omega)$ is isomorphic to the set of all clopen subsets of $X$, of which there are usually far fewer than closed subsets (consider $X = [0,1]$).' @@ -80,7 +80,7 @@ special_objects: coproducts: description: Given metric spaces $(X_i,d_i)$ with $d_i \leq 1$ w.l.o.g, we endow the disjoint union $\coprod_i X_i$ with the metric $d$ that extends the metrics $d_i$ and satisfies $d(x,y) = 1$ when $x,y$ are in different $X_i$. products: - description: "[countable case] In the finite case, take direct products with the metric $d(x,y) = \\sup_i d_i(x_i,y_i)$, but other metrics such as $d(x,y) = \\sum_i d_i(x_i,y_i)$ also work. In the countable case, one can assume $d_i \\leq 1$ and then define $d(x,y) = \\sum_i d_i(x,y) / 2^i$." + description: '[countable case] In the finite case, take direct products with the metric $d(x,y) = \sup_i d_i(x_i,y_i)$, but other metrics such as $d(x,y) = \sum_i d_i(x_i,y_i)$ also work. In the countable case, one can assume $d_i \leq 1$ and then define $d(x,y) = \sum_i d_i(x,y) / 2^i$.' special_morphisms: isomorphisms: diff --git a/databases/catdat/data/categories/Met_oo.yaml b/databases/catdat/data/categories/Met_oo.yaml index 007e4174..14edc2c9 100644 --- a/databases/catdat/data/categories/Met_oo.yaml +++ b/databases/catdat/data/categories/Met_oo.yaml @@ -27,10 +27,10 @@ satisfied_properties: reason: We can use the same proof as for the category of metric spaces since the equation $\inf_i \max(r, s_i) = \max(r, \inf_i s_i)$ also holds for for $r, s_i \in \IR \cup \{\infty\}$. - property_id: infinitary extensive - reason: "[Sketch] Since $\\Set$ is infinitary extensive, a map $f : Y \\to \\coprod_i X_i =: X$ corresponds to a decomposition $Y = \\coprod_i Y_i$ (as sets) with maps $f_i : Y_i \\to X_i$. Endow $Y_i$ with the restricted metric. If $f$ is non-expansive, each $f_i$ is non-expansive, and for $x_i \\in Y_i$ and $i \\neq j$ we have $d_Y(x_i,x_j) \\geq d_X(f(x_i),f(x_j)) = \\infty$, so that $Y = \\coprod_i Y_i$ holds as metric spaces." + reason: '[Sketch] Since $\Set$ is infinitary extensive, a map $f : Y \to \coprod_i X_i =: X$ corresponds to a decomposition $Y = \coprod_i Y_i$ (as sets) with maps $f_i : Y_i \to X_i$. Endow $Y_i$ with the restricted metric. If $f$ is non-expansive, each $f_i$ is non-expansive, and for $x_i \in Y_i$ and $i \neq j$ we have $d_Y(x_i,x_j) \geq d_X(f(x_i),f(x_j)) = \infty$, so that $Y = \coprod_i Y_i$ holds as metric spaces.' - property_id: cogenerator - reason: "The proof is similar to $\\Met$, a cogenerator is given by $\\IR \\cup \\{\\infty\\}$ with the metric in which $d(a,\\infty)=\\infty$ for $a \\in \\IR$. Then one checks that the maps $d(a,-) : X \\to \\IR \\cup \\{\\infty\\}$ are non-expansive and finishes as for $\\Met$." + reason: 'The proof is similar to $\Met$, a cogenerator is given by $\IR \cup \{\infty\}$ with the metric in which $d(a,\infty)=\infty$ for $a \in \IR$. Then one checks that the maps $d(a,-) : X \to \IR \cup \{\infty\}$ are non-expansive and finishes as for $\Met$.' - property_id: semi-strongly connected reason: Every non-empty metric space is weakly terminal (by using constant maps). @@ -49,7 +49,7 @@ unsatisfied_properties: reason: This is trivial. - property_id: Malcev - reason: "Consider the metric subspace $\\{(a,b) \\in \\IR^2 : a \\leq b\\}$ of $\\IR^2$." + reason: 'Consider the metric subspace $\{(a,b) \in \IR^2 : a \leq b\}$ of $\IR^2$.' - property_id: co-Malcev reason: 'See MO/509552: Consider the forgetful functor $U : \Met_{\infty} \to \Set$ and the relation $R \subseteq U^2$ defined by $R(X) := \{(a,b) \in U(X)^2 : d(x,y) \leq 1 \}$. Both are representable: $U$ by the singleton metric space and $R$ by the metric space $\{ 0,1 \}$ where $d(0,1) := 1$. It is clear that $R$ is reflexive, but not transitive.' diff --git a/databases/catdat/data/categories/Mon.yaml b/databases/catdat/data/categories/Mon.yaml index f1ce63a6..2ec1585c 100644 --- a/databases/catdat/data/categories/Mon.yaml +++ b/databases/catdat/data/categories/Mon.yaml @@ -39,7 +39,7 @@ unsatisfied_properties: reason: This is trivial. - property_id: Malcev - reason: "Consider the submonoid $\\{(a,b) : a \\leq b \\}$ of $\\IN^2$." + reason: 'Consider the submonoid $\{(a,b) : a \leq b \}$ of $\IN^2$.' - property_id: counital reason: The canonical morphism $\IN \sqcup \IN \to \IN \times \IN$ is not a monomorphism since $\IN \sqcup \IN$ is not commutative. @@ -49,10 +49,10 @@ unsatisfied_properties: reason: The canonical morphism $\IN \sqcup \IN \to \IN \times \IN$ is not a monomorphism since $\IN \sqcup \IN$ is not commutative. - property_id: coregular - reason: "Consider the monoid $M := \\langle x_0, x_1, s : x_0 s = x_1 s = 1 \\rangle$. Notice that every element in $M$ has a unique expression as $s^k \\cdot u$ with $k \\in \\IN$ and $u \\in \\langle x_0,x_1 \\rangle_M$. Moreover, the canonical homomorphism $\\iota : \\langle x_0, x_1 \\rangle \\to M$ (from the free monoid) is injective. We will prove that it is a regular monomorphism, which however is not pushout-stable. Consider $N := \\langle x_0, x_1, s_0, s_1 : x_i s_j = 1 \\rangle$ and define $f_i : M \\to N$ for $i=0,1$ by $f_i(x_j) = x_j$ and $f_i(s) = s_i$. Then $\\iota$ is the equalizer of $f_0,f_1$. Now consider $g : \\langle x_0,x_1 \\rangle \\to \\langle y_0 \\rangle$ defined by $g(x_0) = y_0$, $g(x_1) = 1$. The pushout of $\\iota$ with $g$ is given by $\\langle x_0, x_1, s, y_0 : x_0 s = x_1 s = 1 , \\, x_0 = y_0, \\, x_1 = 1 \\rangle$, which simplifies to $\\langle x_0, s : x_0 s = s = 1 \\rangle$, which is trivial." + reason: 'Consider the monoid $M := \langle x_0, x_1, s : x_0 s = x_1 s = 1 \rangle$. Notice that every element in $M$ has a unique expression as $s^k \cdot u$ with $k \in \IN$ and $u \in \langle x_0,x_1 \rangle_M$. Moreover, the canonical homomorphism $\iota : \langle x_0, x_1 \rangle \to M$ (from the free monoid) is injective. We will prove that it is a regular monomorphism, which however is not pushout-stable. Consider $N := \langle x_0, x_1, s_0, s_1 : x_i s_j = 1 \rangle$ and define $f_i : M \to N$ for $i=0,1$ by $f_i(x_j) = x_j$ and $f_i(s) = s_i$. Then $\iota$ is the equalizer of $f_0,f_1$. Now consider $g : \langle x_0,x_1 \rangle \to \langle y_0 \rangle$ defined by $g(x_0) = y_0$, $g(x_1) = 1$. The pushout of $\iota$ with $g$ is given by $\langle x_0, x_1, s, y_0 : x_0 s = x_1 s = 1 , \, x_0 = y_0, \, x_1 = 1 \rangle$, which simplifies to $\langle x_0, s : x_0 s = s = 1 \rangle$, which is trivial.' - property_id: regular subobject classifier - reason: "Assume that $\\Omega$ is a regular subobject classifier. Since the trivial monoid is a zero object, every regular submonoid $U \\subseteq M$ of any monoid $M$ would have the form $\\{m \\in M : h(m) = 1 \\}$ for some homomorphism $M \\to \\Omega$. Now take any monoid $M$ with zero that has two different homomorphisms with zero $f,g : M \\rightrightarrows N$ (for example, let $M = N = \\{0\\} \\cup \\{x^n : n \\geq 0\\}$ be the free monoid with zero on one generator, $f(x) = 0$,and $g(x) = x$). Take their equalizer $U \\subseteq M$, and choose a homomorphism $h : M \\to \\Omega$ with $U = \\{m \\in M : h(m) = 1\\}$. Since $0 \\in U$, we have $h(0)=1$. But then for all $m \\in M$ we have $h(m) = h(m) h(0) = h(m 0) = h(0) = 1$, i.e. $U = M$, which yields the contradiction $f = g$." + reason: 'Assume that $\Omega$ is a regular subobject classifier. Since the trivial monoid is a zero object, every regular submonoid $U \subseteq M$ of any monoid $M$ would have the form $\{m \in M : h(m) = 1 \}$ for some homomorphism $M \to \Omega$. Now take any monoid $M$ with zero that has two different homomorphisms with zero $f,g : M \rightrightarrows N$ (for example, let $M = N = \{0\} \cup \{x^n : n \geq 0\}$ be the free monoid with zero on one generator, $f(x) = 0$,and $g(x) = x$). Take their equalizer $U \subseteq M$, and choose a homomorphism $h : M \to \Omega$ with $U = \{m \in M : h(m) = 1\}$. Since $0 \in U$, we have $h(0)=1$. But then for all $m \in M$ we have $h(m) = h(m) h(0) = h(m 0) = h(0) = 1$, i.e. $U = M$, which yields the contradiction $f = g$.' - property_id: regular quotient object classifier reason: We can just copy the proof for the category of commutative monoids. Alternatively, we may use this lemma (dualized). @@ -92,9 +92,9 @@ special_morphisms: reason: This characterization holds in every algebraic category. monomorphisms: description: injective homomorphisms - reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + reason: 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' epimorphisms: - description: "A monoid map $f : T \\to S$ is an epimorphism iff $S$ equals the dominion of $U := f(T) \\subseteq S$, meaning that for every $s \\in S$ there are $u_1,\\dotsc,u_{m+1} \\in U$, $v_1,\\dotsc,v_m \\in U$, $x_1,\\dotsc,x_m \\in S$ and $y_1,\\dotsc,y_m \\in S$ such that $s = x_1 u_1$, $u_1 = v_1 y_1$, $x_{i-1} v_{i-1} = x_i u_i$, $u_i y_{i-1} = v_i y_i$, $x_m v_m = u_{m+1}$ and $u_{m+1} y_m = s$." + description: 'A monoid map $f : T \to S$ is an epimorphism iff $S$ equals the dominion of $U := f(T) \subseteq S$, meaning that for every $s \in S$ there are $u_1,\dotsc,u_{m+1} \in U$, $v_1,\dotsc,v_m \in U$, $x_1,\dotsc,x_m \in S$ and $y_1,\dotsc,y_m \in S$ such that $s = x_1 u_1$, $u_1 = v_1 y_1$, $x_{i-1} v_{i-1} = x_i u_i$, $u_i y_{i-1} = v_i y_i$, $x_m v_m = u_{m+1}$ and $u_{m+1} y_m = s$.' reason: This is Isbell's zigzag Theorem, see references there. regular epimorphisms: description: surjective homomorphisms diff --git a/databases/catdat/data/categories/N.yaml b/databases/catdat/data/categories/N.yaml index 5e16c2a4..63601b1b 100644 --- a/databases/catdat/data/categories/N.yaml +++ b/databases/catdat/data/categories/N.yaml @@ -2,7 +2,7 @@ id: N name: poset of natural numbers notation: $(\IN,\leq)$ objects: natural numbers $0, 1, 2, \dotsc$ -morphisms: "a unique morphism $(n,m) : n \\to m$ if $n \\leq m$" +morphisms: 'a unique morphism $(n,m) : n \to m$ if $n \leq m$' description: This can also be seen as the path category of the infinite linear graph $\bullet \to \bullet \to \bullet \to \cdots$. tags: diff --git a/databases/catdat/data/categories/N_oo.yaml b/databases/catdat/data/categories/N_oo.yaml index cc524d03..21438304 100644 --- a/databases/catdat/data/categories/N_oo.yaml +++ b/databases/catdat/data/categories/N_oo.yaml @@ -2,7 +2,7 @@ id: N_oo name: poset of extended natural numbers notation: $(\IN_\infty, \leq)$ objects: natural numbers and $\infty$ -morphisms: "a unique morphism $(n, m) : n \\to m$ if $n \\leq m$, where of course $n \\leq \\infty$ for all $n$" +morphisms: 'a unique morphism $(n, m) : n \to m$ if $n \leq m$, where of course $n \leq \infty$ for all $n$' tags: - number theory diff --git a/databases/catdat/data/categories/On.yaml b/databases/catdat/data/categories/On.yaml index 231adb32..26e6756e 100644 --- a/databases/catdat/data/categories/On.yaml +++ b/databases/catdat/data/categories/On.yaml @@ -2,7 +2,7 @@ id: On name: poset of ordinal numbers notation: $(\On,\leq)$ objects: ordinal numbers -morphisms: "a unique morphism $(\\alpha,\\beta): \\alpha \\to \\beta$ if $\\alpha \\leq \\beta$" +morphisms: 'a unique morphism $(\alpha,\beta): \alpha \to \beta$ if $\alpha \leq \beta$' description: This is a large variant of the poset of natural numbers. tags: diff --git a/databases/catdat/data/categories/PMet.yaml b/databases/catdat/data/categories/PMet.yaml index 2c2867b7..5d1b5de0 100644 --- a/databases/catdat/data/categories/PMet.yaml +++ b/databases/catdat/data/categories/PMet.yaml @@ -31,7 +31,7 @@ satisfied_properties: reason: See MO/123739. - property_id: filtered colimits - reason: "Given a filtered diagram $(X_i)$ of pseudo-metric spaces, take the filtered colimit $X$ of the underlying sets with the following pseudo-metric: If $x,y \\in X$, let $d(x,y)$ be infimum of all $d(x_i,y_i)$, where $x_i,y_i \\in X_i$ are some preimages of $x,y$ in some $X_i$. The definition ensures that each $X_i \\to X$ is non-expansive, and the universal property is easy to check." + reason: 'Given a filtered diagram $(X_i)$ of pseudo-metric spaces, take the filtered colimit $X$ of the underlying sets with the following pseudo-metric: If $x,y \in X$, let $d(x,y)$ be infimum of all $d(x_i,y_i)$, where $x_i,y_i \in X_i$ are some preimages of $x,y$ in some $X_i$. The definition ensures that each $X_i \to X$ is non-expansive, and the universal property is easy to check.' check_redundancy: false - property_id: exact filtered colimits @@ -57,13 +57,13 @@ satisfied_properties: unsatisfied_properties: - property_id: balanced - reason: "Let $d : \\IR \\times \\IR \\to \\IR_{\\geq 0}$ be the usual Euclidean metric on $\\IR$ and $0 : \\IR \\times \\IR \\to \\IR_{\\geq 0}$ be the zero pseudo-metric. Then the identity map $(\\IR,d) \\to (\\IR,0)$ provides a counterexample." + reason: 'Let $d : \IR \times \IR \to \IR_{\geq 0}$ be the usual Euclidean metric on $\IR$ and $0 : \IR \times \IR \to \IR_{\geq 0}$ be the zero pseudo-metric. Then the identity map $(\IR,d) \to (\IR,0)$ provides a counterexample.' - property_id: cartesian closed reason: This is proven in MSE/5131457. - property_id: countable powers - reason: "Assume that the power $P = \\IR^{\\IN}$ exists, where $\\IR$ has the usual (pseudo-)metric. Since the forgetful functor $\\PMet \\to \\Set$ is representable, it preserves limits, powers in particular. Thus, we may assume that $P$ is the set of sequences of numbers and that the projections $p_n : P \\to \\IR$ are given by $p_n(x) = x_n$. Now consider the sequences $x = (n)_n$ and $y = (0)_n$. Since each $p_n$ is non-expansive, we get $d(x,y) \\geq d(p_n(x),p_n(y)) = d(n,0) = n$. But then $d(x,y) = \\infty$, a contradiction." + reason: 'Assume that the power $P = \IR^{\IN}$ exists, where $\IR$ has the usual (pseudo-)metric. Since the forgetful functor $\PMet \to \Set$ is representable, it preserves limits, powers in particular. Thus, we may assume that $P$ is the set of sequences of numbers and that the projections $p_n : P \to \IR$ are given by $p_n(x) = x_n$. Now consider the sequences $x = (n)_n$ and $y = (0)_n$. Since each $p_n$ is non-expansive, we get $d(x,y) \geq d(p_n(x),p_n(y)) = d(n,0) = n$. But then $d(x,y) = \infty$, a contradiction.' - property_id: binary copowers reason: The coproduct of two non-empty pseudo-metric spaces does not exist, see MSE/1778408 (the proof also works for pseudo-metric spaces). For example, the copower $\IR \sqcup \IR$ does not exist. We only get coproducts when allowing $\infty$ as a distance. @@ -95,7 +95,7 @@ special_objects: terminal object: description: singleton space products: - description: "[finite case] direct products with the pseudo-metric $d(x,y) = \\sup_i d_i(x_i,y_i)$" + description: '[finite case] direct products with the pseudo-metric $d(x,y) = \sup_i d_i(x_i,y_i)$' special_morphisms: isomorphisms: @@ -106,4 +106,4 @@ special_morphisms: reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms. epimorphisms: description: surjective non-expansive maps - reason: "Let $f : X \\to Y$ be a non-expansive map that is not surjective. Choose $y_0 \\in Y \\setminus f(X)$. We extend the pseudo-metric from $Y$ to $Z := Y \\sqcup \\{y'_0\\}$ via $d(y,y'_0) := d(y,y_0)$, i.e., we make $y_0,y'_0$ indistinguishable. Let $g : Y \\to Z$ be the inclusion and $h : Y \\to Z$ be the map that composes $g$ with the swap between $y_0$ and $y'_0$. Both are isometric and satisfy $g \\circ f = h \\circ f$. Therefore, $f$ is not an epimorphism." + reason: 'Let $f : X \to Y$ be a non-expansive map that is not surjective. Choose $y_0 \in Y \setminus f(X)$. We extend the pseudo-metric from $Y$ to $Z := Y \sqcup \{y''_0\}$ via $d(y,y''_0) := d(y,y_0)$, i.e., we make $y_0,y''_0$ indistinguishable. Let $g : Y \to Z$ be the inclusion and $h : Y \to Z$ be the map that composes $g$ with the swap between $y_0$ and $y''_0$. Both are isometric and satisfy $g \circ f = h \circ f$. Therefore, $f$ is not an epimorphism.' diff --git a/databases/catdat/data/categories/Pos.yaml b/databases/catdat/data/categories/Pos.yaml index 86534b17..582e1696 100644 --- a/databases/catdat/data/categories/Pos.yaml +++ b/databases/catdat/data/categories/Pos.yaml @@ -27,10 +27,10 @@ satisfied_properties: reason: For posets $P,Q$ we endow $\Hom(P,Q)$ with the partial order in which $f \leq g$ holds iff $f(p) \leq g(p)$ for all $p \in P$. The universal evaluation map is $\Hom(P,Q) \times P \to Q$, $(f,p) \mapsto f(p)$, it is order-preserving, and it satisfies the universal property. - property_id: cogenerator - reason: "We prove that the poset $\\{0 < 1\\}$ is a cogenerator: Let $P$ be a poset and $a,b \\in P$ be two elements such that $f(a) = f(b)$ for all order-preserving maps $f : P \\to \\{0 < 1 \\}$. This means that $a$ and $b$ lie in the same upper sets. In particular, $b$ lies in the upper set generated by $a$, meaning $a \\leq b$, and similarly we deduce $b \\leq a$. Thus, $a = b$." + reason: 'We prove that the poset $\{0 < 1\}$ is a cogenerator: Let $P$ be a poset and $a,b \in P$ be two elements such that $f(a) = f(b)$ for all order-preserving maps $f : P \to \{0 < 1 \}$. This means that $a$ and $b$ lie in the same upper sets. In particular, $b$ lies in the upper set generated by $a$, meaning $a \leq b$, and similarly we deduce $b \leq a$. Thus, $a = b$.' - property_id: infinitary extensive - reason: "[Sketch] Since $\\Set$ is infinitary extensive, a map $f : P \\to \\coprod_i Q_i$ corresponds to a decomposition $P = \\coprod_i P_i$ (as sets) with maps $f_i : P_i \\to Q_i$. Endow $P_i$ with the induced order. If $f$ is order-preserving, the elements in different $P_i$ cannot be comparable (since their $f$-images are not comparable), so that $P = \\coprod_i P_i$ as posets, and each $f_i$ is order-preserving." + reason: '[Sketch] Since $\Set$ is infinitary extensive, a map $f : P \to \coprod_i Q_i$ corresponds to a decomposition $P = \coprod_i P_i$ (as sets) with maps $f_i : P_i \to Q_i$. Endow $P_i$ with the induced order. If $f$ is order-preserving, the elements in different $P_i$ cannot be comparable (since their $f$-images are not comparable), so that $P = \coprod_i P_i$ as posets, and each $f_i$ is order-preserving.' - property_id: semi-strongly connected reason: Every non-empty poset is weakly terminal (by using constant maps). @@ -49,7 +49,7 @@ unsatisfied_properties: reason: This is trivial. - property_id: Malcev - reason: "Consider the subposet $\\{(a,b) : a \\leq b \\}$ of $\\IN^2$." + reason: 'Consider the subposet $\{(a,b) : a \leq b \}$ of $\IN^2$.' - property_id: co-Malcev reason: 'See MO/509552: Consider the forgetful functor $U : \Pos \to \Set$ and the relation $R \subseteq U^2$ defined by $R(A) := \{(a,b) \in U(A)^2 : a \leq b\}$. Both are representable: $U$ by the singleton poset and $R$ by $\{0 \leq 1 \}$. It is clear that $R$ is reflexive, but not symmetric.' @@ -84,7 +84,7 @@ special_morphisms: reason: The same proof as for $\Set$ can be used. epimorphisms: description: surjective order-preserving functions - reason: "Clearly, surjective maps are epimorphisms. Conversely, assume that $f : P \\to Q$ is an order-preserving map which is not surjective. Choose $q \\in Q \\setminus f(P)$. The order-preserving maps $Q \\to \\{0 < 1\\}$ correspond to the upper sets in $Q$, and composing them with $f$ corresponds to taking their $f$-preimages. Consider the two upper sets $Q_{> q}$ and $Q_{\\geq q}$. Their $f$-preimages are the same since $q \\notin f(P)$. Therefore, $f$ is not an epimorphism." + reason: 'Clearly, surjective maps are epimorphisms. Conversely, assume that $f : P \to Q$ is an order-preserving map which is not surjective. Choose $q \in Q \setminus f(P)$. The order-preserving maps $Q \to \{0 < 1\}$ correspond to the upper sets in $Q$, and composing them with $f$ corresponds to taking their $f$-preimages. Consider the two upper sets $Q_{> q}$ and $Q_{\geq q}$. Their $f$-preimages are the same since $q \notin f(P)$. Therefore, $f$ is not an epimorphism.' regular monomorphisms: description: embeddings - reason: "Every regular monomorphism is an embedding by the explicit construction of equalizers. For the converse, let $i : P \\to Q$ be an embedding, which we may assume to be an inclusion. Consider the cokernel pair $C := Q \\cup_P Q$. It exists because the category has pushouts, but we can (and need to) describe it more concretely: As a set, $C$ is a disjoint union of $P$ and two copies of $Q \\setminus P$. The elements will be denoted by $p,q_1,q_2$. The $i$th inclusion map $Q \\to C$ maps $p \\in P$ to itself and $q \\in Q \\setminus P$ to $q_i$. The ordering is directly induced by $Q$: We have $p \\leq p'$ in $C$ iff $p \\leq p'$ in $P$, we have $p \\leq q_i$ iff $p \\leq q$ in $Q$, etc. One verifies that this indeed defines a partial order, and by construction the two maps $Q \\rightrightarrows C$ are order-preserving and have equalizer $P$." + reason: 'Every regular monomorphism is an embedding by the explicit construction of equalizers. For the converse, let $i : P \to Q$ be an embedding, which we may assume to be an inclusion. Consider the cokernel pair $C := Q \cup_P Q$. It exists because the category has pushouts, but we can (and need to) describe it more concretely: As a set, $C$ is a disjoint union of $P$ and two copies of $Q \setminus P$. The elements will be denoted by $p,q_1,q_2$. The $i$th inclusion map $Q \to C$ maps $p \in P$ to itself and $q \in Q \setminus P$ to $q_i$. The ordering is directly induced by $Q$: We have $p \leq p''$ in $C$ iff $p \leq p''$ in $P$, we have $p \leq q_i$ iff $p \leq q$ in $Q$, etc. One verifies that this indeed defines a partial order, and by construction the two maps $Q \rightrightarrows C$ are order-preserving and have equalizer $P$.' diff --git a/databases/catdat/data/categories/Prost.yaml b/databases/catdat/data/categories/Prost.yaml index 8c10e938..a54b64eb 100644 --- a/databases/catdat/data/categories/Prost.yaml +++ b/databases/catdat/data/categories/Prost.yaml @@ -29,7 +29,7 @@ satisfied_properties: reason: Endow the set $\{ 0,1 \}$ with the preorder $0 \leq 1$, $1 \leq 0$ (which is not a partial order). Then every map $P \to \{0,1\}$ is order-preserving. Now the claim follows since the set $\{ 0,1 \}$ is a cogenerator in $\Set$. - property_id: infinitary extensive - reason: "[Sketch] Since $\\Set$ is infinitary extensive, a map $f : P \\to \\coprod_i Q_i$ corresponds to a decomposition $P = \\coprod_i P_i$ (as sets) with maps $f_i : P_i \\to Q_i$. Endow $P_i$ with the induced order. If $f$ is order-preserving, the elements in different $P_i$ cannot be comparable (since their $f$-images are not comparable), so that $P = \\coprod_i P_i$ as prosets, and each $f_i$ is order-preserving." + reason: '[Sketch] Since $\Set$ is infinitary extensive, a map $f : P \to \coprod_i Q_i$ corresponds to a decomposition $P = \coprod_i P_i$ (as sets) with maps $f_i : P_i \to Q_i$. Endow $P_i$ with the induced order. If $f$ is order-preserving, the elements in different $P_i$ cannot be comparable (since their $f$-images are not comparable), so that $P = \coprod_i P_i$ as prosets, and each $f_i$ is order-preserving.' - property_id: semi-strongly connected reason: Every non-empty proset is weakly terminal (by using constant maps). @@ -51,7 +51,7 @@ unsatisfied_properties: reason: This is trivial. - property_id: Malcev - reason: "Consider the subproset $\\{(a,b) : a \\leq b \\}$ of $\\IN^2$." + reason: 'Consider the subproset $\{(a,b) : a \leq b \}$ of $\IN^2$.' - property_id: co-Malcev reason: 'See MO/509552: Consider the forgetful functor $U : \Prost \to \Set$ and the relation $R \subseteq U^2$ defined by $R(A) := \{(a,b) \in U(A)^2 : a \leq b\}$. Both are representable: $U$ by the singleton preordered set and $R$ by $\{0 \leq 1 \}$. It is clear that $R$ is reflexive, but not symmetric.' @@ -60,7 +60,7 @@ unsatisfied_properties: reason: 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. - property_id: effective cocongruences - reason: "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." + reason: '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.' special_objects: initial object: @@ -84,4 +84,4 @@ special_morphisms: reason: Clearly, surjective maps are epimorphisms. The converse follows since, as mentioned, the forgetful functor $\Prost \to \Set$ has a right adjoint hence preserves epimorphisms. regular monomorphisms: description: embeddings - reason: "Every regular monomorphism is an embedding by the explicit construction of equalizers. For the converse, let $i : P \\to Q$ be an embedding, which we may assume to be an inclusion. Consider the cokernel pair $C := Q \\cup_P Q$. It exists because the category has pushouts, but we can (and need to) describe it more concretely: As a set, $C$ is a disjoint union of $P$ and two copies of $Q \\setminus P$. The elements will be denoted by $p,q_1,q_2$. The $i$th inclusion map $Q \\to C$ maps $p \\in P$ to itself and $q \\in Q \\setminus P$ to $q_i$. The ordering is directly induced by $Q$: We have $p \\leq p'$ in $C$ iff $p \\leq p'$ in $P$, we have $p \\leq q_i$ iff $p \\leq q$ in $Q$, etc. One verifies that this indeed defines a preorder, and by construction the two maps $Q \\rightrightarrows C$ are order-preserving and have equalizer $P$." + reason: 'Every regular monomorphism is an embedding by the explicit construction of equalizers. For the converse, let $i : P \to Q$ be an embedding, which we may assume to be an inclusion. Consider the cokernel pair $C := Q \cup_P Q$. It exists because the category has pushouts, but we can (and need to) describe it more concretely: As a set, $C$ is a disjoint union of $P$ and two copies of $Q \setminus P$. The elements will be denoted by $p,q_1,q_2$. The $i$th inclusion map $Q \to C$ maps $p \in P$ to itself and $q \in Q \setminus P$ to $q_i$. The ordering is directly induced by $Q$: We have $p \leq p''$ in $C$ iff $p \leq p''$ in $P$, we have $p \leq q_i$ iff $p \leq q$ in $Q$, etc. One verifies that this indeed defines a preorder, and by construction the two maps $Q \rightrightarrows C$ are order-preserving and have equalizer $P$.' diff --git a/databases/catdat/data/categories/R-Mod.yaml b/databases/catdat/data/categories/R-Mod.yaml index de141181..b13baec9 100644 --- a/databases/catdat/data/categories/R-Mod.yaml +++ b/databases/catdat/data/categories/R-Mod.yaml @@ -52,7 +52,7 @@ special_morphisms: reason: This characterization holds in every algebraic category. monomorphisms: description: injective $R$-linear maps - reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + reason: 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' epimorphisms: description: surjective $R$-linear maps reason: The forgetful functor to abelian groups is faithful and preserves colimits, hence reflects and preserves epimorphisms. Alternatively, use the same proof as for abelian groups. diff --git a/databases/catdat/data/categories/R-Mod_div.yaml b/databases/catdat/data/categories/R-Mod_div.yaml index 3b37ed96..66dc6c40 100644 --- a/databases/catdat/data/categories/R-Mod_div.yaml +++ b/databases/catdat/data/categories/R-Mod_div.yaml @@ -46,7 +46,7 @@ special_morphisms: reason: This characterization holds in every algebraic category. monomorphisms: description: injective $R$-linear maps - reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + reason: 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' epimorphisms: description: surjective $R$-linear maps reason: The forgetful functor to abelian groups is faithful and preserves colimits, hence reflects and preserves epimorphisms. Alternatively, use the same proof as for abelian groups. diff --git a/databases/catdat/data/categories/Rel.yaml b/databases/catdat/data/categories/Rel.yaml index d08da1ab..a54bf6a7 100644 --- a/databases/catdat/data/categories/Rel.yaml +++ b/databases/catdat/data/categories/Rel.yaml @@ -3,7 +3,7 @@ name: category of sets and relations notation: $\Rel$ objects: sets morphisms: A morphism from $A$ to $B$ is a relation, i.e. a subset of $A \times B$. -description: "This category is self-dual as it can be: There is an isomorphism $\\Rel \\cong \\Rel^{\\op}$ that is the identity on objects and maps a relation to its opposite relation. It is the prototype of a dagger-category." +description: 'This category is self-dual as it can be: There is an isomorphism $\Rel \cong \Rel^{\op}$ that is the identity on objects and maps a relation to its opposite relation. It is the prototype of a dagger-category.' nlab_link: https://ncatlab.org/nlab/show/Rel tags: @@ -17,7 +17,7 @@ satisfied_properties: reason: The set of morphisms $X \to Y$ is the set $P(X \times Y)$. - property_id: self-dual - reason: "There is an isomorphism $\\Rel \\to \\Rel^{\\op}$ that is the identity on objects (sets) and maps a relation $R \\subseteq X \\times Y$ to the opposite relation $R^o \\subseteq Y \\times X$ defined by $R^o := \\{(y,x) : (x,y) \\in R \\}$." + reason: 'There is an isomorphism $\Rel \to \Rel^{\op}$ that is the identity on objects (sets) and maps a relation $R \subseteq X \times Y$ to the opposite relation $R^o \subseteq Y \times X$ defined by $R^o := \{(y,x) : (x,y) \in R \}$.' - property_id: pointed reason: The empty set is clearly both initial and terminal. The zero morphisms are the empty relations. @@ -31,7 +31,7 @@ satisfied_properties: check_redundancy: false - property_id: well-powered - reason: "Any relation $R : A \\to B$ induces an injective map $P(A) \\to P(B)$, so that in particular there is an injective map $A \\to P(B)$." + reason: 'Any relation $R : A \to B$ induces an injective map $P(A) \to P(B)$, so that in particular there is an injective map $A \to P(B)$.' - property_id: balanced reason: See MSE/5030393. @@ -43,7 +43,7 @@ satisfied_properties: reason: The canonical morphism from the coproduct to the product is the identity. - property_id: kernels - reason: "Let $R : A \\to B$ be a relation. Define $K = \\bigl\\{a \\in A : \\neg \\exists b \\in B ((a,b) \\in R) \\bigr\\}$. We have an inclusion map $I : K \\to A$, which can also be regarded as relation, and $R \\circ I = \\empty$ is the empty relation, i.e. the zero morphism. It is easy to check the universal property." + reason: 'Let $R : A \to B$ be a relation. Define $K = \bigl\{a \in A : \neg \exists b \in B ((a,b) \in R) \bigr\}$. We have an inclusion map $I : K \to A$, which can also be regarded as relation, and $R \circ I = \empty$ is the empty relation, i.e. the zero morphism. It is easy to check the universal property.' - property_id: quotients of congruences reason: A proof can be found here. @@ -74,10 +74,10 @@ special_objects: special_morphisms: isomorphisms: description: bijective functions - reason: "For the non-trivial direction, assume that $R : A \\to B$ is a relation which has an inverse relation $S : B \\to A$. For every $a \\in A$ we have $(a,a) \\in \\id_A = S \\circ R$, so there is some $b \\in B$ with $(a,b) \\in R$ (and $(b,a) \\in S$). This shows that $R$ is left-total, and for right-total the argument is similar. By symmetry, this also holds for $S$. To show that $R$ is a function, assume $(a,b_1), (a,b_2) \\in R$. Choose some $b_3 \\in B$ with $(b_3,a) \\in S$. It follows $(b_3,b_1) \\in S \\circ R = \\id_A$, so $b_3 = b_1$. Similarly, $(b_3,b_2) \\in S \\circ R = \\id_A$, so $b_3 = b_2$. This shows that $R$ is a function, i.e. left-unique. That $R$ is injective, i.e. right-unique, follows by symmetry. Finally, $R$ is surjective since it is right-total." + reason: 'For the non-trivial direction, assume that $R : A \to B$ is a relation which has an inverse relation $S : B \to A$. For every $a \in A$ we have $(a,a) \in \id_A = S \circ R$, so there is some $b \in B$ with $(a,b) \in R$ (and $(b,a) \in S$). This shows that $R$ is left-total, and for right-total the argument is similar. By symmetry, this also holds for $S$. To show that $R$ is a function, assume $(a,b_1), (a,b_2) \in R$. Choose some $b_3 \in B$ with $(b_3,a) \in S$. It follows $(b_3,b_1) \in S \circ R = \id_A$, so $b_3 = b_1$. Similarly, $(b_3,b_2) \in S \circ R = \id_A$, so $b_3 = b_2$. This shows that $R$ is a function, i.e. left-unique. That $R$ is injective, i.e. right-unique, follows by symmetry. Finally, $R$ is surjective since it is right-total.' monomorphisms: - description: "A relation $R : A \\to B$ is a monomorphism iff the map $R_* : P(A) \\to P(B)$ defined by $T \\mapsto \\{b \\in B : \\exists \\, a \\in T: (a,b) \\in R \\}$ is injective." + description: 'A relation $R : A \to B$ is a monomorphism iff the map $R_* : P(A) \to P(B)$ defined by $T \mapsto \{b \in B : \exists \, a \in T: (a,b) \in R \}$ is injective.' reason: See MSE/350716. epimorphisms: - description: "A relation $R : A \\to B$ is an epimorphism iff the map $R^* : P(B) \\to P(A)$ defined by $S \\mapsto \\{a \\in A : \\exists \\, b \\in S: (a,b) \\in R \\}$ is injective." + description: 'A relation $R : A \to B$ is an epimorphism iff the map $R^* : P(B) \to P(A)$ defined by $S \mapsto \{a \in A : \exists \, b \in S: (a,b) \in R \}$ is injective.' reason: See MSE/350716. diff --git a/databases/catdat/data/categories/Ring.yaml b/databases/catdat/data/categories/Ring.yaml index b0560af2..c9777547 100644 --- a/databases/catdat/data/categories/Ring.yaml +++ b/databases/catdat/data/categories/Ring.yaml @@ -25,13 +25,13 @@ satisfied_properties: reason: Take the algebraic theory of a ring. - property_id: strict terminal object - reason: "If $f : 0 \\to R$ is a homomorphism, then $R$ satisfies $1=f(1)=f(0)=0$, so that $R=0$." + reason: 'If $f : 0 \to R$ is a homomorphism, then $R$ satisfies $1=f(1)=f(0)=0$, so that $R=0$.' - property_id: Malcev reason: This follows in the same way as for groups, see also Example 2.2.5 in Malcev, protomodular, homological and semi-abelian categories. - property_id: disjoint finite products - reason: "To show that $A \\sqcup_{A \\times B} B$ is trivial, let $R$ be a ring which admits homomorphisms $f : A \\to R$, $g : B \\to R$ with $f(p_1(a,b))=g(p_2(a,b))$ for all $(a,b) \\in A \\times B$, i.e. $f(a)=g(b)$. Applying this to $a=0$, $b=1$ yields $1=0$ in $R$." + reason: 'To show that $A \sqcup_{A \times B} B$ is trivial, let $R$ be a ring which admits homomorphisms $f : A \to R$, $g : B \to R$ with $f(p_1(a,b))=g(p_2(a,b))$ for all $(a,b) \in A \times B$, i.e. $f(a)=g(b)$. Applying this to $a=0$, $b=1$ yields $1=0$ in $R$.' unsatisfied_properties: - property_id: balanced @@ -86,7 +86,7 @@ special_morphisms: reason: This characterization holds in every algebraic category. monomorphisms: description: injective ring homomorphisms - reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + reason: 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' regular epimorphisms: description: surjective homomorphisms reason: This holds in every finitary algebraic category. diff --git a/databases/catdat/data/categories/Rng.yaml b/databases/catdat/data/categories/Rng.yaml index a96bbd99..322d2a8e 100644 --- a/databases/catdat/data/categories/Rng.yaml +++ b/databases/catdat/data/categories/Rng.yaml @@ -46,7 +46,7 @@ unsatisfied_properties: reason: If $\IZ\langle X_1,\dotsc,X_n \rangle_0$ denotes the free rng on $n$ generators (non-commutative polynomials without constant term), then the canonical homomorphism $\IZ\langle X,Y \rangle_0 = \IZ\langle X \rangle_0 \sqcup \IZ\langle Y \rangle_0 \to \IZ\langle X \rangle_0 \times \IZ\langle Y \rangle_0$ is not a monomorphism since $\IZ\langle X,Y \rangle_0$ is not commutative. - property_id: regular subobject classifier - reason: "Assume that $\\Rng$ has a subobject classifier $\\Omega$. Since $0$ is a zero object, every regular subobject $R \\subseteq S$ would be the kernel of some homomorphism $S \\to \\Omega$. In particular, it would be an ideal. Now take any pair of homomorphisms $f,g : S \\rightrightarrows T$ in $\\Ring$. Their equalizer $R \\subseteq S$ is also the equalizer in $\\Rng$, and it contains $1 \\in S$. If it was an ideal, then $R = S$, and hence $f = g$, which is absurd." + reason: 'Assume that $\Rng$ has a subobject classifier $\Omega$. Since $0$ is a zero object, every regular subobject $R \subseteq S$ would be the kernel of some homomorphism $S \to \Omega$. In particular, it would be an ideal. Now take any pair of homomorphisms $f,g : S \rightrightarrows T$ in $\Ring$. Their equalizer $R \subseteq S$ is also the equalizer in $\Rng$, and it contains $1 \in S$. If it was an ideal, then $R = S$, and hence $f = g$, which is absurd.' - property_id: coregular reason: 'We can copy the proof for the category of rings. In short, the inclusion of diagonal matrices $\IQ^2 \hookrightarrow M_2(\IQ)$ is a regular monomorphism, but becomes zero after taking the pushout with $p_1 : \IQ^2 \twoheadrightarrow \IQ$ because $M_2(\IQ)$ is simple.' @@ -92,7 +92,7 @@ special_morphisms: reason: This characterization holds in every algebraic category. monomorphisms: description: injective rng homomorphisms - reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + reason: 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' regular epimorphisms: description: surjective homomorphisms reason: This holds in every finitary algebraic category. diff --git a/databases/catdat/data/categories/Sch.yaml b/databases/catdat/data/categories/Sch.yaml index f8c7dbac..af068e05 100644 --- a/databases/catdat/data/categories/Sch.yaml +++ b/databases/catdat/data/categories/Sch.yaml @@ -63,7 +63,7 @@ special_objects: coproducts: description: disjoint union with the product sheaf products: - description: "[finite case] The idea is to use $\\Spec(A) \\times \\Spec(B) = \\Spec(A \\otimes B)$ and then to glue affine pieces together. See EGA I, Chap. I, Thm. 3.2.1." + description: '[finite case] The idea is to use $\Spec(A) \times \Spec(B) = \Spec(A \otimes B)$ and then to glue affine pieces together. See EGA I, Chap. I, Thm. 3.2.1.' special_morphisms: isomorphisms: diff --git a/databases/catdat/data/categories/SemiGrp.yaml b/databases/catdat/data/categories/SemiGrp.yaml index b77a91ef..c0c34ea7 100644 --- a/databases/catdat/data/categories/SemiGrp.yaml +++ b/databases/catdat/data/categories/SemiGrp.yaml @@ -44,7 +44,7 @@ unsatisfied_properties: Another example can be found in MO/510431. - property_id: Malcev - reason: "Consider the subsemigroup $\\{(a,b) : a \\leq b \\}$ of $\\IN^2$ under addition." + reason: 'Consider the subsemigroup $\{(a,b) : a \leq b \}$ of $\IN^2$ under addition.' - property_id: co-Malcev reason: 'See MO/509552: Consider the forgetful functor $U : \SemiGrp \to \Set$ and the relation $R \subseteq U^2$ defined by $R(A) := \{(a,b) \in U(A)^2 : ab = a^2\}$. Both are representable: $U$ by the free semigroup on a single generator and $R$ by the free semigroup on two generators $x,y$ subject to the relation $xy=x^2$. It is clear that $R$ is reflexive, but not symmetric.' @@ -118,9 +118,9 @@ special_morphisms: reason: This characterization holds in every algebraic category. monomorphisms: description: injective semigroup homomorphisms - reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + reason: 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' epimorphisms: - description: "A semigroup homomorphism $f : T \\to S$ is an epimorphism iff $S$ equals the dominion of $U := f(T) \\subseteq S$, meaning that for every $s \\in S$ there are $u_1,\\dotsc,u_{m+1} \\in U$, $v_1,\\dotsc,v_m \\in U$, $x_1,\\dotsc,x_m \\in S$ and $y_1,\\dotsc,y_m \\in S$ such that $s = x_1 u_1$, $u_1 = v_1 y_1$, $x_{i-1} v_{i-1} = x_i u_i$, $u_i y_{i-1} = v_i y_i$, $x_m v_m = u_{m+1}$ and $u_{m+1} y_m = s$." + description: 'A semigroup homomorphism $f : T \to S$ is an epimorphism iff $S$ equals the dominion of $U := f(T) \subseteq S$, meaning that for every $s \in S$ there are $u_1,\dotsc,u_{m+1} \in U$, $v_1,\dotsc,v_m \in U$, $x_1,\dotsc,x_m \in S$ and $y_1,\dotsc,y_m \in S$ such that $s = x_1 u_1$, $u_1 = v_1 y_1$, $x_{i-1} v_{i-1} = x_i u_i$, $u_i y_{i-1} = v_i y_i$, $x_m v_m = u_{m+1}$ and $u_{m+1} y_m = s$.' reason: This is Isbell's zigzag Theorem, see references there. regular epimorphisms: description: surjective homomorphisms diff --git a/databases/catdat/data/categories/Set.yaml b/databases/catdat/data/categories/Set.yaml index 466ba099..765ef8b3 100644 --- a/databases/catdat/data/categories/Set.yaml +++ b/databases/catdat/data/categories/Set.yaml @@ -53,10 +53,10 @@ special_morphisms: reason: This is easy. monomorphisms: description: injective maps - reason: "For the non-trivial direction, if $f : X \\to Y$ is a monomorphism of sets and $a,b \\in X$ satisfy $f(a) = f(b)$, then $f \\circ a = f \\circ b$ when we regard $a,b$ as morphisms $a,b : 1 \\to X$. Hence, $a = b$. More generally, if $\\C$ is a category that admits a faithful and representable functor $U : \\C \\to \\Set$, then the monomorphisms in $\\C$ are precisely the morphisms whose $U$-image is injective." + reason: 'For the non-trivial direction, if $f : X \to Y$ is a monomorphism of sets and $a,b \in X$ satisfy $f(a) = f(b)$, then $f \circ a = f \circ b$ when we regard $a,b$ as morphisms $a,b : 1 \to X$. Hence, $a = b$. More generally, if $\C$ is a category that admits a faithful and representable functor $U : \C \to \Set$, then the monomorphisms in $\C$ are precisely the morphisms whose $U$-image is injective.' epimorphisms: description: surjective maps - reason: "For the non-trivial direction, if $f : X \\to Y$ is an epimorphism of sets, then in particular $f^* : \\Hom(Y,2) \\to \\Hom(X,2)$ is injective, which identifies with $f^* : P(Y) \\to P(X)$. Then for all $y \\in Y$ we have $f^*(\\{y\\}) \\neq f^*(\\varnothing) = \\varnothing$, so that $y$ has a preimage." + reason: 'For the non-trivial direction, if $f : X \to Y$ is an epimorphism of sets, then in particular $f^* : \Hom(Y,2) \to \Hom(X,2)$ is injective, which identifies with $f^* : P(Y) \to P(X)$. Then for all $y \in Y$ we have $f^*(\{y\}) \neq f^*(\varnothing) = \varnothing$, so that $y$ has a preimage.' regular monomorphisms: description: same as monomorphisms reason: This is because the category is mono-regular. diff --git a/databases/catdat/data/categories/Set_c.yaml b/databases/catdat/data/categories/Set_c.yaml index b0639284..fa1da774 100644 --- a/databases/catdat/data/categories/Set_c.yaml +++ b/databases/catdat/data/categories/Set_c.yaml @@ -68,7 +68,7 @@ unsatisfied_properties: reason: Since the forgetful functor $\Set_\c \to \Set$ is representable, it preserves (countable) products. Therefore, if the power $\{0,1\}^{\IN}$ exists in $\Set_\c$, it must be the ordinary cartesian product, which however is uncountable. - property_id: ℵ₁-accessible - reason: "In fact, $\\Set_\\c$ does not have $\\aleph_1$-filtered colimits: Fix an uncountable set $X$, let $P_\\c(X)$ be the poset of countable subsets of $X$, which is $\\aleph_1$-filtered, and consider the functor $P_\\c(X) \\to \\Set_\\c$ taking a subset $Y \\subseteq X$ to $Y$. The colimit of this diagram in $\\Set$ is given by $X$ itself, so if $X_c$ were a colimit in $\\Set_\\c$, then $\\Hom(X_c, \\{0,1\\}) \\cong \\Hom(X, \\{0,1\\})$. But the former has cardinality at most $2^{\\aleph_0}$ and the latter has cardinality $2^{\\card(X)}$, so we have obtained a contradiction if we pick $X$ large enough (e.g. $\\card(X)=2^{\\aleph_0}$)." + reason: 'In fact, $\Set_\c$ does not have $\aleph_1$-filtered colimits: Fix an uncountable set $X$, let $P_\c(X)$ be the poset of countable subsets of $X$, which is $\aleph_1$-filtered, and consider the functor $P_\c(X) \to \Set_\c$ taking a subset $Y \subseteq X$ to $Y$. The colimit of this diagram in $\Set$ is given by $X$ itself, so if $X_c$ were a colimit in $\Set_\c$, then $\Hom(X_c, \{0,1\}) \cong \Hom(X, \{0,1\})$. But the former has cardinality at most $2^{\aleph_0}$ and the latter has cardinality $2^{\card(X)}$, so we have obtained a contradiction if we pick $X$ large enough (e.g. $\card(X)=2^{\aleph_0}$).' special_objects: initial object: @@ -89,7 +89,7 @@ special_morphisms: reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms. epimorphisms: description: surjective maps - reason: "For the non-trivial direction, if $f : X \\to Y$ is an epimorphism of countable sets, then in particular $f^* : \\Hom(Y,2) \\to \\Hom(X,2)$ is injective, which identifies with $f^* : P(Y) \\to P(X)$. Then for all $y \\in Y$ we have $f^*(\\{y\\}) \\neq f^*(\\varnothing) = \\varnothing$, so that $y$ has a preimage." + reason: 'For the non-trivial direction, if $f : X \to Y$ is an epimorphism of countable sets, then in particular $f^* : \Hom(Y,2) \to \Hom(X,2)$ is injective, which identifies with $f^* : P(Y) \to P(X)$. Then for all $y \in Y$ we have $f^*(\{y\}) \neq f^*(\varnothing) = \varnothing$, so that $y$ has a preimage.' regular monomorphisms: description: same as monomorphisms reason: This is because the category is mono-regular. diff --git a/databases/catdat/data/categories/Set_f.yaml b/databases/catdat/data/categories/Set_f.yaml index 687501a9..eb4e1a51 100644 --- a/databases/catdat/data/categories/Set_f.yaml +++ b/databases/catdat/data/categories/Set_f.yaml @@ -2,7 +2,7 @@ id: Set_f name: category of sets with finite-to-one maps notation: $\Set_\f$ objects: sets -morphisms: "maps $f : X \\to Y$ with the property that for every $y \\in Y$ the fiber $f^*(\\{y\\})$ is a finite set" +morphisms: 'maps $f : X \to Y$ with the property that for every $y \in Y$ the fiber $f^*(\{y\})$ is a finite set' description: In this variant of $\Set$ we only consider maps with finite fibers, which are commonly called finite-to-one. Equivalently, every preimage of a finite set is again finite, and this description makes it obvious that composition is well-defined. tags: @@ -20,19 +20,19 @@ satisfied_properties: reason: The singleton set (which is not terminal) is a generator as it represents the forgetful functor $\Set_\f \to \Set$. - property_id: cogenerator - reason: "The set $\\{0,1\\}$ is a cogenerator in $\\Set_\\f$: Assume that $f,g : X \\rightrightarrows Y$ are two finite-to-one maps such that $h \\circ f = h \\circ g$ for all finite-to-one maps $h : Y \\to \\{0,1\\}$. This exactly means $f^*(A)=g^*(A)$ for all finite subsets $A \\subseteq Y$. Applying this to $A = \\{f(x)\\}$ for $x \\in X$ we get $x \\in f^*(\\{f(x)\\}) = g^*(\\{f(x)\\})$, so that $g(x) = f(x)$." + reason: 'The set $\{0,1\}$ is a cogenerator in $\Set_\f$: Assume that $f,g : X \rightrightarrows Y$ are two finite-to-one maps such that $h \circ f = h \circ g$ for all finite-to-one maps $h : Y \to \{0,1\}$. This exactly means $f^*(A)=g^*(A)$ for all finite subsets $A \subseteq Y$. Applying this to $A = \{f(x)\}$ for $x \in X$ we get $x \in f^*(\{f(x)\}) = g^*(\{f(x)\})$, so that $g(x) = f(x)$.' - property_id: extensive - reason: "We first show that finite coproducts exist. The empty set is clearly initial. The disjoint union $X+Y$ of two sets $X,Y$ with the inclusion maps $X \\rightarrow X+Y \\leftarrow Y$ is a coproduct: The inclusions are injective, hence finite-to-one. If $f : X \\to T$, $g : Y \\to T$ are finite-to-one maps, the induced map $(f;g) : X + Y \\to T$ is finite-to-one since the fiber of $t \\in T$ is $f^*(\\{t\\}) + g^*(\\{t\\})$, which is finite. Hence, finite coproducts exist. A map $A \\to X + Y$ yields a decomposition $A = A_X + A_Y$ with maps $A_X \\to X$, $A_Y \\to Y$ (since $\\Set$ is extensive). Here, $A \\to X + Y$ is finite-to-one iff $A_X \\to X$ and $A_Y \\to Y$ are finite-to-one." + reason: 'We first show that finite coproducts exist. The empty set is clearly initial. The disjoint union $X+Y$ of two sets $X,Y$ with the inclusion maps $X \rightarrow X+Y \leftarrow Y$ is a coproduct: The inclusions are injective, hence finite-to-one. If $f : X \to T$, $g : Y \to T$ are finite-to-one maps, the induced map $(f;g) : X + Y \to T$ is finite-to-one since the fiber of $t \in T$ is $f^*(\{t\}) + g^*(\{t\})$, which is finite. Hence, finite coproducts exist. A map $A \to X + Y$ yields a decomposition $A = A_X + A_Y$ with maps $A_X \to X$, $A_Y \to Y$ (since $\Set$ is extensive). Here, $A \to X + Y$ is finite-to-one iff $A_X \to X$ and $A_Y \to Y$ are finite-to-one.' - property_id: equalizers - reason: "Equalizers can be constructed as in $\\Set$ because of the following trivial observation: if $f : X \\to Y$ is a finite-to-one map and $E \\subseteq Y$ is a subset with $f(X) \\subseteq E$, then the induced map $f^E : X \\to E$ is also finite-to-one." + reason: 'Equalizers can be constructed as in $\Set$ because of the following trivial observation: if $f : X \to Y$ is a finite-to-one map and $E \subseteq Y$ is a subset with $f(X) \subseteq E$, then the induced map $f^E : X \to E$ is also finite-to-one.' - property_id: quotients of congruences - reason: "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$." + reason: '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$.' - property_id: effective congruences - reason: "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." + reason: '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.' - property_id: effective cocongruences reason: '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.' @@ -41,7 +41,7 @@ satisfied_properties: reason: If $X$ is a set, the equivalence $\Set/X \simeq \Set^X$, $f \mapsto (f^*(\{x\}))_{x \in X}$ restricts to an equivalence $\Set_\f / X \simeq \FinSet^X$. This category is cartesian closed since the category $\FinSet$ is cartesian closed and products of cartesian closed categories are cartesian closed. - property_id: epi-regular - reason: "If $f : X \\to Y$ is an epimorphism in $\\Set_\\f$, i.e. a surjective finite-to-one map, it is a coequalizer of the two maps $p_1, p_2 : X \\times_Y Y \\rightrightarrows Y$ in $\\Set$. These maps are finite-to-one since $p_i^*(\\{y\\}) \\cong f^*(\\{y\\})$ for $i=1,2$, and their coequalizer is also $f$ in $\\Set_\\f$: It suffices to observe that if $h : Y \\to T$ is a map such that $h \\circ f$ is finite-to-one, then $h$ is finite-to-one as well. In fact, surjectivity of $f$ implies $h^*(\\{t\\}) = f_*((h \\circ f)^*(\\{t\\}))$ for $t \\in T$." + reason: 'If $f : X \to Y$ is an epimorphism in $\Set_\f$, i.e. a surjective finite-to-one map, it is a coequalizer of the two maps $p_1, p_2 : X \times_Y Y \rightrightarrows Y$ in $\Set$. These maps are finite-to-one since $p_i^*(\{y\}) \cong f^*(\{y\})$ for $i=1,2$, and their coequalizer is also $f$ in $\Set_\f$: It suffices to observe that if $h : Y \to T$ is a map such that $h \circ f$ is finite-to-one, then $h$ is finite-to-one as well. In fact, surjectivity of $f$ implies $h^*(\{t\}) = f_*((h \circ f)^*(\{t\}))$ for $t \in T$.' - property_id: semi-strongly connected reason: From set theory it is known that for all sets $X,Y$ there is an injective map $X \to Y$ or an injective map $Y \to X$, and injective maps are finite-to-one. @@ -59,10 +59,10 @@ unsatisfied_properties: reason: This is trivial. - property_id: binary powers - reason: "More generally, if $X,Y$ are two non-empty sets such that $X \\times Y$ exists in $\\Set_\\f$, then both $X$ and $Y$ must be finite. In fact, the forgetful functor to $\\Set$ is representable, so it must preserve products. This means we can assume $X \\times Y$ is the usual cartesian product with the usual projections. Since $p_1 : X \\times Y \\to X$ is finite-to-one and $X$ is non-empty, $Y$ is finite. By symmetric, also $X$ is finite. (Conversely, if $X$ and $Y$ are finite, or one of them is empty, then indeed $X \\times Y$ exists.)" + reason: 'More generally, if $X,Y$ are two non-empty sets such that $X \times Y$ exists in $\Set_\f$, then both $X$ and $Y$ must be finite. In fact, the forgetful functor to $\Set$ is representable, so it must preserve products. This means we can assume $X \times Y$ is the usual cartesian product with the usual projections. Since $p_1 : X \times Y \to X$ is finite-to-one and $X$ is non-empty, $Y$ is finite. By symmetric, also $X$ is finite. (Conversely, if $X$ and $Y$ are finite, or one of them is empty, then indeed $X \times Y$ exists.)' - property_id: countable copowers - reason: "Assume that the copower $X := \\IN \\otimes 1$ exists, where $1$ is the singleton set. This is a set with a map $i : \\IN \\to X$ (not necessarily finite-to-one) such that for every other such map $j : \\IN \\to Y$ there is a unique finite-to-one map $f : X \\to Y$ with $f \\circ i = j$. Applying this to $j : \\IN \\to 1$, we see that $X$ is finite. Applying the universal property to maps $j : \\IN \\to \\{0,1\\}$, we see that for every subset $E \\subseteq \\IN$ there is a unique finite subset $F \\subseteq X$ with $i^*(F) = E$. But finiteness of $F$ is automatic, so $i^* : P(X) \\to P(\\IN)$ is bijective. But then $P(\\IN)$ is finite, which is absurd." + reason: 'Assume that the copower $X := \IN \otimes 1$ exists, where $1$ is the singleton set. This is a set with a map $i : \IN \to X$ (not necessarily finite-to-one) such that for every other such map $j : \IN \to Y$ there is a unique finite-to-one map $f : X \to Y$ with $f \circ i = j$. Applying this to $j : \IN \to 1$, we see that $X$ is finite. Applying the universal property to maps $j : \IN \to \{0,1\}$, we see that for every subset $E \subseteq \IN$ there is a unique finite subset $F \subseteq X$ with $i^*(F) = E$. But finiteness of $F$ is automatic, so $i^* : P(X) \to P(\IN)$ is bijective. But then $P(\IN)$ is finite, which is absurd.' - property_id: essentially small reason: This is obvious. @@ -71,7 +71,7 @@ unsatisfied_properties: reason: Already $\Set$ is not strongly connected. - property_id: filtered - reason: "Consider the maps $f,g : \\IN \\rightrightarrows \\IN$ defined by $f(x)=x$ and $g(x)=2x$. They are injective, hence finite-to-one. If a map $h : \\IN \\to X$ coequalizes them, we have $h(x)=h(2x)$, in particular $h(1)=h(2^n)$ for all $n \\in \\IN$. Thus, $h$ is not finite-to-one." + reason: 'Consider the maps $f,g : \IN \rightrightarrows \IN$ defined by $f(x)=x$ and $g(x)=2x$. They are injective, hence finite-to-one. If a map $h : \IN \to X$ coequalizes them, we have $h(x)=h(2x)$, in particular $h(1)=h(2^n)$ for all $n \in \IN$. Thus, $h$ is not finite-to-one.' - property_id: sequential limits reason: Consider the set $[n] := \{0,\dotsc,n\}$ for $n \in \IN$. The forgetful functor to $\Set$ is representable (by the singleton set), hence preserves all limits. Thus, if the diagram of truncation maps $\cdots \twoheadrightarrow [2] \twoheadrightarrow [1] \twoheadrightarrow [0]$ has a limit in $\Set_\f$, its underlying set is isomorphic to the limit taken in $\Set$, which is $\IN \cup \{\infty\}$. But there is no finite-to-one map $\IN \cup \{\infty\} \to [0]$. @@ -91,7 +91,7 @@ special_morphisms: reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the singleton), hence preserves monomorphisms. epimorphisms: description: surjective maps with finite fibers - reason: "For the non-trivial direction, if $f : X \\to Y$ is an epimorphism in this category, then in particular $f^* : \\Hom(Y,2) \\to \\Hom(X,2)$ is injective, which identifies with $f^* : E(Y) \\to E(X)$, where $E(-)$ denotes the set of finite subsets. Then for all $y \\in Y$ we have $f^*(\\{y\\}) \\neq f^*(\\varnothing) = \\varnothing$, so that $y$ has a preimage." + reason: 'For the non-trivial direction, if $f : X \to Y$ is an epimorphism in this category, then in particular $f^* : \Hom(Y,2) \to \Hom(X,2)$ is injective, which identifies with $f^* : E(Y) \to E(X)$, where $E(-)$ denotes the set of finite subsets. Then for all $y \in Y$ we have $f^*(\{y\}) \neq f^*(\varnothing) = \varnothing$, so that $y$ has a preimage.' regular monomorphisms: description: same as monomorphisms reason: This is because the category is mono-regular. diff --git a/databases/catdat/data/categories/Set_op.yaml b/databases/catdat/data/categories/Set_op.yaml index feefbe66..a7fa9eb8 100644 --- a/databases/catdat/data/categories/Set_op.yaml +++ b/databases/catdat/data/categories/Set_op.yaml @@ -2,7 +2,7 @@ id: Set_op name: dual of the category of sets notation: $\Set^{\op}$ objects: sets -morphisms: "A morphism $f : X \\to Y$ is a map of sets $Y \\to X$." +morphisms: 'A morphism $f : X \to Y$ is a map of sets $Y \to X$.' description: By definition, this category is the dual (or opposite) of the category of sets. nlab_link: https://ncatlab.org/nlab/show/opposite+category dual_category_id: Set diff --git a/databases/catdat/data/categories/Set_pointed.yaml b/databases/catdat/data/categories/Set_pointed.yaml index d6ff188b..e951afd9 100644 --- a/databases/catdat/data/categories/Set_pointed.yaml +++ b/databases/catdat/data/categories/Set_pointed.yaml @@ -57,11 +57,11 @@ unsatisfied_properties: reason: This is trivial. - property_id: unital - reason: "The joint image of $X \\to X \\times Y \\leftarrow Y$ is just $\\{(x,0) : x \\in X\\} \\cup \\{(0,y) : y \\in Y\\}$ (where $0$ denotes the base point), which is clearly a proper subset of $X \\times Y$ when both $X,Y$ are non-trivial." + reason: 'The joint image of $X \to X \times Y \leftarrow Y$ is just $\{(x,0) : x \in X\} \cup \{(0,y) : y \in Y\}$ (where $0$ denotes the base point), which is clearly a proper subset of $X \times Y$ when both $X,Y$ are non-trivial.' - property_id: CSP # TODO: remove duplication with unital proof - reason: "The image of $X \\vee Y$ in $X \\times Y$ is just $\\{(x,0) : x \\in X\\} \\cup \\{(0,y) : y \\in Y\\}$ (where $0$ denotes the base point), which is clearly a proper subset when both $X,Y$ are non-trivial." + reason: 'The image of $X \vee Y$ in $X \times Y$ is just $\{(x,0) : x \in X\} \cup \{(0,y) : y \in Y\}$ (where $0$ denotes the base point), which is clearly a proper subset when both $X,Y$ are non-trivial.' - property_id: conormal reason: 'Every cokernel is "injective away from the base point". Formally, if $p : A \to B$ is a cokernel in $\Set_*$, it has the property that $p(x)=p(y) \neq 0$ implies $x=y$ (where $0$ denotes the base point). Clearly this is not satisfied for every surjective pointed map, consider $(\IN,0) \to (\{0,1\},0)$ defined by $0 \mapsto 0$ and $x \mapsto 1$ for $x > 0$.' @@ -85,10 +85,10 @@ special_morphisms: reason: This characterization holds in every algebraic category. monomorphisms: description: injective pointed maps - reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + reason: 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' epimorphisms: description: surjective pointed maps - reason: "If $f : X \\to Y$ is an epimorphism of pointed sets, then the inclusion $i : f(X) \\hookrightarrow Y$ is an epimorphism as well. But it is also a split monomorphism (we may map everything in $Y \\setminus f(X)$ to the base point of $f(X)$, and do not touch the rest), hence an isomorphism." + reason: 'If $f : X \to Y$ is an epimorphism of pointed sets, then the inclusion $i : f(X) \hookrightarrow Y$ is an epimorphism as well. But it is also a split monomorphism (we may map everything in $Y \setminus f(X)$ to the base point of $f(X)$, and do not touch the rest), hence an isomorphism.' regular monomorphisms: description: same as monomorphisms reason: This is because the category is mono-regular. diff --git a/databases/catdat/data/categories/Setne.yaml b/databases/catdat/data/categories/Setne.yaml index 4d471d1e..9b0f6114 100644 --- a/databases/catdat/data/categories/Setne.yaml +++ b/databases/catdat/data/categories/Setne.yaml @@ -56,7 +56,7 @@ satisfied_properties: reason: This follows from this lemma applied to the forgetful functor to $\Set$. - property_id: effective congruences - reason: "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." + reason: '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.' unsatisfied_properties: - property_id: sequential limits @@ -89,7 +89,7 @@ special_morphisms: reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the terminal object), hence preserves monomorphisms. epimorphisms: description: surjective maps - reason: "For the non-trivial direction, let $f : X \\to Y$ be an epimorphism of non-empty sets. Then the inclusion $f(X) \\hookrightarrow Y$ is an epimorphism as well, but also a split monomorphism (we can just map everything in $Y \\setminus f(X)$ to a fixed element of $f(X)$). As such, it must be an isomorphism." + reason: 'For the non-trivial direction, let $f : X \to Y$ be an epimorphism of non-empty sets. Then the inclusion $f(X) \hookrightarrow Y$ is an epimorphism as well, but also a split monomorphism (we can just map everything in $Y \setminus f(X)$ to a fixed element of $f(X)$). As such, it must be an isomorphism.' regular monomorphisms: description: same as monomorphisms reason: This is because the category is mono-regular. diff --git a/databases/catdat/data/categories/Sh(X).yaml b/databases/catdat/data/categories/Sh(X).yaml index 29eed8e1..3cdf469d 100644 --- a/databases/catdat/data/categories/Sh(X).yaml +++ b/databases/catdat/data/categories/Sh(X).yaml @@ -48,10 +48,10 @@ special_morphisms: reason: This is easy. monomorphisms: description: morphisms of sheaves that are injective on every open subset - reason: "For the non-trivial direction, assume that $f : F \\to G$ is a monomorphism of sheaves on $X$. Then the diagonal $F \\to F \\times_G F$ is an isomorphism. Since pullbacks of sheaves are constructed section-wise, it follows that the diagonal $F(U) \\to F(U) \\times_{G(U)} F(U)$ is an isomorphism for every open set $U \\subseteq X$. But this means that $f(U) : F(U) \\to G(U)$ is injective." + reason: 'For the non-trivial direction, assume that $f : F \to G$ is a monomorphism of sheaves on $X$. Then the diagonal $F \to F \times_G F$ is an isomorphism. Since pullbacks of sheaves are constructed section-wise, it follows that the diagonal $F(U) \to F(U) \times_{G(U)} F(U)$ is an isomorphism for every open set $U \subseteq X$. But this means that $f(U) : F(U) \to G(U)$ is injective.' epimorphisms: description: 'morphisms of sheaves $f : F \to G$ that are "locally surjective": for every local section $g \in G(U)$ there is an open covering $U = \bigcup_{i \in I} U_i$ such that each $g|_{U_i} \in G(U_i)$ is contained in the image of $f(U_i) : F(U_i) \to G(U_i)$.' - reason: "The one direction is easy. For the other one, assume that $f : F \\to G$ is an epimorphism of sheaves. For every $x \\in X$ the map on stalks $f_x : F_x \\to G_x$ is an epimorphism because the stalk functor $\\Sh(X) \\to \\Set$ admits a right adjoint: take skyscraper sheaves. For $x \\in U$ then $g_x \\in G_x$ has a preimage in $F_x$, say represented by some $f \\in F(V_x)$ for some $x \\in V_x \\subseteq U$. By construction of the stalk $G_x$, there is some $x \\in U_x \\subseteq V_x$ with $f(U_x)(f|_{U_x}) = g|_{U_x}$. Hence, the sets $(U_x)$ provide the open covering." + reason: 'The one direction is easy. For the other one, assume that $f : F \to G$ is an epimorphism of sheaves. For every $x \in X$ the map on stalks $f_x : F_x \to G_x$ is an epimorphism because the stalk functor $\Sh(X) \to \Set$ admits a right adjoint: take skyscraper sheaves. For $x \in U$ then $g_x \in G_x$ has a preimage in $F_x$, say represented by some $f \in F(V_x)$ for some $x \in V_x \subseteq U$. By construction of the stalk $G_x$, there is some $x \in U_x \subseteq V_x$ with $f(U_x)(f|_{U_x}) = g|_{U_x}$. Hence, the sets $(U_x)$ provide the open covering.' regular monomorphisms: description: same as monomorphisms reason: This is because the category is mono-regular. diff --git a/databases/catdat/data/categories/Sh(X,Ab).yaml b/databases/catdat/data/categories/Sh(X,Ab).yaml index 43dc9326..b1dd6e8a 100644 --- a/databases/catdat/data/categories/Sh(X,Ab).yaml +++ b/databases/catdat/data/categories/Sh(X,Ab).yaml @@ -47,10 +47,10 @@ special_morphisms: reason: This is easy. monomorphisms: description: morphisms of abelian sheaves that are injective on every open subset - reason: "For the non-trivial direction, assume that $f : F \\to G$ is a monomorphism of abelian sheaves on $X$. Then the diagonal $F \\to F \\times_G F$ is an isomorphism. Since pullbacks of abelian sheaves are constructed section-wise, it follows that the diagonal $F(U) \\to F(U) \\times_{G(U)} F(U)$ is an isomorphism for every open set $U \\subseteq X$. But this means that $f(U) : F(U) \\to G(U)$ is injective." + reason: 'For the non-trivial direction, assume that $f : F \to G$ is a monomorphism of abelian sheaves on $X$. Then the diagonal $F \to F \times_G F$ is an isomorphism. Since pullbacks of abelian sheaves are constructed section-wise, it follows that the diagonal $F(U) \to F(U) \times_{G(U)} F(U)$ is an isomorphism for every open set $U \subseteq X$. But this means that $f(U) : F(U) \to G(U)$ is injective.' epimorphisms: description: 'morphisms of abelian sheaves $f : F \to G$ that are "locally surjective": for every local section $g \in G(U)$ there is an open covering $U = \bigcup_{i \in I} U_i$ such that each $g|_{U_i} \in G(U_i)$ is contained in the image of $f(U_i) : F(U_i) \to G(U_i)$.' - reason: "The one direction is easy. For the other one, assume that $f : F \\to G$ is an epimorphism of abelian sheaves. For every $x \\in X$ the homomorphism on stalks $f_x : F_x \\to G_x$ is an epimorphism because the stalk functor $\\Sh(X,\\Ab) \\to \\Ab$ admits a right adjoint: take skyscraper sheaves. For $x \\in U$ then $g_x \\in G_x$ has a preimage in $F_x$, say represented by some $f \\in F(V_x)$ for some $x \\in V_x \\subseteq U$. By construction of the stalk $G_x$, there is some $x \\in U_x \\subseteq V_x$ with $f(U_x)(f|_{U_x}) = g|_{U_x}$. Hence, the sets $(U_x)$ provide the open covering." + reason: 'The one direction is easy. For the other one, assume that $f : F \to G$ is an epimorphism of abelian sheaves. For every $x \in X$ the homomorphism on stalks $f_x : F_x \to G_x$ is an epimorphism because the stalk functor $\Sh(X,\Ab) \to \Ab$ admits a right adjoint: take skyscraper sheaves. For $x \in U$ then $g_x \in G_x$ has a preimage in $F_x$, say represented by some $f \in F(V_x)$ for some $x \in V_x \subseteq U$. By construction of the stalk $G_x$, there is some $x \in U_x \subseteq V_x$ with $f(U_x)(f|_{U_x}) = g|_{U_x}$. Hence, the sets $(U_x)$ provide the open covering.' regular monomorphisms: description: same as monomorphisms reason: This is because the category is mono-regular. diff --git a/databases/catdat/data/categories/Sp.yaml b/databases/catdat/data/categories/Sp.yaml index dc260761..d7b2b85d 100644 --- a/databases/catdat/data/categories/Sp.yaml +++ b/databases/catdat/data/categories/Sp.yaml @@ -25,7 +25,7 @@ satisfied_properties: unsatisfied_properties: - property_id: locally small - reason: "Disclaimer: This result and its proof are not relevant for category theory and are also depending on the concrete model of set theory. That this category is locally essentially small is only what matters. Now, consider the terminal species $F=G=1$. Then $\\Hom(F,G)$ has just a single element, namely the natural transformation $\\alpha$ that sends every finite set $X$ to the unique map $\\alpha_X : 1 \\to 1$. Formally, $\\alpha$ is a map, modelled as a set of ordered pairs $(X,\\id_1)$, where $X$ is a finite set. Hence, $\\alpha$ is not a set (since finite sets do not form a set), and therefore $\\Hom(F,G) = \\{\\alpha\\}$ is also not a set." + reason: 'Disclaimer: This result and its proof are not relevant for category theory and are also depending on the concrete model of set theory. That this category is locally essentially small is only what matters. Now, consider the terminal species $F=G=1$. Then $\Hom(F,G)$ has just a single element, namely the natural transformation $\alpha$ that sends every finite set $X$ to the unique map $\alpha_X : 1 \to 1$. Formally, $\alpha$ is a map, modelled as a set of ordered pairs $(X,\id_1)$, where $X$ is a finite set. Hence, $\alpha$ is not a set (since finite sets do not form a set), and therefore $\Hom(F,G) = \{\alpha\}$ is also not a set.' - property_id: countable powers reason: If $\Sp \simeq \FinSet \times \prod_{n > 0} \Sigma_n{-}\FinSet$ has countable powers, then $\FinSet$ has countable powers as well by this lemma, which we already know is false (see here). @@ -34,10 +34,10 @@ unsatisfied_properties: reason: This is trivial. - property_id: semi-strongly connected - reason: "For $n \\geq 0$ let $E_n$ be the combinatorial species of $n$-sets: $E_n(A) = \\{A\\}$ when $A$ has cardinality $n$, otherwise $E_n(A) = \\varnothing$. Then there is no morphism between $E_n$ and $E_m$ unless $n = m$." + reason: 'For $n \geq 0$ let $E_n$ be the combinatorial species of $n$-sets: $E_n(A) = \{A\}$ when $A$ has cardinality $n$, otherwise $E_n(A) = \varnothing$. Then there is no morphism between $E_n$ and $E_m$ unless $n = m$.' - property_id: generator - reason: "Assume that a generator $G$ exists. For $n \\geq 0$ let $F_n$ be the combinatorial species of sets of cardinality $\\neq n$: $F_n(A) = \\varnothing$ when $A$ has cardinality $n$, otherwise $F_n(A) = \\{A\\}$. There are two different morphisms $F_n \\rightrightarrows F_n \\sqcup F_n$. Hence, there must be at least one morphism $G \\to F_n$. If $A$ has cardinality $n$, this implies $G(A) = \\varnothing$. Since this holds for all $n$, $G$ is the initial object. But this is clearly no generator (it would mean that the category is thin)." + reason: 'Assume that a generator $G$ exists. For $n \geq 0$ let $F_n$ be the combinatorial species of sets of cardinality $\neq n$: $F_n(A) = \varnothing$ when $A$ has cardinality $n$, otherwise $F_n(A) = \{A\}$. There are two different morphisms $F_n \rightrightarrows F_n \sqcup F_n$. Hence, there must be at least one morphism $G \to F_n$. If $A$ has cardinality $n$, this implies $G(A) = \varnothing$. Since this holds for all $n$, $G$ is the initial object. But this is clearly no generator (it would mean that the category is thin).' - property_id: essentially countable reason: Any function $f\colon\IN \to \IN$ can be regarded as a combinatorial species with trivial actions, and distinct functions yield non-isomorphic species. @@ -64,7 +64,7 @@ special_morphisms: reason: This is the for every functor category. monomorphisms: description: pointwise injective natural transformations - reason: "If $a : F \\to G$ is a monomorphism of species, then the diagonal morphism $F \\to F \\times_G F$ is an isomorphism, so that for every $x$ the diagonal morphism $F(x) \\to F(x) \\times_{G(x)} F(x)$ is an isomorphism, i.e., $a(x) : F(x) \\to G(x)$ is a monomorphism. This argument works for every functor category where the target has fiber products." + reason: 'If $a : F \to G$ is a monomorphism of species, then the diagonal morphism $F \to F \times_G F$ is an isomorphism, so that for every $x$ the diagonal morphism $F(x) \to F(x) \times_{G(x)} F(x)$ is an isomorphism, i.e., $a(x) : F(x) \to G(x)$ is a monomorphism. This argument works for every functor category where the target has fiber products.' epimorphisms: description: pointwise surjective natural transformations reason: This holds in every functor category $[\C,\Set]$. diff --git a/databases/catdat/data/categories/Top.yaml b/databases/catdat/data/categories/Top.yaml index 31064ece..59eb2b8d 100644 --- a/databases/catdat/data/categories/Top.yaml +++ b/databases/catdat/data/categories/Top.yaml @@ -32,7 +32,7 @@ satisfied_properties: reason: This is clear from the classification of epimorphisms as surjective continuous maps. - property_id: infinitary extensive - reason: "[Sketch] Since $\\Set$ is infinitary extensive, a map $f : Y \\to \\coprod_i X_i$ corresponds to a decomposition $Y = \\coprod_i Y_i$ (as sets) with maps $f_i : Y_i \\to X_i$. Endow $Y_i$ with the subspace topology. If $f$ is continuous, each $Y_i = f^{-1}(X_i)$ is open in $Y$, so that $Y = \\coprod_i Y_i$ holds as topological spaces, and each $f_i$ is continuous." + reason: '[Sketch] Since $\Set$ is infinitary extensive, a map $f : Y \to \coprod_i X_i$ corresponds to a decomposition $Y = \coprod_i Y_i$ (as sets) with maps $f_i : Y_i \to X_i$. Endow $Y_i$ with the subspace topology. If $f$ is continuous, each $Y_i = f^{-1}(X_i)$ is open in $Y$, so that $Y = \coprod_i Y_i$ holds as topological spaces, and each $f_i$ is continuous.' - property_id: generator reason: The one-point space is a generator since it represents the forgetful functor $\Top \to \Set$. @@ -81,7 +81,7 @@ unsatisfied_properties: reason: 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. - property_id: effective cocongruences - reason: "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." + reason: '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.' special_objects: initial object: @@ -105,7 +105,7 @@ special_morphisms: reason: The proof works exactly as for the category of sets, where we endow $2$ with the indiscrete topology. regular monomorphisms: description: embeddings - reason: "Equalizers are embeddings by their construction. Conversely, if $f : X \\to Y$ is an embedding, then $f$ is the equalizer of the two characteristic maps $\\chi_Y, \\chi_{f(X)} : Y \\to \\{0,1\\}$, where $\\{0,1\\}$ carries the indiscrete topology." + reason: 'Equalizers are embeddings by their construction. Conversely, if $f : X \to Y$ is an embedding, then $f$ is the equalizer of the two characteristic maps $\chi_Y, \chi_{f(X)} : Y \to \{0,1\}$, where $\{0,1\}$ carries the indiscrete topology.' regular epimorphisms: description: surjective quotient maps - reason: "Regular epimorphisms are surjective quotient maps by the explicit construction of coequalizers. Conversely, if $q : X \\to Y$ is a surjective quotient map, then one checks that $q$ is the coequalizer of its kernel pair $X \\times_Y X \\rightrightarrows X$: This is true for the underlying sets, and continuity of the induced morphism follows since $q$ is a quotient map." + reason: 'Regular epimorphisms are surjective quotient maps by the explicit construction of coequalizers. Conversely, if $q : X \to Y$ is a surjective quotient map, then one checks that $q$ is the coequalizer of its kernel pair $X \times_Y X \rightrightarrows X$: This is true for the underlying sets, and continuity of the induced morphism follows since $q$ is a quotient map.' diff --git a/databases/catdat/data/categories/Top_pointed.yaml b/databases/catdat/data/categories/Top_pointed.yaml index c6553cca..544f963d 100644 --- a/databases/catdat/data/categories/Top_pointed.yaml +++ b/databases/catdat/data/categories/Top_pointed.yaml @@ -83,14 +83,14 @@ unsatisfied_properties: reason: This is trivial. - property_id: co-Malcev - reason: "We can adjust the proof for $\\Top$ as follows: Consider the forgetful functor $U : \\Top_* \\to \\Set$ and the relation $R \\subseteq U^2$ defined by $R(X) := \\{(x,y) \\in U(X)^2 : x \\in \\overline{\\{y\\}} \\}$. Both are representable: $U$ by the discrete space $\\{0,1\\}$ with base point $0$ and $R$ by the Sierpinski space with an isolated base point added. It is clear that $R$ is reflexive, but not symmetric." + reason: 'We can adjust the proof for $\Top$ as follows: Consider the forgetful functor $U : \Top_* \to \Set$ and the relation $R \subseteq U^2$ defined by $R(X) := \{(x,y) \in U(X)^2 : x \in \overline{\{y\}} \}$. Both are representable: $U$ by the discrete space $\{0,1\}$ with base point $0$ and $R$ by the Sierpinski space with an isolated base point added. It is clear that $R$ is reflexive, but not symmetric.' - property_id: unital - reason: "The joint image of $X \\to X \\times Y \\leftarrow Y$ is just $\\{(x,0) : x \\in X\\} \\cup \\{(0,y) : y \\in Y\\}$ (where $0$ denotes the base point), which is clearly a proper subset of $X \\times Y$ when both $X,Y$ are non-trivial." + reason: 'The joint image of $X \to X \times Y \leftarrow Y$ is just $\{(x,0) : x \in X\} \cup \{(0,y) : y \in Y\}$ (where $0$ denotes the base point), which is clearly a proper subset of $X \times Y$ when both $X,Y$ are non-trivial.' - property_id: CSP # TODO: remove duplication with unital proof - reason: "The image of $X \\vee Y$ in $X \\times Y$ is just $\\{(x,0) : x \\in X\\} \\cup \\{(0,y) : y \\in Y\\}$ (where $0$ denotes the base point), which is clearly a proper subset when both $X,Y$ are non-trivial." + reason: 'The image of $X \vee Y$ in $X \times Y$ is just $\{(x,0) : x \in X\} \cup \{(0,y) : y \in Y\}$ (where $0$ denotes the base point), which is clearly a proper subset when both $X,Y$ are non-trivial.' - property_id: regular quotient object classifier reason: We can recycle the proof for the category of pointed sets using discrete topological spaces. @@ -126,10 +126,10 @@ special_morphisms: reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the discrete two-point space), hence preserves monomorphisms. epimorphisms: description: surjective pointed continuous maps - reason: "For the non-trivial direction: The forgetful functor $\\Top_* \\to \\Top$ preserves pushouts and hence also epimorphisms, and we already know the epimorphisms in $\\Top$." + reason: 'For the non-trivial direction: The forgetful functor $\Top_* \to \Top$ preserves pushouts and hence also epimorphisms, and we already know the epimorphisms in $\Top$.' regular monomorphisms: description: embeddings - reason: "Equalizers are embeddings by their construction. Conversely, if $f : X \\to Y$ is an embedding, then $f$ is the equalizer of the two characteristic maps $\\chi_Y, \\chi_{f(X)} : Y \\to \\{0,1\\}$, where $\\{0,1\\}$ carries the indiscrete topology and $1$ is the base point." + reason: 'Equalizers are embeddings by their construction. Conversely, if $f : X \to Y$ is an embedding, then $f$ is the equalizer of the two characteristic maps $\chi_Y, \chi_{f(X)} : Y \to \{0,1\}$, where $\{0,1\}$ carries the indiscrete topology and $1$ is the base point.' regular epimorphisms: description: surjective pointed quotient maps - reason: "Regular epimorphisms are surjective pointed quotient maps by the explicit construction of coequalizers. Conversely, if $q : X \\to Y$ is a surjective pointed quotient map, then one checks that $q$ is the coequalizer of its kernel pair $X \\times_Y X \\rightrightarrows X$: This is true for the underlying pointed sets, and continuity of the induced morphism follows since $q$ is a quotient map." + reason: 'Regular epimorphisms are surjective pointed quotient maps by the explicit construction of coequalizers. Conversely, if $q : X \to Y$ is a surjective pointed quotient map, then one checks that $q$ is the coequalizer of its kernel pair $X \times_Y X \rightrightarrows X$: This is true for the underlying pointed sets, and continuity of the induced morphism follows since $q$ is a quotient map.' diff --git a/databases/catdat/data/categories/TorsAb.yaml b/databases/catdat/data/categories/TorsAb.yaml index 9361e9d6..97226c6e 100644 --- a/databases/catdat/data/categories/TorsAb.yaml +++ b/databases/catdat/data/categories/TorsAb.yaml @@ -30,10 +30,10 @@ satisfied_properties: reason: It is a full subcategory of the preadditive category $\Ab$. - property_id: normal - reason: "If $f : A \\to B$ is a monomorphism, it is injective (see below). In $\\Ab$ it is then the kernel of $B \\to B/f(A)$. Since $B/f(A)$ is torsion, it is also the kernel in $\\TorsAb$." + reason: 'If $f : A \to B$ is a monomorphism, it is injective (see below). In $\Ab$ it is then the kernel of $B \to B/f(A)$. Since $B/f(A)$ is torsion, it is also the kernel in $\TorsAb$.' - property_id: conormal - reason: "If $f : A \\to B$ is an epimorphism, it is surjective (see below). In $\\Ab$ it is then the cokernel of its kernel $K \\hookrightarrow A$. Since $K$ is torsion, it is also the cokernel in $\\TorsAb$." + reason: 'If $f : A \to B$ is an epimorphism, it is surjective (see below). In $\Ab$ it is then the cokernel of its kernel $K \hookrightarrow A$. Since $K$ is torsion, it is also the cokernel in $\TorsAb$.' - property_id: finitely accessible reason: We already know that (filtered) colimits exist and are preserved by the forgetful functor to $\Ab$. Every torsion abelian group is the filtered colimit of its finitely generated subgroups (which are finite). These are finitely presentable in $\Ab$, hence also in $\TorsAb$. @@ -70,7 +70,7 @@ special_morphisms: reason: This is easy. monomorphisms: description: injective group homomorphisms - reason: "For the non-trivial direction, assume $f : A \\to B$ is a monomorphism and $a \\in A$ satisfies $f(a)=0$. Choose $n \\geq 1$ with $n a = 0$. Then $a$ corresponds to a homomorphism of torsion abelian groups $\\tilde{a} : \\IZ/n \\to A$ satisfying $f \\circ \\tilde{a} = 0$. Hence, $\\tilde{a} = 0$, which means $a = 0$." + reason: 'For the non-trivial direction, assume $f : A \to B$ is a monomorphism and $a \in A$ satisfies $f(a)=0$. Choose $n \geq 1$ with $n a = 0$. Then $a$ corresponds to a homomorphism of torsion abelian groups $\tilde{a} : \IZ/n \to A$ satisfying $f \circ \tilde{a} = 0$. Hence, $\tilde{a} = 0$, which means $a = 0$.' epimorphisms: description: surjective homomorphisms reason: Clearly, surjective homomorphisms are epimorphisms. The converse follows since the forgetful functor $\TorsAb \to \Ab$ has a right adjoint, hence preserves epimorphisms. diff --git a/databases/catdat/data/categories/TorsFreeAb.yaml b/databases/catdat/data/categories/TorsFreeAb.yaml index ff27b57e..a7e32db5 100644 --- a/databases/catdat/data/categories/TorsFreeAb.yaml +++ b/databases/catdat/data/categories/TorsFreeAb.yaml @@ -23,7 +23,7 @@ satisfied_properties: check_redundancy: false - property_id: cocomplete - reason: "The embedding $\\TorsFreeAb \\hookrightarrow \\Ab$ has a left adjoint, sending an abelian group $A$ to its torsion-free reflection $A/T(A)$, where $T(A)$ is the torsion subgroup of $A$. Since $\\Ab$ is cocomplete, $\\TorsFreeAb$ is cocomplete as well. The colimit of a diagram of torsion-free abelian groups is the torsion-free reflection of the colimit of the underlying abelian groups. Notice that the reflection is not required in the case of coproducts: the direct sum of torsion-free abelian groups is again torsion-free. It is also not required for filtered colimits." + reason: 'The embedding $\TorsFreeAb \hookrightarrow \Ab$ has a left adjoint, sending an abelian group $A$ to its torsion-free reflection $A/T(A)$, where $T(A)$ is the torsion subgroup of $A$. Since $\Ab$ is cocomplete, $\TorsFreeAb$ is cocomplete as well. The colimit of a diagram of torsion-free abelian groups is the torsion-free reflection of the colimit of the underlying abelian groups. Notice that the reflection is not required in the case of coproducts: the direct sum of torsion-free abelian groups is again torsion-free. It is also not required for filtered colimits.' check_redundancy: false - property_id: finitely accessible @@ -49,7 +49,7 @@ unsatisfied_properties: reason: This is trivial. - property_id: balanced - reason: "It can be checked directly that $2 : \\IZ \\to \\IZ$ is both a monomorphism and an epimorphism, but no isomorphism. This also follows from the general classification of mono- and epimorphisms below." + reason: 'It can be checked directly that $2 : \IZ \to \IZ$ is both a monomorphism and an epimorphism, but no isomorphism. This also follows from the general classification of mono- and epimorphisms below.' - property_id: CSP reason: 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. @@ -72,11 +72,11 @@ special_morphisms: description: injective group homomorphisms reason: For the non-trivial direction, the forgetful functor to $\Set$ is representable (by the group $\IZ$), hence preserves monomorphisms. epimorphisms: - description: "homomorphisms $f : A \\to B$ such that $B/f(A)$ is a torsion group" + description: 'homomorphisms $f : A \to B$ such that $B/f(A)$ is a torsion group' reason: The homomorphism $f$ is an epimorphism iff its cokernel in $\TorsFreeAb$ is trivial. As with all types of colimits, the cokernel is the torsion-free reflection of the cokernel in $\Ab$, which is $B/f(A)$. This is trivial iff $B/f(A)$ is torsion. regular monomorphisms: - description: "injective group homomorphisms $i : A \\to B$ such that $B/i(A)$ is torsion-free, i.e., $i$ is the inclusion of a saturated subgroup" - reason: "If $i : A \\to B$ is the kernel of $f : B \\to C$ in $\\TorsFreeAb$, it is also the kernel of $f$ in $\\Ab$, so we know that $i$ is injective with $i(A) = \\{b \\in B : f(b) = 0\\}$. If $n \\in \\IZ \\setminus \\{0\\}$ and $b \\in B$ satisfy $f(n b) = 0$, then also $f(b)=0$ since $C$ is torsion-free. This shows that $B/i(A)$ is torsion-free. Conversely, if $i$ is injective and $B/i(A)$ is torsion-free, then $i$ is the kernel of the natural homomorphism $B \\to B/i(A)$." + description: 'injective group homomorphisms $i : A \to B$ such that $B/i(A)$ is torsion-free, i.e., $i$ is the inclusion of a saturated subgroup' + reason: 'If $i : A \to B$ is the kernel of $f : B \to C$ in $\TorsFreeAb$, it is also the kernel of $f$ in $\Ab$, so we know that $i$ is injective with $i(A) = \{b \in B : f(b) = 0\}$. If $n \in \IZ \setminus \{0\}$ and $b \in B$ satisfy $f(n b) = 0$, then also $f(b)=0$ since $C$ is torsion-free. This shows that $B/i(A)$ is torsion-free. Conversely, if $i$ is injective and $B/i(A)$ is torsion-free, then $i$ is the kernel of the natural homomorphism $B \to B/i(A)$.' regular epimorphisms: description: surjective group homomorphisms - reason: "By the construction of the coequalizer in $\\TorsFreeAb$ as the torsion-free reflection of the coequalizer in $\\Ab$, every regular epimorphism is surjective. Conversely, if $f : A \\to B$ is a surjective homomorphism of torsion-free abelian groups, in $\\Ab$ it is the coequalizer of the two projections $A \\times_B A \\rightrightarrows A$, and $A \\times_B A$ is also torsion-free. Hence, it is also the coequalizer of these projections in $\\TorsFreeAb$." + reason: 'By the construction of the coequalizer in $\TorsFreeAb$ as the torsion-free reflection of the coequalizer in $\Ab$, every regular epimorphism is surjective. Conversely, if $f : A \to B$ is a surjective homomorphism of torsion-free abelian groups, in $\Ab$ it is the coequalizer of the two projections $A \times_B A \rightrightarrows A$, and $A \times_B A$ is also torsion-free. Hence, it is also the coequalizer of these projections in $\TorsFreeAb$.' diff --git a/databases/catdat/data/categories/Vect.yaml b/databases/catdat/data/categories/Vect.yaml index dd489bb9..4a724045 100644 --- a/databases/catdat/data/categories/Vect.yaml +++ b/databases/catdat/data/categories/Vect.yaml @@ -46,7 +46,7 @@ special_morphisms: reason: This characterization holds in every algebraic category. monomorphisms: description: injective linear maps - reason: "This holds in every finitary algebraic category: the forgetful functor to $\\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms." + reason: 'This holds in every finitary algebraic category: the forgetful functor to $\Set$ is faithful, hence reflects monomorphisms, and it is continuous (even representable), hence preserves monomorphisms.' epimorphisms: description: surjective linear maps reason: The forgetful functor to abelian groups is faithful and preserves colimits, hence reflects and preserves epimorphisms. Alternatively, just use the same proof as for abelian groups. diff --git a/databases/catdat/data/categories/Z.yaml b/databases/catdat/data/categories/Z.yaml index f99265ce..a0735708 100644 --- a/databases/catdat/data/categories/Z.yaml +++ b/databases/catdat/data/categories/Z.yaml @@ -89,7 +89,7 @@ special_morphisms: reason: This is true for all functor categories. monomorphisms: description: pointwise injective natural transformations - reason: "If $a : F \\to G$ is a monomorphism of Z-functors, then the diagonal morphism $F \\to F \\times_G F$ is an isomorphism, so that for every $R$ the diagonal morphism $F(R) \\to F(R) \\times_{G(R)} F(R)$ is an isomorphism, i.e., $a(R) : F(R) \\to G(R)$ is a monomorphism. This argument works for every functor category where the target has fiber products." + reason: 'If $a : F \to G$ is a monomorphism of Z-functors, then the diagonal morphism $F \to F \times_G F$ is an isomorphism, so that for every $R$ the diagonal morphism $F(R) \to F(R) \times_{G(R)} F(R)$ is an isomorphism, i.e., $a(R) : F(R) \to G(R)$ is a monomorphism. This argument works for every functor category where the target has fiber products.' epimorphisms: description: objectwise surjective natural transformations reason: This holds in every functor category $[\C,\Set]$, here applied to the case that $\C$ has just one object. diff --git a/databases/catdat/data/categories/Z_div.yaml b/databases/catdat/data/categories/Z_div.yaml index 19517c46..f5ef9c95 100644 --- a/databases/catdat/data/categories/Z_div.yaml +++ b/databases/catdat/data/categories/Z_div.yaml @@ -2,7 +2,7 @@ id: Z_div name: proset of integers w.r.t. divisibility notation: $(\IZ,\mid)$ objects: integers -morphisms: "a unique morphism $(a,b) : a \\to b$ if $a$ divides $b$" +morphisms: 'a unique morphism $(a,b) : a \to b$ if $a$ divides $b$' description: This is a proset, not a poset, because $a$ and $-a$ divide each other, but are not equal for $a \neq 0$. Notice that this category is equivalent (but not isomorphic) to $(\IN,\mid)$. tags: @@ -24,7 +24,7 @@ satisfied_properties: check_redundancy: false - property_id: distributive - reason: "We need to prove $\\lcm_i \\gcd(a, b_i) \\cong \\gcd(a, \\lcm_i b_i)$ for finite families. If $x$ denotes the LHS and $y$ denotes the RHS, the relation $x \\mid y$ is formal. If $v_p(-) : \\IZ \\to \\IN_{\\infty}$ denotes the multiplicity of a prime $p$, then $v_p(x)$ equals $\\max_i \\min(v_p(a),v_p(b_i))$, and $v_p(y)$ equals $\\min(v_p(a), \\max_i v_p(b_i))$. Since our family is finite, there is some $i_0$ with $\\max_i v_p(b_i) = v_p(b_{i_0})$. Then $v_p(x) \\geq \\min(v_p(a),v_p(b_{i_0})) = v_p(y)$. This proves $y \\mid x$." + reason: 'We need to prove $\lcm_i \gcd(a, b_i) \cong \gcd(a, \lcm_i b_i)$ for finite families. If $x$ denotes the LHS and $y$ denotes the RHS, the relation $x \mid y$ is formal. If $v_p(-) : \IZ \to \IN_{\infty}$ denotes the multiplicity of a prime $p$, then $v_p(x)$ equals $\max_i \min(v_p(a),v_p(b_i))$, and $v_p(y)$ equals $\min(v_p(a), \max_i v_p(b_i))$. Since our family is finite, there is some $i_0$ with $\max_i v_p(b_i) = v_p(b_{i_0})$. Then $v_p(x) \geq \min(v_p(a),v_p(b_{i_0})) = v_p(y)$. This proves $y \mid x$.' - property_id: locally ℵ₁-presentable reason: Every $\aleph_1$-directed diagram is eventually constant. @@ -54,7 +54,7 @@ special_objects: special_morphisms: isomorphisms: - description: "the identities $(a,a) : a \\to a$ and the isomorphisms $(a,-a) : a \\to -a$ for $a \\in \\IZ$" + description: 'the identities $(a,a) : a \to a$ and the isomorphisms $(a,-a) : a \to -a$ for $a \in \IZ$' reason: This is trivial. monomorphisms: description: every morphism diff --git a/databases/catdat/data/categories/real_interval.yaml b/databases/catdat/data/categories/real_interval.yaml index 37717448..85b9f32c 100644 --- a/databases/catdat/data/categories/real_interval.yaml +++ b/databases/catdat/data/categories/real_interval.yaml @@ -2,7 +2,7 @@ id: real_interval name: poset [0,1] notation: $([0,1],\leq)$ objects: real numbers between $0$ and $1$ -morphisms: "a unique morphism $(s,t) : s \\to t$ when $s \\leq t$" +morphisms: 'a unique morphism $(s,t) : s \to t$ when $s \leq t$' description: Every poset can be regarded as a small thin category. This is a specific example. This category is locally $\aleph_1$-presentable (in fact, every object is $\aleph_1$-presentable), but not locally finitely presentable (in fact, only $0$ is finitely presentable). nlab_link: https://ncatlab.org/nlab/show/interval diff --git a/databases/catdat/data/categories/sSet.yaml b/databases/catdat/data/categories/sSet.yaml index 2cc7647f..a757b852 100644 --- a/databases/catdat/data/categories/sSet.yaml +++ b/databases/catdat/data/categories/sSet.yaml @@ -52,7 +52,7 @@ special_morphisms: reason: This is true for all functor categories. monomorphisms: description: pointwise injective transformations - reason: "If $a : F \\to G$ is a monomorphism of simplicial sets, then the diagonal morphism $F \\to F \\times_G F$ is an isomorphism, so that for every $n$ the diagonal morphism $F(n) \\to F(n) \\times_{G(n)} F(n)$ is an isomorphism, i.e., $a(n) : F(n) \\to G(n)$ is a monomorphism. This argument works for every functor category where the target has fiber products." + reason: 'If $a : F \to G$ is a monomorphism of simplicial sets, then the diagonal morphism $F \to F \times_G F$ is an isomorphism, so that for every $n$ the diagonal morphism $F(n) \to F(n) \times_{G(n)} F(n)$ is an isomorphism, i.e., $a(n) : F(n) \to G(n)$ is a monomorphism. This argument works for every functor category where the target has fiber products.' epimorphisms: description: pointwise surjective transformations reason: This holds in every functor category $[\C,\Set]$. diff --git a/databases/catdat/data/categories/walking_coreflexive_pair.yaml b/databases/catdat/data/categories/walking_coreflexive_pair.yaml index 1eea3118..ad0e32ec 100644 --- a/databases/catdat/data/categories/walking_coreflexive_pair.yaml +++ b/databases/catdat/data/categories/walking_coreflexive_pair.yaml @@ -2,7 +2,7 @@ id: walking_coreflexive_pair name: walking coreflexive pair notation: $\Delta^{\leq 1}$ objects: two objects $[0]$ and $[1]$ -morphisms: "the identities, two morphisms $i,j : [0] \\rightrightarrows [1]$, a morphism $p : [1] \\to [0]$ with $p i = p j = \\id_{[0]}$, and the two idempotent morphisms $ip, jp : [1] \\to [1]$." +morphisms: 'the identities, two morphisms $i,j : [0] \rightrightarrows [1]$, a morphism $p : [1] \to [0]$ with $p i = p j = \id_{[0]}$, and the two idempotent morphisms $ip, jp : [1] \to [1]$.' description: |- This category is equal to the truncated simplex category $\Delta^{\leq 1}$, i.e. the full subcategory of $\Delta$ spanned by $[0] = \{0\}$ and $[1] = \{0 < 1\}$; this also explains our notation of the category and its objects. $$[0] \begin{array}{c} \xhookrightarrow{~~i~~} \\ \xtwoheadleftarrow{~~p~~} \\ \xhookrightarrow{~~j~~} \end{array} [1]$$ @@ -34,10 +34,10 @@ satisfied_properties: reason: The object $[0]$ is terminal since it is already terminal in $\Delta$. - property_id: epi-regular - reason: "The only non-identity epimorphism is $p$, which is the coequalizer of $\\id, ip : [1] \\rightrightarrows [1]$ (since $pi = \\id$)." + reason: 'The only non-identity epimorphism is $p$, which is the coequalizer of $\id, ip : [1] \rightrightarrows [1]$ (since $pi = \id$).' - property_id: mono-regular - reason: "The only non-identity monomorphisms are $i$ and $j$. The morphism $i$ is the equalizer of $\\id, ip : [1] \\rightrightarrows [1]$ (since $pi = \\id$), and for $j$ it is the same argument." + reason: 'The only non-identity monomorphisms are $i$ and $j$. The morphism $i$ is the equalizer of $\id, ip : [1] \rightrightarrows [1]$ (since $pi = \id$), and for $j$ it is the same argument.' - property_id: coequalizers reason: 'We already know that the simplex category $\Delta$ has coequalizers, and the proof has shown that the cardinality does not increase, so we are done. But a direct proof is also possible: There are four non-equal parallel pairs: $(i,j)$, $(ip,jp)$, $(\id,ip)$, and $(\id,jp)$. The first two have the same coequalizer (if it exists) since $p$ is an epimorphism, the last two are symmetric, and we already remarked that $p$ is a coequalizer of $(\id,ip)$. So it suffices to check that $p$ is a coequalizer of $i,j$, which is easy.' @@ -56,13 +56,13 @@ satisfied_properties: unsatisfied_properties: - property_id: strict terminal object - reason: "The morphism $i : [0] \\to [1]$ from the terminal object $[0]$ is a witness." + reason: 'The morphism $i : [0] \to [1]$ from the terminal object $[0]$ is a witness.' - property_id: cofiltered - reason: "The morphisms $i,j : [0] \\rightrightarrows [1]$ are not equalized by any morphism." + reason: 'The morphisms $i,j : [0] \rightrightarrows [1]$ are not equalized by any morphism.' - property_id: coreflexive equalizers - reason: "The coreflexive pair $i,j : [0] \\rightrightarrows [1]$ has no equalizer, in fact is not equalized by any morphism." + reason: 'The coreflexive pair $i,j : [0] \rightrightarrows [1]$ has no equalizer, in fact is not equalized by any morphism.' - property_id: pushouts reason: Assume that $[1] \xleftarrow{i} [0] \xrightarrow{i} [1]$ has a pushout in $\Delta^{\leq 1}$, where $i(0)=0$. This amounts to a universal totally ordered set of cardinality $\leq 2$ with elements $a,b,c$ satisfying $a \leq b$, $a \leq c$. Since a finite totally ordered set has trivial automorphism group, the automorphism defined by $a \mapsto a$, $b \mapsto c$, $c \mapsto b$ must be the identity, i.e., we have $b = c$. However, in $[1]$ the equations $0 \leq 0$, $0 \leq 1$ then show that the universal property fails. diff --git a/databases/catdat/data/categories/walking_fork.yaml b/databases/catdat/data/categories/walking_fork.yaml index c74ecdaf..ed46f0b9 100644 --- a/databases/catdat/data/categories/walking_fork.yaml +++ b/databases/catdat/data/categories/walking_fork.yaml @@ -2,7 +2,7 @@ id: walking_fork name: walking fork notation: $\{0 \to 1 \rightrightarrows 2\}$ objects: three objects $0,1,2$ -morphisms: "one morphism $i : 0 \\to 1$, two morphisms $f,g : 1 \\rightrightarrows 2$, one morphism $0 \\to 2$ (namely, $f \\circ i = g \\circ i$), and the identities" +morphisms: 'one morphism $i : 0 \to 1$, two morphisms $f,g : 1 \rightrightarrows 2$, one morphism $0 \to 2$ (namely, $f \circ i = g \circ i$), and the identities' description: The name of this category comes from the fact that a functor out of it is the same as a fork. tags: @@ -50,7 +50,7 @@ unsatisfied_properties: reason: Both $f$ and $g$ are monomorphisms and epimorphisms. - property_id: binary powers - reason: "Assume that $X := 2 \\times 2$ exists. Since there is a diagonal morphism $2 \\to X$, we must have $X = 2$, and the two projections $p_1,p_2 : X \\rightrightarrows 2$ must be equal to the identity. But $f,g$ induce a morphism $(f,g) : 1 \\to X$ with $p_1 (f,g) = f$ and $p_2 (f,g) = g$, so that $f=g$, a contradiction." + reason: 'Assume that $X := 2 \times 2$ exists. Since there is a diagonal morphism $2 \to X$, we must have $X = 2$, and the two projections $p_1,p_2 : X \rightrightarrows 2$ must be equal to the identity. But $f,g$ induce a morphism $(f,g) : 1 \to X$ with $p_1 (f,g) = f$ and $p_2 (f,g) = g$, so that $f=g$, a contradiction.' - property_id: strongly connected reason: There is no morphism $1 \to 0$. diff --git a/databases/catdat/data/categories/walking_idempotent.yaml b/databases/catdat/data/categories/walking_idempotent.yaml index 7b7afd7e..d9190234 100644 --- a/databases/catdat/data/categories/walking_idempotent.yaml +++ b/databases/catdat/data/categories/walking_idempotent.yaml @@ -2,7 +2,7 @@ id: walking_idempotent name: walking idempotent notation: $\Idem$ objects: a single object $0$ -morphisms: "two morphisms $\\id_0,e : 0 \\to 0$ with $e^2=e$" +morphisms: 'two morphisms $\id_0,e : 0 \to 0$ with $e^2=e$' description: The name of this category comes from the fact that a functor out of it is the same as an idempotent morphism in the target category. It can also be seen as the delooping of the monoid $\{1,e\}$ in which $e^2=e$. tags: diff --git a/databases/catdat/data/categories/walking_pair.yaml b/databases/catdat/data/categories/walking_pair.yaml index ac58ac37..6f62afeb 100644 --- a/databases/catdat/data/categories/walking_pair.yaml +++ b/databases/catdat/data/categories/walking_pair.yaml @@ -45,7 +45,7 @@ satisfied_properties: unsatisfied_properties: - property_id: pullbacks - reason: "The two morphisms $a,b : 0 \\rightrightarrows 1$ have no pullback, since it would have to consist of identities $0 \\leftarrow 0 \\rightarrow 0$, but $a \\neq b$." + reason: 'The two morphisms $a,b : 0 \rightrightarrows 1$ have no pullback, since it would have to consist of identities $0 \leftarrow 0 \rightarrow 0$, but $a \neq b$.' - property_id: strongly connected reason: There is no morphism $1 \to 0$. diff --git a/databases/catdat/data/categories/walking_span.yaml b/databases/catdat/data/categories/walking_span.yaml index 6807cd34..c5dcfb3d 100644 --- a/databases/catdat/data/categories/walking_span.yaml +++ b/databases/catdat/data/categories/walking_span.yaml @@ -48,7 +48,7 @@ special_objects: initial object: description: $0$ products: - description: "[binary case] $1 \\times 2 = 0$, $x \\times x = x$, $0 \\times x = 0$" + description: '[binary case] $1 \times 2 = 0$, $x \times x = x$, $0 \times x = 0$' special_morphisms: isomorphisms: diff --git a/databases/catdat/data/categories/walking_splitting.yaml b/databases/catdat/data/categories/walking_splitting.yaml index 7b4129ff..ed9ada7a 100644 --- a/databases/catdat/data/categories/walking_splitting.yaml +++ b/databases/catdat/data/categories/walking_splitting.yaml @@ -2,7 +2,7 @@ id: walking_splitting name: walking splitting notation: $\Split$ objects: two objects $0$ and $1$ -morphisms: "the identities, morphisms $i : 0 \\to 1$, $p : 1 \\to 0$ satisfying $pi = \\id_0$, and the idempotent $ip : 1 \\to 1$." +morphisms: 'the identities, morphisms $i : 0 \to 1$, $p : 1 \to 0$ satisfying $pi = \id_0$, and the idempotent $ip : 1 \to 1$.' description: This category could also be called the "walking split idempotent" (or "walking section", "walking retraction"), but we chose a name that emphasizes that the splitting belongs to the data. Notice that the $5$ given morphisms are indeed closed under composition. For example, $p \circ ip = p$ and $ip \circ i = i$.
The walking splitting can be interpreted as a skeleton of the category of $\IF_2$-vector spaces of dimension $\leq 1$. tags: @@ -28,19 +28,19 @@ satisfied_properties: reason: The object $0$ is initial and terminal. This also means that $\id_0, i, p, ip$ are zero morphisms. The only non-zero morphism is $\id_1$. - property_id: equalizers - reason: "The only parallel pair of non-equal morphisms is $\\id_1, ip : 1 \\rightrightarrows 1$, and their equalizer is $i$." + reason: 'The only parallel pair of non-equal morphisms is $\id_1, ip : 1 \rightrightarrows 1$, and their equalizer is $i$.' - property_id: self-dual reason: There is an isomorphism $\Split^\op \to \Split$ defined by $0 \mapsto 0$, $1 \mapsto 1$, $i \mapsto p$, $p \mapsto i$. - property_id: normal - reason: "The only non-identity monomorphism is $i : 0 \\to 1$, which is the kernel of $\\id_1$." + reason: 'The only non-identity monomorphism is $i : 0 \to 1$, which is the kernel of $\id_1$.' - property_id: generator - reason: "The object $1$ a generator, since the only parallel pair of non-equal morphisms is $\\id_1, ip : 1 \\rightrightarrows 1$ with domain $1$." + reason: 'The object $1$ a generator, since the only parallel pair of non-equal morphisms is $\id_1, ip : 1 \rightrightarrows 1$ with domain $1$.' - property_id: preadditive - reason: "We can define $\\id_1 + \\id_1 := ip$ (and it is clear how to add zero morphisms) and then verify that the axioms of a preadditive category hold. Alternatively, it suffices to find a preadditive category which is isomorphic to the walking splitting: Consider the full subcategory of $\\Vect_{\\IF_2}$ that consists only of the trivial vector space $\\{0\\}$ and $\\IF_2$. Since $\\Vect_{\\IF_2}$ is preadditive, it is preadditive as well. It has two objects, two identities, the morphisms $i : \\{0\\} \\to \\IF_2$, $p : \\IF_2 \\to \\{0\\}$, and the zero morphism $ip : \\IF_2 \\to \\IF_2$. Clearly, $pi$ is the identity." + reason: 'We can define $\id_1 + \id_1 := ip$ (and it is clear how to add zero morphisms) and then verify that the axioms of a preadditive category hold. Alternatively, it suffices to find a preadditive category which is isomorphic to the walking splitting: Consider the full subcategory of $\Vect_{\IF_2}$ that consists only of the trivial vector space $\{0\}$ and $\IF_2$. Since $\Vect_{\IF_2}$ is preadditive, it is preadditive as well. It has two objects, two identities, the morphisms $i : \{0\} \to \IF_2$, $p : \IF_2 \to \{0\}$, and the zero morphism $ip : \IF_2 \to \IF_2$. Clearly, $pi$ is the identity.' - property_id: sifted colimits reason: |- @@ -54,7 +54,7 @@ satisfied_properties: unsatisfied_properties: - property_id: one-way - reason: "The morphism $ip : 1 \\to 1$ provides a counterexample." + reason: 'The morphism $ip : 1 \to 1$ provides a counterexample.' special_objects: initial object: diff --git a/databases/catdat/data/category-implications/NNO.yaml b/databases/catdat/data/category-implications/NNO.yaml index 975efa9d..e21f4d74 100644 --- a/databases/catdat/data/category-implications/NNO.yaml +++ b/databases/catdat/data/category-implications/NNO.yaml @@ -13,7 +13,7 @@ - countably distributive conclusions: - natural numbers object - reason: "Consider the copower $N := \\coprod_{n \\in \\IN} 1$ with inclusions $i_n : 1 \\to N$ for $n \\in \\IN$. We define $z := i_1 : 1 \\to N$ and $s : N \\to N$ by $s \\circ i_n = i_{n+1}$. Since the category is countably distributive, we have $A \\times N \\cong \\coprod_{n \\in \\IN} A$ for every object $A$. Given morphisms $f : A \\to X$, $g : X \\to X$, a morphism $\\Phi : A \\times N \\to X$ therefore corresponds to a family of morphisms $\\phi_n : A \\to X$ for $n \\in \\IN$. The condition $\\Phi(a,z)=f(a)$ becomes $\\phi_0 = f$. The condition $\\Phi(a,s(n)) = g(\\Phi(a,n))$ becomes $\\phi_{n+1} = g \\circ \\phi_n$. This recursively defines the morphisms $\\phi_n$. (We are basically using that $\\IN$ is a natural numbers object in $\\Set$.) Concretely, $\\phi_n = g^n \\circ f$." + reason: 'Consider the copower $N := \coprod_{n \in \IN} 1$ with inclusions $i_n : 1 \to N$ for $n \in \IN$. We define $z := i_1 : 1 \to N$ and $s : N \to N$ by $s \circ i_n = i_{n+1}$. Since the category is countably distributive, we have $A \times N \cong \coprod_{n \in \IN} A$ for every object $A$. Given morphisms $f : A \to X$, $g : X \to X$, a morphism $\Phi : A \times N \to X$ therefore corresponds to a family of morphisms $\phi_n : A \to X$ for $n \in \IN$. The condition $\Phi(a,z)=f(a)$ becomes $\phi_0 = f$. The condition $\Phi(a,s(n)) = g(\Phi(a,n))$ becomes $\phi_{n+1} = g \circ \phi_n$. This recursively defines the morphisms $\phi_n$. (We are basically using that $\IN$ is a natural numbers object in $\Set$.) Concretely, $\phi_n = g^n \circ f$.' is_equivalence: false - id: nno_pointed_case @@ -22,7 +22,7 @@ - pointed conclusions: - trivial - reason: "Let $(N,z,s)$ be a natural numbers object in a category with a zero object, denoted $0$. The morphism $z : 0 \\to N$ must be zero. The universal property applied to $A=1$ implies that $s : N \\to N$ is an initial object in the category of endomorphisms. This exists, it is given by the identity $0 \\to 0$. Therefore, $N = 0$. The general universal property now becomes: For all $f : A \\to X$, $g : X \\to X$ there is a unique $\\Phi : A \\to X$ such that $\\Phi(a) = f(a)$ and $\\Phi(a)=g(\\Phi(a))$. Apply this to $g = 0$ to conclude $f = 0$." + reason: 'Let $(N,z,s)$ be a natural numbers object in a category with a zero object, denoted $0$. The morphism $z : 0 \to N$ must be zero. The universal property applied to $A=1$ implies that $s : N \to N$ is an initial object in the category of endomorphisms. This exists, it is given by the identity $0 \to 0$. Therefore, $N = 0$. The general universal property now becomes: For all $f : A \to X$, $g : X \to X$ there is a unique $\Phi : A \to X$ such that $\Phi(a) = f(a)$ and $\Phi(a)=g(\Phi(a))$. Apply this to $g = 0$ to conclude $f = 0$.' is_equivalence: false - id: nno_terminal @@ -31,7 +31,7 @@ - strict terminal object conclusions: - one-way - reason: "By assumption, $z : 1 \\to N$ is an isomorphism. Therefore, the terminal object $1$ is a NNO with $z = \\id_1$ and $s = \\id_1$. This precisely means that for all $f : A \\to X$ and $g : X \\to X$ there is a unique $\\Phi : A \\to X$ with $\\Phi = f$ and $\\Phi = g \\circ \\Phi$. In other words, we have $f = g \\circ f$, and therefore $g = \\id_X$ (take $f = \\id_X$), which proves the claim. (From here one can further deduce that the category is thin.)" + reason: 'By assumption, $z : 1 \to N$ is an isomorphism. Therefore, the terminal object $1$ is a NNO with $z = \id_1$ and $s = \id_1$. This precisely means that for all $f : A \to X$ and $g : X \to X$ there is a unique $\Phi : A \to X$ with $\Phi = f$ and $\Phi = g \circ \Phi$. In other words, we have $f = g \circ f$, and therefore $g = \id_X$ (take $f = \id_X$), which proves the claim. (From here one can further deduce that the category is thin.)' is_equivalence: false - id: nno_thin diff --git a/databases/catdat/data/category-implications/algebraic.yaml b/databases/catdat/data/category-implications/algebraic.yaml index ea2ac6c7..759ea038 100644 --- a/databases/catdat/data/category-implications/algebraic.yaml +++ b/databases/catdat/data/category-implications/algebraic.yaml @@ -30,7 +30,7 @@ - pointed conclusions: - disjoint products - reason: "We have a constant in every algebra, let us denoted it by $0$. Then the projection $A \\times B \\to A$ is clearly surjective, hence an epimorphism. To show that $A \\sqcup_{A \\times B} B$ is trivial, let $R$ be an algebra which admits homomorphisms $f : A \\to R$, $g : B \\to R$ such that $f(p_1(a,b)) = g(p_2(a,b))$ for all $(a,b) \\times A \\times B$. This means $f(a) = g(b)$. In particular, $f(a) = g(0) = 0$. Likewise, $g(b) = 0$, and we are done." + reason: 'We have a constant in every algebra, let us denoted it by $0$. Then the projection $A \times B \to A$ is clearly surjective, hence an epimorphism. To show that $A \sqcup_{A \times B} B$ is trivial, let $R$ be an algebra which admits homomorphisms $f : A \to R$, $g : B \to R$ such that $f(p_1(a,b)) = g(p_2(a,b))$ for all $(a,b) \times A \times B$. This means $f(a) = g(b)$. In particular, $f(a) = g(0) = 0$. Likewise, $g(b) = 0$, and we are done.' is_equivalence: false - id: generalized_variety_require_sifted_colimit diff --git a/databases/catdat/data/category-implications/cancellative.yaml b/databases/catdat/data/category-implications/cancellative.yaml index f627cca7..5d69d275 100644 --- a/databases/catdat/data/category-implications/cancellative.yaml +++ b/databases/catdat/data/category-implications/cancellative.yaml @@ -15,7 +15,7 @@ - zero morphisms conclusions: - thin - reason: "If $f,g : A \\rightrightarrows B$ are two morphisms, then $0_{B,B} \\circ f = 0_{A,B} = 0_{B,B} \\circ g$, so that $f = g$." + reason: 'If $f,g : A \rightrightarrows B$ are two morphisms, then $0_{B,B} \circ f = 0_{A,B} = 0_{B,B} \circ g$, so that $f = g$.' is_equivalence: false - id: codiagonal-no-mono @@ -24,7 +24,7 @@ - left cancellative conclusions: - thin - reason: "For every object $A$ the codiagonal $A + A \\to A$ is a split epimorphism, and by assumption a monomorphism, hence an isomorphism. Hence, the two inclusions $i_1,i_2 : A \\rightrightarrows A + A$ coincide. Now, if $f, g : A \\rightrightarrows B$ are two morphisms, consider the induced morphism $h : A + A \\to B$ and compute $f = h \\circ i_1 = h \\circ i_2 = g$." + reason: 'For every object $A$ the codiagonal $A + A \to A$ is a split epimorphism, and by assumption a monomorphism, hence an isomorphism. Hence, the two inclusions $i_1,i_2 : A \rightrightarrows A + A$ coincide. Now, if $f, g : A \rightrightarrows B$ are two morphisms, consider the induced morphism $h : A + A \to B$ and compute $f = h \circ i_1 = h \circ i_2 = g$.' is_equivalence: false - id: cauchy_complete_criterion diff --git a/databases/catdat/data/category-implications/congruences.yaml b/databases/catdat/data/category-implications/congruences.yaml index 206affa0..6f4dea4d 100644 --- a/databases/catdat/data/category-implications/congruences.yaml +++ b/databases/catdat/data/category-implications/congruences.yaml @@ -23,7 +23,7 @@ - regular conclusions: - cokernels - reason: "By the regularity assumption, it suffices to consider cokernels of subobjects. Given a subobject $Y$ of $X$, we have the congruence on $X$ given by the pullback of ${-} : X \\times X \\to X$ and $Y$. The quotient of this congruence is a cokernel of $Y \\hookrightarrow X$." + reason: 'By the regularity assumption, it suffices to consider cokernels of subobjects. Given a subobject $Y$ of $X$, we have the congruence on $X$ given by the pullback of ${-} : X \times X \to X$ and $Y$. The quotient of this congruence is a cokernel of $Y \hookrightarrow X$.' is_equivalence: false - id: congruence_quotients_via_cokernels @@ -33,7 +33,7 @@ - preadditive conclusions: - quotients of congruences - reason: "For any congruence $E$ on an object $X$ of a preadditive category, let $E_0$ be the kernel of $p_2 : E \\to X$. The restriction of $p_1$ to $E_0$ is a monomorphism. We can then see that $E$ must be the pullback of $p_1 - p_2 : E \\to X$ and $E_0 \\hookrightarrow X$. Then the cokernel of $E_0 \\hookrightarrow X$ is a quotient of $E$." + reason: 'For any congruence $E$ on an object $X$ of a preadditive category, let $E_0$ be the kernel of $p_2 : E \to X$. The restriction of $p_1$ to $E_0$ is a monomorphism. We can then see that $E$ must be the pullback of $p_1 - p_2 : E \to X$ and $E_0 \hookrightarrow X$. Then the cokernel of $E_0 \hookrightarrow X$ is a quotient of $E$.' is_equivalence: false - id: core-hin_quotients @@ -42,7 +42,7 @@ conclusions: - effective congruences - quotients of congruences - reason: "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$." + reason: '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$.' is_equivalence: false - id: preadditive_kernels_normal_imply_effective_congruences diff --git a/databases/catdat/data/category-implications/disjoint coproducts.yaml b/databases/catdat/data/category-implications/disjoint coproducts.yaml index 064f1299..20f6ef74 100644 --- a/databases/catdat/data/category-implications/disjoint coproducts.yaml +++ b/databases/catdat/data/category-implications/disjoint coproducts.yaml @@ -32,7 +32,7 @@ - strict terminal object conclusions: - thin - reason: "Let $1$ be the strict terminal object, and let $A$ be any object. Then $1 \\to A + 1$ is an isomorphism, since $1$ is strict. Also, $A \\to A + 1$ is a monomorphism by assumption. It follows that the unique morphism $u : A \\to 1$ is a monomorphism. For all $f,g : B \\to A$ we have $uf = ug$ (since $1$ is terminal), hence $f = g$." + reason: 'Let $1$ be the strict terminal object, and let $A$ be any object. Then $1 \to A + 1$ is an isomorphism, since $1$ is strict. Also, $A \to A + 1$ is a monomorphism by assumption. It follows that the unique morphism $u : A \to 1$ is a monomorphism. For all $f,g : B \to A$ we have $uf = ug$ (since $1$ is terminal), hence $f = g$.' is_equivalence: false - id: strongly_connected_disjoint_products diff --git a/databases/catdat/data/category-implications/equalizers.yaml b/databases/catdat/data/category-implications/equalizers.yaml index 45740948..ea7ea6a7 100644 --- a/databases/catdat/data/category-implications/equalizers.yaml +++ b/databases/catdat/data/category-implications/equalizers.yaml @@ -6,7 +6,7 @@ - pullbacks conclusions: - equalizers - reason: "The equalizer of $f,g : X \\rightrightarrows Y$ is the pullback of $(f,g) : X \\to Y \\times Y$ with the diagonal $Y \\to Y \\times Y$." + reason: 'The equalizer of $f,g : X \rightrightarrows Y$ is the pullback of $(f,g) : X \to Y \times Y$ with the diagonal $Y \to Y \times Y$.' is_equivalence: false - id: coreflexive_equalizers_are_equalizers @@ -23,7 +23,7 @@ - coreflexive equalizers conclusions: - equalizers - reason: "If $f,g : X \\rightrightarrows Y$ are two morphisms, we have a coreflexive pair $(\\id_X,f), (\\id_X,g) : X \\rightrightarrows X \\times Y$. A morphism with codomain $X$ equalizes $f$ and $g$ if and only if it equalizes $(\\id_X,f)$ and $(\\id_X,g)$. Thus, their equalizers agree." + reason: 'If $f,g : X \rightrightarrows Y$ are two morphisms, we have a coreflexive pair $(\id_X,f), (\id_X,g) : X \rightrightarrows X \times Y$. A morphism with codomain $X$ equalizes $f$ and $g$ if and only if it equalizes $(\id_X,f)$ and $(\id_X,g)$. Thus, their equalizers agree.' is_equivalence: false - id: equalizers_consequence @@ -31,7 +31,7 @@ - equalizers conclusions: - Cauchy complete - reason: "If $e : X \\to X$ is an idempotent, then the equalizer of $e, \\id_X : X \\rightrightarrows X$ provides a splitting of $e$." + reason: 'If $e : X \to X$ is an idempotent, then the equalizer of $e, \id_X : X \rightrightarrows X$ provides a splitting of $e$.' is_equivalence: false - id: reflexive_pair_trivial_2 @@ -48,7 +48,7 @@ - one-way conclusions: - reflexive coequalizers - reason: "Every reflexive pair is equal: If $f s = g s = \\id$, then since $s f = \\id$ (one-way), we must have $f = s^{-1}$, and likewise $g = s^{-1}$." + reason: 'Every reflexive pair is equal: If $f s = g s = \id$, then since $s f = \id$ (one-way), we must have $f = s^{-1}$, and likewise $g = s^{-1}$.' is_equivalence: false - id: kernels_condition diff --git a/databases/catdat/data/category-implications/exact filtered colimits.yaml b/databases/catdat/data/category-implications/exact filtered colimits.yaml index d12d3070..ce4af617 100644 --- a/databases/catdat/data/category-implications/exact filtered colimits.yaml +++ b/databases/catdat/data/category-implications/exact filtered colimits.yaml @@ -63,7 +63,7 @@ - terminal object conclusions: - cocartesian cofiltered limits - reason: "Let $\\C$ be an extensive category with cofiltered limits and a terminal object. Then the coproduct functor $\\C \\times \\C \\cong \\C/1 \\times \\C/1 \\to \\C/(1+1)$ is an equivalence. The forgetful functor $\\C/A \\to \\C$ creates connected limits, and hence preserves cofiltered limits. For every $X \\in \\C$ the functor $(X,-) : \\C \\to \\C \\times \\C$ also preserves cofiltered limits. The composition of these functors is $X \\sqcup - : \\C \\to \\C$ and therefore also preserves cofiltered limits." + reason: 'Let $\C$ be an extensive category with cofiltered limits and a terminal object. Then the coproduct functor $\C \times \C \cong \C/1 \times \C/1 \to \C/(1+1)$ is an equivalence. The forgetful functor $\C/A \to \C$ creates connected limits, and hence preserves cofiltered limits. For every $X \in \C$ the functor $(X,-) : \C \to \C \times \C$ also preserves cofiltered limits. The composition of these functors is $X \sqcup - : \C \to \C$ and therefore also preserves cofiltered limits.' is_equivalence: false - id: filtered_monos_assumption diff --git a/databases/catdat/data/category-implications/filtered + sifted.yaml b/databases/catdat/data/category-implications/filtered + sifted.yaml index 5a5a7ff8..42905c0a 100644 --- a/databases/catdat/data/category-implications/filtered + sifted.yaml +++ b/databases/catdat/data/category-implications/filtered + sifted.yaml @@ -5,7 +5,7 @@ - filtered conclusions: - sifted - reason: "Every filtered category $\\C$ is inhabited and has final diagonal functors $\\Delta : \\C \\to \\C^J$ for all finite index categories $J$; in particular, it is inhabited and its diagonal $\\Delta: \\C \\to \\C \\times \\C$ is final." + reason: 'Every filtered category $\C$ is inhabited and has final diagonal functors $\Delta : \C \to \C^J$ for all finite index categories $J$; in particular, it is inhabited and its diagonal $\Delta: \C \to \C \times \C$ is final.' is_equivalence: false - id: sifted_is_connected diff --git a/databases/catdat/data/category-implications/generators.yaml b/databases/catdat/data/category-implications/generators.yaml index 5957c4f3..aad6d66a 100644 --- a/databases/catdat/data/category-implications/generators.yaml +++ b/databases/catdat/data/category-implications/generators.yaml @@ -16,7 +16,7 @@ - zero morphisms conclusions: - generator - reason: "If $S$ is a generating set, we claim that $U := \\coprod_{G \\in S} G$ is a generator. Let $f,g : A \\rightrightarrows B$ be two morphisms with $f h = g h$ for all $h : U \\to A$. If $G \\in S$, any morphism $G \\to A$ extends to $U$ by using zero morphisms outside of $G$. Thus, $fh = gh$ holds for all $h : G \\to A$ and $G \\in S$. Since $S$ is a generating set, this implies $f = g$." + reason: 'If $S$ is a generating set, we claim that $U := \coprod_{G \in S} G$ is a generator. Let $f,g : A \rightrightarrows B$ be two morphisms with $f h = g h$ for all $h : U \to A$. If $G \in S$, any morphism $G \to A$ extends to $U$ by using zero morphisms outside of $G$. Thus, $fh = gh$ holds for all $h : G \to A$ and $G \in S$. Since $S$ is a generating set, this implies $f = g$.' is_equivalence: false - id: free-algebra-generates diff --git a/databases/catdat/data/category-implications/initial objects.yaml b/databases/catdat/data/category-implications/initial objects.yaml index f0a5c233..91a3c506 100644 --- a/databases/catdat/data/category-implications/initial objects.yaml +++ b/databases/catdat/data/category-implications/initial objects.yaml @@ -32,7 +32,7 @@ - left cancellative conclusions: - strict initial object - reason: "It suffices to prove that in general any monomorphism $f : A \\to 0$ into an initial object is an isomorphism. If $g : 0 \\to A$ is the unique morphism, then $f \\circ g = \\id_0$ since $0$ is initial. But then $f$ is a split epimorphism and a monomorphism, hence an isomorphism." + reason: 'It suffices to prove that in general any monomorphism $f : A \to 0$ into an initial object is an isomorphism. If $g : 0 \to A$ is the unique morphism, then $f \circ g = \id_0$ since $0$ is initial. But then $f$ is a split epimorphism and a monomorphism, hence an isomorphism.' is_equivalence: false - id: strict_initial_right_criterion @@ -41,5 +41,5 @@ - right cancellative conclusions: - strict initial object - reason: "Let $f : A \\to 0$ be a morphism. Let $g : 0 \\to A$ be the unique morphism. It is an epimorphism by assumption. Also, $f \\circ g = \\id_0$ since $0$ is initial. But then $g$ is a split monomorphism and an epimorphism, hence an isomorphism." + reason: 'Let $f : A \to 0$ be a morphism. Let $g : 0 \to A$ be the unique morphism. It is an epimorphism by assumption. Also, $f \circ g = \id_0$ since $0$ is initial. But then $g$ is a split monomorphism and an epimorphism, hence an isomorphism.' is_equivalence: false diff --git a/databases/catdat/data/category-implications/products.yaml b/databases/catdat/data/category-implications/products.yaml index 2cc5d0ef..1182b2c3 100644 --- a/databases/catdat/data/category-implications/products.yaml +++ b/databases/catdat/data/category-implications/products.yaml @@ -102,7 +102,7 @@ - sequential limits conclusions: - countable powers - reason: "We can write $X^{\\IN}$ as the limit of the sequence $\\cdots \\to X^3 \\to X^2 \\to X \\to 1$ with transition morphisms $f_n : X^{n+1} \\to X^n$, $(x_1,\\dotsc,x_{n+1}) \\mapsto (x_1,\\dotsc,x_n)$, i.e., $p_i f_n = p_i$ for $1 \\leq i \\leq n$." + reason: 'We can write $X^{\IN}$ as the limit of the sequence $\cdots \to X^3 \to X^2 \to X \to 1$ with transition morphisms $f_n : X^{n+1} \to X^n$, $(x_1,\dotsc,x_{n+1}) \mapsto (x_1,\dotsc,x_n)$, i.e., $p_i f_n = p_i$ for $1 \leq i \leq n$.' is_equivalence: false - id: powers_criterion diff --git a/databases/catdat/data/category-implications/pullbacks.yaml b/databases/catdat/data/category-implications/pullbacks.yaml index 46e1e20a..42600a42 100644 --- a/databases/catdat/data/category-implications/pullbacks.yaml +++ b/databases/catdat/data/category-implications/pullbacks.yaml @@ -6,7 +6,7 @@ - equalizers conclusions: - pullbacks - reason: "The pullback of $f : X \\to S$ and $g : Y \\to S$ is the equalizer of $p_1 \\circ f, \\, p_2 \\circ g : X \\times Y \\rightrightarrows S$." + reason: 'The pullback of $f : X \to S$ and $g : Y \to S$ is the equalizer of $p_1 \circ f, \, p_2 \circ g : X \times Y \rightrightarrows S$.' is_equivalence: false - id: connected_limits_characterization diff --git a/databases/catdat/data/category-implications/subobject classifiers.yaml b/databases/catdat/data/category-implications/subobject classifiers.yaml index 57ecd2c9..42cc3eca 100644 --- a/databases/catdat/data/category-implications/subobject classifiers.yaml +++ b/databases/catdat/data/category-implications/subobject classifiers.yaml @@ -6,7 +6,7 @@ conclusions: - finitely complete - mono-regular - reason: "The first part holds by convention, and the second part: any monomorphism $U \\to X$ is the equalizer of $\\chi_U,\\chi_X : X \\rightrightarrows \\Omega$." + reason: 'The first part holds by convention, and the second part: any monomorphism $U \to X$ is the equalizer of $\chi_U,\chi_X : X \rightrightarrows \Omega$.' is_equivalence: false - id: subobject_classifier_well-powered @@ -24,7 +24,7 @@ - subobject classifier conclusions: - normal - reason: "The universal property of $\\top : 0 \\to \\Omega$ precisely says that every monomorphism $A \\to B$ is the kernel of a unique morphism $B \\to \\Omega$, so it is normal." + reason: 'The universal property of $\top : 0 \to \Omega$ precisely says that every monomorphism $A \to B$ is the kernel of a unique morphism $B \to \Omega$, so it is normal.' is_equivalence: false - id: additive_trivial_condition @@ -76,5 +76,5 @@ - strict terminal object conclusions: - thin - reason: "Let $\\Omega$ be a regular subobject classifier. Since $1$ is a strict terminal object, $\\top : 1 \\to \\Omega$ is an isomorphism. This implies that every regular monomorphism is an isomorphism. Hence, by taking the equalizer of two parallel morphisms, we see that the category is thin." + reason: 'Let $\Omega$ be a regular subobject classifier. Since $1$ is a strict terminal object, $\top : 1 \to \Omega$ is an isomorphism. This implies that every regular monomorphism is an isomorphism. Hence, by taking the equalizer of two parallel morphisms, we see that the category is thin.' is_equivalence: false diff --git a/databases/catdat/data/category-implications/subobject-trivial.yaml b/databases/catdat/data/category-implications/subobject-trivial.yaml index d2b4521f..22bfca18 100644 --- a/databases/catdat/data/category-implications/subobject-trivial.yaml +++ b/databases/catdat/data/category-implications/subobject-trivial.yaml @@ -6,7 +6,7 @@ - subobject-trivial conclusions: - thin - reason: "If $f,g : X \\rightrightarrows Y$ are morphisms, their equalizer is a monomorphism $E \\hookrightarrow X$, hence an isomorphism. But this means $f = g$." + reason: 'If $f,g : X \rightrightarrows Y$ are morphisms, their equalizer is a monomorphism $E \hookrightarrow X$, hence an isomorphism. But this means $f = g$.' is_equivalence: false - id: subobject-trivial_consequence diff --git a/databases/catdat/data/category-implications/thin.yaml b/databases/catdat/data/category-implications/thin.yaml index 4d18f32f..15a0521a 100644 --- a/databases/catdat/data/category-implications/thin.yaml +++ b/databases/catdat/data/category-implications/thin.yaml @@ -34,7 +34,7 @@ - core-thin conclusions: - thin - reason: "Let $X$ be any object. The swap $\\tau : X \\times X \\to X \\times X$ is an automorphism, hence equal to the identity. It follows that the projections $p_1,p_2 : X \\times X \\rightrightarrows X$ are the same. And this means that every two morphisms $Y \\rightrightarrows X$ are the same." + reason: 'Let $X$ be any object. The swap $\tau : X \times X \to X \times X$ is an automorphism, hence equal to the identity. It follows that the projections $p_1,p_2 : X \times X \rightrightarrows X$ are the same. And this means that every two morphisms $Y \rightrightarrows X$ are the same.' is_equivalence: false - id: thin_groupoids @@ -61,7 +61,7 @@ conclusions: - one-way - skeletal - reason: "The category is one-way since any non-identity endomorphism yields an infinite sequence of equal non-identity morphisms. The category is skeletal since any non-identity isomorphism $f : A \\to B$ yields the infinite sequence $\\dotsc,f^{-1},f,f^{-1},f$." + reason: 'The category is one-way since any non-identity endomorphism yields an infinite sequence of equal non-identity morphisms. The category is skeletal since any non-identity isomorphism $f : A \to B$ yields the infinite sequence $\dotsc,f^{-1},f,f^{-1},f$.' is_equivalence: false - id: one-way_zero diff --git a/databases/catdat/data/category-properties/Cauchy complete.yaml b/databases/catdat/data/category-properties/Cauchy complete.yaml index cd2ace4d..72f71533 100644 --- a/databases/catdat/data/category-properties/Cauchy complete.yaml +++ b/databases/catdat/data/category-properties/Cauchy complete.yaml @@ -1,6 +1,6 @@ id: Cauchy complete relation: is -description: "A category is Cauchy complete if every idempotent splits. That is, every endomorphism $e : X \\to X$ with $e^2 = e$ may be written as $e = i \\circ p$ for some morphisms $p : X \\to Y$ and $i : Y \\to X$ with $p \\circ i = \\id_Y$. Equivalently, the pair $e,\\id_X : X \\rightrightarrows X$ has an equalizer (or an coequalizer)." +description: 'A category is Cauchy complete if every idempotent splits. That is, every endomorphism $e : X \to X$ with $e^2 = e$ may be written as $e = i \circ p$ for some morphisms $p : X \to Y$ and $i : Y \to X$ with $p \circ i = \id_Y$. Equivalently, the pair $e,\id_X : X \rightrightarrows X$ has an equalizer (or an coequalizer).' nlab_link: https://ncatlab.org/nlab/show/Cauchy+complete+category dual_property_id: Cauchy complete invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/coequalizers.yaml b/databases/catdat/data/category-properties/coequalizers.yaml index 2ba13ade..615585b0 100644 --- a/databases/catdat/data/category-properties/coequalizers.yaml +++ b/databases/catdat/data/category-properties/coequalizers.yaml @@ -1,6 +1,6 @@ id: coequalizers relation: has -description: "A coequalizer of a pair of morphisms $f,g : A \\rightrightarrows B$ is an object $C$ with a morphism $c : B \\to C$ such that $c \\circ f = c \\circ g$ and which is universal with respect to this property. This property refers to the existence of coequalizers." +description: 'A coequalizer of a pair of morphisms $f,g : A \rightrightarrows B$ is an object $C$ with a morphism $c : B \to C$ such that $c \circ f = c \circ g$ and which is universal with respect to this property. This property refers to the existence of coequalizers.' nlab_link: https://ncatlab.org/nlab/show/coequalizer dual_property_id: equalizers invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/cogenerating set.yaml b/databases/catdat/data/category-properties/cogenerating set.yaml index cb96f1ea..78669c49 100644 --- a/databases/catdat/data/category-properties/cogenerating set.yaml +++ b/databases/catdat/data/category-properties/cogenerating set.yaml @@ -1,6 +1,6 @@ id: cogenerating set relation: has a -description: "A set of objects $S$ is called a cogenerating set if for every pair of parallel morphisms $f,g : A \\rightrightarrows B$, $f = g$ holds if and only if for every morphism $h : B \\to G$ with $G \\in S$ we have $h \\circ f = h \\circ g$. Equivalently, the functor $(\\Hom(-,G))_{G \\in S} : \\C^{\\op} \\to (\\Set^+)^S$ is faithful. This property refers to the existence of a cogenerating set." +description: 'A set of objects $S$ is called a cogenerating set if for every pair of parallel morphisms $f,g : A \rightrightarrows B$, $f = g$ holds if and only if for every morphism $h : B \to G$ with $G \in S$ we have $h \circ f = h \circ g$. Equivalently, the functor $(\Hom(-,G))_{G \in S} : \C^{\op} \to (\Set^+)^S$ is faithful. This property refers to the existence of a cogenerating set.' nlab_link: https://ncatlab.org/nlab/show/cogenerator dual_property_id: generating set invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/cokernels.yaml b/databases/catdat/data/category-properties/cokernels.yaml index bc4c977f..2e20bf61 100644 --- a/databases/catdat/data/category-properties/cokernels.yaml +++ b/databases/catdat/data/category-properties/cokernels.yaml @@ -1,6 +1,6 @@ id: cokernels relation: has -description: "A category has cokernels if it has zero morphisms and every morphism $f : A \\to B$ has a cokernel, i.e. a coequalizer of $f$ with the zero morphism $0_{A,B} : A \\to B$." +description: 'A category has cokernels if it has zero morphisms and every morphism $f : A \to B$ has a cokernel, i.e. a coequalizer of $f$ with the zero morphism $0_{A,B} : A \to B$.' nlab_link: https://ncatlab.org/nlab/show/cokernel dual_property_id: kernels invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/coproducts.yaml b/databases/catdat/data/category-properties/coproducts.yaml index 1ea004fe..b32fba73 100644 --- a/databases/catdat/data/category-properties/coproducts.yaml +++ b/databases/catdat/data/category-properties/coproducts.yaml @@ -1,6 +1,6 @@ id: coproducts relation: has -description: "Given a family of objects $(A_i)_{i \\in I}$, a coproduct $\\coprod_{i \\in I} A_i$ is defined as an object with morphisms $i_i : A_i \\to \\coprod_{i \\in I} A_i$ satisfying the following universal property: For every object $T$ and every family of morphisms $(f_i : A_i \\to T)_{i \\in I}$ there is a unique morphism $f : \\coprod_{i \\in I} A_i \\to T$ such that $f \\circ i_i = f_i$ for all $i \\in I$. This property refers to the existence of small coproducts, i.e., coproducts of small families of objects." +description: 'Given a family of objects $(A_i)_{i \in I}$, a coproduct $\coprod_{i \in I} A_i$ is defined as an object with morphisms $i_i : A_i \to \coprod_{i \in I} A_i$ satisfying the following universal property: For every object $T$ and every family of morphisms $(f_i : A_i \to T)_{i \in I}$ there is a unique morphism $f : \coprod_{i \in I} A_i \to T$ such that $f \circ i_i = f_i$ for all $i \in I$. This property refers to the existence of small coproducts, i.e., coproducts of small families of objects.' nlab_link: https://ncatlab.org/nlab/show/coproduct dual_property_id: products invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/coquotients of cocongruences.yaml b/databases/catdat/data/category-properties/coquotients of cocongruences.yaml index aca291ca..095c7fa2 100644 --- a/databases/catdat/data/category-properties/coquotients of cocongruences.yaml +++ b/databases/catdat/data/category-properties/coquotients of cocongruences.yaml @@ -1,6 +1,6 @@ id: coquotients of cocongruences relation: has -description: "A cocongruence (or internal equivalence corelation) on an object $X$ of a category is a parallel pair $i_1, i_2 : X \\rightrightarrows E$ which is jointly epimorphic, and such that for every object $T$, the image of $({-} \\circ i_1, {-} \\circ i_2) : \\Hom(E, T) \\to \\Hom(X, T)^2$ is an equivalence relation. The category has coquotients of cocongruences if for each such cocongruence, there exists an equalizer of $i_1$ and $i_2$. Note that in the case of a category with binary copowers, the corresponding quotients of $X + X$ are also commonly referred to as cocongruences, or as internal equivalence corelations." +description: 'A cocongruence (or internal equivalence corelation) on an object $X$ of a category is a parallel pair $i_1, i_2 : X \rightrightarrows E$ which is jointly epimorphic, and such that for every object $T$, the image of $({-} \circ i_1, {-} \circ i_2) : \Hom(E, T) \to \Hom(X, T)^2$ is an equivalence relation. The category has coquotients of cocongruences if for each such cocongruence, there exists an equalizer of $i_1$ and $i_2$. Note that in the case of a category with binary copowers, the corresponding quotients of $X + X$ are also commonly referred to as cocongruences, or as internal equivalence corelations.' dual_property_id: quotients of congruences invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/counital.yaml b/databases/catdat/data/category-properties/counital.yaml index 9a568468..ce9740fe 100644 --- a/databases/catdat/data/category-properties/counital.yaml +++ b/databases/catdat/data/category-properties/counital.yaml @@ -1,6 +1,6 @@ id: counital relation: is -description: "A category is counital if its dual is unital, i.e., it has a zero object, finite colimits, and for all objects $X,Y$ the two morphisms $(\\id_X;0) : X \\sqcup Y \\twoheadrightarrow X$ and $(0;\\id_Y) : X \\sqcup Y \\twoheadrightarrow Y$ are jointly strongly monomorphic. When products exist, the canonical morphism $X \\sqcup Y \\to X \\times Y$ therefore must be a strong monomorphism." +description: 'A category is counital if its dual is unital, i.e., it has a zero object, finite colimits, and for all objects $X,Y$ the two morphisms $(\id_X;0) : X \sqcup Y \twoheadrightarrow X$ and $(0;\id_Y) : X \sqcup Y \twoheadrightarrow Y$ are jointly strongly monomorphic. When products exist, the canonical morphism $X \sqcup Y \to X \times Y$ therefore must be a strong monomorphism.' dual_property_id: unital invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/equalizers.yaml b/databases/catdat/data/category-properties/equalizers.yaml index 84585173..baf95a3d 100644 --- a/databases/catdat/data/category-properties/equalizers.yaml +++ b/databases/catdat/data/category-properties/equalizers.yaml @@ -1,6 +1,6 @@ id: equalizers relation: has -description: "An equalizer of a pair of morphisms $f,g : A \\rightrightarrows B$ is an object $E$ with a morphism $e : E \\to A$ such that $f \\circ e = g \\circ e$ and which is universal with respect to this property. This property refers to the existence of equalizers." +description: 'An equalizer of a pair of morphisms $f,g : A \rightrightarrows B$ is an object $E$ with a morphism $e : E \to A$ such that $f \circ e = g \circ e$ and which is universal with respect to this property. This property refers to the existence of equalizers.' nlab_link: https://ncatlab.org/nlab/show/equalizer dual_property_id: coequalizers invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/generating set.yaml b/databases/catdat/data/category-properties/generating set.yaml index dc7ea14b..8d6e1f8e 100644 --- a/databases/catdat/data/category-properties/generating set.yaml +++ b/databases/catdat/data/category-properties/generating set.yaml @@ -1,6 +1,6 @@ id: generating set relation: has a -description: "A set of objects $S$ is called a generating set if for every pair of parallel morphisms $f,g : A \\rightrightarrows B$, $f = g$ holds if and only if for every morphism $h : G \\to A$ with $G \\in S$ we have $f \\circ h = g \\circ h$. Equivalently, the functor $(\\Hom(G,-))_{G \\in S} : \\C \\to (\\Set^+)^S$ is faithful. This property refers to the existence of a generating set." +description: 'A set of objects $S$ is called a generating set if for every pair of parallel morphisms $f,g : A \rightrightarrows B$, $f = g$ holds if and only if for every morphism $h : G \to A$ with $G \in S$ we have $f \circ h = g \circ h$. Equivalently, the functor $(\Hom(G,-))_{G \in S} : \C \to (\Set^+)^S$ is faithful. This property refers to the existence of a generating set.' nlab_link: https://ncatlab.org/nlab/show/separator dual_property_id: cogenerating set invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/kernels.yaml b/databases/catdat/data/category-properties/kernels.yaml index 56742bc3..d7ea10d8 100644 --- a/databases/catdat/data/category-properties/kernels.yaml +++ b/databases/catdat/data/category-properties/kernels.yaml @@ -1,6 +1,6 @@ id: kernels relation: has -description: "A category has kernels if it has zero morphisms and every morphism $f : A \\to B$ has a kernel, i.e. an equalizer of $f$ with the zero morphism $0_{A,B} : A \\to B$." +description: 'A category has kernels if it has zero morphisms and every morphism $f : A \to B$ has a kernel, i.e. an equalizer of $f$ with the zero morphism $0_{A,B} : A \to B$.' nlab_link: https://ncatlab.org/nlab/show/kernel dual_property_id: cokernels invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/left cancellative.yaml b/databases/catdat/data/category-properties/left cancellative.yaml index 670b6253..0db6ed98 100644 --- a/databases/catdat/data/category-properties/left cancellative.yaml +++ b/databases/catdat/data/category-properties/left cancellative.yaml @@ -1,6 +1,6 @@ id: left cancellative relation: is -description: "A category is left cancellative if for every morphism $f : A \\to B$ and every parallel pair of morphisms $g,h : T \\rightrightarrows A$ with $f \\circ g = f \\circ h$ we have $g = h$. Equivalently, every morphism is a monomorphism." +description: 'A category is left cancellative if for every morphism $f : A \to B$ and every parallel pair of morphisms $g,h : T \rightrightarrows A$ with $f \circ g = f \circ h$ we have $g = h$. Equivalently, every morphism is a monomorphism.' nlab_link: https://ncatlab.org/nlab/show/cancellative+category dual_property_id: right cancellative invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/products.yaml b/databases/catdat/data/category-properties/products.yaml index fb95e659..05d5e89f 100644 --- a/databases/catdat/data/category-properties/products.yaml +++ b/databases/catdat/data/category-properties/products.yaml @@ -1,6 +1,6 @@ id: products relation: has -description: "Given a family of objects $(A_i)_{i \\in I}$, a product $\\prod_{i \\in I} A_i$ is defined as an object with morphisms $p_i : \\prod_{i \\in I} A_i \\to A_i$ satisfying the following universal property: For every object $T$ and every family of morphisms $(f_i : T \\to A_i)_{i \\in I}$ there is a unique morphism $f : T \\to \\prod_{i \\in I} A_i$ such that $p_i \\circ f = f_i$ for all $i \\in I$. This property refers to the existence of small products, i.e., products of small families of objects." +description: 'Given a family of objects $(A_i)_{i \in I}$, a product $\prod_{i \in I} A_i$ is defined as an object with morphisms $p_i : \prod_{i \in I} A_i \to A_i$ satisfying the following universal property: For every object $T$ and every family of morphisms $(f_i : T \to A_i)_{i \in I}$ there is a unique morphism $f : T \to \prod_{i \in I} A_i$ such that $p_i \circ f = f_i$ for all $i \in I$. This property refers to the existence of small products, i.e., products of small families of objects.' nlab_link: https://ncatlab.org/nlab/show/cartesian+product dual_property_id: coproducts invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/quotients of congruences.yaml b/databases/catdat/data/category-properties/quotients of congruences.yaml index 01a90a07..33072fa1 100644 --- a/databases/catdat/data/category-properties/quotients of congruences.yaml +++ b/databases/catdat/data/category-properties/quotients of congruences.yaml @@ -1,6 +1,6 @@ id: quotients of congruences relation: has -description: "A congruence (or internal equivalence relation) on an object $X$ of a category is a parallel pair $p_1, p_2 : E \\rightrightarrows X$ which is jointly monomorphic, and such that for every object $T$, the image of $(p_1 \\circ {-}, p_2 \\circ {-}) : \\Hom(T, E) \\to \\Hom(T, X)^2$ is an equivalence relation. The category has quotients of congruences if for each such congruence, there exists a coequalizer of $p_1$ and $p_2$. Note that in the case of a category with binary powers, the corresponding subobjects of $X \\times X$ are also commonly referred to as congruences, or as internal equivalence relations." +description: 'A congruence (or internal equivalence relation) on an object $X$ of a category is a parallel pair $p_1, p_2 : E \rightrightarrows X$ which is jointly monomorphic, and such that for every object $T$, the image of $(p_1 \circ {-}, p_2 \circ {-}) : \Hom(T, E) \to \Hom(T, X)^2$ is an equivalence relation. The category has quotients of congruences if for each such congruence, there exists a coequalizer of $p_1$ and $p_2$. Note that in the case of a category with binary powers, the corresponding subobjects of $X \times X$ are also commonly referred to as congruences, or as internal equivalence relations.' nlab_link: https://ncatlab.org/nlab/show/congruence dual_property_id: coquotients of cocongruences invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/right cancellative.yaml b/databases/catdat/data/category-properties/right cancellative.yaml index 0f38ca43..29d2eb3c 100644 --- a/databases/catdat/data/category-properties/right cancellative.yaml +++ b/databases/catdat/data/category-properties/right cancellative.yaml @@ -1,6 +1,6 @@ id: right cancellative relation: is -description: "A category is right cancellative if for every morphism $f : A \\to B$ and every parallel pair of morphisms $g,h : B \\rightrightarrows T$ with $g \\circ f = h \\circ f$ we have $g = h$. Equivalently, every morphism is an epimorphism." +description: 'A category is right cancellative if for every morphism $f : A \to B$ and every parallel pair of morphisms $g,h : B \rightrightarrows T$ with $g \circ f = h \circ f$ we have $g = h$. Equivalently, every morphism is an epimorphism.' nlab_link: https://ncatlab.org/nlab/show/cancellative+category dual_property_id: left cancellative invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/sequential colimits.yaml b/databases/catdat/data/category-properties/sequential colimits.yaml index acefa8ec..903aa26d 100644 --- a/databases/catdat/data/category-properties/sequential colimits.yaml +++ b/databases/catdat/data/category-properties/sequential colimits.yaml @@ -1,6 +1,6 @@ id: sequential colimits relation: has -description: "A category has sequential colimits if it has colimits of diagrams of the form: $\\bullet \\to \\bullet \\to \\bullet \\to \\cdots$." +description: 'A category has sequential colimits if it has colimits of diagrams of the form: $\bullet \to \bullet \to \bullet \to \cdots$.' nlab_link: https://ncatlab.org/nlab/show/sequential+colimit dual_property_id: sequential limits invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/unital.yaml b/databases/catdat/data/category-properties/unital.yaml index 46710fdb..76d11f71 100644 --- a/databases/catdat/data/category-properties/unital.yaml +++ b/databases/catdat/data/category-properties/unital.yaml @@ -1,6 +1,6 @@ id: unital relation: is -description: "A category is unital if it has a zero object, finite limits, and for all objects $X,Y$ the two morphisms $(\\id_X,0) : X \\hookrightarrow X \\times Y$ and $(0,\\id_Y) : Y \\hookrightarrow X \\times Y$ are jointly strongly epimorphic. This means: there is no proper subobject of $X \\times Y$ that contains $X$ and $Y$. When coproducts exist, the canonical morphism $X \\sqcup Y \\to X \\times Y$ therefore must be a strong epimorphism." +description: 'A category is unital if it has a zero object, finite limits, and for all objects $X,Y$ the two morphisms $(\id_X,0) : X \hookrightarrow X \times Y$ and $(0,\id_Y) : Y \hookrightarrow X \times Y$ are jointly strongly epimorphic. This means: there is no proper subobject of $X \times Y$ that contains $X$ and $Y$. When coproducts exist, the canonical morphism $X \sqcup Y \to X \times Y$ therefore must be a strong epimorphism.' nlab_link: https://ncatlab.org/nlab/show/unital+category dual_property_id: counital invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/zero morphisms.yaml b/databases/catdat/data/category-properties/zero morphisms.yaml index 105d8867..1e67af92 100644 --- a/databases/catdat/data/category-properties/zero morphisms.yaml +++ b/databases/catdat/data/category-properties/zero morphisms.yaml @@ -1,6 +1,6 @@ id: zero morphisms relation: has -description: "A category has zero morphisms if for every pair of objects $A,B$ there is a distinguished morphism $0_{A,B} : A \\to B$, called the zero morphism, such that we have $f \\circ 0_{A,B} = 0_{A,C}$ and $0_{B,C} \\circ g = 0_{A,C}$ for all morphisms $f : B \\to C$ and $g : A \\to B$. The zero morphisms are unique if they exist, hence this is actually a property of the category." +description: 'A category has zero morphisms if for every pair of objects $A,B$ there is a distinguished morphism $0_{A,B} : A \to B$, called the zero morphism, such that we have $f \circ 0_{A,B} = 0_{A,C}$ and $0_{B,C} \circ g = 0_{A,C}$ for all morphisms $f : B \to C$ and $g : A \to B$. The zero morphisms are unique if they exist, hence this is actually a property of the category.' nlab_link: https://ncatlab.org/nlab/show/zero+morphism dual_property_id: zero morphisms invariant_under_equivalences: true diff --git a/databases/catdat/data/functor-implications/limits preservation.yaml b/databases/catdat/data/functor-implications/limits preservation.yaml index 5198250b..d653d778 100644 --- a/databases/catdat/data/functor-implications/limits preservation.yaml +++ b/databases/catdat/data/functor-implications/limits preservation.yaml @@ -117,5 +117,5 @@ target_assumptions: [] conclusions: - monomorphism-preserving - reason: "This is because $f : X \\to Y$ is a monomorphism if and only the square displaying $\\id_Y \\circ f = \\id_Y \\circ f$ is a pullback square." + reason: 'This is because $f : X \to Y$ is a monomorphism if and only the square displaying $\id_Y \circ f = \id_Y \circ f$ is a pullback square.' is_equivalence: false diff --git a/databases/catdat/data/functor-implications/misc.yaml b/databases/catdat/data/functor-implications/misc.yaml index 89f3b81c..67f7f4ee 100644 --- a/databases/catdat/data/functor-implications/misc.yaml +++ b/databases/catdat/data/functor-implications/misc.yaml @@ -7,5 +7,5 @@ target_assumptions: [] conclusions: - faithful - reason: "Let $f,g : X \\rightrightarrows Y$ be two morphisms in the source category, and choose an equalizer $E \\hookrightarrow X$. By assumption, $F(E) \\to F(X)$ is the equalizer of $F(f),F(g) : F(X) \\rightrightarrows F(Y)$. Thus, if $F(f) = F(g)$, then $F(E) \\to F(X)$ is an isomorphism. Since $F$ is conservative, $E \\to X$ is an isomorphism, which means $f = g$." + reason: 'Let $f,g : X \rightrightarrows Y$ be two morphisms in the source category, and choose an equalizer $E \hookrightarrow X$. By assumption, $F(E) \to F(X)$ is the equalizer of $F(f),F(g) : F(X) \rightrightarrows F(Y)$. Thus, if $F(f) = F(g)$, then $F(E) \to F(X)$ is an isomorphism. Since $F$ is conservative, $E \to X$ is an isomorphism, which means $f = g$.' is_equivalence: false diff --git a/databases/catdat/data/functor-properties/coequalizer-preserving.yaml b/databases/catdat/data/functor-properties/coequalizer-preserving.yaml index fd199dfc..7b8f39e0 100644 --- a/databases/catdat/data/functor-properties/coequalizer-preserving.yaml +++ b/databases/catdat/data/functor-properties/coequalizer-preserving.yaml @@ -1,6 +1,6 @@ id: coequalizer-preserving relation: is -description: "A functor $F$ preserves coequalizers when for every parallel pair of morphisms $f,g : A \\rightrightarrows B$ whose coequalizer $p : B \\to Q$ exists, also $F(p) : F(B) \\to F(Q)$ is an coequalizer of $F(f),F(g) : F(A) \\rightrightarrows F(B)$." +description: 'A functor $F$ preserves coequalizers when for every parallel pair of morphisms $f,g : A \rightrightarrows B$ whose coequalizer $p : B \to Q$ exists, also $F(p) : F(B) \to F(Q)$ is an coequalizer of $F(f),F(g) : F(A) \rightrightarrows F(B)$.' nlab_link: null invariant_under_equivalences: true dual_property_id: equalizer-preserving diff --git a/databases/catdat/data/functor-properties/comonadic.yaml b/databases/catdat/data/functor-properties/comonadic.yaml index 9116fba5..11ccba0c 100644 --- a/databases/catdat/data/functor-properties/comonadic.yaml +++ b/databases/catdat/data/functor-properties/comonadic.yaml @@ -1,6 +1,6 @@ id: comonadic relation: is -description: "A functor $F : \\C \\to \\D$ is comonadic when there is a comonad $T$ on $\\D$ such that $F$ is equivalent to the forgetful functor $U^T : \\CoAlg(T) \\to \\D$." +description: 'A functor $F : \C \to \D$ is comonadic when there is a comonad $T$ on $\D$ such that $F$ is equivalent to the forgetful functor $U^T : \CoAlg(T) \to \D$.' nlab_link: https://ncatlab.org/nlab/show/comonadic+functor invariant_under_equivalences: true dual_property_id: monadic diff --git a/databases/catdat/data/functor-properties/conservative.yaml b/databases/catdat/data/functor-properties/conservative.yaml index d5a4fbaf..595e3848 100644 --- a/databases/catdat/data/functor-properties/conservative.yaml +++ b/databases/catdat/data/functor-properties/conservative.yaml @@ -1,6 +1,6 @@ id: conservative relation: is -description: "A functor $F : \\C \\to \\D$ is conservative when it is isomorphic-reflecting: If $f$ is a morphism in $\\C$ such that $F(f)$ is an isomorphism, then $f$ is an isomorphism." +description: 'A functor $F : \C \to \D$ is conservative when it is isomorphic-reflecting: If $f$ is a morphism in $\C$ such that $F(f)$ is an isomorphism, then $f$ is an isomorphism.' nlab_link: https://ncatlab.org/nlab/show/conservative+functor invariant_under_equivalences: true dual_property_id: conservative diff --git a/databases/catdat/data/functor-properties/equalizer-preserving.yaml b/databases/catdat/data/functor-properties/equalizer-preserving.yaml index f77665a5..dd26b0b2 100644 --- a/databases/catdat/data/functor-properties/equalizer-preserving.yaml +++ b/databases/catdat/data/functor-properties/equalizer-preserving.yaml @@ -1,6 +1,6 @@ id: equalizer-preserving relation: is -description: "A functor $F$ preserves equalizers when for every parallel pair of morphisms $f,g : A \\rightrightarrows B$ whose equalizer $i : E \\to A$ exists, also $F(i) : F(E) \\to F(A)$ is an equalizer of $F(f),F(g) : F(A) \\rightrightarrows F(B)$." +description: 'A functor $F$ preserves equalizers when for every parallel pair of morphisms $f,g : A \rightrightarrows B$ whose equalizer $i : E \to A$ exists, also $F(i) : F(E) \to F(A)$ is an equalizer of $F(f),F(g) : F(A) \rightrightarrows F(B)$.' nlab_link: null invariant_under_equivalences: true dual_property_id: coequalizer-preserving diff --git a/databases/catdat/data/functor-properties/essentially surjective.yaml b/databases/catdat/data/functor-properties/essentially surjective.yaml index 65f4cc77..2a13af2b 100644 --- a/databases/catdat/data/functor-properties/essentially surjective.yaml +++ b/databases/catdat/data/functor-properties/essentially surjective.yaml @@ -1,6 +1,6 @@ id: essentially surjective relation: is -description: "A functor $F : \\C \\to \\D$ is essentially surjective when every object $Y \\in \\D$ is isomorphic to $F(X)$ for some $X \\in \\C$." +description: 'A functor $F : \C \to \D$ is essentially surjective when every object $Y \in \D$ is isomorphic to $F(X)$ for some $X \in \C$.' nlab_link: https://ncatlab.org/nlab/show/essentially+surjective+functor invariant_under_equivalences: true dual_property_id: essentially surjective diff --git a/databases/catdat/data/functor-properties/faithful.yaml b/databases/catdat/data/functor-properties/faithful.yaml index 61a5a0d8..d0cb1d58 100644 --- a/databases/catdat/data/functor-properties/faithful.yaml +++ b/databases/catdat/data/functor-properties/faithful.yaml @@ -1,6 +1,6 @@ id: faithful relation: is -description: "A functor is faithful when it is injective on Hom-sets: If $F(f)=F(g)$, then $f=g$." +description: 'A functor is faithful when it is injective on Hom-sets: If $F(f)=F(g)$, then $f=g$.' nlab_link: https://ncatlab.org/nlab/show/faithful+functor invariant_under_equivalences: true dual_property_id: faithful diff --git a/databases/catdat/data/functor-properties/full.yaml b/databases/catdat/data/functor-properties/full.yaml index 5ffa2b8b..a73294ca 100644 --- a/databases/catdat/data/functor-properties/full.yaml +++ b/databases/catdat/data/functor-properties/full.yaml @@ -1,6 +1,6 @@ id: full relation: is -description: "A functor is full when it is surjective on Hom-sets: Every morphism $F(A) \\to F(B)$ is induced by a morphism $A \\to B$." +description: 'A functor is full when it is surjective on Hom-sets: Every morphism $F(A) \to F(B)$ is induced by a morphism $A \to B$.' nlab_link: https://ncatlab.org/nlab/show/full+functor invariant_under_equivalences: true dual_property_id: full diff --git a/databases/catdat/data/functor-properties/left adjoint.yaml b/databases/catdat/data/functor-properties/left adjoint.yaml index 0f8bb079..e0103c0d 100644 --- a/databases/catdat/data/functor-properties/left adjoint.yaml +++ b/databases/catdat/data/functor-properties/left adjoint.yaml @@ -1,6 +1,6 @@ id: left adjoint relation: is a -description: "A functor $F : \\C \\to \\D$ is a left adjoint when there is a functor $G : \\D \\to \\C$ such that there are natural bijections $\\Hom(F(A),B) \\cong \\Hom(A,G(B))$." +description: 'A functor $F : \C \to \D$ is a left adjoint when there is a functor $G : \D \to \C$ such that there are natural bijections $\Hom(F(A),B) \cong \Hom(A,G(B))$.' nlab_link: https://ncatlab.org/nlab/show/left+adjoint invariant_under_equivalences: true dual_property_id: right adjoint diff --git a/databases/catdat/data/functor-properties/monadic.yaml b/databases/catdat/data/functor-properties/monadic.yaml index 91e6a84d..4d2231cd 100644 --- a/databases/catdat/data/functor-properties/monadic.yaml +++ b/databases/catdat/data/functor-properties/monadic.yaml @@ -1,6 +1,6 @@ id: monadic relation: is -description: "A functor $F : \\C \\to \\D$ is monadic when there is a monad $T$ on $\\D$ such that $F$ is equivalent to the forgetful functor $U^T : \\Alg(T) \\to \\D$." +description: 'A functor $F : \C \to \D$ is monadic when there is a monad $T$ on $\D$ such that $F$ is equivalent to the forgetful functor $U^T : \Alg(T) \to \D$.' nlab_link: https://ncatlab.org/nlab/show/monadic+functor invariant_under_equivalences: true dual_property_id: comonadic diff --git a/databases/catdat/data/functor-properties/representable.yaml b/databases/catdat/data/functor-properties/representable.yaml index 7f2142be..21655f17 100644 --- a/databases/catdat/data/functor-properties/representable.yaml +++ b/databases/catdat/data/functor-properties/representable.yaml @@ -1,6 +1,6 @@ id: representable relation: is -description: "A functor $F : \\C \\to \\D$ is representable if $\\C$ is locally small, $\\D = \\Set$, and there is an object $A \\in \\C$ with $F \\cong \\Hom(A,-)$." +description: 'A functor $F : \C \to \D$ is representable if $\C$ is locally small, $\D = \Set$, and there is an object $A \in \C$ with $F \cong \Hom(A,-)$.' nlab_link: https://ncatlab.org/nlab/show/representable+functor invariant_under_equivalences: true dual_property_id: null diff --git a/databases/catdat/data/functor-properties/right adjoint.yaml b/databases/catdat/data/functor-properties/right adjoint.yaml index 55cb416a..b74d63b1 100644 --- a/databases/catdat/data/functor-properties/right adjoint.yaml +++ b/databases/catdat/data/functor-properties/right adjoint.yaml @@ -1,6 +1,6 @@ id: right adjoint relation: is a -description: "A functor $F : \\C \\to \\D$ is a right adjoint when there is a functor $G : \\D \\to \\C$ such that there are natural bijections $\\Hom(G(A),B) \\cong \\Hom(A,F(B))$." +description: 'A functor $F : \C \to \D$ is a right adjoint when there is a functor $G : \D \to \C$ such that there are natural bijections $\Hom(G(A),B) \cong \Hom(A,F(B))$.' nlab_link: https://ncatlab.org/nlab/show/right+adjoint invariant_under_equivalences: true dual_property_id: left adjoint diff --git a/databases/catdat/data/functors/forget_vector.yaml b/databases/catdat/data/functors/forget_vector.yaml index 4b193d5f..0e2cc005 100644 --- a/databases/catdat/data/functors/forget_vector.yaml +++ b/databases/catdat/data/functors/forget_vector.yaml @@ -19,7 +19,7 @@ satisfied_properties: unsatisfied_properties: - property_id: coequalizer-preserving - reason: "The coequalizer of $0,i_1 : K \\to K^2$ in $\\Vect$ is $p_2 : K^2 \\to K$, but the coequalizer in $\\Set$ is $(K \\times K^*) \\cup \\{(0,0)\\}$." + reason: 'The coequalizer of $0,i_1 : K \to K^2$ in $\Vect$ is $p_2 : K^2 \to K$, but the coequalizer in $\Set$ is $(K \times K^*) \cup \{(0,0)\}$.' - property_id: essentially surjective reason: The empty has has no vector space structure. - property_id: initial-object-preserving diff --git a/databases/catdat/data/functors/free_group.yaml b/databases/catdat/data/functors/free_group.yaml index 5397ab9a..a02f1cc4 100644 --- a/databases/catdat/data/functors/free_group.yaml +++ b/databases/catdat/data/functors/free_group.yaml @@ -7,17 +7,17 @@ nlab_link: https://ncatlab.org/nlab/show/free+functor satisfied_properties: - property_id: conservative - reason: "Let $f : X \\to Y$ be a map of sets such that $F(f) : F(X) \\to F(Y)$ is an isomorphism of groups. We know that $F$ is faithful, so that it reflects monomorphisms. Thus, $f$ is injective. Choose a complement $U \\subseteq Y$ of $f(X) \\subseteq Y$. Then $F(X) \\to F(Y) = F(X) \\sqcup F(U)$ is an isomorphism. This implies $F(U)=1$ and hence $U = \\varnothing$." + reason: 'Let $f : X \to Y$ be a map of sets such that $F(f) : F(X) \to F(Y)$ is an isomorphism of groups. We know that $F$ is faithful, so that it reflects monomorphisms. Thus, $f$ is injective. Choose a complement $U \subseteq Y$ of $f(X) \subseteq Y$. Then $F(X) \to F(Y) = F(X) \sqcup F(U)$ is an isomorphism. This implies $F(U)=1$ and hence $U = \varnothing$.' - property_id: faithful reason: A left adjoint is faithful if and only if its unit consists of monomorphisms. So we only need to check that every set embeds into (the underlying set of) its free group. But this is clear since $X$ already embeds into the free abelian group $\IZ^{\oplus X}$, which is a quotient of the free group. - property_id: left adjoint reason: This functor is left adjoint to the forgetful functor. - property_id: monomorphism-preserving - reason: "This can be deduced from the description of the elements of a free group, but here is an abstract argument: Split monomorphisms are preserved by any functor. The only injective maps in $\\Set$ that are not split are $\\varnothing \\hookrightarrow X$ (for non-empty $X$), and $F(\\varnothing) \\to F(X)$ is injective since $F(\\varnothing)$ is the trivial group." + reason: 'This can be deduced from the description of the elements of a free group, but here is an abstract argument: Split monomorphisms are preserved by any functor. The only injective maps in $\Set$ that are not split are $\varnothing \hookrightarrow X$ (for non-empty $X$), and $F(\varnothing) \to F(X)$ is injective since $F(\varnothing)$ is the trivial group.' unsatisfied_properties: - property_id: equalizer-preserving - reason: "Let $f,g : \\{a,b\\} \\rightrightarrows \\{c,d\\}$ be the two constant maps, $f \\equiv c$, $g \\equiv d$. Their equalizer is empty, and the free group on that equalizer is trivial. Now consider the induced group homomorphisms $F(f), F(g) : F(\\{a,b\\}) \\rightrightarrows F(\\{c,d\\})$ and observe that $a \\cdot b^{-1}$ lies in the kernel of both homomorphisms, hence in their equalizer." + reason: 'Let $f,g : \{a,b\} \rightrightarrows \{c,d\}$ be the two constant maps, $f \equiv c$, $g \equiv d$. Their equalizer is empty, and the free group on that equalizer is trivial. Now consider the induced group homomorphisms $F(f), F(g) : F(\{a,b\}) \rightrightarrows F(\{c,d\})$ and observe that $a \cdot b^{-1}$ lies in the kernel of both homomorphisms, hence in their equalizer.' - property_id: essentially surjective reason: Not every group is free (consider $\IZ/2$). - property_id: full diff --git a/databases/catdat/data/functors/power_set_contravariant.yaml b/databases/catdat/data/functors/power_set_contravariant.yaml index 8ab3ac7f..c1f71ab7 100644 --- a/databases/catdat/data/functors/power_set_contravariant.yaml +++ b/databases/catdat/data/functors/power_set_contravariant.yaml @@ -2,12 +2,12 @@ id: power_set_contravariant name: contravariant power set functor source: Set_op target: Set -description: "This functor maps a set $X$ to its power set $P(X)$ and a map of sets $f : X \\to Y$ to the induced preimage operator $f^* : P(Y) \\to P(X)$." +description: 'This functor maps a set $X$ to its power set $P(X)$ and a map of sets $f : X \to Y$ to the induced preimage operator $f^* : P(Y) \to P(X)$.' nlab_link: https://ncatlab.org/nlab/show/power+set satisfied_properties: - property_id: epimorphism-preserving - reason: "If $f : X \\to Y$ is injective, then $f^* : P(Y) \\to P(X)$ is surjective, since for all $A \\subseteq X$ we have $A = f^*(f_*(A))$." + reason: 'If $f : X \to Y$ is injective, then $f^* : P(Y) \to P(X)$ is surjective, since for all $A \subseteq X$ we have $A = f^*(f_*(A))$.' - property_id: monadic reason: See Johnstone, Theorem 2.2.7. - property_id: representable @@ -15,12 +15,12 @@ satisfied_properties: unsatisfied_properties: - property_id: coequalizer-preserving - reason: "The power set functor preserves reflexive coequalizers, but not all coequalizers, i.e. there are maps $f,g : Y \\to X$ with equalizer $E \\subseteq Y$ such that $P(Y) \\twoheadrightarrow P(E)$ is not the coequalizer of $f^*,g^* : P(X) \\to P(Y)$: Let $X=\\{0,1\\}$ and $Y=\\{a,b,c\\}$. Define maps $f,g:Y\\to X$ by $f(a)=0$, $f(b)=0$, $f(c)=1$ and $g(a)=0$, $g(b)=1$, $g(c)=0$. Their equalizer is $E = \\{a\\}$, so that $P(E)$ has $2$ elements. For $S=\\{0\\}$ one has $f^*(S)=\\{a,b\\}$, $g^*(S)=\\{a,c\\}$, and for $S=\\{1\\}$ one has $f^*(S)=\\{c\\}$, $g^*(S)=\\{b\\}$. Thus the coequalizer of $f^*,g^*$ is obtained from $P(Y)$ by imposing the two relations $\\{a,b\\} \\sim \\{a,c\\}$ and $\\{c\\} \\sim \\{b\\}$. But then it as $8-2 = 6$ elements." + reason: 'The power set functor preserves reflexive coequalizers, but not all coequalizers, i.e. there are maps $f,g : Y \to X$ with equalizer $E \subseteq Y$ such that $P(Y) \twoheadrightarrow P(E)$ is not the coequalizer of $f^*,g^* : P(X) \to P(Y)$: Let $X=\{0,1\}$ and $Y=\{a,b,c\}$. Define maps $f,g:Y\to X$ by $f(a)=0$, $f(b)=0$, $f(c)=1$ and $g(a)=0$, $g(b)=1$, $g(c)=0$. Their equalizer is $E = \{a\}$, so that $P(E)$ has $2$ elements. For $S=\{0\}$ one has $f^*(S)=\{a,b\}$, $g^*(S)=\{a,c\}$, and for $S=\{1\}$ one has $f^*(S)=\{c\}$, $g^*(S)=\{b\}$. Thus the coequalizer of $f^*,g^*$ is obtained from $P(Y)$ by imposing the two relations $\{a,b\} \sim \{a,c\}$ and $\{c\} \sim \{b\}$. But then it as $8-2 = 6$ elements.' - property_id: essentially surjective reason: The initial object does not lie in the essential image since $P(X) \neq 0$ for all $X$. - property_id: finitary reason: Consider the sequence of projections $\cdots \twoheadrightarrow \{0,1\}^2 \twoheadrightarrow \{0,1\}^1$. Its limit in $\Set$ (i.e. colimit in $\Set^{\op}$) is $\{0,1\}^{\IN}$, which is uncountable, so that $P(\{0,1\}^{\IN})$ is also uncountable. But the colimit of the induced diagram $P(\{0,1\}^1) \hookrightarrow P(\{0,1\}^2) \hookrightarrow \cdots$ is countable since each $P(\{0,1\}^n)$ is finite. - property_id: full - reason: "The maps $f^* : P(Y) \\to P(X)$ preserve the empty set, so take the constant map $P(X) \\to P(X)$, $T \\mapsto X$ for instance (where $X$ is non-empty)." + reason: 'The maps $f^* : P(Y) \to P(X)$ preserve the empty set, so take the constant map $P(X) \to P(X)$, $T \mapsto X$ for instance (where $X$ is non-empty).' - property_id: initial-object-preserving reason: In fact, the initial object does not even lie in the essential image since $P(X) \neq 0$ for all $X$. diff --git a/databases/catdat/data/functors/power_set_covariant.yaml b/databases/catdat/data/functors/power_set_covariant.yaml index db7a24cf..a7e1f2f9 100644 --- a/databases/catdat/data/functors/power_set_covariant.yaml +++ b/databases/catdat/data/functors/power_set_covariant.yaml @@ -2,24 +2,24 @@ id: power_set_covariant name: covariant power set functor source: Set target: Set -description: "This functor maps a set $X$ to its power set $P(X)$ and a map of sets $f : X \\to Y$ to the induced image operator $f_* : P(X) \\to P(Y)$." +description: 'This functor maps a set $X$ to its power set $P(X)$ and a map of sets $f : X \to Y$ to the induced image operator $f_* : P(X) \to P(Y)$.' nlab_link: https://ncatlab.org/nlab/show/power+set satisfied_properties: - property_id: conservative - reason: "Assume that $f : X \\to Y$ is a map such that $f_* : P(X) \\to P(Y)$ is an isomorphism. There is some $A \\subseteq X$ with $Y = f_*(A)$, this proves that $f$ is surjective. It is also injective: If $x,y \\in X$ satisfy $f(x) = f(y)$, then $f_*(\\{x\\}) = f_*(\\{y\\})$, and hence $\\{x\\} = \\{y\\}$, i.e. $x = y$." + reason: 'Assume that $f : X \to Y$ is a map such that $f_* : P(X) \to P(Y)$ is an isomorphism. There is some $A \subseteq X$ with $Y = f_*(A)$, this proves that $f$ is surjective. It is also injective: If $x,y \in X$ satisfy $f(x) = f(y)$, then $f_*(\{x\}) = f_*(\{y\})$, and hence $\{x\} = \{y\}$, i.e. $x = y$.' - property_id: epimorphism-preserving - reason: "If $f : X \\to Y$ is surjective, then $f_* \\circ f^* = \\id_{P(Y)}$, so that $f^*$ is surjective." + reason: 'If $f : X \to Y$ is surjective, then $f_* \circ f^* = \id_{P(Y)}$, so that $f^*$ is surjective.' - property_id: faithful - reason: "Let $f,g : X \\rightrightarrows Y$ be two maps with $f_* = g_* : P(X) \\rightrightarrows P(Y)$. Then $\\{f(x)\\} = f_*(\\{x\\}) = g_*(\\{x\\}) = \\{g(x)\\}$ and hence $f(x) = g(x)$ for all $x \\in X$." + reason: 'Let $f,g : X \rightrightarrows Y$ be two maps with $f_* = g_* : P(X) \rightrightarrows P(Y)$. Then $\{f(x)\} = f_*(\{x\}) = g_*(\{x\}) = \{g(x)\}$ and hence $f(x) = g(x)$ for all $x \in X$.' - property_id: monomorphism-preserving - reason: "If $f : X \\to Y$ is injective, then $f^* \\circ f_* = \\id_{P(X)}$, so that $f_*$ is injective." + reason: 'If $f : X \to Y$ is injective, then $f^* \circ f_* = \id_{P(X)}$, so that $f_*$ is injective.' unsatisfied_properties: - property_id: coequalizer-preserving - reason: "Let $X := \\{x,y\\}$. Consider the two maps $x,y : \\{0\\} \\rightrightarrows X$. Their coequalizer $Q = X / (x = y)$ has just one element, so that $P(Q)$ has two elements. The induced maps $x_*,y_* : P(\\{0\\}) \\rightrightarrows P(X)$ (which already agree on the empty set) have coequalizer $P(X) / (\\{x\\} = \\{y\\})$, which has $3$ elements. So it cannot be $P(Q)$." + reason: 'Let $X := \{x,y\}$. Consider the two maps $x,y : \{0\} \rightrightarrows X$. Their coequalizer $Q = X / (x = y)$ has just one element, so that $P(Q)$ has two elements. The induced maps $x_*,y_* : P(\{0\}) \rightrightarrows P(X)$ (which already agree on the empty set) have coequalizer $P(X) / (\{x\} = \{y\})$, which has $3$ elements. So it cannot be $P(Q)$.' - property_id: equalizer-preserving - reason: "Any pair of distinct surjective maps $f,g : X \\rightrightarrows Y$ provides a counterexample: Their equalizer $E$ is a proper subset of $X$, so that $P(E)$ cannot contain $X$. But $f_*(X) = Y = g_*(X)$ shows that $X$ is contained in the equalizer of $f_*,g_* : P(X) \\rightrightarrows P(Y)$." + reason: 'Any pair of distinct surjective maps $f,g : X \rightrightarrows Y$ provides a counterexample: Their equalizer $E$ is a proper subset of $X$, so that $P(E)$ cannot contain $X$. But $f_*(X) = Y = g_*(X)$ shows that $X$ is contained in the equalizer of $f_*,g_* : P(X) \rightrightarrows P(Y)$.' - property_id: essentially surjective reason: Every power set is non-empty. - property_id: finitary diff --git a/databases/catdat/data/lemmas/cogenerators_in_product_categories.yaml b/databases/catdat/data/lemmas/cogenerators_in_product_categories.yaml index b58625be..3bfa581b 100644 --- a/databases/catdat/data/lemmas/cogenerators_in_product_categories.yaml +++ b/databases/catdat/data/lemmas/cogenerators_in_product_categories.yaml @@ -4,4 +4,4 @@ title: Cogenerators in product categories claim: For a family of categories $(\C_i)_{i \in I}$, each having a cogenerator $Q_i$ which is weakly terminal, the object $(Q_i)_{i \in I}$ is a cogenerator in the product category $\prod_{i \in I} \C_i$. -proof: "Let $(f_i: A_i \\to B_i)_{i \\in I}$ and $(g_i: A_i \\to B_i)_{i \\in I}$ be two parallel morphisms in the product category which are coequalized by any morphism $(B_i \\to Q_i)_{i \\in I}$. Let $i_0 \\in I$. We claim that $f_{i_0},g_{i_0} : A_{i_0} \\rightrightarrows B_{i_0}$ are coequalized by all morphisms $B_{i_0} \\to Q_{i_0}$, and hence are equal: Indeed, for all $i \\neq i_0$ we may choose some morphism $B_i \\to Q_i$ since $Q_i$ is weakly terminal. Thus, the morphism $B_{i_0} \\to Q_{i_0}$ extends to a morphism $(B_i \\to Q_i)_{i \\in I}$ in the product category. By assumption, it coequalizes $(f_i)_{i \\in I}$ and $(g_i)_{i \\in I}$. By looking at the $i_0$-component are done." +proof: 'Let $(f_i: A_i \to B_i)_{i \in I}$ and $(g_i: A_i \to B_i)_{i \in I}$ be two parallel morphisms in the product category which are coequalized by any morphism $(B_i \to Q_i)_{i \in I}$. Let $i_0 \in I$. We claim that $f_{i_0},g_{i_0} : A_{i_0} \rightrightarrows B_{i_0}$ are coequalized by all morphisms $B_{i_0} \to Q_{i_0}$, and hence are equal: Indeed, for all $i \neq i_0$ we may choose some morphism $B_i \to Q_i$ since $Q_i$ is weakly terminal. Thus, the morphism $B_{i_0} \to Q_{i_0}$ extends to a morphism $(B_i \to Q_i)_{i \in I}$ in the product category. By assumption, it coequalizes $(f_i)_{i \in I}$ and $(g_i)_{i \in I}$. By looking at the $i_0$-component are done.' diff --git a/databases/catdat/data/lemmas/exact_filtered_colimits_descend.yaml b/databases/catdat/data/lemmas/exact_filtered_colimits_descend.yaml index a486a53e..3d67b8b4 100644 --- a/databases/catdat/data/lemmas/exact_filtered_colimits_descend.yaml +++ b/databases/catdat/data/lemmas/exact_filtered_colimits_descend.yaml @@ -2,7 +2,7 @@ id: exact_filtered_colimits_descend title: Exact filtered colimits descend to nice subcategories -claim: "Let $G : \\C \\to \\D$ be a fully faithful functor with a left adjoint $F : \\D \\to \\C$ that preserves finite limits. Assume that $\\D$ has exact filtered colimits and that $\\C$ has finite limits. Then $\\C$ has exact filtered colimits as well." +claim: 'Let $G : \C \to \D$ be a fully faithful functor with a left adjoint $F : \D \to \C$ that preserves finite limits. Assume that $\D$ has exact filtered colimits and that $\C$ has finite limits. Then $\C$ has exact filtered colimits as well.' proof: |- It is well-known (and easy to prove) that the colimit of a diagram $(X_j)$ in $\C$ is constructed as $F(\colim_j G(X_j))$, provided that colimit in $\D$ exists. In particular, $\C$ has filtered colimits. By assumption, it also has finite limits, and $G$ preserves these since it is a right adjoint. Now let $X : \I \times \J \to \C$ be a diagram, where $\I$ is finite and $\J$ is filtered. We compute: diff --git a/databases/catdat/data/lemmas/filtered-monos.yaml b/databases/catdat/data/lemmas/filtered-monos.yaml index 3af77f0d..50c3d41b 100644 --- a/databases/catdat/data/lemmas/filtered-monos.yaml +++ b/databases/catdat/data/lemmas/filtered-monos.yaml @@ -2,10 +2,6 @@ id: filtered-monos title: Detection of filtered-colimit-stable monomorphisms -claim: "Let $\\C$ be a category with filtered colimits. Assume that $U : \\C \\to \\D$ is faithful functor which preserves monomorphisms and filtered colimits. If monomorphisms in $\\D$ are stable under filtered colimits, then the same is true for $\\C$.

- - \ For the record, here is the dual statement: Let $\\C$ be a category with cofiltered limits. Assume that $U : \\C \\to \\D$ is faithful functor which preserves epimorphisms and cofiltered limits. If epimorphisms in $\\D$ are stable under cofiltered limits, then the same is true for $\\C$. - - \ " +claim: 'Let $\C$ be a category with filtered colimits. Assume that $U : \C \to \D$ is faithful functor which preserves monomorphisms and filtered colimits. If monomorphisms in $\D$ are stable under filtered colimits, then the same is true for $\C$.

For the record, here is the dual statement: Let $\C$ be a category with cofiltered limits. Assume that $U : \C \to \D$ is faithful functor which preserves epimorphisms and cofiltered limits. If epimorphisms in $\D$ are stable under cofiltered limits, then the same is true for $\C$.' proof: Since $U$ is faithful, it reflects monomorphisms. From here the proof is straight forward. diff --git a/databases/catdat/data/lemmas/missing_cogenerating_sets.yaml b/databases/catdat/data/lemmas/missing_cogenerating_sets.yaml index d4e09fbd..c9a2cba4 100644 --- a/databases/catdat/data/lemmas/missing_cogenerating_sets.yaml +++ b/databases/catdat/data/lemmas/missing_cogenerating_sets.yaml @@ -10,4 +10,4 @@ claim: |- Then $\C$ does not have a cogenerating set. -proof: "Assume that there is a cogenerating set $S$. By assumption (2) there is an object $X \\in \\F$ such that $U(X)$ is larger than all the $U(Y)$ with $Y \\in S$ (w.r.t. cardinalities) and which has a non-identity endomorphism $\\sigma : X \\to X$. Since $S$ cogenerates, there is a morphism $f : X \\to Y$ with $Y \\in S$ and $f \\sigma \\neq f$. For this, $Y$ must be non-terminal. By (1) the map $U(f) : U(X) \\to U(Y)$ is injective. This is a contradiction." +proof: 'Assume that there is a cogenerating set $S$. By assumption (2) there is an object $X \in \F$ such that $U(X)$ is larger than all the $U(Y)$ with $Y \in S$ (w.r.t. cardinalities) and which has a non-identity endomorphism $\sigma : X \to X$. Since $S$ cogenerates, there is a morphism $f : X \to Y$ with $Y \in S$ and $f \sigma \neq f$. For this, $Y$ must be non-terminal. By (1) the map $U(f) : U(X) \to U(Y)$ is injective. This is a contradiction.' diff --git a/databases/catdat/data/lemmas/missing_cogenerator.yaml b/databases/catdat/data/lemmas/missing_cogenerator.yaml index 1a12bf68..2fe15700 100644 --- a/databases/catdat/data/lemmas/missing_cogenerator.yaml +++ b/databases/catdat/data/lemmas/missing_cogenerator.yaml @@ -10,4 +10,4 @@ claim: |- Then $\C$ does not have a cogenerator. -proof: "Assume that there is a cogenerator $Y$. By assumption (2) there is an object $X \\in \\F$ such that $U(X)$ is larger than $U(Y)$ (w.r.t. cardinalities). Since $0,\\id_X : X \\rightrightarrows X$ are distinct, there is a morphism $f : X \\to Y$ with $f \\neq 0$. But then $U(f) : U(X) \\to U(Y)$ is injective by assumption (1), which contradicts our choice of $X$." +proof: 'Assume that there is a cogenerator $Y$. By assumption (2) there is an object $X \in \F$ such that $U(X)$ is larger than $U(Y)$ (w.r.t. cardinalities). Since $0,\id_X : X \rightrightarrows X$ are distinct, there is a morphism $f : X \to Y$ with $f \neq 0$. But then $U(f) : U(X) \to U(Y)$ is injective by assumption (1), which contradicts our choice of $X$.' diff --git a/databases/catdat/data/lemmas/monic-sequential-colimits-via-congruence-quotients.yaml b/databases/catdat/data/lemmas/monic-sequential-colimits-via-congruence-quotients.yaml index 43566634..375c718b 100644 --- a/databases/catdat/data/lemmas/monic-sequential-colimits-via-congruence-quotients.yaml +++ b/databases/catdat/data/lemmas/monic-sequential-colimits-via-congruence-quotients.yaml @@ -4,4 +4,4 @@ title: Construction of a colimit of a sequence of monomorphisms as a quotient of claim: Let $\C$ be a countably extensive category with quotients of congruences. Then $\C$ has colimits of sequences of monomorphisms. -proof: "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." +proof: '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.' diff --git a/databases/catdat/data/lemmas/pushouts-of-monos-via-congruence-quotients.yaml b/databases/catdat/data/lemmas/pushouts-of-monos-via-congruence-quotients.yaml index 055431ca..3490c67e 100644 --- a/databases/catdat/data/lemmas/pushouts-of-monos-via-congruence-quotients.yaml +++ b/databases/catdat/data/lemmas/pushouts-of-monos-via-congruence-quotients.yaml @@ -4,4 +4,4 @@ title: Construction of a pushout of monomorphisms as a quotient of a congruence claim: Let $\C$ be an extensive category with quotients of congruences. Then $\C$ has pushouts of monomorphisms. -proof: "Let $f : S \\hookrightarrow X$, $g : S \\hookrightarrow Y$ be monomorphisms. We construct a congruence on $X+Y$ via the maps $p_1, p_2 : X + Y + S + S \\rightrightarrows X+Y$ which act as the identity on $X+Y$, $i_1 \\circ f, i_2 \\circ g$ on the first copy of $S$, and $i_2 \\circ g, i_1 \\circ f$ on the second copy of $S$, respectively. To show that $p_1, p_2$ are jointly monomorphic, and again in proving transitivity of the congruence, we use extensivity to split the domain of the generalized elements of $X+Y+S+S$ so that without loss of generality we may assume each factors through one of the coproduct inclusions. Now a quotient of the congruence must be a pushout of $f$ and $g$." +proof: 'Let $f : S \hookrightarrow X$, $g : S \hookrightarrow Y$ be monomorphisms. We construct a congruence on $X+Y$ via the maps $p_1, p_2 : X + Y + S + S \rightrightarrows X+Y$ which act as the identity on $X+Y$, $i_1 \circ f, i_2 \circ g$ on the first copy of $S$, and $i_2 \circ g, i_1 \circ f$ on the second copy of $S$, respectively. To show that $p_1, p_2$ are jointly monomorphic, and again in proving transitivity of the congruence, we use extensivity to split the domain of the generalized elements of $X+Y+S+S$ so that without loss of generality we may assume each factors through one of the coproduct inclusions. Now a quotient of the congruence must be a pushout of $f$ and $g$.' diff --git a/databases/catdat/data/lemmas/special_sequential_colimits.yaml b/databases/catdat/data/lemmas/special_sequential_colimits.yaml index e49c1f24..bff8423e 100644 --- a/databases/catdat/data/lemmas/special_sequential_colimits.yaml +++ b/databases/catdat/data/lemmas/special_sequential_colimits.yaml @@ -2,7 +2,7 @@ id: special_sequential_colimits title: Finite structures usually have no sequential colimits -claim: "Let $\\C$ be a category with finite powers, including a terminal object $1$. Let $a : 1 \\to X$ be a morphism. Assume that the sequence of morphisms $(X^n,a) : X^n \\to X^{n+1}$ for $n \\geq 0$ admits a colimit $(i_n : X^n \\to C)$. Then for every $m \\geq 0$ there is a split epimorphism $C \\to X^m$. In particular, if $U : \\C \\to \\Set$ is a functor preserving finite powers and $\\card(U(X)) \\geq 2$, then $U(C)$ is infinite." +claim: 'Let $\C$ be a category with finite powers, including a terminal object $1$. Let $a : 1 \to X$ be a morphism. Assume that the sequence of morphisms $(X^n,a) : X^n \to X^{n+1}$ for $n \geq 0$ admits a colimit $(i_n : X^n \to C)$. Then for every $m \geq 0$ there is a split epimorphism $C \to X^m$. In particular, if $U : \C \to \Set$ is a functor preserving finite powers and $\card(U(X)) \geq 2$, then $U(C)$ is infinite.' proof: |- Let $m \geq 0$ be fixed. For $n \geq 0$ we define a morphism $u_n : X^n \to X^m$ as follows: It is the projection on the first $m$ factors for $m \leq n$, and $(X^n,a^{m-n})$ for $m \geq n$ (for $m=n$ these agree). With generalized elements this says: diff --git a/databases/catdat/data/lemmas/subobject_classifiers_coreflection.yaml b/databases/catdat/data/lemmas/subobject_classifiers_coreflection.yaml index e37da040..62cfce0c 100644 --- a/databases/catdat/data/lemmas/subobject_classifiers_coreflection.yaml +++ b/databases/catdat/data/lemmas/subobject_classifiers_coreflection.yaml @@ -2,6 +2,6 @@ id: subobject_classifiers_coreflection title: Coreflection of subobject classifiers -claim: "Let $\\D$ be a category with a (regular) subobject classifier $\\Omega$. Assume that $\\C \\to \\D$ is a full subcategory such that (1) any (regular) $\\D$-subobject of an object in $\\C$ already lies in $\\C$, (2) it is coreflective, i.e. there is a functor $R : \\D \\to \\C$ right adjoint to the inclusion. Then $R(\\Omega)$ is a (regular) subobject classifier in $\\C$." +claim: 'Let $\D$ be a category with a (regular) subobject classifier $\Omega$. Assume that $\C \to \D$ is a full subcategory such that (1) any (regular) $\D$-subobject of an object in $\C$ already lies in $\C$, (2) it is coreflective, i.e. there is a functor $R : \D \to \C$ right adjoint to the inclusion. Then $R(\Omega)$ is a (regular) subobject classifier in $\C$.' proof: If $X \in \C$, then $\Hom(X,R(\Omega)) \cong \Hom(X,\Omega)$ is isomorphic to the collection of $\D$-subobjects of $X$, which by assumption coincide with the $\C$-subobjects of $X$. diff --git a/databases/catdat/data/lemmas/thin_algebraic_categories.yaml b/databases/catdat/data/lemmas/thin_algebraic_categories.yaml index 7a76076d..aecfc4c4 100644 --- a/databases/catdat/data/lemmas/thin_algebraic_categories.yaml +++ b/databases/catdat/data/lemmas/thin_algebraic_categories.yaml @@ -4,4 +4,4 @@ title: Algebraic categories are "never" thin claim: Let $\C$ be a thin and finitary algebraic category. Then $\C \simeq 1$ or $\C \simeq \{0 < 1\}$. -proof: "Let $F : \\Set \\to \\C$ denote the free algebra functor. Every object $A \\in \\C$ admits a regular epimorphism $F(X) \\twoheadrightarrow A$ for some set $X$. But since $\\C$ is thin, every regular epimorphism must be an isomorphism. Also, $F(X)$ is a coproduct of copies of $F(1)$, which means it is either the initial object $0$ or $F(1)$ itself (since $\\C$ is thin). If $F(1) \\cong 0$, then every object is isomorphic to the initial object $0$, and hence $\\C$ is trivial. If not, then $\\C$ has exactly two objects up to isomorphism, $0$ and $F(1)$, there is a morphism $0 \\to F(1)$, but no morphism $F(1) \\to 0$. Since $\\C$ is thin, we conclude $\\C \\simeq \\{0 \\to 1\\}$." +proof: 'Let $F : \Set \to \C$ denote the free algebra functor. Every object $A \in \C$ admits a regular epimorphism $F(X) \twoheadrightarrow A$ for some set $X$. But since $\C$ is thin, every regular epimorphism must be an isomorphism. Also, $F(X)$ is a coproduct of copies of $F(1)$, which means it is either the initial object $0$ or $F(1)$ itself (since $\C$ is thin). If $F(1) \cong 0$, then every object is isomorphic to the initial object $0$, and hence $\C$ is trivial. If not, then $\C$ has exactly two objects up to isomorphism, $0$ and $F(1)$, there is a morphism $0 \to F(1)$, but no morphism $F(1) \to 0$. Since $\C$ is thin, we conclude $\C \simeq \{0 \to 1\}$.' From 92ce6419abb29de5ffe0b7973276c568acc39124 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Sat, 9 May 2026 18:44:39 +0200 Subject: [PATCH 12/22] remove |- from yaml seed files, put string values into one line for now --- databases/catdat/data/categories/Alg(R).yaml | 5 +- databases/catdat/data/categories/Cat.yaml | 5 +- databases/catdat/data/categories/Delta.yaml | 7 +-- databases/catdat/data/categories/FS.yaml | 9 +--- databases/catdat/data/categories/FinSet.yaml | 5 +- databases/catdat/data/categories/Fld.yaml | 5 +- databases/catdat/data/categories/FreeAb.yaml | 9 +--- databases/catdat/data/categories/Grp.yaml | 7 +-- databases/catdat/data/categories/J2.yaml | 8 +-- databases/catdat/data/categories/Man.yaml | 5 +- databases/catdat/data/categories/Met.yaml | 18 ++----- databases/catdat/data/categories/Mon.yaml | 9 +--- databases/catdat/data/categories/PMet.yaml | 5 +- databases/catdat/data/categories/Pos.yaml | 4 +- databases/catdat/data/categories/R-Mod.yaml | 4 +- databases/catdat/data/categories/Ring.yaml | 5 +- databases/catdat/data/categories/Rng.yaml | 14 +---- databases/catdat/data/categories/SemiGrp.yaml | 51 +++---------------- databases/catdat/data/categories/Set_f.yaml | 4 +- .../catdat/data/categories/Set_pointed.yaml | 5 +- databases/catdat/data/categories/Sp.yaml | 5 +- .../catdat/data/categories/Top_pointed.yaml | 5 +- databases/catdat/data/categories/TorsAb.yaml | 5 +- .../catdat/data/categories/TorsFreeAb.yaml | 5 +- .../walking_commutative_square.yaml | 6 +-- .../categories/walking_composable_pair.yaml | 4 +- .../categories/walking_coreflexive_pair.yaml | 5 +- .../data/categories/walking_splitting.yaml | 5 +- .../cartesian closed.yaml | 10 +--- .../category-implications/congruences.yaml | 36 ++----------- .../exact filtered colimits.yaml | 5 +- .../filtered + sifted.yaml | 7 +-- .../filtered colimits.yaml | 8 +-- .../data/category-implications/thin.yaml | 4 +- .../catdat/data/category-properties/CIP.yaml | 5 +- .../catdat/data/category-properties/CSP.yaml | 5 +- .../data/category-properties/biproducts.yaml | 6 +-- .../cartesian filtered colimits.yaml | 4 +- .../data/category-properties/co-Malcev.yaml | 5 +- .../cocartesian cofiltered limits.yaml | 4 +- .../data/category-properties/core-thin.yaml | 8 +-- .../data/category-properties/cosifted.yaml | 5 +- .../data/category-properties/direct.yaml | 5 +- .../disjoint finite products.yaml | 4 +- .../disjoint products.yaml | 4 +- .../effective cocongruences.yaml | 11 +--- .../effective congruences.yaml | 11 +--- .../exact cofiltered limits.yaml | 8 +-- .../exact filtered colimits.yaml | 8 +-- .../infinitary coextensive.yaml | 4 +- .../data/category-properties/inverse.yaml | 4 +- .../locally finitely multi-presentable.yaml | 9 +--- .../locally finitely presentable.yaml | 10 +--- .../locally multi-presentable.yaml | 9 +--- .../locally presentable.yaml | 11 +--- ...locally strongly finitely presentable.yaml | 12 +---- .../category-properties/multi-algebraic.yaml | 12 +---- .../natural numbers object.yaml | 6 +-- .../data/category-properties/preadditive.yaml | 4 +- .../quotient object classifier.yaml | 6 +-- .../regular quotient object classifier.yaml | 6 +-- .../regular subobject classifier.yaml | 6 +-- .../data/category-properties/sifted.yaml | 5 +- .../subobject classifier.yaml | 6 +-- .../epimorphism-preserving.yaml | 4 +- .../monomorphism-preserving.yaml | 4 +- .../lemmas/coslice-effective-congruences.yaml | 8 +-- .../effective-congruence-quotients.yaml | 20 +------- .../exact_filtered_colimits_descend.yaml | 9 +--- .../lemmas/limits_in_factor_categories.yaml | 4 +- .../lemmas/missing_cogenerating_sets.yaml | 8 +-- .../data/lemmas/missing_cogenerator.yaml | 8 +-- .../lemmas/nno_distributive_criterion.yaml | 23 +-------- .../lemmas/preadditive_structure_unique.yaml | 23 +-------- .../lemmas/special_sequential_colimits.yaml | 10 +--- 75 files changed, 93 insertions(+), 525 deletions(-) diff --git a/databases/catdat/data/categories/Alg(R).yaml b/databases/catdat/data/categories/Alg(R).yaml index 5b136ac9..6d6332cf 100644 --- a/databases/catdat/data/categories/Alg(R).yaml +++ b/databases/catdat/data/categories/Alg(R).yaml @@ -56,10 +56,7 @@ unsatisfied_properties: reason: We may copy the proof for the category of commutative algebras (since the proof there did not use that $P$ is commutative). Alternatively, any regular quotient object classifier in $\Alg(R)$ would produce one in $\CAlg(R)$ by this lemma (dualized). - property_id: cocartesian cofiltered limits - reason: |- - Consider the ring $A = R[X]$ and the sequence of rings $B_n = R[Y]/(Y^{n+1})$ with projections $B_{n+1} \to B_n$, whose limit is $R[[Y]]$. Every element in the coproduct of rings $R[X] \sqcup R[[Y]]$ has a finite "free product" length. Now consider the elements - $$w_n = (1 + XY) (1+XY^2) \cdots (1+X Y^n) \in A \sqcup B_n.$$ - Because of $w_n \equiv w_{n-1} \bmod Y^n$ these form an element $w \in \lim_n (A \sqcup B_n)$. Expanding $w_n$, the longest term is $XY XY^2 \cdots X Y^n$ of "free product" length $2n$, which is unbounded. + reason: 'Consider the ring $A = R[X]$ and the sequence of rings $B_n = R[Y]/(Y^{n+1})$ with projections $B_{n+1} \to B_n$, whose limit is $R[[Y]]$. Every element in the coproduct of rings $R[X] \sqcup R[[Y]]$ has a finite "free product" length. Now consider the elements $$w_n = (1 + XY) (1+XY^2) \cdots (1+X Y^n) \in A \sqcup B_n.$$ Because of $w_n \equiv w_{n-1} \bmod Y^n$ these form an element $w \in \lim_n (A \sqcup B_n)$. Expanding $w_n$, the longest term is $XY XY^2 \cdots X Y^n$ of "free product" length $2n$, which is unbounded.' - property_id: cofiltered-limit-stable epimorphisms reason: 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. diff --git a/databases/catdat/data/categories/Cat.yaml b/databases/catdat/data/categories/Cat.yaml index cf19f952..2faa380f 100644 --- a/databases/catdat/data/categories/Cat.yaml +++ b/databases/catdat/data/categories/Cat.yaml @@ -59,10 +59,7 @@ unsatisfied_properties: reason: 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. - property_id: effective cocongruences - reason: |- - 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, \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$. + reason: '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, \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$.' special_objects: initial object: diff --git a/databases/catdat/data/categories/Delta.yaml b/databases/catdat/data/categories/Delta.yaml index 434bf2b0..ad59b3d6 100644 --- a/databases/catdat/data/categories/Delta.yaml +++ b/databases/catdat/data/categories/Delta.yaml @@ -52,12 +52,7 @@ satisfied_properties: reason: The proof for $\FinOrd$ also works for $\FinSet \setminus \{\varnothing\}$. - property_id: cosifted - reason: |- - Let $X,Y \in \Delta$. We may pick $x \in X$, $y \in Y$. Then there is a "point span" $X \xleftarrow{x} [0] \xrightarrow{y} Y$. Every span $X \xleftarrow{f} Z \xrightarrow{g} Y$ is connected to such a point span: Pick $z \in Z$. This defines a morphism of spans: - $$\begin{CD} X @<{f(z)}<< [0] @>{g(z)}>> Y \\ @| @VV{z}V @| \\ X @<<{f}< Z @>>{g}> Y \end{CD}$$ - It remains to show that all point spans are connected to each other. Assume $x_0,x_1 \in X$ and $y \in Y$, w.l.o.g. $x_0 \leq x_1$. Define the map $f : [1] \to X$ by $f(0) = x_0$, $f(1) = x_1$, and the map $g : [1] \to Y$ by $g(0)=g(1)=y$. They are order-preserving and fit into a zig-zag of spans: - $$\begin{CD} X @<{x_0}<< [0] @>{y}>> Y \\ @| @V{0}VV @| \\ X @<{f}<< [1] @>{g}>> Y \\ @| @A{1}AA @| \\ X @<{x_1}<< [0] @>{y}>> Y \end{CD}$$ - This shows that the choice of $x \in X$ does not matter, and for $y \in Y$ the proof is the same. + reason: 'Let $X,Y \in \Delta$. We may pick $x \in X$, $y \in Y$. Then there is a "point span" $X \xleftarrow{x} [0] \xrightarrow{y} Y$. Every span $X \xleftarrow{f} Z \xrightarrow{g} Y$ is connected to such a point span: Pick $z \in Z$. This defines a morphism of spans: $$\begin{CD} X @<{f(z)}<< [0] @>{g(z)}>> Y \\ @| @VV{z}V @| \\ X @<<{f}< Z @>>{g}> Y \end{CD}$$ It remains to show that all point spans are connected to each other. Assume $x_0,x_1 \in X$ and $y \in Y$, w.l.o.g. $x_0 \leq x_1$. Define the map $f : [1] \to X$ by $f(0) = x_0$, $f(1) = x_1$, and the map $g : [1] \to Y$ by $g(0)=g(1)=y$. They are order-preserving and fit into a zig-zag of spans: $$\begin{CD} X @<{x_0}<< [0] @>{y}>> Y \\ @| @V{0}VV @| \\ X @<{f}<< [1] @>{g}>> Y \\ @| @A{1}AA @| \\ X @<{x_1}<< [0] @>{y}>> Y \end{CD}$$ This shows that the choice of $x \in X$ does not matter, and for $y \in Y$ the proof is the same.' unsatisfied_properties: - property_id: strict terminal object diff --git a/databases/catdat/data/categories/FS.yaml b/databases/catdat/data/categories/FS.yaml index a60b037e..bafda2e5 100644 --- a/databases/catdat/data/categories/FS.yaml +++ b/databases/catdat/data/categories/FS.yaml @@ -65,14 +65,7 @@ unsatisfied_properties: reason: Assume that the copower $X := 2+2$ exists. Since we have a surjective map $2 \to X$, the set $X$ has at most $2$ elements. The codiagonal $X \to 2$ shows that $X$ has at least $2$ elements. Thus, $X \cong 2$. For all finite sets $Y$ we get a bijection $\Hom(2,Y) \cong \Hom(2,Y)^2$, in particular the cardinalities are the same. For $Y=2$ this gives the contradiction $2 = 4$. - property_id: locally cocartesian coclosed - reason: |- - If $X$ is a finite set, the coslice category $X / \FS$ is thin and in fact equivalent to the lattice of equivalence relations on $X$. If $X$ has $\geq 3$ elements, it is not codistributive* and hence not cocartesian coclosed: For simplicity assume $X = \{a,b,c\}$. The bottom element $\bot$ corresponds to the partition $\{\{a\},\{b\},\{c\}\}$, the top element $\top$ to the partition $\{\{a,b,c\}\}$. Now consider the three equivalence relations $E_1,E_2,E_3$ corresponding to the three partitions - $$\{\{a,b\},\{c\}\}, \, \{\{a,c\},\{b\}\}, \, \{\{b,c\},\{a\}\}.$$ - Then - $$E_1 \vee (E_2 \wedge E_3) = E_1 \vee \bot = E_1,$$ - but - $$(E_1 \vee E_2) \wedge (E_1 \vee E_3) = \top \wedge \top = \top.$$ - *For thin categories, the properties codistributive and distributive are equivalent. + reason: 'If $X$ is a finite set, the coslice category $X / \FS$ is thin and in fact equivalent to the lattice of equivalence relations on $X$. If $X$ has $\geq 3$ elements, it is not codistributive* and hence not cocartesian coclosed: For simplicity assume $X = \{a,b,c\}$. The bottom element $\bot$ corresponds to the partition $\{\{a\},\{b\},\{c\}\}$, the top element $\top$ to the partition $\{\{a,b,c\}\}$. Now consider the three equivalence relations $E_1,E_2,E_3$ corresponding to the three partitions $$\{\{a,b\},\{c\}\}, \, \{\{a,c\},\{b\}\}, \, \{\{b,c\},\{a\}\}.$$ Then $$E_1 \vee (E_2 \wedge E_3) = E_1 \vee \bot = E_1,$$ but $$(E_1 \vee E_2) \wedge (E_1 \vee E_3) = \top \wedge \top = \top.$$ *For thin categories, the properties codistributive and distributive are equivalent.' - property_id: multi-initial object reason: If a multi-initial object exists, then the connected component consisting of non-empty finite sets has an initial object $X$. Then, any non-empty finite set cannot have a cardinality strictly greater than $X$, which is a contradiction. diff --git a/databases/catdat/data/categories/FinSet.yaml b/databases/catdat/data/categories/FinSet.yaml index 35a9921d..e473caa0 100644 --- a/databases/catdat/data/categories/FinSet.yaml +++ b/databases/catdat/data/categories/FinSet.yaml @@ -51,10 +51,7 @@ unsatisfied_properties: reason: This is trivial. - property_id: natural numbers object - reason: |- - If $(N,z,s)$ is a natural numbers object, then - $$1 \xrightarrow{z} N \xleftarrow{s} N$$ - is a coproduct cocone by Johnstone, Part A, Lemma 2.5.5. But there is no finite set $N$ with $N \cong 1 + N$. + reason: 'If $(N,z,s)$ is a natural numbers object, then $$1 \xrightarrow{z} N \xleftarrow{s} N$$ is a coproduct cocone by Johnstone, Part A, Lemma 2.5.5. But there is no finite set $N$ with $N \cong 1 + N$.' special_objects: initial object: diff --git a/databases/catdat/data/categories/Fld.yaml b/databases/catdat/data/categories/Fld.yaml index eb9ba59d..5658b888 100644 --- a/databases/catdat/data/categories/Fld.yaml +++ b/databases/catdat/data/categories/Fld.yaml @@ -63,10 +63,7 @@ unsatisfied_properties: reason: Every field has a non-trivial extension, for instance, the rational function field over itself in one variable. Hence, a multi-terminal object never exists. - property_id: cofiltered-limit-stable epimorphisms - reason: |- - Inside of $\IF_p(X)$ consider the descending sequence of subfields - $$\IF_p(X) \supseteq \IF_p(X^p) \supseteq \IF_p(X^{p^2}) \supseteq \cdots,$$ - whose intersection is $\IF_p$. Each $\IF_p(X^{p^n}) \hookrightarrow \IF_p(X)$ is purely inseparable, hence an epimorphism, but in the limit we get $\IF_p \hookrightarrow \IF_p(X)$, which is not even algebraic. + reason: 'Inside of $\IF_p(X)$ consider the descending sequence of subfields $$\IF_p(X) \supseteq \IF_p(X^p) \supseteq \IF_p(X^{p^2}) \supseteq \cdots,$$ whose intersection is $\IF_p$. Each $\IF_p(X^{p^n}) \hookrightarrow \IF_p(X)$ is purely inseparable, hence an epimorphism, but in the limit we get $\IF_p \hookrightarrow \IF_p(X)$, which is not even algebraic.' special_objects: {} diff --git a/databases/catdat/data/categories/FreeAb.yaml b/databases/catdat/data/categories/FreeAb.yaml index 04e7984f..e5262348 100644 --- a/databases/catdat/data/categories/FreeAb.yaml +++ b/databases/catdat/data/categories/FreeAb.yaml @@ -34,10 +34,7 @@ satisfied_properties: reason: It is easy to check that $\IZ$ is a cogenerator for free abelian groups. - property_id: regular - reason: |- - This follows formally from the fact that $\Ab$ is regular and $\FreeAb$ is closed under subobjects and finite products: By Prop. 2.5 in the nlab it suffices to prove that there are pullback-stable (reg epi, mono)-factorizations. Every homomorphism $f : A \to B$ in $\FreeAb$ factors as $f = i \circ p : A \twoheadrightarrow C \hookrightarrow B$, where $C$ is a subgroup, hence free, and $A \to C$ is surjective. Clearly, surjective homomorphisms are pullback-stable. It remains to show that they coincide with the regular epimorphisms.
- (1) If $f : A \to B$ is surjective, it is the coequalizer of $A \times_B A \rightrightarrows A$ in $\Ab$. Since $A \times_B A$ is free abelian, $f$ is also an coequalizer in $\FreeAb$.
- (2) If $f : A \to B$ is a regular epimorphism in $\FreeAb$, consider the factorization $f = i \circ p$ as above. Since $f$ is an extremal epimorphism, $i$ must be an isomorphism, so that $f$ is surjective. + reason: 'This follows formally from the fact that $\Ab$ is regular and $\FreeAb$ is closed under subobjects and finite products: By Prop. 2.5 in the nlab it suffices to prove that there are pullback-stable (reg epi, mono)-factorizations. Every homomorphism $f : A \to B$ in $\FreeAb$ factors as $f = i \circ p : A \twoheadrightarrow C \hookrightarrow B$, where $C$ is a subgroup, hence free, and $A \to C$ is surjective. Clearly, surjective homomorphisms are pullback-stable. It remains to show that they coincide with the regular epimorphisms.
(1) If $f : A \to B$ is surjective, it is the coequalizer of $A \times_B A \rightrightarrows A$ in $\Ab$. Since $A \times_B A$ is free abelian, $f$ is also an coequalizer in $\FreeAb$.
(2) If $f : A \to B$ is a regular epimorphism in $\FreeAb$, consider the factorization $f = i \circ p$ as above. Since $f$ is an extremal epimorphism, $i$ must be an isomorphism, so that $f$ is surjective.' unsatisfied_properties: - property_id: countable powers @@ -53,9 +50,7 @@ unsatisfied_properties: reason: See MO/509715. - property_id: effective cocongruences - reason: |- - 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. + reason: '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.' category_property_comments: - property_id: accessible diff --git a/databases/catdat/data/categories/Grp.yaml b/databases/catdat/data/categories/Grp.yaml index a6cafce8..4899a438 100644 --- a/databases/catdat/data/categories/Grp.yaml +++ b/databases/catdat/data/categories/Grp.yaml @@ -62,12 +62,7 @@ unsatisfied_properties: reason: 'Assume that $\Grp$ has a (regular) quotient object classifier, i.e. a group $P$ such that every surjective homomorphism $G \to H$ is the cokernel of a unique homomorphism $\varphi : P \to G$. Equivalently, every normal subgroup $N \subseteq G$ is $\langle \langle \varphi(P) \rangle \rangle$ for a unique homomorphism $\varphi : P \to G$, where $\langle \langle - \rangle \rangle$ denotes the normal closure. If $c_g : G \to G$ denotes the conjugation with $g \in G$, then the images of $\varphi$ and $c_g \circ \varphi$ have the same normal closures, so the homomorphisms must be equal. In other words, $\varphi$ factors through the center $Z(G)$. But then every normal subgroup of $G$, in particular $G$ itself, would be contained in $Z(G)$, which is wrong for every non-abelian group $G$.' - property_id: cocartesian cofiltered limits - reason: |- - For cofiltered diagrams of groups $(H_i)$ and a group $G$ the canonical homomorphism - $$\textstyle \alpha : G \sqcup \lim_i H_i \to \lim_i (G \sqcup H_i)$$ - is injective, but often fails to be surjective because the components of an element in the image have bounded free product length (the number of factors appearing in the reduced form). Specifically, consider the free groups $G = \langle y \rangle$ and $H_n = \langle x_1,\dotsc,x_n \rangle$ for $n \in \IN$ with the truncation maps $H_{n+1} \to H_n$, $x_{n+1} \mapsto 1$. Define - $$p_n := x_1 \, y \, x_2 \, y \, \cdots \, x_{n-1} \, y \, x_n \, y^{-(n-1)} \in G \sqcup H_n.$$ - If we substitute $x_{n+1}=1$ in $p_{n+1}$, we get $p_n$. Thus, we have $p = (p_n) \in \lim_n (G \sqcup H_n)$. This element does not lie in the image of $\alpha$ since the free product length of $p_n$ (which is well-defined) is $2n$, which is unbounded. + reason: 'For cofiltered diagrams of groups $(H_i)$ and a group $G$ the canonical homomorphism $$\textstyle \alpha : G \sqcup \lim_i H_i \to \lim_i (G \sqcup H_i)$$ is injective, but often fails to be surjective because the components of an element in the image have bounded free product length (the number of factors appearing in the reduced form). Specifically, consider the free groups $G = \langle y \rangle$ and $H_n = \langle x_1,\dotsc,x_n \rangle$ for $n \in \IN$ with the truncation maps $H_{n+1} \to H_n$, $x_{n+1} \mapsto 1$. Define $$p_n := x_1 \, y \, x_2 \, y \, \cdots \, x_{n-1} \, y \, x_n \, y^{-(n-1)} \in G \sqcup H_n.$$ If we substitute $x_{n+1}=1$ in $p_{n+1}$, we get $p_n$. Thus, we have $p = (p_n) \in \lim_n (G \sqcup H_n)$. This element does not lie in the image of $\alpha$ since the free product length of $p_n$ (which is well-defined) is $2n$, which is unbounded.' - property_id: CSP reason: The canonical homomorphism $\coprod_{n \geq 0} \IZ \to \prod_{n \geq 0} \IZ$ is not surjective because its domain is countable and its codomain is uncountable. Hence it is no epimorphism. diff --git a/databases/catdat/data/categories/J2.yaml b/databases/catdat/data/categories/J2.yaml index 2021f8b3..fad466e5 100644 --- a/databases/catdat/data/categories/J2.yaml +++ b/databases/catdat/data/categories/J2.yaml @@ -28,13 +28,7 @@ unsatisfied_properties: reason: This is trivial. - property_id: semi-strongly connected - reason: |- - There is a bijection $\alpha = (\lambda,\rho) : \IN \to \IN \times \IN$ such that $\lambda$ has a fixed point, but $\rho$ does not (see below). Then the isomorphism $\beta := (\rho,\lambda)$ has the opposite property. There cannot be any morphism $(\IN,\alpha) \to (\IN,\beta)$, as it would map the fixed point of $\lambda$ to a fixed point of $\rho$, and likewise there is no morphism $(\IN,\beta) \to (\IN,\alpha)$.
- To construct $\alpha$ or rather $\alpha^{-1} : \IN \times \IN \to \IN$, we can alter the standard bijection $(n,m) \mapsto 2^n (2m+1) - 1$ as follows: - $$\alpha^{-1}(n,m) = \begin{cases} 2 & (n,m) = (0,0) \\ 0 & (n,m) = (0,1) \\ 2^n (2m+1) - 1 & \text{otherwise} \end{cases}$$ - Then $\alpha(0)=(0,1)$, i.e. $\lambda(0)=0$. The function $\rho$ has no fixed point, i.e. $\alpha^{-1}(n,m) \neq m$ for all $n,m$. Namely, if $(n,m)=(0,0)$, then $\alpha^{-1}(n,m)=2 \neq m$. If $(n,m)=(0,1)$, then $\alpha^{-1}(n,m)=0 \neq m$. Otherwise, - $$\alpha^{-1}(n,m) = 2^n (2m+1) - 1 \geq (2m+1)-1 = 2m \geq m,$$ - and equality can only hold if $m=0$ and $n=0$, which we already excluded. + reason: 'There is a bijection $\alpha = (\lambda,\rho) : \IN \to \IN \times \IN$ such that $\lambda$ has a fixed point, but $\rho$ does not (see below). Then the isomorphism $\beta := (\rho,\lambda)$ has the opposite property. There cannot be any morphism $(\IN,\alpha) \to (\IN,\beta)$, as it would map the fixed point of $\lambda$ to a fixed point of $\rho$, and likewise there is no morphism $(\IN,\beta) \to (\IN,\alpha)$.
To construct $\alpha$ or rather $\alpha^{-1} : \IN \times \IN \to \IN$, we can alter the standard bijection $(n,m) \mapsto 2^n (2m+1) - 1$ as follows: $$\alpha^{-1}(n,m) = \begin{cases} 2 & (n,m) = (0,0) \\ 0 & (n,m) = (0,1) \\ 2^n (2m+1) - 1 & \text{otherwise} \end{cases}$$ Then $\alpha(0)=(0,1)$, i.e. $\lambda(0)=0$. The function $\rho$ has no fixed point, i.e. $\alpha^{-1}(n,m) \neq m$ for all $n,m$. Namely, if $(n,m)=(0,0)$, then $\alpha^{-1}(n,m)=2 \neq m$. If $(n,m)=(0,1)$, then $\alpha^{-1}(n,m)=0 \neq m$. Otherwise, $$\alpha^{-1}(n,m) = 2^n (2m+1) - 1 \geq (2m+1)-1 = 2m \geq m,$$ and equality can only hold if $m=0$ and $n=0$, which we already excluded.' special_objects: initial object: diff --git a/databases/catdat/data/categories/Man.yaml b/databases/catdat/data/categories/Man.yaml index c831b076..7a502484 100644 --- a/databases/catdat/data/categories/Man.yaml +++ b/databases/catdat/data/categories/Man.yaml @@ -45,10 +45,7 @@ satisfied_properties: reason: 'This is a consequence of the Whitney embedding theorem. But there is also a more direct proof: Since a manifold is second-countable, it is Lindelöf (proof). In particular, there is a countable atlas. It is then completely determined by countable many open subsets of Euclidean spaces and the transition maps.' - property_id: coquotients of cocongruences - reason: |- - Let $p : X + X \twoheadrightarrow E$ be a cocongruence with coreflexivity morphism $r : E \to X$, so that $r \circ p : X + X \to X$ is the codiagonal. Since $p$ is an epimorphism, it has dense image (see below). We first claim that in fact $p$ also has closed image and therefore is surjective. - 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$. + reason: 'Let $p : X + X \twoheadrightarrow E$ be a cocongruence with coreflexivity morphism $r : E \to X$, so that $r \circ p : X + X \to X$ is the codiagonal. Since $p$ is an epimorphism, it has dense image (see below). We first claim that in fact $p$ also has closed image and therefore is surjective. 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$.' - property_id: effective cocongruences reason: '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$.' diff --git a/databases/catdat/data/categories/Met.yaml b/databases/catdat/data/categories/Met.yaml index c5143e5a..4273e06e 100644 --- a/databases/catdat/data/categories/Met.yaml +++ b/databases/catdat/data/categories/Met.yaml @@ -41,10 +41,7 @@ satisfied_properties: check_redundancy: false - property_id: cartesian filtered colimits - reason: |- - We already saw that filtered colimits and finite products exist. The canonical map $\colim_i (X \times Y_i) \to X \times \colim_i Y_i$ is an isomorphism for filtered diagrams $(Y_i)$: It is surjective by the concrete description of filtered colimits. It is isometric because of the elementary observation - $$\textstyle\inf_i \max(r, s_i) = \max(r, \inf_i s_i)$$ - for $r, s_i \in \IR$, where $i \leq j \implies s_i \geq s_j$. + reason: 'We already saw that filtered colimits and finite products exist. The canonical map $\colim_i (X \times Y_i) \to X \times \colim_i Y_i$ is an isomorphism for filtered diagrams $(Y_i)$: It is surjective by the concrete description of filtered colimits. It is isometric because of the elementary observation $$\textstyle\inf_i \max(r, s_i) = \max(r, \inf_i s_i)$$ for $r, s_i \in \IR$, where $i \leq j \implies s_i \geq s_j$.' - property_id: strict initial object reason: The empty metric space is initial and clearly strict. @@ -90,22 +87,13 @@ unsatisfied_properties: reason: 'Consider the metric subspace $\{(a,b) \in \IR^2 : a \leq b\}$ of $\IR^2$.' - property_id: natural numbers object - reason: |- - 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. + reason: '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.' - property_id: effective congruences reason: '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.' - property_id: effective cocongruences - reason: |- - 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 $\Met$. + reason: '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 $\Met$.' special_objects: initial object: diff --git a/databases/catdat/data/categories/Mon.yaml b/databases/catdat/data/categories/Mon.yaml index 2ec1585c..29eaad99 100644 --- a/databases/catdat/data/categories/Mon.yaml +++ b/databases/catdat/data/categories/Mon.yaml @@ -67,14 +67,7 @@ unsatisfied_properties: reason: 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. - property_id: effective cocongruences - reason: |- - 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}(\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$. + reason: '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}(\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$.' special_objects: initial object: diff --git a/databases/catdat/data/categories/PMet.yaml b/databases/catdat/data/categories/PMet.yaml index 5d1b5de0..e8127ddd 100644 --- a/databases/catdat/data/categories/PMet.yaml +++ b/databases/catdat/data/categories/PMet.yaml @@ -81,10 +81,7 @@ unsatisfied_properties: reason: Take any counterexample in $\Set$ and equip it with the zero pseudo-metric. - property_id: natural numbers object - reason: |- - 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. + reason: '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.' - property_id: effective cocongruences reason: '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/categories/Pos.yaml b/databases/catdat/data/categories/Pos.yaml index 582e1696..ac600fc1 100644 --- a/databases/catdat/data/categories/Pos.yaml +++ b/databases/catdat/data/categories/Pos.yaml @@ -61,9 +61,7 @@ unsatisfied_properties: reason: 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. - property_id: effective cocongruences - reason: |- - 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. + reason: '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.' special_objects: initial object: diff --git a/databases/catdat/data/categories/R-Mod.yaml b/databases/catdat/data/categories/R-Mod.yaml index b13baec9..1921ae08 100644 --- a/databases/catdat/data/categories/R-Mod.yaml +++ b/databases/catdat/data/categories/R-Mod.yaml @@ -3,9 +3,7 @@ name: category of left modules over a ring notation: $R{-}\Mod$ objects: left $R$-modules morphisms: $R$-linear maps -description: |- - This is the prototype of an abelian category. The category of right modules is the same with the opposite ring $R^{\op}$, hence not listed here.
- To settle the unsatisfied properties, we make the assumption that $R$ is not semisimple: If $R$ is semisimple, then by the Artin-Wedderburn theorem, the category is equivalent to a finite direct product of categories $D{-}\Mod$ for division rings $D$, and the case of division rings is in a separate entry. In particular, $R \neq 0$ and $R$ is not a field. +description: 'This is the prototype of an abelian category. The category of right modules is the same with the opposite ring $R^{\op}$, hence not listed here.
To settle the unsatisfied properties, we make the assumption that $R$ is not semisimple: If $R$ is semisimple, then by the Artin-Wedderburn theorem, the category is equivalent to a finite direct product of categories $D{-}\Mod$ for division rings $D$, and the case of division rings is in a separate entry. In particular, $R \neq 0$ and $R$ is not a field.' nlab_link: https://ncatlab.org/nlab/show/module tags: - algebra diff --git a/databases/catdat/data/categories/Ring.yaml b/databases/catdat/data/categories/Ring.yaml index c9777547..173b1c96 100644 --- a/databases/catdat/data/categories/Ring.yaml +++ b/databases/catdat/data/categories/Ring.yaml @@ -59,10 +59,7 @@ unsatisfied_properties: reason: We may copy the proof for the category of commutative rings (since the proof there did not use that $P$ is commutative). Alternatively, any regular quotient object classifier in $\Ring$ would produce one in $\CRing$ by this lemma (dualized). - property_id: cocartesian cofiltered limits - reason: |- - Consider the ring $A = \IZ[X]$ and the sequence of rings $B_n = \IZ[Y]/(Y^{n+1})$ with projections $B_{n+1} \to B_n$, whose limit is $\IZ[[Y]]$. Every element in the coproduct of rings $\IZ[X] \sqcup \IZ[[Y]]$ has a finite "free product" length. Now consider the elements - $$w_n = (1 + XY) (1+XY^2) \cdots (1+X Y^n) \in A \sqcup B_n.$$ - Because of $w_n \equiv w_{n-1} \bmod Y^n$ these form an element $w \in \lim_n (A \sqcup B_n)$. Expanding $w_n$, the longest term is $XY XY^2 \cdots X Y^n$ of "free product" length $2n$, which is unbounded. + reason: 'Consider the ring $A = \IZ[X]$ and the sequence of rings $B_n = \IZ[Y]/(Y^{n+1})$ with projections $B_{n+1} \to B_n$, whose limit is $\IZ[[Y]]$. Every element in the coproduct of rings $\IZ[X] \sqcup \IZ[[Y]]$ has a finite "free product" length. Now consider the elements $$w_n = (1 + XY) (1+XY^2) \cdots (1+X Y^n) \in A \sqcup B_n.$$ Because of $w_n \equiv w_{n-1} \bmod Y^n$ these form an element $w \in \lim_n (A \sqcup B_n)$. Expanding $w_n$, the longest term is $XY XY^2 \cdots X Y^n$ of "free product" length $2n$, which is unbounded.' - property_id: cofiltered-limit-stable epimorphisms reason: 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. diff --git a/databases/catdat/data/categories/Rng.yaml b/databases/catdat/data/categories/Rng.yaml index 322d2a8e..8d8fcb55 100644 --- a/databases/catdat/data/categories/Rng.yaml +++ b/databases/catdat/data/categories/Rng.yaml @@ -55,10 +55,7 @@ unsatisfied_properties: reason: 'Assume that $\Rng$ has a regular quotient object classifier $P$. Consider the functor $N : \Ab \to \Rng$ that equips an abelian group with zero multiplication. It is fully faithful and has a left adjoint mapping a rng $R$ to the abelian group $R/R^2$. If $R$ is a rng with zero multiplication and $R \to S$ is a surjective homomorphism, then $S$ has zero multiplication. Therefore, the assumptions of this lemma (dualized) apply and we conclude that $P/P^2$ is a regular quotient object classifier of $\Ab$. But we already know that this category has no such object (in fact, the only additive categories with such an object are trivial by MSE/4086192).' - property_id: cocartesian cofiltered limits - reason: |- - Consider the ring $A = \IZ[X]$ and the sequence of rings $B_n = \IZ[Y]/(Y^{n+1})$ with projections $B_{n+1} \to B_n$, whose limit is $\IZ[[Y]]$ (both in $\Ring$ and $\Rng$). Every element in the coproduct of rngs $\IZ[X] \sqcup \IZ[[Y]]$ has a finite "free product" length. Now consider the elements - $$w_n = (1 + XY) (1+XY^2) \cdots (1+X Y^n) - 1 \in A \sqcup B_n.$$ - Because of $w_n \equiv w_{n-1} \bmod Y^n$ these form an element $w \in \lim_n (A \sqcup B_n)$. Expanding $w_n$, the longest term is $XY XY^2 \cdots X Y^n$ of "free product" length $2n$, which is unbounded. + reason: 'Consider the ring $A = \IZ[X]$ and the sequence of rings $B_n = \IZ[Y]/(Y^{n+1})$ with projections $B_{n+1} \to B_n$, whose limit is $\IZ[[Y]]$ (both in $\Ring$ and $\Rng$). Every element in the coproduct of rngs $\IZ[X] \sqcup \IZ[[Y]]$ has a finite "free product" length. Now consider the elements $$w_n = (1 + XY) (1+XY^2) \cdots (1+X Y^n) - 1 \in A \sqcup B_n.$$ Because of $w_n \equiv w_{n-1} \bmod Y^n$ these form an element $w \in \lim_n (A \sqcup B_n)$. Expanding $w_n$, the longest term is $XY XY^2 \cdots X Y^n$ of "free product" length $2n$, which is unbounded.' - property_id: CSP reason: Assume that $\coprod_n \IZ \to \prod_n \IZ$ is an epimorphism in $\Rng$. Then $((\coprod_n \IZ)^+)^{\ab} \to \prod_n \IZ$ would be an epimorphism in $\CRing$, where $(-)^+$ denotes the unitalization and $(-)^{\ab}$ the abelianization. But if $R \to S$ is an epimorphism of commutative rings, then $\card(S) \leq \card(R)$ by SP/04W0. Since $((\coprod_n \IZ)^+)^{\ab}$ is countable and $\prod_n \IZ$ is not, we get a contradiction. @@ -67,14 +64,7 @@ unsatisfied_properties: reason: '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$.' - property_id: effective cocongruences - reason: |- - 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_{\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 $\Ring$. + reason: '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_{\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 $\Ring$.' special_objects: initial object: diff --git a/databases/catdat/data/categories/SemiGrp.yaml b/databases/catdat/data/categories/SemiGrp.yaml index c0c34ea7..1821e62d 100644 --- a/databases/catdat/data/categories/SemiGrp.yaml +++ b/databases/catdat/data/categories/SemiGrp.yaml @@ -27,21 +27,14 @@ satisfied_properties: reason: This follows easily from the concrete description of coproducts as (a variant of) free products. - property_id: cocartesian cofiltered limits - reason: |- - We need to prove that for two cofiltered diagram of semigroups $(B_i)$, $(C_i)$ the canonical map - $$\textstyle \alpha : \lim_i B_i + \lim_i C_i \to \lim_i (B_i + C_i)$$ - is an isomorphism, i.e. bijective. The underlying set of the coproduct $B_i + C_i$ is identified with the disjoint union of sets of the form - $$B_i \times C_i \times B_i \times \cdots \times C_i$$ - with any positive product length, starting and ending either with $B_i$ or $C_i$. Moreover, $\lim_i$ commutes with arbitrary coproducts in $\Set$, and of course also with products. This shows that $\alpha$ is bijective. + reason: 'We need to prove that for two cofiltered diagram of semigroups $(B_i)$, $(C_i)$ the canonical map $$\textstyle \alpha : \lim_i B_i + \lim_i C_i \to \lim_i (B_i + C_i)$$ is an isomorphism, i.e. bijective. The underlying set of the coproduct $B_i + C_i$ is identified with the disjoint union of sets of the form $$B_i \times C_i \times B_i \times \cdots \times C_i$$ with any positive product length, starting and ending either with $B_i$ or $C_i$. Moreover, $\lim_i$ commutes with arbitrary coproducts in $\Set$, and of course also with products. This shows that $\alpha$ is bijective.' unsatisfied_properties: - property_id: skeletal reason: This is trivial. - property_id: balanced - reason: |- - The inclusion of additive semigroups $\IN \hookrightarrow \IZ$ is a counterexample. Indeed, if $f,g : \IZ \to G$ are semigroup homomorphisms which agree on $\IN$, the element $e := f(0) = g(0)$ provides a neutral element for $eGe$, which therefore becomes a monoid, and $f,g$ corestrict to monoid homomorphisms $f,g : \IZ \to eGe$ which agree on $\IN$. And we already know that $f = g$ in that case (inverses are uniquely determined).
- Another example can be found in MO/510431. + reason: 'The inclusion of additive semigroups $\IN \hookrightarrow \IZ$ is a counterexample. Indeed, if $f,g : \IZ \to G$ are semigroup homomorphisms which agree on $\IN$, the element $e := f(0) = g(0)$ provides a neutral element for $eGe$, which therefore becomes a monoid, and $f,g$ corestrict to monoid homomorphisms $f,g : \IZ \to eGe$ which agree on $\IN$. And we already know that $f = g$ in that case (inverses are uniquely determined).
Another example can be found in MO/510431.' - property_id: Malcev reason: 'Consider the subsemigroup $\{(a,b) : a \leq b \}$ of $\IN^2$ under addition.' @@ -50,54 +43,24 @@ unsatisfied_properties: reason: 'See MO/509552: Consider the forgetful functor $U : \SemiGrp \to \Set$ and the relation $R \subseteq U^2$ defined by $R(A) := \{(a,b) \in U(A)^2 : ab = a^2\}$. Both are representable: $U$ by the free semigroup on a single generator and $R$ by the free semigroup on two generators $x,y$ subject to the relation $xy=x^2$. It is clear that $R$ is reflexive, but not symmetric.' - property_id: semi-strongly connected - reason: |- - Let us first remark that every non-empty finite semigroup $A$ has an idempotent element $e$, and then $B \to A$, $x \mapsto e$ does define a semigroup homomorphism for any $B$. Therefore, counterexamples need to be infinite and also without idempotent elements.
- Let $A$ be the set of positive rational numbers of the form $m/2^n$ (with $m > 0$, $n \geq 0$), and let $B$ be the set of positive rational numbers of the form $m/3^n$ (with $m > 0$, $n \geq 0$). Both are semigroups under addition. The element $1 \in A$ is $2^\infty$-divisible, meaning that for every $n \geq 0$ there is some $a \in A$ with $1 = 2^n \cdot a$. But $B$ has no $2^\infty$-divisible element. Hence, there is no semigroup homomorphism $A \to B$. Likewise, there is no semigroup homomorphism $B \to A$. + reason: 'Let us first remark that every non-empty finite semigroup $A$ has an idempotent element $e$, and then $B \to A$, $x \mapsto e$ does define a semigroup homomorphism for any $B$. Therefore, counterexamples need to be infinite and also without idempotent elements.
Let $A$ be the set of positive rational numbers of the form $m/2^n$ (with $m > 0$, $n \geq 0$), and let $B$ be the set of positive rational numbers of the form $m/3^n$ (with $m > 0$, $n \geq 0$). Both are semigroups under addition. The element $1 \in A$ is $2^\infty$-divisible, meaning that for every $n \geq 0$ there is some $a \in A$ with $1 = 2^n \cdot a$. But $B$ has no $2^\infty$-divisible element. Hence, there is no semigroup homomorphism $A \to B$. Likewise, there is no semigroup homomorphism $B \to A$.' - property_id: cogenerating set # TODO: find a variant of the lemma missing_cogenerating_sets # (or missing_cogenerator) which handles this. - reason: |- - The proof is similar to the proof for $\Grp$. Assume that there is a cogenerating set $S$. There is an infinite simple group $G$ larger than all the semigroups in $S$ (such as an alternating group). Since $\id_G, 1 : G \rightrightarrows G$ are different, there is a semigroup $H \in S$ and a homomorphism of semigroups $f : G \to H$ with $f \neq f \circ 1$. Then - $$N := \{g \in G : f(g) = f(1)\}$$ - is a normal subgroup of $G$. It is proper, and hence trivial. But then $f$ is injective, which is a contradiction. + reason: 'The proof is similar to the proof for $\Grp$. Assume that there is a cogenerating set $S$. There is an infinite simple group $G$ larger than all the semigroups in $S$ (such as an alternating group). Since $\id_G, 1 : G \rightrightarrows G$ are different, there is a semigroup $H \in S$ and a homomorphism of semigroups $f : G \to H$ with $f \neq f \circ 1$. Then $$N := \{g \in G : f(g) = f(1)\}$$ is a normal subgroup of $G$. It is proper, and hence trivial. But then $f$ is injective, which is a contradiction.' - property_id: cofiltered-limit-stable epimorphisms reason: We already know that $\Set$ does not have this property (by this result). Now apply the contrapositive of the dual of this lemma to the functor $\Set \to \SemiGrp$ that equips a set with the multiplication $a \cdot b := a$. - property_id: effective cocongruences - reason: |- - The proof is similar to $\Mon$, i.e. we adapt the counterexample from MO/510744. Namely, consider the semigroups - $$\begin{align*} X & := \langle p \mid p^2 = p \rangle,\\ - E & := \langle p, q \mid p^2 = p,\, q^2 = q,\, pq = q,\, qp = p \rangle, - \end{align*}$$ - whose underlying sets are $\{p\}$ and $\{p,q\}$, respectively. Then $X$ represents the functor sending a semigroup $A$ to its idempotents, and $E$ represents the relation on idempotents $a, b$ of $A$ that $ab = b$, $ba = a$. It is easy to check that this defines an equivalence relation (see MO/510744 for details). Since $p \ne q$ in $E$, the equalizer of the two maps $X \rightrightarrows E$ is the empty semigroup. Therefore, if $E$ were effective, it would be isomorphic to the coproduct $X \sqcup X$, whose underlying set consists of non-empty words in $p,q$ with $p,q$ strictly alternating. In particular, in this coproduct, $pq \ne q$. + reason: 'The proof is similar to $\Mon$, i.e. we adapt the counterexample from MO/510744. Namely, consider the semigroups $$\begin{align*} X & := \langle p \mid p^2 = p \rangle,\\ E & := \langle p, q \mid p^2 = p,\, q^2 = q,\, pq = q,\, qp = p \rangle, \end{align*}$$ whose underlying sets are $\{p\}$ and $\{p,q\}$, respectively. Then $X$ represents the functor sending a semigroup $A$ to its idempotents, and $E$ represents the relation on idempotents $a, b$ of $A$ that $ab = b$, $ba = a$. It is easy to check that this defines an equivalence relation (see MO/510744 for details). Since $p \ne q$ in $E$, the equalizer of the two maps $X \rightrightarrows E$ is the empty semigroup. Therefore, if $E$ were effective, it would be isomorphic to the coproduct $X \sqcup X$, whose underlying set consists of non-empty words in $p,q$ with $p,q$ strictly alternating. In particular, in this coproduct, $pq \ne q$.' - property_id: natural numbers object - reason: |- - Assume that a natural numbers object exists. Then by this result, for every semigroup $A$ the natural homomorphism - $$\textstyle\alpha : \coprod_{n \geq 0} A \to A \times \coprod_{n \geq 0} 1$$ - is a split monomorphism. But this is not true: For each $n \geq 0$ let $A_n$ denote a copy of $A$. The elements of the coproduct in $\alpha$'s domain have a unique representation as - $$x_{n_1} * \cdots * x_{n_s}$$ - with $x_i \in A_i$ and $n_i \neq n_{i+1}$, and we have - $$\alpha(x_{n_1} * \cdots * x_{n_s}) = (x_{n_1} \cdots x_{n_s}, n_1 * \cdots * n_s).$$ - In particular, if $A$ has two non-equal commuting elements $x,y$ (for example, if $A$ is any non-trivial monoid), we have - $$\alpha(y_0 x_0) = \alpha(x_0 y_0),$$ - showing that $\alpha$ is not injective. + reason: 'Assume that a natural numbers object exists. Then by this result, for every semigroup $A$ the natural homomorphism $$\textstyle\alpha : \coprod_{n \geq 0} A \to A \times \coprod_{n \geq 0} 1$$ is a split monomorphism. But this is not true: For each $n \geq 0$ let $A_n$ denote a copy of $A$. The elements of the coproduct in $\alpha$''s domain have a unique representation as $$x_{n_1} * \cdots * x_{n_s}$$ with $x_i \in A_i$ and $n_i \neq n_{i+1}$, and we have $$\alpha(x_{n_1} * \cdots * x_{n_s}) = (x_{n_1} \cdots x_{n_s}, n_1 * \cdots * n_s).$$ In particular, if $A$ has two non-equal commuting elements $x,y$ (for example, if $A$ is any non-trivial monoid), we have $$\alpha(y_0 x_0) = \alpha(x_0 y_0),$$ showing that $\alpha$ is not injective.' - property_id: coregular - reason: |- - We will find a regular monomorphism $\iota : F \to M$ of semigroups and a homomorphism $F \to K$ such that $K \to K \sqcup_F M$ is not injective. It is similar to our example for $\Mon$. Consider these semigroups defined by generators and relations: - $$\begin{align*} - F & := \langle a,b,c,d \rangle \\ - M & := \langle a,b,c,d,s : as = c, \, bs = d \rangle \cong \langle a,b,s \rangle \\ - K & := \langle x,c,d \rangle \\ - N & := \langle a,b,c,d,s_0,s_1 : as_i = c, \, bs_i = d \rangle \\ - & \cong \langle a,b,s_0,s_1 : a s_0 = a s_1, \, b s_0 = b s_1 \rangle \\ - \end{align*}$$ - There is a canonical homomorphism $\iota : F \to M$, which is the equalizer of the two canonical homomorphisms $M \rightrightarrows N$ defined by $s \mapsto s_i$. We define $F \to K$ by $a \mapsto x$, $b \mapsto x$, $c \mapsto c$, $d \mapsto d$. Then - $$K \sqcup_F M \cong \langle x,c,d,s : x s = c,\, x s = d \rangle$$ - shows that $c,d \in K$ have the same image in the pushout. + reason: 'We will find a regular monomorphism $\iota : F \to M$ of semigroups and a homomorphism $F \to K$ such that $K \to K \sqcup_F M$ is not injective. It is similar to our example for $\Mon$. Consider these semigroups defined by generators and relations: $$\begin{align*} F & := \langle a,b,c,d \rangle \\ M & := \langle a,b,c,d,s : as = c, \, bs = d \rangle \cong \langle a,b,s \rangle \\ K & := \langle x,c,d \rangle \\ N & := \langle a,b,c,d,s_0,s_1 : as_i = c, \, bs_i = d \rangle \\ & \cong \langle a,b,s_0,s_1 : a s_0 = a s_1, \, b s_0 = b s_1 \rangle \\ \end{align*}$$ There is a canonical homomorphism $\iota : F \to M$, which is the equalizer of the two canonical homomorphisms $M \rightrightarrows N$ defined by $s \mapsto s_i$. We define $F \to K$ by $a \mapsto x$, $b \mapsto x$, $c \mapsto c$, $d \mapsto d$. Then $$K \sqcup_F M \cong \langle x,c,d,s : x s = c,\, x s = d \rangle$$ shows that $c,d \in K$ have the same image in the pushout.' - property_id: regular subobject classifier reason: 'Assume that a regular subobject classifier $\Omega$ exists in $\SemiGrp$. The universal regular monomorphism $\top : 1 \to \Omega$ corresponds to an idempotent element $e \in \Omega$. It follows that $e \Omega e$ is a monoid with neutral element $e$. We claim that it is a regular subobject classifier in $\Mon$, which we know does not exist. Indeed, let $\iota : A \to B$ be a regular monomorphism of monoids. Since the forgetful functor $\Mon \to \SemiGrp$ preserves limits, we can also see $\iota$ as a regular monomorphism of semigroups. Hence, there is a unique homomorphism of semigroups $f : B \to \Omega$ with $\iota(A) = \{b \in B : f(b) = e\}$. Since $1 \in \iota(A)$, we have $f(1) = e$. Then $f$ corresponds to a homomorphism of monoids $f : B \to e \Omega e$ with kernel $\iota$, which proves our claim.' diff --git a/databases/catdat/data/categories/Set_f.yaml b/databases/catdat/data/categories/Set_f.yaml index eb4e1a51..b16f6ede 100644 --- a/databases/catdat/data/categories/Set_f.yaml +++ b/databases/catdat/data/categories/Set_f.yaml @@ -50,9 +50,7 @@ satisfied_properties: reason: This is clear since the epimorphisms are injective. - property_id: ℵ₁-accessible - reason: |- - We first show that $\aleph_1$-directed colimits exist and are preserved by the forgetful functor to $\Set$. Let $(X_i)_{i \in I}$ be a diagram in $\Set_\f$ indexed by a $\aleph_1$-directed poset $I$. Let $(u_i : X_i \to X)$ be the colimit in $\Set$. Each map $u_i$ is finite-to-one: Otherwise, some fiber $u_i^*(\{x\}) \subseteq X_i$ contains infinitely many elements $a_1,a_2,\dotsc$. For every $n \geq 1$ we find $i_n \geq i$ such that $a_1,a_n$ have the same image in $X_{i_n}$. Let $i_\infty \in I$ be an upper bound of all $i_n$. Then all $a_n$ have the same image in $X_{i_\infty}$. This is a contradiction since $X_i \to X_{i_\infty}$ is finite-to-one. Now if $f : X \to Y$ is a map such that each $f \circ u_i$ is finite-to-one, then $f$ is finite-to-one as well: If a fiber $f^*(\{y\})$ contains infinitely many distinct elements $x_1,x_2,\dotsc$, there is some index $i$ such that all have a preimage in $X_i$, but then $(f \circ u_i)^*(\{y\})$ would be infinite. This concludes the proof that $\aleph_1$-directed colimits exist.
- In $\Set$, every set $X$ is the $\aleph_1$-directed colimit of its countable subsets. This remains true in $\Set_\f$ because a map $X \to Y$ is finite-to-one as long as each restriction to a countable subset of $X$ is finite-to-one. Moreover, every countable set is $\aleph_1$-presentable in $\Set$, but also in $\Set_\f$. + reason: 'We first show that $\aleph_1$-directed colimits exist and are preserved by the forgetful functor to $\Set$. Let $(X_i)_{i \in I}$ be a diagram in $\Set_\f$ indexed by a $\aleph_1$-directed poset $I$. Let $(u_i : X_i \to X)$ be the colimit in $\Set$. Each map $u_i$ is finite-to-one: Otherwise, some fiber $u_i^*(\{x\}) \subseteq X_i$ contains infinitely many elements $a_1,a_2,\dotsc$. For every $n \geq 1$ we find $i_n \geq i$ such that $a_1,a_n$ have the same image in $X_{i_n}$. Let $i_\infty \in I$ be an upper bound of all $i_n$. Then all $a_n$ have the same image in $X_{i_\infty}$. This is a contradiction since $X_i \to X_{i_\infty}$ is finite-to-one. Now if $f : X \to Y$ is a map such that each $f \circ u_i$ is finite-to-one, then $f$ is finite-to-one as well: If a fiber $f^*(\{y\})$ contains infinitely many distinct elements $x_1,x_2,\dotsc$, there is some index $i$ such that all have a preimage in $X_i$, but then $(f \circ u_i)^*(\{y\})$ would be infinite. This concludes the proof that $\aleph_1$-directed colimits exist. In $\Set$, every set $X$ is the $\aleph_1$-directed colimit of its countable subsets. This remains true in $\Set_\f$ because a map $X \to Y$ is finite-to-one as long as each restriction to a countable subset of $X$ is finite-to-one. Moreover, every countable set is $\aleph_1$-presentable in $\Set$, but also in $\Set_\f$.' unsatisfied_properties: - property_id: skeletal diff --git a/databases/catdat/data/categories/Set_pointed.yaml b/databases/catdat/data/categories/Set_pointed.yaml index e951afd9..d774e360 100644 --- a/databases/catdat/data/categories/Set_pointed.yaml +++ b/databases/catdat/data/categories/Set_pointed.yaml @@ -40,10 +40,7 @@ satisfied_properties: reason: Malcev categories are closed under slice categories by Prop. 2.2.14 in Malcev, protomodular, homological and semi-abelian categories. It follows that co-Malcev categories are closed under coslice categories, and $\Set_*$ is a coslice category of $\Set$, which is co-Malcev since every elementary topos is co-Malcev. - property_id: cocartesian cofiltered limits - reason: |- - Let $X$ be a pointed set and $(Y_i)$ be a filtered diagram of pointed sets. Base points will be denoted by $0$. The canonical map $X \vee \lim_i Y_i \to \lim_i (X \vee Y_i)$ is injective since the wedge sum naturally embeds into the product and the natural map $X \vee \prod_i Y_i \to \prod_i (X \times Y_i)$ is injective. Now let $z = (z_i) \in \lim_i (X \vee Y_i)$. -
Case 1: There is some index $i$ with $z_i \in X \setminus \{0\}$. We claim $z_j \in X$ for any index $j$ and $z_j = z_i$ in $X$, so that $z$ has a preimage in $X$. To see this, choose an index $k \geq i,j$. Since $X \vee Y_i \to X \vee Y_k$ maps $z_i \mapsto z_k$ and is the identity on $X$, we see that $z_k \in X$ and $z_k = z_i$ in $X$. Since $X \vee Y_j \to X \vee Y_k$ maps $z_j \mapsto z_k$, we see that $z_j \notin Y_j$, since otherwise $z_k \in Y_k \cap X = \{0\}$. Hence, $z_j \in X \setminus \{0\}$, and then $z_j = z_k = z_i$. -
Case 2: We have $z_i \in Y_i$ for all $i$. Then clearly $(z_i) \in \lim_i Y_i$ is a preimage. + reason: 'Let $X$ be a pointed set and $(Y_i)$ be a filtered diagram of pointed sets. Base points will be denoted by $0$. The canonical map $X \vee \lim_i Y_i \to \lim_i (X \vee Y_i)$ is injective since the wedge sum naturally embeds into the product and the natural map $X \vee \prod_i Y_i \to \prod_i (X \times Y_i)$ is injective. Now let $z = (z_i) \in \lim_i (X \vee Y_i)$.
Case 1: There is some index $i$ with $z_i \in X \setminus \{0\}$. We claim $z_j \in X$ for any index $j$ and $z_j = z_i$ in $X$, so that $z$ has a preimage in $X$. To see this, choose an index $k \geq i,j$. Since $X \vee Y_i \to X \vee Y_k$ maps $z_i \mapsto z_k$ and is the identity on $X$, we see that $z_k \in X$ and $z_k = z_i$ in $X$. Since $X \vee Y_j \to X \vee Y_k$ maps $z_j \mapsto z_k$, we see that $z_j \notin Y_j$, since otherwise $z_k \in Y_k \cap X = \{0\}$. Hence, $z_j \in X \setminus \{0\}$, and then $z_j = z_k = z_i$.
Case 2: We have $z_i \in Y_i$ for all $i$. Then clearly $(z_i) \in \lim_i Y_i$ is a preimage.' - property_id: CIP reason: 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. diff --git a/databases/catdat/data/categories/Sp.yaml b/databases/catdat/data/categories/Sp.yaml index d7b2b85d..259cdad8 100644 --- a/databases/catdat/data/categories/Sp.yaml +++ b/databases/catdat/data/categories/Sp.yaml @@ -43,10 +43,7 @@ unsatisfied_properties: reason: Any function $f\colon\IN \to \IN$ can be regarded as a combinatorial species with trivial actions, and distinct functions yield non-isomorphic species. - property_id: natural numbers object - reason: |- - If $(N,z,s)$ is a natural numbers object, then - $$1 \xrightarrow{z} N \xleftarrow{s} N$$ - is a coproduct cocone by Johnstone, Part A, Lemma 2.5.5. But there is no combinatorial species $N$ with $N \cong 1 + N$, since evaluating this at, say, $\varnothing$, would yield a finite set $N$ with this property. + reason: 'If $(N,z,s)$ is a natural numbers object, then $$1 \xrightarrow{z} N \xleftarrow{s} N$$ is a coproduct cocone by Johnstone, Part A, Lemma 2.5.5. But there is no combinatorial species $N$ with $N \cong 1 + N$, since evaluating this at, say, $\varnothing$, would yield a finite set $N$ with this property.' special_objects: initial object: diff --git a/databases/catdat/data/categories/Top_pointed.yaml b/databases/catdat/data/categories/Top_pointed.yaml index 544f963d..2fd6dd67 100644 --- a/databases/catdat/data/categories/Top_pointed.yaml +++ b/databases/catdat/data/categories/Top_pointed.yaml @@ -55,10 +55,7 @@ satisfied_properties: reason: This follows since $\Set_*$ has this property and the forgetful functor preserves products and coproducts. - property_id: cocartesian cofiltered limits - reason: |- - We continue the proof for $\Set_*$ by showing that the natural bijective map - $$\textstyle \alpha : X \vee \lim_i Y_i \to \lim_i (X \vee Y_i)$$ - is open. It suffices to consider open sets of two types: (1) If $U \subseteq X$ is open, the $\alpha$-image of $U \vee \lim_i Y_i$ is $p_{i_0}^{-1}(U \vee Y_{i_0})$ for any chosen index $i_0$, hence open. (2) If $i$ is an index and $V_i \subseteq Y_i$ is open, then the $\alpha$-image of $X \vee (p_i^{-1}(V_i) \cap \lim_i Y_i)$ is $p_i^{-1}(X \vee V_i)$, hence open. + reason: 'We continue the proof for $\Set_*$ by showing that the natural bijective map $$\textstyle \alpha : X \vee \lim_i Y_i \to \lim_i (X \vee Y_i)$$ is open. It suffices to consider open sets of two types: (1) If $U \subseteq X$ is open, the $\alpha$-image of $U \vee \lim_i Y_i$ is $p_{i_0}^{-1}(U \vee Y_{i_0})$ for any chosen index $i_0$, hence open. (2) If $i$ is an index and $V_i \subseteq Y_i$ is open, then the $\alpha$-image of $X \vee (p_i^{-1}(V_i) \cap \lim_i Y_i)$ is $p_i^{-1}(X \vee V_i)$, hence open.' - property_id: filtered-colimit-stable monomorphisms reason: This follows from this lemma applied to the forgetful functor to $\Set$. diff --git a/databases/catdat/data/categories/TorsAb.yaml b/databases/catdat/data/categories/TorsAb.yaml index 97226c6e..ac193a45 100644 --- a/databases/catdat/data/categories/TorsAb.yaml +++ b/databases/catdat/data/categories/TorsAb.yaml @@ -49,10 +49,7 @@ unsatisfied_properties: reason: The canonical homomorphism $\bigoplus_{n \geq 0} \IZ/2 \to T(\prod_{n \geq 0} \IZ/2)$ is not surjective, since the torsion element $(1,1,\dotsc)$ does not lie in the image. Hence, it is no epimorphism. - property_id: locally strongly finitely presentable - reason: |- - Assume that it is locally strongly finitely presentable, and therefore the category of algebras of a multi-sorted finitary algebraic theory. For each sort $s$ let $F_s$ be the free algebra on one generator of sort $s$. One of them must be non-trivial, since otherwise the category would be thin. So assume $F_s \neq 0$. It is finitely presentable, hence a finite abelian group, and regular projective. Any direct summand will have the same properties. So we find that some $\IZ/p^k$ (with $k \geq 1$ and $p$ prime) is regular projective. However, the exact sequence in $\TorsAb$ - $$0 \to \IZ/p \to \IZ/p^{k+1} \to \IZ/p^k \to 0$$ - does not split. + reason: 'Assume that it is locally strongly finitely presentable, and therefore the category of algebras of a multi-sorted finitary algebraic theory. For each sort $s$ let $F_s$ be the free algebra on one generator of sort $s$. One of them must be non-trivial, since otherwise the category would be thin. So assume $F_s \neq 0$. It is finitely presentable, hence a finite abelian group, and regular projective. Any direct summand will have the same properties. So we find that some $\IZ/p^k$ (with $k \geq 1$ and $p$ prime) is regular projective. However, the exact sequence in $\TorsAb$ $$0 \to \IZ/p \to \IZ/p^{k+1} \to \IZ/p^k \to 0$$ does not split.' special_objects: initial object: diff --git a/databases/catdat/data/categories/TorsFreeAb.yaml b/databases/catdat/data/categories/TorsFreeAb.yaml index a7e32db5..a29bae33 100644 --- a/databases/catdat/data/categories/TorsFreeAb.yaml +++ b/databases/catdat/data/categories/TorsFreeAb.yaml @@ -39,10 +39,7 @@ satisfied_properties: reason: The regular epimorphisms are exactly the surjective homomorphisms (see below), and these are clearly stable under pullbacks. - property_id: coregular - reason: |- - It suffices to prove that regular monomorphisms (which are classified below) are stable under pushouts. Let $i : A \to B$ be a regular monomorphism in $\TorsFreeAb$, i.e. $i$ is injective and its $\Ab$-cokernel $B/i(A)$ is torsion-free, and let $f : B \to C$ be any morphism in $\TorsFreeAb$. Their $\Ab$-pushout is - $$P = (B \times C)/\{(i(a),-f(a)): a \in A\}.$$ - It is torsion-free: If $n \in \IZ \setminus \{0\}$ and $n (b,c) = (i(a),-f(a))$, there is some $a' \in A$ with $b = i(a')$ since $B/i(A)$ is torsion-free. It follows $n a' = a$, and then $c = -f(a')$ since $C$ is torsion-free. Thus, $(b,c) = (i(a'),-f(a'))$, which proves our claim. Therefore, $P$ is also the pushout in $\TorsFreeAb$. The homomorphism $j : C \to P$, $j(c) = [0,c]$ is injective (since $\Ab$ is coregular, but a direct proof is also easy), and by the universal property of $P$ its $\Ab$-cokernel is isomorphic to the $\Ab$-cokernel of $i$, which is torsion-free. + reason: 'It suffices to prove that regular monomorphisms (which are classified below) are stable under pushouts. Let $i : A \to B$ be a regular monomorphism in $\TorsFreeAb$, i.e. $i$ is injective and its $\Ab$-cokernel $B/i(A)$ is torsion-free, and let $f : B \to C$ be any morphism in $\TorsFreeAb$. Their $\Ab$-pushout is $$P = (B \times C)/\{(i(a),-f(a)): a \in A\}.$$ It is torsion-free: If $n \in \IZ \setminus \{0\}$ and $n (b,c) = (i(a),-f(a))$, there is some $a'' \in A$ with $b = i(a'')$ since $B/i(A)$ is torsion-free. It follows $n a'' = a$, and then $c = -f(a'')$ since $C$ is torsion-free. Thus, $(b,c) = (i(a''),-f(a''))$, which proves our claim. Therefore, $P$ is also the pushout in $\TorsFreeAb$. The homomorphism $j : C \to P$, $j(c) = [0,c]$ is injective (since $\Ab$ is coregular, but a direct proof is also easy), and by the universal property of $P$ its $\Ab$-cokernel is isomorphic to the $\Ab$-cokernel of $i$, which is torsion-free.' unsatisfied_properties: - property_id: skeletal diff --git a/databases/catdat/data/categories/walking_commutative_square.yaml b/databases/catdat/data/categories/walking_commutative_square.yaml index 3a0cfd1c..4a76f460 100644 --- a/databases/catdat/data/categories/walking_commutative_square.yaml +++ b/databases/catdat/data/categories/walking_commutative_square.yaml @@ -3,11 +3,9 @@ name: walking commutative square notation: $\{0 \to 1\}^2$ objects: four objects $a,b,c,d$ morphisms: morphisms $a \to b$, $b \to d$, $a \to c$, $c \to d$, identities, and one morphism $a \to d$ -description: |- - This category consists of a commutative square: - $$\begin{CD} a @>>> b \\ @VVV @VVV \\ c @>>> d \end{CD}$$ - Its name comes from the fact that a functor out of it is the same as a commutative square in the target category. Notice that the category is isomorphic to the product category $\{0 \to 1\} \times \{0 \to 1\}$ of the walking morphism with itself. Hence, most (but not all) properties are inherited from it. It is also isomorphic to the partial order of positive divisors of $6$. +description: 'This category consists of a commutative square: $$\begin{CD} a @>>> b \\ @VVV @VVV \\ c @>>> d \end{CD}$$ Its name comes from the fact that a functor out of it is the same as a commutative square in the target category. Notice that the category is isomorphic to the product category $\{0 \to 1\} \times \{0 \to 1\}$ of the walking morphism with itself. Hence, most (but not all) properties are inherited from it. It is also isomorphic to the partial order of positive divisors of $6$.' nlab_link: https://ncatlab.org/nlab/show/commutative+square + tags: - category theory - finite diff --git a/databases/catdat/data/categories/walking_composable_pair.yaml b/databases/catdat/data/categories/walking_composable_pair.yaml index 07cc6852..3ef8abd6 100644 --- a/databases/catdat/data/categories/walking_composable_pair.yaml +++ b/databases/catdat/data/categories/walking_composable_pair.yaml @@ -32,9 +32,7 @@ satisfied_properties: reason: This is trivial. - property_id: locally strongly finitely presentable - reason: |- - Take the two-sorted (finitary) algebraic theory with exactly one unary operation between them and the equation $x=y$ for each sort. There are exactly three algebras for this theory up to isomorphism: the identities on the empty set and the singleton, the morphism from the empty set to the singleton. - Hence we get the equivalence to $\{0 \to 1 \to 2\}$. + reason: 'Take the two-sorted (finitary) algebraic theory with exactly one unary operation between them and the equation $x=y$ for each sort. There are exactly three algebras for this theory up to isomorphism: the identities on the empty set and the singleton, the morphism from the empty set to the singleton. Hence we get the equivalence to $\{0 \to 1 \to 2\}$.' unsatisfied_properties: - property_id: finitary algebraic diff --git a/databases/catdat/data/categories/walking_coreflexive_pair.yaml b/databases/catdat/data/categories/walking_coreflexive_pair.yaml index ad0e32ec..c44de4ba 100644 --- a/databases/catdat/data/categories/walking_coreflexive_pair.yaml +++ b/databases/catdat/data/categories/walking_coreflexive_pair.yaml @@ -3,10 +3,7 @@ name: walking coreflexive pair notation: $\Delta^{\leq 1}$ objects: two objects $[0]$ and $[1]$ morphisms: 'the identities, two morphisms $i,j : [0] \rightrightarrows [1]$, a morphism $p : [1] \to [0]$ with $p i = p j = \id_{[0]}$, and the two idempotent morphisms $ip, jp : [1] \to [1]$.' -description: |- - This category is equal to the truncated simplex category $\Delta^{\leq 1}$, i.e. the full subcategory of $\Delta$ spanned by $[0] = \{0\}$ and $[1] = \{0 < 1\}$; this also explains our notation of the category and its objects. - $$[0] \begin{array}{c} \xhookrightarrow{~~i~~} \\ \xtwoheadleftarrow{~~p~~} \\ \xhookrightarrow{~~j~~} \end{array} [1]$$ - The morphisms $i,j$ are the two inclusions, $p$ is their unique retraction, and $ip,jp : [1] \to [1]$ are the two constant maps. The name of this category comes from the fact that a functor out of it is the same as a coreflexive pair in the target category. Its dual is therefore the walking reflexive pair. +description: 'This category is equal to the truncated simplex category $\Delta^{\leq 1}$, i.e. the full subcategory of $\Delta$ spanned by $[0] = \{0\}$ and $[1] = \{0 < 1\}$; this also explains our notation of the category and its objects. $$[0] \begin{array}{c} \xhookrightarrow{~~i~~} \\ \xtwoheadleftarrow{~~p~~} \\ \xhookrightarrow{~~j~~} \end{array} [1]$$ The morphisms $i,j$ are the two inclusions, $p$ is their unique retraction, and $ip,jp : [1] \to [1]$ are the two constant maps. The name of this category comes from the fact that a functor out of it is the same as a coreflexive pair in the target category. Its dual is therefore the walking reflexive pair.' tags: - category theory diff --git a/databases/catdat/data/categories/walking_splitting.yaml b/databases/catdat/data/categories/walking_splitting.yaml index ed9ada7a..d777edd2 100644 --- a/databases/catdat/data/categories/walking_splitting.yaml +++ b/databases/catdat/data/categories/walking_splitting.yaml @@ -43,10 +43,7 @@ satisfied_properties: reason: 'We can define $\id_1 + \id_1 := ip$ (and it is clear how to add zero morphisms) and then verify that the axioms of a preadditive category hold. Alternatively, it suffices to find a preadditive category which is isomorphic to the walking splitting: Consider the full subcategory of $\Vect_{\IF_2}$ that consists only of the trivial vector space $\{0\}$ and $\IF_2$. Since $\Vect_{\IF_2}$ is preadditive, it is preadditive as well. It has two objects, two identities, the morphisms $i : \{0\} \to \IF_2$, $p : \IF_2 \to \{0\}$, and the zero morphism $ip : \IF_2 \to \IF_2$. Clearly, $pi$ is the identity.' - property_id: sifted colimits - reason: |- - We work with the representation of the category as $\Vect^{\leq 1}_{\IF_2}$, the category of vector spaces over $\IF_2$ of dimension $\leq 1$. It suffices to show that it is closed under sifted colimits in $\Vect_{\IF_2}$. More generally, we show this for $\Vect^{\leq d}_K \subseteq \Vect_K$, where $d \in \IN$ and $K$ is a field. So let $X : \I \to \Vect_K$ be a sifted diagram with colimit $(u_i : X_i \to X_\infty)_{i \in \I}$. Since $\I$ is sifted, for finitely many objects $i_1,\dotsc,i_n \in \I$ there is an object $k$ that admits morphisms $i_1 \to k, \dotsc, i_n \to k$; this is all we need to know about $\I$. Assume that each $X_i$ is of dimension $\leq d$, we need to show this for $X_\infty$ as well.
- Every element in $X_\infty$ is a finite sum of elements of the form $u_i(x_i)$ with $x_i \in X_i$. Choose an object $k$ with morphisms $i \to k$ for every occurring $i$. If $y_i \in X_k$ denotes the image of $x_i$, we get $\sum_i u_i(x_i) = \sum_i u_k(y_i) = u_k(\sum_i y_i)$. Therefore, every element of $X_\infty$ has the form $u_i(x_i)$ for some $i \in \I$ and $x_i \in X_i$. Moreover, for finitely many elements in $X_\infty$ the index $i$ may be chosen uniformly.
- Now, if $X_\infty$ has dimension $> d$, it would have linearly independent vectors $v_0,\dotsc,v_d$, all of which have a preimage in $X_i$ for some $i \in \I$. But then these preimages would be linearly independent as well, which contradicts $\dim(X_i) \leq d$. + reason: 'We work with the representation of the category as $\Vect^{\leq 1}_{\IF_2}$, the category of vector spaces over $\IF_2$ of dimension $\leq 1$. It suffices to show that it is closed under sifted colimits in $\Vect_{\IF_2}$. More generally, we show this for $\Vect^{\leq d}_K \subseteq \Vect_K$, where $d \in \IN$ and $K$ is a field. So let $X : \I \to \Vect_K$ be a sifted diagram with colimit $(u_i : X_i \to X_\infty)_{i \in \I}$. Since $\I$ is sifted, for finitely many objects $i_1,\dotsc,i_n \in \I$ there is an object $k$ that admits morphisms $i_1 \to k, \dotsc, i_n \to k$; this is all we need to know about $\I$. Assume that each $X_i$ is of dimension $\leq d$, we need to show this for $X_\infty$ as well.
Every element in $X_\infty$ is a finite sum of elements of the form $u_i(x_i)$ with $x_i \in X_i$. Choose an object $k$ with morphisms $i \to k$ for every occurring $i$. If $y_i \in X_k$ denotes the image of $x_i$, we get $\sum_i u_i(x_i) = \sum_i u_k(y_i) = u_k(\sum_i y_i)$. Therefore, every element of $X_\infty$ has the form $u_i(x_i)$ for some $i \in \I$ and $x_i \in X_i$. Moreover, for finitely many elements in $X_\infty$ the index $i$ may be chosen uniformly.
Now, if $X_\infty$ has dimension $> d$, it would have linearly independent vectors $v_0,\dotsc,v_d$, all of which have a preimage in $X_i$ for some $i \in \I$. But then these preimages would be linearly independent as well, which contradicts $\dim(X_i) \leq d$.' check_redundancy: false - property_id: generalized variety diff --git a/databases/catdat/data/category-implications/cartesian closed.yaml b/databases/catdat/data/category-implications/cartesian closed.yaml index 60582a35..9f39c74d 100644 --- a/databases/catdat/data/category-implications/cartesian closed.yaml +++ b/databases/catdat/data/category-implications/cartesian closed.yaml @@ -41,15 +41,7 @@ - copowers conclusions: - powers - reason: |- - The power $X^I$ can be constructed as $[I \otimes 1, X]$ because - $$\begin{align*} - \Hom(T,[I \otimes 1, X]) & \cong \Hom(T \times (I \otimes 1),X) \\ - & \cong \Hom(I \otimes (T \times 1),X) \\ - & \cong \Hom(I \otimes T,X) \\ - & \cong \Hom(T,X)^I. - \end{align*}$$ - In the second isomorphism we have used that $T \times -$ preserves copowers, which is true because it is a left adjoint. + reason: 'The power $X^I$ can be constructed as $[I \otimes 1, X]$ because $$\begin{align*} \Hom(T,[I \otimes 1, X]) & \cong \Hom(T \times (I \otimes 1),X) \\ & \cong \Hom(I \otimes (T \times 1),X) \\ & \cong \Hom(I \otimes T,X) \\ & \cong \Hom(T,X)^I. \end{align*}$$ In the second isomorphism we have used that $T \times -$ preserves copowers, which is true because it is a left adjoint.' is_equivalence: false - id: countable_power_construction diff --git a/databases/catdat/data/category-implications/congruences.yaml b/databases/catdat/data/category-implications/congruences.yaml index 6f4dea4d..a3767ab3 100644 --- a/databases/catdat/data/category-implications/congruences.yaml +++ b/databases/catdat/data/category-implications/congruences.yaml @@ -52,16 +52,7 @@ - preadditive conclusions: - effective congruences - reason: |- - 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. + reason: '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.' is_equivalence: false - id: additive_effective_congruences_imply_normal @@ -71,10 +62,7 @@ - finitely complete conclusions: - normal - reason: |- - 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 $\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$. + reason: '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 $\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_equivalence: false - id: regular_effective_congruences_implies_quotients @@ -94,17 +82,7 @@ conclusions: - co-Malcev - effective cocongruences - reason: |- - 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 \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. + reason: '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 \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.' is_equivalence: false - id: pretopos_balanced @@ -113,11 +91,5 @@ - extensive conclusions: - mono-regular - reason: |- - 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$. + reason: '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$.' is_equivalence: false diff --git a/databases/catdat/data/category-implications/exact filtered colimits.yaml b/databases/catdat/data/category-implications/exact filtered colimits.yaml index ce4af617..01f00715 100644 --- a/databases/catdat/data/category-implications/exact filtered colimits.yaml +++ b/databases/catdat/data/category-implications/exact filtered colimits.yaml @@ -15,10 +15,7 @@ - exact filtered colimits conclusions: - filtered-colimit-stable monomorphisms - reason: |- - This is because $f : X \longrightarrow Y$ is a monomorphism iff the diagram - $$\begin{CD} X @>{\id}>> X \\ @V{\id}VV @VV{f}V \\ X @>>{f}> Y \end{CD}$$ - is a pullback, and if a functor preserves finite limits, it preserves pullbacks in particular. + reason: 'This is because $f : X \longrightarrow Y$ is a monomorphism iff the diagram $$\begin{CD} X @>{\id}>> X \\ @V{\id}VV @VV{f}V \\ X @>>{f}> Y \end{CD}$$ is a pullback, and if a functor preserves finite limits, it preserves pullbacks in particular.' is_equivalence: false - id: cartesian_filtered_colimits_condition diff --git a/databases/catdat/data/category-implications/filtered + sifted.yaml b/databases/catdat/data/category-implications/filtered + sifted.yaml index 42905c0a..3851a54f 100644 --- a/databases/catdat/data/category-implications/filtered + sifted.yaml +++ b/databases/catdat/data/category-implications/filtered + sifted.yaml @@ -31,12 +31,7 @@ - sifted conclusions: - thin - reason: |- - For any object $X$ in a left-cancellative category, the connected component containing - $$X \xrightarrow{\id} X \xleftarrow{\id} X$$ - in the category of cospans from $X$ to $X$ consists only of cospans - $$X \xrightarrow{f} Y \xleftarrow{g} X$$ - where $f=g$; hence when the category is also sifted, all cospans must be of this form, and so any two parallel morphisms are equal. + reason: 'For any object $X$ in a left-cancellative category, the connected component containing $$X \xrightarrow{\id} X \xleftarrow{\id} X$$ in the category of cospans from $X$ to $X$ consists only of cospans $$X \xrightarrow{f} Y \xleftarrow{g} X$$ where $f=g$; hence when the category is also sifted, all cospans must be of this form, and so any two parallel morphisms are equal.' is_equivalence: false - id: terminal_object_yields_filtered diff --git a/databases/catdat/data/category-implications/filtered colimits.yaml b/databases/catdat/data/category-implications/filtered colimits.yaml index da16c815..c623b352 100644 --- a/databases/catdat/data/category-implications/filtered colimits.yaml +++ b/databases/catdat/data/category-implications/filtered colimits.yaml @@ -14,13 +14,7 @@ - sequential colimits conclusions: - Cauchy complete - reason: |- - Assume that $e : X \to X$ is an idempotent morphism. Consider the sequence - $$X \xrightarrow{e} X \xrightarrow{e} X \to \cdots.$$ - A cocone under this sequence is a family of morphisms $f_n : X \to Y$ satisfying $$f_n = f_{n+1} e.$$ - Then - $$f_n = f_{n+1} e = f_{n+2} e^2 = f_{n+2} e = f_{n+1}$$ - shows that all the morphisms are equal. Thus, a cocone is the same as a morphism $f_0 : X \to Y$ with $f_0 = f_0 e$, meaning it coequalizes $\id_X,e : X \rightrightarrows X$. Hence, if a colimit exists, $e$ splits. + reason: 'Assume that $e : X \to X$ is an idempotent morphism. Consider the sequence $$X \xrightarrow{e} X \xrightarrow{e} X \to \cdots.$$ A cocone under this sequence is a family of morphisms $f_n : X \to Y$ satisfying $$f_n = f_{n+1} e.$$ Then $$f_n = f_{n+1} e = f_{n+2} e^2 = f_{n+2} e = f_{n+1}$$ shows that all the morphisms are equal. Thus, a cocone is the same as a morphism $f_0 : X \to Y$ with $f_0 = f_0 e$, meaning it coequalizes $\id_X,e : X \rightrightarrows X$. Hence, if a colimit exists, $e$ splits.' is_equivalence: false - id: directed_limits_consequence diff --git a/databases/catdat/data/category-implications/thin.yaml b/databases/catdat/data/category-implications/thin.yaml index 15a0521a..e138c6a5 100644 --- a/databases/catdat/data/category-implications/thin.yaml +++ b/databases/catdat/data/category-implications/thin.yaml @@ -70,9 +70,7 @@ - zero morphisms conclusions: - thin - reason: |- - If $f,g : A \rightrightarrows B$ are two morphisms, then since $0_{B,B} = \id_B$ we have - $$f = 0_{B,B} \circ f = 0_{A,B} = 0_{B,B} \circ g = g.$$ + reason: 'If $f,g : A \rightrightarrows B$ are two morphisms, then since $0_{B,B} = \id_B$ we have $$f = 0_{B,B} \circ f = 0_{A,B} = 0_{B,B} \circ g = g.$$' is_equivalence: false - id: direct_criterion diff --git a/databases/catdat/data/category-properties/CIP.yaml b/databases/catdat/data/category-properties/CIP.yaml index aedc5c65..6bd2af02 100644 --- a/databases/catdat/data/category-properties/CIP.yaml +++ b/databases/catdat/data/category-properties/CIP.yaml @@ -1,9 +1,6 @@ id: CIP relation: satisfies -description: |- - A category satisfies CIP ("coproducts inject into products") if it has zero morphisms, products, coproducts, and for every family of objects $(X_i)_{i \in I}$ the canonical morphism - $$\textstyle \alpha : \coprod_i X_i \to \prod_{i \in I} X_i$$ - defined by $p_j \circ \alpha \circ \iota_i = \delta_{i,j}$ is a monomorphism. This is no standard terminology. This property has been added to clarify relationships between other properties, in particular those concerning the commutation between limits and colimits. +description: 'A category satisfies CIP ("coproducts inject into products") if it has zero morphisms, products, coproducts, and for every family of objects $(X_i)_{i \in I}$ the canonical morphism $$\textstyle \alpha : \coprod_i X_i \to \prod_{i \in I} X_i$$ defined by $p_j \circ \alpha \circ \iota_i = \delta_{i,j}$ is a monomorphism. This is no standard terminology. This property has been added to clarify relationships between other properties, in particular those concerning the commutation between limits and colimits.' dual_property_id: CSP invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/CSP.yaml b/databases/catdat/data/category-properties/CSP.yaml index 304d4c24..72ba7ee5 100644 --- a/databases/catdat/data/category-properties/CSP.yaml +++ b/databases/catdat/data/category-properties/CSP.yaml @@ -1,9 +1,6 @@ id: CSP relation: satisfies -description: |- - A category satisfies CSP ("coproducts surject onto products") if it has zero morphisms, products, coproducts, and for every family of objects $(X_i)_{i \in I}$ the canonical morphism - $$\textstyle \alpha : \coprod_i X_i \to \prod_{i \in I} X_i$$ - defined by $p_j \circ \alpha \circ \iota_i = \delta_{i,j}$ is an epimorphism. This is no standard terminology. This property has been added to clarify relationships between other properties, in particular those concerning the commutation between limits and colimits. +description: 'A category satisfies CSP ("coproducts surject onto products") if it has zero morphisms, products, coproducts, and for every family of objects $(X_i)_{i \in I}$ the canonical morphism $$\textstyle \alpha : \coprod_i X_i \to \prod_{i \in I} X_i$$ defined by $p_j \circ \alpha \circ \iota_i = \delta_{i,j}$ is an epimorphism. This is no standard terminology. This property has been added to clarify relationships between other properties, in particular those concerning the commutation between limits and colimits.' dual_property_id: CIP invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/biproducts.yaml b/databases/catdat/data/category-properties/biproducts.yaml index 684a3895..9698097d 100644 --- a/databases/catdat/data/category-properties/biproducts.yaml +++ b/databases/catdat/data/category-properties/biproducts.yaml @@ -1,10 +1,6 @@ id: biproducts relation: has -description: |- - A category has biproducts when it has zero morphisms, finite products (denoted $\times$), finite coproducts (denoted $\oplus$), and for every finite family of objects $A_1,\dotsc,A_n$ the canonical morphism - $$\mu : A_1 \oplus \cdots \oplus A_n \to A_1 \times \cdots \times A_n$$ - is an isomorphism. Such a category is also called semi-additive, and it is automatically enriched over commutative monoids: the sum of $f,g : A \rightrightarrows B$ is defined as: - $$A \xrightarrow{(f,g)} B \times B \xrightarrow{\mu^{-1}} B \oplus B \xrightarrow{\nabla} B$$ +description: 'A category has biproducts when it has zero morphisms, finite products (denoted $\times$), finite coproducts (denoted $\oplus$), and for every finite family of objects $A_1,\dotsc,A_n$ the canonical morphism $$\mu : A_1 \oplus \cdots \oplus A_n \to A_1 \times \cdots \times A_n$$ is an isomorphism. Such a category is also called semi-additive, and it is automatically enriched over commutative monoids: the sum of $f,g : A \rightrightarrows B$ is defined as: $$A \xrightarrow{(f,g)} B \times B \xrightarrow{\mu^{-1}} B \oplus B \xrightarrow{\nabla} B$$' nlab_link: https://ncatlab.org/nlab/show/biproduct dual_property_id: biproducts invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/cartesian filtered colimits.yaml b/databases/catdat/data/category-properties/cartesian filtered colimits.yaml index c95df952..8811c7c6 100644 --- a/databases/catdat/data/category-properties/cartesian filtered colimits.yaml +++ b/databases/catdat/data/category-properties/cartesian filtered colimits.yaml @@ -1,8 +1,6 @@ id: cartesian filtered colimits relation: has -description: |- - In a category $\C$, which we assume to have filtered colimits and finite products, we say that filtered colimits are cartesian if for every finite set $I$ the product functor $\prod : \C^I \to \C$ preserves filtered colimits. Equivalently, for every $X \in \C$ the functor $X \times - : \C \to \C$ preserves filtered colimits.
- This is no standard terminology, it has been suggested in MO/510240. We have added it to the database since it clarifies the relationship between many related properties. +description: 'In a category $\C$, which we assume to have filtered colimits and finite products, we say that filtered colimits are cartesian if for every finite set $I$ the product functor $\prod : \C^I \to \C$ preserves filtered colimits. Equivalently, for every $X \in \C$ the functor $X \times - : \C \to \C$ preserves filtered colimits.
This is no standard terminology, it has been suggested in MO/510240. We have added it to the database since it clarifies the relationship between many related properties.' dual_property_id: cocartesian cofiltered limits invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/co-Malcev.yaml b/databases/catdat/data/category-properties/co-Malcev.yaml index 2fbe2b99..ab28b77a 100644 --- a/databases/catdat/data/category-properties/co-Malcev.yaml +++ b/databases/catdat/data/category-properties/co-Malcev.yaml @@ -1,9 +1,6 @@ id: co-Malcev relation: is -description: |- - A category is co-Malcev when its dual is Malcev, i.e., it has finite colimits and if $X \sqcup X \twoheadrightarrow R$ is a coreflexive corelation, then it is cosymmetric and cotransitive.
- This terminology is not standard, but we have added it to properly formulate the interesting theorem that the dual of an elementary topos is Malcev, i.e., that every elementary topos is co-Malcev.
- To settle this property, we often use that $\C$ is co-Malcev if and only if the category of representable functors $\C \to \Set^+$ is Malcev. +description: 'A category is co-Malcev when its dual is Malcev, i.e., it has finite colimits and if $X \sqcup X \twoheadrightarrow R$ is a coreflexive corelation, then it is cosymmetric and cotransitive.
This terminology is not standard, but we have added it to properly formulate the interesting theorem that the dual of an elementary topos is Malcev, i.e., that every elementary topos is co-Malcev.
To settle this property, we often use that $\C$ is co-Malcev if and only if the category of representable functors $\C \to \Set^+$ is Malcev.' dual_property_id: Malcev invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/cocartesian cofiltered limits.yaml b/databases/catdat/data/category-properties/cocartesian cofiltered limits.yaml index f6ceaa42..47691b05 100644 --- a/databases/catdat/data/category-properties/cocartesian cofiltered limits.yaml +++ b/databases/catdat/data/category-properties/cocartesian cofiltered limits.yaml @@ -1,8 +1,6 @@ id: cocartesian cofiltered limits relation: has -description: |- - In a category $\C$, which we assume to have cofiltered limits and finite coproducts, we say that cofiltered limits are cocartesian if for every finite set $I$ the coproduct functor $\coprod : \C^I \to \C$ preserves cofiltered limits. Equivalently, for every $X \in \C$ the functor $X \sqcup - : \C \to \C$ preserves cofiltered limits.
- This is no standard terminology, its dual has been suggested in MO/510240. We have added it to the database since it clarifies the relationship between many related properties. +description: 'In a category $\C$, which we assume to have cofiltered limits and finite coproducts, we say that cofiltered limits are cocartesian if for every finite set $I$ the coproduct functor $\coprod : \C^I \to \C$ preserves cofiltered limits. Equivalently, for every $X \in \C$ the functor $X \sqcup - : \C \to \C$ preserves cofiltered limits.
This is no standard terminology, its dual has been suggested in MO/510240. We have added it to the database since it clarifies the relationship between many related properties.' dual_property_id: cartesian filtered colimits invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/core-thin.yaml b/databases/catdat/data/category-properties/core-thin.yaml index 6d209bb8..853dbe5f 100644 --- a/databases/catdat/data/category-properties/core-thin.yaml +++ b/databases/catdat/data/category-properties/core-thin.yaml @@ -1,12 +1,6 @@ id: core-thin relation: is -description: |- - A category is core-thin if it satisfies the following equivalent conditions: -
    -
  1. Its core is thin.
  2. -
  3. Parallel isomorphisms are equal.
  4. -
  5. Every automorphism is the identity.
  6. -
+description: 'A category is core-thin if it satisfies the following equivalent conditions:
  1. Its core is thin.
  2. Parallel isomorphisms are equal.
  3. Every automorphism is the identity.
' nlab_link: https://ncatlab.org/nlab/show/gaunt+category dual_property_id: core-thin invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/cosifted.yaml b/databases/catdat/data/category-properties/cosifted.yaml index a533c03e..bf62a03d 100644 --- a/databases/catdat/data/category-properties/cosifted.yaml +++ b/databases/catdat/data/category-properties/cosifted.yaml @@ -1,9 +1,6 @@ id: cosifted relation: is -description: |- - A category $\C$ is cosifted if it is inhabited and the diagonal functor $\Delta : \C \to \C \times \C$ is initial, i.e. if it is non-empty and for any two objects $X,Y \in \C$ the category of spans - $$X \leftarrow Z \rightarrow Y$$ - is connected. Equivalently, a small category $\C$ is cosifted if $\colim : \Set^{{\C}^\op} \to \Set$ preserves finite products. This property is a weaker notion than being cofiltered. +description: 'A category $\C$ is cosifted if it is inhabited and the diagonal functor $\Delta : \C \to \C \times \C$ is initial, i.e. if it is non-empty and for any two objects $X,Y \in \C$ the category of spans $$X \leftarrow Z \rightarrow Y$$ is connected. Equivalently, a small category $\C$ is cosifted if $\colim : \Set^{{\C}^\op} \to \Set$ preserves finite products. This property is a weaker notion than being cofiltered.' nlab_link: https://ncatlab.org/nlab/show/sifted+category dual_property_id: sifted invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/direct.yaml b/databases/catdat/data/category-properties/direct.yaml index e5cde6d7..28aef0c0 100644 --- a/databases/catdat/data/category-properties/direct.yaml +++ b/databases/catdat/data/category-properties/direct.yaml @@ -1,9 +1,6 @@ id: direct relation: is -description: |- - A category is direct if it contains no infinite sequence of non-identity morphisms of the form - $$\cdots \to A_2 \to A_1 \to A_0.$$ - For example, a poset is direct iff it is well-founded. +description: 'A category is direct if it contains no infinite sequence of non-identity morphisms of the form $$\cdots \to A_2 \to A_1 \to A_0.$$ For example, a poset is direct iff it is well-founded.' nlab_link: https://ncatlab.org/nlab/show/direct+category dual_property_id: inverse invariant_under_equivalences: false diff --git a/databases/catdat/data/category-properties/disjoint finite products.yaml b/databases/catdat/data/category-properties/disjoint finite products.yaml index 967a916f..6cf65122 100644 --- a/databases/catdat/data/category-properties/disjoint finite products.yaml +++ b/databases/catdat/data/category-properties/disjoint finite products.yaml @@ -1,8 +1,6 @@ id: disjoint finite products relation: has -description: |- - A category has disjoint finite products if it has finite products, for every pair of objects $A,B$ the product projections $A \leftarrow A \times B \rightarrow B$ are epimorphisms, and the pushout $A \sqcup_{A \times B} B$ exists and is given by the terminal object $1$.
- This terminology does not seem to be common, but we have added it as a dual for the more commonly known property of having disjoint finite coproducts. +description: 'A category has disjoint finite products if it has finite products, for every pair of objects $A,B$ the product projections $A \leftarrow A \times B \rightarrow B$ are epimorphisms, and the pushout $A \sqcup_{A \times B} B$ exists and is given by the terminal object $1$.
This terminology does not seem to be common, but we have added it as a dual for the more commonly known property of having disjoint finite coproducts.' dual_property_id: disjoint finite coproducts invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/disjoint products.yaml b/databases/catdat/data/category-properties/disjoint products.yaml index d5c0a0c2..92101601 100644 --- a/databases/catdat/data/category-properties/disjoint products.yaml +++ b/databases/catdat/data/category-properties/disjoint products.yaml @@ -1,8 +1,6 @@ id: disjoint products relation: has -description: |- - A category has disjoint products if it has products, the product projections $\prod_{i \in I} A_i \to A_i$ are epimorphisms, and the pushout of the projections $\prod_{i \in I} A_i \to A_i$ and $\prod_{i \in I} A_i \to A_j$ for $i \neq j$ exists and is given by the terminal object $1$.
- This terminology does not seem to be common, but we have added it as a dual for the more commonly known property of having disjoint coproducts. +description: 'A category has disjoint products if it has products, the product projections $\prod_{i \in I} A_i \to A_i$ are epimorphisms, and the pushout of the projections $\prod_{i \in I} A_i \to A_i$ and $\prod_{i \in I} A_i \to A_j$ for $i \neq j$ exists and is given by the terminal object $1$.
This terminology does not seem to be common, but we have added it as a dual for the more commonly known property of having disjoint coproducts.' dual_property_id: disjoint coproducts invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/effective cocongruences.yaml b/databases/catdat/data/category-properties/effective cocongruences.yaml index eca6df5f..86a71278 100644 --- a/databases/catdat/data/category-properties/effective cocongruences.yaml +++ b/databases/catdat/data/category-properties/effective cocongruences.yaml @@ -1,15 +1,6 @@ id: effective cocongruences relation: has -description: |- - 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. +description: '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.' dual_property_id: effective congruences invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/effective congruences.yaml b/databases/catdat/data/category-properties/effective congruences.yaml index 28d96123..717973b3 100644 --- a/databases/catdat/data/category-properties/effective congruences.yaml +++ b/databases/catdat/data/category-properties/effective congruences.yaml @@ -1,15 +1,6 @@ id: effective congruences relation: has -description: |- - 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. +description: '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.' nlab_link: https://ncatlab.org/nlab/show/congruence dual_property_id: effective cocongruences invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/exact cofiltered limits.yaml b/databases/catdat/data/category-properties/exact cofiltered limits.yaml index 3e94f562..70fc35b6 100644 --- a/databases/catdat/data/category-properties/exact cofiltered limits.yaml +++ b/databases/catdat/data/category-properties/exact cofiltered limits.yaml @@ -1,12 +1,6 @@ id: exact cofiltered limits relation: has -description: |- - In a category $\C$, which we assume to have cofiltered limits and finite colimits, we say that cofiltered limits are exact if the following equivalent conditions are satisfied: -
    -
  1. For every finite category $\I$ the functor $\colim : [\I, \C] \to \C$ preserves cofiltered limits.
  2. -
  3. For every small cofiltered category $\J$ the functor $\lim : [\J,\C] \to \C$ preserves finite colimits.
  4. -
  5. For every diagram $X : \I \times \J \to \C$, where $\I$ is finite and $\J$ is small cofiltered, the canonical morphism $\colim_i \lim_j X(i,j) \to \lim_j \colim_i X(i,j)$ is an isomorphism.
  6. -
+description: 'In a category $\C$, which we assume to have cofiltered limits and finite colimits, we say that cofiltered limits are exact if the following equivalent conditions are satisfied:
  1. For every finite category $\I$ the functor $\colim : [\I, \C] \to \C$ preserves cofiltered limits.
  2. For every small cofiltered category $\J$ the functor $\lim : [\J,\C] \to \C$ preserves finite colimits.
  3. For every diagram $X : \I \times \J \to \C$, where $\I$ is finite and $\J$ is small cofiltered, the canonical morphism $\colim_i \lim_j X(i,j) \to \lim_j \colim_i X(i,j)$ is an isomorphism.
' nlab_link: https://ncatlab.org/nlab/show/commutativity+of+limits+and+colimits dual_property_id: exact filtered colimits invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/exact filtered colimits.yaml b/databases/catdat/data/category-properties/exact filtered colimits.yaml index 477524bb..d07b1fab 100644 --- a/databases/catdat/data/category-properties/exact filtered colimits.yaml +++ b/databases/catdat/data/category-properties/exact filtered colimits.yaml @@ -1,12 +1,6 @@ id: exact filtered colimits relation: has -description: |- - In a category $\C$, which we assume to have filtered colimits and finite limits, we say that filtered colimits are exact if the following equivalent conditions are satisfied: -
    -
  1. For every finite category $\I$ the functor $\lim : [\I, \C] \to \C$ preserves filtered colimits.
  2. -
  3. For every small filtered category $\J$ the functor $\colim : [\J,\C] \to \C$ preserves finite limits.
  4. -
  5. For every diagram $X : \I \times \J \to \C$, where $\I$ is finite and $\J$ is small filtered, the canonical morphism $\colim_j \lim_i X(i,j) \to \lim_i \colim_j X(i,j)$ is an isomorphism.
  6. -
+description: 'In a category $\C$, which we assume to have filtered colimits and finite limits, we say that filtered colimits are exact if the following equivalent conditions are satisfied:
  1. For every finite category $\I$ the functor $\lim : [\I, \C] \to \C$ preserves filtered colimits.
  2. For every small filtered category $\J$ the functor $\colim : [\J,\C] \to \C$ preserves finite limits.
  3. For every diagram $X : \I \times \J \to \C$, where $\I$ is finite and $\J$ is small filtered, the canonical morphism $\colim_j \lim_i X(i,j) \to \lim_i \colim_j X(i,j)$ is an isomorphism.
' nlab_link: https://ncatlab.org/nlab/show/commutativity+of+limits+and+colimits dual_property_id: exact cofiltered limits invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/infinitary coextensive.yaml b/databases/catdat/data/category-properties/infinitary coextensive.yaml index 1ceafee7..241f410d 100644 --- a/databases/catdat/data/category-properties/infinitary coextensive.yaml +++ b/databases/catdat/data/category-properties/infinitary coextensive.yaml @@ -1,8 +1,6 @@ id: infinitary coextensive relation: is -description: |- - A category $\C$ is infinitary coextensive when it has products and for all families of objects $(A_i)_{i \in I}$ the product functor $\prod_{i \in I} A_i / \C/A_i \to \prod_{i \in I} A_i / \C$ is an equivalence of categories.
- This terminology does not seem to be common, but we have added it as a dual for the more commonly known property of being infinitary extensive. +description: 'A category $\C$ is infinitary coextensive when it has products and for all families of objects $(A_i)_{i \in I}$ the product functor $\prod_{i \in I} A_i / \C/A_i \to \prod_{i \in I} A_i / \C$ is an equivalence of categories.
This terminology does not seem to be common, but we have added it as a dual for the more commonly known property of being infinitary extensive.' dual_property_id: infinitary extensive invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/inverse.yaml b/databases/catdat/data/category-properties/inverse.yaml index 0941f5aa..a477dc60 100644 --- a/databases/catdat/data/category-properties/inverse.yaml +++ b/databases/catdat/data/category-properties/inverse.yaml @@ -1,8 +1,6 @@ id: inverse relation: is -description: |- - A category is inverse if its dual is direct, i.e., if it contains no infinite sequence of non-identity morphisms of the form - $$A_0 \to A_1 \to A_2 \to \cdots.$$ +description: 'A category is inverse if its dual is direct, i.e., if it contains no infinite sequence of non-identity morphisms of the form $$A_0 \to A_1 \to A_2 \to \cdots.$$' nlab_link: https://ncatlab.org/nlab/show/inverse+category dual_property_id: direct invariant_under_equivalences: false diff --git a/databases/catdat/data/category-properties/locally finitely multi-presentable.yaml b/databases/catdat/data/category-properties/locally finitely multi-presentable.yaml index 5b965ae2..da01168a 100644 --- a/databases/catdat/data/category-properties/locally finitely multi-presentable.yaml +++ b/databases/catdat/data/category-properties/locally finitely multi-presentable.yaml @@ -1,13 +1,6 @@ id: locally finitely multi-presentable relation: is -description: |- - A category is locally finitely multi-presentable if it satisfies one of the following equivalent conditions: -
    -
  1. It is finitely accessible and multi-cocomplete.
  2. -
  3. It is finitely accessible and has connected limits.
  4. -
  5. It is equivalent to the category of models of a small (finite limit, coproduct)-sketch.
  6. -
- For equivalence of conditions above, see Thm. 4.30, Thm. 4.32, and the remark below in Adamek-Rosicky. +description: 'A category is locally finitely multi-presentable if it satisfies one of the following equivalent conditions:
  1. It is finitely accessible and multi-cocomplete.
  2. It is finitely accessible and has connected limits.
  3. It is equivalent to the category of models of a small (finite limit, coproduct)-sketch.
For equivalence of conditions above, see Thm. 4.30, Thm. 4.32, and the remark below in Adamek-Rosicky.' nlab_link: https://ncatlab.org/nlab/show/locally+multipresentable+category invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/locally finitely presentable.yaml b/databases/catdat/data/category-properties/locally finitely presentable.yaml index f4952107..ab106ea2 100644 --- a/databases/catdat/data/category-properties/locally finitely presentable.yaml +++ b/databases/catdat/data/category-properties/locally finitely presentable.yaml @@ -1,14 +1,6 @@ id: locally finitely presentable relation: is -description: |- - A category is locally finitely presentable if it satisfies one of the following equivalent conditions: -
    -
  1. It is finitely accessible and cocomplete.
  2. -
  3. It is finitely accessible and complete.
  4. -
  5. It is equivalent to the category of finite-limit-preserving functors to $\Set$ from a small category with finite limits.
  6. -
  7. It is equivalent to the category of models of a small finite-limit sketch.
  8. -
- For equivalence of conditions above, see Cor. 2.47, Thm. 1.46, and Cor. 1.52 in Adamek-Rosicky. This is the same as being locally $\aleph_0$-presentable. +description: 'A category is locally finitely presentable if it satisfies one of the following equivalent conditions:
  1. It is finitely accessible and cocomplete.
  2. It is finitely accessible and complete.
  3. It is equivalent to the category of finite-limit-preserving functors to $\Set$ from a small category with finite limits.
  4. It is equivalent to the category of models of a small finite-limit sketch.
For equivalence of conditions above, see Cor. 2.47, Thm. 1.46, and Cor. 1.52 in Adamek-Rosicky. This is the same as being locally $\aleph_0$-presentable.' nlab_link: https://ncatlab.org/nlab/show/locally+finitely+presentable+category invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/locally multi-presentable.yaml b/databases/catdat/data/category-properties/locally multi-presentable.yaml index 1794b641..a37cc80e 100644 --- a/databases/catdat/data/category-properties/locally multi-presentable.yaml +++ b/databases/catdat/data/category-properties/locally multi-presentable.yaml @@ -1,13 +1,6 @@ id: locally multi-presentable relation: is -description: |- - Let $\kappa$ be a regular cardinal. A category is locally $\kappa$-multi-presentable if it satisfies one of the following equivalent conditions: -
    -
  1. It is $\kappa$-accessible and multi-cocomplete.
  2. -
  3. It is $\kappa$-accessible and has connected limits.
  4. -
  5. It is equivalent to the category of models of a small ($\kappa$-limit, coproduct)-sketch.
  6. -
- For equivalence of conditions above, see Thm. 4.30, Thm. 4.32, and the remark below in Adamek-Rosicky. A category is locally multi-presentable if it is locally $\kappa$-multi-presentable for some $\kappa$. +description: 'Let $\kappa$ be a regular cardinal. A category is locally $\kappa$-multi-presentable if it satisfies one of the following equivalent conditions:
  1. It is $\kappa$-accessible and multi-cocomplete.
  2. It is $\kappa$-accessible and has connected limits.
  3. It is equivalent to the category of models of a small ($\kappa$-limit, coproduct)-sketch.
For equivalence of conditions above, see Thm. 4.30, Thm. 4.32, and the remark below in Adamek-Rosicky. A category is locally multi-presentable if it is locally $\kappa$-multi-presentable for some $\kappa$.' nlab_link: https://ncatlab.org/nlab/show/locally+multipresentable+category invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/locally presentable.yaml b/databases/catdat/data/category-properties/locally presentable.yaml index 351a5189..1e004c85 100644 --- a/databases/catdat/data/category-properties/locally presentable.yaml +++ b/databases/catdat/data/category-properties/locally presentable.yaml @@ -1,15 +1,6 @@ id: locally presentable relation: is -description: |- - Let $\kappa$ be a regular cardinal. A category is locally $\kappa$-presentable if it satisfies one of the following equivalent conditions: -
    -
  1. It is $\kappa$-accessible and cocomplete.
  2. -
  3. It is $\kappa$-accessible and complete.
  4. -
  5. It is equivalent to the category of $\kappa$-limit-preserving functors to $\Set$ from a small category with $\kappa$-limits.
  6. -
  7. It is equivalent to the category of models of a small $\kappa$-limit sketch.
  8. -
- For equivalence of conditions above, see Cor. 2.47, Thm. 1.46, and Cor. 1.52 in Adamek-Rosicky. - A category is locally presentable if it is locally $\kappa$-presentable for some regular cardinal $\kappa$. +description: 'Let $\kappa$ be a regular cardinal. A category is locally $\kappa$-presentable if it satisfies one of the following equivalent conditions:
  1. It is $\kappa$-accessible and cocomplete.
  2. It is $\kappa$-accessible and complete.
  3. It is equivalent to the category of $\kappa$-limit-preserving functors to $\Set$ from a small category with $\kappa$-limits.
  4. It is equivalent to the category of models of a small $\kappa$-limit sketch.
For equivalence of conditions above, see Cor. 2.47, Thm. 1.46, and Cor. 1.52 in Adamek-Rosicky. A category is locally presentable if it is locally $\kappa$-presentable for some regular cardinal $\kappa$.' nlab_link: https://ncatlab.org/nlab/show/locally+presentable+category dual_property_id: locally copresentable invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/locally strongly finitely presentable.yaml b/databases/catdat/data/category-properties/locally strongly finitely presentable.yaml index db0d30cd..267233b5 100644 --- a/databases/catdat/data/category-properties/locally strongly finitely presentable.yaml +++ b/databases/catdat/data/category-properties/locally strongly finitely presentable.yaml @@ -1,16 +1,6 @@ id: locally strongly finitely presentable relation: is -description: |- - A category is locally strongly finitely presentable if it is cocomplete and there is a set $G$ of strongly finitely presentable objects such that every object is a sifted colimit of objects from $G$. - There are several equivalent conditions: -
    -
  1. It is equivalent to the category of models of a many-sorted finitary algebraic theory.
  2. -
  3. It is equivalent to the category of finite-product-preserving functors to $\Set$ from a small category with finite products (=Lawvere theory).
  4. -
  5. It is equivalent to the category of models of a small finite-product sketch.
  6. -
  7. It is equivalent to the Eilenberg–Moore category of a finitary (=filtered-colimit-preserving) monad on $\Set^S$ for some set $S$.
  8. -
  9. It is equivalent to the Eilenberg–Moore category of a sifted-colimit-preserving monad on $\Set^S$ for some set $S$. (cf. [KR12, Proposition 3.3])
  10. -
- A category satisfying this property is simply called a variety (of algebras) by some authors, although one should be aware that this term is sometimes used only for the one-sorted case. +description: 'A category is locally strongly finitely presentable if it is cocomplete and there is a set $G$ of strongly finitely presentable objects such that every object is a sifted colimit of objects from $G$. There are several equivalent conditions:
  1. It is equivalent to the category of models of a many-sorted finitary algebraic theory.
  2. It is equivalent to the category of finite-product-preserving functors to $\Set$ from a small category with finite products (=Lawvere theory).
  3. It is equivalent to the category of models of a small finite-product sketch.
  4. It is equivalent to the Eilenberg–Moore category of a finitary (=filtered-colimit-preserving) monad on $\Set^S$ for some set $S$.
  5. It is equivalent to the Eilenberg–Moore category of a sifted-colimit-preserving monad on $\Set^S$ for some set $S$. (cf. [KR12, Proposition 3.3])
A category satisfying this property is simply called a variety (of algebras) by some authors, although one should be aware that this term is sometimes used only for the one-sorted case.' nlab_link: https://ncatlab.org/nlab/show/locally+strongly+finitely+presentable+category invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/multi-algebraic.yaml b/databases/catdat/data/category-properties/multi-algebraic.yaml index f3e8753c..baa76b5e 100644 --- a/databases/catdat/data/category-properties/multi-algebraic.yaml +++ b/databases/catdat/data/category-properties/multi-algebraic.yaml @@ -1,16 +1,6 @@ id: multi-algebraic relation: is -description: |- - A category is multi-algebraic if it satisfies one of the following equivalent conditions: -
    -
  1. It is a multi-cocomplete generalized variety, that is, it has multi-colimits and sifted colimits of all small diagrams, and there is a (small) set $G$ of strongly finitely presentable objects such that every object is a sifted colimit of objects from $G$.
  2. -
  3. It is equivalent to the category of models of a small (finite product, coproduct)-sketch, shortly small FPC-sketch.
  4. -
  5. It is equivalent to the category of multi-finite-product-preserving functors to $\Set$ from a small category with multi-finite-products (multi-algebraic theory). Here, multi-finite-products means multi-limits of finite discrete diagrams.
  6. -
  7. It is equivalent to the category of models of a small multi-finite-product sketch.
  8. -
- Multi-algebraic categories are like locally strongly finitely presentable categories but only with multi-colimits. The relation is similar as between locally finitely multi-presentable and locally finitely presentable categories. - For equivalence of conditions above, see [AR01a, Lem. 1] and [AR01b, Thm. 4.4]. - This notion was originally introduced by Diers. +description: 'A category is multi-algebraic if it satisfies one of the following equivalent conditions:
  1. It is a multi-cocomplete generalized variety, that is, it has multi-colimits and sifted colimits of all small diagrams, and there is a (small) set $G$ of strongly finitely presentable objects such that every object is a sifted colimit of objects from $G$.
  2. It is equivalent to the category of models of a small (finite product, coproduct)-sketch, shortly small FPC-sketch.
  3. It is equivalent to the category of multi-finite-product-preserving functors to $\Set$ from a small category with multi-finite-products (multi-algebraic theory). Here, multi-finite-products means multi-limits of finite discrete diagrams.
  4. It is equivalent to the category of models of a small multi-finite-product sketch.
Multi-algebraic categories are like locally strongly finitely presentable categories but only with multi-colimits. The relation is similar as between locally finitely multi-presentable and locally finitely presentable categories. For equivalence of conditions above, see [AR01a, Lem. 1] and [AR01b, Thm. 4.4]. This notion was originally introduced by Diers.' invariant_under_equivalences: true related_properties: diff --git a/databases/catdat/data/category-properties/natural numbers object.yaml b/databases/catdat/data/category-properties/natural numbers object.yaml index f718e542..2b3e1bd1 100644 --- a/databases/catdat/data/category-properties/natural numbers object.yaml +++ b/databases/catdat/data/category-properties/natural numbers object.yaml @@ -1,10 +1,6 @@ id: natural numbers object relation: has a -description: |- - A natural numbers object (NNO) in a category with finite products is a triple - $$(N,\, z : 1 \to N,\, s : N \to N)$$ - satisfying the following universal property: for all $f : A \to X$, $g : X \to X$ there is a unique $\Phi : A \times N \to X$ such that $\Phi(a,z)=f(a)$ and $\Phi(a,s(n)) = g(\Phi(a,n))$ in element notation. -
This concept is an abstraction of the set of natural numbers, which indeed provide a NNO for the category of sets. We have used the parametrized definition here which is more natural (sic!) for categories that are not cartesian closed (cf. Johnstone, Part A, Remark 2.5.3). +description: 'A natural numbers object (NNO) in a category with finite products is a triple $$(N,\, z : 1 \to N,\, s : N \to N)$$ satisfying the following universal property: for all $f : A \to X$, $g : X \to X$ there is a unique $\Phi : A \times N \to X$ such that $\Phi(a,z)=f(a)$ and $\Phi(a,s(n)) = g(\Phi(a,n))$ in element notation.
This concept is an abstraction of the set of natural numbers, which indeed provide a NNO for the category of sets. We have used the parametrized definition here which is more natural (sic!) for categories that are not cartesian closed (cf. Johnstone, Part A, Remark 2.5.3).' nlab_link: https://ncatlab.org/nlab/show/natural+numbers+object invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/preadditive.yaml b/databases/catdat/data/category-properties/preadditive.yaml index ee28376f..859a29e6 100644 --- a/databases/catdat/data/category-properties/preadditive.yaml +++ b/databases/catdat/data/category-properties/preadditive.yaml @@ -1,8 +1,6 @@ id: preadditive relation: is -description: |- - A category is preadditive when it is locally essentially small* and each hom-set carries the structure of an abelian group such that the composition is bilinear. Notice that "preadditive" is an extra structure. The property here just says that some preadditive structure exists.
- *We demand this instead of the more common "locally small" to ensure that preadditive categories are invariant under equivalences of categories. +description: 'A category is preadditive when it is locally essentially small* and each hom-set carries the structure of an abelian group such that the composition is bilinear. Notice that "preadditive" is an extra structure. The property here just says that some preadditive structure exists.
*We demand this instead of the more common "locally small" to ensure that preadditive categories are invariant under equivalences of categories.' nlab_link: https://ncatlab.org/nlab/show/Ab-enriched+category dual_property_id: preadditive invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/quotient object classifier.yaml b/databases/catdat/data/category-properties/quotient object classifier.yaml index 31360de0..2334c08d 100644 --- a/databases/catdat/data/category-properties/quotient object classifier.yaml +++ b/databases/catdat/data/category-properties/quotient object classifier.yaml @@ -1,10 +1,6 @@ id: quotient object classifier relation: has a -description: |- - A category $\C$ has a quotient object classifier if its dual has a subobject classifier. This means that it has finite colimits and an epimorphism* $\top : \Psi \twoheadrightarrow 0$ such that for every epimorphism $e : A \twoheadrightarrow B$ there is a unique morphism $\psi_e : \Psi \to A$ such that - $$\begin{CD} \Psi @>{\top}>> 0 \\ @V{\psi_e}VV @VV{!}V \\ A @>>{e}> B \end{CD}$$ - is a pushout diagram. Equivalently, the functor $\Quot : \C \to \Set^+$ is representable.
- *Every morphism $\Psi \to 0$ is a split epimorphism anyway. +description: 'A category $\C$ has a quotient object classifier if its dual has a subobject classifier. This means that it has finite colimits and an epimorphism* $\top : \Psi \twoheadrightarrow 0$ such that for every epimorphism $e : A \twoheadrightarrow B$ there is a unique morphism $\psi_e : \Psi \to A$ such that $$\begin{CD} \Psi @>{\top}>> 0 \\ @V{\psi_e}VV @VV{!}V \\ A @>>{e}> B \end{CD}$$ is a pushout diagram. Equivalently, the functor $\Quot : \C \to \Set^+$ is representable.
*Every morphism $\Psi \to 0$ is a split epimorphism anyway.' dual_property_id: subobject classifier invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/regular quotient object classifier.yaml b/databases/catdat/data/category-properties/regular quotient object classifier.yaml index 7d8e15b6..315bc61c 100644 --- a/databases/catdat/data/category-properties/regular quotient object classifier.yaml +++ b/databases/catdat/data/category-properties/regular quotient object classifier.yaml @@ -1,10 +1,6 @@ id: regular quotient object classifier relation: has a -description: |- - A category $\C$ has a regular quotient object classifier if its dual has a regular subobject classifier. This means that it has finite colimits and a regular epimorphism* $\top : \Psi \twoheadrightarrow 0$ such that for every regular epimorphism $e : A \twoheadrightarrow B$ there is a unique morphism $\psi_e : \Psi \to A$ such that - $$\begin{CD} \Psi @>{\top}>> 0 \\ @V{\psi_e}VV @VV{!}V \\ A @>>{e}> B \end{CD}$$ - is a pushout diagram. Equivalently, the functor $\Quot_{\reg} : \C \to \Set^+$ is representable.
- *Every morphism $\Psi \to 0$ is a split epimorphism anyway. +description: 'A category $\C$ has a regular quotient object classifier if its dual has a regular subobject classifier. This means that it has finite colimits and a regular epimorphism* $\top : \Psi \twoheadrightarrow 0$ such that for every regular epimorphism $e : A \twoheadrightarrow B$ there is a unique morphism $\psi_e : \Psi \to A$ such that $$\begin{CD} \Psi @>{\top}>> 0 \\ @V{\psi_e}VV @VV{!}V \\ A @>>{e}> B \end{CD}$$ is a pushout diagram. Equivalently, the functor $\Quot_{\reg} : \C \to \Set^+$ is representable.
*Every morphism $\Psi \to 0$ is a split epimorphism anyway.' dual_property_id: regular subobject classifier invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/regular subobject classifier.yaml b/databases/catdat/data/category-properties/regular subobject classifier.yaml index 344d7525..6770f255 100644 --- a/databases/catdat/data/category-properties/regular subobject classifier.yaml +++ b/databases/catdat/data/category-properties/regular subobject classifier.yaml @@ -1,10 +1,6 @@ id: regular subobject classifier relation: has a -description: |- - A category $\C$ has a regular subobject classifier if it has finite limits and a regular monomorphism* $\top : 1 \hookrightarrow \Omega$ such that for every regular monomorphism $m : A \hookrightarrow B$ there is a unique morphism $\chi_m : B \to \Omega$ such that - $$\begin{CD} A @>{m}>> B \\ @V{!}VV @VV{\chi_m}V \\ 1 @>>{\top}> \Omega \end{CD}$$ - is a pullback diagram. Equivalently, the functor $\Sub_{\reg} : \C^{\op} \to \Set^+$ is representable.
- *Every morphism $1 \to \Omega$ is a split monomorphism and hence regular anyway. +description: 'A category $\C$ has a regular subobject classifier if it has finite limits and a regular monomorphism* $\top : 1 \hookrightarrow \Omega$ such that for every regular monomorphism $m : A \hookrightarrow B$ there is a unique morphism $\chi_m : B \to \Omega$ such that $$\begin{CD} A @>{m}>> B \\ @V{!}VV @VV{\chi_m}V \\ 1 @>>{\top}> \Omega \end{CD}$$ is a pullback diagram. Equivalently, the functor $\Sub_{\reg} : \C^{\op} \to \Set^+$ is representable.
*Every morphism $1 \to \Omega$ is a split monomorphism and hence regular anyway.' nlab_link: https://ncatlab.org/nlab/show/subobject+classifier dual_property_id: regular quotient object classifier invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/sifted.yaml b/databases/catdat/data/category-properties/sifted.yaml index b42bdfea..6631ddb7 100644 --- a/databases/catdat/data/category-properties/sifted.yaml +++ b/databases/catdat/data/category-properties/sifted.yaml @@ -1,9 +1,6 @@ id: sifted relation: is -description: |- - A category $\C$ is sifted if it is inhabited and the diagonal functor $\Delta : \C \to \C \times \C$ is final, i.e. if it is non-empty and for any two objects $X,Y \in \C$ the category of cospans - $$X \rightarrow Z \leftarrow Y$$ - is connected. Equivalently, a small category $\C$ is sifted if $\colim : \Set^{\C} \to \Set$ preserves finite products. This property is a weaker notion than being filtered. +description: 'A category $\C$ is sifted if it is inhabited and the diagonal functor $\Delta : \C \to \C \times \C$ is final, i.e. if it is non-empty and for any two objects $X,Y \in \C$ the category of cospans $$X \rightarrow Z \leftarrow Y$$ is connected. Equivalently, a small category $\C$ is sifted if $\colim : \Set^{\C} \to \Set$ preserves finite products. This property is a weaker notion than being filtered.' nlab_link: https://ncatlab.org/nlab/show/sifted+category dual_property_id: cosifted invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/subobject classifier.yaml b/databases/catdat/data/category-properties/subobject classifier.yaml index 18f873c7..623dcf91 100644 --- a/databases/catdat/data/category-properties/subobject classifier.yaml +++ b/databases/catdat/data/category-properties/subobject classifier.yaml @@ -1,10 +1,6 @@ id: subobject classifier relation: has a -description: |- - A category $\C$ has a subobject classifier if it has finite limits and a monomorphism* $\top : 1 \hookrightarrow \Omega$ such that for every monomorphism $m : A \hookrightarrow B$ there is a unique morphism $\chi_m : B \to \Omega$ such that - $$\begin{CD} A @>{m}>> B \\ @V{!}VV @VV{\chi_m}V \\ 1 @>>{\top}> \Omega \end{CD}$$ - is a pullback diagram. Equivalently, the functor $\Sub : \C^{\op} \to \Set^+$ is representable.
- *Every morphism $1 \to \Omega$ is a split monomorphism anyway. +description: 'A category $\C$ has a subobject classifier if it has finite limits and a monomorphism* $\top : 1 \hookrightarrow \Omega$ such that for every monomorphism $m : A \hookrightarrow B$ there is a unique morphism $\chi_m : B \to \Omega$ such that $$\begin{CD} A @>{m}>> B \\ @V{!}VV @VV{\chi_m}V \\ 1 @>>{\top}> \Omega \end{CD}$$ is a pullback diagram. Equivalently, the functor $\Sub : \C^{\op} \to \Set^+$ is representable.
*Every morphism $1 \to \Omega$ is a split monomorphism anyway.' nlab_link: https://ncatlab.org/nlab/show/subobject+classifier dual_property_id: quotient object classifier invariant_under_equivalences: true diff --git a/databases/catdat/data/functor-properties/epimorphism-preserving.yaml b/databases/catdat/data/functor-properties/epimorphism-preserving.yaml index 9e30b7a3..eadcf0be 100644 --- a/databases/catdat/data/functor-properties/epimorphism-preserving.yaml +++ b/databases/catdat/data/functor-properties/epimorphism-preserving.yaml @@ -1,8 +1,6 @@ id: epimorphism-preserving relation: is -description: |- - A functor $F : \C \to \D$ preserves epimorphisms if every epimorphism in $\C$ is mapped to an epimorphism in $\D$.
- This property is useful to rule out some adjunctions. +description: 'A functor $F : \C \to \D$ preserves epimorphisms if every epimorphism in $\C$ is mapped to an epimorphism in $\D$.
This property is useful to rule out some adjunctions.' nlab_link: https://ncatlab.org/nlab/show/epimorphism invariant_under_equivalences: true dual_property_id: monomorphism-preserving diff --git a/databases/catdat/data/functor-properties/monomorphism-preserving.yaml b/databases/catdat/data/functor-properties/monomorphism-preserving.yaml index 21d2fd89..ac1d2d74 100644 --- a/databases/catdat/data/functor-properties/monomorphism-preserving.yaml +++ b/databases/catdat/data/functor-properties/monomorphism-preserving.yaml @@ -1,8 +1,6 @@ id: monomorphism-preserving relation: is -description: |- - A functor $F : \C \to \D$ preserves monomorphisms if every monomorphism in $\C$ is mapped to a monomorphism in $\D$.
- This property is useful to rule out some adjunctions. +description: 'A functor $F : \C \to \D$ preserves monomorphisms if every monomorphism in $\C$ is mapped to a monomorphism in $\D$.
This property is useful to rule out some adjunctions.' nlab_link: https://ncatlab.org/nlab/show/monomorphism invariant_under_equivalences: true dual_property_id: epimorphism-preserving diff --git a/databases/catdat/data/lemmas/coslice-effective-congruences.yaml b/databases/catdat/data/lemmas/coslice-effective-congruences.yaml index 0ced1d45..18da5d60 100644 --- a/databases/catdat/data/lemmas/coslice-effective-congruences.yaml +++ b/databases/catdat/data/lemmas/coslice-effective-congruences.yaml @@ -4,10 +4,4 @@ title: Inheritance of effective congruences in coslice categories claim: 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$. -proof: |- - 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 \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$. +proof: '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 \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/databases/catdat/data/lemmas/effective-congruence-quotients.yaml b/databases/catdat/data/lemmas/effective-congruence-quotients.yaml index f793ac7f..74b28901 100644 --- a/databases/catdat/data/lemmas/effective-congruence-quotients.yaml +++ b/databases/catdat/data/lemmas/effective-congruence-quotients.yaml @@ -2,22 +2,6 @@ id: effective-congruence-quotients title: Quotients of effective congruences are strict quotients -claim: |- - 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}$$ +claim: '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}$$' -proof: |- - 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. +proof: '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.' diff --git a/databases/catdat/data/lemmas/exact_filtered_colimits_descend.yaml b/databases/catdat/data/lemmas/exact_filtered_colimits_descend.yaml index 3d67b8b4..9b9310e4 100644 --- a/databases/catdat/data/lemmas/exact_filtered_colimits_descend.yaml +++ b/databases/catdat/data/lemmas/exact_filtered_colimits_descend.yaml @@ -4,11 +4,4 @@ title: Exact filtered colimits descend to nice subcategories claim: 'Let $G : \C \to \D$ be a fully faithful functor with a left adjoint $F : \D \to \C$ that preserves finite limits. Assume that $\D$ has exact filtered colimits and that $\C$ has finite limits. Then $\C$ has exact filtered colimits as well.' -proof: |- - It is well-known (and easy to prove) that the colimit of a diagram $(X_j)$ in $\C$ is constructed as $F(\colim_j G(X_j))$, provided that colimit in $\D$ exists. In particular, $\C$ has filtered colimits. By assumption, it also has finite limits, and $G$ preserves these since it is a right adjoint. Now let $X : \I \times \J \to \C$ be a diagram, where $\I$ is finite and $\J$ is filtered. We compute: - $$\begin{align*} \colim_j {\lim}_i X(i,j) & \cong F(\colim_j G({\lim}_i X(i,j))) \\ - & \cong F(\colim_j {\lim}_i G(X(i,j))) \\ - & \cong F({\lim}_i \colim_j G(X(i,j))) \\ - & \cong {\lim}_i F(\colim_j G(X(i,j))) \\ - & \cong {\lim}_i \colim_j X(i,j) - \end{align*}$$ +proof: 'It is well-known (and easy to prove) that the colimit of a diagram $(X_j)$ in $\C$ is constructed as $F(\colim_j G(X_j))$, provided that colimit in $\D$ exists. In particular, $\C$ has filtered colimits. By assumption, it also has finite limits, and $G$ preserves these since it is a right adjoint. Now let $X : \I \times \J \to \C$ be a diagram, where $\I$ is finite and $\J$ is filtered. We compute: $$\begin{align*} \colim_j {\lim}_i X(i,j) & \cong F(\colim_j G({\lim}_i X(i,j))) \\ & \cong F(\colim_j {\lim}_i G(X(i,j))) \\ & \cong F({\lim}_i \colim_j G(X(i,j))) \\ & \cong {\lim}_i F(\colim_j G(X(i,j))) \\ & \cong {\lim}_i \colim_j X(i,j) \end{align*}$$' diff --git a/databases/catdat/data/lemmas/limits_in_factor_categories.yaml b/databases/catdat/data/lemmas/limits_in_factor_categories.yaml index 03fc4bb8..207ce5a3 100644 --- a/databases/catdat/data/lemmas/limits_in_factor_categories.yaml +++ b/databases/catdat/data/lemmas/limits_in_factor_categories.yaml @@ -4,6 +4,4 @@ title: Limits in factor categories claim: Let $\C,\D$ be two categories. Assume that $\D$ is inhabited. If $\C \times \D$ has limits of a given shape, then $\C$ also has limits of this shape. -proof: |- - Let $U \in \D$ be a fixed object. Assume that $X : \J \to \C$ is a diagram. Assume that the diagram $(X,U) : \J \to \C \times \D$ (which is constant in the second variable) has a limit cone $((p_i, u_i) : (L,V) \to (X_i,U))$, thus consisting of morphisms $p_i : L \to X_i$ and $u_i : V \to U$. Clearly, $(p_i : L \to X_i)$ is a cone over $X$. We prove that it is universal:
- Let $(f_i : T \to X_i)$ be a cone over $X$. Then $((f_i,\id_U) : (T,U) \to (X_i,U))$ is a cone over $(X,U)$. Hence, there is a unique morphism $(f,v) : (T,U) \to (L,V)$, consisting of $f : T \to L$ and $v : U \to V$, such that $(p_i,u_i) \circ (f,v) = (f_i,\id_U)$, i.e. $p_i \circ f = f_i$ and $u_i \circ v = \id_U$. If $g : T \to L$ is another morphism with $p_i \circ g = f_i$, then uniqueness applied to $(g,v)$ shows that $f = g$. +proof: 'Let $U \in \D$ be a fixed object. Assume that $X : \J \to \C$ is a diagram. Assume that the diagram $(X,U) : \J \to \C \times \D$ (which is constant in the second variable) has a limit cone $((p_i, u_i) : (L,V) \to (X_i,U))$, thus consisting of morphisms $p_i : L \to X_i$ and $u_i : V \to U$. Clearly, $(p_i : L \to X_i)$ is a cone over $X$. We prove that it is universal:
Let $(f_i : T \to X_i)$ be a cone over $X$. Then $((f_i,\id_U) : (T,U) \to (X_i,U))$ is a cone over $(X,U)$. Hence, there is a unique morphism $(f,v) : (T,U) \to (L,V)$, consisting of $f : T \to L$ and $v : U \to V$, such that $(p_i,u_i) \circ (f,v) = (f_i,\id_U)$, i.e. $p_i \circ f = f_i$ and $u_i \circ v = \id_U$. If $g : T \to L$ is another morphism with $p_i \circ g = f_i$, then uniqueness applied to $(g,v)$ shows that $f = g$.' diff --git a/databases/catdat/data/lemmas/missing_cogenerating_sets.yaml b/databases/catdat/data/lemmas/missing_cogenerating_sets.yaml index c9a2cba4..bcd7f91b 100644 --- a/databases/catdat/data/lemmas/missing_cogenerating_sets.yaml +++ b/databases/catdat/data/lemmas/missing_cogenerating_sets.yaml @@ -2,12 +2,6 @@ id: missing_cogenerating_sets title: Missing cogenerating sets -claim: |- - Let $\C$ be a category with a faithful functor $U: \C \to \Set$. Assume there exists a collection of objects $\F \subseteq \Ob(\C)$ satisfying the following conditions: -
    -
  1. For any $X \in \F$ and any non-terminal $Y \in \C$, for every morphism $f: X \to Y$ its underlying map $U(f) : U(X) \to U(Y)$ is injective.
  2. -
  3. For every infinite cardinal number $\kappa$, there exists an object $X \in \F$ such that $\card(U(X)) \geq \kappa$ and such that $X$ has a non-identity endomorphism.
  4. -
- Then $\C$ does not have a cogenerating set. +claim: 'Let $\C$ be a category with a faithful functor $U: \C \to \Set$. Assume there exists a collection of objects $\F \subseteq \Ob(\C)$ satisfying the following conditions:
  1. For any $X \in \F$ and any non-terminal $Y \in \C$, for every morphism $f: X \to Y$ its underlying map $U(f) : U(X) \to U(Y)$ is injective.
  2. For every infinite cardinal number $\kappa$, there exists an object $X \in \F$ such that $\card(U(X)) \geq \kappa$ and such that $X$ has a non-identity endomorphism.
Then $\C$ does not have a cogenerating set.' proof: 'Assume that there is a cogenerating set $S$. By assumption (2) there is an object $X \in \F$ such that $U(X)$ is larger than all the $U(Y)$ with $Y \in S$ (w.r.t. cardinalities) and which has a non-identity endomorphism $\sigma : X \to X$. Since $S$ cogenerates, there is a morphism $f : X \to Y$ with $Y \in S$ and $f \sigma \neq f$. For this, $Y$ must be non-terminal. By (1) the map $U(f) : U(X) \to U(Y)$ is injective. This is a contradiction.' diff --git a/databases/catdat/data/lemmas/missing_cogenerator.yaml b/databases/catdat/data/lemmas/missing_cogenerator.yaml index 2fe15700..6828273c 100644 --- a/databases/catdat/data/lemmas/missing_cogenerator.yaml +++ b/databases/catdat/data/lemmas/missing_cogenerator.yaml @@ -2,12 +2,6 @@ id: missing_cogenerator title: Missing cogenerator -claim: |- - Let $\C$ be a pointed category with a faithful functor $U: \C \to \Set$. Assume there exists a collection of non-zero objects $\F \subseteq \Ob(\C)$ satisfying the following conditions: -
    -
  1. For any $X \in \F$ and any $Y \in \C$, every non-zero morphism $f: X \to Y$ is injective on underlying sets.
  2. -
  3. For every $Y \in \C$ there is some object $X \in \F$ such that $\card(U(X)) > \card(U(Y))$.
  4. -
- Then $\C$ does not have a cogenerator. +claim: 'Let $\C$ be a pointed category with a faithful functor $U: \C \to \Set$. Assume there exists a collection of non-zero objects $\F \subseteq \Ob(\C)$ satisfying the following conditions:
  1. For any $X \in \F$ and any $Y \in \C$, every non-zero morphism $f: X \to Y$ is injective on underlying sets.
  2. For every $Y \in \C$ there is some object $X \in \F$ such that $\card(U(X)) > \card(U(Y))$.
Then $\C$ does not have a cogenerator.' proof: 'Assume that there is a cogenerator $Y$. By assumption (2) there is an object $X \in \F$ such that $U(X)$ is larger than $U(Y)$ (w.r.t. cardinalities). Since $0,\id_X : X \rightrightarrows X$ are distinct, there is a morphism $f : X \to Y$ with $f \neq 0$. But then $U(f) : U(X) \to U(Y)$ is injective by assumption (1), which contradicts our choice of $X$.' diff --git a/databases/catdat/data/lemmas/nno_distributive_criterion.yaml b/databases/catdat/data/lemmas/nno_distributive_criterion.yaml index 2f7e3c42..25579bda 100644 --- a/databases/catdat/data/lemmas/nno_distributive_criterion.yaml +++ b/databases/catdat/data/lemmas/nno_distributive_criterion.yaml @@ -2,25 +2,6 @@ id: nno_distributive_criterion title: Natural number objects indicate distributivity -claim: |- - Let $\C$ be a category with finite products, arbitrary copowers (denoted $\otimes$), and a natural numbers object $1 \xrightarrow{z} N \xrightarrow{s} N$. Then there is an isomorphism $N \cong \IN \otimes 1$, and for every object $A$ the natural morphism - $$\alpha : \IN \otimes A \to A \times (\IN \otimes 1)$$ - is a split monomorphism. +claim: 'Let $\C$ be a category with finite products, arbitrary copowers (denoted $\otimes$), and a natural numbers object $1 \xrightarrow{z} N \xrightarrow{s} N$. Then there is an isomorphism $N \cong \IN \otimes 1$, and for every object $A$ the natural morphism $$\alpha : \IN \otimes A \to A \times (\IN \otimes 1)$$ is a split monomorphism.' -proof: |- - We will use generalized elements extensively. In particular, for every element $a \in A$ and $n \in \IN$ there is an element $n \otimes a \in \IN \otimes A$, formally defined by the $n$th coproduct inclusion. The morphism $\alpha$ is defined by - $$\alpha(n \otimes a) = (a , n \otimes 1).$$ - In any category with finite products and arbitrary copowers, we can construct the non-parameterized NNO $\IN \otimes 1$ with the element $0 \otimes 1 \in \IN \otimes 1$ and the map - $$s : \IN \otimes 1 \to \IN \otimes 1, \quad s(n \otimes 1) := (n+1) \otimes 1.$$ - Its universal property states that it is initial in the category of pairs $1 \xrightarrow{x_0} X \xrightarrow{r} X$. Hence, it is unique up to isomorphism. Since by assumption $1 \xrightarrow{z} N \xrightarrow{s} N$ is a full, parameterized NNO, it is also a non-parameterized NNO and therefore isomorphic to the one described. We will assume w.l.o.g. that it is equal to it and continue to work with $N = \IN \otimes 1$.

- Next, we apply the (parameterized) universal property of the NNO to the diagram - $$A \xrightarrow{f} \IN \otimes A \xrightarrow{g} \IN \otimes A$$ - defined by $f(a) := 0 \otimes a$ and $g(n \otimes a) := (n+1) \otimes a$. It tells us that there is a map - $$\Phi : A \times N \to \IN \otimes A$$ - with - $$\Phi(a,0 \otimes 1) = 0 \otimes a, \quad \Phi(a, s(m)) = g(\Phi(a,m)).$$ - For $m := n \otimes 1 \in N$ (where $n \in \IN$) the second equation reads - $$\Phi(a, (n+1) \otimes 1) = g(\Phi(a, n \otimes 1)).$$ - By classical induction on $n \in \IN$ it follows that - $$\Phi(a, n \otimes 1) = n \otimes a,$$ - which exactly means $\Phi \circ \alpha = \id_{\IN \otimes A}$. +proof: 'We will use generalized elements extensively. In particular, for every element $a \in A$ and $n \in \IN$ there is an element $n \otimes a \in \IN \otimes A$, formally defined by the $n$th coproduct inclusion. The morphism $\alpha$ is defined by $$\alpha(n \otimes a) = (a , n \otimes 1).$$ In any category with finite products and arbitrary copowers, we can construct the non-parameterized NNO $\IN \otimes 1$ with the element $0 \otimes 1 \in \IN \otimes 1$ and the map $$s : \IN \otimes 1 \to \IN \otimes 1, \quad s(n \otimes 1) := (n+1) \otimes 1.$$ Its universal property states that it is initial in the category of pairs $1 \xrightarrow{x_0} X \xrightarrow{r} X$. Hence, it is unique up to isomorphism. Since by assumption $1 \xrightarrow{z} N \xrightarrow{s} N$ is a full, parameterized NNO, it is also a non-parameterized NNO and therefore isomorphic to the one described. We will assume w.l.o.g. that it is equal to it and continue to work with $N = \IN \otimes 1$.

Next, we apply the (parameterized) universal property of the NNO to the diagram $$A \xrightarrow{f} \IN \otimes A \xrightarrow{g} \IN \otimes A$$ defined by $f(a) := 0 \otimes a$ and $g(n \otimes a) := (n+1) \otimes a$. It tells us that there is a map $$\Phi : A \times N \to \IN \otimes A$$ with $$\Phi(a,0 \otimes 1) = 0 \otimes a, \quad \Phi(a, s(m)) = g(\Phi(a,m)).$$ For $m := n \otimes 1 \in N$ (where $n \in \IN$) the second equation reads $$\Phi(a, (n+1) \otimes 1) = g(\Phi(a, n \otimes 1)).$$ By classical induction on $n \in \IN$ it follows that $$\Phi(a, n \otimes 1) = n \otimes a,$$ which exactly means $\Phi \circ \alpha = \id_{\IN \otimes A}$.' diff --git a/databases/catdat/data/lemmas/preadditive_structure_unique.yaml b/databases/catdat/data/lemmas/preadditive_structure_unique.yaml index 644b1263..b620987b 100644 --- a/databases/catdat/data/lemmas/preadditive_structure_unique.yaml +++ b/databases/catdat/data/lemmas/preadditive_structure_unique.yaml @@ -2,25 +2,6 @@ id: preadditive_structure_unique title: Uniqueness of preadditive structures -claim: |- - Let $\C$ be a preadditive category (or more generally, a category enriched in commutative monoids) with finite products and finite coproducts. Then for all objects $X,Y$ the canonical morphism - $$\alpha : X \oplus Y \to X \times Y$$ - is an isomorphism. Moreover, the preadditive structure is unique: If $f,g : A \rightrightarrows B$ are morphisms, their sum - $$f+g : A \to B$$ - is the composite of $(f,g) : A \to B \times B$, the inverse $\alpha^{-1} : B \oplus B \to B \times B$, and the codiagonal $\nabla : B \oplus B \to B$. +claim: 'Let $\C$ be a preadditive category (or more generally, a category enriched in commutative monoids) with finite products and finite coproducts. Then for all objects $X,Y$ the canonical morphism $$\alpha : X \oplus Y \to X \times Y$$ is an isomorphism. Moreover, the preadditive structure is unique: If $f,g : A \rightrightarrows B$ are morphisms, their sum $$f+g : A \to B$$ is the composite of $(f,g) : A \to B \times B$, the inverse $\alpha^{-1} : B \oplus B \to B \times B$, and the codiagonal $\nabla : B \oplus B \to B$.' -proof: |- - The morphism $\alpha : X \oplus Y \to X \times Y$ is defined by the equations - $$p_1 \circ \alpha \circ i_1 = \id_X, \quad p_2 \circ \alpha \circ i_2 = \id_Y,$$ - $$p_2 \circ \alpha \circ i_1 = 0,\quad p_1 \circ \alpha \circ i_2 = 0.$$ - It does not depend on the choice of preadditive structure since zero morphisms are unique. It is an isomorphism: Define - $$\beta := i_1 \circ p_1 + i_2 \circ p_2 : X \times Y \to X \oplus Y.$$ - Then $\alpha \circ \beta = \id_{X \times Y}$ because - $$p_1 \circ \alpha \circ \beta = p_1 \circ \alpha \circ i_1 \circ p_1 + p_1 \circ \alpha \circ i_2 \circ p_2 = \id_1 \circ p_1 + 0 \circ p_2 = p_1$$ - and likewise $p_2 \circ \alpha \circ \beta = p_2$. We also have $\beta \circ \alpha = \id_{X \oplus Y}$ with a very similar calculation that shows $\beta \circ \alpha \circ i_1 = i_1$ and $\beta \circ \alpha \circ i_2 = i_2$. Therefore, for morphisms $f,g : A \rightrightarrows B$ the composite $A \to B$ in the claim is equal to - $$\begin{align*} - \nabla \circ \beta \circ (f,g) & = \nabla \circ (i_1 \circ p_1 + i_2 \circ p_2) \circ (f,g) \\ - & = \nabla \circ i_1 \circ p_1 \circ (f,g) + \nabla \circ i_2 \circ p_2 \circ (f,g) \\ - & = p_1 \circ (f,g) + p_2 \circ (f,g) \\ - & = f + g. - \end{align*}$$ +proof: 'The morphism $\alpha : X \oplus Y \to X \times Y$ is defined by the equations $$p_1 \circ \alpha \circ i_1 = \id_X, \quad p_2 \circ \alpha \circ i_2 = \id_Y,$$ $$p_2 \circ \alpha \circ i_1 = 0,\quad p_1 \circ \alpha \circ i_2 = 0.$$ It does not depend on the choice of preadditive structure since zero morphisms are unique. It is an isomorphism: Define $$\beta := i_1 \circ p_1 + i_2 \circ p_2 : X \times Y \to X \oplus Y.$$ Then $\alpha \circ \beta = \id_{X \times Y}$ because $$p_1 \circ \alpha \circ \beta = p_1 \circ \alpha \circ i_1 \circ p_1 + p_1 \circ \alpha \circ i_2 \circ p_2 = \id_1 \circ p_1 + 0 \circ p_2 = p_1$$ and likewise $p_2 \circ \alpha \circ \beta = p_2$. We also have $\beta \circ \alpha = \id_{X \oplus Y}$ with a very similar calculation that shows $\beta \circ \alpha \circ i_1 = i_1$ and $\beta \circ \alpha \circ i_2 = i_2$. Therefore, for morphisms $f,g : A \rightrightarrows B$ the composite $A \to B$ in the claim is equal to $$\begin{align*} \nabla \circ \beta \circ (f,g) & = \nabla \circ (i_1 \circ p_1 + i_2 \circ p_2) \circ (f,g) \\ & = \nabla \circ i_1 \circ p_1 \circ (f,g) + \nabla \circ i_2 \circ p_2 \circ (f,g) \\ & = p_1 \circ (f,g) + p_2 \circ (f,g) \\ & = f + g. \end{align*}$$' diff --git a/databases/catdat/data/lemmas/special_sequential_colimits.yaml b/databases/catdat/data/lemmas/special_sequential_colimits.yaml index bff8423e..724049c5 100644 --- a/databases/catdat/data/lemmas/special_sequential_colimits.yaml +++ b/databases/catdat/data/lemmas/special_sequential_colimits.yaml @@ -4,11 +4,5 @@ title: Finite structures usually have no sequential colimits claim: 'Let $\C$ be a category with finite powers, including a terminal object $1$. Let $a : 1 \to X$ be a morphism. Assume that the sequence of morphisms $(X^n,a) : X^n \to X^{n+1}$ for $n \geq 0$ admits a colimit $(i_n : X^n \to C)$. Then for every $m \geq 0$ there is a split epimorphism $C \to X^m$. In particular, if $U : \C \to \Set$ is a functor preserving finite powers and $\card(U(X)) \geq 2$, then $U(C)$ is infinite.' -proof: |- - Let $m \geq 0$ be fixed. For $n \geq 0$ we define a morphism $u_n : X^n \to X^m$ as follows: It is the projection on the first $m$ factors for $m \leq n$, and $(X^n,a^{m-n})$ for $m \geq n$ (for $m=n$ these agree). With generalized elements this says: - $$u_n(x_1,\dotsc,x_n) = \begin{cases} (x_1,\dotsc,x_m) & m \leq n \\ (x_1,\dotsc,x_n,a,\dotsc,a) & m \geq n \end{cases}$$ - We claim that $u_n = u_{n+1} \circ (X^n,a)$, i.e. - $$u_n(x_1,\dotsc,x_n) = u_{n+1}(x_1,\dotsc,x_n,a).$$ - If $m \leq n$ (hence, $m \leq n+1$), both sides are equal to $(x_1,\dotsc,x_m)$. If $m > n$, i.e. $m \geq n+1$, both sides are equal to $(x_1,\dotsc,x_n,a,\dotsc,a)$. This proves the claim. -
Hence, there is a unique morphism $\varphi : C \to X^m$ such that $\varphi \circ i_n = u_n$ for all $n \geq 0$. Since $u_m$ is the identity, $\varphi$ is a split epimorphism. -
If $U$ is a functor with the mentioned properties, $U(\varphi)$ is also a split epimorphism from $U(C)$ to $U(X^m) \cong U(X)^m$, and $U(X)^m$ has $\geq 2^m$ elements. This holds for all $m$, so that $U(C)$ is infinite. +proof: 'Let $m \geq 0$ be fixed. For $n \geq 0$ we define a morphism $u_n : X^n \to X^m$ as follows: It is the projection on the first $m$ factors for $m \leq n$, and $(X^n,a^{m-n})$ for $m \geq n$ (for $m=n$ these agree). With generalized elements this says: $$u_n(x_1,\dotsc,x_n) = \begin{cases} (x_1,\dotsc,x_m) & m \leq n \\ (x_1,\dotsc,x_n,a,\dotsc,a) & m \geq n \end{cases}$$ We claim that $u_n = u_{n+1} \circ (X^n,a)$, i.e. $$u_n(x_1,\dotsc,x_n) = u_{n+1}(x_1,\dotsc,x_n,a).$$ If $m \leq n$ (hence, $m \leq n+1$), both sides are equal to $(x_1,\dotsc,x_m)$. If $m > n$, i.e. $m \geq n+1$, both sides are equal to $(x_1,\dotsc,x_n,a,\dotsc,a)$. This proves the claim.
Hence, there is a unique morphism $\varphi : C \to X^m$ such that $\varphi \circ i_n = u_n$ for all $n \geq 0$. Since $u_m$ is the identity, $\varphi$ is a split epimorphism.
If $U$ is a functor with the mentioned properties, $U(\varphi)$ is also a split epimorphism from $U(C)$ to $U(X^m) \cong U(X)^m$, and $U(X)^m$ has $\geq 2^m$ elements. This holds for all $m$, so that $U(C)$ is infinite.' + From 3fe856c7116794b1eda103d9a58cbfdcd852b292 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Sun, 10 May 2026 10:05:46 +0200 Subject: [PATCH 13/22] italics for functor property defs --- databases/catdat/data/functor-properties/cocontinuous.yaml | 2 +- .../data/functor-properties/coequalizer-preserving.yaml | 2 +- databases/catdat/data/functor-properties/cofinitary.yaml | 2 +- databases/catdat/data/functor-properties/comonadic.yaml | 2 +- databases/catdat/data/functor-properties/conservative.yaml | 2 +- databases/catdat/data/functor-properties/continuous.yaml | 2 +- .../catdat/data/functor-properties/coproduct-preserving.yaml | 2 +- .../data/functor-properties/epimorphism-preserving.yaml | 4 +++- .../catdat/data/functor-properties/equalizer-preserving.yaml | 2 +- databases/catdat/data/functor-properties/equivalence.yaml | 2 +- .../data/functor-properties/essentially surjective.yaml | 2 +- databases/catdat/data/functor-properties/exact.yaml | 2 +- databases/catdat/data/functor-properties/faithful.yaml | 2 +- databases/catdat/data/functor-properties/finitary.yaml | 2 +- .../data/functor-properties/finite-coproduct-preserving.yaml | 2 +- .../data/functor-properties/finite-product-preserving.yaml | 2 +- databases/catdat/data/functor-properties/full.yaml | 2 +- .../data/functor-properties/initial-object-preserving.yaml | 2 +- databases/catdat/data/functor-properties/left adjoint.yaml | 2 +- databases/catdat/data/functor-properties/left exact.yaml | 2 +- databases/catdat/data/functor-properties/monadic.yaml | 2 +- .../data/functor-properties/monomorphism-preserving.yaml | 4 +++- .../catdat/data/functor-properties/product-preserving.yaml | 2 +- databases/catdat/data/functor-properties/representable.yaml | 2 +- databases/catdat/data/functor-properties/right adjoint.yaml | 2 +- databases/catdat/data/functor-properties/right exact.yaml | 2 +- .../data/functor-properties/terminal-object-preserving.yaml | 2 +- 27 files changed, 31 insertions(+), 27 deletions(-) diff --git a/databases/catdat/data/functor-properties/cocontinuous.yaml b/databases/catdat/data/functor-properties/cocontinuous.yaml index 62e33414..68230019 100644 --- a/databases/catdat/data/functor-properties/cocontinuous.yaml +++ b/databases/catdat/data/functor-properties/cocontinuous.yaml @@ -1,6 +1,6 @@ id: cocontinuous relation: is -description: A functor is cocontinuous when it preserves all small colimits. +description: A functor is cocontinuous when it preserves all small colimits. nlab_link: https://ncatlab.org/nlab/show/cocontinuous+functor invariant_under_equivalences: true dual_property_id: continuous diff --git a/databases/catdat/data/functor-properties/coequalizer-preserving.yaml b/databases/catdat/data/functor-properties/coequalizer-preserving.yaml index 7b8f39e0..b7f79580 100644 --- a/databases/catdat/data/functor-properties/coequalizer-preserving.yaml +++ b/databases/catdat/data/functor-properties/coequalizer-preserving.yaml @@ -1,6 +1,6 @@ id: coequalizer-preserving relation: is -description: 'A functor $F$ preserves coequalizers when for every parallel pair of morphisms $f,g : A \rightrightarrows B$ whose coequalizer $p : B \to Q$ exists, also $F(p) : F(B) \to F(Q)$ is an coequalizer of $F(f),F(g) : F(A) \rightrightarrows F(B)$.' +description: 'A functor $F$ preserves coequalizers when for every parallel pair of morphisms $f,g : A \rightrightarrows B$ whose coequalizer $p : B \to Q$ exists, also $F(p) : F(B) \to F(Q)$ is an coequalizer of $F(f),F(g) : F(A) \rightrightarrows F(B)$.' nlab_link: null invariant_under_equivalences: true dual_property_id: equalizer-preserving diff --git a/databases/catdat/data/functor-properties/cofinitary.yaml b/databases/catdat/data/functor-properties/cofinitary.yaml index dd77592a..22354368 100644 --- a/databases/catdat/data/functor-properties/cofinitary.yaml +++ b/databases/catdat/data/functor-properties/cofinitary.yaml @@ -1,6 +1,6 @@ id: cofinitary relation: is -description: A functor is cofinitary when it preserves cofiltered limits. +description: A functor is cofinitary when it preserves cofiltered limits. nlab_link: null invariant_under_equivalences: true dual_property_id: finitary diff --git a/databases/catdat/data/functor-properties/comonadic.yaml b/databases/catdat/data/functor-properties/comonadic.yaml index 11ccba0c..b66fb321 100644 --- a/databases/catdat/data/functor-properties/comonadic.yaml +++ b/databases/catdat/data/functor-properties/comonadic.yaml @@ -1,6 +1,6 @@ id: comonadic relation: is -description: 'A functor $F : \C \to \D$ is comonadic when there is a comonad $T$ on $\D$ such that $F$ is equivalent to the forgetful functor $U^T : \CoAlg(T) \to \D$.' +description: 'A functor $F : \C \to \D$ is comonadic when there is a comonad $T$ on $\D$ such that $F$ is equivalent to the forgetful functor $U^T : \CoAlg(T) \to \D$.' nlab_link: https://ncatlab.org/nlab/show/comonadic+functor invariant_under_equivalences: true dual_property_id: monadic diff --git a/databases/catdat/data/functor-properties/conservative.yaml b/databases/catdat/data/functor-properties/conservative.yaml index 595e3848..a0616ae7 100644 --- a/databases/catdat/data/functor-properties/conservative.yaml +++ b/databases/catdat/data/functor-properties/conservative.yaml @@ -1,6 +1,6 @@ id: conservative relation: is -description: 'A functor $F : \C \to \D$ is conservative when it is isomorphic-reflecting: If $f$ is a morphism in $\C$ such that $F(f)$ is an isomorphism, then $f$ is an isomorphism.' +description: 'A functor $F : \C \to \D$ is conservative when it is isomorphic-reflecting: If $f$ is a morphism in $\C$ such that $F(f)$ is an isomorphism, then $f$ is an isomorphism.' nlab_link: https://ncatlab.org/nlab/show/conservative+functor invariant_under_equivalences: true dual_property_id: conservative diff --git a/databases/catdat/data/functor-properties/continuous.yaml b/databases/catdat/data/functor-properties/continuous.yaml index aaf81279..a2ae9810 100644 --- a/databases/catdat/data/functor-properties/continuous.yaml +++ b/databases/catdat/data/functor-properties/continuous.yaml @@ -1,6 +1,6 @@ id: continuous relation: is -description: A functor is continuous when it preserves all small limits. +description: A functor is continuous when it preserves all small limits. nlab_link: https://ncatlab.org/nlab/show/continuous+functor invariant_under_equivalences: true dual_property_id: cocontinuous diff --git a/databases/catdat/data/functor-properties/coproduct-preserving.yaml b/databases/catdat/data/functor-properties/coproduct-preserving.yaml index ceb88207..1d99d609 100644 --- a/databases/catdat/data/functor-properties/coproduct-preserving.yaml +++ b/databases/catdat/data/functor-properties/coproduct-preserving.yaml @@ -1,6 +1,6 @@ id: coproduct-preserving relation: is -description: A functor $F$ preserves coproducts when for every family of objects $(A_i)$ in the source whose coproduct $\prod_i A_i$ exists, also the coproduct $\coprod_i F(A_i)$ exists in the target and such that the canonical morphism $\coprod_i F(A_i) \to F(\coprod_i A_i)$ is an isomorphism. +description: A functor $F$ preserves coproducts when for every family of objects $(A_i)$ in the source whose coproduct $\prod_i A_i$ exists, also the coproduct $\coprod_i F(A_i)$ exists in the target and such that the canonical morphism $\coprod_i F(A_i) \to F(\coprod_i A_i)$ is an isomorphism. nlab_link: null invariant_under_equivalences: true dual_property_id: product-preserving diff --git a/databases/catdat/data/functor-properties/epimorphism-preserving.yaml b/databases/catdat/data/functor-properties/epimorphism-preserving.yaml index eadcf0be..6f8a8840 100644 --- a/databases/catdat/data/functor-properties/epimorphism-preserving.yaml +++ b/databases/catdat/data/functor-properties/epimorphism-preserving.yaml @@ -1,6 +1,8 @@ id: epimorphism-preserving relation: is -description: 'A functor $F : \C \to \D$ preserves epimorphisms if every epimorphism in $\C$ is mapped to an epimorphism in $\D$.
This property is useful to rule out some adjunctions.' +description: | + A functor $F : \C \to \D$ preserves epimorphisms if every epimorphism in $\C$ is mapped to an epimorphism in $\D$. + This property is useful to rule out some adjunctions. nlab_link: https://ncatlab.org/nlab/show/epimorphism invariant_under_equivalences: true dual_property_id: monomorphism-preserving diff --git a/databases/catdat/data/functor-properties/equalizer-preserving.yaml b/databases/catdat/data/functor-properties/equalizer-preserving.yaml index dd26b0b2..f2799db9 100644 --- a/databases/catdat/data/functor-properties/equalizer-preserving.yaml +++ b/databases/catdat/data/functor-properties/equalizer-preserving.yaml @@ -1,6 +1,6 @@ id: equalizer-preserving relation: is -description: 'A functor $F$ preserves equalizers when for every parallel pair of morphisms $f,g : A \rightrightarrows B$ whose equalizer $i : E \to A$ exists, also $F(i) : F(E) \to F(A)$ is an equalizer of $F(f),F(g) : F(A) \rightrightarrows F(B)$.' +description: 'A functor $F$ preserves equalizers when for every parallel pair of morphisms $f,g : A \rightrightarrows B$ whose equalizer $i : E \to A$ exists, also $F(i) : F(E) \to F(A)$ is an equalizer of $F(f),F(g) : F(A) \rightrightarrows F(B)$.' nlab_link: null invariant_under_equivalences: true dual_property_id: coequalizer-preserving diff --git a/databases/catdat/data/functor-properties/equivalence.yaml b/databases/catdat/data/functor-properties/equivalence.yaml index a8c05b7c..75eea815 100644 --- a/databases/catdat/data/functor-properties/equivalence.yaml +++ b/databases/catdat/data/functor-properties/equivalence.yaml @@ -1,6 +1,6 @@ id: equivalence relation: is an -description: A functor is an equivalence if it has a pseudo-inverse functor. +description: A functor is an equivalence if it has a pseudo-inverse functor. nlab_link: https://ncatlab.org/nlab/show/equivalence+of+categories invariant_under_equivalences: true dual_property_id: equivalence diff --git a/databases/catdat/data/functor-properties/essentially surjective.yaml b/databases/catdat/data/functor-properties/essentially surjective.yaml index 2a13af2b..97a45ecc 100644 --- a/databases/catdat/data/functor-properties/essentially surjective.yaml +++ b/databases/catdat/data/functor-properties/essentially surjective.yaml @@ -1,6 +1,6 @@ id: essentially surjective relation: is -description: 'A functor $F : \C \to \D$ is essentially surjective when every object $Y \in \D$ is isomorphic to $F(X)$ for some $X \in \C$.' +description: 'A functor $F : \C \to \D$ is essentially surjective when every object $Y \in \D$ is isomorphic to $F(X)$ for some $X \in \C$.' nlab_link: https://ncatlab.org/nlab/show/essentially+surjective+functor invariant_under_equivalences: true dual_property_id: essentially surjective diff --git a/databases/catdat/data/functor-properties/exact.yaml b/databases/catdat/data/functor-properties/exact.yaml index c009ef26..25c964c4 100644 --- a/databases/catdat/data/functor-properties/exact.yaml +++ b/databases/catdat/data/functor-properties/exact.yaml @@ -1,6 +1,6 @@ id: exact relation: is -description: A functor is exact when it is left exact and right exact. +description: A functor is exact when it is left exact and right exact. nlab_link: https://ncatlab.org/nlab/show/exact+functor invariant_under_equivalences: true dual_property_id: exact diff --git a/databases/catdat/data/functor-properties/faithful.yaml b/databases/catdat/data/functor-properties/faithful.yaml index d0cb1d58..9f0e7130 100644 --- a/databases/catdat/data/functor-properties/faithful.yaml +++ b/databases/catdat/data/functor-properties/faithful.yaml @@ -1,6 +1,6 @@ id: faithful relation: is -description: 'A functor is faithful when it is injective on Hom-sets: If $F(f)=F(g)$, then $f=g$.' +description: 'A functor is faithful when it is injective on Hom-sets: If $F(f)=F(g)$, then $f=g$.' nlab_link: https://ncatlab.org/nlab/show/faithful+functor invariant_under_equivalences: true dual_property_id: faithful diff --git a/databases/catdat/data/functor-properties/finitary.yaml b/databases/catdat/data/functor-properties/finitary.yaml index c9717865..61bdc304 100644 --- a/databases/catdat/data/functor-properties/finitary.yaml +++ b/databases/catdat/data/functor-properties/finitary.yaml @@ -1,6 +1,6 @@ id: finitary relation: is -description: A functor is finitary when it preserves filtered colimits. +description: A functor is finitary when it preserves filtered colimits. nlab_link: https://ncatlab.org/nlab/show/finitary+functor invariant_under_equivalences: true dual_property_id: cofinitary diff --git a/databases/catdat/data/functor-properties/finite-coproduct-preserving.yaml b/databases/catdat/data/functor-properties/finite-coproduct-preserving.yaml index 0c065b6c..6a129fa5 100644 --- a/databases/catdat/data/functor-properties/finite-coproduct-preserving.yaml +++ b/databases/catdat/data/functor-properties/finite-coproduct-preserving.yaml @@ -1,6 +1,6 @@ id: finite-coproduct-preserving relation: is -description: A functor $F$ preserves finite coproducts when for every family of objects $(A_i)$ in the source whose coproduct $\prod_i A_i$ exists, also the coproduct $\coprod_i F(A_i)$ exists in the target and such that the canonical morphism $\coprod_i F(A_i) \to F(\coprod_i A_i)$ is an isomorphism. +description: A functor $F$ preserves finite coproducts when for every family of objects $(A_i)$ in the source whose coproduct $\prod_i A_i$ exists, also the coproduct $\coprod_i F(A_i)$ exists in the target and such that the canonical morphism $\coprod_i F(A_i) \to F(\coprod_i A_i)$ is an isomorphism. nlab_link: null invariant_under_equivalences: true dual_property_id: finite-product-preserving diff --git a/databases/catdat/data/functor-properties/finite-product-preserving.yaml b/databases/catdat/data/functor-properties/finite-product-preserving.yaml index 5f486d79..3623a3cc 100644 --- a/databases/catdat/data/functor-properties/finite-product-preserving.yaml +++ b/databases/catdat/data/functor-properties/finite-product-preserving.yaml @@ -1,6 +1,6 @@ id: finite-product-preserving relation: is -description: A functor $F$ preserves finite products when for every finite family of objects $(A_i)$ in the source whose product $\prod_i A_i$ exists, also the product $\prod_i F(A_i)$ exists in the target and such that the canonical morphism $F(\prod_i A_i) \to \prod_i F(A_i)$ is an isomorphism. +description: A functor $F$ preserves finite products when for every finite family of objects $(A_i)$ in the source whose product $\prod_i A_i$ exists, also the product $\prod_i F(A_i)$ exists in the target and such that the canonical morphism $F(\prod_i A_i) \to \prod_i F(A_i)$ is an isomorphism. nlab_link: null invariant_under_equivalences: true dual_property_id: finite-coproduct-preserving diff --git a/databases/catdat/data/functor-properties/full.yaml b/databases/catdat/data/functor-properties/full.yaml index a73294ca..cfbf7569 100644 --- a/databases/catdat/data/functor-properties/full.yaml +++ b/databases/catdat/data/functor-properties/full.yaml @@ -1,6 +1,6 @@ id: full relation: is -description: 'A functor is full when it is surjective on Hom-sets: Every morphism $F(A) \to F(B)$ is induced by a morphism $A \to B$.' +description: 'A functor is full when it is surjective on Hom-sets: Every morphism $F(A) \to F(B)$ is induced by a morphism $A \to B$.' nlab_link: https://ncatlab.org/nlab/show/full+functor invariant_under_equivalences: true dual_property_id: full diff --git a/databases/catdat/data/functor-properties/initial-object-preserving.yaml b/databases/catdat/data/functor-properties/initial-object-preserving.yaml index d1e8cc26..39a13bf4 100644 --- a/databases/catdat/data/functor-properties/initial-object-preserving.yaml +++ b/databases/catdat/data/functor-properties/initial-object-preserving.yaml @@ -1,6 +1,6 @@ id: initial-object-preserving relation: is -description: A functor $F$ preserves initial objects when it maps every initial object to an initial object. It is not assumed that the source category has a initial object. +description: A functor $F$ preserves initial objects when it maps every initial object to an initial object. It is not assumed that the source category has a initial object. nlab_link: null invariant_under_equivalences: true dual_property_id: terminal-object-preserving diff --git a/databases/catdat/data/functor-properties/left adjoint.yaml b/databases/catdat/data/functor-properties/left adjoint.yaml index e0103c0d..8538f110 100644 --- a/databases/catdat/data/functor-properties/left adjoint.yaml +++ b/databases/catdat/data/functor-properties/left adjoint.yaml @@ -1,6 +1,6 @@ id: left adjoint relation: is a -description: 'A functor $F : \C \to \D$ is a left adjoint when there is a functor $G : \D \to \C$ such that there are natural bijections $\Hom(F(A),B) \cong \Hom(A,G(B))$.' +description: 'A functor $F : \C \to \D$ is a left adjoint when there is a functor $G : \D \to \C$ such that there are natural bijections $\Hom(F(A),B) \cong \Hom(A,G(B))$.' nlab_link: https://ncatlab.org/nlab/show/left+adjoint invariant_under_equivalences: true dual_property_id: right adjoint diff --git a/databases/catdat/data/functor-properties/left exact.yaml b/databases/catdat/data/functor-properties/left exact.yaml index bf423663..a5ab5e04 100644 --- a/databases/catdat/data/functor-properties/left exact.yaml +++ b/databases/catdat/data/functor-properties/left exact.yaml @@ -1,6 +1,6 @@ id: left exact relation: is -description: A functor is left exact when it preserves finite limits. +description: A functor is left exact when it preserves finite limits. nlab_link: https://ncatlab.org/nlab/show/exact+functor invariant_under_equivalences: true dual_property_id: right exact diff --git a/databases/catdat/data/functor-properties/monadic.yaml b/databases/catdat/data/functor-properties/monadic.yaml index 4d2231cd..0408de01 100644 --- a/databases/catdat/data/functor-properties/monadic.yaml +++ b/databases/catdat/data/functor-properties/monadic.yaml @@ -1,6 +1,6 @@ id: monadic relation: is -description: 'A functor $F : \C \to \D$ is monadic when there is a monad $T$ on $\D$ such that $F$ is equivalent to the forgetful functor $U^T : \Alg(T) \to \D$.' +description: 'A functor $F : \C \to \D$ is monadic when there is a monad $T$ on $\D$ such that $F$ is equivalent to the forgetful functor $U^T : \Alg(T) \to \D$.' nlab_link: https://ncatlab.org/nlab/show/monadic+functor invariant_under_equivalences: true dual_property_id: comonadic diff --git a/databases/catdat/data/functor-properties/monomorphism-preserving.yaml b/databases/catdat/data/functor-properties/monomorphism-preserving.yaml index ac1d2d74..4c6f026a 100644 --- a/databases/catdat/data/functor-properties/monomorphism-preserving.yaml +++ b/databases/catdat/data/functor-properties/monomorphism-preserving.yaml @@ -1,6 +1,8 @@ id: monomorphism-preserving relation: is -description: 'A functor $F : \C \to \D$ preserves monomorphisms if every monomorphism in $\C$ is mapped to a monomorphism in $\D$.
This property is useful to rule out some adjunctions.' +description: | + A functor $F : \C \to \D$ preserves monomorphisms if every monomorphism in $\C$ is mapped to a monomorphism in $\D$. + This property is useful to rule out some adjunctions. nlab_link: https://ncatlab.org/nlab/show/monomorphism invariant_under_equivalences: true dual_property_id: epimorphism-preserving diff --git a/databases/catdat/data/functor-properties/product-preserving.yaml b/databases/catdat/data/functor-properties/product-preserving.yaml index ba3838c2..65880664 100644 --- a/databases/catdat/data/functor-properties/product-preserving.yaml +++ b/databases/catdat/data/functor-properties/product-preserving.yaml @@ -1,6 +1,6 @@ id: product-preserving relation: is -description: A functor $F$ preserves products when for every family of objects $(A_i)$ in the source whose product $\prod_i A_i$ exists, also the product $\prod_i F(A_i)$ exists in the target and such that the canonical morphism $F(\prod_i A_i) \to \prod_i F(A_i)$ is an isomorphism. +description: A functor $F$ preserves products when for every family of objects $(A_i)$ in the source whose product $\prod_i A_i$ exists, also the product $\prod_i F(A_i)$ exists in the target and such that the canonical morphism $F(\prod_i A_i) \to \prod_i F(A_i)$ is an isomorphism. nlab_link: null invariant_under_equivalences: true dual_property_id: coproduct-preserving diff --git a/databases/catdat/data/functor-properties/representable.yaml b/databases/catdat/data/functor-properties/representable.yaml index 21655f17..79eda781 100644 --- a/databases/catdat/data/functor-properties/representable.yaml +++ b/databases/catdat/data/functor-properties/representable.yaml @@ -1,6 +1,6 @@ id: representable relation: is -description: 'A functor $F : \C \to \D$ is representable if $\C$ is locally small, $\D = \Set$, and there is an object $A \in \C$ with $F \cong \Hom(A,-)$.' +description: 'A functor $F : \C \to \D$ is representable if $\C$ is locally small, $\D = \Set$, and there is an object $A \in \C$ with $F \cong \Hom(A,-)$.' nlab_link: https://ncatlab.org/nlab/show/representable+functor invariant_under_equivalences: true dual_property_id: null diff --git a/databases/catdat/data/functor-properties/right adjoint.yaml b/databases/catdat/data/functor-properties/right adjoint.yaml index b74d63b1..b2976915 100644 --- a/databases/catdat/data/functor-properties/right adjoint.yaml +++ b/databases/catdat/data/functor-properties/right adjoint.yaml @@ -1,6 +1,6 @@ id: right adjoint relation: is a -description: 'A functor $F : \C \to \D$ is a right adjoint when there is a functor $G : \D \to \C$ such that there are natural bijections $\Hom(G(A),B) \cong \Hom(A,F(B))$.' +description: 'A functor $F : \C \to \D$ is a right adjoint when there is a functor $G : \D \to \C$ such that there are natural bijections $\Hom(G(A),B) \cong \Hom(A,F(B))$.' nlab_link: https://ncatlab.org/nlab/show/right+adjoint invariant_under_equivalences: true dual_property_id: left adjoint diff --git a/databases/catdat/data/functor-properties/right exact.yaml b/databases/catdat/data/functor-properties/right exact.yaml index 167d2896..753dd070 100644 --- a/databases/catdat/data/functor-properties/right exact.yaml +++ b/databases/catdat/data/functor-properties/right exact.yaml @@ -1,6 +1,6 @@ id: right exact relation: is -description: A functor is right exact when it preserves finite colimits. +description: A functor is right exact when it preserves finite colimits. nlab_link: https://ncatlab.org/nlab/show/exact+functor invariant_under_equivalences: true dual_property_id: left exact diff --git a/databases/catdat/data/functor-properties/terminal-object-preserving.yaml b/databases/catdat/data/functor-properties/terminal-object-preserving.yaml index f4a06c67..48e501db 100644 --- a/databases/catdat/data/functor-properties/terminal-object-preserving.yaml +++ b/databases/catdat/data/functor-properties/terminal-object-preserving.yaml @@ -1,6 +1,6 @@ id: terminal-object-preserving relation: is -description: A functor $F$ preserves terminal objects when it maps every terminal object to a terminal object. It is not assumed that the source category has a terminal object. +description: A functor $F$ preserves terminal objects when it maps every terminal object to a terminal object. It is not assumed that the source category has a terminal object. nlab_link: null invariant_under_equivalences: true dual_property_id: initial-object-preserving From f97eca76f53d39408f32f053c376a9eb954806bc Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Sun, 10 May 2026 13:20:02 +0200 Subject: [PATCH 14/22] replace
in yaml files with proper line breaks + render them as
--- databases/catdat/data/categories/FreeAb.yaml | 9 +++++++-- databases/catdat/data/categories/J2.yaml | 4 +++- databases/catdat/data/categories/Man.yaml | 4 +++- databases/catdat/data/categories/Met.yaml | 4 +++- databases/catdat/data/categories/Mon.yaml | 4 +++- databases/catdat/data/categories/Pos.yaml | 4 +++- databases/catdat/data/categories/R-Mod.yaml | 4 +++- databases/catdat/data/categories/SemiGrp.yaml | 8 ++++++-- databases/catdat/data/categories/Set_pointed.yaml | 5 ++++- .../catdat/data/categories/walking_splitting.yaml | 9 +++++++-- .../data/category-implications/congruences.yaml | 11 +++++++++-- .../cartesian filtered colimits.yaml | 4 +++- .../catdat/data/category-properties/co-Malcev.yaml | 5 ++++- .../cocartesian cofiltered limits.yaml | 4 +++- .../category-properties/disjoint finite products.yaml | 4 +++- .../data/category-properties/disjoint products.yaml | 4 +++- .../category-properties/infinitary coextensive.yaml | 4 +++- .../category-properties/natural numbers object.yaml | 4 +++- .../catdat/data/category-properties/preadditive.yaml | 4 +++- .../quotient object classifier.yaml | 4 +++- .../regular quotient object classifier.yaml | 4 +++- .../regular subobject classifier.yaml | 4 +++- .../category-properties/subobject classifier.yaml | 4 +++- .../functor-properties/epimorphism-preserving.yaml | 2 +- .../functor-properties/monomorphism-preserving.yaml | 2 +- .../data/lemmas/coslice-effective-congruences.yaml | 4 +++- databases/catdat/data/lemmas/filtered-monos.yaml | 5 ++++- .../data/lemmas/limits_in_factor_categories.yaml | 4 +++- .../data/lemmas/nno_distributive_criterion.yaml | 5 ++++- .../data/lemmas/special_sequential_colimits.yaml | 6 ++++-- src/lib/server/rendering.ts | 5 +++-- 31 files changed, 111 insertions(+), 37 deletions(-) diff --git a/databases/catdat/data/categories/FreeAb.yaml b/databases/catdat/data/categories/FreeAb.yaml index e5262348..b1807231 100644 --- a/databases/catdat/data/categories/FreeAb.yaml +++ b/databases/catdat/data/categories/FreeAb.yaml @@ -34,7 +34,10 @@ satisfied_properties: reason: It is easy to check that $\IZ$ is a cogenerator for free abelian groups. - property_id: regular - reason: 'This follows formally from the fact that $\Ab$ is regular and $\FreeAb$ is closed under subobjects and finite products: By Prop. 2.5 in the nlab it suffices to prove that there are pullback-stable (reg epi, mono)-factorizations. Every homomorphism $f : A \to B$ in $\FreeAb$ factors as $f = i \circ p : A \twoheadrightarrow C \hookrightarrow B$, where $C$ is a subgroup, hence free, and $A \to C$ is surjective. Clearly, surjective homomorphisms are pullback-stable. It remains to show that they coincide with the regular epimorphisms.
(1) If $f : A \to B$ is surjective, it is the coequalizer of $A \times_B A \rightrightarrows A$ in $\Ab$. Since $A \times_B A$ is free abelian, $f$ is also an coequalizer in $\FreeAb$.
(2) If $f : A \to B$ is a regular epimorphism in $\FreeAb$, consider the factorization $f = i \circ p$ as above. Since $f$ is an extremal epimorphism, $i$ must be an isomorphism, so that $f$ is surjective.' + reason: |- + This follows formally from the fact that $\Ab$ is regular and $\FreeAb$ is closed under subobjects and finite products: By Prop. 2.5 in the nlab it suffices to prove that there are pullback-stable (reg epi, mono)-factorizations. Every homomorphism $f : A \to B$ in $\FreeAb$ factors as $f = i \circ p : A \twoheadrightarrow C \hookrightarrow B$, where $C$ is a subgroup, hence free, and $A \to C$ is surjective. Clearly, surjective homomorphisms are pullback-stable. It remains to show that they coincide with the regular epimorphisms. + (1) If $f : A \to B$ is surjective, it is the coequalizer of $A \times_B A \rightrightarrows A$ in $\Ab$. Since $A \times_B A$ is free abelian, $f$ is also an coequalizer in $\FreeAb$. + (2) If $f : A \to B$ is a regular epimorphism in $\FreeAb$, consider the factorization $f = i \circ p$ as above. Since $f$ is an extremal epimorphism, $i$ must be an isomorphism, so that $f$ is surjective. unsatisfied_properties: - property_id: countable powers @@ -50,7 +53,9 @@ unsatisfied_properties: reason: See MO/509715. - property_id: effective cocongruences - reason: '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.' + reason: |- + 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. category_property_comments: - property_id: accessible diff --git a/databases/catdat/data/categories/J2.yaml b/databases/catdat/data/categories/J2.yaml index fad466e5..06a1688e 100644 --- a/databases/catdat/data/categories/J2.yaml +++ b/databases/catdat/data/categories/J2.yaml @@ -28,7 +28,9 @@ unsatisfied_properties: reason: This is trivial. - property_id: semi-strongly connected - reason: 'There is a bijection $\alpha = (\lambda,\rho) : \IN \to \IN \times \IN$ such that $\lambda$ has a fixed point, but $\rho$ does not (see below). Then the isomorphism $\beta := (\rho,\lambda)$ has the opposite property. There cannot be any morphism $(\IN,\alpha) \to (\IN,\beta)$, as it would map the fixed point of $\lambda$ to a fixed point of $\rho$, and likewise there is no morphism $(\IN,\beta) \to (\IN,\alpha)$.
To construct $\alpha$ or rather $\alpha^{-1} : \IN \times \IN \to \IN$, we can alter the standard bijection $(n,m) \mapsto 2^n (2m+1) - 1$ as follows: $$\alpha^{-1}(n,m) = \begin{cases} 2 & (n,m) = (0,0) \\ 0 & (n,m) = (0,1) \\ 2^n (2m+1) - 1 & \text{otherwise} \end{cases}$$ Then $\alpha(0)=(0,1)$, i.e. $\lambda(0)=0$. The function $\rho$ has no fixed point, i.e. $\alpha^{-1}(n,m) \neq m$ for all $n,m$. Namely, if $(n,m)=(0,0)$, then $\alpha^{-1}(n,m)=2 \neq m$. If $(n,m)=(0,1)$, then $\alpha^{-1}(n,m)=0 \neq m$. Otherwise, $$\alpha^{-1}(n,m) = 2^n (2m+1) - 1 \geq (2m+1)-1 = 2m \geq m,$$ and equality can only hold if $m=0$ and $n=0$, which we already excluded.' + reason: |- + There is a bijection $\alpha = (\lambda,\rho) : \IN \to \IN \times \IN$ such that $\lambda$ has a fixed point, but $\rho$ does not (see below). Then the isomorphism $\beta := (\rho,\lambda)$ has the opposite property. There cannot be any morphism $(\IN,\alpha) \to (\IN,\beta)$, as it would map the fixed point of $\lambda$ to a fixed point of $\rho$, and likewise there is no morphism $(\IN,\beta) \to (\IN,\alpha)$. + To construct $\alpha$ or rather $\alpha^{-1} : \IN \times \IN \to \IN$, we can alter the standard bijection $(n,m) \mapsto 2^n (2m+1) - 1$ as follows: $$\alpha^{-1}(n,m) = \begin{cases} 2 & (n,m) = (0,0) \\ 0 & (n,m) = (0,1) \\ 2^n (2m+1) - 1 & \text{otherwise} \end{cases}$$ Then $\alpha(0)=(0,1)$, i.e. $\lambda(0)=0$. The function $\rho$ has no fixed point, i.e. $\alpha^{-1}(n,m) \neq m$ for all $n,m$. Namely, if $(n,m)=(0,0)$, then $\alpha^{-1}(n,m)=2 \neq m$. If $(n,m)=(0,1)$, then $\alpha^{-1}(n,m)=0 \neq m$. Otherwise, $$\alpha^{-1}(n,m) = 2^n (2m+1) - 1 \geq (2m+1)-1 = 2m \geq m,$$ and equality can only hold if $m=0$ and $n=0$, which we already excluded. special_objects: initial object: diff --git a/databases/catdat/data/categories/Man.yaml b/databases/catdat/data/categories/Man.yaml index 7a502484..f4ca2c8b 100644 --- a/databases/catdat/data/categories/Man.yaml +++ b/databases/catdat/data/categories/Man.yaml @@ -45,7 +45,9 @@ satisfied_properties: reason: 'This is a consequence of the Whitney embedding theorem. But there is also a more direct proof: Since a manifold is second-countable, it is Lindelöf (proof). In particular, there is a countable atlas. It is then completely determined by countable many open subsets of Euclidean spaces and the transition maps.' - property_id: coquotients of cocongruences - reason: 'Let $p : X + X \twoheadrightarrow E$ be a cocongruence with coreflexivity morphism $r : E \to X$, so that $r \circ p : X + X \to X$ is the codiagonal. Since $p$ is an epimorphism, it has dense image (see below). We first claim that in fact $p$ also has closed image and therefore is surjective. 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$.' + reason: |- + Let $p : X + X \twoheadrightarrow E$ be a cocongruence with coreflexivity morphism $r : E \to X$, so that $r \circ p : X + X \to X$ is the codiagonal. Since $p$ is an epimorphism, it has dense image (see below). We first claim that in fact $p$ also has closed image and therefore is surjective. 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$. - property_id: effective cocongruences reason: '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$.' diff --git a/databases/catdat/data/categories/Met.yaml b/databases/catdat/data/categories/Met.yaml index 4273e06e..89a14215 100644 --- a/databases/catdat/data/categories/Met.yaml +++ b/databases/catdat/data/categories/Met.yaml @@ -93,7 +93,9 @@ unsatisfied_properties: reason: '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.' - property_id: effective cocongruences - reason: '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 $\Met$.' + reason: |- + 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 $\Met$. special_objects: initial object: diff --git a/databases/catdat/data/categories/Mon.yaml b/databases/catdat/data/categories/Mon.yaml index 29eaad99..5a90e483 100644 --- a/databases/catdat/data/categories/Mon.yaml +++ b/databases/catdat/data/categories/Mon.yaml @@ -67,7 +67,9 @@ unsatisfied_properties: reason: 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. - property_id: effective cocongruences - reason: '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}(\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$.' + reason: |- + 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}(\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$. special_objects: initial object: diff --git a/databases/catdat/data/categories/Pos.yaml b/databases/catdat/data/categories/Pos.yaml index ac600fc1..4e24fdc0 100644 --- a/databases/catdat/data/categories/Pos.yaml +++ b/databases/catdat/data/categories/Pos.yaml @@ -61,7 +61,9 @@ unsatisfied_properties: reason: 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. - property_id: effective cocongruences - reason: '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.' + reason: |- + 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. special_objects: initial object: diff --git a/databases/catdat/data/categories/R-Mod.yaml b/databases/catdat/data/categories/R-Mod.yaml index 1921ae08..8a69c37a 100644 --- a/databases/catdat/data/categories/R-Mod.yaml +++ b/databases/catdat/data/categories/R-Mod.yaml @@ -3,7 +3,9 @@ name: category of left modules over a ring notation: $R{-}\Mod$ objects: left $R$-modules morphisms: $R$-linear maps -description: 'This is the prototype of an abelian category. The category of right modules is the same with the opposite ring $R^{\op}$, hence not listed here.
To settle the unsatisfied properties, we make the assumption that $R$ is not semisimple: If $R$ is semisimple, then by the Artin-Wedderburn theorem, the category is equivalent to a finite direct product of categories $D{-}\Mod$ for division rings $D$, and the case of division rings is in a separate entry. In particular, $R \neq 0$ and $R$ is not a field.' +description: |- + This is the prototype of an abelian category. The category of right modules is the same with the opposite ring $R^{\op}$, hence not listed here. + To settle the unsatisfied properties, we make the assumption that $R$ is not semisimple: If $R$ is semisimple, then by the Artin-Wedderburn theorem, the category is equivalent to a finite direct product of categories $D{-}\Mod$ for division rings $D$, and the case of division rings is in a separate entry. In particular, $R \neq 0$ and $R$ is not a field. nlab_link: https://ncatlab.org/nlab/show/module tags: - algebra diff --git a/databases/catdat/data/categories/SemiGrp.yaml b/databases/catdat/data/categories/SemiGrp.yaml index 1821e62d..92f78405 100644 --- a/databases/catdat/data/categories/SemiGrp.yaml +++ b/databases/catdat/data/categories/SemiGrp.yaml @@ -34,7 +34,9 @@ unsatisfied_properties: reason: This is trivial. - property_id: balanced - reason: 'The inclusion of additive semigroups $\IN \hookrightarrow \IZ$ is a counterexample. Indeed, if $f,g : \IZ \to G$ are semigroup homomorphisms which agree on $\IN$, the element $e := f(0) = g(0)$ provides a neutral element for $eGe$, which therefore becomes a monoid, and $f,g$ corestrict to monoid homomorphisms $f,g : \IZ \to eGe$ which agree on $\IN$. And we already know that $f = g$ in that case (inverses are uniquely determined).
Another example can be found in MO/510431.' + reason: |- + The inclusion of additive semigroups $\IN \hookrightarrow \IZ$ is a counterexample. Indeed, if $f,g : \IZ \to G$ are semigroup homomorphisms which agree on $\IN$, the element $e := f(0) = g(0)$ provides a neutral element for $eGe$, which therefore becomes a monoid, and $f,g$ corestrict to monoid homomorphisms $f,g : \IZ \to eGe$ which agree on $\IN$. And we already know that $f = g$ in that case (inverses are uniquely determined). + Another example can be found in MO/510431. - property_id: Malcev reason: 'Consider the subsemigroup $\{(a,b) : a \leq b \}$ of $\IN^2$ under addition.' @@ -43,7 +45,9 @@ unsatisfied_properties: reason: 'See MO/509552: Consider the forgetful functor $U : \SemiGrp \to \Set$ and the relation $R \subseteq U^2$ defined by $R(A) := \{(a,b) \in U(A)^2 : ab = a^2\}$. Both are representable: $U$ by the free semigroup on a single generator and $R$ by the free semigroup on two generators $x,y$ subject to the relation $xy=x^2$. It is clear that $R$ is reflexive, but not symmetric.' - property_id: semi-strongly connected - reason: 'Let us first remark that every non-empty finite semigroup $A$ has an idempotent element $e$, and then $B \to A$, $x \mapsto e$ does define a semigroup homomorphism for any $B$. Therefore, counterexamples need to be infinite and also without idempotent elements.
Let $A$ be the set of positive rational numbers of the form $m/2^n$ (with $m > 0$, $n \geq 0$), and let $B$ be the set of positive rational numbers of the form $m/3^n$ (with $m > 0$, $n \geq 0$). Both are semigroups under addition. The element $1 \in A$ is $2^\infty$-divisible, meaning that for every $n \geq 0$ there is some $a \in A$ with $1 = 2^n \cdot a$. But $B$ has no $2^\infty$-divisible element. Hence, there is no semigroup homomorphism $A \to B$. Likewise, there is no semigroup homomorphism $B \to A$.' + reason: |- + Let us first remark that every non-empty finite semigroup $A$ has an idempotent element $e$, and then $B \to A$, $x \mapsto e$ does define a semigroup homomorphism for any $B$. Therefore, counterexamples need to be infinite and also without idempotent elements. + Let $A$ be the set of positive rational numbers of the form $m/2^n$ (with $m > 0$, $n \geq 0$), and let $B$ be the set of positive rational numbers of the form $m/3^n$ (with $m > 0$, $n \geq 0$). Both are semigroups under addition. The element $1 \in A$ is $2^\infty$-divisible, meaning that for every $n \geq 0$ there is some $a \in A$ with $1 = 2^n \cdot a$. But $B$ has no $2^\infty$-divisible element. Hence, there is no semigroup homomorphism $A \to B$. Likewise, there is no semigroup homomorphism $B \to A$. - property_id: cogenerating set # TODO: find a variant of the lemma missing_cogenerating_sets diff --git a/databases/catdat/data/categories/Set_pointed.yaml b/databases/catdat/data/categories/Set_pointed.yaml index d774e360..1a484854 100644 --- a/databases/catdat/data/categories/Set_pointed.yaml +++ b/databases/catdat/data/categories/Set_pointed.yaml @@ -40,7 +40,10 @@ satisfied_properties: reason: Malcev categories are closed under slice categories by Prop. 2.2.14 in Malcev, protomodular, homological and semi-abelian categories. It follows that co-Malcev categories are closed under coslice categories, and $\Set_*$ is a coslice category of $\Set$, which is co-Malcev since every elementary topos is co-Malcev. - property_id: cocartesian cofiltered limits - reason: 'Let $X$ be a pointed set and $(Y_i)$ be a filtered diagram of pointed sets. Base points will be denoted by $0$. The canonical map $X \vee \lim_i Y_i \to \lim_i (X \vee Y_i)$ is injective since the wedge sum naturally embeds into the product and the natural map $X \vee \prod_i Y_i \to \prod_i (X \times Y_i)$ is injective. Now let $z = (z_i) \in \lim_i (X \vee Y_i)$.
Case 1: There is some index $i$ with $z_i \in X \setminus \{0\}$. We claim $z_j \in X$ for any index $j$ and $z_j = z_i$ in $X$, so that $z$ has a preimage in $X$. To see this, choose an index $k \geq i,j$. Since $X \vee Y_i \to X \vee Y_k$ maps $z_i \mapsto z_k$ and is the identity on $X$, we see that $z_k \in X$ and $z_k = z_i$ in $X$. Since $X \vee Y_j \to X \vee Y_k$ maps $z_j \mapsto z_k$, we see that $z_j \notin Y_j$, since otherwise $z_k \in Y_k \cap X = \{0\}$. Hence, $z_j \in X \setminus \{0\}$, and then $z_j = z_k = z_i$.
Case 2: We have $z_i \in Y_i$ for all $i$. Then clearly $(z_i) \in \lim_i Y_i$ is a preimage.' + reason: |- + Let $X$ be a pointed set and $(Y_i)$ be a filtered diagram of pointed sets. Base points will be denoted by $0$. The canonical map $X \vee \lim_i Y_i \to \lim_i (X \vee Y_i)$ is injective since the wedge sum naturally embeds into the product and the natural map $X \vee \prod_i Y_i \to \prod_i (X \times Y_i)$ is injective. Now let $z = (z_i) \in \lim_i (X \vee Y_i)$. + Case 1: There is some index $i$ with $z_i \in X \setminus \{0\}$. We claim $z_j \in X$ for any index $j$ and $z_j = z_i$ in $X$, so that $z$ has a preimage in $X$. To see this, choose an index $k \geq i,j$. Since $X \vee Y_i \to X \vee Y_k$ maps $z_i \mapsto z_k$ and is the identity on $X$, we see that $z_k \in X$ and $z_k = z_i$ in $X$. Since $X \vee Y_j \to X \vee Y_k$ maps $z_j \mapsto z_k$, we see that $z_j \notin Y_j$, since otherwise $z_k \in Y_k \cap X = \{0\}$. Hence, $z_j \in X \setminus \{0\}$, and then $z_j = z_k = z_i$. + Case 2: We have $z_i \in Y_i$ for all $i$. Then clearly $(z_i) \in \lim_i Y_i$ is a preimage. - property_id: CIP reason: 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. diff --git a/databases/catdat/data/categories/walking_splitting.yaml b/databases/catdat/data/categories/walking_splitting.yaml index d777edd2..e814b2fe 100644 --- a/databases/catdat/data/categories/walking_splitting.yaml +++ b/databases/catdat/data/categories/walking_splitting.yaml @@ -3,7 +3,9 @@ name: walking splitting notation: $\Split$ objects: two objects $0$ and $1$ morphisms: 'the identities, morphisms $i : 0 \to 1$, $p : 1 \to 0$ satisfying $pi = \id_0$, and the idempotent $ip : 1 \to 1$.' -description: This category could also be called the "walking split idempotent" (or "walking section", "walking retraction"), but we chose a name that emphasizes that the splitting belongs to the data. Notice that the $5$ given morphisms are indeed closed under composition. For example, $p \circ ip = p$ and $ip \circ i = i$.
The walking splitting can be interpreted as a skeleton of the category of $\IF_2$-vector spaces of dimension $\leq 1$. +description: |- + This category could also be called the "walking split idempotent" (or "walking section", "walking retraction"), but we chose a name that emphasizes that the splitting belongs to the data. Notice that the $5$ given morphisms are indeed closed under composition. For example, $p \circ ip = p$ and $ip \circ i = i$. + The walking splitting can be interpreted as a skeleton of the category of $\IF_2$-vector spaces of dimension $\leq 1$. tags: - category theory @@ -43,7 +45,10 @@ satisfied_properties: reason: 'We can define $\id_1 + \id_1 := ip$ (and it is clear how to add zero morphisms) and then verify that the axioms of a preadditive category hold. Alternatively, it suffices to find a preadditive category which is isomorphic to the walking splitting: Consider the full subcategory of $\Vect_{\IF_2}$ that consists only of the trivial vector space $\{0\}$ and $\IF_2$. Since $\Vect_{\IF_2}$ is preadditive, it is preadditive as well. It has two objects, two identities, the morphisms $i : \{0\} \to \IF_2$, $p : \IF_2 \to \{0\}$, and the zero morphism $ip : \IF_2 \to \IF_2$. Clearly, $pi$ is the identity.' - property_id: sifted colimits - reason: 'We work with the representation of the category as $\Vect^{\leq 1}_{\IF_2}$, the category of vector spaces over $\IF_2$ of dimension $\leq 1$. It suffices to show that it is closed under sifted colimits in $\Vect_{\IF_2}$. More generally, we show this for $\Vect^{\leq d}_K \subseteq \Vect_K$, where $d \in \IN$ and $K$ is a field. So let $X : \I \to \Vect_K$ be a sifted diagram with colimit $(u_i : X_i \to X_\infty)_{i \in \I}$. Since $\I$ is sifted, for finitely many objects $i_1,\dotsc,i_n \in \I$ there is an object $k$ that admits morphisms $i_1 \to k, \dotsc, i_n \to k$; this is all we need to know about $\I$. Assume that each $X_i$ is of dimension $\leq d$, we need to show this for $X_\infty$ as well.
Every element in $X_\infty$ is a finite sum of elements of the form $u_i(x_i)$ with $x_i \in X_i$. Choose an object $k$ with morphisms $i \to k$ for every occurring $i$. If $y_i \in X_k$ denotes the image of $x_i$, we get $\sum_i u_i(x_i) = \sum_i u_k(y_i) = u_k(\sum_i y_i)$. Therefore, every element of $X_\infty$ has the form $u_i(x_i)$ for some $i \in \I$ and $x_i \in X_i$. Moreover, for finitely many elements in $X_\infty$ the index $i$ may be chosen uniformly.
Now, if $X_\infty$ has dimension $> d$, it would have linearly independent vectors $v_0,\dotsc,v_d$, all of which have a preimage in $X_i$ for some $i \in \I$. But then these preimages would be linearly independent as well, which contradicts $\dim(X_i) \leq d$.' + reason: |- + We work with the representation of the category as $\Vect^{\leq 1}_{\IF_2}$, the category of vector spaces over $\IF_2$ of dimension $\leq 1$. It suffices to show that it is closed under sifted colimits in $\Vect_{\IF_2}$. More generally, we show this for $\Vect^{\leq d}_K \subseteq \Vect_K$, where $d \in \IN$ and $K$ is a field. So let $X : \I \to \Vect_K$ be a sifted diagram with colimit $(u_i : X_i \to X_\infty)_{i \in \I}$. Since $\I$ is sifted, for finitely many objects $i_1,\dotsc,i_n \in \I$ there is an object $k$ that admits morphisms $i_1 \to k, \dotsc, i_n \to k$; this is all we need to know about $\I$. Assume that each $X_i$ is of dimension $\leq d$, we need to show this for $X_\infty$ as well. + Every element in $X_\infty$ is a finite sum of elements of the form $u_i(x_i)$ with $x_i \in X_i$. Choose an object $k$ with morphisms $i \to k$ for every occurring $i$. If $y_i \in X_k$ denotes the image of $x_i$, we get $\sum_i u_i(x_i) = \sum_i u_k(y_i) = u_k(\sum_i y_i)$. Therefore, every element of $X_\infty$ has the form $u_i(x_i)$ for some $i \in \I$ and $x_i \in X_i$. Moreover, for finitely many elements in $X_\infty$ the index $i$ may be chosen uniformly. + Now, if $X_\infty$ has dimension $> d$, it would have linearly independent vectors $v_0,\dotsc,v_d$, all of which have a preimage in $X_i$ for some $i \in \I$. But then these preimages would be linearly independent as well, which contradicts $\dim(X_i) \leq d$. check_redundancy: false - property_id: generalized variety diff --git a/databases/catdat/data/category-implications/congruences.yaml b/databases/catdat/data/category-implications/congruences.yaml index a3767ab3..14f604dc 100644 --- a/databases/catdat/data/category-implications/congruences.yaml +++ b/databases/catdat/data/category-implications/congruences.yaml @@ -52,7 +52,9 @@ - preadditive conclusions: - effective congruences - reason: '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.' + reason: |- + 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. is_equivalence: false - id: additive_effective_congruences_imply_normal @@ -82,7 +84,12 @@ conclusions: - co-Malcev - effective cocongruences - reason: '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 \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.' + reason: |- + 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 \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. is_equivalence: false - id: pretopos_balanced diff --git a/databases/catdat/data/category-properties/cartesian filtered colimits.yaml b/databases/catdat/data/category-properties/cartesian filtered colimits.yaml index 8811c7c6..6fb671c0 100644 --- a/databases/catdat/data/category-properties/cartesian filtered colimits.yaml +++ b/databases/catdat/data/category-properties/cartesian filtered colimits.yaml @@ -1,6 +1,8 @@ id: cartesian filtered colimits relation: has -description: 'In a category $\C$, which we assume to have filtered colimits and finite products, we say that filtered colimits are cartesian if for every finite set $I$ the product functor $\prod : \C^I \to \C$ preserves filtered colimits. Equivalently, for every $X \in \C$ the functor $X \times - : \C \to \C$ preserves filtered colimits.
This is no standard terminology, it has been suggested in MO/510240. We have added it to the database since it clarifies the relationship between many related properties.' +description: |- + In a category $\C$, which we assume to have filtered colimits and finite products, we say that filtered colimits are cartesian if for every finite set $I$ the product functor $\prod : \C^I \to \C$ preserves filtered colimits. Equivalently, for every $X \in \C$ the functor $X \times - : \C \to \C$ preserves filtered colimits. + This is no standard terminology, it has been suggested in MO/510240. We have added it to the database since it clarifies the relationship between many related properties. dual_property_id: cocartesian cofiltered limits invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/co-Malcev.yaml b/databases/catdat/data/category-properties/co-Malcev.yaml index ab28b77a..b52e94f3 100644 --- a/databases/catdat/data/category-properties/co-Malcev.yaml +++ b/databases/catdat/data/category-properties/co-Malcev.yaml @@ -1,6 +1,9 @@ id: co-Malcev relation: is -description: 'A category is co-Malcev when its dual is Malcev, i.e., it has finite colimits and if $X \sqcup X \twoheadrightarrow R$ is a coreflexive corelation, then it is cosymmetric and cotransitive.
This terminology is not standard, but we have added it to properly formulate the interesting theorem that the dual of an elementary topos is Malcev, i.e., that every elementary topos is co-Malcev.
To settle this property, we often use that $\C$ is co-Malcev if and only if the category of representable functors $\C \to \Set^+$ is Malcev.' +description: |- + A category is co-Malcev when its dual is Malcev, i.e., it has finite colimits and if $X \sqcup X \twoheadrightarrow R$ is a coreflexive corelation, then it is cosymmetric and cotransitive. + This terminology is not standard, but we have added it to properly formulate the interesting theorem that the dual of an elementary topos is Malcev, i.e., that every elementary topos is co-Malcev. + o settle this property, we often use that $\C$ is co-Malcev if and only if the category of representable functors $\C \to \Set^+$ is Malcev. dual_property_id: Malcev invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/cocartesian cofiltered limits.yaml b/databases/catdat/data/category-properties/cocartesian cofiltered limits.yaml index 47691b05..57223334 100644 --- a/databases/catdat/data/category-properties/cocartesian cofiltered limits.yaml +++ b/databases/catdat/data/category-properties/cocartesian cofiltered limits.yaml @@ -1,6 +1,8 @@ id: cocartesian cofiltered limits relation: has -description: 'In a category $\C$, which we assume to have cofiltered limits and finite coproducts, we say that cofiltered limits are cocartesian if for every finite set $I$ the coproduct functor $\coprod : \C^I \to \C$ preserves cofiltered limits. Equivalently, for every $X \in \C$ the functor $X \sqcup - : \C \to \C$ preserves cofiltered limits.
This is no standard terminology, its dual has been suggested in MO/510240. We have added it to the database since it clarifies the relationship between many related properties.' +description: |- + In a category $\C$, which we assume to have cofiltered limits and finite coproducts, we say that cofiltered limits are cocartesian if for every finite set $I$ the coproduct functor $\coprod : \C^I \to \C$ preserves cofiltered limits. Equivalently, for every $X \in \C$ the functor $X \sqcup - : \C \to \C$ preserves cofiltered limits. + This is no standard terminology, its dual has been suggested in MO/510240. We have added it to the database since it clarifies the relationship between many related properties. dual_property_id: cartesian filtered colimits invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/disjoint finite products.yaml b/databases/catdat/data/category-properties/disjoint finite products.yaml index 6cf65122..f804ff12 100644 --- a/databases/catdat/data/category-properties/disjoint finite products.yaml +++ b/databases/catdat/data/category-properties/disjoint finite products.yaml @@ -1,6 +1,8 @@ id: disjoint finite products relation: has -description: 'A category has disjoint finite products if it has finite products, for every pair of objects $A,B$ the product projections $A \leftarrow A \times B \rightarrow B$ are epimorphisms, and the pushout $A \sqcup_{A \times B} B$ exists and is given by the terminal object $1$.
This terminology does not seem to be common, but we have added it as a dual for the more commonly known property of having disjoint finite coproducts.' +description: |- + A category has disjoint finite products if it has finite products, for every pair of objects $A,B$ the product projections $A \leftarrow A \times B \rightarrow B$ are epimorphisms, and the pushout $A \sqcup_{A \times B} B$ exists and is given by the terminal object $1$. + This terminology does not seem to be common, but we have added it as a dual for the more commonly known property of having disjoint finite coproducts. dual_property_id: disjoint finite coproducts invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/disjoint products.yaml b/databases/catdat/data/category-properties/disjoint products.yaml index 92101601..f84fa39f 100644 --- a/databases/catdat/data/category-properties/disjoint products.yaml +++ b/databases/catdat/data/category-properties/disjoint products.yaml @@ -1,6 +1,8 @@ id: disjoint products relation: has -description: 'A category has disjoint products if it has products, the product projections $\prod_{i \in I} A_i \to A_i$ are epimorphisms, and the pushout of the projections $\prod_{i \in I} A_i \to A_i$ and $\prod_{i \in I} A_i \to A_j$ for $i \neq j$ exists and is given by the terminal object $1$.
This terminology does not seem to be common, but we have added it as a dual for the more commonly known property of having disjoint coproducts.' +description: |- + A category has disjoint products if it has products, the product projections $\prod_{i \in I} A_i \to A_i$ are epimorphisms, and the pushout of the projections $\prod_{i \in I} A_i \to A_i$ and $\prod_{i \in I} A_i \to A_j$ for $i \neq j$ exists and is given by the terminal object $1$. + This terminology does not seem to be common, but we have added it as a dual for the more commonly known property of having disjoint coproducts. dual_property_id: disjoint coproducts invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/infinitary coextensive.yaml b/databases/catdat/data/category-properties/infinitary coextensive.yaml index 241f410d..2436a256 100644 --- a/databases/catdat/data/category-properties/infinitary coextensive.yaml +++ b/databases/catdat/data/category-properties/infinitary coextensive.yaml @@ -1,6 +1,8 @@ id: infinitary coextensive relation: is -description: 'A category $\C$ is infinitary coextensive when it has products and for all families of objects $(A_i)_{i \in I}$ the product functor $\prod_{i \in I} A_i / \C/A_i \to \prod_{i \in I} A_i / \C$ is an equivalence of categories.
This terminology does not seem to be common, but we have added it as a dual for the more commonly known property of being infinitary extensive.' +description: |- + A category $\C$ is infinitary coextensive when it has products and for all families of objects $(A_i)_{i \in I}$ the product functor $\prod_{i \in I} A_i / \C/A_i \to \prod_{i \in I} A_i / \C$ is an equivalence of categories. + This terminology does not seem to be common, but we have added it as a dual for the more commonly known property of being infinitary extensive. dual_property_id: infinitary extensive invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/natural numbers object.yaml b/databases/catdat/data/category-properties/natural numbers object.yaml index 2b3e1bd1..c41dc7fc 100644 --- a/databases/catdat/data/category-properties/natural numbers object.yaml +++ b/databases/catdat/data/category-properties/natural numbers object.yaml @@ -1,6 +1,8 @@ id: natural numbers object relation: has a -description: 'A natural numbers object (NNO) in a category with finite products is a triple $$(N,\, z : 1 \to N,\, s : N \to N)$$ satisfying the following universal property: for all $f : A \to X$, $g : X \to X$ there is a unique $\Phi : A \times N \to X$ such that $\Phi(a,z)=f(a)$ and $\Phi(a,s(n)) = g(\Phi(a,n))$ in element notation.
This concept is an abstraction of the set of natural numbers, which indeed provide a NNO for the category of sets. We have used the parametrized definition here which is more natural (sic!) for categories that are not cartesian closed (cf. Johnstone, Part A, Remark 2.5.3).' +description: |- + A natural numbers object (NNO) in a category with finite products is a triple $$(N,\, z : 1 \to N,\, s : N \to N)$$ satisfying the following universal property: for all $f : A \to X$, $g : X \to X$ there is a unique $\Phi : A \times N \to X$ such that $\Phi(a,z)=f(a)$ and $\Phi(a,s(n)) = g(\Phi(a,n))$ in element notation. + This concept is an abstraction of the set of natural numbers, which indeed provide a NNO for the category of sets. We have used the parametrized definition here which is more natural (sic!) for categories that are not cartesian closed (cf. Johnstone, Part A, Remark 2.5.3). nlab_link: https://ncatlab.org/nlab/show/natural+numbers+object invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/preadditive.yaml b/databases/catdat/data/category-properties/preadditive.yaml index 859a29e6..ccb2ca4d 100644 --- a/databases/catdat/data/category-properties/preadditive.yaml +++ b/databases/catdat/data/category-properties/preadditive.yaml @@ -1,6 +1,8 @@ id: preadditive relation: is -description: 'A category is preadditive when it is locally essentially small* and each hom-set carries the structure of an abelian group such that the composition is bilinear. Notice that "preadditive" is an extra structure. The property here just says that some preadditive structure exists.
*We demand this instead of the more common "locally small" to ensure that preadditive categories are invariant under equivalences of categories.' +description: |- + A category is preadditive when it is locally essentially small* and each hom-set carries the structure of an abelian group such that the composition is bilinear. Notice that "preadditive" is an extra structure. The property here just says that some preadditive structure exists. + *We demand this instead of the more common "locally small" to ensure that preadditive categories are invariant under equivalences of categories. nlab_link: https://ncatlab.org/nlab/show/Ab-enriched+category dual_property_id: preadditive invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/quotient object classifier.yaml b/databases/catdat/data/category-properties/quotient object classifier.yaml index 2334c08d..73258294 100644 --- a/databases/catdat/data/category-properties/quotient object classifier.yaml +++ b/databases/catdat/data/category-properties/quotient object classifier.yaml @@ -1,6 +1,8 @@ id: quotient object classifier relation: has a -description: 'A category $\C$ has a quotient object classifier if its dual has a subobject classifier. This means that it has finite colimits and an epimorphism* $\top : \Psi \twoheadrightarrow 0$ such that for every epimorphism $e : A \twoheadrightarrow B$ there is a unique morphism $\psi_e : \Psi \to A$ such that $$\begin{CD} \Psi @>{\top}>> 0 \\ @V{\psi_e}VV @VV{!}V \\ A @>>{e}> B \end{CD}$$ is a pushout diagram. Equivalently, the functor $\Quot : \C \to \Set^+$ is representable.
*Every morphism $\Psi \to 0$ is a split epimorphism anyway.' +description: |- + A category $\C$ has a quotient object classifier if its dual has a subobject classifier. This means that it has finite colimits and an epimorphism* $\top : \Psi \twoheadrightarrow 0$ such that for every epimorphism $e : A \twoheadrightarrow B$ there is a unique morphism $\psi_e : \Psi \to A$ such that $$\begin{CD} \Psi @>{\top}>> 0 \\ @V{\psi_e}VV @VV{!}V \\ A @>>{e}> B \end{CD}$$ is a pushout diagram. Equivalently, the functor $\Quot : \C \to \Set^+$ is representable. + *Every morphism $\Psi \to 0$ is a split epimorphism anyway. dual_property_id: subobject classifier invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/regular quotient object classifier.yaml b/databases/catdat/data/category-properties/regular quotient object classifier.yaml index 315bc61c..4b117acc 100644 --- a/databases/catdat/data/category-properties/regular quotient object classifier.yaml +++ b/databases/catdat/data/category-properties/regular quotient object classifier.yaml @@ -1,6 +1,8 @@ id: regular quotient object classifier relation: has a -description: 'A category $\C$ has a regular quotient object classifier if its dual has a regular subobject classifier. This means that it has finite colimits and a regular epimorphism* $\top : \Psi \twoheadrightarrow 0$ such that for every regular epimorphism $e : A \twoheadrightarrow B$ there is a unique morphism $\psi_e : \Psi \to A$ such that $$\begin{CD} \Psi @>{\top}>> 0 \\ @V{\psi_e}VV @VV{!}V \\ A @>>{e}> B \end{CD}$$ is a pushout diagram. Equivalently, the functor $\Quot_{\reg} : \C \to \Set^+$ is representable.
*Every morphism $\Psi \to 0$ is a split epimorphism anyway.' +description: |- + A category $\C$ has a regular quotient object classifier if its dual has a regular subobject classifier. This means that it has finite colimits and a regular epimorphism* $\top : \Psi \twoheadrightarrow 0$ such that for every regular epimorphism $e : A \twoheadrightarrow B$ there is a unique morphism $\psi_e : \Psi \to A$ such that $$\begin{CD} \Psi @>{\top}>> 0 \\ @V{\psi_e}VV @VV{!}V \\ A @>>{e}> B \end{CD}$$ is a pushout diagram. Equivalently, the functor $\Quot_{\reg} : \C \to \Set^+$ is representable. + *Every morphism $\Psi \to 0$ is a split epimorphism anyway. dual_property_id: regular subobject classifier invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/regular subobject classifier.yaml b/databases/catdat/data/category-properties/regular subobject classifier.yaml index 6770f255..83d58227 100644 --- a/databases/catdat/data/category-properties/regular subobject classifier.yaml +++ b/databases/catdat/data/category-properties/regular subobject classifier.yaml @@ -1,6 +1,8 @@ id: regular subobject classifier relation: has a -description: 'A category $\C$ has a regular subobject classifier if it has finite limits and a regular monomorphism* $\top : 1 \hookrightarrow \Omega$ such that for every regular monomorphism $m : A \hookrightarrow B$ there is a unique morphism $\chi_m : B \to \Omega$ such that $$\begin{CD} A @>{m}>> B \\ @V{!}VV @VV{\chi_m}V \\ 1 @>>{\top}> \Omega \end{CD}$$ is a pullback diagram. Equivalently, the functor $\Sub_{\reg} : \C^{\op} \to \Set^+$ is representable.
*Every morphism $1 \to \Omega$ is a split monomorphism and hence regular anyway.' +description: |- + A category $\C$ has a regular subobject classifier if it has finite limits and a regular monomorphism* $\top : 1 \hookrightarrow \Omega$ such that for every regular monomorphism $m : A \hookrightarrow B$ there is a unique morphism $\chi_m : B \to \Omega$ such that $$\begin{CD} A @>{m}>> B \\ @V{!}VV @VV{\chi_m}V \\ 1 @>>{\top}> \Omega \end{CD}$$ is a pullback diagram. Equivalently, the functor $\Sub_{\reg} : \C^{\op} \to \Set^+$ is representable. + *Every morphism $1 \to \Omega$ is a split monomorphism and hence regular anyway. nlab_link: https://ncatlab.org/nlab/show/subobject+classifier dual_property_id: regular quotient object classifier invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/subobject classifier.yaml b/databases/catdat/data/category-properties/subobject classifier.yaml index 623dcf91..5ce08bad 100644 --- a/databases/catdat/data/category-properties/subobject classifier.yaml +++ b/databases/catdat/data/category-properties/subobject classifier.yaml @@ -1,6 +1,8 @@ id: subobject classifier relation: has a -description: 'A category $\C$ has a subobject classifier if it has finite limits and a monomorphism* $\top : 1 \hookrightarrow \Omega$ such that for every monomorphism $m : A \hookrightarrow B$ there is a unique morphism $\chi_m : B \to \Omega$ such that $$\begin{CD} A @>{m}>> B \\ @V{!}VV @VV{\chi_m}V \\ 1 @>>{\top}> \Omega \end{CD}$$ is a pullback diagram. Equivalently, the functor $\Sub : \C^{\op} \to \Set^+$ is representable.
*Every morphism $1 \to \Omega$ is a split monomorphism anyway.' +description: |- + A category $\C$ has a subobject classifier if it has finite limits and a monomorphism* $\top : 1 \hookrightarrow \Omega$ such that for every monomorphism $m : A \hookrightarrow B$ there is a unique morphism $\chi_m : B \to \Omega$ such that $$\begin{CD} A @>{m}>> B \\ @V{!}VV @VV{\chi_m}V \\ 1 @>>{\top}> \Omega \end{CD}$$ is a pullback diagram. Equivalently, the functor $\Sub : \C^{\op} \to \Set^+$ is representable. + *Every morphism $1 \to \Omega$ is a split monomorphism anyway. nlab_link: https://ncatlab.org/nlab/show/subobject+classifier dual_property_id: quotient object classifier invariant_under_equivalences: true diff --git a/databases/catdat/data/functor-properties/epimorphism-preserving.yaml b/databases/catdat/data/functor-properties/epimorphism-preserving.yaml index 6f8a8840..ff3f7639 100644 --- a/databases/catdat/data/functor-properties/epimorphism-preserving.yaml +++ b/databases/catdat/data/functor-properties/epimorphism-preserving.yaml @@ -1,6 +1,6 @@ id: epimorphism-preserving relation: is -description: | +description: |- A functor $F : \C \to \D$ preserves epimorphisms if every epimorphism in $\C$ is mapped to an epimorphism in $\D$. This property is useful to rule out some adjunctions. nlab_link: https://ncatlab.org/nlab/show/epimorphism diff --git a/databases/catdat/data/functor-properties/monomorphism-preserving.yaml b/databases/catdat/data/functor-properties/monomorphism-preserving.yaml index 4c6f026a..f7ed1cd0 100644 --- a/databases/catdat/data/functor-properties/monomorphism-preserving.yaml +++ b/databases/catdat/data/functor-properties/monomorphism-preserving.yaml @@ -1,6 +1,6 @@ id: monomorphism-preserving relation: is -description: | +description: |- A functor $F : \C \to \D$ preserves monomorphisms if every monomorphism in $\C$ is mapped to a monomorphism in $\D$. This property is useful to rule out some adjunctions. nlab_link: https://ncatlab.org/nlab/show/monomorphism diff --git a/databases/catdat/data/lemmas/coslice-effective-congruences.yaml b/databases/catdat/data/lemmas/coslice-effective-congruences.yaml index 18da5d60..a4766f3c 100644 --- a/databases/catdat/data/lemmas/coslice-effective-congruences.yaml +++ b/databases/catdat/data/lemmas/coslice-effective-congruences.yaml @@ -4,4 +4,6 @@ title: Inheritance of effective congruences in coslice categories claim: 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$. -proof: '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 \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$.' +proof: |- + 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 \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/databases/catdat/data/lemmas/filtered-monos.yaml b/databases/catdat/data/lemmas/filtered-monos.yaml index 50c3d41b..83736b81 100644 --- a/databases/catdat/data/lemmas/filtered-monos.yaml +++ b/databases/catdat/data/lemmas/filtered-monos.yaml @@ -2,6 +2,9 @@ id: filtered-monos title: Detection of filtered-colimit-stable monomorphisms -claim: 'Let $\C$ be a category with filtered colimits. Assume that $U : \C \to \D$ is faithful functor which preserves monomorphisms and filtered colimits. If monomorphisms in $\D$ are stable under filtered colimits, then the same is true for $\C$.

For the record, here is the dual statement: Let $\C$ be a category with cofiltered limits. Assume that $U : \C \to \D$ is faithful functor which preserves epimorphisms and cofiltered limits. If epimorphisms in $\D$ are stable under cofiltered limits, then the same is true for $\C$.' +claim: |- + Let $\C$ be a category with filtered colimits. Assume that $U : \C \to \D$ is faithful functor which preserves monomorphisms and filtered colimits. If monomorphisms in $\D$ are stable under filtered colimits, then the same is true for $\C$. + + For the record, here is the dual statement: Let $\C$ be a category with cofiltered limits. Assume that $U : \C \to \D$ is faithful functor which preserves epimorphisms and cofiltered limits. If epimorphisms in $\D$ are stable under cofiltered limits, then the same is true for $\C$. proof: Since $U$ is faithful, it reflects monomorphisms. From here the proof is straight forward. diff --git a/databases/catdat/data/lemmas/limits_in_factor_categories.yaml b/databases/catdat/data/lemmas/limits_in_factor_categories.yaml index 207ce5a3..60e56e1a 100644 --- a/databases/catdat/data/lemmas/limits_in_factor_categories.yaml +++ b/databases/catdat/data/lemmas/limits_in_factor_categories.yaml @@ -4,4 +4,6 @@ title: Limits in factor categories claim: Let $\C,\D$ be two categories. Assume that $\D$ is inhabited. If $\C \times \D$ has limits of a given shape, then $\C$ also has limits of this shape. -proof: 'Let $U \in \D$ be a fixed object. Assume that $X : \J \to \C$ is a diagram. Assume that the diagram $(X,U) : \J \to \C \times \D$ (which is constant in the second variable) has a limit cone $((p_i, u_i) : (L,V) \to (X_i,U))$, thus consisting of morphisms $p_i : L \to X_i$ and $u_i : V \to U$. Clearly, $(p_i : L \to X_i)$ is a cone over $X$. We prove that it is universal:
Let $(f_i : T \to X_i)$ be a cone over $X$. Then $((f_i,\id_U) : (T,U) \to (X_i,U))$ is a cone over $(X,U)$. Hence, there is a unique morphism $(f,v) : (T,U) \to (L,V)$, consisting of $f : T \to L$ and $v : U \to V$, such that $(p_i,u_i) \circ (f,v) = (f_i,\id_U)$, i.e. $p_i \circ f = f_i$ and $u_i \circ v = \id_U$. If $g : T \to L$ is another morphism with $p_i \circ g = f_i$, then uniqueness applied to $(g,v)$ shows that $f = g$.' +proof: |- + Let $U \in \D$ be a fixed object. Assume that $X : \J \to \C$ is a diagram. Assume that the diagram $(X,U) : \J \to \C \times \D$ (which is constant in the second variable) has a limit cone $((p_i, u_i) : (L,V) \to (X_i,U))$, thus consisting of morphisms $p_i : L \to X_i$ and $u_i : V \to U$. Clearly, $(p_i : L \to X_i)$ is a cone over $X$. We prove that it is universal: + Let $(f_i : T \to X_i)$ be a cone over $X$. Then $((f_i,\id_U) : (T,U) \to (X_i,U))$ is a cone over $(X,U)$. Hence, there is a unique morphism $(f,v) : (T,U) \to (L,V)$, consisting of $f : T \to L$ and $v : U \to V$, such that $(p_i,u_i) \circ (f,v) = (f_i,\id_U)$, i.e. $p_i \circ f = f_i$ and $u_i \circ v = \id_U$. If $g : T \to L$ is another morphism with $p_i \circ g = f_i$, then uniqueness applied to $(g,v)$ shows that $f = g$. diff --git a/databases/catdat/data/lemmas/nno_distributive_criterion.yaml b/databases/catdat/data/lemmas/nno_distributive_criterion.yaml index 25579bda..cc24b3e2 100644 --- a/databases/catdat/data/lemmas/nno_distributive_criterion.yaml +++ b/databases/catdat/data/lemmas/nno_distributive_criterion.yaml @@ -4,4 +4,7 @@ title: Natural number objects indicate distributivity claim: 'Let $\C$ be a category with finite products, arbitrary copowers (denoted $\otimes$), and a natural numbers object $1 \xrightarrow{z} N \xrightarrow{s} N$. Then there is an isomorphism $N \cong \IN \otimes 1$, and for every object $A$ the natural morphism $$\alpha : \IN \otimes A \to A \times (\IN \otimes 1)$$ is a split monomorphism.' -proof: 'We will use generalized elements extensively. In particular, for every element $a \in A$ and $n \in \IN$ there is an element $n \otimes a \in \IN \otimes A$, formally defined by the $n$th coproduct inclusion. The morphism $\alpha$ is defined by $$\alpha(n \otimes a) = (a , n \otimes 1).$$ In any category with finite products and arbitrary copowers, we can construct the non-parameterized NNO $\IN \otimes 1$ with the element $0 \otimes 1 \in \IN \otimes 1$ and the map $$s : \IN \otimes 1 \to \IN \otimes 1, \quad s(n \otimes 1) := (n+1) \otimes 1.$$ Its universal property states that it is initial in the category of pairs $1 \xrightarrow{x_0} X \xrightarrow{r} X$. Hence, it is unique up to isomorphism. Since by assumption $1 \xrightarrow{z} N \xrightarrow{s} N$ is a full, parameterized NNO, it is also a non-parameterized NNO and therefore isomorphic to the one described. We will assume w.l.o.g. that it is equal to it and continue to work with $N = \IN \otimes 1$.

Next, we apply the (parameterized) universal property of the NNO to the diagram $$A \xrightarrow{f} \IN \otimes A \xrightarrow{g} \IN \otimes A$$ defined by $f(a) := 0 \otimes a$ and $g(n \otimes a) := (n+1) \otimes a$. It tells us that there is a map $$\Phi : A \times N \to \IN \otimes A$$ with $$\Phi(a,0 \otimes 1) = 0 \otimes a, \quad \Phi(a, s(m)) = g(\Phi(a,m)).$$ For $m := n \otimes 1 \in N$ (where $n \in \IN$) the second equation reads $$\Phi(a, (n+1) \otimes 1) = g(\Phi(a, n \otimes 1)).$$ By classical induction on $n \in \IN$ it follows that $$\Phi(a, n \otimes 1) = n \otimes a,$$ which exactly means $\Phi \circ \alpha = \id_{\IN \otimes A}$.' +proof: |- + We will use generalized elements extensively. In particular, for every element $a \in A$ and $n \in \IN$ there is an element $n \otimes a \in \IN \otimes A$, formally defined by the $n$th coproduct inclusion. The morphism $\alpha$ is defined by $$\alpha(n \otimes a) = (a , n \otimes 1).$$ In any category with finite products and arbitrary copowers, we can construct the non-parameterized NNO $\IN \otimes 1$ with the element $0 \otimes 1 \in \IN \otimes 1$ and the map $$s : \IN \otimes 1 \to \IN \otimes 1, \quad s(n \otimes 1) := (n+1) \otimes 1.$$ Its universal property states that it is initial in the category of pairs $1 \xrightarrow{x_0} X \xrightarrow{r} X$. Hence, it is unique up to isomorphism. Since by assumption $1 \xrightarrow{z} N \xrightarrow{s} N$ is a full, parameterized NNO, it is also a non-parameterized NNO and therefore isomorphic to the one described. We will assume w.l.o.g. that it is equal to it and continue to work with $N = \IN \otimes 1$. + + Next, we apply the (parameterized) universal property of the NNO to the diagram $$A \xrightarrow{f} \IN \otimes A \xrightarrow{g} \IN \otimes A$$ defined by $f(a) := 0 \otimes a$ and $g(n \otimes a) := (n+1) \otimes a$. It tells us that there is a map $$\Phi : A \times N \to \IN \otimes A$$ with $$\Phi(a,0 \otimes 1) = 0 \otimes a, \quad \Phi(a, s(m)) = g(\Phi(a,m)).$$ For $m := n \otimes 1 \in N$ (where $n \in \IN$) the second equation reads $$\Phi(a, (n+1) \otimes 1) = g(\Phi(a, n \otimes 1)).$$ By classical induction on $n \in \IN$ it follows that $$\Phi(a, n \otimes 1) = n \otimes a,$$ which exactly means $\Phi \circ \alpha = \id_{\IN \otimes A}$. diff --git a/databases/catdat/data/lemmas/special_sequential_colimits.yaml b/databases/catdat/data/lemmas/special_sequential_colimits.yaml index 724049c5..24432a60 100644 --- a/databases/catdat/data/lemmas/special_sequential_colimits.yaml +++ b/databases/catdat/data/lemmas/special_sequential_colimits.yaml @@ -4,5 +4,7 @@ title: Finite structures usually have no sequential colimits claim: 'Let $\C$ be a category with finite powers, including a terminal object $1$. Let $a : 1 \to X$ be a morphism. Assume that the sequence of morphisms $(X^n,a) : X^n \to X^{n+1}$ for $n \geq 0$ admits a colimit $(i_n : X^n \to C)$. Then for every $m \geq 0$ there is a split epimorphism $C \to X^m$. In particular, if $U : \C \to \Set$ is a functor preserving finite powers and $\card(U(X)) \geq 2$, then $U(C)$ is infinite.' -proof: 'Let $m \geq 0$ be fixed. For $n \geq 0$ we define a morphism $u_n : X^n \to X^m$ as follows: It is the projection on the first $m$ factors for $m \leq n$, and $(X^n,a^{m-n})$ for $m \geq n$ (for $m=n$ these agree). With generalized elements this says: $$u_n(x_1,\dotsc,x_n) = \begin{cases} (x_1,\dotsc,x_m) & m \leq n \\ (x_1,\dotsc,x_n,a,\dotsc,a) & m \geq n \end{cases}$$ We claim that $u_n = u_{n+1} \circ (X^n,a)$, i.e. $$u_n(x_1,\dotsc,x_n) = u_{n+1}(x_1,\dotsc,x_n,a).$$ If $m \leq n$ (hence, $m \leq n+1$), both sides are equal to $(x_1,\dotsc,x_m)$. If $m > n$, i.e. $m \geq n+1$, both sides are equal to $(x_1,\dotsc,x_n,a,\dotsc,a)$. This proves the claim.
Hence, there is a unique morphism $\varphi : C \to X^m$ such that $\varphi \circ i_n = u_n$ for all $n \geq 0$. Since $u_m$ is the identity, $\varphi$ is a split epimorphism.
If $U$ is a functor with the mentioned properties, $U(\varphi)$ is also a split epimorphism from $U(C)$ to $U(X^m) \cong U(X)^m$, and $U(X)^m$ has $\geq 2^m$ elements. This holds for all $m$, so that $U(C)$ is infinite.' - +proof: |- + Let $m \geq 0$ be fixed. For $n \geq 0$ we define a morphism $u_n : X^n \to X^m$ as follows: It is the projection on the first $m$ factors for $m \leq n$, and $(X^n,a^{m-n})$ for $m \geq n$ (for $m=n$ these agree). With generalized elements this says: $$u_n(x_1,\dotsc,x_n) = \begin{cases} (x_1,\dotsc,x_m) & m \leq n \\ (x_1,\dotsc,x_n,a,\dotsc,a) & m \geq n \end{cases}$$ We claim that $u_n = u_{n+1} \circ (X^n,a)$, i.e. $$u_n(x_1,\dotsc,x_n) = u_{n+1}(x_1,\dotsc,x_n,a).$$ If $m \leq n$ (hence, $m \leq n+1$), both sides are equal to $(x_1,\dotsc,x_m)$. If $m > n$, i.e. $m \geq n+1$, both sides are equal to $(x_1,\dotsc,x_n,a,\dotsc,a)$. This proves the claim. + Hence, there is a unique morphism $\varphi : C \to X^m$ such that $\varphi \circ i_n = u_n$ for all $n \geq 0$. Since $u_m$ is the identity, $\varphi$ is a split epimorphism. + If $U$ is a functor with the mentioned properties, $U(\varphi)$ is also a split epimorphism from $U(C)$ to $U(X^m) \cong U(X)^m$, and $U(X)^m$ has $\geq 2^m$ elements. This holds for all $m$, so that $U(C)$ is infinite. diff --git a/src/lib/server/rendering.ts b/src/lib/server/rendering.ts index 273961c0..f35ddd13 100644 --- a/src/lib/server/rendering.ts +++ b/src/lib/server/rendering.ts @@ -22,7 +22,7 @@ function render_formula( const math_regex = /\$\$(.*?)\$\$|\$(.*?)\$/gs -export function render_formulas(txt: string): string { +function render_formulas(txt: string): string { return txt.replace(math_regex, (_, display_formula, inline_formula) => { if (display_formula !== undefined) { return render_formula(display_formula, { displayMode: true }) @@ -36,7 +36,8 @@ export function render_nested_formulas(obj: T): T { if (!obj) return obj if (typeof obj === 'string') { - return render_formulas(obj) as T + const with_line_breaks = obj.replaceAll('\n', '
') + return render_formulas(with_line_breaks) as T } if (Array.isArray(obj)) { From 952bfd1b5155d522ed7160ebea8a80519e86ad34 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Sun, 10 May 2026 13:31:51 +0200 Subject: [PATCH 15/22] improve list formatting in yaml files --- .../catdat/data/category-properties/core-thin.yaml | 8 +++++++- .../category-properties/exact cofiltered limits.yaml | 8 +++++++- .../category-properties/exact filtered colimits.yaml | 8 +++++++- .../locally finitely multi-presentable.yaml | 10 +++++++++- .../locally finitely presentable.yaml | 11 ++++++++++- .../locally multi-presentable.yaml | 10 +++++++++- .../data/category-properties/locally presentable.yaml | 11 ++++++++++- .../locally strongly finitely presentable.yaml | 11 ++++++++++- .../data/category-properties/multi-algebraic.yaml | 11 ++++++++++- .../catdat/data/lemmas/missing_cogenerating_sets.yaml | 7 ++++++- databases/catdat/data/lemmas/missing_cogenerator.yaml | 8 +++++++- 11 files changed, 92 insertions(+), 11 deletions(-) diff --git a/databases/catdat/data/category-properties/core-thin.yaml b/databases/catdat/data/category-properties/core-thin.yaml index 853dbe5f..9efda471 100644 --- a/databases/catdat/data/category-properties/core-thin.yaml +++ b/databases/catdat/data/category-properties/core-thin.yaml @@ -1,6 +1,12 @@ id: core-thin relation: is -description: 'A category is core-thin if it satisfies the following equivalent conditions:
  1. Its core is thin.
  2. Parallel isomorphisms are equal.
  3. Every automorphism is the identity.
' +description: >- + A category is core-thin if it satisfies the following equivalent conditions: +
    +
  1. Its core is thin.
  2. +
  3. Parallel isomorphisms are equal.
  4. +
  5. Every automorphism is the identity.
  6. +
nlab_link: https://ncatlab.org/nlab/show/gaunt+category dual_property_id: core-thin invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/exact cofiltered limits.yaml b/databases/catdat/data/category-properties/exact cofiltered limits.yaml index 70fc35b6..fcfdefd4 100644 --- a/databases/catdat/data/category-properties/exact cofiltered limits.yaml +++ b/databases/catdat/data/category-properties/exact cofiltered limits.yaml @@ -1,6 +1,12 @@ id: exact cofiltered limits relation: has -description: 'In a category $\C$, which we assume to have cofiltered limits and finite colimits, we say that cofiltered limits are exact if the following equivalent conditions are satisfied:
  1. For every finite category $\I$ the functor $\colim : [\I, \C] \to \C$ preserves cofiltered limits.
  2. For every small cofiltered category $\J$ the functor $\lim : [\J,\C] \to \C$ preserves finite colimits.
  3. For every diagram $X : \I \times \J \to \C$, where $\I$ is finite and $\J$ is small cofiltered, the canonical morphism $\colim_i \lim_j X(i,j) \to \lim_j \colim_i X(i,j)$ is an isomorphism.
' +description: >- + In a category $\C$, which we assume to have cofiltered limits and finite colimits, we say that cofiltered limits are exact if the following equivalent conditions are satisfied: +
    +
  1. For every finite category $\I$ the functor $\colim : [\I, \C] \to \C$ preserves cofiltered limits.
  2. +
  3. For every small cofiltered category $\J$ the functor $\lim : [\J,\C] \to \C$ preserves finite colimits.
  4. +
  5. For every diagram $X : \I \times \J \to \C$, where $\I$ is finite and $\J$ is small cofiltered, the canonical morphism $\colim_i \lim_j X(i,j) \to \lim_j \colim_i X(i,j)$ is an isomorphism.
  6. +
nlab_link: https://ncatlab.org/nlab/show/commutativity+of+limits+and+colimits dual_property_id: exact filtered colimits invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/exact filtered colimits.yaml b/databases/catdat/data/category-properties/exact filtered colimits.yaml index d07b1fab..e442faa5 100644 --- a/databases/catdat/data/category-properties/exact filtered colimits.yaml +++ b/databases/catdat/data/category-properties/exact filtered colimits.yaml @@ -1,6 +1,12 @@ id: exact filtered colimits relation: has -description: 'In a category $\C$, which we assume to have filtered colimits and finite limits, we say that filtered colimits are exact if the following equivalent conditions are satisfied:
  1. For every finite category $\I$ the functor $\lim : [\I, \C] \to \C$ preserves filtered colimits.
  2. For every small filtered category $\J$ the functor $\colim : [\J,\C] \to \C$ preserves finite limits.
  3. For every diagram $X : \I \times \J \to \C$, where $\I$ is finite and $\J$ is small filtered, the canonical morphism $\colim_j \lim_i X(i,j) \to \lim_i \colim_j X(i,j)$ is an isomorphism.
' +description: >- + In a category $\C$, which we assume to have filtered colimits and finite limits, we say that filtered colimits are exact if the following equivalent conditions are satisfied: +
    +
  1. For every finite category $\I$ the functor $\lim : [\I, \C] \to \C$ preserves filtered colimits.
  2. +
  3. For every small filtered category $\J$ the functor $\colim : [\J,\C] \to \C$ preserves finite limits.
  4. +
  5. For every diagram $X : \I \times \J \to \C$, where $\I$ is finite and $\J$ is small filtered, the canonical morphism $\colim_j \lim_i X(i,j) \to \lim_i \colim_j X(i,j)$ is an isomorphism.
  6. +
nlab_link: https://ncatlab.org/nlab/show/commutativity+of+limits+and+colimits dual_property_id: exact cofiltered limits invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/locally finitely multi-presentable.yaml b/databases/catdat/data/category-properties/locally finitely multi-presentable.yaml index da01168a..6da339bd 100644 --- a/databases/catdat/data/category-properties/locally finitely multi-presentable.yaml +++ b/databases/catdat/data/category-properties/locally finitely multi-presentable.yaml @@ -1,6 +1,14 @@ id: locally finitely multi-presentable relation: is -description: 'A category is locally finitely multi-presentable if it satisfies one of the following equivalent conditions:
  1. It is finitely accessible and multi-cocomplete.
  2. It is finitely accessible and has connected limits.
  3. It is equivalent to the category of models of a small (finite limit, coproduct)-sketch.
For equivalence of conditions above, see Thm. 4.30, Thm. 4.32, and the remark below in Adamek-Rosicky.' +description: >- + A category is locally finitely multi-presentable if it satisfies one of the following equivalent conditions: +
    +
  1. It is finitely accessible and multi-cocomplete.
  2. +
  3. It is finitely accessible and has connected limits.
  4. +
  5. It is equivalent to the category of models of a small (finite limit, coproduct)-sketch.
  6. +
+ For equivalence of conditions above, see Thm. 4.30, Thm. 4.32, and the remark below in Adamek-Rosicky. + nlab_link: https://ncatlab.org/nlab/show/locally+multipresentable+category invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/locally finitely presentable.yaml b/databases/catdat/data/category-properties/locally finitely presentable.yaml index ab106ea2..d1926dd3 100644 --- a/databases/catdat/data/category-properties/locally finitely presentable.yaml +++ b/databases/catdat/data/category-properties/locally finitely presentable.yaml @@ -1,6 +1,15 @@ id: locally finitely presentable relation: is -description: 'A category is locally finitely presentable if it satisfies one of the following equivalent conditions:
  1. It is finitely accessible and cocomplete.
  2. It is finitely accessible and complete.
  3. It is equivalent to the category of finite-limit-preserving functors to $\Set$ from a small category with finite limits.
  4. It is equivalent to the category of models of a small finite-limit sketch.
For equivalence of conditions above, see Cor. 2.47, Thm. 1.46, and Cor. 1.52 in Adamek-Rosicky. This is the same as being locally $\aleph_0$-presentable.' +description: >- + A category is locally finitely presentable if it satisfies one of the following equivalent conditions: +
    +
  1. It is finitely accessible and cocomplete.
  2. +
  3. It is finitely accessible and complete.
  4. +
  5. It is equivalent to the category of finite-limit-preserving functors to $\Set$ from a small category with finite limits.
  6. +
  7. It is equivalent to the category of models of a small finite-limit sketch.
  8. +
+ For equivalence of conditions above, see Cor. 2.47, Thm. 1.46, and Cor. 1.52 in Adamek-Rosicky. This is the same as being locally $\aleph_0$-presentable. + nlab_link: https://ncatlab.org/nlab/show/locally+finitely+presentable+category invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/locally multi-presentable.yaml b/databases/catdat/data/category-properties/locally multi-presentable.yaml index a37cc80e..bb77c2ab 100644 --- a/databases/catdat/data/category-properties/locally multi-presentable.yaml +++ b/databases/catdat/data/category-properties/locally multi-presentable.yaml @@ -1,6 +1,14 @@ id: locally multi-presentable relation: is -description: 'Let $\kappa$ be a regular cardinal. A category is locally $\kappa$-multi-presentable if it satisfies one of the following equivalent conditions:
  1. It is $\kappa$-accessible and multi-cocomplete.
  2. It is $\kappa$-accessible and has connected limits.
  3. It is equivalent to the category of models of a small ($\kappa$-limit, coproduct)-sketch.
For equivalence of conditions above, see Thm. 4.30, Thm. 4.32, and the remark below in Adamek-Rosicky. A category is locally multi-presentable if it is locally $\kappa$-multi-presentable for some $\kappa$.' +description: >- + Let $\kappa$ be a regular cardinal. A category is locally $\kappa$-multi-presentable if it satisfies one of the following equivalent conditions: +
    +
  1. It is $\kappa$-accessible and multi-cocomplete.
  2. +
  3. It is $\kappa$-accessible and has connected limits.
  4. +
  5. It is equivalent to the category of models of a small ($\kappa$-limit, coproduct)-sketch.
  6. +
+ For equivalence of conditions above, see Thm. 4.30, Thm. 4.32, and the remark below in Adamek-Rosicky. A category is locally multi-presentable if it is locally $\kappa$-multi-presentable for some $\kappa$. + nlab_link: https://ncatlab.org/nlab/show/locally+multipresentable+category invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/locally presentable.yaml b/databases/catdat/data/category-properties/locally presentable.yaml index 1e004c85..0523abd6 100644 --- a/databases/catdat/data/category-properties/locally presentable.yaml +++ b/databases/catdat/data/category-properties/locally presentable.yaml @@ -1,6 +1,15 @@ id: locally presentable relation: is -description: 'Let $\kappa$ be a regular cardinal. A category is locally $\kappa$-presentable if it satisfies one of the following equivalent conditions:
  1. It is $\kappa$-accessible and cocomplete.
  2. It is $\kappa$-accessible and complete.
  3. It is equivalent to the category of $\kappa$-limit-preserving functors to $\Set$ from a small category with $\kappa$-limits.
  4. It is equivalent to the category of models of a small $\kappa$-limit sketch.
For equivalence of conditions above, see Cor. 2.47, Thm. 1.46, and Cor. 1.52 in Adamek-Rosicky. A category is locally presentable if it is locally $\kappa$-presentable for some regular cardinal $\kappa$.' +description: >- + Let $\kappa$ be a regular cardinal. A category is locally $\kappa$-presentable if it satisfies one of the following equivalent conditions: +
    +
  1. It is $\kappa$-accessible and cocomplete.
  2. +
  3. It is $\kappa$-accessible and complete.
  4. +
  5. It is equivalent to the category of $\kappa$-limit-preserving functors to $\Set$ from a small category with $\kappa$-limits.
  6. +
  7. It is equivalent to the category of models of a small $\kappa$-limit sketch.
  8. +
+ For equivalence of conditions above, see Cor. 2.47, Thm. 1.46, and Cor. 1.52 in Adamek-Rosicky. A category is locally presentable if it is locally $\kappa$-presentable for some regular cardinal $\kappa$. + nlab_link: https://ncatlab.org/nlab/show/locally+presentable+category dual_property_id: locally copresentable invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/locally strongly finitely presentable.yaml b/databases/catdat/data/category-properties/locally strongly finitely presentable.yaml index 267233b5..e5afddbe 100644 --- a/databases/catdat/data/category-properties/locally strongly finitely presentable.yaml +++ b/databases/catdat/data/category-properties/locally strongly finitely presentable.yaml @@ -1,6 +1,15 @@ id: locally strongly finitely presentable relation: is -description: 'A category is locally strongly finitely presentable if it is cocomplete and there is a set $G$ of strongly finitely presentable objects such that every object is a sifted colimit of objects from $G$. There are several equivalent conditions:
  1. It is equivalent to the category of models of a many-sorted finitary algebraic theory.
  2. It is equivalent to the category of finite-product-preserving functors to $\Set$ from a small category with finite products (=Lawvere theory).
  3. It is equivalent to the category of models of a small finite-product sketch.
  4. It is equivalent to the Eilenberg–Moore category of a finitary (=filtered-colimit-preserving) monad on $\Set^S$ for some set $S$.
  5. It is equivalent to the Eilenberg–Moore category of a sifted-colimit-preserving monad on $\Set^S$ for some set $S$. (cf. [KR12, Proposition 3.3])
A category satisfying this property is simply called a variety (of algebras) by some authors, although one should be aware that this term is sometimes used only for the one-sorted case.' +description: >- + A category is locally strongly finitely presentable if it is cocomplete and there is a set $G$ of strongly finitely presentable objects such that every object is a sifted colimit of objects from $G$. There are several equivalent conditions: +
    +
  1. It is equivalent to the category of models of a many-sorted finitary algebraic theory.
  2. It is equivalent to the category of finite-product-preserving functors to $\Set$ from a small category with finite products (=Lawvere theory).
  3. +
  4. It is equivalent to the category of models of a small finite-product sketch.
  5. +
  6. It is equivalent to the Eilenberg–Moore category of a finitary (=filtered-colimit-preserving) monad on $\Set^S$ for some set $S$.
  7. +
  8. It is equivalent to the Eilenberg–Moore category of a sifted-colimit-preserving monad on $\Set^S$ for some set $S$. (cf. [KR12, Proposition 3.3])
  9. +
+ A category satisfying this property is simply called a variety (of algebras) by some authors, although one should be aware that this term is sometimes used only for the one-sorted case. + nlab_link: https://ncatlab.org/nlab/show/locally+strongly+finitely+presentable+category invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/multi-algebraic.yaml b/databases/catdat/data/category-properties/multi-algebraic.yaml index baa76b5e..c6564aed 100644 --- a/databases/catdat/data/category-properties/multi-algebraic.yaml +++ b/databases/catdat/data/category-properties/multi-algebraic.yaml @@ -1,6 +1,15 @@ id: multi-algebraic relation: is -description: 'A category is multi-algebraic if it satisfies one of the following equivalent conditions:
  1. It is a multi-cocomplete generalized variety, that is, it has multi-colimits and sifted colimits of all small diagrams, and there is a (small) set $G$ of strongly finitely presentable objects such that every object is a sifted colimit of objects from $G$.
  2. It is equivalent to the category of models of a small (finite product, coproduct)-sketch, shortly small FPC-sketch.
  3. It is equivalent to the category of multi-finite-product-preserving functors to $\Set$ from a small category with multi-finite-products (multi-algebraic theory). Here, multi-finite-products means multi-limits of finite discrete diagrams.
  4. It is equivalent to the category of models of a small multi-finite-product sketch.
Multi-algebraic categories are like locally strongly finitely presentable categories but only with multi-colimits. The relation is similar as between locally finitely multi-presentable and locally finitely presentable categories. For equivalence of conditions above, see [AR01a, Lem. 1] and [AR01b, Thm. 4.4]. This notion was originally introduced by Diers.' +description: >- + A category is multi-algebraic if it satisfies one of the following equivalent conditions: +
    +
  1. It is a multi-cocomplete generalized variety, that is, it has multi-colimits and sifted colimits of all small diagrams, and there is a (small) set $G$ of strongly finitely presentable objects such that every object is a sifted colimit of objects from $G$.
  2. +
  3. It is equivalent to the category of models of a small (finite product, coproduct)-sketch, shortly small FPC-sketch.
  4. +
  5. It is equivalent to the category of multi-finite-product-preserving functors to $\Set$ from a small category with multi-finite-products (multi-algebraic theory). Here, multi-finite-products means multi-limits of finite discrete diagrams.
  6. +
  7. It is equivalent to the category of models of a small multi-finite-product sketch.
  8. +
+ Multi-algebraic categories are like locally strongly finitely presentable categories but only with multi-colimits. The relation is similar as between locally finitely multi-presentable and locally finitely presentable categories. For equivalence of conditions above, see [AR01a, Lem. 1] and [AR01b, Thm. 4.4]. This notion was originally introduced by Diers. + invariant_under_equivalences: true related_properties: diff --git a/databases/catdat/data/lemmas/missing_cogenerating_sets.yaml b/databases/catdat/data/lemmas/missing_cogenerating_sets.yaml index bcd7f91b..f12955d8 100644 --- a/databases/catdat/data/lemmas/missing_cogenerating_sets.yaml +++ b/databases/catdat/data/lemmas/missing_cogenerating_sets.yaml @@ -2,6 +2,11 @@ id: missing_cogenerating_sets title: Missing cogenerating sets -claim: 'Let $\C$ be a category with a faithful functor $U: \C \to \Set$. Assume there exists a collection of objects $\F \subseteq \Ob(\C)$ satisfying the following conditions:
  1. For any $X \in \F$ and any non-terminal $Y \in \C$, for every morphism $f: X \to Y$ its underlying map $U(f) : U(X) \to U(Y)$ is injective.
  2. For every infinite cardinal number $\kappa$, there exists an object $X \in \F$ such that $\card(U(X)) \geq \kappa$ and such that $X$ has a non-identity endomorphism.
Then $\C$ does not have a cogenerating set.' +claim: >- + Let $\C$ be a category with a faithful functor $U: \C \to \Set$. Assume there exists a collection of objects $\F \subseteq \Ob(\C)$ satisfying the following conditions:
    +
  1. For any $X \in \F$ and any non-terminal $Y \in \C$, for every morphism $f: X \to Y$ its underlying map $U(f) : U(X) \to U(Y)$ is injective.
  2. +
  3. For every infinite cardinal number $\kappa$, there exists an object $X \in \F$ such that $\card(U(X)) \geq \kappa$ and such that $X$ has a non-identity endomorphism.
  4. +
+ Then $\C$ does not have a cogenerating set. proof: 'Assume that there is a cogenerating set $S$. By assumption (2) there is an object $X \in \F$ such that $U(X)$ is larger than all the $U(Y)$ with $Y \in S$ (w.r.t. cardinalities) and which has a non-identity endomorphism $\sigma : X \to X$. Since $S$ cogenerates, there is a morphism $f : X \to Y$ with $Y \in S$ and $f \sigma \neq f$. For this, $Y$ must be non-terminal. By (1) the map $U(f) : U(X) \to U(Y)$ is injective. This is a contradiction.' diff --git a/databases/catdat/data/lemmas/missing_cogenerator.yaml b/databases/catdat/data/lemmas/missing_cogenerator.yaml index 6828273c..cf18830c 100644 --- a/databases/catdat/data/lemmas/missing_cogenerator.yaml +++ b/databases/catdat/data/lemmas/missing_cogenerator.yaml @@ -2,6 +2,12 @@ id: missing_cogenerator title: Missing cogenerator -claim: 'Let $\C$ be a pointed category with a faithful functor $U: \C \to \Set$. Assume there exists a collection of non-zero objects $\F \subseteq \Ob(\C)$ satisfying the following conditions:
  1. For any $X \in \F$ and any $Y \in \C$, every non-zero morphism $f: X \to Y$ is injective on underlying sets.
  2. For every $Y \in \C$ there is some object $X \in \F$ such that $\card(U(X)) > \card(U(Y))$.
Then $\C$ does not have a cogenerator.' +claim: >- + Let $\C$ be a pointed category with a faithful functor $U: \C \to \Set$. Assume there exists a collection of non-zero objects $\F \subseteq \Ob(\C)$ satisfying the following conditions: +
    +
  1. For any $X \in \F$ and any $Y \in \C$, every non-zero morphism $f: X \to Y$ is injective on underlying sets.
  2. +
  3. For every $Y \in \C$ there is some object $X \in \F$ such that $\card(U(X)) > \card(U(Y))$.
  4. +
+ Then $\C$ does not have a cogenerator. proof: 'Assume that there is a cogenerator $Y$. By assumption (2) there is an object $X \in \F$ such that $U(X)$ is larger than $U(Y)$ (w.r.t. cardinalities). Since $0,\id_X : X \rightrightarrows X$ are distinct, there is a morphism $f : X \to Y$ with $f \neq 0$. But then $U(f) : U(X) \to U(Y)$ is injective by assumption (1), which contradicts our choice of $X$.' From 3c5d816213a302129181eb11166b56eb3c872a56 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Sun, 10 May 2026 13:40:00 +0200 Subject: [PATCH 16/22] Ab_fg is related to Ab --- databases/catdat/data/categories/Ab.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/databases/catdat/data/categories/Ab.yaml b/databases/catdat/data/categories/Ab.yaml index 8fb17c3a..c4aa7977 100644 --- a/databases/catdat/data/categories/Ab.yaml +++ b/databases/catdat/data/categories/Ab.yaml @@ -10,6 +10,7 @@ tags: - algebra related_categories: + - Ab_fg - CMon - FinAb - FreeAb @@ -30,7 +31,7 @@ satisfied_properties: unsatisfied_properties: - property_id: split abelian - reason: 'The short exact sequence $0 \xrightarrow{} \IZ \xrightarrow{p} \IZ \xrightarrow{} \IZ/p \xrightarrow{} 0$ does not split. ' + reason: The short exact sequence $0 \xrightarrow{} \IZ \xrightarrow{p} \IZ \xrightarrow{} \IZ/p \xrightarrow{} 0$ does not split. - property_id: skeletal reason: This is trivial. From 27bc03966889f95c1552da2995238648012c82f5 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Fri, 8 May 2026 20:24:44 +0200 Subject: [PATCH 17/22] mention YAML files in documentation --- CONTRIBUTING.md | 22 ++++++++++++++++++---- DATABASE.md | 4 ++-- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8a6ac8a1..c5e09ce8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -56,7 +56,7 @@ You need to have [Git](https://git-scm.com/), [NodeJS](https://nodejs.org/) and ### Updating the Database -All updates to the database are made by modifying the SQL files in the folder [/databases/catdat](databases/catdat), primarily those in the subfolder [/databases/catdat/data](databases/catdat/data). See [DATABASE.md](/DATABASE.md) for an overview of the database structure. +All updates to the database are made by modifying the YAML files in the folder [/databases/catdat/data](databases/catdat/data). See [DATABASE.md](/DATABASE.md) for an overview of the database structure. Apply the updates using: @@ -75,7 +75,7 @@ to continuously run this update when a file in the subfolder [/databases/catdat/ ### Troubleshooting - If the local database is corrupted, or its schema has changed, recreate it using `pnpm db:setup`. -- If the `pnpm db:update` command fails, examine the error message to determine the cause. It could be due to malformed SQL, a contradictory property, or a failing test in the `pnpm db:test` script (which also runs as part of the update command), as explained below. +- If the `pnpm db:update` command fails, examine the error message to determine the cause. It could be due to malformed YAML, a contradictory property, or a failing test in the `pnpm db:test` script (which also runs as part of the update command), as explained below. ### Tests for Data Quality @@ -90,12 +90,16 @@ If any of these tests fail, adjust the data accordingly. ### Example Commits +_These commits refer to an old version of CatDat and will be replaced by more current ones._ + - [Add category of Hausdorff spaces](https://github.com/ScriptRaccoon/CatDat/commit/390ed9c7996334138f8bc61c0b3f8e822003248a) - [Add two tiny categories](https://github.com/ScriptRaccoon/CatDat/commit/e5781d87bdc084a65cf0ec67c7efc5b3e29c4303) - [Add regular and coregular categories](https://github.com/ScriptRaccoon/CatDat/commit/e06f85fa13e5f8eeb42049880b5662be7fc36a50) ### Example Pull Requests +_These pull requests refer to an old version of CatDat and will be replaced by more current ones._ + - [CMon is not coregular](https://github.com/ScriptRaccoon/CatDat/pull/27/changes) - [Add "locally cartesian closed" property](https://github.com/ScriptRaccoon/CatDat/pull/3/changes) - [Add "locally strongly finitely presentable" as a property](https://github.com/ScriptRaccoon/CatDat/pull/21/changes) @@ -156,7 +160,7 @@ In particular, it often makes sense to **keep** a redundant assignment of a sati For example, you may first prove that a category has zero morphisms, and then prove that it is normal. Although the database contains the implication "normal => zero morphisms", in practice the latter is used as a prerequisite. Similarly, when proving that a category is extensive, it is often clearer to first show that finite coproducts exist, rather than relying on the implication "extensive => finite coproducts". Also, an explicit description of finite coproducts is useful for deciding other properties involving coproducts. -Every redundant assignment of a satisfied property that is intentionally kept must be explicitly marked to skip the redundancy check. See `N.sql` for an example. +Every redundant assignment of a satisfied property that is intentionally kept must be explicitly marked to skip the redundancy check. See `N.yaml` for an example. ### Keep Pull Requests Focused @@ -168,7 +172,7 @@ Examples of appropriate pull requests include: - adding a single category property and determining it for several categories in the database, - adding a single category together with its properties, -- adding a single missing proof ([Example](https://github.com/ScriptRaccoon/CatDat/pull/27)) +- adding a single missing proof - clarifying definitions, explanations, or documentation. As a practical guideline, avoid introducing more than four properties (or four categories) in a single pull request. @@ -191,3 +195,13 @@ AI tools may be used to assist with development in this repository, but not to r - Pull request descriptions and commit messages must be written manually. AI-generated summaries are often superficial, meaningless, and do not tell the whole story. In summary, treat AI as a productivity tool, not as a substitute for understanding or authorship. + +### Authoring of YAML files + +If you are not familiar with YAML, a short beginner-friendly introduction can be found at https://www.youtube.com/watch?v=1uFVr15xDGg. You can also look at the existing files in the data folder to get a feel for how the data is structured. + +1. It is recommended to enable word wrap in your editor when working with YAML files. +2. HTML may be used inside string values, for example for links (``), italic text (``), and ordered lists (`
    `). +3. Use single-quoted strings (`'...'`) for values containing `:`. See `Cat.yaml` for an example. Inside single-quoted strings, a literal single quote must be escaped as `''`. See `Man.yaml` for an example. +4. Use `>-` for multiline text that should be rendered as a single paragraph without line breaks. This is particularly useful for improving readability of longer texts or HTML lists in the YAML file itself. See `core-thin.yaml` for an example. +5. Use `|-` for multiline text where line breaks should be preserved. These line breaks are automatically converted to `
    ` when rendered. See `FreeAb.yaml` for an example. diff --git a/DATABASE.md b/DATABASE.md index 806ef20a..525cdb51 100644 --- a/DATABASE.md +++ b/DATABASE.md @@ -47,11 +47,11 @@ For functors there are similar tables, such as: The schema defines the structure of the database: tables, views, indexes, and triggers. It is specified in several SQL files located in the subfolder [/databases/catdat/schema](/databases/catdat/schema/). The command `pnpm db:setup` deletes the old database file (if it exists) and creates a new one using this schema. This is required when the schema changes, so it is recommended to run it periodically. -Database entries (categories, properties, implications, etc.) are defined in SQL files located in the subfolder [/databases/catdat/data](/databases/catdat/data/). The command `pnpm db:seed` replaces the current contents of the database by clearing all existing data and inserting the entries defined in these SQL files. +Database entries (categories, properties, implications, etc.) are defined in YAML files located in the subfolder [/databases/catdat/data](/databases/catdat/data/). The command `pnpm db:seed` rebuilds the database by clearing all existing data and then parsing and inserting the entries defined in these YAML files. ## Derived Data -From the defined satisfied properties of a given category, new properties can be automatically deduced using the implications. (For example, when a category has equalizers and products, we can infer that it is complete.) The same applies to unsatisfied properties. Additionally, suitable implications may be dualized, and a category inherits all dualized properties of its dual category, if available. Note that the SQL files mentioned above do _not_ contain any derived data. +From the defined satisfied properties of a given category, new properties can be automatically deduced using the implications. (For example, when a category has equalizers and products, we can infer that it is complete.) The same applies to unsatisfied properties. Additionally, suitable implications may be dualized, and a category inherits all dualized properties of its dual category, if available. Note that the YAML files mentioned above do _not_ contain any derived data. The command `pnpm db:deduce` deduces implications, satisfied properties, and unsatisfied properties. From 7d73a217ac54e52455fd5c5cff1a0720405b0cde Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Sun, 10 May 2026 14:18:13 +0200 Subject: [PATCH 18/22] use separate config file for cspell, fix typos fix typo --- .cspell.json | 252 ++++++++++++++++++ .vscode/settings.json | 246 +---------------- databases/catdat/data/categories/FreeAb.yaml | 2 +- databases/catdat/data/categories/SemiGrp.yaml | 11 +- src/lib/server/macros.ts | 2 + 5 files changed, 266 insertions(+), 247 deletions(-) create mode 100644 .cspell.json diff --git a/.cspell.json b/.cspell.json new file mode 100644 index 00000000..0152d84b --- /dev/null +++ b/.cspell.json @@ -0,0 +1,252 @@ +{ + "ignoreWords": [ + "Vect", + "Setne", + "Xmark", + "notrack", + "sqcup", + "infty", + "chartjs", + "Prost", + "SetxSet", + "hilberts", + "maxage", + "ndash", + "emptyset", + "varnothing", + "mdash" + ], + "words": [ + "abelian", + "abelianization", + "abelianize", + "Adamek", + "adic", + "algébriques", + "anneaux", + "Artin", + "Auslander", + "bijection", + "bijections", + "bijective", + "biproduct", + "biproducts", + "Birkhoff", + "cancellative", + "Catabase", + "catdat", + "Catégories", + "clopen", + "Clowder", + "coaccessible", + "cocartesian", + "coclosed", + "cocomplete", + "cocompletion", + "cocone", + "cocones", + "cocongruence", + "cocongruences", + "cocontinuous", + "codiagonal", + "codirected", + "codistributive", + "codomain", + "codomains", + "coequalized", + "coequalizer", + "coequalizers", + "coequalizes", + "coexponentials", + "cofiltered", + "cofinitary", + "cofull", + "cogenerates", + "cogenerating", + "cogenerator", + "cogenerators", + "cokernel", + "cokernels", + "colimit", + "colimits", + "comonad", + "comonadic", + "conormal", + "copower", + "copowers", + "copresentable", + "coprime", + "coproduct", + "coproducts", + "coquotients", + "coreflection", + "coreflective", + "coreflexive", + "coreflexivity", + "coregular", + "corelations", + "corestrict", + "corestriction", + "corestricts", + "cosifted", + "coslice", + "cospan", + "cospans", + "cosymmetric", + "cosymmetry", + "cotransitive", + "cotransitivity", + "counital", + "delooping", + "deloopings", + "Demazure", + "Diers", + "diffeomorphism", + "diffeomorphisms", + "disjointness", + "dualizable", + "Dualization", + "Eilenberg", + "endofunctors", + "Engelking", + "epimorphic", + "epimorphism", + "épimorphismes", + "epimorphisms", + "exponentials", + "extensivity", + "extremal", + "fieldification", + "finitary", + "Freyd", + "functor", + "functorial", + "functors", + "Gillam", + "Grothendieck", + "Groupes", + "groupoid", + "groupoids", + "Haus", + "Heyting", + "homotopy", + "hypercategories", + "hypercategory", + "hypercollection", + "hypercollections", + "idempotents", + "infima", + "infimum", + "infinitary", + "injection", + "injections", + "injective", + "injectivity", + "Isbell", + "Johnstone", + "Jónsson", + "Kashiwara", + "katex", + "Kolmogorov", + "Lawvere", + "libsql", + "Lindelöf", + "Makkai", + "Malcev", + "Mathoverflow", + "metrizable", + "Moerdijk", + "monic", + "monoid", + "monoidal", + "monoids", + "monomorphism", + "monomorphisms", + "morphism", + "morphisms", + "Multialgébriques", + "naturality", + "Niefield", + "nilradical", + "nlab", + "Noetherian", + "objectwise", + "pointwise", + "Pontryagin", + "poset", + "posets", + "preadditive", + "precomposed", + "precomposition", + "preimage", + "preimages", + "preorder", + "preordered", + "prerender", + "prerendered", + "Prerendering", + "presheaf", + "presheaves", + "pretopos", + "procyclic", + "proset", + "prosets", + "protomodular", + "pushforward", + "pushout", + "pushouts", + "quasitopos", + "rng", + "rngs", + "Rosicky", + "saft", + "Schapira", + "semigroup", + "semigroups", + "semisimple", + "setoid", + "Sheafifiable", + "simplicial", + "subalgebra", + "subconjugated", + "submanifold", + "submonoid", + "subobject", + "subobjects", + "subposet", + "subproset", + "subscheme", + "subsemigroup", + "subsheaf", + "summands", + "suprema", + "supremum", + "surject", + "surjection", + "surjections", + "surjective", + "surjectivity", + "Tarski", + "tensoring", + "topoi", + "Turso", + "unital", + "unitalization", + "vercel", + "Vite", + "Wedderburn", + "well-copowered", + "Yoneda", + "Zulip" + ], + "ignorePaths": [ + "node_modules", + "pnpm-lock.yaml", + ".git", + ".vscode", + ".svelte-kit", + ".netlify", + "build" + ], + "ignoreRegExpList": ["\\$[^$]*\\$", "\\$\\$[^$]*\\$\\$"] +} diff --git a/.vscode/settings.json b/.vscode/settings.json index f89e0ecf..d9e236cc 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -5,249 +5,5 @@ ".svelte-kit": true, "node_modules": true, "build": true - }, - "cSpell.ignoreWords": [ - "Vect", - "Setne", - "Xmark", - "notrack", - "sqcup", - "infty", - "chartjs", - "Prost", - "SetxSet", - "hilberts", - "maxage", - "ndash" - ], - "cSpell.words": [ - "abelian", - "abelianization", - "abelianize", - "Adamek", - "adic", - "algébriques", - "anneaux", - "Artin", - "Auslander", - "bijection", - "bijections", - "bijective", - "biproduct", - "biproducts", - "Birkhoff", - "cancellative", - "Catabase", - "catdat", - "clopen", - "Clowder", - "coaccessible", - "cocartesian", - "coclosed", - "cocomplete", - "cocompletion", - "cocone", - "cocones", - "cocongruence", - "cocongruences", - "cocontinuous", - "codiagonal", - "codirected", - "codistributive", - "codomain", - "codomains", - "coequalized", - "coequalizer", - "coequalizers", - "coequalizes", - "coexponentials", - "cofiltered", - "cofinitary", - "cofull", - "cogenerates", - "cogenerating", - "cogenerator", - "cogenerators", - "cokernel", - "cokernels", - "colimit", - "colimits", - "comonad", - "comonadic", - "conormal", - "copower", - "copowers", - "copresentable", - "coprime", - "coproduct", - "coproducts", - "coquotients", - "coreflection", - "coreflective", - "coreflexive", - "coreflexivity", - "coregular", - "corelations", - "corestrict", - "corestriction", - "corestricts", - "cosifted", - "coslice", - "cospan", - "cospans", - "cosymmetric", - "cosymmetry", - "cotransitive", - "cotransitivity", - "counital", - "delooping", - "deloopings", - "Demazure", - "Diers", - "diffeomorphism", - "diffeomorphisms", - "disjointness", - "dualizable", - "Dualization", - "Eilenberg", - "endofunctors", - "Engelking", - "epimorphic", - "epimorphism", - "épimorphismes", - "epimorphisms", - "exponentials", - "extensivity", - "extremal", - "fieldification", - "finitary", - "Freyd", - "functor", - "functorial", - "functors", - "Gillam", - "Grothendieck", - "Groupes", - "groupoid", - "groupoids", - "Haus", - "Heyting", - "homotopy", - "hypercategories", - "hypercategory", - "hypercollection", - "hypercollections", - "idempotents", - "infima", - "infimum", - "infinitary", - "injection", - "injections", - "injective", - "injectivity", - "Isbell", - "Johnstone", - "Jónsson", - "Kashiwara", - "katex", - "Kolmogorov", - "Lawvere", - "libsql", - "Lindelöf", - "Makkai", - "Malcev", - "Mathoverflow", - "metrizable", - "Moerdijk", - "monic", - "monoid", - "monoidal", - "monoids", - "monomorphism", - "monomorphisms", - "morphism", - "morphisms", - "naturality", - "Niefield", - "nilradical", - "nlab", - "Noetherian", - "objectwise", - "pointwise", - "Pontryagin", - "poset", - "posets", - "preadditive", - "precomposed", - "precomposition", - "preimage", - "preimages", - "preordered", - "prerender", - "prerendered", - "Prerendering", - "presheaf", - "presheaves", - "pretopos", - "procyclic", - "proset", - "prosets", - "protomodular", - "pushforward", - "pushout", - "pushouts", - "quasitopos", - "rng", - "rngs", - "Rosicky", - "saft", - "Schapira", - "semigroup", - "semigroups", - "semisimple", - "setoid", - "Sheafifiable", - "simplicial", - "subalgebra", - "subconjugated", - "submanifold", - "submonoid", - "subobject", - "subobjects", - "subposet", - "subproset", - "subscheme", - "subsemigroup", - "subsheaf", - "summands", - "suprema", - "supremum", - "surject", - "surjection", - "surjections", - "surjective", - "surjectivity", - "Tarski", - "tensoring", - "topoi", - "Turso", - "unital", - "unitalization", - "vercel", - "Vite", - "Wedderburn", - "well-copowered", - "Yoneda", - "Zulip" - ], - "cSpell.ignorePaths": [ - "node_modules", - "pnpm-lock.yaml", - ".git", - ".vscode", - ".svelte-kit", - ".netlify", - "build" - ], - "cSpell.ignoreRegExpList": ["\\$[^$]*\\$", "\\$\\$[^$]*\\$\\$"] + } } diff --git a/databases/catdat/data/categories/FreeAb.yaml b/databases/catdat/data/categories/FreeAb.yaml index b1807231..e1cb9daf 100644 --- a/databases/catdat/data/categories/FreeAb.yaml +++ b/databases/catdat/data/categories/FreeAb.yaml @@ -35,7 +35,7 @@ satisfied_properties: - property_id: regular reason: |- - This follows formally from the fact that $\Ab$ is regular and $\FreeAb$ is closed under subobjects and finite products: By Prop. 2.5 in the
    nlab it suffices to prove that there are pullback-stable (reg epi, mono)-factorizations. Every homomorphism $f : A \to B$ in $\FreeAb$ factors as $f = i \circ p : A \twoheadrightarrow C \hookrightarrow B$, where $C$ is a subgroup, hence free, and $A \to C$ is surjective. Clearly, surjective homomorphisms are pullback-stable. It remains to show that they coincide with the regular epimorphisms. + This follows formally from the fact that $\Ab$ is regular and $\FreeAb$ is closed under subobjects and finite products: By Prop. 2.5 in the nLab it suffices to prove that there are pullback-stable (reg epi, mono)-factorizations. Every homomorphism $f : A \to B$ in $\FreeAb$ factors as $f = i \circ p : A \twoheadrightarrow C \hookrightarrow B$, where $C$ is a subgroup, hence free, and $A \to C$ is surjective. Clearly, surjective homomorphisms are pullback-stable. It remains to show that they coincide with the regular epimorphisms. (1) If $f : A \to B$ is surjective, it is the coequalizer of $A \times_B A \rightrightarrows A$ in $\Ab$. Since $A \times_B A$ is free abelian, $f$ is also an coequalizer in $\FreeAb$. (2) If $f : A \to B$ is a regular epimorphism in $\FreeAb$, consider the factorization $f = i \circ p$ as above. Since $f$ is an extremal epimorphism, $i$ must be an isomorphism, so that $f$ is surjective. diff --git a/databases/catdat/data/categories/SemiGrp.yaml b/databases/catdat/data/categories/SemiGrp.yaml index 92f78405..4b1297cf 100644 --- a/databases/catdat/data/categories/SemiGrp.yaml +++ b/databases/catdat/data/categories/SemiGrp.yaml @@ -61,7 +61,16 @@ unsatisfied_properties: reason: 'The proof is similar to $\Mon$, i.e. we adapt the counterexample from MO/510744. Namely, consider the semigroups $$\begin{align*} X & := \langle p \mid p^2 = p \rangle,\\ E & := \langle p, q \mid p^2 = p,\, q^2 = q,\, pq = q,\, qp = p \rangle, \end{align*}$$ whose underlying sets are $\{p\}$ and $\{p,q\}$, respectively. Then $X$ represents the functor sending a semigroup $A$ to its idempotents, and $E$ represents the relation on idempotents $a, b$ of $A$ that $ab = b$, $ba = a$. It is easy to check that this defines an equivalence relation (see MO/510744 for details). Since $p \ne q$ in $E$, the equalizer of the two maps $X \rightrightarrows E$ is the empty semigroup. Therefore, if $E$ were effective, it would be isomorphic to the coproduct $X \sqcup X$, whose underlying set consists of non-empty words in $p,q$ with $p,q$ strictly alternating. In particular, in this coproduct, $pq \ne q$.' - property_id: natural numbers object - reason: 'Assume that a natural numbers object exists. Then by this result, for every semigroup $A$ the natural homomorphism $$\textstyle\alpha : \coprod_{n \geq 0} A \to A \times \coprod_{n \geq 0} 1$$ is a split monomorphism. But this is not true: For each $n \geq 0$ let $A_n$ denote a copy of $A$. The elements of the coproduct in $\alpha$''s domain have a unique representation as $$x_{n_1} * \cdots * x_{n_s}$$ with $x_i \in A_i$ and $n_i \neq n_{i+1}$, and we have $$\alpha(x_{n_1} * \cdots * x_{n_s}) = (x_{n_1} \cdots x_{n_s}, n_1 * \cdots * n_s).$$ In particular, if $A$ has two non-equal commuting elements $x,y$ (for example, if $A$ is any non-trivial monoid), we have $$\alpha(y_0 x_0) = \alpha(x_0 y_0),$$ showing that $\alpha$ is not injective.' + reason: >- + Assume that a natural numbers object exists. Then by this result, for every semigroup $A$ the natural homomorphism + $$\textstyle\alpha : \coprod_{n \geq 0} A \to A \times \coprod_{n \geq 0} 1$$ + is a split monomorphism. But this is not true: For each $n \geq 0$ let $A_n$ denote a copy of $A$. The elements of the coproduct in $\alpha$'s domain have a unique representation as + $$x_{n_1} * \cdots * x_{n_s}$$ + with $x_i \in A_i$ and $n_i \neq n_{i+1}$, and we have + $$\alpha(x_{n_1} * \cdots * x_{n_s}) = (x_{n_1} \cdots x_{n_s}, n_1 * \cdots * n_s).$$ + In particular, if $A$ has two non-equal commuting elements $x,y$ (for example, if $A$ is any non-trivial monoid), we have + $$\alpha(y_0 x_0) = \alpha(x_0 y_0),$$ + showing that $\alpha$ is not injective. - property_id: coregular reason: 'We will find a regular monomorphism $\iota : F \to M$ of semigroups and a homomorphism $F \to K$ such that $K \to K \sqcup_F M$ is not injective. It is similar to our example for $\Mon$. Consider these semigroups defined by generators and relations: $$\begin{align*} F & := \langle a,b,c,d \rangle \\ M & := \langle a,b,c,d,s : as = c, \, bs = d \rangle \cong \langle a,b,s \rangle \\ K & := \langle x,c,d \rangle \\ N & := \langle a,b,c,d,s_0,s_1 : as_i = c, \, bs_i = d \rangle \\ & \cong \langle a,b,s_0,s_1 : a s_0 = a s_1, \, b s_0 = b s_1 \rangle \\ \end{align*}$$ There is a canonical homomorphism $\iota : F \to M$, which is the equalizer of the two canonical homomorphisms $M \rightrightarrows N$ defined by $s \mapsto s_i$. We define $F \to K$ by $a \mapsto x$, $b \mapsto x$, $c \mapsto c$, $d \mapsto d$. Then $$K \sqcup_F M \cong \langle x,c,d,s : x s = c,\, x s = d \rangle$$ shows that $c,d \in K$ have the same image in the pushout.' diff --git a/src/lib/server/macros.ts b/src/lib/server/macros.ts index e01b47a7..23df0f96 100644 --- a/src/lib/server/macros.ts +++ b/src/lib/server/macros.ts @@ -1,3 +1,5 @@ +// cspell:disable + /** * Dictionary of LaTeX macros */ From 1a1b92b8fb3325c0e962269367cf0d1b82f740b6 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Sun, 10 May 2026 14:40:29 +0200 Subject: [PATCH 19/22] define macros in yaml file --- CONTRIBUTING.md | 2 +- databases/catdat/data/macros.yaml | 102 +++++++++++++++++++++++++++ src/lib/server/macros.ts | 111 +++--------------------------- 3 files changed, 112 insertions(+), 103 deletions(-) create mode 100644 databases/catdat/data/macros.yaml diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c5e09ce8..a182811e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -181,7 +181,7 @@ As a practical guideline, avoid introducing more than four properties (or four c 1. Use `\varnothing` to display the empty set, not `\emptyset`. 2. Write `non-empty`, not `nonempty`. Same for `non-unital`, `non-expansive`, etc. -3. For categories which are referenced multiple times, create a [LaTeX macro](/src/lib/server/macros.ts) for their notation. +3. For LaTeX symbols that are used repeatedly, in particular category-theoretic notation, define a LaTeX macro in [macros.yaml](databases/catdat/data/macros.yaml). ### Responsible Use of AI diff --git a/databases/catdat/data/macros.yaml b/databases/catdat/data/macros.yaml new file mode 100644 index 00000000..869d3f17 --- /dev/null +++ b/databases/catdat/data/macros.yaml @@ -0,0 +1,102 @@ +# cspell:disable + +# blackboard bold letters +\IN: \mathbb{N} +\IZ: \mathbb{Z} +\IQ: \mathbb{Q} +\IR: \mathbb{R} +\IC: \mathbb{C} +\IF: \mathbb{F} +\IB: \mathbb{B} +\IA: \mathbb{A} +\IP: \mathbb{P} + +# calligraphic letters +\A: \mathcal{A} +\B: \mathcal{B} +\C: \mathcal{C} +\D: \mathcal{D} +\E: \mathcal{E} +\F: \mathcal{F} +\I: \mathcal{I} +\J: \mathcal{J} +\O: \mathcal{O} +\S: \mathcal{S} + +# abbreviations +\op: \mathrm{op} +\c: \mathrm{c} +\f: \mathrm{f} +\fg: \mathrm{fg} +\fp: \mathrm{fp} +\ab: \mathrm{ab} +\reg: \mathrm{reg} + +# operators +\Mor: \operatorname{Mor} +\Hom: \operatorname{Hom} +\End: \operatorname{End} +\Ob: \operatorname{Ob} +\id: \operatorname{id} +\card: \operatorname{card} +\colim: \operatorname{colim} +\im: \operatorname{im} +\lcm: \operatorname{lcm} +\Spec: \operatorname{Spec} +\Sh: \operatorname{Sh} +\ord: \operatorname{ord} +\diag: \operatorname{diag} +\Sub: \operatorname{Sub} +\Quot: \operatorname{Quot} +\supp: \operatorname{supp} +\Coexp: \operatorname{Coexp} +\inc: \operatorname{inc} + +# categories +\Set: \mathbf{Set} +\Rel: \mathbf{Rel} +\Ab: \mathbf{Ab} +\Grp: \mathbf{Grp} +\Vect: \mathbf{Vect} +\Ring: \mathbf{Ring} +\Alg: \mathbf{Alg} +\CRing: \mathbf{CRing} +\CAlg: \mathbf{CAlg} +\Rng: \mathbf{Rng} +\Mon: \mathbf{Mon} +\CMon: \mathbf{CMon} +\Mod: \mathbf{Mod} +\Fld: \mathbf{Fld} +\FinAb: \mathbf{FinAb} +\FinGrp: \mathbf{FinGrp} +\FreeAb: \mathbf{FreeAb} +\TorsFreeAb: \mathbf{TorsFreeAb} +\TorsAb: \mathbf{TorsAb} +\Cat: \mathbf{Cat} +\Ban: \mathbf{Ban} +\Meas: \mathbf{Meas} +\Met: \mathbf{Met} +\PMet: \mathbf{PMet} +\Top: \mathbf{Top} +\Haus: \mathbf{Haus} +\sSet: \mathbf{sSet} +\Man: \mathbf{Man} +\LRS: \mathbf{LRS} +\Sch: \mathbf{Sch} +\Pos: \mathbf{Pos} +\Prost: \mathbf{Prost} +\FinOrd: \mathbf{FinOrd} +\FinSet: \mathbf{FinSet} +\FI: \mathbf{FI} +\FS: \mathbf{FS} +\Sp: \mathbf{Sp} +\0: \mathbf{0} +\1: \mathbf{1} +\2: \mathbf{2} +\On: \mathbf{On} +\Idem: \mathbf{Idem} +\Split: \mathbf{Split} +\RS: \mathbf{RS} +\CoAlg: \mathbf{CoAlg} +\Cone: \mathbf{Cone} +\SemiGrp: \mathbf{SemiGrp} diff --git a/src/lib/server/macros.ts b/src/lib/server/macros.ts index 23df0f96..063f70f3 100644 --- a/src/lib/server/macros.ts +++ b/src/lib/server/macros.ts @@ -1,103 +1,10 @@ -// cspell:disable +import YAML from 'yaml' +import path from 'node:path' +import fs from 'node:fs' -/** - * Dictionary of LaTeX macros - */ -export const MACROS = { - // blackboard bold letters - '\\IN': '\\mathbb{N}', - '\\IZ': '\\mathbb{Z}', - '\\IQ': '\\mathbb{Q}', - '\\IR': '\\mathbb{R}', - '\\IC': '\\mathbb{C}', - '\\IF': '\\mathbb{F}', - '\\IB': '\\mathbb{B}', - '\\IA': '\\mathbb{A}', - '\\IP': '\\mathbb{P}', - // calligraphic letters - '\\A': '\\mathcal{A}', - '\\B': '\\mathcal{B}', - '\\C': '\\mathcal{C}', - '\\D': '\\mathcal{D}', - '\\E': '\\mathcal{E}', - '\\F': '\\mathcal{F}', - '\\I': '\\mathcal{I}', - '\\J': '\\mathcal{J}', - '\\O': '\\mathcal{O}', - '\\S': '\\mathcal{S}', - // abbreviations - '\\op': '\\mathrm{op}', - '\\c': '\\mathrm{c}', - '\\f': '\\mathrm{f}', - '\\fg': '\\mathrm{fg}', - '\\fp': '\\mathrm{fp}', - '\\ab': '\\mathrm{ab}', - '\\reg': '\\mathrm{reg}', - // operators - '\\Mor': '\\operatorname{Mor}', - '\\Hom': '\\operatorname{Hom}', - '\\End': '\\operatorname{End}', - '\\Ob': '\\operatorname{Ob}', - '\\id': '\\operatorname{id}', - '\\card': '\\operatorname{card}', - '\\colim': '\\operatorname{colim}', - '\\im': '\\operatorname{im}', - '\\lcm': '\\operatorname{lcm}', - '\\Spec': '\\operatorname{Spec}', - '\\Sh': '\\operatorname{Sh}', - '\\ord': '\\operatorname{ord}', - '\\diag': '\\operatorname{diag}', - '\\Sub': '\\operatorname{Sub}', - '\\Quot': '\\operatorname{Quot}', - '\\supp': '\\operatorname{supp}', - '\\Coexp': '\\operatorname{Coexp}', - '\\inc': '\\operatorname{inc}', - // categories - '\\Set': '\\mathbf{Set}', - '\\Rel': '\\mathbf{Rel}', - '\\Ab': '\\mathbf{Ab}', - '\\Grp': '\\mathbf{Grp}', - '\\Vect': '\\mathbf{Vect}', - '\\Ring': '\\mathbf{Ring}', - '\\Alg': '\\mathbf{Alg}', - '\\CRing': '\\mathbf{CRing}', - '\\CAlg': '\\mathbf{CAlg}', - '\\Rng': '\\mathbf{Rng}', - '\\Mon': '\\mathbf{Mon}', - '\\CMon': '\\mathbf{CMon}', - '\\Mod': '\\mathbf{Mod}', - '\\Fld': '\\mathbf{Fld}', - '\\FinAb': '\\mathbf{FinAb}', - '\\FinGrp': '\\mathbf{FinGrp}', - '\\FreeAb': '\\mathbf{FreeAb}', - '\\TorsFreeAb': '\\mathbf{TorsFreeAb}', - '\\TorsAb': '\\mathbf{TorsAb}', - '\\Cat': '\\mathbf{Cat}', - '\\Ban': '\\mathbf{Ban}', - '\\Meas': '\\mathbf{Meas}', - '\\Met': '\\mathbf{Met}', - '\\PMet': '\\mathbf{PMet}', - '\\Top': '\\mathbf{Top}', - '\\Haus': '\\mathbf{Haus}', - '\\sSet': '\\mathbf{sSet}', - '\\Man': '\\mathbf{Man}', - '\\LRS': '\\mathbf{LRS}', - '\\Sch': '\\mathbf{Sch}', - '\\Pos': '\\mathbf{Pos}', - '\\Prost': '\\mathbf{Prost}', - '\\FinOrd': '\\mathbf{FinOrd}', - '\\FinSet': '\\mathbf{FinSet}', - '\\FI': '\\mathbf{FI}', - '\\FS': '\\mathbf{FS}', - '\\Sp': '\\mathbf{Sp}', - '\\0': '\\mathbf{0}', - '\\1': '\\mathbf{1}', - '\\2': '\\mathbf{2}', - '\\On': '\\mathbf{On}', - '\\Idem': '\\mathbf{Idem}', - '\\Split': '\\mathbf{Split}', - '\\RS': '\\mathbf{RS}', - '\\CoAlg': '\\mathbf{CoAlg}', - '\\Cone': '\\mathbf{Cone}', - '\\SemiGrp': '\\mathbf{SemiGrp}', -} +export const MACROS = YAML.parse( + fs.readFileSync( + path.join(process.cwd(), 'databases', 'catdat', 'data', 'macros.yaml'), + 'utf8', + ), +) as Record From 1cc5ac174c3e7920240458da31ce2e2dc4d5c1ed Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Sun, 10 May 2026 17:29:32 +0200 Subject: [PATCH 20/22] put $$ formulas in separate lines in all yaml files --- databases/catdat/data/categories/Alg(R).yaml | 5 ++- databases/catdat/data/categories/Cat.yaml | 5 ++- databases/catdat/data/categories/Delta.yaml | 7 +++- databases/catdat/data/categories/FS.yaml | 9 ++++- databases/catdat/data/categories/FinSet.yaml | 5 ++- databases/catdat/data/categories/Fld.yaml | 5 ++- databases/catdat/data/categories/Grp.yaml | 7 +++- databases/catdat/data/categories/J2.yaml | 13 +++++-- databases/catdat/data/categories/Met.yaml | 18 +++++++--- databases/catdat/data/categories/Mon.yaml | 10 ++++-- databases/catdat/data/categories/PMet.yaml | 5 ++- databases/catdat/data/categories/Ring.yaml | 5 ++- databases/catdat/data/categories/Rng.yaml | 14 ++++++-- databases/catdat/data/categories/SemiGrp.yaml | 29 +++++++++++++--- databases/catdat/data/categories/Sp.yaml | 5 ++- .../catdat/data/categories/Top_pointed.yaml | 5 ++- databases/catdat/data/categories/TorsAb.yaml | 5 ++- .../catdat/data/categories/TorsFreeAb.yaml | 5 ++- .../walking_commutative_square.yaml | 6 ++-- .../categories/walking_coreflexive_pair.yaml | 5 ++- .../cartesian closed.yaml | 10 +++++- .../category-implications/congruences.yaml | 34 +++++++++++++++---- .../exact filtered colimits.yaml | 5 ++- .../filtered + sifted.yaml | 7 +++- .../filtered colimits.yaml | 9 ++++- .../data/category-implications/thin.yaml | 4 ++- .../catdat/data/category-properties/CIP.yaml | 6 +++- .../catdat/data/category-properties/CSP.yaml | 6 +++- .../data/category-properties/biproducts.yaml | 6 +++- .../data/category-properties/direct.yaml | 5 ++- .../effective cocongruences.yaml | 5 ++- .../effective congruences.yaml | 5 ++- .../data/category-properties/inverse.yaml | 4 ++- .../natural numbers object.yaml | 7 ++-- .../quotient object classifier.yaml | 6 ++-- .../regular quotient object classifier.yaml | 6 ++-- .../regular subobject classifier.yaml | 6 ++-- .../data/category-properties/sifted.yaml | 5 ++- .../subobject classifier.yaml | 6 ++-- .../lemmas/coslice-effective-congruences.yaml | 11 ++++-- .../effective-congruence-quotients.yaml | 13 +++++-- .../exact_filtered_colimits_descend.yaml | 10 +++++- .../lemmas/nno_distributive_criterion.yaml | 25 +++++++++++--- .../lemmas/preadditive_structure_unique.yaml | 23 +++++++++++-- .../lemmas/special_sequential_colimits.yaml | 9 +++-- 45 files changed, 326 insertions(+), 75 deletions(-) diff --git a/databases/catdat/data/categories/Alg(R).yaml b/databases/catdat/data/categories/Alg(R).yaml index 6d6332cf..c777a10a 100644 --- a/databases/catdat/data/categories/Alg(R).yaml +++ b/databases/catdat/data/categories/Alg(R).yaml @@ -56,7 +56,10 @@ unsatisfied_properties: reason: We may copy the proof for the category of commutative algebras (since the proof there did not use that $P$ is commutative). Alternatively, any regular quotient object classifier in $\Alg(R)$ would produce one in $\CAlg(R)$ by this lemma (dualized). - property_id: cocartesian cofiltered limits - reason: 'Consider the ring $A = R[X]$ and the sequence of rings $B_n = R[Y]/(Y^{n+1})$ with projections $B_{n+1} \to B_n$, whose limit is $R[[Y]]$. Every element in the coproduct of rings $R[X] \sqcup R[[Y]]$ has a finite "free product" length. Now consider the elements $$w_n = (1 + XY) (1+XY^2) \cdots (1+X Y^n) \in A \sqcup B_n.$$ Because of $w_n \equiv w_{n-1} \bmod Y^n$ these form an element $w \in \lim_n (A \sqcup B_n)$. Expanding $w_n$, the longest term is $XY XY^2 \cdots X Y^n$ of "free product" length $2n$, which is unbounded.' + reason: >- + Consider the ring $A = R[X]$ and the sequence of rings $B_n = R[Y]/(Y^{n+1})$ with projections $B_{n+1} \to B_n$, whose limit is $R[[Y]]$. Every element in the coproduct of rings $R[X] \sqcup R[[Y]]$ has a finite "free product" length. Now consider the elements + $$w_n = (1 + XY) (1+XY^2) \cdots (1+X Y^n) \in A \sqcup B_n.$$ + Because of $w_n \equiv w_{n-1} \bmod Y^n$ these form an element $w \in \lim_n (A \sqcup B_n)$. Expanding $w_n$, the longest term is $XY XY^2 \cdots X Y^n$ of "free product" length $2n$, which is unbounded. - property_id: cofiltered-limit-stable epimorphisms reason: 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. diff --git a/databases/catdat/data/categories/Cat.yaml b/databases/catdat/data/categories/Cat.yaml index 2faa380f..5c7c1379 100644 --- a/databases/catdat/data/categories/Cat.yaml +++ b/databases/catdat/data/categories/Cat.yaml @@ -59,7 +59,10 @@ unsatisfied_properties: reason: 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. - property_id: effective cocongruences - reason: '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, \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$.' + reason: >- + 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, \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$. special_objects: initial object: diff --git a/databases/catdat/data/categories/Delta.yaml b/databases/catdat/data/categories/Delta.yaml index ad59b3d6..9f2435ac 100644 --- a/databases/catdat/data/categories/Delta.yaml +++ b/databases/catdat/data/categories/Delta.yaml @@ -52,7 +52,12 @@ satisfied_properties: reason: The proof for $\FinOrd$ also works for $\FinSet \setminus \{\varnothing\}$. - property_id: cosifted - reason: 'Let $X,Y \in \Delta$. We may pick $x \in X$, $y \in Y$. Then there is a "point span" $X \xleftarrow{x} [0] \xrightarrow{y} Y$. Every span $X \xleftarrow{f} Z \xrightarrow{g} Y$ is connected to such a point span: Pick $z \in Z$. This defines a morphism of spans: $$\begin{CD} X @<{f(z)}<< [0] @>{g(z)}>> Y \\ @| @VV{z}V @| \\ X @<<{f}< Z @>>{g}> Y \end{CD}$$ It remains to show that all point spans are connected to each other. Assume $x_0,x_1 \in X$ and $y \in Y$, w.l.o.g. $x_0 \leq x_1$. Define the map $f : [1] \to X$ by $f(0) = x_0$, $f(1) = x_1$, and the map $g : [1] \to Y$ by $g(0)=g(1)=y$. They are order-preserving and fit into a zig-zag of spans: $$\begin{CD} X @<{x_0}<< [0] @>{y}>> Y \\ @| @V{0}VV @| \\ X @<{f}<< [1] @>{g}>> Y \\ @| @A{1}AA @| \\ X @<{x_1}<< [0] @>{y}>> Y \end{CD}$$ This shows that the choice of $x \in X$ does not matter, and for $y \in Y$ the proof is the same.' + reason: >- + Let $X,Y \in \Delta$. We may pick $x \in X$, $y \in Y$. Then there is a "point span" $X \xleftarrow{x} [0] \xrightarrow{y} Y$. Every span $X \xleftarrow{f} Z \xrightarrow{g} Y$ is connected to such a point span: Pick $z \in Z$. This defines a morphism of spans: + $$\begin{CD} X @<{f(z)}<< [0] @>{g(z)}>> Y \\ @| @VV{z}V @| \\ X @<<{f}< Z @>>{g}> Y \end{CD}$$ + It remains to show that all point spans are connected to each other. Assume $x_0,x_1 \in X$ and $y \in Y$, w.l.o.g. $x_0 \leq x_1$. Define the map $f : [1] \to X$ by $f(0) = x_0$, $f(1) = x_1$, and the map $g : [1] \to Y$ by $g(0)=g(1)=y$. They are order-preserving and fit into a zig-zag of spans: + $$\begin{CD} X @<{x_0}<< [0] @>{y}>> Y \\ @| @V{0}VV @| \\ X @<{f}<< [1] @>{g}>> Y \\ @| @A{1}AA @| \\ X @<{x_1}<< [0] @>{y}>> Y \end{CD}$$ + This shows that the choice of $x \in X$ does not matter, and for $y \in Y$ the proof is the same. unsatisfied_properties: - property_id: strict terminal object diff --git a/databases/catdat/data/categories/FS.yaml b/databases/catdat/data/categories/FS.yaml index bafda2e5..4ae95fca 100644 --- a/databases/catdat/data/categories/FS.yaml +++ b/databases/catdat/data/categories/FS.yaml @@ -65,7 +65,14 @@ unsatisfied_properties: reason: Assume that the copower $X := 2+2$ exists. Since we have a surjective map $2 \to X$, the set $X$ has at most $2$ elements. The codiagonal $X \to 2$ shows that $X$ has at least $2$ elements. Thus, $X \cong 2$. For all finite sets $Y$ we get a bijection $\Hom(2,Y) \cong \Hom(2,Y)^2$, in particular the cardinalities are the same. For $Y=2$ this gives the contradiction $2 = 4$. - property_id: locally cocartesian coclosed - reason: 'If $X$ is a finite set, the coslice category $X / \FS$ is thin and in fact equivalent to the lattice of equivalence relations on $X$. If $X$ has $\geq 3$ elements, it is not codistributive* and hence not cocartesian coclosed: For simplicity assume $X = \{a,b,c\}$. The bottom element $\bot$ corresponds to the partition $\{\{a\},\{b\},\{c\}\}$, the top element $\top$ to the partition $\{\{a,b,c\}\}$. Now consider the three equivalence relations $E_1,E_2,E_3$ corresponding to the three partitions $$\{\{a,b\},\{c\}\}, \, \{\{a,c\},\{b\}\}, \, \{\{b,c\},\{a\}\}.$$ Then $$E_1 \vee (E_2 \wedge E_3) = E_1 \vee \bot = E_1,$$ but $$(E_1 \vee E_2) \wedge (E_1 \vee E_3) = \top \wedge \top = \top.$$ *For thin categories, the properties codistributive and distributive are equivalent.' + reason: >- + If $X$ is a finite set, the coslice category $X / \FS$ is thin and in fact equivalent to the lattice of equivalence relations on $X$. If $X$ has $\geq 3$ elements, it is not codistributive* and hence not cocartesian coclosed: For simplicity assume $X = \{a,b,c\}$. The bottom element $\bot$ corresponds to the partition $\{\{a\},\{b\},\{c\}\}$, the top element $\top$ to the partition $\{\{a,b,c\}\}$. Now consider the three equivalence relations $E_1,E_2,E_3$ corresponding to the three partitions + $$\{\{a,b\},\{c\}\}, \, \{\{a,c\},\{b\}\}, \, \{\{b,c\},\{a\}\}.$$ + Then + $$E_1 \vee (E_2 \wedge E_3) = E_1 \vee \bot = E_1,$$ + but + $$(E_1 \vee E_2) \wedge (E_1 \vee E_3) = \top \wedge \top = \top.$$ + *For thin categories, the properties codistributive and distributive are equivalent. - property_id: multi-initial object reason: If a multi-initial object exists, then the connected component consisting of non-empty finite sets has an initial object $X$. Then, any non-empty finite set cannot have a cardinality strictly greater than $X$, which is a contradiction. diff --git a/databases/catdat/data/categories/FinSet.yaml b/databases/catdat/data/categories/FinSet.yaml index e473caa0..20fe7d2e 100644 --- a/databases/catdat/data/categories/FinSet.yaml +++ b/databases/catdat/data/categories/FinSet.yaml @@ -51,7 +51,10 @@ unsatisfied_properties: reason: This is trivial. - property_id: natural numbers object - reason: 'If $(N,z,s)$ is a natural numbers object, then $$1 \xrightarrow{z} N \xleftarrow{s} N$$ is a coproduct cocone by Johnstone, Part A, Lemma 2.5.5. But there is no finite set $N$ with $N \cong 1 + N$.' + reason: >- + If $(N,z,s)$ is a natural numbers object, then + $$1 \xrightarrow{z} N \xleftarrow{s} N$$ + is a coproduct cocone by Johnstone, Part A, Lemma 2.5.5. But there is no finite set $N$ with $N \cong 1 + N$. special_objects: initial object: diff --git a/databases/catdat/data/categories/Fld.yaml b/databases/catdat/data/categories/Fld.yaml index 5658b888..18ad1561 100644 --- a/databases/catdat/data/categories/Fld.yaml +++ b/databases/catdat/data/categories/Fld.yaml @@ -63,7 +63,10 @@ unsatisfied_properties: reason: Every field has a non-trivial extension, for instance, the rational function field over itself in one variable. Hence, a multi-terminal object never exists. - property_id: cofiltered-limit-stable epimorphisms - reason: 'Inside of $\IF_p(X)$ consider the descending sequence of subfields $$\IF_p(X) \supseteq \IF_p(X^p) \supseteq \IF_p(X^{p^2}) \supseteq \cdots,$$ whose intersection is $\IF_p$. Each $\IF_p(X^{p^n}) \hookrightarrow \IF_p(X)$ is purely inseparable, hence an epimorphism, but in the limit we get $\IF_p \hookrightarrow \IF_p(X)$, which is not even algebraic.' + reason: >- + Inside of $\IF_p(X)$ consider the descending sequence of subfields + $$\IF_p(X) \supseteq \IF_p(X^p) \supseteq \IF_p(X^{p^2}) \supseteq \cdots,$$ + whose intersection is $\IF_p$. Each $\IF_p(X^{p^n}) \hookrightarrow \IF_p(X)$ is purely inseparable, hence an epimorphism, but in the limit we get $\IF_p \hookrightarrow \IF_p(X)$, which is not even algebraic. special_objects: {} diff --git a/databases/catdat/data/categories/Grp.yaml b/databases/catdat/data/categories/Grp.yaml index 4899a438..ad78e13e 100644 --- a/databases/catdat/data/categories/Grp.yaml +++ b/databases/catdat/data/categories/Grp.yaml @@ -62,7 +62,12 @@ unsatisfied_properties: reason: 'Assume that $\Grp$ has a (regular) quotient object classifier, i.e. a group $P$ such that every surjective homomorphism $G \to H$ is the cokernel of a unique homomorphism $\varphi : P \to G$. Equivalently, every normal subgroup $N \subseteq G$ is $\langle \langle \varphi(P) \rangle \rangle$ for a unique homomorphism $\varphi : P \to G$, where $\langle \langle - \rangle \rangle$ denotes the normal closure. If $c_g : G \to G$ denotes the conjugation with $g \in G$, then the images of $\varphi$ and $c_g \circ \varphi$ have the same normal closures, so the homomorphisms must be equal. In other words, $\varphi$ factors through the center $Z(G)$. But then every normal subgroup of $G$, in particular $G$ itself, would be contained in $Z(G)$, which is wrong for every non-abelian group $G$.' - property_id: cocartesian cofiltered limits - reason: 'For cofiltered diagrams of groups $(H_i)$ and a group $G$ the canonical homomorphism $$\textstyle \alpha : G \sqcup \lim_i H_i \to \lim_i (G \sqcup H_i)$$ is injective, but often fails to be surjective because the components of an element in the image have bounded free product length (the number of factors appearing in the reduced form). Specifically, consider the free groups $G = \langle y \rangle$ and $H_n = \langle x_1,\dotsc,x_n \rangle$ for $n \in \IN$ with the truncation maps $H_{n+1} \to H_n$, $x_{n+1} \mapsto 1$. Define $$p_n := x_1 \, y \, x_2 \, y \, \cdots \, x_{n-1} \, y \, x_n \, y^{-(n-1)} \in G \sqcup H_n.$$ If we substitute $x_{n+1}=1$ in $p_{n+1}$, we get $p_n$. Thus, we have $p = (p_n) \in \lim_n (G \sqcup H_n)$. This element does not lie in the image of $\alpha$ since the free product length of $p_n$ (which is well-defined) is $2n$, which is unbounded.' + reason: >- + For cofiltered diagrams of groups $(H_i)$ and a group $G$ the canonical homomorphism + $$\textstyle \alpha : G \sqcup \lim_i H_i \to \lim_i (G \sqcup H_i)$$ + is injective, but often fails to be surjective because the components of an element in the image have bounded free product length (the number of factors appearing in the reduced form). Specifically, consider the free groups $G = \langle y \rangle$ and $H_n = \langle x_1,\dotsc,x_n \rangle$ for $n \in \IN$ with the truncation maps $H_{n+1} \to H_n$, $x_{n+1} \mapsto 1$. Define + $$p_n := x_1 \, y \, x_2 \, y \, \cdots \, x_{n-1} \, y \, x_n \, y^{-(n-1)} \in G \sqcup H_n.$$ + If we substitute $x_{n+1}=1$ in $p_{n+1}$, we get $p_n$. Thus, we have $p = (p_n) \in \lim_n (G \sqcup H_n)$. This element does not lie in the image of $\alpha$ since the free product length of $p_n$ (which is well-defined) is $2n$, which is unbounded. - property_id: CSP reason: The canonical homomorphism $\coprod_{n \geq 0} \IZ \to \prod_{n \geq 0} \IZ$ is not surjective because its domain is countable and its codomain is uncountable. Hence it is no epimorphism. diff --git a/databases/catdat/data/categories/J2.yaml b/databases/catdat/data/categories/J2.yaml index 06a1688e..42af9f7a 100644 --- a/databases/catdat/data/categories/J2.yaml +++ b/databases/catdat/data/categories/J2.yaml @@ -2,7 +2,9 @@ id: J2 name: category of Jónsson-Tarski algebras notation: $\J_2$ objects: 'pairs $(X,\alpha)$, where $X$ is a set and $\alpha : X \to X \times X$ is an isomorphism' -morphisms: 'A morphism $(X,\alpha) \to (Y,\beta)$ is a map $f : X \to Y$ satisfying $$(f \times f) \circ \alpha = \beta \circ f.$$' +morphisms: >- + A morphism $(X,\alpha) \to (Y,\beta)$ is a map $f : X \to Y$ satisfying + $$(f \times f) \circ \alpha = \beta \circ f.$$ description: This is interesting example of a category in the intersection of topos theory and algebra. nlab_link: https://ncatlab.org/nlab/show/J%C3%B3nsson-Tarski+algebra @@ -28,9 +30,14 @@ unsatisfied_properties: reason: This is trivial. - property_id: semi-strongly connected - reason: |- + reason: >- There is a bijection $\alpha = (\lambda,\rho) : \IN \to \IN \times \IN$ such that $\lambda$ has a fixed point, but $\rho$ does not (see below). Then the isomorphism $\beta := (\rho,\lambda)$ has the opposite property. There cannot be any morphism $(\IN,\alpha) \to (\IN,\beta)$, as it would map the fixed point of $\lambda$ to a fixed point of $\rho$, and likewise there is no morphism $(\IN,\beta) \to (\IN,\alpha)$. - To construct $\alpha$ or rather $\alpha^{-1} : \IN \times \IN \to \IN$, we can alter the standard bijection $(n,m) \mapsto 2^n (2m+1) - 1$ as follows: $$\alpha^{-1}(n,m) = \begin{cases} 2 & (n,m) = (0,0) \\ 0 & (n,m) = (0,1) \\ 2^n (2m+1) - 1 & \text{otherwise} \end{cases}$$ Then $\alpha(0)=(0,1)$, i.e. $\lambda(0)=0$. The function $\rho$ has no fixed point, i.e. $\alpha^{-1}(n,m) \neq m$ for all $n,m$. Namely, if $(n,m)=(0,0)$, then $\alpha^{-1}(n,m)=2 \neq m$. If $(n,m)=(0,1)$, then $\alpha^{-1}(n,m)=0 \neq m$. Otherwise, $$\alpha^{-1}(n,m) = 2^n (2m+1) - 1 \geq (2m+1)-1 = 2m \geq m,$$ and equality can only hold if $m=0$ and $n=0$, which we already excluded. + + To construct $\alpha$ or rather $\alpha^{-1} : \IN \times \IN \to \IN$, we can alter the standard bijection $(n,m) \mapsto 2^n (2m+1) - 1$ as follows: + $$\alpha^{-1}(n,m) = \begin{cases} 2 & (n,m) = (0,0) \\ 0 & (n,m) = (0,1) \\ 2^n (2m+1) - 1 & \text{otherwise} \end{cases}$$ + Then $\alpha(0)=(0,1)$, i.e. $\lambda(0)=0$. The function $\rho$ has no fixed point, i.e. $\alpha^{-1}(n,m) \neq m$ for all $n,m$. Namely, if $(n,m)=(0,0)$, then $\alpha^{-1}(n,m)=2 \neq m$. If $(n,m)=(0,1)$, then $\alpha^{-1}(n,m)=0 \neq m$. Otherwise, + $$\alpha^{-1}(n,m) = 2^n (2m+1) - 1 \geq (2m+1)-1 = 2m \geq m,$$ + and equality can only hold if $m=0$ and $n=0$, which we already excluded. special_objects: initial object: diff --git a/databases/catdat/data/categories/Met.yaml b/databases/catdat/data/categories/Met.yaml index 89a14215..72631f2d 100644 --- a/databases/catdat/data/categories/Met.yaml +++ b/databases/catdat/data/categories/Met.yaml @@ -41,7 +41,10 @@ satisfied_properties: check_redundancy: false - property_id: cartesian filtered colimits - reason: 'We already saw that filtered colimits and finite products exist. The canonical map $\colim_i (X \times Y_i) \to X \times \colim_i Y_i$ is an isomorphism for filtered diagrams $(Y_i)$: It is surjective by the concrete description of filtered colimits. It is isometric because of the elementary observation $$\textstyle\inf_i \max(r, s_i) = \max(r, \inf_i s_i)$$ for $r, s_i \in \IR$, where $i \leq j \implies s_i \geq s_j$.' + reason: >- + We already saw that filtered colimits and finite products exist. The canonical map $\colim_i (X \times Y_i) \to X \times \colim_i Y_i$ is an isomorphism for filtered diagrams $(Y_i)$: It is surjective by the concrete description of filtered colimits. It is isometric because of the elementary observation + $$\textstyle\inf_i \max(r, s_i) = \max(r, \inf_i s_i)$$ + for $r, s_i \in \IR$, where $i \leq j \implies s_i \geq s_j$. - property_id: strict initial object reason: The empty metric space is initial and clearly strict. @@ -87,14 +90,21 @@ unsatisfied_properties: reason: 'Consider the metric subspace $\{(a,b) \in \IR^2 : a \leq b\}$ of $\IR^2$.' - property_id: natural numbers object - reason: '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.' + reason: >- + 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. - property_id: effective congruences reason: '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.' - property_id: effective cocongruences - reason: |- - 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$. + reason: >- + 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 $\Met$. special_objects: diff --git a/databases/catdat/data/categories/Mon.yaml b/databases/catdat/data/categories/Mon.yaml index 5a90e483..c67ce7b2 100644 --- a/databases/catdat/data/categories/Mon.yaml +++ b/databases/catdat/data/categories/Mon.yaml @@ -67,9 +67,13 @@ unsatisfied_properties: reason: 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. - property_id: effective cocongruences - reason: |- - 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}(\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$. + reason: >- + 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}(\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$. special_objects: initial object: diff --git a/databases/catdat/data/categories/PMet.yaml b/databases/catdat/data/categories/PMet.yaml index e8127ddd..e563415e 100644 --- a/databases/catdat/data/categories/PMet.yaml +++ b/databases/catdat/data/categories/PMet.yaml @@ -81,7 +81,10 @@ unsatisfied_properties: reason: Take any counterexample in $\Set$ and equip it with the zero pseudo-metric. - property_id: natural numbers object - reason: '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.' + reason: >- + 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. - property_id: effective cocongruences reason: '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/categories/Ring.yaml b/databases/catdat/data/categories/Ring.yaml index 173b1c96..859378ad 100644 --- a/databases/catdat/data/categories/Ring.yaml +++ b/databases/catdat/data/categories/Ring.yaml @@ -59,7 +59,10 @@ unsatisfied_properties: reason: We may copy the proof for the category of commutative rings (since the proof there did not use that $P$ is commutative). Alternatively, any regular quotient object classifier in $\Ring$ would produce one in $\CRing$ by this lemma (dualized). - property_id: cocartesian cofiltered limits - reason: 'Consider the ring $A = \IZ[X]$ and the sequence of rings $B_n = \IZ[Y]/(Y^{n+1})$ with projections $B_{n+1} \to B_n$, whose limit is $\IZ[[Y]]$. Every element in the coproduct of rings $\IZ[X] \sqcup \IZ[[Y]]$ has a finite "free product" length. Now consider the elements $$w_n = (1 + XY) (1+XY^2) \cdots (1+X Y^n) \in A \sqcup B_n.$$ Because of $w_n \equiv w_{n-1} \bmod Y^n$ these form an element $w \in \lim_n (A \sqcup B_n)$. Expanding $w_n$, the longest term is $XY XY^2 \cdots X Y^n$ of "free product" length $2n$, which is unbounded.' + reason: >- + Consider the ring $A = \IZ[X]$ and the sequence of rings $B_n = \IZ[Y]/(Y^{n+1})$ with projections $B_{n+1} \to B_n$, whose limit is $\IZ[[Y]]$. Every element in the coproduct of rings $\IZ[X] \sqcup \IZ[[Y]]$ has a finite "free product" length. Now consider the elements + $$w_n = (1 + XY) (1+XY^2) \cdots (1+X Y^n) \in A \sqcup B_n.$$ + Because of $w_n \equiv w_{n-1} \bmod Y^n$ these form an element $w \in \lim_n (A \sqcup B_n)$. Expanding $w_n$, the longest term is $XY XY^2 \cdots X Y^n$ of "free product" length $2n$, which is unbounded. - property_id: cofiltered-limit-stable epimorphisms reason: 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. diff --git a/databases/catdat/data/categories/Rng.yaml b/databases/catdat/data/categories/Rng.yaml index 8d8fcb55..82a2182b 100644 --- a/databases/catdat/data/categories/Rng.yaml +++ b/databases/catdat/data/categories/Rng.yaml @@ -55,7 +55,10 @@ unsatisfied_properties: reason: 'Assume that $\Rng$ has a regular quotient object classifier $P$. Consider the functor $N : \Ab \to \Rng$ that equips an abelian group with zero multiplication. It is fully faithful and has a left adjoint mapping a rng $R$ to the abelian group $R/R^2$. If $R$ is a rng with zero multiplication and $R \to S$ is a surjective homomorphism, then $S$ has zero multiplication. Therefore, the assumptions of this lemma (dualized) apply and we conclude that $P/P^2$ is a regular quotient object classifier of $\Ab$. But we already know that this category has no such object (in fact, the only additive categories with such an object are trivial by MSE/4086192).' - property_id: cocartesian cofiltered limits - reason: 'Consider the ring $A = \IZ[X]$ and the sequence of rings $B_n = \IZ[Y]/(Y^{n+1})$ with projections $B_{n+1} \to B_n$, whose limit is $\IZ[[Y]]$ (both in $\Ring$ and $\Rng$). Every element in the coproduct of rngs $\IZ[X] \sqcup \IZ[[Y]]$ has a finite "free product" length. Now consider the elements $$w_n = (1 + XY) (1+XY^2) \cdots (1+X Y^n) - 1 \in A \sqcup B_n.$$ Because of $w_n \equiv w_{n-1} \bmod Y^n$ these form an element $w \in \lim_n (A \sqcup B_n)$. Expanding $w_n$, the longest term is $XY XY^2 \cdots X Y^n$ of "free product" length $2n$, which is unbounded.' + reason: >- + Consider the ring $A = \IZ[X]$ and the sequence of rings $B_n = \IZ[Y]/(Y^{n+1})$ with projections $B_{n+1} \to B_n$, whose limit is $\IZ[[Y]]$ (both in $\Ring$ and $\Rng$). Every element in the coproduct of rngs $\IZ[X] \sqcup \IZ[[Y]]$ has a finite "free product" length. Now consider the elements + $$w_n = (1 + XY) (1+XY^2) \cdots (1+X Y^n) - 1 \in A \sqcup B_n.$$ + Because of $w_n \equiv w_{n-1} \bmod Y^n$ these form an element $w \in \lim_n (A \sqcup B_n)$. Expanding $w_n$, the longest term is $XY XY^2 \cdots X Y^n$ of "free product" length $2n$, which is unbounded. - property_id: CSP reason: Assume that $\coprod_n \IZ \to \prod_n \IZ$ is an epimorphism in $\Rng$. Then $((\coprod_n \IZ)^+)^{\ab} \to \prod_n \IZ$ would be an epimorphism in $\CRing$, where $(-)^+$ denotes the unitalization and $(-)^{\ab}$ the abelianization. But if $R \to S$ is an epimorphism of commutative rings, then $\card(S) \leq \card(R)$ by SP/04W0. Since $((\coprod_n \IZ)^+)^{\ab}$ is countable and $\prod_n \IZ$ is not, we get a contradiction. @@ -64,7 +67,14 @@ unsatisfied_properties: reason: '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$.' - property_id: effective cocongruences - reason: '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_{\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 $\Ring$.' + reason: >- + 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_{\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 $\Ring$. special_objects: initial object: diff --git a/databases/catdat/data/categories/SemiGrp.yaml b/databases/catdat/data/categories/SemiGrp.yaml index 4b1297cf..a22fd044 100644 --- a/databases/catdat/data/categories/SemiGrp.yaml +++ b/databases/catdat/data/categories/SemiGrp.yaml @@ -27,7 +27,12 @@ satisfied_properties: reason: This follows easily from the concrete description of coproducts as (a variant of) free products. - property_id: cocartesian cofiltered limits - reason: 'We need to prove that for two cofiltered diagram of semigroups $(B_i)$, $(C_i)$ the canonical map $$\textstyle \alpha : \lim_i B_i + \lim_i C_i \to \lim_i (B_i + C_i)$$ is an isomorphism, i.e. bijective. The underlying set of the coproduct $B_i + C_i$ is identified with the disjoint union of sets of the form $$B_i \times C_i \times B_i \times \cdots \times C_i$$ with any positive product length, starting and ending either with $B_i$ or $C_i$. Moreover, $\lim_i$ commutes with arbitrary coproducts in $\Set$, and of course also with products. This shows that $\alpha$ is bijective.' + reason: >- + We need to prove that for two cofiltered diagram of semigroups $(B_i)$, $(C_i)$ the canonical map + $$\textstyle \alpha : \lim_i B_i + \lim_i C_i \to \lim_i (B_i + C_i)$$ + is an isomorphism, i.e. bijective. The underlying set of the coproduct $B_i + C_i$ is identified with the disjoint union of sets of the form + $$B_i \times C_i \times B_i \times \cdots \times C_i$$ + with any positive product length, starting and ending either with $B_i$ or $C_i$. Moreover, $\lim_i$ commutes with arbitrary coproducts in $\Set$, and of course also with products. This shows that $\alpha$ is bijective. unsatisfied_properties: - property_id: skeletal @@ -52,13 +57,19 @@ unsatisfied_properties: - property_id: cogenerating set # TODO: find a variant of the lemma missing_cogenerating_sets # (or missing_cogenerator) which handles this. - reason: 'The proof is similar to the proof for $\Grp$. Assume that there is a cogenerating set $S$. There is an infinite simple group $G$ larger than all the semigroups in $S$ (such as an alternating group). Since $\id_G, 1 : G \rightrightarrows G$ are different, there is a semigroup $H \in S$ and a homomorphism of semigroups $f : G \to H$ with $f \neq f \circ 1$. Then $$N := \{g \in G : f(g) = f(1)\}$$ is a normal subgroup of $G$. It is proper, and hence trivial. But then $f$ is injective, which is a contradiction.' + reason: >- + The proof is similar to the proof for $\Grp$. Assume that there is a cogenerating set $S$. There is an infinite simple group $G$ larger than all the semigroups in $S$ (such as an alternating group). Since $\id_G, 1 : G \rightrightarrows G$ are different, there is a semigroup $H \in S$ and a homomorphism of semigroups $f : G \to H$ with $f \neq f \circ 1$. Then + $$N := \{g \in G : f(g) = f(1)\}$$ + is a normal subgroup of $G$. It is proper, and hence trivial. But then $f$ is injective, which is a contradiction. - property_id: cofiltered-limit-stable epimorphisms reason: We already know that $\Set$ does not have this property (by this result). Now apply the contrapositive of the dual of this lemma to the functor $\Set \to \SemiGrp$ that equips a set with the multiplication $a \cdot b := a$. - property_id: effective cocongruences - reason: 'The proof is similar to $\Mon$, i.e. we adapt the counterexample from MO/510744. Namely, consider the semigroups $$\begin{align*} X & := \langle p \mid p^2 = p \rangle,\\ E & := \langle p, q \mid p^2 = p,\, q^2 = q,\, pq = q,\, qp = p \rangle, \end{align*}$$ whose underlying sets are $\{p\}$ and $\{p,q\}$, respectively. Then $X$ represents the functor sending a semigroup $A$ to its idempotents, and $E$ represents the relation on idempotents $a, b$ of $A$ that $ab = b$, $ba = a$. It is easy to check that this defines an equivalence relation (see MO/510744 for details). Since $p \ne q$ in $E$, the equalizer of the two maps $X \rightrightarrows E$ is the empty semigroup. Therefore, if $E$ were effective, it would be isomorphic to the coproduct $X \sqcup X$, whose underlying set consists of non-empty words in $p,q$ with $p,q$ strictly alternating. In particular, in this coproduct, $pq \ne q$.' + reason: >- + The proof is similar to $\Mon$, i.e. we adapt the counterexample from MO/510744. Namely, consider the semigroups + $$\begin{align*} X & := \langle p \mid p^2 = p \rangle,\\ E & := \langle p, q \mid p^2 = p,\, q^2 = q,\, pq = q,\, qp = p \rangle, \end{align*}$$ + whose underlying sets are $\{p\}$ and $\{p,q\}$, respectively. Then $X$ represents the functor sending a semigroup $A$ to its idempotents, and $E$ represents the relation on idempotents $a, b$ of $A$ that $ab = b$, $ba = a$. It is easy to check that this defines an equivalence relation (see MO/510744 for details). Since $p \ne q$ in $E$, the equalizer of the two maps $X \rightrightarrows E$ is the empty semigroup. Therefore, if $E$ were effective, it would be isomorphic to the coproduct $X \sqcup X$, whose underlying set consists of non-empty words in $p,q$ with $p,q$ strictly alternating. In particular, in this coproduct, $pq \ne q$. - property_id: natural numbers object reason: >- @@ -73,7 +84,17 @@ unsatisfied_properties: showing that $\alpha$ is not injective. - property_id: coregular - reason: 'We will find a regular monomorphism $\iota : F \to M$ of semigroups and a homomorphism $F \to K$ such that $K \to K \sqcup_F M$ is not injective. It is similar to our example for $\Mon$. Consider these semigroups defined by generators and relations: $$\begin{align*} F & := \langle a,b,c,d \rangle \\ M & := \langle a,b,c,d,s : as = c, \, bs = d \rangle \cong \langle a,b,s \rangle \\ K & := \langle x,c,d \rangle \\ N & := \langle a,b,c,d,s_0,s_1 : as_i = c, \, bs_i = d \rangle \\ & \cong \langle a,b,s_0,s_1 : a s_0 = a s_1, \, b s_0 = b s_1 \rangle \\ \end{align*}$$ There is a canonical homomorphism $\iota : F \to M$, which is the equalizer of the two canonical homomorphisms $M \rightrightarrows N$ defined by $s \mapsto s_i$. We define $F \to K$ by $a \mapsto x$, $b \mapsto x$, $c \mapsto c$, $d \mapsto d$. Then $$K \sqcup_F M \cong \langle x,c,d,s : x s = c,\, x s = d \rangle$$ shows that $c,d \in K$ have the same image in the pushout.' + reason: >- + We will find a regular monomorphism $\iota : F \to M$ of semigroups and a homomorphism $F \to K$ such that $K \to K \sqcup_F M$ is not injective. It is similar to our example for $\Mon$. Consider these semigroups defined by generators and relations: + $$\begin{align*} + F & := \langle a,b,c,d \rangle \\ + M & := \langle a,b,c,d,s : as = c, \, bs = d \rangle \cong \langle a,b,s \rangle \\ + K & := \langle x,c,d \rangle \\ N & := \langle a,b,c,d,s_0,s_1 : as_i = c, \, bs_i = d \rangle \\ + & \cong \langle a,b,s_0,s_1 : a s_0 = a s_1, \, b s_0 = b s_1 \rangle + \end{align*}$$ + There is a canonical homomorphism $\iota : F \to M$, which is the equalizer of the two canonical homomorphisms $M \rightrightarrows N$ defined by $s \mapsto s_i$. We define $F \to K$ by $a \mapsto x$, $b \mapsto x$, $c \mapsto c$, $d \mapsto d$. Then + $$K \sqcup_F M \cong \langle x,c,d,s : x s = c,\, x s = d \rangle$$ + shows that $c,d \in K$ have the same image in the pushout. - property_id: regular subobject classifier reason: 'Assume that a regular subobject classifier $\Omega$ exists in $\SemiGrp$. The universal regular monomorphism $\top : 1 \to \Omega$ corresponds to an idempotent element $e \in \Omega$. It follows that $e \Omega e$ is a monoid with neutral element $e$. We claim that it is a regular subobject classifier in $\Mon$, which we know does not exist. Indeed, let $\iota : A \to B$ be a regular monomorphism of monoids. Since the forgetful functor $\Mon \to \SemiGrp$ preserves limits, we can also see $\iota$ as a regular monomorphism of semigroups. Hence, there is a unique homomorphism of semigroups $f : B \to \Omega$ with $\iota(A) = \{b \in B : f(b) = e\}$. Since $1 \in \iota(A)$, we have $f(1) = e$. Then $f$ corresponds to a homomorphism of monoids $f : B \to e \Omega e$ with kernel $\iota$, which proves our claim.' diff --git a/databases/catdat/data/categories/Sp.yaml b/databases/catdat/data/categories/Sp.yaml index 259cdad8..799d7ac4 100644 --- a/databases/catdat/data/categories/Sp.yaml +++ b/databases/catdat/data/categories/Sp.yaml @@ -43,7 +43,10 @@ unsatisfied_properties: reason: Any function $f\colon\IN \to \IN$ can be regarded as a combinatorial species with trivial actions, and distinct functions yield non-isomorphic species. - property_id: natural numbers object - reason: 'If $(N,z,s)$ is a natural numbers object, then $$1 \xrightarrow{z} N \xleftarrow{s} N$$ is a coproduct cocone by Johnstone, Part A, Lemma 2.5.5. But there is no combinatorial species $N$ with $N \cong 1 + N$, since evaluating this at, say, $\varnothing$, would yield a finite set $N$ with this property.' + reason: >- + If $(N,z,s)$ is a natural numbers object, then + $$1 \xrightarrow{z} N \xleftarrow{s} N$$ + is a coproduct cocone by Johnstone, Part A, Lemma 2.5.5. But there is no combinatorial species $N$ with $N \cong 1 + N$, since evaluating this at, say, $\varnothing$, would yield a finite set $N$ with this property. special_objects: initial object: diff --git a/databases/catdat/data/categories/Top_pointed.yaml b/databases/catdat/data/categories/Top_pointed.yaml index 2fd6dd67..7972d31a 100644 --- a/databases/catdat/data/categories/Top_pointed.yaml +++ b/databases/catdat/data/categories/Top_pointed.yaml @@ -55,7 +55,10 @@ satisfied_properties: reason: This follows since $\Set_*$ has this property and the forgetful functor preserves products and coproducts. - property_id: cocartesian cofiltered limits - reason: 'We continue the proof for $\Set_*$ by showing that the natural bijective map $$\textstyle \alpha : X \vee \lim_i Y_i \to \lim_i (X \vee Y_i)$$ is open. It suffices to consider open sets of two types: (1) If $U \subseteq X$ is open, the $\alpha$-image of $U \vee \lim_i Y_i$ is $p_{i_0}^{-1}(U \vee Y_{i_0})$ for any chosen index $i_0$, hence open. (2) If $i$ is an index and $V_i \subseteq Y_i$ is open, then the $\alpha$-image of $X \vee (p_i^{-1}(V_i) \cap \lim_i Y_i)$ is $p_i^{-1}(X \vee V_i)$, hence open.' + reason: >- + We continue the proof for $\Set_*$ by showing that the natural bijective map + $$\textstyle \alpha : X \vee \lim_i Y_i \to \lim_i (X \vee Y_i)$$ + is open. It suffices to consider open sets of two types: (1) If $U \subseteq X$ is open, the $\alpha$-image of $U \vee \lim_i Y_i$ is $p_{i_0}^{-1}(U \vee Y_{i_0})$ for any chosen index $i_0$, hence open. (2) If $i$ is an index and $V_i \subseteq Y_i$ is open, then the $\alpha$-image of $X \vee (p_i^{-1}(V_i) \cap \lim_i Y_i)$ is $p_i^{-1}(X \vee V_i)$, hence open. - property_id: filtered-colimit-stable monomorphisms reason: This follows from this lemma applied to the forgetful functor to $\Set$. diff --git a/databases/catdat/data/categories/TorsAb.yaml b/databases/catdat/data/categories/TorsAb.yaml index ac193a45..68af30f5 100644 --- a/databases/catdat/data/categories/TorsAb.yaml +++ b/databases/catdat/data/categories/TorsAb.yaml @@ -49,7 +49,10 @@ unsatisfied_properties: reason: The canonical homomorphism $\bigoplus_{n \geq 0} \IZ/2 \to T(\prod_{n \geq 0} \IZ/2)$ is not surjective, since the torsion element $(1,1,\dotsc)$ does not lie in the image. Hence, it is no epimorphism. - property_id: locally strongly finitely presentable - reason: 'Assume that it is locally strongly finitely presentable, and therefore the category of algebras of a multi-sorted finitary algebraic theory. For each sort $s$ let $F_s$ be the free algebra on one generator of sort $s$. One of them must be non-trivial, since otherwise the category would be thin. So assume $F_s \neq 0$. It is finitely presentable, hence a finite abelian group, and regular projective. Any direct summand will have the same properties. So we find that some $\IZ/p^k$ (with $k \geq 1$ and $p$ prime) is regular projective. However, the exact sequence in $\TorsAb$ $$0 \to \IZ/p \to \IZ/p^{k+1} \to \IZ/p^k \to 0$$ does not split.' + reason: >- + Assume that it is locally strongly finitely presentable, and therefore the category of algebras of a multi-sorted finitary algebraic theory. For each sort $s$ let $F_s$ be the free algebra on one generator of sort $s$. One of them must be non-trivial, since otherwise the category would be thin. So assume $F_s \neq 0$. It is finitely presentable, hence a finite abelian group, and regular projective. Any direct summand will have the same properties. So we find that some $\IZ/p^k$ (with $k \geq 1$ and $p$ prime) is regular projective. However, the exact sequence in $\TorsAb$ + $$0 \to \IZ/p \to \IZ/p^{k+1} \to \IZ/p^k \to 0$$ + does not split. special_objects: initial object: diff --git a/databases/catdat/data/categories/TorsFreeAb.yaml b/databases/catdat/data/categories/TorsFreeAb.yaml index a29bae33..a3e6fa4b 100644 --- a/databases/catdat/data/categories/TorsFreeAb.yaml +++ b/databases/catdat/data/categories/TorsFreeAb.yaml @@ -39,7 +39,10 @@ satisfied_properties: reason: The regular epimorphisms are exactly the surjective homomorphisms (see below), and these are clearly stable under pullbacks. - property_id: coregular - reason: 'It suffices to prove that regular monomorphisms (which are classified below) are stable under pushouts. Let $i : A \to B$ be a regular monomorphism in $\TorsFreeAb$, i.e. $i$ is injective and its $\Ab$-cokernel $B/i(A)$ is torsion-free, and let $f : B \to C$ be any morphism in $\TorsFreeAb$. Their $\Ab$-pushout is $$P = (B \times C)/\{(i(a),-f(a)): a \in A\}.$$ It is torsion-free: If $n \in \IZ \setminus \{0\}$ and $n (b,c) = (i(a),-f(a))$, there is some $a'' \in A$ with $b = i(a'')$ since $B/i(A)$ is torsion-free. It follows $n a'' = a$, and then $c = -f(a'')$ since $C$ is torsion-free. Thus, $(b,c) = (i(a''),-f(a''))$, which proves our claim. Therefore, $P$ is also the pushout in $\TorsFreeAb$. The homomorphism $j : C \to P$, $j(c) = [0,c]$ is injective (since $\Ab$ is coregular, but a direct proof is also easy), and by the universal property of $P$ its $\Ab$-cokernel is isomorphic to the $\Ab$-cokernel of $i$, which is torsion-free.' + reason: >- + It suffices to prove that regular monomorphisms (which are classified below) are stable under pushouts. Let $i : A \to B$ be a regular monomorphism in $\TorsFreeAb$, i.e. $i$ is injective and its $\Ab$-cokernel $B/i(A)$ is torsion-free, and let $f : B \to C$ be any morphism in $\TorsFreeAb$. Their $\Ab$-pushout is + $$P = (B \times C)/\{(i(a),-f(a)): a \in A\}.$$ + It is torsion-free: If $n \in \IZ \setminus \{0\}$ and $n (b,c) = (i(a),-f(a))$, there is some $a' \in A$ with $b = i(a')$ since $B/i(A)$ is torsion-free. It follows $n a' = a$, and then $c = -f(a')$ since $C$ is torsion-free. Thus, $(b,c) = (i(a'),-f(a'))$, which proves our claim. Therefore, $P$ is also the pushout in $\TorsFreeAb$. The homomorphism $j : C \to P$, $j(c) = [0,c]$ is injective (since $\Ab$ is coregular, but a direct proof is also easy), and by the universal property of $P$ its $\Ab$-cokernel is isomorphic to the $\Ab$-cokernel of $i$, which is torsion-free. unsatisfied_properties: - property_id: skeletal diff --git a/databases/catdat/data/categories/walking_commutative_square.yaml b/databases/catdat/data/categories/walking_commutative_square.yaml index 4a76f460..80bbc4ab 100644 --- a/databases/catdat/data/categories/walking_commutative_square.yaml +++ b/databases/catdat/data/categories/walking_commutative_square.yaml @@ -3,9 +3,11 @@ name: walking commutative square notation: $\{0 \to 1\}^2$ objects: four objects $a,b,c,d$ morphisms: morphisms $a \to b$, $b \to d$, $a \to c$, $c \to d$, identities, and one morphism $a \to d$ -description: 'This category consists of a commutative square: $$\begin{CD} a @>>> b \\ @VVV @VVV \\ c @>>> d \end{CD}$$ Its name comes from the fact that a functor out of it is the same as a commutative square in the target category. Notice that the category is isomorphic to the product category $\{0 \to 1\} \times \{0 \to 1\}$ of the walking morphism with itself. Hence, most (but not all) properties are inherited from it. It is also isomorphic to the partial order of positive divisors of $6$.' +description: >- + This category consists of a commutative square: + $$\begin{CD} a @>>> b \\ @VVV @VVV \\ c @>>> d \end{CD}$$ + Its name comes from the fact that a functor out of it is the same as a commutative square in the target category. Notice that the category is isomorphic to the product category $\{0 \to 1\} \times \{0 \to 1\}$ of the walking morphism with itself. Hence, most (but not all) properties are inherited from it. It is also isomorphic to the partial order of positive divisors of $6$. nlab_link: https://ncatlab.org/nlab/show/commutative+square - tags: - category theory - finite diff --git a/databases/catdat/data/categories/walking_coreflexive_pair.yaml b/databases/catdat/data/categories/walking_coreflexive_pair.yaml index c44de4ba..5ae97f5b 100644 --- a/databases/catdat/data/categories/walking_coreflexive_pair.yaml +++ b/databases/catdat/data/categories/walking_coreflexive_pair.yaml @@ -3,7 +3,10 @@ name: walking coreflexive pair notation: $\Delta^{\leq 1}$ objects: two objects $[0]$ and $[1]$ morphisms: 'the identities, two morphisms $i,j : [0] \rightrightarrows [1]$, a morphism $p : [1] \to [0]$ with $p i = p j = \id_{[0]}$, and the two idempotent morphisms $ip, jp : [1] \to [1]$.' -description: 'This category is equal to the truncated simplex category $\Delta^{\leq 1}$, i.e. the full subcategory of $\Delta$ spanned by $[0] = \{0\}$ and $[1] = \{0 < 1\}$; this also explains our notation of the category and its objects. $$[0] \begin{array}{c} \xhookrightarrow{~~i~~} \\ \xtwoheadleftarrow{~~p~~} \\ \xhookrightarrow{~~j~~} \end{array} [1]$$ The morphisms $i,j$ are the two inclusions, $p$ is their unique retraction, and $ip,jp : [1] \to [1]$ are the two constant maps. The name of this category comes from the fact that a functor out of it is the same as a coreflexive pair in the target category. Its dual is therefore the walking reflexive pair.' +description: >- + This category is equal to the truncated simplex category $\Delta^{\leq 1}$, i.e. the full subcategory of $\Delta$ spanned by $[0] = \{0\}$ and $[1] = \{0 < 1\}$; this also explains our notation of the category and its objects. + $$[0] \begin{array}{c} \xhookrightarrow{~~i~~} \\ \xtwoheadleftarrow{~~p~~} \\ \xhookrightarrow{~~j~~} \end{array} [1]$$ + The morphisms $i,j$ are the two inclusions, $p$ is their unique retraction, and $ip,jp : [1] \to [1]$ are the two constant maps. The name of this category comes from the fact that a functor out of it is the same as a coreflexive pair in the target category. Its dual is therefore the walking reflexive pair. tags: - category theory diff --git a/databases/catdat/data/category-implications/cartesian closed.yaml b/databases/catdat/data/category-implications/cartesian closed.yaml index 9f39c74d..b315acac 100644 --- a/databases/catdat/data/category-implications/cartesian closed.yaml +++ b/databases/catdat/data/category-implications/cartesian closed.yaml @@ -41,7 +41,15 @@ - copowers conclusions: - powers - reason: 'The power $X^I$ can be constructed as $[I \otimes 1, X]$ because $$\begin{align*} \Hom(T,[I \otimes 1, X]) & \cong \Hom(T \times (I \otimes 1),X) \\ & \cong \Hom(I \otimes (T \times 1),X) \\ & \cong \Hom(I \otimes T,X) \\ & \cong \Hom(T,X)^I. \end{align*}$$ In the second isomorphism we have used that $T \times -$ preserves copowers, which is true because it is a left adjoint.' + reason: >- + The power $X^I$ can be constructed as $[I \otimes 1, X]$ because + $$\begin{align*} + \Hom(T,[I \otimes 1, X]) & \cong \Hom(T \times (I \otimes 1),X) \\ + & \cong \Hom(I \otimes (T \times 1),X) \\ + & \cong \Hom(I \otimes T,X) \\ + & \cong \Hom(T,X)^I. + \end{align*}$$ + In the second isomorphism we have used that $T \times -$ preserves copowers, which is true because it is a left adjoint. is_equivalence: false - id: countable_power_construction diff --git a/databases/catdat/data/category-implications/congruences.yaml b/databases/catdat/data/category-implications/congruences.yaml index 14f604dc..a6f0b3ea 100644 --- a/databases/catdat/data/category-implications/congruences.yaml +++ b/databases/catdat/data/category-implications/congruences.yaml @@ -52,9 +52,12 @@ - preadditive conclusions: - effective congruences - reason: |- + reason: >- 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. + + 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. is_equivalence: false - id: additive_effective_congruences_imply_normal @@ -64,7 +67,10 @@ - finitely complete conclusions: - normal - reason: '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 $\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$.' + reason: >- + 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 $\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_equivalence: false - id: regular_effective_congruences_implies_quotients @@ -84,11 +90,17 @@ conclusions: - co-Malcev - effective cocongruences - reason: |- - 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$. + reason: >- + 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 \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. is_equivalence: false @@ -98,5 +110,15 @@ - extensive conclusions: - mono-regular - reason: '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$.' + reason: >- + 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$. is_equivalence: false diff --git a/databases/catdat/data/category-implications/exact filtered colimits.yaml b/databases/catdat/data/category-implications/exact filtered colimits.yaml index 01f00715..cbcdf865 100644 --- a/databases/catdat/data/category-implications/exact filtered colimits.yaml +++ b/databases/catdat/data/category-implications/exact filtered colimits.yaml @@ -15,7 +15,10 @@ - exact filtered colimits conclusions: - filtered-colimit-stable monomorphisms - reason: 'This is because $f : X \longrightarrow Y$ is a monomorphism iff the diagram $$\begin{CD} X @>{\id}>> X \\ @V{\id}VV @VV{f}V \\ X @>>{f}> Y \end{CD}$$ is a pullback, and if a functor preserves finite limits, it preserves pullbacks in particular.' + reason: >- + This is because $f : X \longrightarrow Y$ is a monomorphism iff the diagram + $$\begin{CD} X @>{\id}>> X \\ @V{\id}VV @VV{f}V \\ X @>>{f}> Y \end{CD}$$ + is a pullback, and if a functor preserves finite limits, it preserves pullbacks in particular. is_equivalence: false - id: cartesian_filtered_colimits_condition diff --git a/databases/catdat/data/category-implications/filtered + sifted.yaml b/databases/catdat/data/category-implications/filtered + sifted.yaml index 3851a54f..1b1f2b3c 100644 --- a/databases/catdat/data/category-implications/filtered + sifted.yaml +++ b/databases/catdat/data/category-implications/filtered + sifted.yaml @@ -31,7 +31,12 @@ - sifted conclusions: - thin - reason: 'For any object $X$ in a left-cancellative category, the connected component containing $$X \xrightarrow{\id} X \xleftarrow{\id} X$$ in the category of cospans from $X$ to $X$ consists only of cospans $$X \xrightarrow{f} Y \xleftarrow{g} X$$ where $f=g$; hence when the category is also sifted, all cospans must be of this form, and so any two parallel morphisms are equal.' + reason: >- + For any object $X$ in a left-cancellative category, the connected component containing + $$X \xrightarrow{\id} X \xleftarrow{\id} X$$ + in the category of cospans from $X$ to $X$ consists only of cospans + $$X \xrightarrow{f} Y \xleftarrow{g} X$$ + where $f=g$; hence when the category is also sifted, all cospans must be of this form, and so any two parallel morphisms are equal. is_equivalence: false - id: terminal_object_yields_filtered diff --git a/databases/catdat/data/category-implications/filtered colimits.yaml b/databases/catdat/data/category-implications/filtered colimits.yaml index c623b352..54184796 100644 --- a/databases/catdat/data/category-implications/filtered colimits.yaml +++ b/databases/catdat/data/category-implications/filtered colimits.yaml @@ -14,7 +14,14 @@ - sequential colimits conclusions: - Cauchy complete - reason: 'Assume that $e : X \to X$ is an idempotent morphism. Consider the sequence $$X \xrightarrow{e} X \xrightarrow{e} X \to \cdots.$$ A cocone under this sequence is a family of morphisms $f_n : X \to Y$ satisfying $$f_n = f_{n+1} e.$$ Then $$f_n = f_{n+1} e = f_{n+2} e^2 = f_{n+2} e = f_{n+1}$$ shows that all the morphisms are equal. Thus, a cocone is the same as a morphism $f_0 : X \to Y$ with $f_0 = f_0 e$, meaning it coequalizes $\id_X,e : X \rightrightarrows X$. Hence, if a colimit exists, $e$ splits.' + reason: >- + Assume that $e : X \to X$ is an idempotent morphism. Consider the sequence + $$X \xrightarrow{e} X \xrightarrow{e} X \to \cdots.$$ + A cocone under this sequence is a family of morphisms $f_n : X \to Y$ satisfying + $$f_n = f_{n+1} e.$$ + Then + $$f_n = f_{n+1} e = f_{n+2} e^2 = f_{n+2} e = f_{n+1}$$ + shows that all the morphisms are equal. Thus, a cocone is the same as a morphism $f_0 : X \to Y$ with $f_0 = f_0 e$, meaning it coequalizes $\id_X,e : X \rightrightarrows X$. Hence, if a colimit exists, $e$ splits. is_equivalence: false - id: directed_limits_consequence diff --git a/databases/catdat/data/category-implications/thin.yaml b/databases/catdat/data/category-implications/thin.yaml index e138c6a5..46d0f256 100644 --- a/databases/catdat/data/category-implications/thin.yaml +++ b/databases/catdat/data/category-implications/thin.yaml @@ -70,7 +70,9 @@ - zero morphisms conclusions: - thin - reason: 'If $f,g : A \rightrightarrows B$ are two morphisms, then since $0_{B,B} = \id_B$ we have $$f = 0_{B,B} \circ f = 0_{A,B} = 0_{B,B} \circ g = g.$$' + reason: >- + If $f,g : A \rightrightarrows B$ are two morphisms, then since $0_{B,B} = \id_B$ we have + $$f = 0_{B,B} \circ f = 0_{A,B} = 0_{B,B} \circ g = g.$$ is_equivalence: false - id: direct_criterion diff --git a/databases/catdat/data/category-properties/CIP.yaml b/databases/catdat/data/category-properties/CIP.yaml index 6bd2af02..b3f7ebf0 100644 --- a/databases/catdat/data/category-properties/CIP.yaml +++ b/databases/catdat/data/category-properties/CIP.yaml @@ -1,6 +1,10 @@ id: CIP relation: satisfies -description: 'A category satisfies CIP ("coproducts inject into products") if it has zero morphisms, products, coproducts, and for every family of objects $(X_i)_{i \in I}$ the canonical morphism $$\textstyle \alpha : \coprod_i X_i \to \prod_{i \in I} X_i$$ defined by $p_j \circ \alpha \circ \iota_i = \delta_{i,j}$ is a monomorphism. This is no standard terminology. This property has been added to clarify relationships between other properties, in particular those concerning the commutation between limits and colimits.' +description: >- + A category satisfies CIP ("coproducts inject into products") if it has zero morphisms, products, coproducts, and for every family of objects $(X_i)_{i \in I}$ the canonical morphism + $$\textstyle \alpha : \coprod_i X_i \to \prod_{i \in I} X_i$$ + defined by $p_j \circ \alpha \circ \iota_i = \delta_{i,j}$ is a monomorphism. + This is no standard terminology. This property has been added to clarify relationships between other properties, in particular those concerning the commutation between limits and colimits. dual_property_id: CSP invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/CSP.yaml b/databases/catdat/data/category-properties/CSP.yaml index 72ba7ee5..4ce32191 100644 --- a/databases/catdat/data/category-properties/CSP.yaml +++ b/databases/catdat/data/category-properties/CSP.yaml @@ -1,6 +1,10 @@ id: CSP relation: satisfies -description: 'A category satisfies CSP ("coproducts surject onto products") if it has zero morphisms, products, coproducts, and for every family of objects $(X_i)_{i \in I}$ the canonical morphism $$\textstyle \alpha : \coprod_i X_i \to \prod_{i \in I} X_i$$ defined by $p_j \circ \alpha \circ \iota_i = \delta_{i,j}$ is an epimorphism. This is no standard terminology. This property has been added to clarify relationships between other properties, in particular those concerning the commutation between limits and colimits.' +description: >- + A category satisfies CSP ("coproducts surject onto products") if it has zero morphisms, products, coproducts, and for every family of objects $(X_i)_{i \in I}$ the canonical morphism + $$\textstyle \alpha : \coprod_i X_i \to \prod_{i \in I} X_i$$ + defined by $p_j \circ \alpha \circ \iota_i = \delta_{i,j}$ is an epimorphism. + This is no standard terminology. This property has been added to clarify relationships between other properties, in particular those concerning the commutation between limits and colimits. dual_property_id: CIP invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/biproducts.yaml b/databases/catdat/data/category-properties/biproducts.yaml index 9698097d..f3a91826 100644 --- a/databases/catdat/data/category-properties/biproducts.yaml +++ b/databases/catdat/data/category-properties/biproducts.yaml @@ -1,6 +1,10 @@ id: biproducts relation: has -description: 'A category has biproducts when it has zero morphisms, finite products (denoted $\times$), finite coproducts (denoted $\oplus$), and for every finite family of objects $A_1,\dotsc,A_n$ the canonical morphism $$\mu : A_1 \oplus \cdots \oplus A_n \to A_1 \times \cdots \times A_n$$ is an isomorphism. Such a category is also called semi-additive, and it is automatically enriched over commutative monoids: the sum of $f,g : A \rightrightarrows B$ is defined as: $$A \xrightarrow{(f,g)} B \times B \xrightarrow{\mu^{-1}} B \oplus B \xrightarrow{\nabla} B$$' +description: >- + A category has biproducts when it has zero morphisms, finite products (denoted $\times$), finite coproducts (denoted $\oplus$), and for every finite family of objects $A_1,\dotsc,A_n$ the canonical morphism + $$\mu : A_1 \oplus \cdots \oplus A_n \to A_1 \times \cdots \times A_n$$ + is an isomorphism. Such a category is also called semi-additive, and it is automatically enriched over commutative monoids: the sum of $f,g : A \rightrightarrows B$ is defined as: + $$A \xrightarrow{(f,g)} B \times B \xrightarrow{\mu^{-1}} B \oplus B \xrightarrow{\nabla} B$$ nlab_link: https://ncatlab.org/nlab/show/biproduct dual_property_id: biproducts invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/direct.yaml b/databases/catdat/data/category-properties/direct.yaml index 28aef0c0..301fb353 100644 --- a/databases/catdat/data/category-properties/direct.yaml +++ b/databases/catdat/data/category-properties/direct.yaml @@ -1,6 +1,9 @@ id: direct relation: is -description: 'A category is direct if it contains no infinite sequence of non-identity morphisms of the form $$\cdots \to A_2 \to A_1 \to A_0.$$ For example, a poset is direct iff it is well-founded.' +description: >- + A category is direct if it contains no infinite sequence of non-identity morphisms of the form + $$\cdots \to A_2 \to A_1 \to A_0.$$ + For example, a poset is direct iff it is well-founded. nlab_link: https://ncatlab.org/nlab/show/direct+category dual_property_id: inverse invariant_under_equivalences: false diff --git a/databases/catdat/data/category-properties/effective cocongruences.yaml b/databases/catdat/data/category-properties/effective cocongruences.yaml index 86a71278..43b2c0d1 100644 --- a/databases/catdat/data/category-properties/effective cocongruences.yaml +++ b/databases/catdat/data/category-properties/effective cocongruences.yaml @@ -1,6 +1,9 @@ id: effective cocongruences relation: has -description: '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.' +description: >- + 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. dual_property_id: effective congruences invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/effective congruences.yaml b/databases/catdat/data/category-properties/effective congruences.yaml index 717973b3..fe6bc845 100644 --- a/databases/catdat/data/category-properties/effective congruences.yaml +++ b/databases/catdat/data/category-properties/effective congruences.yaml @@ -1,6 +1,9 @@ id: effective congruences relation: has -description: '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.' +description: >- + 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. nlab_link: https://ncatlab.org/nlab/show/congruence dual_property_id: effective cocongruences invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/inverse.yaml b/databases/catdat/data/category-properties/inverse.yaml index a477dc60..f55b3e2c 100644 --- a/databases/catdat/data/category-properties/inverse.yaml +++ b/databases/catdat/data/category-properties/inverse.yaml @@ -1,6 +1,8 @@ id: inverse relation: is -description: 'A category is inverse if its dual is direct, i.e., if it contains no infinite sequence of non-identity morphisms of the form $$A_0 \to A_1 \to A_2 \to \cdots.$$' +description: >- + A category is inverse if its dual is direct, i.e., if it contains no infinite sequence of non-identity morphisms of the form + $$A_0 \to A_1 \to A_2 \to \cdots.$$ nlab_link: https://ncatlab.org/nlab/show/inverse+category dual_property_id: direct invariant_under_equivalences: false diff --git a/databases/catdat/data/category-properties/natural numbers object.yaml b/databases/catdat/data/category-properties/natural numbers object.yaml index c41dc7fc..bf4c4d22 100644 --- a/databases/catdat/data/category-properties/natural numbers object.yaml +++ b/databases/catdat/data/category-properties/natural numbers object.yaml @@ -1,7 +1,10 @@ id: natural numbers object relation: has a -description: |- - A natural numbers object (NNO) in a category with finite products is a triple $$(N,\, z : 1 \to N,\, s : N \to N)$$ satisfying the following universal property: for all $f : A \to X$, $g : X \to X$ there is a unique $\Phi : A \times N \to X$ such that $\Phi(a,z)=f(a)$ and $\Phi(a,s(n)) = g(\Phi(a,n))$ in element notation. +description: >- + A natural numbers object (NNO) in a category with finite products is a triple + $$(N,\, z : 1 \to N,\, s : N \to N)$$ + satisfying the following universal property: for all $f : A \to X$, $g : X \to X$ there is a unique $\Phi : A \times N \to X$ such that $\Phi(a,z)=f(a)$ and $\Phi(a,s(n)) = g(\Phi(a,n))$ in element notation. + This concept is an abstraction of the set of natural numbers, which indeed provide a NNO for the category of sets. We have used the parametrized definition here which is more natural (sic!) for categories that are not cartesian closed (cf. Johnstone, Part A, Remark 2.5.3). nlab_link: https://ncatlab.org/nlab/show/natural+numbers+object invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/quotient object classifier.yaml b/databases/catdat/data/category-properties/quotient object classifier.yaml index 73258294..fe682d6a 100644 --- a/databases/catdat/data/category-properties/quotient object classifier.yaml +++ b/databases/catdat/data/category-properties/quotient object classifier.yaml @@ -1,7 +1,9 @@ id: quotient object classifier relation: has a -description: |- - A category $\C$ has a quotient object classifier if its dual has a subobject classifier. This means that it has finite colimits and an epimorphism* $\top : \Psi \twoheadrightarrow 0$ such that for every epimorphism $e : A \twoheadrightarrow B$ there is a unique morphism $\psi_e : \Psi \to A$ such that $$\begin{CD} \Psi @>{\top}>> 0 \\ @V{\psi_e}VV @VV{!}V \\ A @>>{e}> B \end{CD}$$ is a pushout diagram. Equivalently, the functor $\Quot : \C \to \Set^+$ is representable. +description: >- + A category $\C$ has a quotient object classifier if its dual has a subobject classifier. This means that it has finite colimits and an epimorphism* $\top : \Psi \twoheadrightarrow 0$ such that for every epimorphism $e : A \twoheadrightarrow B$ there is a unique morphism $\psi_e : \Psi \to A$ such that + $$\begin{CD} \Psi @>{\top}>> 0 \\ @V{\psi_e}VV @VV{!}V \\ A @>>{e}> B \end{CD}$$ + is a pushout diagram. Equivalently, the functor $\Quot : \C \to \Set^+$ is representable. *Every morphism $\Psi \to 0$ is a split epimorphism anyway. dual_property_id: subobject classifier invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/regular quotient object classifier.yaml b/databases/catdat/data/category-properties/regular quotient object classifier.yaml index 4b117acc..c3db87b4 100644 --- a/databases/catdat/data/category-properties/regular quotient object classifier.yaml +++ b/databases/catdat/data/category-properties/regular quotient object classifier.yaml @@ -1,7 +1,9 @@ id: regular quotient object classifier relation: has a -description: |- - A category $\C$ has a regular quotient object classifier if its dual has a regular subobject classifier. This means that it has finite colimits and a regular epimorphism* $\top : \Psi \twoheadrightarrow 0$ such that for every regular epimorphism $e : A \twoheadrightarrow B$ there is a unique morphism $\psi_e : \Psi \to A$ such that $$\begin{CD} \Psi @>{\top}>> 0 \\ @V{\psi_e}VV @VV{!}V \\ A @>>{e}> B \end{CD}$$ is a pushout diagram. Equivalently, the functor $\Quot_{\reg} : \C \to \Set^+$ is representable. +description: >- + A category $\C$ has a regular quotient object classifier if its dual has a regular subobject classifier. This means that it has finite colimits and a regular epimorphism* $\top : \Psi \twoheadrightarrow 0$ such that for every regular epimorphism $e : A \twoheadrightarrow B$ there is a unique morphism $\psi_e : \Psi \to A$ such that + $$\begin{CD} \Psi @>{\top}>> 0 \\ @V{\psi_e}VV @VV{!}V \\ A @>>{e}> B \end{CD}$$ + is a pushout diagram. Equivalently, the functor $\Quot_{\reg} : \C \to \Set^+$ is representable. *Every morphism $\Psi \to 0$ is a split epimorphism anyway. dual_property_id: regular subobject classifier invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/regular subobject classifier.yaml b/databases/catdat/data/category-properties/regular subobject classifier.yaml index 83d58227..efd70a13 100644 --- a/databases/catdat/data/category-properties/regular subobject classifier.yaml +++ b/databases/catdat/data/category-properties/regular subobject classifier.yaml @@ -1,7 +1,9 @@ id: regular subobject classifier relation: has a -description: |- - A category $\C$ has a regular subobject classifier if it has finite limits and a regular monomorphism* $\top : 1 \hookrightarrow \Omega$ such that for every regular monomorphism $m : A \hookrightarrow B$ there is a unique morphism $\chi_m : B \to \Omega$ such that $$\begin{CD} A @>{m}>> B \\ @V{!}VV @VV{\chi_m}V \\ 1 @>>{\top}> \Omega \end{CD}$$ is a pullback diagram. Equivalently, the functor $\Sub_{\reg} : \C^{\op} \to \Set^+$ is representable. +description: >- + A category $\C$ has a regular subobject classifier if it has finite limits and a regular monomorphism* $\top : 1 \hookrightarrow \Omega$ such that for every regular monomorphism $m : A \hookrightarrow B$ there is a unique morphism $\chi_m : B \to \Omega$ such that + $$\begin{CD} A @>{m}>> B \\ @V{!}VV @VV{\chi_m}V \\ 1 @>>{\top}> \Omega \end{CD}$$ + is a pullback diagram. Equivalently, the functor $\Sub_{\reg} : \C^{\op} \to \Set^+$ is representable. *Every morphism $1 \to \Omega$ is a split monomorphism and hence regular anyway. nlab_link: https://ncatlab.org/nlab/show/subobject+classifier dual_property_id: regular quotient object classifier diff --git a/databases/catdat/data/category-properties/sifted.yaml b/databases/catdat/data/category-properties/sifted.yaml index 6631ddb7..0e7b7293 100644 --- a/databases/catdat/data/category-properties/sifted.yaml +++ b/databases/catdat/data/category-properties/sifted.yaml @@ -1,6 +1,9 @@ id: sifted relation: is -description: 'A category $\C$ is sifted if it is inhabited and the diagonal functor $\Delta : \C \to \C \times \C$ is final, i.e. if it is non-empty and for any two objects $X,Y \in \C$ the category of cospans $$X \rightarrow Z \leftarrow Y$$ is connected. Equivalently, a small category $\C$ is sifted if $\colim : \Set^{\C} \to \Set$ preserves finite products. This property is a weaker notion than being filtered.' +description: >- + A category $\C$ is sifted if it is inhabited and the diagonal functor $\Delta : \C \to \C \times \C$ is final, i.e. if it is non-empty and for any two objects $X,Y \in \C$ the category of cospans + $$X \rightarrow Z \leftarrow Y$$ + is connected. Equivalently, a small category $\C$ is sifted if $\colim : \Set^{\C} \to \Set$ preserves finite products. This property is a weaker notion than being filtered. nlab_link: https://ncatlab.org/nlab/show/sifted+category dual_property_id: cosifted invariant_under_equivalences: true diff --git a/databases/catdat/data/category-properties/subobject classifier.yaml b/databases/catdat/data/category-properties/subobject classifier.yaml index 5ce08bad..6d0175b7 100644 --- a/databases/catdat/data/category-properties/subobject classifier.yaml +++ b/databases/catdat/data/category-properties/subobject classifier.yaml @@ -1,7 +1,9 @@ id: subobject classifier relation: has a -description: |- - A category $\C$ has a subobject classifier if it has finite limits and a monomorphism* $\top : 1 \hookrightarrow \Omega$ such that for every monomorphism $m : A \hookrightarrow B$ there is a unique morphism $\chi_m : B \to \Omega$ such that $$\begin{CD} A @>{m}>> B \\ @V{!}VV @VV{\chi_m}V \\ 1 @>>{\top}> \Omega \end{CD}$$ is a pullback diagram. Equivalently, the functor $\Sub : \C^{\op} \to \Set^+$ is representable. +description: >- + A category $\C$ has a subobject classifier if it has finite limits and a monomorphism* $\top : 1 \hookrightarrow \Omega$ such that for every monomorphism $m : A \hookrightarrow B$ there is a unique morphism $\chi_m : B \to \Omega$ such that + $$\begin{CD} A @>{m}>> B \\ @V{!}VV @VV{\chi_m}V \\ 1 @>>{\top}> \Omega \end{CD}$$ + is a pullback diagram. Equivalently, the functor $\Sub : \C^{\op} \to \Set^+$ is representable. *Every morphism $1 \to \Omega$ is a split monomorphism anyway. nlab_link: https://ncatlab.org/nlab/show/subobject+classifier dual_property_id: quotient object classifier diff --git a/databases/catdat/data/lemmas/coslice-effective-congruences.yaml b/databases/catdat/data/lemmas/coslice-effective-congruences.yaml index a4766f3c..b0479b32 100644 --- a/databases/catdat/data/lemmas/coslice-effective-congruences.yaml +++ b/databases/catdat/data/lemmas/coslice-effective-congruences.yaml @@ -4,6 +4,11 @@ title: Inheritance of effective congruences in coslice categories claim: 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$. -proof: |- - 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 \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$. +proof: >- + 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 \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/databases/catdat/data/lemmas/effective-congruence-quotients.yaml b/databases/catdat/data/lemmas/effective-congruence-quotients.yaml index 74b28901..e1780f6d 100644 --- a/databases/catdat/data/lemmas/effective-congruence-quotients.yaml +++ b/databases/catdat/data/lemmas/effective-congruence-quotients.yaml @@ -2,6 +2,15 @@ id: effective-congruence-quotients title: Quotients of effective congruences are strict quotients -claim: '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}$$' +claim: >- + 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}$$ -proof: '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.' +proof: >- + 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. diff --git a/databases/catdat/data/lemmas/exact_filtered_colimits_descend.yaml b/databases/catdat/data/lemmas/exact_filtered_colimits_descend.yaml index 9b9310e4..00fa6688 100644 --- a/databases/catdat/data/lemmas/exact_filtered_colimits_descend.yaml +++ b/databases/catdat/data/lemmas/exact_filtered_colimits_descend.yaml @@ -4,4 +4,12 @@ title: Exact filtered colimits descend to nice subcategories claim: 'Let $G : \C \to \D$ be a fully faithful functor with a left adjoint $F : \D \to \C$ that preserves finite limits. Assume that $\D$ has exact filtered colimits and that $\C$ has finite limits. Then $\C$ has exact filtered colimits as well.' -proof: 'It is well-known (and easy to prove) that the colimit of a diagram $(X_j)$ in $\C$ is constructed as $F(\colim_j G(X_j))$, provided that colimit in $\D$ exists. In particular, $\C$ has filtered colimits. By assumption, it also has finite limits, and $G$ preserves these since it is a right adjoint. Now let $X : \I \times \J \to \C$ be a diagram, where $\I$ is finite and $\J$ is filtered. We compute: $$\begin{align*} \colim_j {\lim}_i X(i,j) & \cong F(\colim_j G({\lim}_i X(i,j))) \\ & \cong F(\colim_j {\lim}_i G(X(i,j))) \\ & \cong F({\lim}_i \colim_j G(X(i,j))) \\ & \cong {\lim}_i F(\colim_j G(X(i,j))) \\ & \cong {\lim}_i \colim_j X(i,j) \end{align*}$$' +proof: >- + It is well-known (and easy to prove) that the colimit of a diagram $(X_j)$ in $\C$ is constructed as $F(\colim_j G(X_j))$, provided that colimit in $\D$ exists. In particular, $\C$ has filtered colimits. By assumption, it also has finite limits, and $G$ preserves these since it is a right adjoint. Now let $X : \I \times \J \to \C$ be a diagram, where $\I$ is finite and $\J$ is filtered. We compute: + $$\begin{align*} + \colim_j {\lim}_i X(i,j) & \cong F(\colim_j G({\lim}_i X(i,j))) \\ + & \cong F(\colim_j {\lim}_i G(X(i,j))) \\ + & \cong F({\lim}_i \colim_j G(X(i,j))) \\ + & \cong {\lim}_i F(\colim_j G(X(i,j))) \\ + & \cong {\lim}_i \colim_j X(i,j) + \end{align*}$$ diff --git a/databases/catdat/data/lemmas/nno_distributive_criterion.yaml b/databases/catdat/data/lemmas/nno_distributive_criterion.yaml index cc24b3e2..f8926df4 100644 --- a/databases/catdat/data/lemmas/nno_distributive_criterion.yaml +++ b/databases/catdat/data/lemmas/nno_distributive_criterion.yaml @@ -2,9 +2,26 @@ id: nno_distributive_criterion title: Natural number objects indicate distributivity -claim: 'Let $\C$ be a category with finite products, arbitrary copowers (denoted $\otimes$), and a natural numbers object $1 \xrightarrow{z} N \xrightarrow{s} N$. Then there is an isomorphism $N \cong \IN \otimes 1$, and for every object $A$ the natural morphism $$\alpha : \IN \otimes A \to A \times (\IN \otimes 1)$$ is a split monomorphism.' +claim: >- + Let $\C$ be a category with finite products, arbitrary copowers (denoted $\otimes$), and a natural numbers object $1 \xrightarrow{z} N \xrightarrow{s} N$. Then there is an isomorphism $N \cong \IN \otimes 1$, and for every object $A$ the natural morphism + $$\alpha : \IN \otimes A \to A \times (\IN \otimes 1)$$ + is a split monomorphism. -proof: |- - We will use generalized elements extensively. In particular, for every element $a \in A$ and $n \in \IN$ there is an element $n \otimes a \in \IN \otimes A$, formally defined by the $n$th coproduct inclusion. The morphism $\alpha$ is defined by $$\alpha(n \otimes a) = (a , n \otimes 1).$$ In any category with finite products and arbitrary copowers, we can construct the non-parameterized NNO $\IN \otimes 1$ with the element $0 \otimes 1 \in \IN \otimes 1$ and the map $$s : \IN \otimes 1 \to \IN \otimes 1, \quad s(n \otimes 1) := (n+1) \otimes 1.$$ Its universal property states that it is initial in the category of pairs $1 \xrightarrow{x_0} X \xrightarrow{r} X$. Hence, it is unique up to isomorphism. Since by assumption $1 \xrightarrow{z} N \xrightarrow{s} N$ is a full, parameterized NNO, it is also a non-parameterized NNO and therefore isomorphic to the one described. We will assume w.l.o.g. that it is equal to it and continue to work with $N = \IN \otimes 1$. +proof: >- + We will use generalized elements extensively. In particular, for every element $a \in A$ and $n \in \IN$ there is an element $n \otimes a \in \IN \otimes A$, formally defined by the $n$th coproduct inclusion. The morphism $\alpha$ is defined by + $$\alpha(n \otimes a) = (a , n \otimes 1).$$ + In any category with finite products and arbitrary copowers, we can construct the non-parameterized NNO $\IN \otimes 1$ with the element $0 \otimes 1 \in \IN \otimes 1$ and the map + $$s : \IN \otimes 1 \to \IN \otimes 1, \quad s(n \otimes 1) := (n+1) \otimes 1.$$ + Its universal property states that it is initial in the category of pairs $1 \xrightarrow{x_0} X \xrightarrow{r} X$. Hence, it is unique up to isomorphism. Since by assumption $1 \xrightarrow{z} N \xrightarrow{s} N$ is a full, parameterized NNO, it is also a non-parameterized NNO and therefore isomorphic to the one described. We will assume w.l.o.g. that it is equal to it and continue to work with $N = \IN \otimes 1$. - Next, we apply the (parameterized) universal property of the NNO to the diagram $$A \xrightarrow{f} \IN \otimes A \xrightarrow{g} \IN \otimes A$$ defined by $f(a) := 0 \otimes a$ and $g(n \otimes a) := (n+1) \otimes a$. It tells us that there is a map $$\Phi : A \times N \to \IN \otimes A$$ with $$\Phi(a,0 \otimes 1) = 0 \otimes a, \quad \Phi(a, s(m)) = g(\Phi(a,m)).$$ For $m := n \otimes 1 \in N$ (where $n \in \IN$) the second equation reads $$\Phi(a, (n+1) \otimes 1) = g(\Phi(a, n \otimes 1)).$$ By classical induction on $n \in \IN$ it follows that $$\Phi(a, n \otimes 1) = n \otimes a,$$ which exactly means $\Phi \circ \alpha = \id_{\IN \otimes A}$. + Next, we apply the (parameterized) universal property of the NNO to the diagram + $$A \xrightarrow{f} \IN \otimes A \xrightarrow{g} \IN \otimes A$$ + defined by $f(a) := 0 \otimes a$ and $g(n \otimes a) := (n+1) \otimes a$. It tells us that there is a map + $$\Phi : A \times N \to \IN \otimes A$$ + with + $$\Phi(a,0 \otimes 1) = 0 \otimes a, \quad \Phi(a, s(m)) = g(\Phi(a,m)).$$ + For $m := n \otimes 1 \in N$ (where $n \in \IN$) the second equation reads + $$\Phi(a, (n+1) \otimes 1) = g(\Phi(a, n \otimes 1)).$$ + By classical induction on $n \in \IN$ it follows that + $$\Phi(a, n \otimes 1) = n \otimes a,$$ + which exactly means $\Phi \circ \alpha = \id_{\IN \otimes A}$. diff --git a/databases/catdat/data/lemmas/preadditive_structure_unique.yaml b/databases/catdat/data/lemmas/preadditive_structure_unique.yaml index b620987b..a6118dba 100644 --- a/databases/catdat/data/lemmas/preadditive_structure_unique.yaml +++ b/databases/catdat/data/lemmas/preadditive_structure_unique.yaml @@ -2,6 +2,25 @@ id: preadditive_structure_unique title: Uniqueness of preadditive structures -claim: 'Let $\C$ be a preadditive category (or more generally, a category enriched in commutative monoids) with finite products and finite coproducts. Then for all objects $X,Y$ the canonical morphism $$\alpha : X \oplus Y \to X \times Y$$ is an isomorphism. Moreover, the preadditive structure is unique: If $f,g : A \rightrightarrows B$ are morphisms, their sum $$f+g : A \to B$$ is the composite of $(f,g) : A \to B \times B$, the inverse $\alpha^{-1} : B \oplus B \to B \times B$, and the codiagonal $\nabla : B \oplus B \to B$.' +claim: >- + Let $\C$ be a preadditive category (or more generally, a category enriched in commutative monoids) with finite products and finite coproducts. Then for all objects $X,Y$ the canonical morphism + $$\alpha : X \oplus Y \to X \times Y$$ + is an isomorphism. Moreover, the preadditive structure is unique: If $f,g : A \rightrightarrows B$ are morphisms, their sum + $$f+g : A \to B$$ + is the composite of $(f,g) : A \to B \times B$, the inverse $\alpha^{-1} : B \oplus B \to B \times B$, and the codiagonal $\nabla : B \oplus B \to B$.' -proof: 'The morphism $\alpha : X \oplus Y \to X \times Y$ is defined by the equations $$p_1 \circ \alpha \circ i_1 = \id_X, \quad p_2 \circ \alpha \circ i_2 = \id_Y,$$ $$p_2 \circ \alpha \circ i_1 = 0,\quad p_1 \circ \alpha \circ i_2 = 0.$$ It does not depend on the choice of preadditive structure since zero morphisms are unique. It is an isomorphism: Define $$\beta := i_1 \circ p_1 + i_2 \circ p_2 : X \times Y \to X \oplus Y.$$ Then $\alpha \circ \beta = \id_{X \times Y}$ because $$p_1 \circ \alpha \circ \beta = p_1 \circ \alpha \circ i_1 \circ p_1 + p_1 \circ \alpha \circ i_2 \circ p_2 = \id_1 \circ p_1 + 0 \circ p_2 = p_1$$ and likewise $p_2 \circ \alpha \circ \beta = p_2$. We also have $\beta \circ \alpha = \id_{X \oplus Y}$ with a very similar calculation that shows $\beta \circ \alpha \circ i_1 = i_1$ and $\beta \circ \alpha \circ i_2 = i_2$. Therefore, for morphisms $f,g : A \rightrightarrows B$ the composite $A \to B$ in the claim is equal to $$\begin{align*} \nabla \circ \beta \circ (f,g) & = \nabla \circ (i_1 \circ p_1 + i_2 \circ p_2) \circ (f,g) \\ & = \nabla \circ i_1 \circ p_1 \circ (f,g) + \nabla \circ i_2 \circ p_2 \circ (f,g) \\ & = p_1 \circ (f,g) + p_2 \circ (f,g) \\ & = f + g. \end{align*}$$' +proof: >- + The morphism $\alpha : X \oplus Y \to X \times Y$ is defined by the equations + $$p_1 \circ \alpha \circ i_1 = \id_X, \quad p_2 \circ \alpha \circ i_2 = \id_Y,$$ + $$p_2 \circ \alpha \circ i_1 = 0,\quad p_1 \circ \alpha \circ i_2 = 0.$$ + It does not depend on the choice of preadditive structure since zero morphisms are unique. It is an isomorphism: Define + $$\beta := i_1 \circ p_1 + i_2 \circ p_2 : X \times Y \to X \oplus Y.$$ + Then $\alpha \circ \beta = \id_{X \times Y}$ because + $$p_1 \circ \alpha \circ \beta = p_1 \circ \alpha \circ i_1 \circ p_1 + p_1 \circ \alpha \circ i_2 \circ p_2 = \id_1 \circ p_1 + 0 \circ p_2 = p_1$$ + and likewise $p_2 \circ \alpha \circ \beta = p_2$. We also have $\beta \circ \alpha = \id_{X \oplus Y}$ with a very similar calculation that shows $\beta \circ \alpha \circ i_1 = i_1$ and $\beta \circ \alpha \circ i_2 = i_2$. Therefore, for morphisms $f,g : A \rightrightarrows B$ the composite $A \to B$ in the claim is equal to + $$\begin{align*} + \nabla \circ \beta \circ (f,g) & = \nabla \circ (i_1 \circ p_1 + i_2 \circ p_2) \circ (f,g) \\ + & = \nabla \circ i_1 \circ p_1 \circ (f,g) + \nabla \circ i_2 \circ p_2 \circ (f,g) \\ + & = p_1 \circ (f,g) + p_2 \circ (f,g) \\ + & = f + g. + \end{align*}$$ diff --git a/databases/catdat/data/lemmas/special_sequential_colimits.yaml b/databases/catdat/data/lemmas/special_sequential_colimits.yaml index 24432a60..91e09bcf 100644 --- a/databases/catdat/data/lemmas/special_sequential_colimits.yaml +++ b/databases/catdat/data/lemmas/special_sequential_colimits.yaml @@ -4,7 +4,12 @@ title: Finite structures usually have no sequential colimits claim: 'Let $\C$ be a category with finite powers, including a terminal object $1$. Let $a : 1 \to X$ be a morphism. Assume that the sequence of morphisms $(X^n,a) : X^n \to X^{n+1}$ for $n \geq 0$ admits a colimit $(i_n : X^n \to C)$. Then for every $m \geq 0$ there is a split epimorphism $C \to X^m$. In particular, if $U : \C \to \Set$ is a functor preserving finite powers and $\card(U(X)) \geq 2$, then $U(C)$ is infinite.' -proof: |- - Let $m \geq 0$ be fixed. For $n \geq 0$ we define a morphism $u_n : X^n \to X^m$ as follows: It is the projection on the first $m$ factors for $m \leq n$, and $(X^n,a^{m-n})$ for $m \geq n$ (for $m=n$ these agree). With generalized elements this says: $$u_n(x_1,\dotsc,x_n) = \begin{cases} (x_1,\dotsc,x_m) & m \leq n \\ (x_1,\dotsc,x_n,a,\dotsc,a) & m \geq n \end{cases}$$ We claim that $u_n = u_{n+1} \circ (X^n,a)$, i.e. $$u_n(x_1,\dotsc,x_n) = u_{n+1}(x_1,\dotsc,x_n,a).$$ If $m \leq n$ (hence, $m \leq n+1$), both sides are equal to $(x_1,\dotsc,x_m)$. If $m > n$, i.e. $m \geq n+1$, both sides are equal to $(x_1,\dotsc,x_n,a,\dotsc,a)$. This proves the claim. +proof: >- + Let $m \geq 0$ be fixed. For $n \geq 0$ we define a morphism $u_n : X^n \to X^m$ as follows: It is the projection on the first $m$ factors for $m \leq n$, and $(X^n,a^{m-n})$ for $m \geq n$ (for $m=n$ these agree). With generalized elements this says: + $$u_n(x_1,\dotsc,x_n) = \begin{cases} (x_1,\dotsc,x_m) & m \leq n \\ (x_1,\dotsc,x_n,a,\dotsc,a) & m \geq n \end{cases}$$ + We claim that $u_n = u_{n+1} \circ (X^n,a)$, i.e. + $$u_n(x_1,\dotsc,x_n) = u_{n+1}(x_1,\dotsc,x_n,a).$$ + If $m \leq n$ (hence, $m \leq n+1$), both sides are equal to $(x_1,\dotsc,x_m)$. If $m > n$, i.e. $m \geq n+1$, both sides are equal to $(x_1,\dotsc,x_n,a,\dotsc,a)$. This proves the claim. + Hence, there is a unique morphism $\varphi : C \to X^m$ such that $\varphi \circ i_n = u_n$ for all $n \geq 0$. Since $u_m$ is the identity, $\varphi$ is a split epimorphism. If $U$ is a functor with the mentioned properties, $U(\varphi)$ is also a split epimorphism from $U(C)$ to $U(X^m) \cong U(X)^m$, and $U(X)^m$ has $\geq 2^m$ elements. This holds for all $m$, so that $U(C)$ is infinite. From 6a2c170464308d2164b17a204f29b1b2d30bad51 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Mon, 11 May 2026 15:09:51 +0200 Subject: [PATCH 21/22] rename file --- databases/catdat/scripts/seed.ts | 2 +- databases/catdat/scripts/{yaml.types.ts => seed.types.ts} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename databases/catdat/scripts/{yaml.types.ts => seed.types.ts} (100%) diff --git a/databases/catdat/scripts/seed.ts b/databases/catdat/scripts/seed.ts index a95b7e35..af08d5ff 100644 --- a/databases/catdat/scripts/seed.ts +++ b/databases/catdat/scripts/seed.ts @@ -11,7 +11,7 @@ import type { FunctorImplicationYaml, FunctorPropertyYaml, FunctorYaml, -} from './yaml.types' +} from './seed.types' import { create_schema_hash, get_saved_schema_hash } from './schema.utils' const db = get_client() diff --git a/databases/catdat/scripts/yaml.types.ts b/databases/catdat/scripts/seed.types.ts similarity index 100% rename from databases/catdat/scripts/yaml.types.ts rename to databases/catdat/scripts/seed.types.ts From 89e925d351a1cd7f9514fb4a89895ed3aa7f4a7d Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Mon, 11 May 2026 15:26:09 +0200 Subject: [PATCH 22/22] always pass nlab_link and description in category yaml file, null is allowed --- databases/catdat/data/categories/2.yaml | 1 + databases/catdat/data/categories/Ab_fg.yaml | 1 + databases/catdat/data/categories/BN.yaml | 1 + databases/catdat/data/categories/BOn.yaml | 1 + databases/catdat/data/categories/CMon.yaml | 1 + databases/catdat/data/categories/CRing.yaml | 1 + databases/catdat/data/categories/FI.yaml | 1 + databases/catdat/data/categories/FS.yaml | 1 + databases/catdat/data/categories/FinAb.yaml | 1 + databases/catdat/data/categories/FinGrp.yaml | 1 + databases/catdat/data/categories/FinSet.yaml | 1 + databases/catdat/data/categories/FreeAb.yaml | 2 ++ databases/catdat/data/categories/LRS.yaml | 1 + databases/catdat/data/categories/Mon.yaml | 1 + databases/catdat/data/categories/N.yaml | 1 + databases/catdat/data/categories/N_oo.yaml | 2 ++ databases/catdat/data/categories/On.yaml | 1 + databases/catdat/data/categories/PMet.yaml | 1 + databases/catdat/data/categories/Rng.yaml | 1 + databases/catdat/data/categories/Sch.yaml | 1 + databases/catdat/data/categories/Set_c.yaml | 1 + databases/catdat/data/categories/Set_f.yaml | 1 + databases/catdat/data/categories/SetxSet.yaml | 1 + databases/catdat/data/categories/Z.yaml | 1 + databases/catdat/data/categories/Z_div.yaml | 1 + databases/catdat/data/categories/sSet.yaml | 1 + .../catdat/data/categories/walking_coreflexive_pair.yaml | 2 +- databases/catdat/data/categories/walking_fork.yaml | 1 + databases/catdat/data/categories/walking_idempotent.yaml | 1 + databases/catdat/data/categories/walking_splitting.yaml | 2 +- databases/catdat/scripts/seed.ts | 4 ++-- databases/catdat/scripts/seed.types.ts | 4 ++-- 32 files changed, 36 insertions(+), 6 deletions(-) diff --git a/databases/catdat/data/categories/2.yaml b/databases/catdat/data/categories/2.yaml index 823275eb..d9d7bbea 100644 --- a/databases/catdat/data/categories/2.yaml +++ b/databases/catdat/data/categories/2.yaml @@ -4,6 +4,7 @@ notation: $\2$ objects: two objects $0$ and $1$ morphisms: only the two identity morphisms description: A concrete representation is the full subcategory of $\CRing$ consisting of the two fields $\IF_2$ and $\IF_3$. +nlab_link: null tags: - finite diff --git a/databases/catdat/data/categories/Ab_fg.yaml b/databases/catdat/data/categories/Ab_fg.yaml index 73207667..99c67ed3 100644 --- a/databases/catdat/data/categories/Ab_fg.yaml +++ b/databases/catdat/data/categories/Ab_fg.yaml @@ -3,6 +3,7 @@ name: category of finitely generated abelian groups notation: $\Ab_{\fg}$ objects: finitely generated abelian groups morphisms: group homomorphisms +description: null nlab_link: https://ncatlab.org/nlab/show/finitely+generated+module tags: diff --git a/databases/catdat/data/categories/BN.yaml b/databases/catdat/data/categories/BN.yaml index 2944ba26..9e4818f4 100644 --- a/databases/catdat/data/categories/BN.yaml +++ b/databases/catdat/data/categories/BN.yaml @@ -4,6 +4,7 @@ notation: $B\IN$ objects: a single object morphisms: the natural numbers, with addition serving as composition description: Every monoid $M$ induces a category $BM$ with a single object $*$, morphisms given by the elements of $M$, and composition given by the monoid operation. Some of the properties of this category depend on the specific monoid. In this example, we take the commutative monoid $M = (\IN,+,0)$, so composition is $n \circ m = n + m$. +nlab_link: null tags: - category theory diff --git a/databases/catdat/data/categories/BOn.yaml b/databases/catdat/data/categories/BOn.yaml index 2381bceb..2948ebde 100644 --- a/databases/catdat/data/categories/BOn.yaml +++ b/databases/catdat/data/categories/BOn.yaml @@ -4,6 +4,7 @@ notation: $B\On$ objects: a single object morphisms: ordinal numbers, with addition as composition description: Every monoid $M$ induces a category $BM$ with a single object $*$. This also works when $M$ is large, in which case $BM$ is not locally small. In this example, we apply this construction to the large monoid of ordinal numbers with respect to addition, so composition is $\alpha \circ \beta = \alpha + \beta$. +nlab_link: null tags: - set theory diff --git a/databases/catdat/data/categories/CMon.yaml b/databases/catdat/data/categories/CMon.yaml index d8410266..48f84f67 100644 --- a/databases/catdat/data/categories/CMon.yaml +++ b/databases/catdat/data/categories/CMon.yaml @@ -3,6 +3,7 @@ name: category of commutative monoids notation: $\CMon$ objects: commutative monoids morphisms: monoid homomorphisms +description: null nlab_link: https://ncatlab.org/nlab/show/category+of+monoids tags: diff --git a/databases/catdat/data/categories/CRing.yaml b/databases/catdat/data/categories/CRing.yaml index c9865fc0..ac764981 100644 --- a/databases/catdat/data/categories/CRing.yaml +++ b/databases/catdat/data/categories/CRing.yaml @@ -3,6 +3,7 @@ name: category of commutative rings notation: $\CRing$ objects: commutative rings morphisms: ring homomorphisms +description: null nlab_link: https://ncatlab.org/nlab/show/CRing tags: diff --git a/databases/catdat/data/categories/FI.yaml b/databases/catdat/data/categories/FI.yaml index dbb85ca2..f029b94d 100644 --- a/databases/catdat/data/categories/FI.yaml +++ b/databases/catdat/data/categories/FI.yaml @@ -4,6 +4,7 @@ notation: $\FI$ objects: finite sets morphisms: injective maps description: This category is badly-behaved in itself, but plays an important role in representation theory. +nlab_link: null tags: - combinatorics diff --git a/databases/catdat/data/categories/FS.yaml b/databases/catdat/data/categories/FS.yaml index 4ae95fca..408ace2d 100644 --- a/databases/catdat/data/categories/FS.yaml +++ b/databases/catdat/data/categories/FS.yaml @@ -4,6 +4,7 @@ notation: $\FS$ objects: finite sets morphisms: surjective maps description: This category is badly-behaved in itself, but it appears in representation theory. It has two connected components, consisting of the empty set and the non-empty finite sets. +nlab_link: null tags: - combinatorics diff --git a/databases/catdat/data/categories/FinAb.yaml b/databases/catdat/data/categories/FinAb.yaml index d4276a28..179f1a09 100644 --- a/databases/catdat/data/categories/FinAb.yaml +++ b/databases/catdat/data/categories/FinAb.yaml @@ -3,6 +3,7 @@ name: category of finite abelian groups notation: $\FinAb$ objects: finite abelian groups morphisms: group homomorphisms +description: null nlab_link: https://ncatlab.org/nlab/show/finite+abelian+group tags: diff --git a/databases/catdat/data/categories/FinGrp.yaml b/databases/catdat/data/categories/FinGrp.yaml index 90ad0d0a..7d9ea887 100644 --- a/databases/catdat/data/categories/FinGrp.yaml +++ b/databases/catdat/data/categories/FinGrp.yaml @@ -3,6 +3,7 @@ name: category of finite groups notation: $\FinGrp$ objects: finite groups morphisms: group homomorphisms +description: null nlab_link: https://ncatlab.org/nlab/show/finite+group tags: diff --git a/databases/catdat/data/categories/FinSet.yaml b/databases/catdat/data/categories/FinSet.yaml index 20fe7d2e..338ca125 100644 --- a/databases/catdat/data/categories/FinSet.yaml +++ b/databases/catdat/data/categories/FinSet.yaml @@ -3,6 +3,7 @@ name: category of finite sets notation: $\FinSet$ objects: finite sets morphisms: maps +description: null nlab_link: https://ncatlab.org/nlab/show/FinSet tags: diff --git a/databases/catdat/data/categories/FreeAb.yaml b/databases/catdat/data/categories/FreeAb.yaml index e1cb9daf..1ebfacff 100644 --- a/databases/catdat/data/categories/FreeAb.yaml +++ b/databases/catdat/data/categories/FreeAb.yaml @@ -3,6 +3,8 @@ name: category of free abelian groups notation: $\FreeAb$ objects: free abelian groups morphisms: group homomorphisms +description: null +nlab_link: null tags: - algebra diff --git a/databases/catdat/data/categories/LRS.yaml b/databases/catdat/data/categories/LRS.yaml index 04332d41..47c6ce44 100644 --- a/databases/catdat/data/categories/LRS.yaml +++ b/databases/catdat/data/categories/LRS.yaml @@ -3,6 +3,7 @@ name: category of locally ringed spaces notation: $\LRS$ objects: locally ringed spaces morphisms: morphisms of locally ringed spaces, thus consisting of a continuous map and a homomorphism of sheaves that induces local ring homomorphisms in the stalks +description: null nlab_link: https://ncatlab.org/nlab/show/locally+ringed+topological+space tags: diff --git a/databases/catdat/data/categories/Mon.yaml b/databases/catdat/data/categories/Mon.yaml index c67ce7b2..e0d3f623 100644 --- a/databases/catdat/data/categories/Mon.yaml +++ b/databases/catdat/data/categories/Mon.yaml @@ -3,6 +3,7 @@ name: category of monoids notation: $\Mon$ objects: monoids morphisms: monoid homomorphisms +description: null nlab_link: https://ncatlab.org/nlab/show/category+of+monoids tags: diff --git a/databases/catdat/data/categories/N.yaml b/databases/catdat/data/categories/N.yaml index 63601b1b..d1602a28 100644 --- a/databases/catdat/data/categories/N.yaml +++ b/databases/catdat/data/categories/N.yaml @@ -4,6 +4,7 @@ notation: $(\IN,\leq)$ objects: natural numbers $0, 1, 2, \dotsc$ morphisms: 'a unique morphism $(n,m) : n \to m$ if $n \leq m$' description: This can also be seen as the path category of the infinite linear graph $\bullet \to \bullet \to \bullet \to \cdots$. +nlab_link: null tags: - number theory diff --git a/databases/catdat/data/categories/N_oo.yaml b/databases/catdat/data/categories/N_oo.yaml index 21438304..72a1271e 100644 --- a/databases/catdat/data/categories/N_oo.yaml +++ b/databases/catdat/data/categories/N_oo.yaml @@ -3,6 +3,8 @@ name: poset of extended natural numbers notation: $(\IN_\infty, \leq)$ objects: natural numbers and $\infty$ morphisms: 'a unique morphism $(n, m) : n \to m$ if $n \leq m$, where of course $n \leq \infty$ for all $n$' +description: null +nlab_link: null tags: - number theory diff --git a/databases/catdat/data/categories/On.yaml b/databases/catdat/data/categories/On.yaml index 26e6756e..c07ec375 100644 --- a/databases/catdat/data/categories/On.yaml +++ b/databases/catdat/data/categories/On.yaml @@ -4,6 +4,7 @@ notation: $(\On,\leq)$ objects: ordinal numbers morphisms: 'a unique morphism $(\alpha,\beta): \alpha \to \beta$ if $\alpha \leq \beta$' description: This is a large variant of the poset of natural numbers. +nlab_link: null tags: - set theory diff --git a/databases/catdat/data/categories/PMet.yaml b/databases/catdat/data/categories/PMet.yaml index e563415e..72a570f8 100644 --- a/databases/catdat/data/categories/PMet.yaml +++ b/databases/catdat/data/categories/PMet.yaml @@ -4,6 +4,7 @@ notation: $\PMet$ objects: pseudo-metric spaces morphisms: non-expansive maps $f$, meaning $d(f(x),f(y)) \leq d(x,y)$ for all $x,y$ description: In contrast to metric spaces, we do not demand $d(x,y)=0 \implies x=y$ here. +nlab_link: null tags: - analysis diff --git a/databases/catdat/data/categories/Rng.yaml b/databases/catdat/data/categories/Rng.yaml index 82a2182b..9ad84066 100644 --- a/databases/catdat/data/categories/Rng.yaml +++ b/databases/catdat/data/categories/Rng.yaml @@ -3,6 +3,7 @@ name: category of rngs notation: $\Rng$ objects: rngs, that is, non-unital rings morphisms: maps that preserve addition and multiplication +description: null nlab_link: https://ncatlab.org/nlab/show/Rng tags: diff --git a/databases/catdat/data/categories/Sch.yaml b/databases/catdat/data/categories/Sch.yaml index af068e05..3a7b5923 100644 --- a/databases/catdat/data/categories/Sch.yaml +++ b/databases/catdat/data/categories/Sch.yaml @@ -3,6 +3,7 @@ name: category of schemes notation: $\Sch$ objects: schemes morphisms: morphisms of locally ringed spaces +description: null nlab_link: https://ncatlab.org/nlab/show/scheme tags: diff --git a/databases/catdat/data/categories/Set_c.yaml b/databases/catdat/data/categories/Set_c.yaml index fa1da774..cdb7f9da 100644 --- a/databases/catdat/data/categories/Set_c.yaml +++ b/databases/catdat/data/categories/Set_c.yaml @@ -4,6 +4,7 @@ notation: $\Set_\c$ objects: countable sets morphisms: maps description: A set is countable if it admits a surjection from $\IN$. In particular, every finite set is countable. +nlab_link: null tags: - set theory diff --git a/databases/catdat/data/categories/Set_f.yaml b/databases/catdat/data/categories/Set_f.yaml index b16f6ede..dfe39e71 100644 --- a/databases/catdat/data/categories/Set_f.yaml +++ b/databases/catdat/data/categories/Set_f.yaml @@ -4,6 +4,7 @@ notation: $\Set_\f$ objects: sets morphisms: 'maps $f : X \to Y$ with the property that for every $y \in Y$ the fiber $f^*(\{y\})$ is a finite set' description: In this variant of $\Set$ we only consider maps with finite fibers, which are commonly called finite-to-one. Equivalently, every preimage of a finite set is again finite, and this description makes it obvious that composition is well-defined. +nlab_link: null tags: - set theory diff --git a/databases/catdat/data/categories/SetxSet.yaml b/databases/catdat/data/categories/SetxSet.yaml index 65c282b3..fedbd2e2 100644 --- a/databases/catdat/data/categories/SetxSet.yaml +++ b/databases/catdat/data/categories/SetxSet.yaml @@ -4,6 +4,7 @@ notation: $\Set \times \Set$ objects: pairs $(A,B)$ of sets $A$ and $B$ morphisms: A morphism $(A,B) \to (C,D)$ consists of a map $A \to C$ and a map $B \to D$. description: This is an example of the product of categories. It inherits most (but not all) properties from $\Set$. It can also be seen as the category $\Sh(1+1)$ of sheaves on a discrete space with two points, and also as the slice category $\Set/(1+1)$. +nlab_link: null tags: - set theory diff --git a/databases/catdat/data/categories/Z.yaml b/databases/catdat/data/categories/Z.yaml index a0735708..7d32ea9f 100644 --- a/databases/catdat/data/categories/Z.yaml +++ b/databases/catdat/data/categories/Z.yaml @@ -4,6 +4,7 @@ notation: $[\CRing, \Set]$ objects: Z-functors, i.e. functors from commutative rings to sets morphisms: natural transformations description: This category is used in functorial algebraic geometry. It also provides a typical example of a functor category that is not locally small, but nevertheless relevant. Most of its properties are directly derived from the category of sets, so other functor categories $[\C, \Set]$ for large categories $\C$ will be similar. +nlab_link: null tags: - algebraic geometry diff --git a/databases/catdat/data/categories/Z_div.yaml b/databases/catdat/data/categories/Z_div.yaml index f5ef9c95..ebddd5fc 100644 --- a/databases/catdat/data/categories/Z_div.yaml +++ b/databases/catdat/data/categories/Z_div.yaml @@ -4,6 +4,7 @@ notation: $(\IZ,\mid)$ objects: integers morphisms: 'a unique morphism $(a,b) : a \to b$ if $a$ divides $b$' description: This is a proset, not a poset, because $a$ and $-a$ divide each other, but are not equal for $a \neq 0$. Notice that this category is equivalent (but not isomorphic) to $(\IN,\mid)$. +nlab_link: null tags: - number theory diff --git a/databases/catdat/data/categories/sSet.yaml b/databases/catdat/data/categories/sSet.yaml index a757b852..d193ccdc 100644 --- a/databases/catdat/data/categories/sSet.yaml +++ b/databases/catdat/data/categories/sSet.yaml @@ -3,6 +3,7 @@ name: category of simplicial sets notation: $\sSet$ objects: simplicial sets, i.e. functors $\Delta^{\op} \to \Set$ where $\Delta$ is the simplex category morphisms: natural transformations +description: null nlab_link: https://ncatlab.org/nlab/show/SimpSet tags: diff --git a/databases/catdat/data/categories/walking_coreflexive_pair.yaml b/databases/catdat/data/categories/walking_coreflexive_pair.yaml index 5ae97f5b..7a0de494 100644 --- a/databases/catdat/data/categories/walking_coreflexive_pair.yaml +++ b/databases/catdat/data/categories/walking_coreflexive_pair.yaml @@ -7,7 +7,7 @@ description: >- This category is equal to the truncated simplex category $\Delta^{\leq 1}$, i.e. the full subcategory of $\Delta$ spanned by $[0] = \{0\}$ and $[1] = \{0 < 1\}$; this also explains our notation of the category and its objects. $$[0] \begin{array}{c} \xhookrightarrow{~~i~~} \\ \xtwoheadleftarrow{~~p~~} \\ \xhookrightarrow{~~j~~} \end{array} [1]$$ The morphisms $i,j$ are the two inclusions, $p$ is their unique retraction, and $ip,jp : [1] \to [1]$ are the two constant maps. The name of this category comes from the fact that a functor out of it is the same as a coreflexive pair in the target category. Its dual is therefore the walking reflexive pair. - +nlab_link: null tags: - category theory - finite diff --git a/databases/catdat/data/categories/walking_fork.yaml b/databases/catdat/data/categories/walking_fork.yaml index ed46f0b9..4650048b 100644 --- a/databases/catdat/data/categories/walking_fork.yaml +++ b/databases/catdat/data/categories/walking_fork.yaml @@ -4,6 +4,7 @@ notation: $\{0 \to 1 \rightrightarrows 2\}$ objects: three objects $0,1,2$ morphisms: 'one morphism $i : 0 \to 1$, two morphisms $f,g : 1 \rightrightarrows 2$, one morphism $0 \to 2$ (namely, $f \circ i = g \circ i$), and the identities' description: The name of this category comes from the fact that a functor out of it is the same as a fork. +nlab_link: null tags: - category theory diff --git a/databases/catdat/data/categories/walking_idempotent.yaml b/databases/catdat/data/categories/walking_idempotent.yaml index d9190234..8332c82d 100644 --- a/databases/catdat/data/categories/walking_idempotent.yaml +++ b/databases/catdat/data/categories/walking_idempotent.yaml @@ -4,6 +4,7 @@ notation: $\Idem$ objects: a single object $0$ morphisms: 'two morphisms $\id_0,e : 0 \to 0$ with $e^2=e$' description: The name of this category comes from the fact that a functor out of it is the same as an idempotent morphism in the target category. It can also be seen as the delooping of the monoid $\{1,e\}$ in which $e^2=e$. +nlab_link: null tags: - category theory diff --git a/databases/catdat/data/categories/walking_splitting.yaml b/databases/catdat/data/categories/walking_splitting.yaml index e814b2fe..a0708a9e 100644 --- a/databases/catdat/data/categories/walking_splitting.yaml +++ b/databases/catdat/data/categories/walking_splitting.yaml @@ -6,7 +6,7 @@ morphisms: 'the identities, morphisms $i : 0 \to 1$, $p : 1 \to 0$ satisfying $p description: |- This category could also be called the "walking split idempotent" (or "walking section", "walking retraction"), but we chose a name that emphasizes that the splitting belongs to the data. Notice that the $5$ given morphisms are indeed closed under composition. For example, $p \circ ip = p$ and $ip \circ i = i$. The walking splitting can be interpreted as a skeleton of the category of $\IF_2$-vector spaces of dimension $\leq 1$. - +nlab_link: null tags: - category theory - finite diff --git a/databases/catdat/scripts/seed.ts b/databases/catdat/scripts/seed.ts index af08d5ff..088d7db3 100644 --- a/databases/catdat/scripts/seed.ts +++ b/databases/catdat/scripts/seed.ts @@ -204,8 +204,8 @@ function seed_categories() { category.notation, category.objects, category.morphisms, - category.description || null, - category.nlab_link || null, + category.description, + category.nlab_link, category.dual_category_id || null, ) diff --git a/databases/catdat/scripts/seed.types.ts b/databases/catdat/scripts/seed.types.ts index 3e0923cd..2d95964d 100644 --- a/databases/catdat/scripts/seed.types.ts +++ b/databases/catdat/scripts/seed.types.ts @@ -21,8 +21,8 @@ export type CategoryYaml = { notation: string objects: string morphisms: string - description?: string | null - nlab_link?: string + description: string | null + nlab_link: string | null dual_category_id?: string | null tags: string[] related_categories: string[]