# Dual notion of free module

I was just introduced to the notion of projective module (through Matsumura, Commutative ring theory), and there it is said that the reason that there is no easy description for injective modules (along the lines of "projective modules are direct summands of injective modules") is that there is no notion dual to free module. Could somebody enlighten me about the difficulty of such construction, i.e., why would it be meaningless to reverse the arrows in the universal property definition of free module?

-

2
– Qiaochu Yuan Jan 11 at 0:32

1
– Martin Jan 11 at 1:25

## 1 Answer

Caveat lector: this answers your last question "why would it be meaningless to reverse the arrows in the universal property definition of free module?", regardless of the fact that this is not exactly what you want for your purposes: see Qiaochu's comment below.

The universal property of a free object (e.g. free module) expresses the fact that the forgetful functor has a left adjoint, the free functor.

A cofree functor, the one that gives you cofree objects, i.e. those who satisfy the dual universal property to free objects, would be a right adjoint to the forgetful functor.

Alas, the forgetful functor does not have a right adjoint in the category of modules over a ring, because it would have to preserve colimits, and it doesn't (e.g. it doesn't preserve coproducts).

Hence there is no "cofree functor".

-

This isn't even the real problem. What you want is not a right adjoint to the forgetful functor $C \to \text{Set}$ but a left adjoint to a different forgetful functor $C^{op} \to \text{Set}$ (to get projective objects in $C^{op}$, which are injective objects in $C$). – Qiaochu Yuan Jan 11 at 0:34
@Qiaochu: Thank you for the heads-up, I've added a notice. – Bruno Stonek Jan 11 at 0:38
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 4, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9112304449081421, "perplexity_flag": "head"}