From 37988349aca2d6023840caf80668b3cc71a0f604 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Mon, 7 Sep 2026 22:00:57 +0200 Subject: [PATCH 1/5] add macros for standard collections --- content/foundations.md | 20 ++++++++++---------- database/data/macros.yaml | 6 ++++++ 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/content/foundations.md b/content/foundations.md index c799b3eed..8f44b40ff 100644 --- a/content/foundations.md +++ b/content/foundations.md @@ -10,26 +10,26 @@ In _CatDat_, we work with the following convenient set-theoretic foundation for ## Sets, collections, and hypercollections We work with [ZFC](https://en.wikipedia.org/wiki/Zermelo%E2%80%93Fraenkel_set_theory) and two [Grothendieck universes](https://en.wikipedia.org/wiki/Grothendieck_universe), which we denote by -$$\mathrm{Set} \in \mathrm{Set}^+.$$ +$$\SetColl \in \SetColl^+.$$ Thus, in principle everything is a set, but we rename them as follows to introduce three "levels of size": -- The sets in $\mathrm{Set}$ are renamed to _sets_ (sometimes also _small sets_). -- The sets in $\mathrm{Set}^+$ are renamed to _collections_ (sometimes also _large sets_). -- All available sets are renamed to _hypercollections_ (which may or may not lie in $\mathrm{Set}^+$). +- The sets in $\SetColl$ are renamed to _sets_ (sometimes also _small sets_). +- The sets in $\SetColl^+$ are renamed to _collections_ (sometimes also _large sets_). +- All available sets are renamed to _hypercollections_ (which may or may not lie in $\SetColl^+$). -For example, $\IR$ is a set, $\mathrm{Set}$ is a collection, and $\mathrm{Set}^+$ is a hypercollection. The collection $\mathrm{Set}$ consists of all sets, and the hypercollection $\mathrm{Set}^+$ consists of all collections. Every set is also a collection, and every collection is also a hypercollection. There is a collection $\mathrm{Grp}$ that consists of all groups, a collection $\mathrm{Top}$ of all topological spaces, etc. +For example, $\IR$ is a set, $\SetColl$ is a collection, and $\SetColl^+$ is a hypercollection. The collection $\SetColl$ consists of all sets, and the hypercollection $\SetColl^+$ consists of all collections. Every set is also a collection, and every collection is also a hypercollection. There is a collection $\GrpColl$ that consists of all groups, a collection $\TopColl$ of all topological spaces, etc. Note that sets, collections, and hypercollections all satisfy the ZFC axioms. In this sense, (hyper)collections behave in the same way as sets. This is crucial for category theory. For example, we can form the collection of all maps between two collections. This basic property is not satisfied by [classes](), which are not adequate for category theory. -For example, there is a collection $[\mathrm{Set},\mathrm{Set}]$ that consists of all maps $\mathrm{Set} \to \mathrm{Set}$. +For example, there is a collection $[\SetColl,\SetColl]$ that consists of all maps $\SetColl \to \SetColl$. Just imagine three copies of ZFC embedded into each other, each representing a "level of size". Grothendieck universes are merely an implementation detail, which we can _and will_ drop from now on. Sets are on level 1, collections on level 2, and hypercollections on level 3. Concrete mathematical objects such as numbers or functions can be thought of as living on level 0 (even though they are usually modeled as sets in ZFC). visualization of three levels of size -The levels are not defined by cardinality alone. For example, $\{\mathrm{Set}\}$ is a collection with just one element, but it is not a set (since otherwise $\mathrm{Set}$ would be a set). In particular, not every finite collection is a set. However, every finite collection is isomorphic to a set. +The levels are not defined by cardinality alone. For example, $\{\SetColl\}$ is a collection with just one element, but it is not a set (since otherwise $\SetColl$ would be a set). In particular, not every finite collection is a set. However, every finite collection is isomorphic to a set. -In our framework, there is no way to group all hypercollections into a single mathematical object; for this, one would need a third Grothendieck universe $\mathrm{Set}^{++}$, but such a grouping is usually not required. +In our framework, there is no way to group all hypercollections into a single mathematical object; for this, one would need a third Grothendieck universe $\SetColl^{++}$, but such a grouping is usually not required. A family $(X_i)_{i \in I}$ of collections is called _small_ when its index collection is a set. @@ -56,9 +56,9 @@ We write $\Hom(X,Y)$ or $\Mor(X,Y)$ for the collection of such morphisms. This c When a morphism $f : X \to Y$ happens to be uniquely determined, it will be written as $!_{X,Y}$ or even just $!$. -A _small category_ is defined as above, but using _sets_ $O$ and $M$ (instead of collections). A _hypercategory_ is defined similarly using _hypercollections_ $O$ and $M$. Every small category is a category, and every category is a hypercategory. Notice that there is a collection of all small categories $\mathrm{Cat}$, and likewise a hypercollection of all categories $\mathrm{Cat}^+$. +A _small category_ is defined as above, but using _sets_ $O$ and $M$ (instead of collections). A _hypercategory_ is defined similarly using _hypercollections_ $O$ and $M$. Every small category is a category, and every category is a hypercategory. Notice that there is a collection of all small categories $\CatColl$, and likewise a hypercollection of all categories $\CatColl^+$. -For example, the category of sets $\Set$ has $\Ob(\Set) = \mathrm{Set}$, the collection of all sets. The category of groups $\Grp$ has $\Ob(\Grp) = \mathrm{Grp}$, the collection of all groups. Other typical categories (topological spaces, graphs, metric spaces, etc.) are constructed as usual. All these examples are locally small. +For example, the category of sets $\Set$ has $\Ob(\Set) = \SetColl$, the collection of all sets. The category of groups $\Grp$ has $\Ob(\Grp) = \GrpColl$, the collection of all groups. Other typical categories (topological spaces, graphs, metric spaces, etc.) are constructed as usual. All these examples are locally small. Collections are the objects of a hypercategory $\Set^+$. diff --git a/database/data/macros.yaml b/database/data/macros.yaml index 29b86f363..3051ace6f 100644 --- a/database/data/macros.yaml +++ b/database/data/macros.yaml @@ -42,6 +42,12 @@ \fin: \mathrm{fin} \noiso: \mathrm{noiso} +# standard collections +\SetColl: \mathrm{Set} +\TopColl: \mathrm{Top} +\GrpColl: \mathrm{Grp} +\CatColl: \mathrm{Cat} + # operators \Mor: \operatorname{Mor} \Hom: \operatorname{Hom} From bb950525224f0b06105ed9b48ee00347eb066339 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Tue, 8 Sep 2026 00:36:01 +0200 Subject: [PATCH 2/5] add macro for collection of ordinal numbers; change notation of BOn --- database/data/categories/BOn.yaml | 20 +++++++++---------- database/data/categories/On.yaml | 4 ++-- .../data/functors/inclusion_ordinals.yaml | 2 +- database/data/macros.yaml | 1 + 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/database/data/categories/BOn.yaml b/database/data/categories/BOn.yaml index ea4e82960..be4b1b422 100644 --- a/database/data/categories/BOn.yaml +++ b/database/data/categories/BOn.yaml @@ -1,6 +1,6 @@ id: BOn name: delooping of the additive monoid of ordinal numbers -notation: $B\On$ +notation: $B\OnColl$ 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$. @@ -32,7 +32,7 @@ satisfied_properties: proof: See MSE/5129138. - property: locally cartesian closed - proof: 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. + proof: The slice category $B\OnColl / *$ is isomorphic to the poset $(\OnColl,\geq)$ (not to $(\OnColl,\leq)$). This category is thin and and semi-strongly connected, hence cartesian closed. - property: ℵ₁-cofiltered proof: In fact, it is $\kappa$-cofiltered for every cardinal $\kappa$. By the dual of Theorem 2.2 at the nLab it suffices to prove any set of objects has a cone (which is trivial in a one-object category) and that any set of parallel morphisms is equalized by some morphism. Here, this means that for every set of ordinals $A$ there is some ordinal $\beta$ such that $\alpha + \beta$ for $\alpha \in A$ does not depend on $\alpha$. Take $\beta$ to be any ordinal larger than $\sup(A)$ of the form $\omega^\gamma$. It is well-known that $\omega^\gamma$ has the property that $\alpha + \omega^\gamma = \omega^\gamma$ for all $\alpha < \omega^\gamma$ (Kunen's Set Theory, Exercise I.9.53), from which the claim follows. @@ -41,21 +41,21 @@ satisfied_properties: references: - BN_aleph1-filtered_colimits proof: >- - The proof is similar to $B\IN$. Let $\I$ be an $\aleph_1$-filtered small category and $D : \I \to B\On$ a diagram. A cocone $\lambda = (\lambda_i)_{i \in \I}$ for $D$ is a family of ordinals satisfying $\lambda_i = \lambda_j + D(f)$ for every morphism $f: i \to j$ in $\I$. + The proof is similar to $B\IN$. Let $\I$ be an $\aleph_1$-filtered small category and $D : \I \to B\OnColl$ a diagram. A cocone $\lambda = (\lambda_i)_{i \in \I}$ for $D$ is a family of ordinals satisfying $\lambda_i = \lambda_j + D(f)$ for every morphism $f: i \to j$ in $\I$. - We first observe that $D$ factors uniquely through the preorder reflection of $\I$. Indeed, any two parallel morphisms in $\I$ are coequalized by some morphism, and $B\On$ is left cancellative. Thus, we may assume that $\I$ is a preordered set. Each inequality $i \leq j$ in $\I$ is mapped to an ordinal number $\alpha_{i,j} \coloneqq D(i \to j)$, and these numbers satisfy + We first observe that $D$ factors uniquely through the preorder reflection of $\I$. Indeed, any two parallel morphisms in $\I$ are coequalized by some morphism, and $B\OnColl$ is left cancellative. Thus, we may assume that $\I$ is a preordered set. Each inequality $i \leq j$ in $\I$ is mapped to an ordinal number $\alpha_{i,j} \coloneqq D(i \to j)$, and these numbers satisfy $$\alpha_{i,k} = \alpha_{j,k} + \alpha_{i,j}$$ for all $i \leq j \leq k$. In particular, $\alpha_{i,j} \leq \alpha_{i,k}$. - For fixed $i \in \I$, the collection $\{\alpha_{i,j} : j \geq i\}$ is a set of ordinals because $\I$ is small, hence bounded above in $\On$. We claim that it has a maximum element. Otherwise, we can find a countable chain $i = j_0 \leq j_1 \leq j_2 \leq \dotsc$ in $\I$ such that $\alpha_{i,j_n} < \alpha_{i,j_{n+1}}$ for all $n \in \IN$. Since $\I$ is $\aleph_1$-filtered, there is an upper bound $j_\infty \in \I$ of $(j_n)_{n \in \IN}$. For each $n \in \IN$, the equation + For fixed $i \in \I$, the collection $\{\alpha_{i,j} : j \geq i\}$ is a set of ordinals because $\I$ is small, hence bounded above in $\OnColl$. We claim that it has a maximum element. Otherwise, we can find a countable chain $i = j_0 \leq j_1 \leq j_2 \leq \dotsc$ in $\I$ such that $\alpha_{i,j_n} < \alpha_{i,j_{n+1}}$ for all $n \in \IN$. Since $\I$ is $\aleph_1$-filtered, there is an upper bound $j_\infty \in \I$ of $(j_n)_{n \in \IN}$. For each $n \in \IN$, the equation $$\alpha_{i,j_{n+1}} = \alpha_{j_n,j_{n+1}} + \alpha_{i,j_n}$$ implies that $\alpha_{j_n,j_{n+1}} > 0$. Hence, $$\alpha_{j_n,j_\infty} = \alpha_{j_{n+1},j_\infty} + \alpha_{j_n,j_{n+1}} > \alpha_{j_{n+1},j_\infty},$$ - so $(\alpha_{j_n,j_\infty})_{n \in \IN}$ is a strictly decreasing infinite sequence of ordinals, contradicting the well-foundedness of $\On$. Thus, the maximum + so $(\alpha_{j_n,j_\infty})_{n \in \IN}$ is a strictly decreasing infinite sequence of ordinals, contradicting the well-foundedness of $\OnColl$. Thus, the maximum $$u_i \coloneqq \max \{ \alpha_{i,j} : j \geq i \}$$ - is a well-defined ordinal number, which we regard as a morphism in $B\On$. The family $(u_i)_{i \in \I}$ forms a cocone for $D$, since for all $i \leq j$ we have + is a well-defined ordinal number, which we regard as a morphism in $B\OnColl$. The family $(u_i)_{i \in \I}$ forms a cocone for $D$, since for all $i \leq j$ we have $$\begin{align*} u_i & = \max \{ \alpha_{i,k} : k \geq i \} \\ & = \max \{ \alpha_{i,k} : k \geq j \} \\ @@ -63,7 +63,7 @@ satisfied_properties: & = \max \{ \alpha_{j,k} : k \geq j \} + \alpha_{i,j} \\ & = u_j + \alpha_{i,j}. \end{align*}$$ - To establish the universal property, let $(\lambda_i)_{i \in \I}$ be any cocone for $D$, so that $\lambda_i = \lambda_j + \alpha_{i,j}$ for all $i \leq j$. The cocone relation $u_i = u_j + \alpha_{i,j}$ implies that $u_i \geq u_j$ whenever $i \leq j$. By the well-foundedness of $\On$, there exists $i_0 \in \I$ such that $u_j = u_{i_0}$ for all $j \geq i_0$. For such $j$, the relation + To establish the universal property, let $(\lambda_i)_{i \in \I}$ be any cocone for $D$, so that $\lambda_i = \lambda_j + \alpha_{i,j}$ for all $i \leq j$. The cocone relation $u_i = u_j + \alpha_{i,j}$ implies that $u_i \geq u_j$ whenever $i \leq j$. By the well-foundedness of $\OnColl$, there exists $i_0 \in \I$ such that $u_j = u_{i_0}$ for all $j \geq i_0$. For such $j$, the relation $$u_{i_0} = u_j + \alpha_{i_0,j} = u_{i_0} + \alpha_{i_0,j}$$ forces $\alpha_{i_0,j} = 0$. Consequently, $$u_{i_0} = \max \{ \alpha_{i_0,j} : j \geq i_0 \} = 0.$$ @@ -78,14 +78,14 @@ satisfied_properties: For uniqueness, suppose $\kappa'$ is any ordinal satisfying $\lambda_i = \kappa' + u_i$ for all $i \in \I$. Evaluating at $i_0$ yields $$\lambda_{i_0} = \kappa' + u_{i_0} = \kappa' + 0 = \kappa',$$ - hence $\kappa' = \kappa$. Therefore, the cocone $(u_i)_{i \in \I}$ is the colimit of $D$ in $B\On$. + hence $\kappa' = \kappa$. Therefore, the cocone $(u_i)_{i \in \I}$ is the colimit of $D$ in $B\OnColl$. unsatisfied_properties: - property: one-way proof: This is trivial. - property: locally essentially small - proof: This is because $\On$ is large. + proof: This is because $\OnColl$ is a large collection. - property: balanced proof: Every finite ordinal is both a mono- and an epimorphism (see below), but only $0$ is an isomorphism. diff --git a/database/data/categories/On.yaml b/database/data/categories/On.yaml index 495785fab..c1416203f 100644 --- a/database/data/categories/On.yaml +++ b/database/data/categories/On.yaml @@ -1,9 +1,9 @@ id: On name: partially ordered collection of ordinal numbers -notation: $(\On,\leq)$ +notation: $\On$ objects: ordinal numbers morphisms: 'a unique morphism $(\alpha,\beta): \alpha \to \beta$ if $\alpha \leq \beta$' -description: This category is a large variant of the thin category of natural numbers. +description: This is the partially ordered collection $\On = (\OnColl,\leq)$, regarded as a thin category. This category is a large variant of the thin category of natural numbers. nlab_link: null tags: diff --git a/database/data/functors/inclusion_ordinals.yaml b/database/data/functors/inclusion_ordinals.yaml index 3c7d64990..ac3ceba42 100644 --- a/database/data/functors/inclusion_ordinals.yaml +++ b/database/data/functors/inclusion_ordinals.yaml @@ -3,7 +3,7 @@ name: inclusion functor from extended natural numbers to ordinal numbers notation: $\iota$ domain: N_oo codomain: On -description: 'This is the inclusion map from the partially ordered set $(\IN \cup \{\infty\},\leq)$ (considered as a thin category as usual) into the partially ordered collection $(\On,\leq)$, where we map $\infty$ to the ordinal $\omega$. It is an example of a functor that preserves binary products, but not terminal objects.' +description: 'This is the inclusion map from the partially ordered set $(\IN \cup \{\infty\},\leq)$ (considered as a thin category as usual) into the partially ordered collection $(\OnColl,\leq)$, where we map $\infty$ to the ordinal $\omega$. It is an example of a functor that preserves binary products, but not terminal objects.' nlab_link: https://ncatlab.org/nlab/show/identity+functor left_adjoint: null right_adjoint: null diff --git a/database/data/macros.yaml b/database/data/macros.yaml index 3051ace6f..bb81b3188 100644 --- a/database/data/macros.yaml +++ b/database/data/macros.yaml @@ -47,6 +47,7 @@ \TopColl: \mathrm{Top} \GrpColl: \mathrm{Grp} \CatColl: \mathrm{Cat} +\OnColl: \mathrm{On} # operators \Mor: \operatorname{Mor} From c75358f6fc08e16675bb37b4ba62f53aabb642a4 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Mon, 7 Sep 2026 22:03:56 +0200 Subject: [PATCH 3/5] add the category of set-indexed families of abelian groups --- database/data/categories/Ab.yaml | 1 + database/data/categories/Set_disc_Ab.yaml | 72 +++++++++++++++++++ database/data/categories/Z.yaml | 1 + database/data/categories/grAb.yaml | 1 + .../category-implications/accessible.yaml | 3 +- 5 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 database/data/categories/Set_disc_Ab.yaml diff --git a/database/data/categories/Ab.yaml b/database/data/categories/Ab.yaml index e53fc540e..cf8577842 100644 --- a/database/data/categories/Ab.yaml +++ b/database/data/categories/Ab.yaml @@ -20,6 +20,7 @@ related: - TorsFreeAb - grAb - SeqAb + - Set_disc_Ab satisfied_properties: [] diff --git a/database/data/categories/Set_disc_Ab.yaml b/database/data/categories/Set_disc_Ab.yaml new file mode 100644 index 000000000..f85476bd3 --- /dev/null +++ b/database/data/categories/Set_disc_Ab.yaml @@ -0,0 +1,72 @@ +id: Set_disc_Ab +name: category of set-indexed families of abelian groups +notation: $[\Set_{\disc},\Ab]$ +objects: families of abelian groups $(A_X)_{X \in \SetColl}$ indexed by all sets +morphisms: families of homomorphisms +description: This functor category $[\Set_{\disc},\Ab] \cong \Ab^{\SetColl}$ is a larger variant of $\grAb = [\IZ_{\disc}, \Ab]$. Instead of $\Set_{\disc}$, we may take any other large discrete category. It does not appear in practice, but we have added it because of its interesting combinations of properties. For example, it shows that a Grothendieck abelian category is not necessarily locally small. For some background on why this functor category is well-defined, see Foundations. +nlab_link: null + +tags: + - algebra + +related: + - Ab + - Z + - Set_disc + - grAb + +satisfied_properties: + - property: preadditive + proof: This property is immediately inherited from $\Ab$, because we may define the preadditive structure pointwise via $(f+g)_X \coloneqq f_X + g_X$. Note that for two families $A,B$, the collection $\Hom(A,B)$ is a possibly large abelian group, which is compatible with our definition of a preadditive category. + + - property: cocomplete + proof: This property is immediately inherited from $\Ab$. Colimits are defined pointwise. + + - property: complete + proof: This property is immediately inherited from $\Ab$. Limits are defined pointwise. + + - property: exact filtered colimits + proof: This property is immediately inherited from $\Ab$. + + - property: normal + proof: This property is immediately inherited from $\Ab$. + + - property: conormal + proof: This property is immediately inherited from $\Ab$. + + - property: generator + proof: We know that $\Ab$ has a cogenerator $G$, for example $G = \IZ$. Then the constant family $(G)_{X \in \SetColl}$ is a generator of $[\Set_{\disc},\Ab]$. + + - property: cogenerator + proof: We know that $\Ab$ has a cogenerator $Q$, for example $Q = \IQ / \IZ$. Then the constant family $(Q)_{X \in \SetColl}$ is a cogenerator of $[\Set_{\disc},\Ab]$. + +unsatisfied_properties: + - property: skeletal + proof: This is trivial. + + - property: split abelian + proof: Since there is an exact embedding $\Ab \to [\Set_{\disc},\Ab]$ which inserts an abelian group at some index, this follows from the fact that $\Ab$ is not split abelian. + + - property: well-powered + proof: The collection of subobjects of the constant family $(\IZ/2)_{X \in \SetColl}$ identifies with the collection $P(\SetColl)$, which is not isomorphic to a set. + +special_objects: + initial object: + description: family of trivial groups + terminal object: + description: family of trivial groups + coproducts: + description: pointwise defined direct sums + products: + description: pointwise defined direct products + +special_morphisms: + isomorphisms: + description: families of bijective homomorphisms + proof: This is trivial. + monomorphisms: + description: families of injective homomorphisms + proof: The category is abelian and hence has kernels, constructed pointwise. Thus, a homomorphism $f = (f_X)_{X \in \SetColl}$ is a monomorphism if and only if $\ker(f_X) = 0$ for all $X$, i.e. each $f_X$ is a monomorphism. + epimorphisms: + description: families of surjective homomorphisms + proof: The category is abelian and hence has cokernels, constructed pointwise. Thus, a homomorphism $f = (f_X)_{X \in \SetColl}$ is an epimorphism if and only if $\coker(f_X) = 0$ for all $X$, i.e. each $f_X$ is an epimorphism. diff --git a/database/data/categories/Z.yaml b/database/data/categories/Z.yaml index 7af46d84c..d622d3523 100644 --- a/database/data/categories/Z.yaml +++ b/database/data/categories/Z.yaml @@ -13,6 +13,7 @@ tags: related: - Sch_R - Set + - Set_disc_Ab satisfied_properties: - property: complete diff --git a/database/data/categories/grAb.yaml b/database/data/categories/grAb.yaml index 6edc50bb5..35d7a0619 100644 --- a/database/data/categories/grAb.yaml +++ b/database/data/categories/grAb.yaml @@ -13,6 +13,7 @@ related: - Ab - SeqAb - Ch(Ab) + - Set_disc_Ab satisfied_properties: [] diff --git a/database/data/category-implications/accessible.yaml b/database/data/category-implications/accessible.yaml index d38425afb..471d2f019 100644 --- a/database/data/category-implications/accessible.yaml +++ b/database/data/category-implications/accessible.yaml @@ -111,7 +111,8 @@ proof: >- See Deriving Auslander's formula, Cor. 5.2, or Sheafifiable homotopy model categories, Prop. 3.10. - Remark: The assumption that the category is locally essentially small is necessary (and is implicit in most of the literature), as the example $[\Set_{\disc},\Ab]$ shows. + + Remark: The assumption that the category is locally essentially small is necessary (and is implicit in most of the literature), as the example $[\Set_{\disc},\Ab]$ shows (see here). - id: algebraic_implies_lfp assumptions: From 813d40a83e2c2a6b161577321331bb387b12e3c9 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Tue, 8 Sep 2026 00:36:35 +0200 Subject: [PATCH 4/5] add the category of transfinite sequences of abelian groups --- .cspell.json | 1 + database/data/categories/Ab.yaml | 1 + database/data/categories/SeqAb.yaml | 1 + database/data/categories/Set_disc_Ab.yaml | 1 + database/data/categories/TransSeqAb.yaml | 118 ++++++++++++++++++ .../data/category-implications/additive.yaml | 3 +- 6 files changed, 124 insertions(+), 1 deletion(-) create mode 100644 database/data/categories/TransSeqAb.yaml diff --git a/.cspell.json b/.cspell.json index ea713a958..45d78e55e 100644 --- a/.cspell.json +++ b/.cspell.json @@ -323,6 +323,7 @@ "subconjugated", "subcover", "subfunctor", + "subfunctors", "submanifold", "submonoid", "subobject", diff --git a/database/data/categories/Ab.yaml b/database/data/categories/Ab.yaml index cf8577842..87d7494f0 100644 --- a/database/data/categories/Ab.yaml +++ b/database/data/categories/Ab.yaml @@ -21,6 +21,7 @@ related: - grAb - SeqAb - Set_disc_Ab + - TransSeqAb satisfied_properties: [] diff --git a/database/data/categories/SeqAb.yaml b/database/data/categories/SeqAb.yaml index 24bf5736c..57f4269f7 100644 --- a/database/data/categories/SeqAb.yaml +++ b/database/data/categories/SeqAb.yaml @@ -15,6 +15,7 @@ related: - grAb - FiltVect - Ch(Ab) + - TransSeqAb satisfied_properties: [] diff --git a/database/data/categories/Set_disc_Ab.yaml b/database/data/categories/Set_disc_Ab.yaml index f85476bd3..ab9870a5b 100644 --- a/database/data/categories/Set_disc_Ab.yaml +++ b/database/data/categories/Set_disc_Ab.yaml @@ -14,6 +14,7 @@ related: - Z - Set_disc - grAb + - TransSeqAb satisfied_properties: - property: preadditive diff --git a/database/data/categories/TransSeqAb.yaml b/database/data/categories/TransSeqAb.yaml new file mode 100644 index 000000000..f5e0d4b32 --- /dev/null +++ b/database/data/categories/TransSeqAb.yaml @@ -0,0 +1,118 @@ +id: TransSeqAb +name: category of long transfinite sequences of abelian groups +notation: $[\On,\Ab]$ +objects: 'long transfinite sequences of abelian groups, i.e. families of abelian groups $(A_\alpha)$ indexed by all ordinal numbers, equipped with transition homomorphisms $A_{\alpha,\beta} : A_\alpha \to A_\beta$ for $\alpha \leq \beta$ satisfying $A_{\alpha,\alpha} = \id_{A_\alpha}$ and $A_{\alpha,\gamma} = A_{\beta,\gamma} \circ A_{\alpha,\beta}$ for $\alpha \leq \beta \leq \gamma$' +morphisms: A morphism $A \to B$ is a family of homomorphisms $A_\alpha \to B_\alpha$ such that the evident square commutes for every $\alpha \leq \beta$. +description: This is the functor category $[\On,\Ab]$, where $\On$ is the thin category of ordinal numbers. It is a larger variant of the category of sequences of abelian groups $[\IN,\Ab]$. This category rarely appears in practice, but we have added it because of its interesting combinations of properties. For example, it shows that a Grothendieck abelian category that is not locally small does not necessarily have a cogenerator. For some background on why this functor category is well-defined, see Foundations. +nlab_link: null + +tags: + - algebra + +related: + - Ab + - On + - SeqAb + - Set_disc_Ab + +satisfied_properties: + - property: preadditive + proof: This property is immediately inherited from $\Ab$, because we may define the preadditive structure pointwise via $(f+g)_\alpha \coloneqq f_\alpha + g_\alpha$. Note that for two transfinite sequences $A,B$, the collection $\Hom(A,B)$ is a possibly large abelian group, which is compatible with our definition of a preadditive category. + + - property: cocomplete + proof: This property is immediately inherited from $\Ab$. Colimits are defined pointwise. + + - property: complete + proof: This property is immediately inherited from $\Ab$. Limits are defined pointwise. + + - property: exact filtered colimits + proof: This property is immediately inherited from $\Ab$. + + - property: normal + proof: This property is immediately inherited from $\Ab$. + + - property: conormal + proof: This property is immediately inherited from $\Ab$. + + - property: generator + proof: >- + Define the functor $G : \On \to \Ab$ on objects by + $$\textstyle G_\alpha \coloneqq \bigoplus_{\gamma \leq \alpha} \IZ \, e_\gamma$$ + with free generators $e_\gamma$. For $\alpha \leq \beta$, define the transition map $G_\alpha \to G_\beta$ by $e_\gamma \mapsto e_\gamma$ for $\gamma \leq \alpha$. Thus, $G$ is the composition of functors + $$\On \xrightarrow{+1} \On \hookrightarrow \Set \xrightarrow{F} \FreeAb \hookrightarrow \Ab.$$ + To verify that $G$ is a generator, it suffices to show that for every non-zero functor $A : \On \to \Ab$, there is a non-zero morphism $G \to A$. Pick an ordinal $\kappa$ and a non-zero element $x \in A_\kappa$. For any ordinal $\alpha$, define the homomorphism $f_\alpha : G_\alpha \to A_\alpha$ by + $$f_\alpha(e_\gamma) \coloneqq \begin{cases} + A_{\kappa,\alpha}(x) & \alpha \geq \kappa \text{ and } \gamma = \kappa \\ + 0 & \text{else.} + \end{cases}$$ + for ordinals $\gamma \leq \alpha$. In particular, $f_\kappa(e_\kappa) = x$, so $f_\kappa$ is non-zero. To show that $f = (f_\alpha) : G \to A$ is a morphism, for $\gamma \leq \alpha \leq \beta$ we compute: + $$\begin{align*} + A_{\alpha,\beta}(f_\alpha(e_\gamma)) & = \begin{cases} + A_{\alpha,\beta}(A_{\kappa,\alpha}(x)) & \alpha \geq \kappa \text{ and } \gamma = \kappa \\ + A_{\alpha,\beta}(0) & \text{else.} + \end{cases} \\ + & = \begin{cases} + A_{\kappa,\beta}(x) & \alpha \geq \kappa \text{ and } \gamma = \kappa \\ + 0 & \text{else.} + \end{cases} \\ + & \quad (\text{since } \kappa = \gamma \implies \kappa \leq \alpha \text{ anyway}) \\ + & = \begin{cases} + A_{\kappa,\beta}(x) & \beta \geq \kappa \text{ and } \gamma = \kappa \\ + 0 & \text{else.} + \end{cases} \\ + & = f_\beta(e_\gamma) \\ + & = f_\beta(G_{\alpha,\beta}(e_\gamma)) + \end{align*}$$ + label: TransSeqAb_generator + +unsatisfied_properties: + - property: skeletal + proof: This is trivial. + + - property: split abelian + proof: The diagonal functor $\Ab \hookrightarrow [\On,\Ab]$ is fully faithful and exact, so the claim follows from the fact that $\Ab$ is not split abelian. + + - property: well-powered + proof: >- + Consider the functor $G : \On \to \Ab$ defined by + $$\textstyle G(\alpha) \coloneqq \bigoplus_{\gamma \leq \alpha} \IZ \, e_\gamma,$$ + which we have already identified as a generator. For every ordinal $\kappa$, consider the subfunctor $A^\kappa \subseteq G$ defined by + $$\textstyle (A^\kappa)_\alpha \coloneqq \bigoplus_{\gamma \leq \min(\alpha,\kappa)} \IZ \, e_\gamma.$$ + For $\kappa < \lambda$, the subfunctors $A^\kappa$ and $A^{\lambda}$ are distinct because $(A^\kappa)_{\lambda} = \bigoplus_{\gamma \leq \kappa} \IZ \, e_\gamma$ and $(A^\lambda)_{\lambda} = \bigoplus_{\gamma \leq \lambda} \IZ \, e_\gamma$ are distinct subgroups of $G_{\lambda}$. + references: + - TransSeqAb_generator + + - property: cogenerator + proof: >- + For each ordinal $\kappa$, define a functor $X^\kappa : \On \to \Ab$ which is constant at $\IZ$ on ordinals $\leq \kappa$ and is $0$ on ordinals $> \kappa$. The transition maps are identities of $\IZ$ for ordinals $\leq \kappa$ and necessarily zero for larger ordinals. Also define the functor $Y^\kappa : \On \to \Ab$ which is $\IZ$ at the ordinal $\kappa$ and $0$ at every other ordinal. Its transition maps are uniquely determined. There is a morphism $\iota^\kappa : Y^\kappa \to X^\kappa$ which is the identity of $\IZ$ at the ordinal $\kappa$ and necessarily zero at all other ordinals. Naturality is easy to check, and $\iota^\kappa$ is non-zero. + + If a cogenerator $C$ exists in $[\On,\Ab]$, then for every $\kappa$ there is a morphism $f^\kappa : X^\kappa \to C$ such that $f^\kappa \circ \iota^\kappa : Y^\kappa \to C$ is non-zero. Since it is necessarily zero at all ordinals $\neq \kappa$, it must be non-zero at $\kappa$. But $\iota^\kappa$ is the identity at $\kappa$. Hence, $f^\kappa$ is non-zero at $\kappa$, i.e. the element $(f^\kappa)_\kappa(1) \in C_\kappa$ is non-zero. Consider the element + $$c_\kappa \coloneqq (f^\kappa)_0(1) \in C_0.$$ + Its image in $C_\kappa$ is, by naturality of $f^\kappa$, + $$C_{0,\kappa}(c_\kappa) = (f^\kappa)_\kappa(X^\kappa_{0,\kappa}(1)) = (f^\kappa)_\kappa(1) \neq 0.$$ + But for $\lambda > \kappa$ we have + $$C_{0,\lambda}(c_\kappa) = (f^\kappa)_\lambda(X^\kappa_{0,\lambda}(1)) = (f^\kappa)_\lambda(0) = 0.$$ + Thus, $\kappa$ is the largest ordinal $\lambda$ such that $C_{0,\lambda}(c_\kappa) \neq 0$. Thus, $\kappa$ can be reconstructed from $c_\kappa$. We conclude that the map + $$\OnColl \to C_0, \quad \kappa \mapsto c_\kappa$$ + is injective. This is impossible since $C_0$ is a set. + +special_objects: + initial object: + description: sequence of trivial groups + terminal object: + description: sequence of trivial groups + coproducts: + description: pointwise defined direct sums + products: + description: pointwise defined direct products + +special_morphisms: + isomorphisms: + description: morphisms that are pointwise bijective + proof: This is trivial. + monomorphisms: + description: morphisms that are pointwise injective + proof: The category is abelian and hence has kernels, constructed pointwise. Thus, a morphism $f = (f_\alpha)$ is a monomorphism if and only if $\ker(f_\alpha) = 0$ for all $\alpha$, i.e. each $f_\alpha$ is a monomorphism. + epimorphisms: + description: morphisms that are pointwise surjective + proof: The category is abelian and hence has cokernels, constructed pointwise. Thus, a morphism $f = (f_\alpha)$ is an epimorphism if and only if $\coker(f_\alpha) = 0$ for all $\alpha$, i.e. each $f_\alpha$ is an epimorphism. diff --git a/database/data/category-implications/additive.yaml b/database/data/category-implications/additive.yaml index 1d26911b6..7d015d1b8 100644 --- a/database/data/category-implications/additive.yaml +++ b/database/data/category-implications/additive.yaml @@ -70,7 +70,8 @@ proof: >- See Kashiwara-Schapira, Thm. 9.6.3. - Remark: The assumption that the category is locally essentially small is necessary (and is implicit in most of the literature), as the example $[\On,\Ab]$ shows. + + Remark: The assumption that the category is locally essentially small is necessary (and is implicit in most of the literature), as the example $[\On,\Ab]$ shows (see here). - id: additive_CIP_CSP assumptions: From e7164d0d26870c5318adbdd00e1366ee1b5e4000 Mon Sep 17 00:00:00 2001 From: Script Raccoon Date: Wed, 9 Sep 2026 12:38:53 +0200 Subject: [PATCH 5/5] add the category of large vector spaces with a small basis --- .cspell.json | 2 + database/data/categories/Set_disc_Ab.yaml | 1 + database/data/categories/TransSeqAb.yaml | 1 + database/data/categories/Vect.yaml | 2 + database/data/categories/Vect_large.yaml | 114 ++++++++++++++++++++++ 5 files changed, 120 insertions(+) create mode 100644 database/data/categories/Vect_large.yaml diff --git a/.cspell.json b/.cspell.json index 45d78e55e..86828c3d0 100644 --- a/.cspell.json +++ b/.cspell.json @@ -266,6 +266,7 @@ "Neves", "Niefield", "nilradical", + "nimbers", "nlab", "Noetherian", "Noncommutative", @@ -361,6 +362,7 @@ "Universalis", "Universitext", "Urysohn", + "Vandermonde", "vercel", "Verlag", "Vicari", diff --git a/database/data/categories/Set_disc_Ab.yaml b/database/data/categories/Set_disc_Ab.yaml index ab9870a5b..21ead93fe 100644 --- a/database/data/categories/Set_disc_Ab.yaml +++ b/database/data/categories/Set_disc_Ab.yaml @@ -15,6 +15,7 @@ related: - Set_disc - grAb - TransSeqAb + - Vect_large satisfied_properties: - property: preadditive diff --git a/database/data/categories/TransSeqAb.yaml b/database/data/categories/TransSeqAb.yaml index f5e0d4b32..3088f332e 100644 --- a/database/data/categories/TransSeqAb.yaml +++ b/database/data/categories/TransSeqAb.yaml @@ -14,6 +14,7 @@ related: - On - SeqAb - Set_disc_Ab + - Vect_large satisfied_properties: - property: preadditive diff --git a/database/data/categories/Vect.yaml b/database/data/categories/Vect.yaml index 437fae58e..e8ab9b5ce 100644 --- a/database/data/categories/Vect.yaml +++ b/database/data/categories/Vect.yaml @@ -11,10 +11,12 @@ tags: - algebra related: + - R-Mod - FinVect - FiltVect - FreeAb - Vect_c + - Vect_large satisfied_properties: - property: split abelian diff --git a/database/data/categories/Vect_large.yaml b/database/data/categories/Vect_large.yaml new file mode 100644 index 000000000..c7cf73b88 --- /dev/null +++ b/database/data/categories/Vect_large.yaml @@ -0,0 +1,114 @@ +id: Vect_large +name: category of large vector spaces over a large field with a small basis +notation: $\Vect^s_K$ +objects: large vector spaces over a large field $K$ that are isomorphic to $K^{\oplus X}$ for a set $X$ +morphisms: $K$-linear maps +description: >- + Recall from our foundations that we work with sets ("small sets") and collections ("large sets"). A large field $K$ is a collection equipped with a field structure. Concrete examples are $\IQ(X_\alpha : \alpha \in \OnColl)$ and the field of nimbers $\On_2$. There is a well-behaved hypercategory $\Vect_K$ of large vector spaces over $K$, which are collections equipped with a suitable algebraic structure. (See the linked article on foundations for the definition of a hypercategory.) Since collections and sets behave mostly the same (both satisfy the ZFC-axioms), it has analogous properties to its small counterpart: it is a split abelian, finitary algebraic hypercategory, and every object is isomorphic to $K^{\oplus X}$ for a collection $X$. + + In this entry, we consider the full sub-hypercategory $\Vect^s_K$ of $\Vect_K$ consisting of the large vector spaces that are isomorphic to $K^{\oplus X}$ for a set $X$. Equivalently, a small basis exists. The relationship between $\Vect^s_K$ and $\Vect_K$ is similar to that between $\FinVect_K$ and $\Vect_K$. However, $\Vect^s_K$ is not self-dual, which breaks the analogy. + + However, $\Vect^s_K$ is not a category as defined in our foundations, because the totality of its objects is not a collection. Even the totality of trivial large vector spaces is not a collection, analogous to the fact that the collection of trivial vector spaces is not a set. However, the totality of objects of $\Vect^s_K$ is in bijection with the collection of sets, so $\Vect^s_K$ is equivalent (as a hypercategory) to a category. This category has sets as objects and (not necessarily finite) column-finite matrices over $K$ as morphisms. Formally, we need to work with this category to stay within our framework, but it is easier and more natural to work with $\Vect^s_K$ instead, in particular when studying its properties. To decide all properties, we assume that $K$ is not bijective to a set. + + This category does not appear in practice, but it provides an example of a Grothendieck abelian category that is not complete, which is impossible in the locally small case. + +nlab_link: null +tags: + - algebra + +related: + - Vect + - TransSeqAb + - Set_disc_Ab + - FinVect + +satisfied_properties: + - property: preadditive + proof: This is immediately inherited from the hypercategory $\Vect_K$. The sum of two linear maps is defined pointwise. + check_redundancy: false # the many redundancies are caused by "split abelian" which is not atomic yet + + - property: coproducts + proof: The hypercategory $\Vect_K$ has large coproducts given by direct sums. The sub-hypercategory $\Vect^s_K$ is closed under small coproducts because for a small family of sets $(X_i)_{i \in I}$ also their disjoint union $S \coloneqq \coprod_{i \in I} X_i$ is a set and $\bigoplus_{i \in I} K^{\oplus X_i} \cong K^{\oplus S}$. + check_redundancy: false + + - property: coequalizers + proof: Since the hypercategory $\Vect_K$ has coequalizers constructed just like in the small case, it suffices to prove that if $V \to W$ is a surjective linear map in $\Vect_K$ and $V \in \Vect^s_K$, then also $W \in \Vect^s_K$. Choose a set $X$ with $V \cong K^{\oplus X}$ and a collection $Y$ with $W \cong K^{\oplus Y}$. By standard infinite-dimensional linear algebra (developed in the ZFC-model of collections), there is a surjective map $X \to Y$. Hence, there is a subcollection $X' \subseteq X$ with $X' \cong Y$. Since $X$ is a set, $X'$ is also a set. Hence, $W \cong K^{\oplus X'}$ lies in $\Vect^s_K$. + label: Vect_large_coequalizers + check_redundancy: false + + - property: equalizers + proof: Since the hypercategory $\Vect_K$ has equalizers constructed just like in the small case, it suffices to prove that if $V \to W$ is an injective linear map in $\Vect_K$ and $W \in \Vect^s_K$, then also $V \in \Vect^s_K$. Choose a collection $X$ with $V \cong K^{\oplus X}$ and a set $Y$ with $W \cong K^{\oplus Y}$. By standard infinite-dimensional linear algebra (developed in the ZFC-model of collections), there is an injective map $X \to Y$. Hence, there is a subcollection $Y' \subseteq Y$ with $X \cong Y'$. Since $Y$ is a set, $Y'$ is also a set. Hence, $V \cong K^{\oplus Y'}$ lies in $\Vect^s_K$. + label: Vect_large_equalizers + check_redundancy: false + + - property: normal + proof: 'A monomorphism $f : V \to W$ in $\Vect^s_K$ is an injective linear map, hence a kernel of $W \to W/\im(f)$ in $\Vect_K$. Since $W$ belongs to $\Vect^s_K$, also $W/\im(f)$ belongs to $\Vect^s_K$ (see our proof for coequalizers).' + check_redundancy: false + references: + - Vect_large_coequalizers + + - property: conormal + proof: 'An epimorphism $f : V \to W$ in $\Vect^s_K$ is a surjective linear map, hence a cokernel of $\ker(f) \hookrightarrow V$ in $\Vect_K$. Since $V$ belongs to $\Vect^s_K$, also its subspace $\ker(f)$ belongs to $\Vect^s_K$ (see our proof for equalizers).' + check_redundancy: false + references: + - Vect_large_equalizers + + - property: split abelian + proof: The previous assignments already show that the category is abelian. Since the inclusion functor $\Vect^s_K \hookrightarrow \Vect_K$ is exact, the claim follows from the fact that $\Vect_K$ is split abelian (which we know in the small case and therefore also holds in the large case). + + - property: generator + proof: Since $K$ is a generator of $\Vect_K$ that is contained in $\Vect^s_K$, it is a generator of $\Vect^s_K$. + + - property: cogenerator + proof: Since $K$ is a cogenerator of $\Vect_K$ that is contained in $\Vect^s_K$, it is a cogenerator of $\Vect^s_K$. + + - property: exact filtered colimits + proof: Since the inclusion functor $\Vect^s_K \hookrightarrow \Vect_K$ is exact, preserves small colimits, and is fully faithful, this follows from the corresponding fact for $\Vect_K$ (where finite limits even commute with large filtered colimits). + + - property: well-powered + proof: In contrast to the other properties mentioned before, this does not follow from the hypercategory $\Vect_K$, since the subobjects of a large vector space merely form a collection. Instead, notice that the subobjects of $K^{\oplus X}$, where $X$ is a set, are isomorphic to $K^{\oplus Y}$ for subsets $Y \subseteq X$ (see our proof for equalizers). Since the subsets of $X$ form a set, the subobjects form a set. + references: + - Vect_large_equalizers + + - property: ℵ₁-cofiltered limits + proof: >- + First, $\FinVect_K$ has $\aleph_1$-filtered colimits by MO/400763. Since it is self-dual, it also has $\aleph_1$-cofiltered limits. (The result has been proved for small fields, but the same proofs work for arbitrary fields.) Moreover, the inclusion functor $\FinVect_K \hookrightarrow \Vect_K$ is cocontinuous by Lemma 1 here, since $\FinVect_K$ contains the extremal cogenerator $K$ of $\Vect_K$. It follows that $\FinVect_K$ is closed under $\aleph_1$-cofiltered limits in $\Vect_K$. + + We now prove that $\Vect^s_K$ is closed under $\aleph_1$-cofiltered limits in $\Vect_K$. To this end, let $D : \I \to \Vect^s_K$ be an $\aleph_1$-cofiltered diagram, and let $(\pi_i : V \to D(i))_{i \in \I}$ be its limit in $\Vect_K$. For each $i \in \I$, choose a set basis $B_i$ of $D(i)$. Let $\Lambda$ be the set of all families $S=(S_i)_{i \in \I}$ of finite subsets $S_i \subseteq B_i$. Since $\Ob(\I)$ and each $B_i$ are sets, $\Lambda$ is indeed a set. For $S \in \Lambda$, let $V_S \subseteq V$ be the subspace consisting of those vectors $v \in V$ such that $\pi_i(v) \in \langle S_i \rangle$ for every $i \in \I$. Clearly, $V = \bigcup_{S \in \Lambda} V_S$. In particular, there is an epimorphism $\bigoplus_{S \in \Lambda} V_S \to V$. Thus, it suffices to prove that each $V_S$ is finite-dimensional, since then $V \in \Vect^s_K$, using that $\Vect^s_K$ is closed under quotients. + + Define a diagram $E : \I \to \FinVect_K$ by $E(i) = \pi_i(V_S)$. Since $\pi_i(V_S) \subseteq \langle S_i \rangle \subseteq D(i)$ and $S_i$ is finite, each $E(i)$ is finite-dimensional. If $i \to j$ is a morphism in $\I$, then the map $D(i \to j) : D(i) \to D(j)$ satisfies $D(i \to j) \circ \pi_i = \pi_j$ and therefore restricts to a map $E(i \to j) : E(i) \to E(j)$. By the preliminary observation, $\lim(E)$ is finite-dimensional. The maps $\pi_i : V_S \to E(i)$ induce a map $V_S \to \lim(E)$, which is clearly injective. Hence $V_S$ is finite-dimensional as well. + references: + - Vect_large_coequalizers + +unsatisfied_properties: + - property: skeletal + proof: This is trivial. + + - property: countable powers + proof: >- + Assume that the power $K^{\IN}$ exists in $\Vect^s_K$. The forgetful functor $\Vect^s_K \to \Set^+$ is continuous since it is represented by $K$. Moreover, the forgetful functor $\Vect_K \to \Set^+$ is continuous and conservative. Hence the inclusion $\Vect^s_K \hookrightarrow \Vect_K$ is continuous. In particular, $K^{\IN}$ is the power in $\Vect_K$. Choose a set $X$ such that $K^{\IN} \cong K^{\oplus X}$. + + Consider the subset $L \subseteq K^{\IN}$ consisting of the sequences + $$(1,\lambda,\lambda^2,\dotsc)$$ + for $\lambda \in K$. Every finite subset of $L$ is linearly independent: for $n$ distinct elements $\lambda_1,\dotsc,\lambda_n$, the truncated sequences $(1,\lambda_i,\dotsc,\lambda_i^{n-1})$ are linearly independent by the Vandermonde determinant. Thus, $L$ is linearly independent. Equivalently, there is a monomorphism $K^{\oplus L} \hookrightarrow K^{\IN} \cong K^{\oplus X}$. Hence there is an injective map $L \hookrightarrow X$. But then $L \cong K$ would be bijective to a set, contradicting our choice of $K$. + +special_objects: + initial object: + description: trivial vector space + terminal object: + description: trivial vector space + coproducts: + description: direct sums + products: + description: direct products + +special_morphisms: + isomorphisms: + description: bijective linear maps + proof: This is trivial. + monomorphisms: + description: injective linear maps + proof: The non-trivial direction follows from the observation that $K$-linear maps $K \to V$ can be identified with the elements of the underlying set of $V$. + epimorphisms: + description: surjective linear maps + proof: 'Surjective linear maps are clearly epimorphisms. Conversely, if $f : V \to W$ is an epimorphism, this means that its cokernel vanishes, which we have constructed as $W/\im(f)$. Thus, $W = \im(f)$.'