From b28ce99c7ed4141d704ae9b20fd16ad864d324f1 Mon Sep 17 00:00:00 2001 From: ykawase5048 <114643337+ykawase5048@users.noreply.github.com> Date: Thu, 16 Apr 2026 22:32:13 +0200 Subject: [PATCH 01/13] update tex file --- .../walking_parallel_pair_sifted_colimit.pdf | Bin 150805 -> 149636 bytes .../walking_parallel_pair_sifted_colimit.tex | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/static/pdf/walking_parallel_pair_sifted_colimit.pdf b/static/pdf/walking_parallel_pair_sifted_colimit.pdf index e6525649828a595152cf306fca5dccd00983e0f9..f21415cbef24a7fae4896c2eeb36425803b395d1 100644 GIT binary patch delta 28957 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 delta 30266 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%0DKQ5X62O?fzPVzMz%A0L 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 N7loEqMnx9oKL7*;+&lmP diff --git a/static/pdf/walking_parallel_pair_sifted_colimit.tex b/static/pdf/walking_parallel_pair_sifted_colimit.tex index 9bfb0fbc..af0feabe 100644 --- a/static/pdf/walking_parallel_pair_sifted_colimit.tex +++ b/static/pdf/walking_parallel_pair_sifted_colimit.tex @@ -100,8 +100,8 @@ \item $D(c)=0$ and there is a morphism from itself sent to $v$ by $D$. \end{enumerate} -Now, we have a cocone $(\alpha_c\colon D(c) \to 1)_{c\in\mathcal{C}}$ over $D$ by letting $\alpha_c\coloneqq \mathrm{id}_1$ if $c$ is classified into the first case, $\alpha_c\coloneqq u$ for the second case, and $\alpha_c\coloneqq v$ for the third case. -Moreover, this is a unique cocone over $D$: +Now, we have a cocone $(\alpha_c\colon D(c) \to 1)_{c\in\mathcal{C}}$ under $D$ by letting $\alpha_c\coloneqq \mathrm{id}_1$ if $c$ is classified into the first case, $\alpha_c\coloneqq u$ for the second case, and $\alpha_c\coloneqq v$ for the third case. +Moreover, this is a unique cocone under $D$: If $\beta$ is another cocone, its vertex should be $1$ by the existence of $c_0$. If $c\in\mathcal{C}$ is classified into the first case, $\beta_c$ should be the identity. For the second case, taking a morphism $f\colon c\to x$ such that $D(f)=u$, we can obtain $\beta_c = \beta_x \circ D(f) = D(f) = u$. From 41e34ca458e015334272ac0493d474aead4fbf12 Mon Sep 17 00:00:00 2001 From: ykawase5048 <114643337+ykawase5048@users.noreply.github.com> Date: Thu, 16 Apr 2026 22:41:53 +0200 Subject: [PATCH 02/13] add property countable, remove invalid implication finite => small --- .../data/001_categories/008_one-object.sql | 8 +++---- .../001_categories/100_related-categories.sql | 8 +++---- database/data/002_tags/002_category-tags.sql | 6 ++--- .../003_properties/004_size-constraints.sql | 16 +++++++++++++ database/data/004_property-assignments/0.sql | 6 +++++ database/data/004_property-assignments/1.sql | 6 +++++ database/data/004_property-assignments/2.sql | 6 +++++ .../data/004_property-assignments/Ab_fg.sql | 10 ++++++-- database/data/004_property-assignments/B.sql | 8 ++++++- .../{BG.sql => BG_c.sql} | 24 +++++++++---------- .../data/004_property-assignments/BG_f.sql | 6 +++++ database/data/004_property-assignments/BN.sql | 6 +++++ database/data/004_property-assignments/FI.sql | 8 ++++++- database/data/004_property-assignments/FS.sql | 8 ++++++- .../data/004_property-assignments/FinAb.sql | 8 ++++++- .../data/004_property-assignments/FinGrp.sql | 8 ++++++- .../data/004_property-assignments/FinOrd.sql | 8 ++++++- .../data/004_property-assignments/FinSet.sql | 8 ++++++- .../data/004_property-assignments/Man.sql | 6 +++++ database/data/004_property-assignments/N.sql | 6 +++++ .../data/004_property-assignments/N_oo.sql | 6 +++++ database/data/004_property-assignments/Sp.sql | 6 +++++ .../data/004_property-assignments/Z_div.sql | 6 +++++ .../real_interval.sql | 2 +- .../walking_commutative_square.sql | 6 +++++ .../walking_composable_pair.sql | 6 +++++ .../004_property-assignments/walking_fork.sql | 6 +++++ .../walking_idempotent.sql | 6 +++++ .../walking_isomorphism.sql | 6 +++++ .../walking_morphism.sql | 6 +++++ .../004_property-assignments/walking_pair.sql | 6 +++++ .../004_property-assignments/walking_span.sql | 6 +++++ .../003_size-constraints-implications.sql | 18 ++++++++++++-- .../006_trivial-categories-implications.sql | 7 ++++++ .../002_isomorphisms.sql | 2 +- .../003_monomorphisms.sql | 2 +- .../004_epimorphisms.sql | 2 +- .../005_regular-monomorphisms.sql | 2 +- .../006_regular-epimorphisms.sql | 2 +- 39 files changed, 233 insertions(+), 40 deletions(-) rename database/data/004_property-assignments/{BG.sql => BG_c.sql} (79%) diff --git a/database/data/001_categories/008_one-object.sql b/database/data/001_categories/008_one-object.sql index cfad9bca..74de146d 100644 --- a/database/data/001_categories/008_one-object.sql +++ b/database/data/001_categories/008_one-object.sql @@ -10,12 +10,12 @@ INSERT INTO categories ( ) VALUES ( - 'BG', - 'delooping of an infinite group', + 'BG_c', + 'delooping of an infinite countable group', '$BG$', 'a single object', - 'the elements of an infinite 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 group $G$.', + '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 = \mathbb{Z}$).', 'https://ncatlab.org/nlab/show/delooping', NULL ), diff --git a/database/data/001_categories/100_related-categories.sql b/database/data/001_categories/100_related-categories.sql index ff9aec8f..571d5705 100644 --- a/database/data/001_categories/100_related-categories.sql +++ b/database/data/001_categories/100_related-categories.sql @@ -14,11 +14,11 @@ VALUES ('Ban','Met'), ('B', 'FI'), ('B', 'FS'), -('BG', 'BG_f'), -('BG', 'BN'), -('BG_f', 'BG'), +('BG_c', 'BG_f'), +('BG_c', 'BN'), +('BG_f', 'BG_c'), ('BG_f', 'BN'), -('BN', 'BG'), +('BN', 'BG_c'), ('BN', 'BOn'), ('BOn', 'BN'), ('CAlg(R)', 'Alg(R)'), diff --git a/database/data/002_tags/002_category-tags.sql b/database/data/002_tags/002_category-tags.sql index 52c3011b..e71ce633 100644 --- a/database/data/002_tags/002_category-tags.sql +++ b/database/data/002_tags/002_category-tags.sql @@ -13,9 +13,9 @@ VALUES ('B', 'combinatorics'), ('B', 'set theory'), ('Ban', 'analysis'), -('BG', 'single object'), -('BG', 'algebra'), -('BG', 'category theory'), +('BG_c', 'single object'), +('BG_c', 'algebra'), +('BG_c', 'category theory'), ('BG_f', 'single object'), ('BG_f', 'algebra'), ('BG_f', 'finite'), diff --git a/database/data/003_properties/004_size-constraints.sql b/database/data/003_properties/004_size-constraints.sql index 3861f7db..7f64adff 100644 --- a/database/data/003_properties/004_size-constraints.sql +++ b/database/data/003_properties/004_size-constraints.sql @@ -63,6 +63,22 @@ VALUES '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', diff --git a/database/data/004_property-assignments/0.sql b/database/data/004_property-assignments/0.sql index a1bf48f3..2112a10a 100644 --- a/database/data/004_property-assignments/0.sql +++ b/database/data/004_property-assignments/0.sql @@ -29,6 +29,12 @@ VALUES TRUE, 'This is trivial.' ), +( + '0', + 'small', + TRUE, + 'This is trivial.' +), ( '0', 'inhabited', diff --git a/database/data/004_property-assignments/1.sql b/database/data/004_property-assignments/1.sql index dede0a97..050857b4 100644 --- a/database/data/004_property-assignments/1.sql +++ b/database/data/004_property-assignments/1.sql @@ -17,6 +17,12 @@ VALUES TRUE, 'This is trivial.' ), +( + '1', + 'small', + TRUE, + 'This is trivial.' +), ( '1', 'discrete', diff --git a/database/data/004_property-assignments/2.sql b/database/data/004_property-assignments/2.sql index d9886e05..84be63f1 100644 --- a/database/data/004_property-assignments/2.sql +++ b/database/data/004_property-assignments/2.sql @@ -17,6 +17,12 @@ VALUES TRUE, 'This is trivial.' ), +( + '2', + 'small', + TRUE, + 'This is trivial.' +), ( '2', 'inhabited', diff --git a/database/data/004_property-assignments/Ab_fg.sql b/database/data/004_property-assignments/Ab_fg.sql index dbbb9040..c0450466 100644 --- a/database/data/004_property-assignments/Ab_fg.sql +++ b/database/data/004_property-assignments/Ab_fg.sql @@ -13,9 +13,9 @@ VALUES ), ( 'Ab_fg', - 'essentially small', + 'essentially countable', TRUE, - 'Every finitely generated abelian group is isomorphic to a group of the form $\mathbb{Z}^n / U$, where $n \in \mathbb{N}$ and $U$ is a subgroup of $\mathbb{Z}^n$. And these constitute a set.' + 'Every finitely generated abelian group is isomorphic to a group of the form $\mathbb{Z}^n / U$, where $n \in \mathbb{N}$ and $U$ is a subgroup of $\mathbb{Z}^n$. Since $\mathbb{Z}^n$ is Noetherian as a $\mathbb{Z}$-module, $U$ is finitely generated, hence the category $\mathbf{Ab}_\mathrm{fg}$ has only countably many objects up to isomorphism. Furthermore, for any objects $A \cong \mathbb{Z}^n / U$ and $B \cong \mathbb{Z}^m / T$, the hom-set $\mathrm{Hom}(A,B)$ is countable. Indeed, precomposition with the quotient map yields an injection $\mathrm{Hom}(A,B) \hookrightarrow \mathrm{Hom}(\mathbb{Z}^n, B) \cong B^n$, and $B^n$ is countable.' ), ( 'Ab_fg', @@ -64,4 +64,10 @@ VALUES 'skeletal', FALSE, 'This is trivial.' +), +( + 'Ab_fg', + 'countable', + FALSE, + 'This is trivial.' ); diff --git a/database/data/004_property-assignments/B.sql b/database/data/004_property-assignments/B.sql index 7e98390f..8a94d1b1 100644 --- a/database/data/004_property-assignments/B.sql +++ b/database/data/004_property-assignments/B.sql @@ -13,7 +13,7 @@ VALUES ), ( 'B', - 'essentially small', + 'essentially countable', TRUE, 'Every finite set is isomorphic to some $\{1,\dotsc,n\}$ for some $n \in \mathbb{N}$.' ), @@ -58,4 +58,10 @@ VALUES 'skeletal', FALSE, 'This is trivial.' +), +( + 'B', + 'countable', + FALSE, + 'This is trivial.' ); diff --git a/database/data/004_property-assignments/BG.sql b/database/data/004_property-assignments/BG_c.sql similarity index 79% rename from database/data/004_property-assignments/BG.sql rename to database/data/004_property-assignments/BG_c.sql index dedf3ec9..61864e12 100644 --- a/database/data/004_property-assignments/BG.sql +++ b/database/data/004_property-assignments/BG_c.sql @@ -6,43 +6,43 @@ INSERT INTO category_property_assignments ( ) VALUES ( - 'BG', + 'BG_c', + 'countable', + TRUE, + 'This is because $G$ is countable.' +), +( + 'BG_c', 'small', TRUE, 'This is trivial.' ), ( - 'BG', + 'BG_c', 'groupoid', TRUE, 'This is trivial.' ), ( - 'BG', + 'BG_c', 'connected', TRUE, 'This is trivial.' ), ( - 'BG', + 'BG_c', 'generator', TRUE, 'The unique object is a generator for trivial reasons.' ), ( - 'BG', + 'BG_c', 'skeletal', TRUE, 'There is just one object.' ), ( - 'BG', - 'trivial', - FALSE, - 'This is trivial.' -), -( - 'BG', + 'BG_c', 'essentially finite', FALSE, 'This is because we choose $G$ to be infinite.' diff --git a/database/data/004_property-assignments/BG_f.sql b/database/data/004_property-assignments/BG_f.sql index e5cb2916..f2fd24a6 100644 --- a/database/data/004_property-assignments/BG_f.sql +++ b/database/data/004_property-assignments/BG_f.sql @@ -11,6 +11,12 @@ VALUES TRUE, 'This is trivial.' ), +( + 'BG_f', + 'small', + TRUE, + 'This is trivial.' +), ( 'BG_f', 'groupoid', diff --git a/database/data/004_property-assignments/BN.sql b/database/data/004_property-assignments/BN.sql index 15027efe..1177063a 100644 --- a/database/data/004_property-assignments/BN.sql +++ b/database/data/004_property-assignments/BN.sql @@ -11,6 +11,12 @@ VALUES TRUE, 'This is trivial.' ), +( + 'BN', + 'countable', + TRUE, + 'This is trivial.' +), ( 'BN', 'strongly connected', diff --git a/database/data/004_property-assignments/FI.sql b/database/data/004_property-assignments/FI.sql index bdcd897c..f79eae38 100644 --- a/database/data/004_property-assignments/FI.sql +++ b/database/data/004_property-assignments/FI.sql @@ -25,7 +25,7 @@ VALUES ), ( 'FI', - 'essentially small', + 'essentially countable', TRUE, 'Every finite set is isomorphic to some $\{1,\dotsc,n\}$ for some $n \in \mathbb{N}$.' ), @@ -118,4 +118,10 @@ VALUES '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/database/data/004_property-assignments/FS.sql b/database/data/004_property-assignments/FS.sql index 633e868b..0564e3be 100644 --- a/database/data/004_property-assignments/FS.sql +++ b/database/data/004_property-assignments/FS.sql @@ -13,7 +13,7 @@ VALUES ), ( 'FS', - 'essentially small', + 'essentially countable', TRUE, 'Every finite set is isomorphic to some $\{1,\dotsc,n\}$ for some $n \in \mathbb{N}$.' ), @@ -116,4 +116,10 @@ VALUES 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', + 'countable', + FALSE, + 'This is trivial.' ); diff --git a/database/data/004_property-assignments/FinAb.sql b/database/data/004_property-assignments/FinAb.sql index ff7575ef..7f8d58c1 100644 --- a/database/data/004_property-assignments/FinAb.sql +++ b/database/data/004_property-assignments/FinAb.sql @@ -13,7 +13,7 @@ VALUES ), ( 'FinAb', - 'essentially small', + 'essentially countable', TRUE, 'The underlying set of a finite structure can be chosen to be a subset of $\mathbb{N}$.' ), @@ -58,4 +58,10 @@ VALUES 'skeletal', FALSE, 'There are many trivial and hence isomorphic groups which are not equal.' +), +( + 'FinAb', + 'countable', + FALSE, + 'This is trivial.' ); diff --git a/database/data/004_property-assignments/FinGrp.sql b/database/data/004_property-assignments/FinGrp.sql index 096cc4aa..babb0a4f 100644 --- a/database/data/004_property-assignments/FinGrp.sql +++ b/database/data/004_property-assignments/FinGrp.sql @@ -19,7 +19,7 @@ VALUES ), ( 'FinGrp', - 'essentially small', + 'essentially countable', TRUE, 'The underlying set of a finite structure can be chosen to be a subset of $\mathbb{N}$.' ), @@ -106,4 +106,10 @@ VALUES 'sequential colimits', FALSE, 'This follows from this lemma.' +), +( + 'FinGrp', + 'countable', + FALSE, + 'This is trivial.' ); \ No newline at end of file diff --git a/database/data/004_property-assignments/FinOrd.sql b/database/data/004_property-assignments/FinOrd.sql index a38c218f..8f145d89 100644 --- a/database/data/004_property-assignments/FinOrd.sql +++ b/database/data/004_property-assignments/FinOrd.sql @@ -61,7 +61,7 @@ VALUES ), ( 'FinOrd', - 'essentially small', + 'essentially countable', TRUE, 'Every finite ordered set is isomorphic to $\{0 < \cdots < n-1 \}$ for some $n \in \mathbb{N}$.' ), @@ -124,4 +124,10 @@ VALUES 'one-way', FALSE, 'There are three different order-preserving maps $\{0 < 1\} \to \{0 < 1\}$.' +), +( + 'FinOrd', + 'countable', + FALSE, + 'This is trivial.' ); diff --git a/database/data/004_property-assignments/FinSet.sql b/database/data/004_property-assignments/FinSet.sql index 0e308502..1adf99e2 100644 --- a/database/data/004_property-assignments/FinSet.sql +++ b/database/data/004_property-assignments/FinSet.sql @@ -13,7 +13,7 @@ VALUES ), ( 'FinSet', - 'essentially small', + 'essentially countable', TRUE, 'Every finite set is isomorphic to some $\{1,\dotsc,n\}$ for some $n \in \mathbb{N}$.' ), @@ -70,4 +70,10 @@ VALUES 'Malcev', FALSE, 'There are lots of non-symmetric reflexive relations.' +), +( + 'FinSet', + 'countable', + FALSE, + 'This is trivial.' ); diff --git a/database/data/004_property-assignments/Man.sql b/database/data/004_property-assignments/Man.sql index b3fc32c9..304c9f6c 100644 --- a/database/data/004_property-assignments/Man.sql +++ b/database/data/004_property-assignments/Man.sql @@ -119,4 +119,10 @@ VALUES 'sequential colimits', FALSE, 'If $\mathbf{Man}$ had sequential colimits, then by this lemma there would be a manifold $M$ that admits a split epimorphism $M \to \mathbb{R}^n$ for every $n$. But then $M$ will have an infinite-dimensional tangent space, which is a contradiction.' +), +( + 'Man', + 'countable', + FALSE, + 'This is trivial.' ); diff --git a/database/data/004_property-assignments/N.sql b/database/data/004_property-assignments/N.sql index 79a47446..7d367ccb 100644 --- a/database/data/004_property-assignments/N.sql +++ b/database/data/004_property-assignments/N.sql @@ -53,6 +53,12 @@ VALUES TRUE, 'This is because the natural numbers with respect to $<$ are well-founded.' ), +( + 'N', + 'countable', + TRUE, + 'This is trivial.' +), ( 'N', 'countable coproducts', diff --git a/database/data/004_property-assignments/N_oo.sql b/database/data/004_property-assignments/N_oo.sql index c301d62a..beba103d 100644 --- a/database/data/004_property-assignments/N_oo.sql +++ b/database/data/004_property-assignments/N_oo.sql @@ -11,6 +11,12 @@ VALUES TRUE, 'This is trivial.' ), +( + 'N_oo', + 'countable', + TRUE, + 'This is trivial.' +), ( 'N_oo', 'coproducts', diff --git a/database/data/004_property-assignments/Sp.sql b/database/data/004_property-assignments/Sp.sql index 58181ab1..b75420d1 100644 --- a/database/data/004_property-assignments/Sp.sql +++ b/database/data/004_property-assignments/Sp.sql @@ -64,4 +64,10 @@ VALUES '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\mathbb{N} \to \mathbb{N}$ can be regarded as a combinatorial species with trivial actions, and distinct functions yield non-isomorphic species.' ); \ No newline at end of file diff --git a/database/data/004_property-assignments/Z_div.sql b/database/data/004_property-assignments/Z_div.sql index d18ec05b..4f38b97f 100644 --- a/database/data/004_property-assignments/Z_div.sql +++ b/database/data/004_property-assignments/Z_div.sql @@ -11,6 +11,12 @@ VALUES TRUE, 'This is trivial.' ), +( + 'Z_div', + 'countable', + TRUE, + 'This is trivial.' +), ( 'Z_div', 'products', diff --git a/database/data/004_property-assignments/real_interval.sql b/database/data/004_property-assignments/real_interval.sql index 9f66736c..85cd3ccb 100644 --- a/database/data/004_property-assignments/real_interval.sql +++ b/database/data/004_property-assignments/real_interval.sql @@ -37,7 +37,7 @@ VALUES ), ( 'real_interval', - 'essentially finite', + 'essentially countable', FALSE, 'This is trivial.' ), diff --git a/database/data/004_property-assignments/walking_commutative_square.sql b/database/data/004_property-assignments/walking_commutative_square.sql index 86551e68..6f3f356a 100644 --- a/database/data/004_property-assignments/walking_commutative_square.sql +++ b/database/data/004_property-assignments/walking_commutative_square.sql @@ -17,6 +17,12 @@ VALUES TRUE, 'This is trivial.' ), +( + 'walking_commutative_square', + 'small', + TRUE, + 'This is trivial.' +), ( 'walking_commutative_square', 'infinitary distributive', diff --git a/database/data/004_property-assignments/walking_composable_pair.sql b/database/data/004_property-assignments/walking_composable_pair.sql index bbc83274..d0476dba 100644 --- a/database/data/004_property-assignments/walking_composable_pair.sql +++ b/database/data/004_property-assignments/walking_composable_pair.sql @@ -11,6 +11,12 @@ VALUES TRUE, 'This is trivial.' ), +( + 'walking_composable_pair', + 'small', + TRUE, + 'This is trivial.' +), ( 'walking_composable_pair', 'semi-strongly connected', diff --git a/database/data/004_property-assignments/walking_fork.sql b/database/data/004_property-assignments/walking_fork.sql index 970f6844..9cb538b1 100644 --- a/database/data/004_property-assignments/walking_fork.sql +++ b/database/data/004_property-assignments/walking_fork.sql @@ -11,6 +11,12 @@ VALUES TRUE, 'This is trivial.' ), +( + 'walking_fork', + 'small', + TRUE, + 'This is trivial.' +), ( 'walking_fork', 'semi-strongly connected', diff --git a/database/data/004_property-assignments/walking_idempotent.sql b/database/data/004_property-assignments/walking_idempotent.sql index 9b13b5cf..37dcde65 100644 --- a/database/data/004_property-assignments/walking_idempotent.sql +++ b/database/data/004_property-assignments/walking_idempotent.sql @@ -11,6 +11,12 @@ VALUES TRUE, 'This is trivial.' ), +( + 'walking_idempotent', + 'small', + TRUE, + 'This is trivial.' +), ( 'walking_idempotent', 'generator', diff --git a/database/data/004_property-assignments/walking_isomorphism.sql b/database/data/004_property-assignments/walking_isomorphism.sql index 8bfc2e45..e11c8406 100644 --- a/database/data/004_property-assignments/walking_isomorphism.sql +++ b/database/data/004_property-assignments/walking_isomorphism.sql @@ -17,6 +17,12 @@ VALUES TRUE, 'This is trivial.' ), +( + 'walking_isomorphism', + 'small', + TRUE, + 'This is trivial.' +), ( 'walking_isomorphism', 'skeletal', diff --git a/database/data/004_property-assignments/walking_morphism.sql b/database/data/004_property-assignments/walking_morphism.sql index 73c9607b..89328cd8 100644 --- a/database/data/004_property-assignments/walking_morphism.sql +++ b/database/data/004_property-assignments/walking_morphism.sql @@ -23,6 +23,12 @@ VALUES TRUE, 'This is trivial.' ), +( + 'walking_morphism', + 'small', + TRUE, + 'This is trivial.' +), ( 'walking_morphism', 'infinitary distributive', diff --git a/database/data/004_property-assignments/walking_pair.sql b/database/data/004_property-assignments/walking_pair.sql index e1c0a20b..08e119aa 100644 --- a/database/data/004_property-assignments/walking_pair.sql +++ b/database/data/004_property-assignments/walking_pair.sql @@ -11,6 +11,12 @@ VALUES TRUE, 'This is trivial.' ), +( + 'walking_pair', + 'small', + TRUE, + 'This is trivial.' +), ( 'walking_pair', 'self-dual', diff --git a/database/data/004_property-assignments/walking_span.sql b/database/data/004_property-assignments/walking_span.sql index 7583e21c..c089d604 100644 --- a/database/data/004_property-assignments/walking_span.sql +++ b/database/data/004_property-assignments/walking_span.sql @@ -11,6 +11,12 @@ VALUES TRUE, 'This is trivial.' ), +( + 'walking_span', + 'small', + TRUE, + 'This is trivial.' +), ( 'walking_span', 'skeletal', diff --git a/database/data/005_implications/003_size-constraints-implications.sql b/database/data/005_implications/003_size-constraints-implications.sql index 5b4ee2cf..2e209325 100644 --- a/database/data/005_implications/003_size-constraints-implications.sql +++ b/database/data/005_implications/003_size-constraints-implications.sql @@ -23,13 +23,27 @@ VALUES ( 'finite_consequence', '["finite"]', - '["small", "essentially finite"]', + '["countable", "essentially finite"]', 'This is trivial.', FALSE ), ( - 'essentially_finite_consequence', + '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 diff --git a/database/data/005_implications/006_trivial-categories-implications.sql b/database/data/005_implications/006_trivial-categories-implications.sql index fea25223..71222ad6 100644 --- a/database/data/005_implications/006_trivial-categories-implications.sql +++ b/database/data/005_implications/006_trivial-categories-implications.sql @@ -62,6 +62,13 @@ VALUES 'See Mac Lane, V.2, Prop. 3. The proof works for any category with products.', FALSE ), +( + 'freyd_countable', + '["essentially countable", "countable products"]', + '["thin", "products"]', + 'To see that the category is thin, use Mac Lane, V.2, Prop. 3. The proof can easily be adapted to this case. So 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 +), ( 'freyd_finite', '["essentially finite", "finite products"]', diff --git a/database/data/007_special-morphisms/002_isomorphisms.sql b/database/data/007_special-morphisms/002_isomorphisms.sql index 0e5baf81..2824f322 100644 --- a/database/data/007_special-morphisms/002_isomorphisms.sql +++ b/database/data/007_special-morphisms/002_isomorphisms.sql @@ -51,7 +51,7 @@ VALUES 'This is easy.' ), ( - 'BG', + 'BG_c', 'every morphism', 'It is a groupoid.' ), diff --git a/database/data/007_special-morphisms/003_monomorphisms.sql b/database/data/007_special-morphisms/003_monomorphisms.sql index 465596e7..6e6a0586 100644 --- a/database/data/007_special-morphisms/003_monomorphisms.sql +++ b/database/data/007_special-morphisms/003_monomorphisms.sql @@ -51,7 +51,7 @@ VALUES 'The unit ball functor $U : \mathbf{Ban} \to \mathbf{Set}$ is faithful and representable (by $\mathbb{C}$), hence reflects and preserves monomorphisms.' ), ( - 'BG', + 'BG_c', 'every morphism', 'This is trivial.' ), diff --git a/database/data/007_special-morphisms/004_epimorphisms.sql b/database/data/007_special-morphisms/004_epimorphisms.sql index 24a0714d..fe1b3d5b 100644 --- a/database/data/007_special-morphisms/004_epimorphisms.sql +++ b/database/data/007_special-morphisms/004_epimorphisms.sql @@ -46,7 +46,7 @@ VALUES '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', + 'BG_c', 'every morphism', 'This holds because it is a groupoid.' ), diff --git a/database/data/007_special-morphisms/005_regular-monomorphisms.sql b/database/data/007_special-morphisms/005_regular-monomorphisms.sql index a8e93cf0..b5efdc48 100644 --- a/database/data/007_special-morphisms/005_regular-monomorphisms.sql +++ b/database/data/007_special-morphisms/005_regular-monomorphisms.sql @@ -41,7 +41,7 @@ VALUES 'This is because the category is mono-regular.' ), ( - 'BG', + 'BG_c', 'same as monomorphisms', 'This is because the category is mono-regular.' ), diff --git a/database/data/007_special-morphisms/006_regular-epimorphisms.sql b/database/data/007_special-morphisms/006_regular-epimorphisms.sql index 5e7ebdfa..08dfacb7 100644 --- a/database/data/007_special-morphisms/006_regular-epimorphisms.sql +++ b/database/data/007_special-morphisms/006_regular-epimorphisms.sql @@ -46,7 +46,7 @@ VALUES 'This is because the category is epi-regular.' ), ( - 'BG', + 'BG_c', 'same as isomorphisms', 'This is because the category is left cancellative.' ), From 094198466602ef1ee2617fac13c4d63dfd61a4f6 Mon Sep 17 00:00:00 2001 From: ykawase5048 <114643337+ykawase5048@users.noreply.github.com> Date: Thu, 16 Apr 2026 22:42:14 +0200 Subject: [PATCH 03/13] add multi-complete and variants --- .../002_limits-colimits-existence.sql | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/database/data/003_properties/002_limits-colimits-existence.sql b/database/data/003_properties/002_limits-colimits-existence.sql index 9c89b5fa..c4ae9af0 100644 --- a/database/data/003_properties/002_limits-colimits-existence.sql +++ b/database/data/003_properties/002_limits-colimits-existence.sql @@ -342,4 +342,36 @@ VALUES 'https://ncatlab.org/nlab/show/sifted+colimit', 'cosifted limits', TRUE +), +( + 'multi-complete', + 'is', + 'A multi-limit of a diagram $D\colon \mathcal{S} \to \mathcal{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 \mathcal{S} \to \mathcal{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 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 each connected component has a initial object.', + 'https://ncatlab.org/nlab/show/multilimit', + 'multi-terminal object', + TRUE ); \ No newline at end of file From c535c50e250bf114f1d1db7bd8a7051ab0dc868e Mon Sep 17 00:00:00 2001 From: ykawase5048 <114643337+ykawase5048@users.noreply.github.com> Date: Thu, 16 Apr 2026 22:43:08 +0200 Subject: [PATCH 04/13] add accessible and variants --- .../008_locally-presentable.sql | 125 +++++++++++++++++- 1 file changed, 121 insertions(+), 4 deletions(-) diff --git a/database/data/003_properties/008_locally-presentable.sql b/database/data/003_properties/008_locally-presentable.sql index 17e6ee20..99f4a353 100644 --- a/database/data/003_properties/008_locally-presentable.sql +++ b/database/data/003_properties/008_locally-presentable.sql @@ -10,7 +10,14 @@ VALUES ( 'locally finitely presentable', 'is', - 'A category is locally finitely presentable if it is cocomplete and there is a set $S$ of finitely presentable objects such that every object is a filtered colimit of objects in $S$. This is the same as being locally $\aleph_0$-presentable.', + '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 $\mathbf{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 @@ -18,15 +25,31 @@ VALUES ( 'locally presentable', 'is', - 'Let $\kappa$ be a regular cardinal. A category is locally $\kappa$-presentable if it is cocomplete and there is a set of $\kappa$-presentable objects $S$ such that every object is a $\kappa$-filtered colimit of objects in $S$. A category is locally presentable if it is locally $\kappa$-presentable for some regular cardinal $\kappa$.', + '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 $\mathbf{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 a locally $\kappa$-presentable, where $\kappa = \aleph_1$ is the first uncountable cardinal.', + '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 @@ -34,11 +57,12 @@ VALUES ( 'locally strongly finitely presentable', 'is', - 'A category is a 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$. + '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 $\mathbf{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. It is equivalent to the Eilenberg–Moore category of a finitary (=filtered-colimit-preserving) monad on $\mathbf{Set}^S$ for some set $S$.
  6. It is equivalent to the Eilenberg–Moore category of a sifted-colimit-preserving monad on $\mathbf{Set}^S$ for some set $S$. (cf. [KR12, Proposition 3.3])
@@ -46,4 +70,97 @@ VALUES '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 $S$.', + '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 $\mathbf{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 From 63bf67e4fc3a5e274ef62f2045eafa845329a632 Mon Sep 17 00:00:00 2001 From: ykawase5048 <114643337+ykawase5048@users.noreply.github.com> Date: Thu, 16 Apr 2026 22:43:20 +0200 Subject: [PATCH 05/13] add property relationships --- .../003_properties/100_related-properties.sql | 65 ++++++++++++++++++- 1 file changed, 64 insertions(+), 1 deletion(-) diff --git a/database/data/003_properties/100_related-properties.sql b/database/data/003_properties/100_related-properties.sql index a9d28f8e..5dfc8c8a 100644 --- a/database/data/003_properties/100_related-properties.sql +++ b/database/data/003_properties/100_related-properties.sql @@ -40,22 +40,33 @@ VALUES ('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 strongly finitely presentable', 'locally finitely presentable'), +('locally strongly finitely presentable', 'multi-algebraic'), +('locally strongly finitely presentable', 'generalized variety'), ('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 ℵ₁-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'), ('Grothendieck topos', 'elementary topos'), ('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'), @@ -70,6 +81,7 @@ VALUES ('cokernels', 'conormal'), ('cocomplete', 'coequalizers'), ('cocomplete', 'coproducts'), +('cocomplete', 'multi-cocomplete'), ('products', 'complete'), ('products', 'finite products'), ('products', 'powers'), @@ -122,8 +134,14 @@ VALUES ('essentially discrete', 'discrete'), ('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'), @@ -278,4 +296,49 @@ VALUES ('normal', 'kernels'), ('conormal', 'zero morphisms'), ('conormal', 'epi-regular'), -('conormal', 'cokernels'); \ No newline at end of file +('conormal', 'cokernels'), +('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'), +('ℵ₁-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'), +('generalized variety', 'multi-algebraic'), +('generalized variety', 'locally strongly finitely presentable'), +('generalized variety', 'sifted colimits'); From f04899751c8a99f860a7cefc07300e90c61cc0c2 Mon Sep 17 00:00:00 2001 From: ykawase5048 <114643337+ykawase5048@users.noreply.github.com> Date: Thu, 16 Apr 2026 22:44:21 +0200 Subject: [PATCH 06/13] add results about multi-complete categories --- ...limits-colimits-existence-implications.sql | 28 +++++++++++++++++++ .../006_trivial-categories-implications.sql | 7 +++++ 2 files changed, 35 insertions(+) diff --git a/database/data/005_implications/001_limits-colimits-existence-implications.sql b/database/data/005_implications/001_limits-colimits-existence-implications.sql index 15eaa5a3..311cbcb5 100644 --- a/database/data/005_implications/001_limits-colimits-existence-implications.sql +++ b/database/data/005_implications/001_limits-colimits-existence-implications.sql @@ -292,4 +292,32 @@ VALUES '["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 $\mathcal{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 \mathcal{S} \to \mathcal{C}$ be a small diagram in a category $\mathcal{C}$. Since $\mathcal{C}$ has finite coproducts, the category $\mathbf{Cone}(D)$ of cones over $D$ has finite coproducts. In particular, $\mathbf{Cone}(D)$ is connected, hence a multi-terminal object in it automatically becomes a terminal object.', + FALSE ); \ No newline at end of file diff --git a/database/data/005_implications/006_trivial-categories-implications.sql b/database/data/005_implications/006_trivial-categories-implications.sql index 71222ad6..8d23cdcf 100644 --- a/database/data/005_implications/006_trivial-categories-implications.sql +++ b/database/data/005_implications/006_trivial-categories-implications.sql @@ -34,6 +34,13 @@ VALUES '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"]', From ea45544426699b3b63bc2249d52a126890735d27 Mon Sep 17 00:00:00 2001 From: ykawase5048 <114643337+ykawase5048@users.noreply.github.com> Date: Thu, 16 Apr 2026 22:44:52 +0200 Subject: [PATCH 07/13] add results about accessible and related categories --- ...limits-colimits-existence-implications.sql | 6 +- .../007_locally-presentable-implications.sql | 182 ++++++++++++++++-- 2 files changed, 171 insertions(+), 17 deletions(-) diff --git a/database/data/005_implications/001_limits-colimits-existence-implications.sql b/database/data/005_implications/001_limits-colimits-existence-implications.sql index 311cbcb5..8ef2e6c2 100644 --- a/database/data/005_implications/001_limits-colimits-existence-implications.sql +++ b/database/data/005_implications/001_limits-colimits-existence-implications.sql @@ -169,9 +169,9 @@ VALUES ), ( 'finite_filtered_colimits', - '["finite", "Cauchy complete"]', - '["filtered colimits"]', - 'See MO/509853.', + '["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 ), ( diff --git a/database/data/005_implications/007_locally-presentable-implications.sql b/database/data/005_implications/007_locally-presentable-implications.sql index 059756e1..30a87204 100644 --- a/database/data/005_implications/007_locally-presentable-implications.sql +++ b/database/data/005_implications/007_locally-presentable-implications.sql @@ -6,13 +6,6 @@ INSERT INTO implication_input ( is_equivalence ) VALUES -( - 'locally_finitely_presentable_condition', - '["locally finitely presentable"]', - '["locally presentable"]', - 'Locally finitely presentable categories are by definition the locally $\aleph_0$-presentable categories.', - FALSE -), ( 'locally_finitely_presentable_raise', '["locally finitely presentable"]', @@ -28,10 +21,24 @@ VALUES FALSE ), ( - 'locally_presentable_consequence', - '["locally presentable"]', - '["locally essentially small", "well-powered", "well-copowered", "complete", "cocomplete", "generating set"]', - 'For locally essential smallness, see the proof of Prop. 2.1.5 in Makkai-Pare. For the other non-trivial conclusions see Adamek-Rosicky, Thm. 1.20, Cor. 1.28, Rem. 1.56, Thm. 1.58.', + 'accessible_trivial_consequence', + '["accessible"]', + '["well-powered", "generating set"]', + 'For well-poweredness, see nLab. 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_locally_small', + '["accessible"]', + '["locally essentially small"]', + 'See the proof of Prop. 2.1.5 in Makkai-Pare.', + FALSE +), +( + 'accessible_wellcopowered', + '["accessible", "pushouts"]', + '["well-copowered"]', + 'See Thm. 2.49 in Adamek-Rosicky or Prop. 6.1.3 in Makkai-Pare.', FALSE ), ( @@ -42,9 +49,9 @@ VALUES FALSE ), ( - 'locally_presentable_thin', - '["locally presentable", "self-dual"]', - '["thin"]', + 'locally_presentable_essentially_small', + '["locally presentable", "locally copresentable"]', + '["essentially small"]', 'This follows from Adamek-Rosicky, Thm. 1.64.', FALSE ), @@ -61,4 +68,151 @@ VALUES '["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 ); \ No newline at end of file From f1a86e3e75329c2cd059bd4f3afeda6b3e7cc539 Mon Sep 17 00:00:00 2001 From: ykawase5048 <114643337+ykawase5048@users.noreply.github.com> Date: Thu, 16 Apr 2026 22:46:48 +0200 Subject: [PATCH 08/13] decide (co)accessibility for various categories --- database/data/004_property-assignments/FinAb.sql | 6 ++++++ database/data/004_property-assignments/FinGrp.sql | 6 ++++++ database/data/004_property-assignments/FinSet.sql | 6 ++++++ database/data/004_property-assignments/Setne.sql | 6 ++++++ database/data/004_property-assignments/Top.sql | 6 ++++++ database/data/004_property-assignments/Top_pointed.sql | 6 ++++++ 6 files changed, 36 insertions(+) diff --git a/database/data/004_property-assignments/FinAb.sql b/database/data/004_property-assignments/FinAb.sql index 7f8d58c1..ce7ec296 100644 --- a/database/data/004_property-assignments/FinAb.sql +++ b/database/data/004_property-assignments/FinAb.sql @@ -29,6 +29,12 @@ VALUES TRUE, 'This is a simple special case of Pontryagin duality: The functor $\hom(-,\mathbb{Q}/\mathbb{Z})$ provides the equivalence.' ), +( + 'FinAb', + 'ℵ₁-accessible', + TRUE, + 'The proof works exactly as for the category of finite sets.' +), ( 'FinAb', 'small', diff --git a/database/data/004_property-assignments/FinGrp.sql b/database/data/004_property-assignments/FinGrp.sql index babb0a4f..bf80a30b 100644 --- a/database/data/004_property-assignments/FinGrp.sql +++ b/database/data/004_property-assignments/FinGrp.sql @@ -59,6 +59,12 @@ VALUES 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', 'normal', diff --git a/database/data/004_property-assignments/FinSet.sql b/database/data/004_property-assignments/FinSet.sql index 1adf99e2..c389e46b 100644 --- a/database/data/004_property-assignments/FinSet.sql +++ b/database/data/004_property-assignments/FinSet.sql @@ -41,6 +41,12 @@ VALUES TRUE, 'The two-element set is a cogenerator.' ), +( + 'FinSet', + 'ℵ₁-accessible', + TRUE, + 'The inclusion $\mathbf{FinSet} \hookrightarrow \mathbf{Set}$ is closed under ℵ₁-filtered colimits, that is, any ℵ₁-filtered colimit of finite sets is again finite. Since every finite set is ℵ₁-presentable in $\mathbf{Set}$, it is still ℵ₁-presentable in $\mathbf{FinSet}$. Therefore, $\mathbf{FinSet}$ is ℵ₁-accessible, where every object is ℵ₁-presentable.' +), ( 'FinSet', 'small', diff --git a/database/data/004_property-assignments/Setne.sql b/database/data/004_property-assignments/Setne.sql index 90f13269..d07468d5 100644 --- a/database/data/004_property-assignments/Setne.sql +++ b/database/data/004_property-assignments/Setne.sql @@ -83,6 +83,12 @@ VALUES TRUE, 'Use constant maps.' ), +( + 'Setne', + 'finitely accessible', + TRUE, + 'Since the inclusion $\mathbf{Set}_{\neq \varnothing} \hookrightarrow \mathbf{Set}$ is closed under non-empty colimits, it is also closed under filtered colimits. Therefore, non-empty finite sets are still finitely presentable in $\mathbf{Set}_{\neq \varnothing}$, and every non-empty set is written as a filtered colimit of them.' +), ( 'Setne', 'sequential limits', diff --git a/database/data/004_property-assignments/Top.sql b/database/data/004_property-assignments/Top.sql index a9e940b9..7b8cbdf8 100644 --- a/database/data/004_property-assignments/Top.sql +++ b/database/data/004_property-assignments/Top.sql @@ -112,4 +112,10 @@ VALUES 'co-Malcev', FALSE, 'See MO/509548. We can also phrase the proof as follows: Consider the forgetful functor $U : \mathbf{Top} \to \mathbf{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 $\mathbf{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 $\mathbf{Set}$, is coaccessible by Prop. 4.7 in Adamek-Rosicky. However, since $\mathbf{Set}$ is not coaccessible, this is a contradiction.' ); diff --git a/database/data/004_property-assignments/Top_pointed.sql b/database/data/004_property-assignments/Top_pointed.sql index fc5e500f..fa4e679d 100644 --- a/database/data/004_property-assignments/Top_pointed.sql +++ b/database/data/004_property-assignments/Top_pointed.sql @@ -137,6 +137,12 @@ VALUES '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 $\mathbf{Top}$ as follows: Assume $\mathbf{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 $\mathbf{Set}_*$, is coaccessible by Prop. 4.7 in Adamek-Rosicky. However, since $\mathbf{Set}_*$ is not coaccessible, this is a contradiction.' ); From 7fa6f9aa00831c926531b7f1d5e4f2c613016c32 Mon Sep 17 00:00:00 2001 From: ykawase5048 <114643337+ykawase5048@users.noreply.github.com> Date: Thu, 16 Apr 2026 22:47:40 +0200 Subject: [PATCH 09/13] identify examples of multi-algebraic categories --- database/data/004_property-assignments/0.sql | 6 ++++ database/data/004_property-assignments/2.sql | 6 ++++ .../data/004_property-assignments/Fld.sql | 34 +++++-------------- .../004_property-assignments/walking_span.sql | 6 ++++ 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/database/data/004_property-assignments/0.sql b/database/data/004_property-assignments/0.sql index 2112a10a..e15b2183 100644 --- a/database/data/004_property-assignments/0.sql +++ b/database/data/004_property-assignments/0.sql @@ -35,6 +35,12 @@ VALUES TRUE, 'This is trivial.' ), +( + '0', + 'multi-algebraic', + TRUE, + 'The terminal category $\mathbf{1}$ becomes an FPC-sketch by selecting the unique empty cone and cocone. Then, a $\mathbf{Set}$-valued model of this sketch is a functor $\mathbf{1} \to \mathbf{Set}$ sending the unique object to a terminal and initial object, which never exists. Hence, $\mathbf{0}$ is the category of models of this FPC-sketch.' +), ( '0', 'inhabited', diff --git a/database/data/004_property-assignments/2.sql b/database/data/004_property-assignments/2.sql index 84be63f1..74bf9fd8 100644 --- a/database/data/004_property-assignments/2.sql +++ b/database/data/004_property-assignments/2.sql @@ -29,6 +29,12 @@ VALUES TRUE, 'This is trivial.' ), +( + '2', + 'multi-algebraic', + TRUE, + 'There is an FPC-sketch whose $\mathbf{Set}$-model is precisely a pair $(X,Y)$ of sets such that the coproduct $X+Y$ is a singleton. Any $\mathbf{Set}$-model of such a sketch is isomorphic to either $(\varnothing, 1)$ or $(1, \varnothing)$, hence the category of models is equivalent to $\mathbf{2}$.' +), ( '2', 'connected', diff --git a/database/data/004_property-assignments/Fld.sql b/database/data/004_property-assignments/Fld.sql index 51a01ab8..4337fce6 100644 --- a/database/data/004_property-assignments/Fld.sql +++ b/database/data/004_property-assignments/Fld.sql @@ -11,18 +11,6 @@ VALUES TRUE, 'There is a forgetful functor $\mathbf{Fld} \to \mathbf{Set}$ and $\mathbf{Set}$ is locally small.' ), -( - 'Fld', - 'directed colimits', - TRUE, - 'Consider a directed diagram $(F_i)$ of fields and take the colimit $F$ in the category of commutative rings. Now one checks that $F$ is a field as well, and the universal property remains true for fields.' -), -( - 'Fld', - 'connected limits', - TRUE, - 'Consider a connected diagram $(F_i)$ of fields and take the limit $F$ in the category of commutative rings. Now one checks that $F$ is a field as well, and the universal property remains true for fields. Namely, $1 = 0$ in $F$ would imply that $1 = 0$ in each $F_i$ and hence, since the diagram is connected, in some $F_i$, which is a contradiction. And if $x \in F$ is non-zero, then all components $x_i$ are non-zero and hence invertible: Choose some $j$ such that $x_j$ is non-zero. Since there is a zig zag path of morphisms between $i$ and $j$ in the index category, which get mapped to field homomorphisms which are injective, it follows that $x_i$ is non-zero.' -), ( 'Fld', 'inhabited', @@ -35,12 +23,6 @@ VALUES TRUE, 'It is well-known that every field homomorphism is injective and hence a monomorphism.' ), -( - 'Fld', - 'well-powered', - TRUE, - 'The subfields of a given field form a set.' -), ( 'Fld', 'well-copowered', @@ -49,9 +31,9 @@ VALUES ), ( 'Fld', - 'generating set', + 'multi-algebraic', TRUE, - 'The fields $Q(\mathbb{Z}[X]/\mathfrak{p})$, where $\mathfrak{p}$ runs through all prime ideals of the polynomial ring, provide a generating set. This is because for every element $a \in K$ of a field $K$ there is a prime ideal $\mathfrak{p}$ with a homomorphism $Q(\mathbb{Z}[X]/\mathfrak{p}) \to K$ mapping $[X]$ to $a$: There is a homomorphism $\mathbb{Z}[X] \to K$ mapping $X \mapsto a$. Let $\mathfrak{p}$ be its kernel. Then it extends to a field homomorphism as desired.' + 'See Eg. 4.3(1) in [AR01].' ), ( 'Fld', @@ -83,12 +65,6 @@ VALUES 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', - 'essentially small', - FALSE, - 'Consider function fields in any number of variables.' -), ( 'Fld', 'skeletal', @@ -112,4 +88,10 @@ VALUES 'binary powers', FALSE, 'Assume that the product $P := \mathbb{Q}(\sqrt{2}) \times \mathbb{Q}(\sqrt{2})$ exists. This field is isomorphic to a subfield of $\mathbb{Q}(\sqrt{2})$, hence $P \cong \mathbb{Q}$ or $P \cong \mathbb{Q}(\sqrt{2})$. In the first case, the two projections $P \rightrightarrows \mathbb{Q}(\sqrt{2})$ must be equal, which means that every two homomorphisms $K \rightrightarrows \mathbb{Q}(\sqrt{2})$ are equal, which is absurd (take $K = \mathbb{Q}(\sqrt{2})$ and its two automorphisms). In the second case, the projections induce for every field $K$ a bijection $\mathrm{Hom}(K,\mathbb{Q}(\sqrt{2})) \cong \mathrm{Hom}(K,\mathbb{Q}(\sqrt{2}))^2$, which however fails for $K = \mathbb{Q}(\sqrt{2})$: the left hand side has $2$ elements, the right hand side has $4$ elements. A more general result about products in $\mathbf{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.' ); diff --git a/database/data/004_property-assignments/walking_span.sql b/database/data/004_property-assignments/walking_span.sql index c089d604..90a18a94 100644 --- a/database/data/004_property-assignments/walking_span.sql +++ b/database/data/004_property-assignments/walking_span.sql @@ -47,6 +47,12 @@ VALUES 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 $(\mathrm{id},\mathrm{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 $\mathbf{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 $\mathbf{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', From 84e5b6cfb43e8ec311c7607b7a0e7c1cb757d966 Mon Sep 17 00:00:00 2001 From: ykawase5048 <114643337+ykawase5048@users.noreply.github.com> Date: Thu, 16 Apr 2026 22:47:55 +0200 Subject: [PATCH 10/13] remove redundant property of Set^op --- database/data/004_property-assignments/Set_op.sql | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 database/data/004_property-assignments/Set_op.sql diff --git a/database/data/004_property-assignments/Set_op.sql b/database/data/004_property-assignments/Set_op.sql deleted file mode 100644 index 0e6c6982..00000000 --- a/database/data/004_property-assignments/Set_op.sql +++ /dev/null @@ -1,13 +0,0 @@ -INSERT INTO category_property_assignments ( - category_id, - property_id, - is_satisfied, - reason -) -VALUES -( - 'Set_op', - 'locally presentable', - FALSE, - 'This follows from the fact that the opposite category of a complete accessible large category is never accessible. See Makkai-Pare, Thm. 3.4.3.' -); From eaa764e5b4f1122f5346b067bd2411d5cc4c012a Mon Sep 17 00:00:00 2001 From: ykawase5048 <114643337+ykawase5048@users.noreply.github.com> Date: Thu, 16 Apr 2026 22:48:31 +0200 Subject: [PATCH 11/13] assign multi-completeness --- database/data/004_property-assignments/FS.sql | 12 ++++++++++++ database/data/004_property-assignments/Setne.sql | 13 +++++++++++++ 2 files changed, 25 insertions(+) diff --git a/database/data/004_property-assignments/FS.sql b/database/data/004_property-assignments/FS.sql index 0564e3be..b8b8d8b2 100644 --- a/database/data/004_property-assignments/FS.sql +++ b/database/data/004_property-assignments/FS.sql @@ -53,6 +53,12 @@ VALUES 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 $\mathbf{FinSet}$, but also in $\mathbf{FS}$. Notice that $p_1,p_2$ are surjective. Even though $X \times_Y X$ is not a pullback in $\mathbf{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', @@ -117,6 +123,12 @@ VALUES $(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', diff --git a/database/data/004_property-assignments/Setne.sql b/database/data/004_property-assignments/Setne.sql index d07468d5..fc969618 100644 --- a/database/data/004_property-assignments/Setne.sql +++ b/database/data/004_property-assignments/Setne.sql @@ -89,6 +89,19 @@ VALUES TRUE, 'Since the inclusion $\mathbf{Set}_{\neq \varnothing} \hookrightarrow \mathbf{Set}$ is closed under non-empty colimits, it is also closed under filtered colimits. Therefore, non-empty finite sets are still finitely presentable in $\mathbf{Set}_{\neq \varnothing}$, and every non-empty set is written as a filtered colimit of them.' ), +( + 'Setne', + 'generalized variety', + TRUE, + 'Since the inclusion $\mathbf{Set}_{\neq \varnothing} \hookrightarrow \mathbf{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 $\mathbf{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 $\mathbf{Set}_{\neq \varnothing}$, and let $L$ be a limit of $D$ in $\mathbf{Set}$. If $L$ is non-empty, it gives a limit in $\mathbf{Set}_{\neq \varnothing}$ as well. If $L$ is the empty set, there is no cone over $D$ in $\mathbf{Set}_{\neq \varnothing}$; hence the empty set of cones gives a multi-limit of $D$ in $\mathbf{Set}_{\neq \varnothing}$.' +), ( 'Setne', 'sequential limits', From 43607db7e4aaf1c43b7ea7ac2812c6eb2a655d7f Mon Sep 17 00:00:00 2001 From: ykawase5048 <114643337+ykawase5048@users.noreply.github.com> Date: Thu, 16 Apr 2026 22:49:09 +0200 Subject: [PATCH 12/13] adjust test files --- scripts/expected-data/Ab.json | 18 +++++++++++++++++- scripts/expected-data/Set.json | 18 +++++++++++++++++- scripts/expected-data/Top.json | 16 ++++++++++++++++ 3 files changed, 50 insertions(+), 2 deletions(-) diff --git a/scripts/expected-data/Ab.json b/scripts/expected-data/Ab.json index 350904ca..3b0ab31d 100644 --- a/scripts/expected-data/Ab.json +++ b/scripts/expected-data/Ab.json @@ -86,6 +86,18 @@ "cokernels": true, "normal": true, "conormal": true, + "accessible": true, + "finitely accessible": true, + "ℵ₁-accessible": true, + "generalized variety": true, + "locally finitely multi-presentable": true, + "locally multi-presentable": true, + "locally poly-presentable": true, + "multi-algebraic": true, + "multi-complete": true, + "multi-cocomplete": true, + "multi-terminal object": true, + "multi-initial object": true, "cartesian filtered colimits": true, "cocartesian cofiltered limits": true, @@ -126,5 +138,9 @@ "cocartesian coclosed": false, "locally cocartesian coclosed": false, "quotient object classifier": false, - "regular quotient object classifier": false + "regular quotient object classifier": false, + "locally copresentable": false, + "coaccessible": false, + "countable": false, + "essentially countable": false } diff --git a/scripts/expected-data/Set.json b/scripts/expected-data/Set.json index c11a16dd..899b6a95 100644 --- a/scripts/expected-data/Set.json +++ b/scripts/expected-data/Set.json @@ -81,6 +81,18 @@ "cofiltered": true, "sifted": true, "cosifted": true, + "accessible": true, + "finitely accessible": true, + "ℵ₁-accessible": true, + "generalized variety": true, + "locally finitely multi-presentable": true, + "locally multi-presentable": true, + "locally poly-presentable": true, + "multi-algebraic": true, + "multi-complete": true, + "multi-cocomplete": true, + "multi-terminal object": true, + "multi-initial object": true, "cartesian filtered colimits": true, "cocartesian cofiltered limits": true, @@ -126,5 +138,9 @@ "kernels": false, "cokernels": false, "normal": false, - "conormal": false + "conormal": false, + "locally copresentable": false, + "coaccessible": false, + "countable": false, + "essentially countable": false } diff --git a/scripts/expected-data/Top.json b/scripts/expected-data/Top.json index 94b5cc11..821cfbf5 100644 --- a/scripts/expected-data/Top.json +++ b/scripts/expected-data/Top.json @@ -65,6 +65,10 @@ "cofiltered": true, "sifted": true, "cosifted": true, + "multi-complete": true, + "multi-cocomplete": true, + "multi-terminal object": true, + "multi-initial object": true, "cocartesian cofiltered limits": true, "abelian": false, @@ -126,5 +130,17 @@ "cokernels": false, "normal": false, "conormal": false, + "accessible": false, + "finitely accessible": false, + "ℵ₁-accessible": false, + "generalized variety": false, + "locally finitely multi-presentable": false, + "locally multi-presentable": false, + "locally poly-presentable": false, + "multi-algebraic": false, + "locally copresentable": false, + "coaccessible": false, + "countable": false, + "essentially countable": false, "cartesian filtered colimits": false } From af4592ee94fd0d81e5fcd3949579b22f1a2c8f87 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Thu, 16 Apr 2026 22:57:24 +0200 Subject: [PATCH 13/13] Delta is countable --- database/data/004_property-assignments/Delta.sql | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/database/data/004_property-assignments/Delta.sql b/database/data/004_property-assignments/Delta.sql index 0cad9358..ec5cb288 100644 --- a/database/data/004_property-assignments/Delta.sql +++ b/database/data/004_property-assignments/Delta.sql @@ -11,6 +11,12 @@ VALUES TRUE, 'If $[n] \to [m]$ is a bijection, then $n+1 = m+1$ by comparing the sizes, hence $n=m$.' ), +( + 'Delta', + 'countable', + TRUE, + 'This is obvious.' +), ( 'Delta', 'small',