Steve Awodey の Category Theory を読む

はじめに

前回の記事では、圏論を学習する上では数学の基礎から学習する必要があると述べました。
 一方で、そんなに時間をかけていられない、かけられないといった理由から数学の素養が十分に身についていない状態で Category Theory (Oxford Logic Guides) を読み始めたいという人もいるでしょう。そのような人向けにこの本の副読本のような内容の記事を書いていこうと思います。
  この本は十分にわかりやすい本なので解説の部分で内容を追加するようなことはしません。書籍の中で証明はされているけれども十分に明らかとは言えない箇所や、残りは読者に任せるとして省略されている箇所を中心に証明を追加していこうと思います。特に Chapter 1 では数学書を読む場合に自分で手を動かして補いながら読まないといけない箇所がどういう箇所なのか初学者にもわかるように書いていこうと思います。
 この記事が、これから独学で圏論を勉強しようとしている人や、勉強会でこの本を読もうとしている人の役に立てば嬉しいです。Texの入力に時間がかかるので更新はあまり早くできません。生暖かく見守ってください。目次は記事を書き次第アップデートしていきます。すべて書き終わりました。
 私が読んでいるのは英語の第2版ですがいくつか誤植があるので下に書いておきます。著者には報告済みなので第3版が出れば修正されるでしょう。

errata list

page 27 line -5

 f\colon G \to U(D) to  h\colon G \to U(D)

page 63 line 1

 z = \overline{z} \circ i to  z = i \circ \overline{z}

page 63 line -3

 \top ! = \top \circ ! \colon U \overset{!}\to 1 \overset{\top}\to 2 to  \top ! = \top \circ ! \colon A \overset{!}\to 1 \overset{\top}\to 2

page 67 line -3

 f \cdot g \colon A \rightrightarrows B to  f,g \colon A \rightrightarrows B

page 68 line 3

(i.e., the images の閉じ括弧が無い

page 71 line 5

 i \colon \left| M \right| \to \left| TM \right| to  i \colon M \to TM or  \left| i \right| \colon \left| M \right| \to \left| TM \right|

page 99 line 3

example 5.9 to example 5.7

page 104 line -12

 p_{j} \colon \prod_{i \in J_{0}} D_{i} \to D_{j} to  \pi_{j} \colon \prod_{i \in J_{0}} D_{i} \to D_{j}

page 116 Exercise 8

 \bf{Par}(\bf{C}) は厳密には圏にならないと思います。なぜなら pullback は up to isomorphism でのみ決まり、arrow の合成は結合則を満たさないからです。
後の章で出てくる skeltal category であるという条件を付け加えれば圏になります。

page 124 line -10

2番目のdiagramの右下の角  H_{e} to  H_{v}

page 147 line -1

"and  {\bf{U}}_{1} \subseteq {\bf{C}}_1)," に対して開き括弧が無い

page 156 line 2

 \times (B \times C) の間に空白を追加

page 162 line -1

 F(\alpha ', \beta ') \circ F(\alpha, \beta) to  F(\langle \alpha ', \beta ' \rangle) \circ F(\langle \alpha, \beta \rangle)

page 163 line 2

 F(\alpha, B') to  F(\alpha', B')

page 167 line -13

 g(x) \cdot h = h \cdot f(x) to  h \cdot g(x) = f(x) \cdot h
 g(x) = h \cdot f(x) \cdot h^{-1} to  g(x) = h^{-1} \cdot f(x) \cdot h
 y \mapsto h \cdot y \cdot h^{-1} to  y \mapsto h^{-1} \cdot y \cdot h

書籍の p.18 などを見てみると、monoid や group の積は左から右の順に書いています。一方で、arrow の結合は右から左の順に書いています。
monoid や group を一点集合上の圏とした場合に、結合の順序が逆になります。

これは次の p.168 の 7.8 Monoidal categories 内の  \text{End}(\bf{D}) の定義における  G \otimes F = G \circ F の箇所でも問題になります。
 \otimes の使用法次第なのですが、p.169 において  A,B,C に対して  A \otimes (B \otimes C) と書いていることをみると、 \otimes は monoid や group の積と同様に左から右の順で使用することを想定しているように思われます。arrow の結合は一貫して右から左の順に書いているので、ここでは  F \otimes G = G \circ F が正しい定義です。

page 169 line -3

 (A \otimes B) \times C to  (A \otimes B) \otimes C

page 183 line -5

 f^{\ast} \colon {\bf{Sets}}/J \to {\bf{Sets}}/I to  f^{\ast} \colon {\bf{Sets}}/I \to {\bf{Sets}}/J

page 188 line -2

 F \in {\bf{Sets}},^{{\bf{C}}^{\text{op}}} to
 F \in {\bf{Sets}}^{{\bf{C}}^{\text{op}}}

page 189 line -7

 \vartheta_{C} \colon {\bf{C}}(C,C) \to FC to  \vartheta_{C} \colon {\rm Hom}(C,C) \to FC

page 192 line -2

"For, given objects  A,B in  {\bf{C}}, if  yA = yB \dots" to "For, given objects  C,D in  {\bf{C}}, if  yC = yD \dots"

page 197 line 5, line -5, line -3

cocone を記述する際には P.166 で定義した constant valued functor  \Delta を使用したほうが一貫性があります。
 y \circ \pi \to P to  y \circ \pi \to \Delta P
 y \pi \to P to  y \circ \pi \to \Delta P
 y \pi \to Q to  y \circ \pi \to \Delta Q

page 198 line 6

 \varphi \circ x = x' to  \varphi \circ x = \theta_{(x, C)}

page 198 line 17

 F_{!} \circ y \cong A to  F_{!} \circ y \cong F

page 220 line 12

もし dual image function をテキストのように定義すると  U A の開集合の時、 f_{\ast}(U) は必ずしも  B の開集合になりません。
よって  f_{\ast} f^{-1} \colon \mathcal{O}(B) \to \mathcal{O}(A) の right adjoint にはなり得ません。
では  {\it{Sheaves\ in\ Geometry\ and\ Logic}} にあるように以下の定義に変えたらどうなるでしょうか?
\[f_{\ast}(U) = \bigcup \left\{ V \in \mathcal{O}(B) \,\middle|\, f^{-1}(V) \subseteq U \right\}\]
依然問題があります。この定義では確かに  U A の開集合の時、 f_{\ast}(U) B の開集合になります。
さらに  f_{\ast} f^{-1} \colon \mathcal{O}(B) \to \mathcal{O}(A) の right adjoint となります。
しかし今度は  f^{-1} \colon \mathcal{P}(B) \to \mathcal{P}(A) の right adjoint になりません。

page 221 line 10

 \neg p = p \Rightarrow \bot to  \neg p = p \Rightarrow 0

page 224 Figure 9.1

 \varphi to  \psi

page 225 line 3

\[\frac{\phi(x) \leq \psi(x,y)}{\phi(x) \leq \forall y.\psi(x,y)}\] to \[\frac{\phi(x) \vdash \psi(x,y)}{\phi(x) \vdash \forall y.\psi(x,y)}\]

page 229 line -5

 f_{!} \vdash f^{*} \vdash f_{*} to  f_{!} \dashv f^{*} \dashv f_{*}

page 230 line 9

単なる定義の置き換えなので、 \cong = で置き換え可能です。
 {\rm Hom}_{\hat{\bf{D}}}(FC,Q) \cong {\rm Hom}_{\hat{\bf{D}}}(y(fC),Q) to  {\rm Hom}_{\hat{\bf{D}}}(FC,Q) = {\rm Hom}_{\hat{\bf{D}}}(y(fC),Q)

page 232 line 2

以下のように置き換えたほうが、本書の他の箇所との一貫性が高まります。
\[\frac{\vartheta_{j} \colon B_{j} \to A}{(\vartheta_{j}) \colon \sum_{j} B_{j} \to A}\]
to
\[\frac{(\vartheta_{j}) \colon \sum_{j} B_{j} \to A}{\vartheta_{j} \colon B_{j} \to A}\]

page 235 line 14, line 15


\begin{align*}
A \times B &= \textstyle{\sum_{B}} B^{*} A \\
B^{A} &= \textstyle{\prod_{B}} B^{*} A
\end{align*}
to

\begin{align*}
A \times B &= \textstyle{\sum_{A}} A^{*}(B) \\
B^{A} &= \textstyle{\prod_{A}} A^{*}(B)
\end{align*}

page 236 line 2

以下のように置き換えたほうが、本書の他の箇所との一貫性が高まります。
\[
\frac{Y \to \textstyle{\prod_{F}}(p)}{F^{*}Y \to p}
\]
to
\[
\frac{F^{*}Y \to p}{Y \to \textstyle{\prod_{F}}(p)}
\]

page 237 line 2

 h \colon C \to D to  h \colon C \to C'

page 239 line 17

The definition of the solution set condition is incorrect.
To apply Lemma 9.30 in the proof of theorem 9.29, both  (S_{i})_{i \in I} and  \varphi \colon X \to US_{i} must be sets.
You can see the correct definition of the solution set condition on nLab.

page 240 line 2

 D \in {\bf{C}} to  D \in {\bf{D}}

page 242 line 12

"For complete posets  P,  Q," to
"For cocomplete posets  P,  Q,"

page 251 line -7

(a) to (c)

page 254 line -11

 F \colon {\bf{C}} \rightleftarrows {\bf{D \colon U}} to
 F \colon {\bf{C}} \rightleftarrows {\bf{D}} \colon U

page 256 line -3

"the following square in  {\bf{C}}" to
"the following square in  {\bf{D}}"

page 257 line -4

 G \otimes F = G \circ F to
 F \otimes G = G \circ F

page 258 line 1

" {\it{unit}}  \eta \colon UF \to 1_{\bf{C}}  {\it{\ and\ counit}}  \epsilon \colon 1_{\bf{D}} \to FU \dots" to
" {\it{unit}}  \eta \colon 1_{\bf{C}} \to UF  {\it{\ and\ counit}}  \epsilon \colon FU \to 1_{\bf{D}} \dots"

page 262 line -1

 F \colon {\bf{Sets}} \rightleftarrows {\bf{Mon \colon U}} to
 F \colon {\bf{Sets}} \rightleftarrows {\bf{Mon}} \colon U

page 263 line -7

"every monoid arises from some adjunction." to
"every monad arises from some adjunction."

page 276 line 13

 F \colon {\bf{Sets}} \rightleftarrows {\bf{Mon \colon U}} to
 F \colon {\bf{Sets}} \rightleftarrows {\bf{Mon}} \colon U

page 276 line -11

 F \dashv G to  F \dashv U

page 283 line -14

 f(x_{y}) = y to  e(x_{y}) = y

page 288 line 17

 gh^{-1} = e to  gh^{-1} \in N

page 291 line 6

" V \times_{C} W over  E" to
" V \times_{C} W over  V"

page 292 line 9

"6. Here we consider  \dots" to
"7. Here we consider  \dots"

page 292 line -4

 C^{(A+B)} \to A^{C} to  C^{(A+B)} \to C^{A}

page 295 line 12

" \alpha \colon Z \to F and  \beta \to F be given." to " \alpha \colon Z \to F and  \beta \colon Z \to G be given."

参考書籍

Category Theory (Oxford Logic Guides)

Category Theory (Oxford Logic Guides)

圏論 原著第2版

圏論 原著第2版

圏論に最短で入門する

はじめに

私が圏論という分野を知るきっかけは、おそらくこの文章を読んでいるほとんどの人と同様に Haskell の勉強をしたことがきっかけでした。

Haskell のモナドなどを利用する上では圏論を理解する必要は全くないのですが、型システムや処理系に関して詳しく知りたくて論文を読むと圏論の言葉が普通に使われていて、理解できずに断念していました。

そこで、当時数人が集まってやっていた圏論勉強会に参加して圏論の勉強を始めました。当時読んでいた書籍は Conceptual Mathematics: A First Introduction to Categories でした。この本は圏論の初学者向けに書かれた本で、数学的な知識をほとんど仮定せずに理解できるように書かれている非常によい本です。一方で全く数学の素養がない状態で読むと、証明もちゃんと追えているのかあやふやでなんとなく分かった気にさせられる本でもあります。私がまさにそのような状態でした。

しかし、ずっと圏論をちゃんと理解できるようになりたいと思っていたので、大学の数学科に進んだ学部1,2年生が学ぶような数学から勉強を始めました。圏論は比較的最近、1940年代に登場した理論で、数学の中でも非常に抽象的な理論なので数学を勉強しはじめてもすぐには出てきません。私は独学で勉強していたので数学の世界で右往左往することになったのですが、とりあえず現状で私が考える、圏論に至るための最短の道を紹介します。この順で勉強すれば、圏論の書籍を読む頃には、圏論が提供する抽象化を「あ〜あのことを言っているのか」と思いながら読めるようになると思います。

計算機科学の世界で生きてきたのにうっかり圏論と出会ってしまって、「今更また一から数学の勉強をしないといけないのか〜」と絶望に打ちひしがれている、昔の私のような人の一助になれば幸いです。

対象読者

どの位いるのかわかりませんが、昔の私と同様に以下のように考えている人を対象とします。

  • 数学の素養がない状態で圏論を勉強してみたけれども抽象的すぎていまいち分かった気がしない
  • 考えるための道具として圏論を使えるようになりたい
  • 抽象的な圏論の考え方が、数学のどのような背景から生じてきたのかという歴史的な事実を含めて、数学者が圏論を理解しているような仕方で理解したい
  • だけど回り道をしたくない

数学以前

数学にもともと興味があって数学科に進学した学生でも、大学以降で学ぶ数学についていけなくて挫折してしまう人は多いようです。私の考えでは、

  • 大学受験までの計算主体の数学から、大学以降の証明主体の数学への移行を明確に意識させること
  • 移行のためのトレーニングを積ませること

を学生が認識できる形で教育機会として大学が提供できていないことが原因なのではないかと考えています。

具体的には以下の能力、

  • 証明するべきことを正しく論理式として表現する能力
  • 許された演繹規則のみを用いて、正しい証明を構成する能力

の二つが身についていないと、今からあげる書籍を100回読んでも理解できるようにはならないと思います。

時々、はじめにはわからなかった証明も何度も読んでいればわかるようになってくる、といったことを言う人もいますが嘘です。数学の証明はそのような形で理解する性質のものではありません。そのようなことを言う人が語る数学はいい加減なので信用しないようにしましょう。

一般に数学書では、定義や証明は自然言語を用いて記述されています。そこで数学書を読む際には、

  • 定義が出てきたら論理式として表現する
  • 証明が出てきたら、証明するべきことを論理式として表現する
  • 自然言語で記述されている証明に相当する論理式の操作が、許された操作のみを用いて行えるかを確認する

といったことを行いながら読み進めましょう。

上にあげた二つの能力を身につけることを意図したよい書籍を残念ながら私は知りません。入門書として野矢茂樹の 論理学 などから読み始めるといいでしょう。あなたがもし計算機科学の素養を持っているなら一番よい方法は Coq を使ってみることです。

数学の基礎

数学科に進学する学部生は解析と線形代数から勉強を始めるのが一般的なようです。圏論に最短で至るという目的ではとりあえずこの二つは飛ばして構いません。数学科の学部2年生後半から3年生に学ぶ内容から始めましょう。

はじめは松坂和夫の 集合・位相入門 です。

圏論では最も基本的な圏の例として、集合と関数の圏  \bf{Sets}、位相空間と連続写像の圏  \bf{Top} が頻繁に登場するのでこの書籍の内容は外せません。松坂和夫の本は、長きにわたり数学科の学生の定番書になっているからか、誤植も少なく証明している定理も非常によく選ばれている感じがします。また証明が適度に厳密で、この仮定からこの結論はどうやって導いたの? とか、詳細は読者に任せるといった、初学者泣かせも非常に少ないです。

次は同じく松坂和夫の 代数系入門 です。

ある代数系とその準同型写像の圏は圏論の書籍でも頻繁に登場します。準同型写像といった用語や意味は知っていて当然という前提で圏論の書籍は書かれています。群は数学のありとあらゆるところに出てきますし、環  R 上の加群はホモロジー代数を学ぶ上での基本です。 一方で、歴史的には重要でガロアの人生ドラマもあり面白い話題ですが、圏論を学ぶ上ではあまり必要ないので最後の章のガロア理論は飛ばしてもいいと思います。

これ以降の勉強をする際にも、この二つの書籍は何度も参照することになると思います。しっかり理解して常に持ち歩きましょう。

ホモロジー代数

代数的トポロジーの成果から図形的な内容を削ぎ落として、純粋に代数的な内容のみを取り出した分野がホモロジー代数です。圏論は、代数的トポロジーの研究の中で生じてきた概念だと言われています。ホモロジー代数の書籍では、圏の定義が登場し実際に利用します。ホモロジー代数の勉強を通して、圏論を実際に利用する感覚を身につけることができるでしょう。

ホモロジー代数に関して、日本語で読める書籍としては幾つかありますが河田敬義の ホモロジー代数 (岩波基礎数学選書) が良い本だと思います。残念なのは絶版中であるということです。私は近くの大学の図書館で読みました。

一点述べておきたいのは、ホモロジー代数は、代数的トポロジーの内容から図形的な内容を削ぎ落とした分野なので、それ自体がとても抽象的です。圏論が抽象的で理解できないからホモロジー代数の勉強を始めたが、こちらも圏論と同じくらい抽象的でわからない、ということになるかもしれません。私は、代数的トポロジーの知識をある程度身につけた状態でホモロジー代数の勉強をしました。ですので、代数的トポロジーの知識がない状態でホモロジー代数を理解できるか、理解したと思えるのか、わかりません。

もしホモロジー代数を勉強してみて抽象的すぎてよくわからないと思ったら、1年程度遠回りになってしまいますが、代数的トポロジーを勉強することをお勧めします。トポロジーの世界では急須とドーナツは同じ形だ、といった話を聞いたことがあると思います。代数的トポロジーの書籍では、図形を用いて直感的に理解できるような説明がされています。代数的トポロジーに関して、日本語で読めるよい教科書は残念ながら無いと思います。私は Joseph Rotman の書籍をお勧めします。An Introduction to Algebraic Topology (Graduate Texts in Mathematics)

直感的な説明、証明になりがちな代数的トポロジーの分野において、この書籍は、定義、証明が共に非常に厳密に記述されています。扱っている題材も十分で、初めから順に読めば、ホモロジー代数の背景にある幾何学的な内容を理解することができます。誤植が多いのが難点ですが、自分で証明を検証することができる能力があれば修正しながら読み通せるでしょう。

Allen Hatcher の Algebraic Topology は Amazon の書評では Rotman よりも高評価が多かったので購入しました。初めの章を読んでみて、定義、証明が非常にいい加減で読めたものじゃないと思い読むのをやめてしまいました。しかし、Rotman を読んでいて証明がわかりにくいところあってこちらの本を参照してみると、非常に簡潔に証明が与えられているということが何度かありました。どうやら、初めの章は導入で次の章から本格的に証明などをきちんとやっているようです。

圏論

圏論に単に到達するという意味では、ホモロジー代数の段階で圏論が出てくるので、目的はすでに達成しています。しかし、そこでは、ホモロジー代数で学んだ内容を圏の言葉を使って置き換えるといった使われ方がされており、ホモロジー代数以外の分野への圏論の応用や圏論自体の研究の成果を知るという観点からは不十分な内容になっています。そこで、圏論自体について書かれた書籍を1冊読むことをお勧めします。

圏論の書籍としては、初めに挙げた Conceptual Mathematics: A First Introduction to Categories があるのですが、ここまでに挙げた書籍を読んだ後では多少物足りなさを感じるでしょう。そこで私は Steve Awodey の Category Theory (Oxford Logic Guides) をお勧めします。この本も、Conceptual Mathmatics 同様、数学の素養のない人も読めるようにと謳われているのですが、数学の素養のない人には難しい内容になっています。逆に、数学の素養を持った人には、この本程度に数学の例を出してくれた方が理解しやすいと思います。この本の内容を理解すれば、かの有名な

モナドは単なる自己関手の圏におけるモノイド対象だよ。何か問題でも?

という言葉の意味も、理解できるようになっているでしょう。

ここで挙げた書籍も含めて以下の記事で圏論の入門書籍・入門資料をまとめました。ぜひ参考にしてみてください。
www.orecoli.com

もっと手取り早く圏論の勉強を始めたい人へ

上で挙げた Steve Awodey の Category Theory (Oxford Logic Guides) が圏論の入門書としてはおすすめです。ですが、数学の素養がある程度あることを前提としているために、証明は練習問題として読者に任せるとか、証明は明らか、として省略されている箇所が多数あります。
そこでより数学の素養を持たない人向けに、このブログの以下の記事で Awodey 本の詳細な証明をしています。書籍とこの記事の内容を両方参考にしながら読み進めることで、より Awodey 本が self-contained になり自習しやすくなると思います。ぜひ参考にしてみてください。
www.orecoli.com

おわりに

私が考える圏論にいたる最短の道を紹介しました。最短とはいえ、証明をしっかり自分で追いかけて練習問題も解き復習もしながら読むと、2年以上の時間がかかるでしょう。本当に価値のあるものは簡単には手に入らないと思いながら頑張ってください。初めに対象読者と設定した読者の方には一定程度の参考になるものと期待しています。

圏論は今や、数学のありとあらゆる分野に出てくるので、私が紹介した道が唯一ではないし最短でもないかもしれません。勉強を始めると興味を持つ分野などが出てくると思うので、その分野の方に脇道に逸れてみるというのもいいと思います。数学はそれ自体が、人生を捧げる価値のある非常に魅力的な学問だと思います。

大学数学の個別指導を始めました。詳しくは 大学数学の個別指導を始めます - 俺の Colimit を越えてゆけ をご覧ください。

紹介した書籍

論理学

論理学

集合・位相入門

集合・位相入門

代数系入門

代数系入門

ホモロジー代数 (岩波基礎数学選書)

ホモロジー代数 (岩波基礎数学選書)

Conceptual Mathematics: A First Introduction to Categories

Conceptual Mathematics: A First Introduction to Categories

An Introduction to Algebraic Topology (Graduate Texts in Mathematics)

An Introduction to Algebraic Topology (Graduate Texts in Mathematics)

Algebraic Topology

Algebraic Topology

Category Theory (Oxford Logic Guides)

Category Theory (Oxford Logic Guides)

圏論 原著第2版

圏論 原著第2版

R加群の direct limit(順極限、直極限、帰納極限)に関する基本的な命題の証明

はじめに

私はホモロジー代数を以下の書籍で学びました。
絶賛絶版中で入手は困難ですが、現状でも日本語でホモロジー代数を勉強しようと思うと、この本一択になるのではないかと思います。
証明は自分で追える程度に十分に形式的に書かれていて、誤植などもほとんどなかったように記憶しています。

ホモロジー代数 (岩波基礎数学選書)

ホモロジー代数 (岩波基礎数学選書)

この本の第1章で direct limit ( \varinjlim M_{\lambda} と表す) という概念が出てきます。
そこで direct limit に関して成り立つ基本的な事実として、

  • 任意の  \varinjlim M_{\lambda} の元  \tilde{x} に対して、或る十分大きな  \lambda \in \Lambda x_{\lambda} \in M_{\lambda} が存在して、 \tilde{x} = p \circ i_{\lambda}(x_{\lambda}) が成り立つ
  • 任意の  \varinjlim M_{\lambda} の元  \tilde{x} = p \circ i_{\lambda}(x_{\lambda}) に対して、 \tilde{x} = 0 となることと、十分に大きいある  \mu > \lambda が存在して、 f_{\mu \lambda}(x_{\lambda}) = 0 となることは同値である

ということが、証明無しに書かれています。

実は、この二つの命題を証明せよという問題が Atiyah MacDonald の『可換代数入門』の第2章の練習問題15にも出てきます。

Atiyah‐MacDonald 可換代数入門

Atiyah‐MacDonald 可換代数入門

そこでネットでこの練習問題に対する解答が落ちていないか検索するといくつか出てきますが、
一番まともな証明を載せているのは以下の PDF だと思います。

http://webhosting.math.tufts.edu/jdcarlson/intro_comm_alg(Palatino).pdf

しかし、この証明でも十分に形式的で、理解しやすいとは言えません(stackexchange にもっとわかりやすい証明があった気がする)。
そこで、私が証明を思い出すための備忘録として、この程度まで形式的に書いておけば大丈夫だろうという証明を書いておこうと思います。

証明のポイントは

  • R加群とR加群の準同型の圏においては zero object(null object) が存在すること
  • 上の事実と直和の UMP(Universal Mapping Property) を用いて、適当な準同型写像を定義すること

です。

 \varinjlim M_{\lambda} の定義に関して

河田の『ホモロジー代数』ではR加群の直族  \left\{M_{\lambda} \right\} が以下のように定義されています。

有向順序集合  \Lambda を添数集合とするR加群の族  \left\{M_{\lambda} \, \middle| \, \lambda \in \Lambda \right\} および  \lambda < \mu に対して
R準同型  f_{\mu\lambda} \colon M_{\lambda} \to M_{\mu} が与えられ、かつ  \lambda < \mu < \nu ならば  f_{\nu\lambda} = f_{\nu\mu} \circ f_{\mu\lambda}
が成り立っているとき、 \left\{M_{\lambda} \right\} をR加群の直族という。

しかし、この定義は誤りで、以下のように修正する必要があります。

有向順序集合  \Lambda を添数集合とするR加群の族  \left\{M_{\lambda} \, \middle| \, \lambda \in \Lambda \right\} および  \lambda \leq \mu に対して
R準同型  f_{\mu\lambda} \colon M_{\lambda} \to M_{\mu} が与えられ、 f_{\lambda\lambda} = id_{M_{\lambda}} かつ  \lambda \leq \mu \leq \nu ならば  f_{\nu\lambda} = f_{\nu\mu} \circ f_{\mu\lambda}
が成り立っているとき、 \left\{M_{\lambda} \right\} をR加群の直族という。

このように修正したうえで、直和R加群  \tilde{M} = \bigoplus_{\lambda} M_{\lambda} \tilde{M} の部分集合
 S = \left\{ i_{\mu} \circ f_{\mu\lambda}(x_{\lambda}) - i_{\lambda}(x_{\lambda}) \, \middle| \, \lambda < \mu, \, x_{\lambda} \in M_{\lambda} \right\} を考え、Sによって生成される  \tilde{M} の部分R加群を  \tilde{N} とする。
このとき direct limit を  \varinjlim M_{\lambda} = \tilde{M} / \tilde{N} で定義する。また  p \colon \tilde{M} \to \varinjlim M_{\lambda} を標準的な準同型とする。

以上の準備をもとに、命題を証明します。

証明

命題1

 \forall \tilde{x} \in \varinjlim M_{\lambda} に対して  p \colon \tilde{M} \to \varinjlim M_{\lambda} は全射であるから、 \exists \left(x_{\lambda}\right) \in \tilde{M}, \, \tilde{x} = p\left( \left(x_{\lambda} \right)\right) が成り立つ。
また、 \left(x_{\lambda}\right) がR加群の直和の定義より、有限個の  \lambda を除いて  x_{\lambda} = 0 であることと、 \Lambda が有向順序であることより、 \exists \lambda' \geq max \left\{ \lambda \in \Lambda \, \middle| \, x_{\lambda} \neq 0 \right\} が成り立つ。
ここで、任意の  \lambda に対して  g_{\lambda'\lambda} \colon M_{\lambda} \to M_{\lambda'} を以下のように定義する。

 \displaystyle
\begin{equation}
g_{\lambda'\lambda} =
\begin{cases}
f_{\lambda'\lambda} & \lambda' \geq \lambda \\
0 & otherwise
\end{cases}
\end{equation}

ここで  0 \colon M_{\lambda} \to M_{\lambda'} \left(\lambda' < \lambda \right) とは  0 \colon M_{\lambda} \to \left\{ 0 \right\} \to M_{\lambda'} のことで、これは  \left\{ 0 \right\} が zero object であることから、必ずただ一つ存在する。
すると、直和の UMP より  \exists! \, g \colon \tilde{M} \to M_{\lambda'} が存在して、任意の  \lambda に対して、 g \circ i_{\lambda} = g_{\lambda'\lambda} が成り立つ。
 x_{\lambda'} = g\left(\left( x_{\lambda} \right)\right) とすれば、


\begin{align*}
p \circ i_{\lambda'}(x_{\lambda'}) &= p \circ i_{\lambda'} \circ g \left( \sum i_{\lambda}(x_{\lambda}) \right) = p \circ i_{\lambda'} \left( \sum g \circ i_{\lambda}(x_{\lambda}) \right) = p \circ i_{\lambda'} \left( \sum f_{\lambda'\lambda}(x_{\lambda}) \right) \\
&= \sum p \circ i_{\lambda'} \circ f_{\lambda'\lambda}(x_{\lambda}) = \sum p \circ i_{\lambda}(x_{\lambda}) = p\left(\left( x_{\lambda} \right)\right) = \tilde{x}
\end{align*}
が成り立つ。

命題2

if case

 \exists \mu > \lambda . f_{\mu\lambda}(x_{\lambda}) = 0 ならば、

 p \circ i_{\lambda}(x_{\lambda}) = p \circ i_{\mu} \circ f_{\mu\lambda}(x_{\lambda}) = p \circ i_{\mu}(0) = 0

が成り立つ。

only if case

 p \circ i_{\lambda}(x_{\lambda}) = 0 ならば、 i_{\lambda}(x_{\lambda}) \in {\rm ker} \, p = \tilde{N} であるから、
 i_{\lambda}(x_{\lambda}) = \sum_{i}^{n} r_{i} \left( i_{\mu_{i}} \circ f_{\mu_{i} \lambda_{i}}(x_{\lambda_{i}}) - i_{\lambda_{i}}(x_{\lambda_{i}}) \right) と表すことができる。
 \Lambda が有向順序であることと、 \left\{ \mu_{i}, \lambda_{i} \right\} が有限集合であることより、 \exists \mu \geq max \left\{ \mu_{i}, \lambda_{i} \right\} が成り立つ。
ここで、任意の  \lambda に対して  g_{\mu\lambda} \colon M_{\lambda} \to M_{\mu} を以下のように定義する。

 \displaystyle
\begin{equation}
g_{\mu\lambda} =
\begin{cases}
f_{\mu\lambda} & \lambda \in \left\{ \mu_{i}, \lambda_{i} \right\} \\
0 & otherwise
\end{cases}
\end{equation}

すると、直和の UMP より  \exists! \, g \colon \tilde{M} \to M_{\mu} が存在して、任意の  \lambda に対して、 g \circ i_{\lambda} = g_{\mu\lambda} が成り立つ。この  g を用いれば、


\begin{align*}
f_{\mu\lambda}(x_{\lambda}) &= g \circ i_{\lambda}(x_{\lambda}) \\
&= g \left( \sum_{i}^{n} r_{i} \left( i_{\mu_{i}} \circ f_{\mu_{i} \lambda_{i}}(x_{\lambda_{i}}) - i_{\lambda_{i}}(x_{\lambda_{i}}) \right) \right) \\
&= \sum_{i}^{n} r_{i} \left( g \circ i_{\mu_{i}} \circ f_{\mu_{i} \lambda_{i}}(x_{\lambda_{i}}) - g \circ  i_{\lambda_{i}}(x_{\lambda_{i}}) \right) \\
&= \sum_{i}^{n} r_{i} \left( f_{\mu \mu_{i}} \circ f_{\mu_{i} \lambda_{i}}(x_{\lambda_{i}}) - f_{\mu \lambda_{i}}(x_{\lambda_{i}}) \right) \\
&= \sum_{i}^{n} r_{i} \left( f_{\mu \lambda_{i}}(x_{\lambda_{i}}) - f_{\mu \lambda_{i}}(x_{\lambda_{i}}) \right) \\
&= 0
\end{align*}

まとめ

河田の『ホモロジー代数』の内容の修正と、direct limit 基本的な命題について証明をしました。自身で証明を再度行える程度に形式的な証明になっていたでしょうか?
不明な個所があればコメントで質問して下さい。

おわりに

数学はその性質上、書籍を読み進める中で、一部でもわからない箇所があると、それ以降の内容がちゃんと理解した気になれなかったりします。
人によるのかもしれませんが、少なくとも私はそうなので、初めてこの命題に出くわしたときはちゃんと証明できるまで先に進むことができませんでした。
この記事がどれほどの人の役に立つのかかわかりませんが、日本語で検索可能な文章として存在することに意味があると信じています。(私が読んでいないホモロジー代数の書籍に、十分に形式的な証明があって、私が知らないだけなのかもしれないが…)