Skip to main content

Section 1 Solid modules over an ordinary ring

We introduce the category of solid modules over a discrete commutative ring. This provides a basic example of how we will integrate topological notions into commutative algebra throughout the course. It will also illustrate the distinction between “light” and “heavy” that will arise when we set up the theory of condensed sets.
A warning: while we consider an arbitrary commutative base ring in this lecture, only the case of the integers will be compatible with the theory of solid objects in condensed mathematics. See Remark 1.7.4 for the underlying reason.

Reference.

This section is based on a lecture by Lenny Taelman from the fall 2023 condensed learning seminar at the Institute for Advanced Study (Princeton), and on notes by Emelie Arvidsson, Finn Bartsch, Thomas Brazelton, Sheela Devadas, Karim Réga, and Gleb Terentiuk. The latter draw heavily on [6].

Subsection 1.1 A modest observation

Throughout this lecture, let \(R\) denote a commutative unital ring, without topology. Let \(\Mod_R\) denote the category of \(R\)-modules. This category is bicomplete, i.e., one can take the limit or colimit of any small diagram. In particular, this includes the existence of products and coproducts: the categorical product of a family of objects \(\{M_i\}_{i \in I}\) is the Cartesian product \(\prod_{i \in I} M_i\) with componentwise arithmetic, while the categorical coproduct is the direct sum \(\bigoplus_{i \in I} M_i\text{,}\) the submodule of \(\prod_{i \in I} M_i\) consisting of elements which are zero in all but finitely many coordinates. Note that these operations do not commute: for example, we have a strict inclusion
\begin{equation} \bigoplus_J \prod_I R \subset \prod_I \bigoplus_J R\tag{1.1} \end{equation}
whenever \(I\) and \(J\) are infinite.
Now consider the dual functor \(D_R\colon \Mod_R \to \Mod_R\) defined by \(D_R(M) = \Hom_R(M, R)\text{.}\) This carries the coproduct \(\bigoplus_{i \in I} M_i\) to the product \(\prod_{i \in I} M_i\) but not vice versa! This means that there cannot be a satisfactory duality theory stated purely in terms of \(\Mod_R\text{.}\)
However, the difference between products and coproducts collapses when we restrict to finite index sets, so we can hope to have a sensible duality theory for finitely generated \(R\)-modules with some care (e.g., if we assume that \(R\) is noetherian). One can similarly develop a duality theory for certain carefully chosen classes of topological modules over topological rings, such as classical Hilbert spaces.
In this lecture, we go in a different direction: we make a categorical tweak to the concept of an \(R\)-module which does not involve putting any topology on \(R\) itself, in such a way that arbitrary products of copies of the free module of rank 1 behave as if they were finitely generated. When \(R = \ZZ\text{,}\) we will get a construction that reproduces a crucial part of the theory of condensed abelian groups.

Subsection 1.2 Preadditive categories

Definition 1.2.1.

A preadditive (pre-additive) category is a category enriched in the category \(\Ab\) of abelian groups. This means that the Hom sets are actually objects of \(\Ab\) and composition of morphisms is bilinear. By contrast, an additive category is a preadditive category in which finite products exist.
For \(\calA, \calB\) two preadditive categories, a functor \(F\colon \calA \to \calB\) is additive if the maps on Hom sets are linear. Let \(\Fun^{\oplus}(\calA, \calB)\) be the category of additive functors from \(\calA\) to \(\calB\text{.}\)

Example 1.2.2.

Any (not necessarily commutative) ring \(R\) can be viewed as a one-object preadditive category which we also denote by \(R\text{,}\) in which the unique Hom set is the underlying additive group of \(R\) and the composition is multiplication in \(R\text{.}\) Conversely, any one-object preadditive category arises from a ring in this fashion; this is analogous to the relationship between groupoids (categories in which all morphisms are isomorphisms) and groups (which correspond to one-object groupoids). For this reason, preadditive categories are sometimes also called ringoids.
For \(R\) a (not necessarily commutative) ring, an object in \(\Fun^{\oplus}(R^{\op}, \Ab)\) consists of an abelian group \(M\) (the image of the unique object) together with a ring homomorphism \(R^{\op} \to \End_{\Ab}(M)\text{.}\) Consequently, this category is equivalent to the category of left \(R\)-modules.

Definition 1.2.3.

For \(\calA\) a preadditive category, define the associated module category
\begin{equation*} \Mod_{\calA} := \Fun^{\oplus}(\calA^{\op}, \Ab). \end{equation*}
Every object \(M\) of \(\calA\) defines a representable functor \(h_M \in \Mod_{\calA}\text{;}\) that is,
\begin{equation*} h_M(N) = \Hom_{\calA^{\op}}(M, N) = \Hom_{\calA}(N, M). \end{equation*}
We typically notate this object simply as \(M\text{.}\)

Remark 1.2.4.

One can recover a commutative ring \(R\) from its module category \(\Mod_R\) as the natural endomorphisms of \(\Mod_R\text{.}\) By contrast, a preadditive category cannot be recovered from its module category; see Example 1.2.6. This is more comparable to the situation for noncommutative rings, where one has Morita equivalence between certain pairs of rings, (see again Example 1.2.6).
It is also loosely analogous to the fact that a Grothendieck topology cannot be recovered from its associated topos. In fact one can take this analogy further by recalling that presheaves on a topological space are just contravariant functors out of the associated category (with one object for every open subset and one morphism for each inclusion of opens), and likewise presheaves on a Grothendieck topology are contravariant functors out of the underlying category. In this language, the objects of \(\Mod_{\calA}\) are presheaves on \(\calA\) valued in abelian groups, which we might as well call sheaves since we have not specified any coverings with which to enforce the sheaf axiom.

Proof.

We first observe that the category \(\Fun(\calA^{\op}, \Ab)\) of arbitrary functors, viewed as an additive category using pointwise operations, is abelian; this follows from the fact that \(\Ab\) is bicomplete and makes no reference to the preadditive structure of \(\calA\text{.}\) We then observe that the additive subcategory \(\Fun^{\oplus}(\calA^{\op}, \Ab)\) is closed under formation of limits and colimits in \(\Fun(\calA^{\op}, \Ab)\text{,}\) and therefore is also abelian.
The following example can be thought of as motivation for the definition of solid modules.

Example 1.2.6.

Let \(\calA\) be the subcategory of \(\Mod_R\) consisting of finite free \(R\)-modules. Then for any additive functor \(R \to \calA\) (i.e., any choice of an object of \(\calA\) which is free of rank 1), the associated restriction functor \(\Mod_\calA \to \Mod_R\) is an equivalence; this amounts to the statement that \(R\) is Morita equivalent to the matrix algebras \(M_n(R)\) for all positive integers \(n\text{.}\) The same remark applies if we take \(\calA\) to be the subcategory of finite projective \(R\)-modules.
By meditating further on Example 1.2.2, we can infer sensible analogues of other concepts in module theory. More on this later.

Subsection 1.3 Compact projective generators

Working with the definition of \(\Mod_{\calA}\) in terms of functors can be a bit awkward. The following observations can help.

Definition 1.3.1.

An object \(X\) in a cocomplete preadditive category \(\calA\) is compact if the functor \(\Hom_{\calA}(X, \bullet)\) preserves arbitrary filtered colimits. This in particular implies that the functor preserves arbitrary infinite coproducts because these are always filtered over finite subdiagrams. It does not however say anything about finite coproducts unless \(\calA\) is additive, in which case finite products and coproducts coincide and the functor automatically preserves all products. Hence if \(X\) is compact, then \(\Hom_{\calA}(X, \bullet)\) also preserves arbitrary coproducts.

Definition 1.3.2.

For \(\calA\) an abelian category admitting arbitrary direct sums, and \(\calA^0\) a small full subcategory, we say that \(\calA^0\) generates \(\calA\) (or \(\calA\) is generated by \(\calA^0\)) if every object of \(\calA\) is the target of some epimorphism whose source is a direct sum of objects of \(\calA^0\text{.}\)

Example 1.3.3.

In \(\Mod_R\text{,}\) any projective module of finite rank is compact, but any projective module of infinite rank is not, essentially because of (1.1): for two infinite index sets \(I, J\text{,}\) the map
\begin{equation} \bigoplus_J \Hom_R \left(\bigoplus_I R, R\right) \to \Hom_R\left(\bigoplus_I R, \bigoplus_J R\right)\tag{1.2} \end{equation}
is injective but not surjective (for instance, when \(I=J\) the image does not contain the identity map).
Similarly, when \(R\) is a field, an infinite product \(\prod_I R\) is not compact either because it is a free module of infinite rank.
Meanwhile, \(\Mod_R\) is generated by the subcategory consisting of a single free module of rank 1. In particular, this category admits a family of compact projective generators. Alternatively, we may use all of the finite free modules or the finite projective modules.

Proof.

For the first point, compactness is formal and projectivity follows from the proof of Proposition 1.2.5. More concretely, note that for \(M \in \calA\text{,}\) projectivity is asserting that for any epimorphism \(N' \to N\) in \(\Mod_{\calA}\) the map \(\Hom_{\Mod_{\calA}}(M, N') \to \Hom_{\Mod_{\calA}}(M, N)\) is surjective; but this just translates into the map \(N'(M) \to N(M)\) and Proposition 1.2.5 tells us that epimorphisms in \(\Mod_{\calA}\) are just pointwise epimorphisms.
For the second point, the key fact is that any functor \(F\) can be written as the colimit of representable functors \(h_M\) (the “co-Yoneda lemma”), and the maps \(h_M \to F\) collate to an epimorphism \(\bigoplus_M h_M \to F\text{.}\)

Definition 1.3.6.

Let \(F\colon \calA \to \calB\) be an additive functor between preadditive categories. We then obtain a restriction functor \(F_*\colon \Mod_{\calB} \to \Mod_{\calA}\) defined by \(G \mapsto G \circ F^{\op}\text{;}\) this functor is visibly exact. When \(\calA\) and \(\calB\) correspond to rings \(R\) and \(S\text{,}\) the functor \(F\) corresponds to a ring homomorphism \(R \to S\) and the restriction functor corresponds to the ordinary restriction functor \(\Mod_S \to \Mod_R\text{.}\)

Proof.

Start with the functor \(\calA \to \Mod(\calB)\) given by \(M \mapsto h_{F(M)}\text{.}\) In light of Proposition 1.3.4, we may define \(F^*\) as a left Kan extension:
\begin{equation*} F^*(N) := \colim_{h_M \to N} h_{F(M)}\text{.} \end{equation*}
(One could have guessed this formula from the fact that we are looking for a functor admitting a left adjoint, so anyway it has to be compatible with colimits.)
We must now exhibit a natural bijection
\begin{equation*} \Hom_{\Mod(\calA)}(M, F_*(N)) \cong \Hom_{\Mod(\calB)}(F^*(M), N)\text{.} \end{equation*}
Since both sides convert colimits in the first argument into limits, we may reduce to the case where \(M \in \calA\text{.}\) By Proposition 1.3.4, \(M\) is compact as an object of \(\Mod_{\calA}\text{,}\) so now both sides of the claimed bijection are compatible with colimits in \(N\text{.}\) We may thus reduce to the case where also \(N \in \calB\text{,}\) in which case we are simply writing
\begin{equation*} \Hom_{\Mod(\calA)}(h_M, h_N \circ F^{\op}) \cong \Hom_{\Mod(\calB)}(h_{F(M)}, h_N)\text{.} \end{equation*}
By Yoneda the right side is just
\begin{equation*} \Hom_{\calB}(F(M), N)\text{.} \end{equation*}
Meanwhile, the left side consists of natural transformations from the functor \(\Hom_{\calA}(\bullet, M)\) to the functor \(\Hom_{\calB}(F(\bullet), N)\text{.}\) We can write one of these down by applying \(F\) and then postcomposing with \(F(M) \to N\text{;}\) conversely, given such a natural transformation, evaluating it on the identity map \(M \to M\) gives us back a morphism \(F(M) \to N\text{.}\) It is straightforward to check that composing both ways gives the identity.

Subsection 1.4 Solid modules

We now define solid modules by imposing “wishful thinking” on infinite products: namely, we specify that morphisms of free modules of arbitrary rank behave the same way as if the modules were finitely generated.

Definition 1.4.1.

For any cardinal \(\kappa\text{,}\) let \(R^{\leq \kappa}_\solid\) be the preadditive category whose objects are sets \(I\) of cardinality \(\leq \kappa\text{,}\) formally notated as \(\prod_I R_\solid\text{,}\) with morphisms
\begin{equation} \Hom_{R^{\leq \kappa}_\solid} \left(\prod_I R_\solid, \prod_J R_\solid \right) = \prod_J \bigoplus_I R\tag{1.3} \end{equation}
where the space on the right should be thought of as \(J \times I\) matrices over \(R\) in which row vectors have finite support but column vectors are unrestricted. Composition of morphisms is given by matrix multiplication:
\begin{equation*} \prod_K \bigoplus_J R \times \prod_J \bigoplus_I R \to \prod_K \bigoplus_I R\text{.} \end{equation*}
We refer to the resulting module category \(\Mod_{R^{\leq \kappa}_\solid}\) as the category of \(\kappa\)-solid \(R\)-modules. For \(\kappa \leq \kappa'\text{,}\) there is a natural restriction functor \(\Mod_{R^{\leq \kappa'}_{\solid}} \to \Mod_{R^{\leq \kappa}_{\solid}}\text{.}\)
In what follows, we will regard \(\kappa\) as fixed and abbreviate \(R^{\leq \kappa}_{\solid}\) to \(R_{\solid}\text{.}\) We will then refer to the objects of \(\Mod_{R_\solid}\) as solid \(R\)-modules. We also write \(\Hom_{R_\solid}(\bullet,\bullet)\) instead of \(\Hom_{\Mod_{R_\solid}}(\bullet,\bullet)\) to denote Hom sets in \(\Mod_{R_\solid}\text{;}\) note that this does not create any confusion with the category \(R_\solid\) because when the two inputs are actually in \(R_\solid\text{,}\) the Hom set in \(\Mod_{R_\solid}\) is by fiat the same as in \(R_\solid\text{.}\)

Remark 1.4.2.

The finiteness condition on the matrices in Definition 1.4.1 is precisely the one that makes it possible to multiply the matrix on the right by an arbitrary column vector of length \(I\) to get a column vector of length \(J\text{.}\) We thus have a natural morphism
\begin{equation*} \Hom_{R_\solid}\left(\prod_I R_\solid, \prod_J R_\solid\right) \to \Hom_R\left(\prod_I R, \prod_J R\right) \end{equation*}
which is injective but not surjective in general.

Remark 1.4.3.

When \(\kappa\) is a nonzero finite cardinal, the category \(\Mod_{R_{\solid}}\) is equivalent to \(\Mod_R\) itself (via a restriction of scalars as in Definition 1.5.1). Similarly, if we had defined the category \(\Mod_{R^{\lt \kappa}_\solid}\) by restricting to index sets of cardinality \(\lt \kappa\text{,}\) then for \(\kappa = \aleph_0\) we would recover the category \(\Mod_R\text{.}\)
By contrast, when \(\kappa\) is infinite, \(\Mod_{R_{\solid}}\) is not the module category over the preadditive category of finite free \(R\)-modules of rank \(\leq \kappa\text{:}\) the latter is just \(\Mod_R\) again.

Example 1.4.4.

As usual, we get an element of \(\Mod_{R_\solid}\) by taking the representable functor corresponding to a singleton set; explicitly, this is the assignment \(\prod_I R_{\solid} \mapsto \bigoplus_I R\text{.}\) We call this element \(R_{\solid}\text{;}\) it will end up being the unit for the symmetric monoidal structure on \(\Mod_{R_\solid}\) (Definition 1.6.1).
By the same token, each set \(J\) of cardinality \(\leq \kappa\) corresponds to an object of \(\Mod_{R_{\solid}}\text{,}\) which by convention we are supposed to notate with the same symbol \(\prod_J R_{\solid}\) that we used in our preadditive category. Concretely, this object corresponds to the functor \(\Hom_{R_\solid}\left(\bullet, \prod_J R_{\solid}\right)\text{,}\) that is,
\begin{equation} \prod_I R_{\solid} \mapsto \prod_J \bigoplus_I R.\tag{1.4} \end{equation}
In particular, this really is the categorical product of a family of copies of \(R_{\solid}\) indexed by \(J\text{,}\) as our notation was meant to suggest.

Remark 1.4.5.

In an ideal world, we would like to define solid \(R\)-modules without reference to a cardinal \(\kappa\text{.}\) However, formulating the definition over arbitrary sets runs into set-theoretic difficulties: we need Hom sets to be actual sets, and this would fail if we did not impose a cardinality cutoff.
One alternative would be to take \(\kappa\) to be “impossibly large”, more precisely a strongly inaccessible cardinal. This would ensure that we cannot “accidentally” construct index sets of cardinality as large as \(\kappa\text{,}\) at the expense of working in a somewhat nonstandard axiomatic framework (the existence of strongly inaccessible cardinals is logically independent of ZFC and so must be added as a separate axiom).
Later in the course, we will take a drastically different course: we will assume \(\kappa = \aleph_0\text{.}\) This makes sense for reasons both pedagogical (this case already exhibits all of the interesting features of the general case while also yielding some drastic technical simplifications) and practical (this case is sufficient for most applications).

Subsection 1.5 Discrete modules as solid modules

Definition 1.5.1.

For any singleton set \(I\text{,}\) we obtain a functor \(R \to R_{\solid}\) of preadditive categories. Using this, we obtain a restriction of scalars functor \(\Mod_{R_\solid} \to \Mod_R\text{,}\) which can also be identified with \(\Hom_{R_\solid}(R_\solid, \bullet)\text{;}\) and via Proposition 1.3.7 an extension of scalars functor \(\Mod_R \to \Mod_{R_\solid}\text{,}\) which we again notate as \(\bullet \otimes_R R_\solid\text{.}\)
To make the extension of scalars more explicit, we observe that for \(A \in \Mod_R\text{,}\) \(A \otimes_R R_{\solid}\) is the functor
\begin{equation} \prod_I R_\solid \mapsto \bigoplus_I A.\tag{1.5} \end{equation}
To wit, this holds for \(A = R\) by (1.3), which in particular means that
\begin{equation*} R \otimes_R R_{\solid} = R_{\solid}. \end{equation*}
Since \(R\) is a compact generator of \(\Mod_R\text{,}\) the general case then follows by taking colimits.
As a consequence of (1.5), we see that extension of scalars followed by restriction of scalars is equivalent to the identity functor on \(\Mod_R\text{.}\) In particular, the extension of scalars is fully faithful, so we can use it to view \(\Mod_R\) as a full subcategory of \(\Mod_{R_\solid}\text{.}\) We refer to elements of this category as discrete solid \(R\)-modules; this is meant to suggest that solid modules are in some sense “topological” and the discrete ones are the ones “without topology”.

Remark 1.5.2.

The functor \(\bullet \otimes_R R_\solid\) is not compatible with infinite products. For example, for \(I\) infinite with \(|I| \leq\kappa\text{,}\) we have a natural morphism
\begin{equation} \left(\prod_I R\right) \otimes_R R_{\solid} \to \prod_I R_{\solid}\tag{1.6} \end{equation}
but this is not an isomorphism: evaluation at \(\prod_J R_\solid\) yields
\begin{equation*} \bigoplus_J \prod_I R \to \prod_I \bigoplus_J R \end{equation*}
which we observed in (1.1) is a monomorphism but not an epimorphism.
Taking the cokernel in (1.6) yields the functor
\begin{equation*} \prod_J R_\solid \mapsto \left( \prod_I \bigoplus_J R \right) / \left( \bigoplus_J \prod_I R \right) \end{equation*}
which is quite interesting: it is an object of \(\Mod_{R_{\solid}}\) which is nonzero, but whose restriction of scalars is zero. This shows that restriction of scalars from \(R_{\solid}\) to \(R\) is not a faithful functor, so one cannot reconstruct the theory of solid modules within ordinary module theory.
In any case, the failure of the extension of scalar to be compatible with infinite products should be considered a feature and not a bug! The whole point here is that we have built some more favorable behavior of products, at least when the index set falls below the cardinality cutoff.

Proof.

\(0 \to A \to B \to C \to 0\text{,}\)
\begin{equation*} A \otimes_R R_\solid \to B \otimes_R R_\solid \to C \otimes_R R_\solid \end{equation*}
\(|I| \leq \kappa\text{,}\)
\begin{equation*} \Hom_{R_\solid}(\prod_I R_\solid, A \otimes_R R_\solid) \to \Hom_{R_\solid}(\prod_I R_\solid, B \otimes_R R_\solid) \to \Hom_{R_\solid}(\prod_I R_\solid, C \otimes_R R_\solid) \end{equation*}
(1.5)
\begin{equation*} \bigoplus_I A \to \bigoplus_I B \to \bigoplus_I C \end{equation*}

Subsection 1.6 The symmetric monoidal structure

Definition 1.6.1.

By a left Kan extension, we obtain a unique (up to unique isomorphism) bifunctor
\begin{equation*} \bullet \otimes_{R_\solid} \bullet \colon \Mod_{R_\solid} \times \Mod_{R_\solid} \to \Mod_{R_\solid} \end{equation*}
which preserves colimits in each variable and satisfies
\begin{equation} \left(\prod_I R_\solid \right) \otimes_{R_\solid} \left( \prod_J R_{\solid} \right) = \prod_{I \times J} R_\solid\tag{1.7} \end{equation}
when \(|I|, |J| \leq \kappa\text{.}\) This gives \(\Mod_{R_\solid}\) the structure of a symmetric monoidal category with unit \(R_\solid\text{.}\)

Proof.

The existence of the internal Hom is formal, and since \(\iHom_{\Mod_{R_\solid}}(M, \bullet)\) is a right adjoint it automatically preserves products. It thus suffices to check (1.8) when \(J\) is a singleton, that is,
\begin{equation*} \iHom_{R_\solid}\left(\prod_I R_\solid, R_\solid\right) \cong \bigoplus_I R_{\solid}. \end{equation*}
The map
\begin{equation} \bigoplus_I R_\solid \to \iHom_{R_\solid}\left(\prod_I R_\solid, R_\solid\right)\tag{1.9} \end{equation}
is the image of the identity map on \(\prod_I R_\solid\) via a series of identifications:
\begin{align*} \Hom_{R_\solid}\left(\prod_I R_\solid, \prod_I R_\solid\right) & \cong \prod_I \Hom_{R_\solid}\left(\prod_I R_\solid, R_\solid\right)\\ & \cong \Hom_{R_\solid}\left(\bigoplus_I \prod_I R_\solid, R_\solid\right) \\ & \cong \Hom_{R_\solid}\left(\left(\bigoplus_I R_\solid\right) \otimes_{R_\solid} \prod_I R_\solid, R_\solid\right) \\ & \cong \Hom_{R_\solid}\left(\left(\bigoplus_I R_\solid\right), \iHom_{R_\solid}\left(\prod_I R_\solid, R_\solid\right)\right)\text{.} \end{align*}
To check that (1.9) is an isomorphism, we check that the induced natural transformation of representable functors
\begin{equation*} \Hom_{R_\solid}\left(\bullet, \bigoplus_I R_\solid\right) \to \Hom_{R_\solid}\left(\bullet, \iHom_{R_\solid}\left(\prod_I R_\solid, R_\solid\right)\right) \end{equation*}
is a natural isomorphism. This we can test at the level of compact projective generators, so we may replace \(\bullet\) with \(\prod_K R_\solid\text{.}\) On one hand, by Hom-tensor adjunction,
\begin{align*} \Hom_{R_\solid}\left(\prod_K R_\solid, \iHom_{R_\solid}\left(\prod_I R_\solid, R_\solid\right)\right) & \cong \Hom_{R_\solid}\left(\prod_{K \times I} R_\solid, R_\solid\right) \\ & \cong \bigoplus_{K \times I} R\text{.} \end{align*}
On the other hand, \(\prod_K R_\solid\) being compact means that taking Hom out of it preserves coproducts, and so
\begin{align*} \Hom_{R_\solid}\left(\prod_K R_\solid, \bigoplus_I R_\solid\right) &= \bigoplus_I \Hom_{R_\solid}\left(\prod_K R_\solid, R_\solid\right) \\ &\cong \bigoplus_{K \times I} R\text{.} \end{align*}
This completes the proof.

Remark 1.6.3.

We can recover the external Hom in \(\Mod_{R_\solid}\) from the internal Hom via the formula
\begin{equation} \Hom_{R_\solid}(M, N) = \Hom_{R_\solid}(R_\solid, \iHom_{R_\solid}(M, N)).\tag{1.10} \end{equation}
A related point is that for \(M \in \Mod_{R_\solid}\text{,}\) we have a natural isomorphism
\begin{equation*} \iHom_{R_\solid}(R_\solid, M) \cong M\text{:} \end{equation*}
by Yoneda it is sufficient to compare morphisms into these objects from some general \(N \in \Mod_{R_{\solid}}\text{.}\) Combining with (1.10), we see that indeed
\begin{align*} \Hom_{R_\solid}(N, \iHom_{R_\solid}(R_\solid, M)) &= \Hom_{R_\solid}(N \otimes_{R_\solid} R_\solid, M)\\ & = \Hom_{R_\solid}(N, M)\text{.} \end{align*}

Remark 1.6.4.

Notwithstanding Proposition 1.6.2, just as in \(\Mod_R\) it is the case in \(\Mod_{R_\solid}\) that infinite products and coproducts do not coincide. Consequently, a coproduct \(\bigoplus_I R_\solid\) with \(|I| \leq \kappa\) can only be isomorphic to its own dual if \(I\) is finite.
On a related note, Proposition 1.6.2 asserts in particular that \(\prod_I R_\solid\) and \(\bigoplus_I R_\solid\) are reflexive objects in \(\Mod_{R_\solid}\text{.}\) However, they are not dualizable in the usual sense of symmetric monoidal categories (Definition 15.1.3) unless \(I\) is finite.

Subsection 1.7 Base extension: a warning

While we formally have a notion of base extension of solid modules along a ring homomorphism, some of our intuition from classical module theory does not carry over. This will ultimately force us to restrict attention to solid abelian groups in order to make the theory compatible with condensed mathematics.

Definition 1.7.1.

For \(R \to S\) a ring homomorphism, we have an induced functor \(R_{\solid} \to S_{\solid}\) taking \(\prod_I R_{\solid}\) to \(\prod_I S_{\solid}\) (you can guess what happens to Hom sets). This fits into a 2-commutative diagram
Figure 1.7.2.
of preadditive categories. In particular, by Proposition 1.3.7 we have an extension of scalars functor \(\Mod_{R_\solid} \to \Mod_{S_\solid}\) and a restriction of scalars functor \(\Mod_{S_\solid} \to \Mod_{R_\solid}\) which form an adjoint pair.
By construction, for \(|I| \leq \kappa\text{,}\) the base extension functor has the effect
\begin{equation} \prod_I R_\solid \mapsto \prod_I S_\solid\text{.}\tag{1.11} \end{equation}
More generally, for any \(M_i \in \Mod_{R_\solid}\text{,}\) by writing \(M_i\) as a colimit over objects of the form \(\prod_J R_{\solid}\) and using (1.11), we see that the base extension functor also has the effect
\begin{equation} \prod_I M_i \mapsto \prod_I (M_i \otimes_{R_\solid} S_\solid)\text{.}\tag{1.12} \end{equation}

Example 1.7.3.

Take \(R = \ZZ\text{,}\) fix a prime \(p\text{,}\) set \(S = \ZZ[1/p]\text{,}\) and set
\begin{equation*} M := \prod_{n=1}^\infty (\ZZ/p^n \ZZ \otimes_{\ZZ} \ZZ_{\solid})\text{.} \end{equation*}
We first verify that the diagonal map \(\ZZ_{\solid} \to M\) is a monomorphism. Evaluating this map on \(\prod_I \ZZ_{\solid}\) yields
\begin{equation*} \bigoplus_I \ZZ \to \prod_{n=1}^\infty \Hom_{\ZZ_{\solid}}\left( \prod_I \ZZ_{\solid}, \ZZ/p^n \ZZ \otimes_{\ZZ} \ZZ_{\solid} \right)\text{.} \end{equation*}
Using (1.5) and the full faithfulness of extension of scalars from \(\ZZ\) to \(\ZZ_\solid\text{,}\) we have
\begin{align*} \Hom_{\ZZ_{\solid}}\left( \prod_I \ZZ_{\solid}, \ZZ/p^n \ZZ \otimes_{\ZZ} \ZZ_{\solid} \right) &\cong \bigoplus_I \Hom_{\ZZ_{\solid}}(\ZZ_{\solid}, \ZZ/p^n \ZZ \otimes_{\ZZ} \ZZ_{\solid})\\ &\cong \bigoplus_I \ZZ/p^n \ZZ \end{align*}
and indeed the map
\begin{equation*} \bigoplus_I \ZZ \to \prod_{n=1}^\infty \bigoplus_I \ZZ/p^n \ZZ \end{equation*}
is injective.
We next verify that the sequence
\begin{equation*} \prod_{n=1}^\infty \ZZ_{\solid} \to \prod_{n=1}^\infty \ZZ_{\solid} \to M \to 0\text{,} \end{equation*}
where the first map is induced by multiplication by \(p^n\) in the \(n\)-th factor, is exact. Evaluating this sequence on \(\prod_I \ZZ_{\solid}\) yields
\begin{equation*} \prod_{n=1}^\infty \bigoplus_I \ZZ \to \prod_{n=1}^\infty \bigoplus_I \ZZ \to \prod_{n=1}^\infty \bigoplus_I \ZZ/p^n \ZZ \to 0\text{;} \end{equation*}
this is obtained from the exact sequences \(\ZZ \stackrel{\times p^n}{\to} \ZZ \to \ZZ/p^n \ZZ\) by taking coproducts and products, both of which preserve the exactness.
Now let \(F\colon \Mod_{R_\solid} \to \Mod_{S_\solid}\) denote the base extension functor. As this functor is right exact, by (1.11) we have an exact sequence
\begin{equation*} \prod_{n=1}^\infty S_{\solid} \to \prod_{n=1}^\infty S_{\solid} \to F(M) \to 0\text{,} \end{equation*}
is again exact. However, the map on \(\prod_{n=1}^\infty S_{\solid}\) is now invertible, so \(F(M) = 0\text{.}\)
Putting the two facts together, we see that \(\ZZ_{\solid} \to M\) is a monomorphism, but its base extension has zero target and so is definitely not a monomorphism! That is, the base extension functor is not exact. (The same logic applies to \(R \to R[1/f]\) whenever \(f \in R\) is not a zero divisor.)

Remark 1.7.4.

Example 1.7.3 should be taken with a grain of salt because it is not the case that performing base extension followed by restriction of scalars is the same as viewing \(S_\solid\) as an object of \(\Mod_{R_{\solid}}\) via restriction of scalars and then tensoring with it! This is ultimately because the map
\begin{equation*} \Hom_{R_\solid}(\prod_I R_\solid, \prod_J R_\solid) \otimes_R S \to \Hom_{S_\solid}(\prod_I S_\solid, \prod_J S_\solid) \end{equation*}
is not an isomorphism when \(J\) is infinite.
To illustrate this point, we revisit Example 1.7.3 but now viewing \(\ZZ[1/p]\) as a \(\ZZ\)-module rather than as a ring. In that context, we have
\begin{align*} \left( \prod_{n=1}^\infty \ZZ_\solid\right) \otimes_{\ZZ_\solid} \ZZ[1/p]_\solid &= \left( \prod_{n=1}^\infty \ZZ_\solid\right) \otimes_{\ZZ_\solid} \colim_m p^{-m} \ZZ_\solid\\ &= \colim_m p^{-m} \prod_{n=1}^\infty \ZZ_\solid \end{align*}
which is not the same as \(\prod_{n=1}^\infty \ZZ[1/p]_\solid\text{;}\) crucially, the map which multiplies the \(n\)-th factor by \(p^n\) is no longer an isomorphism. Hence in this context \(M \otimes_{\ZZ_\solid} \ZZ[1/p]_\solid\) is not zero and the previous logic does not apply.
What this means is that there is a significant difference between \(\Mod_{S_\solid}\) and the category of \(S\)-module objects in \(\Mod_{R_\solid}\) (where the action of \(R\) via \(R \to S\) agrees with the action via \(R \to R_\solid\)). In particular, solid \(R\)-modules as we have defined them are not the same thing as \(R\)-module objects in the category of solid \(\ZZ\)-modules, and it is the latter that will appear more naturally in the framework of condensed mathematics.