object-is-morphism 범주론 1 - Category, Functor, Natural transformation, Comma category
28 Jun 2026작성기간: 2026-06-23 ~ 2026-06-28
범주론 기초를 공부하다 만든 구조가 꽤 예뻐서, 이를 바탕으로 범주론을 정리해보려 한다.
note인 이상, 누구를 위한 설명글보다는 나 스스로 정리하는것에 가깝다.
1. Category
Category $\mathcal{C}$는 다음과 같이 정의한다.
Category $\mathcal{C}$은 다음으로 구성되어있다:
- $\mathcal{C} := (\operatorname{Mor}(\mathcal{C}), \operatorname{Ob}(\mathcal{C}), \operatorname{dom}_\mathcal{C}, \operatorname{cod}_\mathcal{C}, \circ_\mathcal{C})$
- 문맥이 분명할때는 $\mathcal{C}$를 생략하자.
- $\operatorname{Ob} \subseteq \operatorname{Mor}$
- $(\operatorname{dom}, \operatorname{cod}): \operatorname{Mor} \to \operatorname{Ob} \times \operatorname{Ob}$
- $\operatorname{id}_{\operatorname{Ob}} = \operatorname{dom}\vert_{\operatorname{Ob}} = \operatorname{cod}\vert_{\operatorname{Ob}}$
- $D := \lbrace (g, f): \operatorname{dom} (g) = \operatorname{cod}(f) \rbrace$
- $\circ: D \to \operatorname{Mor}$
여기까지가 구성요소고, 이후엔 얼추 2가지 방식으로 나타내볼 수 있다.
그리고 아래 조건을 만족한다.
For any $f, g, h \in \operatorname{Mor}$,
- Identity law
- $f \circ \operatorname{dom}(f) = f$
- $\operatorname{cod}(f) \circ f = f$
- Endpoint law ($\operatorname{dom}(g) = \operatorname{cod}(f)$)
- $\operatorname{dom}(g \circ f) = \operatorname{dom}(f)$
- $\operatorname{cod}(g \circ f) = \operatorname{cod}(g)$
- Associative law ($\operatorname{dom}(h) = \operatorname{cod}(g), \operatorname{dom}(g) = \operatorname{cod}(f)$)
- $(h \circ g) \circ f = h \circ (g \circ f)$
아래와 같이 써볼수도 있다.
- For $a, b, c \in \operatorname{Ob}$,
- $\operatorname{Hom}(a, b) := \lbrace f \in \operatorname{Mor}: \operatorname{dom}(f) = a, \operatorname{cod}(f) = b \rbrace$
- $\circ_{a, b, c}: \operatorname{Hom}(b, c) \times \operatorname{Hom}(a, b) \to \operatorname{Hom}(a, c)$
- $\circ_{a, b, c} = \circ\vert_{\operatorname{Hom}(b, c) \times \operatorname{Hom}(a, b)}$
그리고, 아래 조건을 만족한다.
For any $a, b \in \operatorname{Ob}$ and any $f, g, h \in \operatorname{Mor}$,
- Identity law ($f \in \operatorname{Hom}(a, b)$)
- $f \circ a = f$
- $b \circ f = f$
- Associative law ($\operatorname{dom}(h) = \operatorname{cod}(g), \operatorname{dom}(g) = \operatorname{cod}(f)$)
- $(h \circ g) \circ f = h \circ (g \circ f)$
딱히 기호가 충돌하지도 않고 같은 내용이니, 둘 다 이해하도록 하자.
위 내용을 좀 더 풀어써보자.
Category $\mathcal{C}$는 다음으로 구성되어있다.
\(\mathcal{C} := (\operatorname{Mor}(\mathcal{C}), \operatorname{Ob}(\mathcal{C}), \operatorname{dom}\_\mathcal{C}, \operatorname{cod}\_\mathcal{C}, \circ\_\mathcal{C})\)
- $\operatorname{Mor}(\mathcal{C}), \operatorname{Ob}(\mathcal{C})$ are collection
- $(\operatorname{dom}_\mathcal{C}, \operatorname{cod}_\mathcal{C}): \operatorname{Mor}(\mathcal{C}) \to \operatorname{Ob}(\mathcal{C}) \times \operatorname{Ob}(\mathcal{C})$
- $\circ_\mathcal{C} : D \to \operatorname{Mor}$
- $D := \lbrace (g, f): \operatorname{dom}_\mathcal{C}(g) = \operatorname{cod}_\mathcal{C}(f)\rbrace \subseteq \operatorname{Mor}(\mathcal{C}) \times \operatorname{Mor}(\mathcal{C})$
기수 관련 issue는 $\operatorname{Mor}(\mathcal{C}), \operatorname{Ob}(\mathcal{C})$ 을 collection으로 정의함으로써 처리한다.
내 스타일상 선택에 의존하는 논리는 가능한 피하기도 하고, 하더라도 사용할때마다 꽤 예민하게 확인
또한 앞으로, 문맥이 분명할때는 $\mathcal{C}$를 생략한다.
- $\operatorname{Mor}$ is collection of morphisms
- $f \in \operatorname{Mor}$ 을 morphism이라 한다.
- $\operatorname{Ob} \subseteq \operatorname{Mor}$ is collection of objects
- $a \in \operatorname{Ob}$ 을 object라 한다.
- $\operatorname{Ob} \subseteq \operatorname{Mor}$
그리고 $\operatorname{Ob} \subseteq \operatorname{Mor}$에서 볼 수 있듯이, object는 morphism이다.
기존 category에서는 object와 identity의 역할을 통합한 것으로 이해하면 된다.
- $(\operatorname{dom},\operatorname{cod}): \operatorname{Mor} \to \operatorname{Ob} \times \operatorname{Ob}$은 morphism을 object으로 보내는 map들이다.
- $\operatorname{id}_{\operatorname{Ob}} = \operatorname{dom}\vert_{\operatorname{Ob}} = \operatorname{cod}\vert_{\operatorname{Ob}}$
- morphism $f \in \operatorname{Mor}$에 대해,
- $\operatorname{dom}(f)$을 $f$의 domain이라 한다.
- $\operatorname{cod}(f)$을 $f$의 codomain이라 한다.
- $f:\operatorname{dom}(f) \to \operatorname{cod}(f)$와 같이 쓸 수 있다.
- morphism $f:a \to b$로 표기하곤 하며, 이는 다음을 말한다
- $\operatorname{dom}(f) = a$
- $\operatorname{cod}(f) = b$
여기서 잊지 말아야할 점은, $f:a \to b$에서 $a$, $b$ 또한 morhpism이라는 사실이다.
$\operatorname{dom},\operatorname{cod}$는 $\operatorname{Ob}$로 제한시 항등이기 때문에, object $a \in \operatorname{Ob}$ 에 대해
\[\operatorname{dom}(a) = \operatorname{cod}(a) = a\]이며 사상으로써 $a: a \to a$ 와 같이 적어볼 수 있겠다.
- $\operatorname{Hom}(a, b) := \lbrace f \in \operatorname{Mor}: \operatorname{dom}(f) = a, \operatorname{cod}(f) = b \rbrace$
- domain은 $a$, codomain은 $b$인 morphism들의 collection이다.
- For $f \in \operatorname{Mor}$에 대해, $f \in \operatorname{Hom}(\operatorname{dom}(f), \operatorname{cod}(f))$
기본적으로 $f:a \to b$에 대해 $f \in \operatorname{Hom}(a, b)$이며,
Object $a \in \operatorname{Ob}$는 $a \in \operatorname{Hom}(a, a)$,
즉 스스로에서 스스로로 가는 morphism이다.
Endpoint law
- For $f, g \in \operatorname{Mor}$ and $\operatorname{dom}(g) = \operatorname{cod}(f)$
- $\operatorname{dom}(g \circ f) = \operatorname{dom}(f)$
- $\operatorname{cod}(g \circ f) = \operatorname{cod}(g)$
Equivantly,
- For $f \in \operatorname{Hom}_{\mathcal{C}}(a,b), g \in \operatorname{Hom}_{\mathcal{C}}(b,c)$
- $g \circ f \in \operatorname{Hom}_{\mathcal{C}}(a,c)$
$g \circ f$는 composite of $f$ and $g$이라 한다.
Endpoint law의 경우 명시적으로 식을 통해 고정할 수도 있고, $\circ$ 를 $\operatorname{Hom}$ 통해 정의하여 통제할수도 있다.
nlab에서는 이를 category의 2가지 정의 방식으로써 소개하며, 두 서술은 동등하다.
정의상, composition은 $\operatorname{dom}(g) \neq \operatorname{cod}(f)$ 이면 $g \circ f$ 자체가 올바르게 정의되지 않기 때문에,
$\operatorname{dom}(g) = \operatorname{cod}(f)$를 $g \circ f$가 올바르게 정의된다는 사실과 동치이다.
즉, 다음과 같은 서술이 가능하겠다:
- For $f, g \in \operatorname{Mor}$ when $g \circ f$ exists
- $\operatorname{dom}(g \circ f) = \operatorname{dom}(f)$
- $\operatorname{cod}(g \circ f) = \operatorname{cod}(g)$
전자보다는 후자와 같은 서술이 훨씬 직관적이기에 앞으로도 자주 쓰게 될것이다.
Identity law
- For any $f \in \operatorname{Mor}$
- $f \circ \operatorname{dom}(f) = f$
- $\operatorname{cod}(f) \circ f = f$
Equivantly,
- For $f \in \operatorname{Hom}(a, b)$
- $f \circ a = f$
- $b \circ f = f$
즉, morphism에 domain과 codomain을 composite하면 스스로이다.
이는 object가 identity와 같은 성질을 가짐을 보장해준다.
Associative law
- For $f, g, h \in \operatorname{Mor}$ when $g \circ f, h \circ g$ exists
- $(h \circ g) \circ f = h \circ (g \circ f)$
말 그대로 결합법칙이다.
이로써 Category $\mathcal{C}$는 적당히 다음과 같이 정의해볼 수 있겠다.
\(\mathcal{C} := (\operatorname{Mor}, \operatorname{Ob}, \operatorname{dom}, \operatorname{cod}, \circ)\)
- $\operatorname{Mor}, \operatorname{Ob}$ are collection
- $\operatorname{Ob} \subseteq \operatorname{Mor}$
- $(\operatorname{dom}, \operatorname{cod}): \operatorname{Mor} \to \operatorname{Ob} \times \operatorname{Ob}$
- $\operatorname{id}_{\operatorname{Ob}} = \operatorname{dom}_\mathcal{C}\vert_{\operatorname{Ob}} = \operatorname{cod}\vert_{\operatorname{Ob}}$
- $\circ : D \to \operatorname{Mor}$
- $D := \lbrace (g, f): \operatorname{dom}(g) = \operatorname{cod}(f)\rbrace \subseteq \operatorname{Mor} \times \operatorname{Mor}$
- 위와 같은 구성이 Identity law, Endpoint law, Associative law 만족
개인적으로 아래 두 식,
- $\operatorname{Ob} \subseteq \operatorname{Mor}$
- $\operatorname{id}_{\operatorname{Ob}} = \operatorname{dom}_\mathcal{C}\vert_{\operatorname{Ob}} = \operatorname{cod}\vert_{\operatorname{Ob}}$
은 공리보다는 구조에 가깝다 느꼈기에, 딱히 대응되는 이름을 붙이진 않았다.
해당 2 식은 composition과 엮여있지 않지만, 다른 3개 규칙은 엮여있는것도 다른 이유였다.
예제.
그럼 이제 Category $\text{Set}$을 우리의 틀 하에서 정의해보도록 하자.
- morphism(function) $f := (\Gamma_f, X, Y)$
- $\Gamma_f$는 $f: X \to Y$의 function graph
- $X$, $Y$는 $f$의 함수로써 domain, codomain이다.
- object(set) $X := (\Gamma_{\operatorname{id}_X}; X, X)$
- $X$에서의 항등함수로 이해될 수 있겠다.
- $\operatorname{dom}(f) := (\Gamma_{\operatorname{id}_X}, X, X)$
- $\operatorname{cod}(f) := (\Gamma_{\operatorname{id}_Y}, Y, Y)$
- morphism $f = (\Gamma_f, X, Y), g = (\Gamma_g, Y, Z)$에 대하여
$g \circ f := (\Gamma_{g \circ f}, X, Z)$
범주를 만들때는 얼추 아래 순서가 편했던것 같다.
- morphism을 만들고, 이에 포함되는 object를 만든다
- object에 대해서 항등이 되는, (dom, cod)를 만든다.
- law(Identity, Endpoint, Associative)을 만족하는 composition을 만든다.
일단 $\text{Set}$의 경우에 대해서는 간단하니 law들을 모두 체크해보지는 말자.
Object/morphism의 대응엔 약간 기존보다는 귀찮아진 면이 있긴 하다만, 포함됨으로써 깔끔해지는 부분들이 있다.
예를 들어, identity law는 다음과 같이 서술가능하다.
For $f = (\Gamma_f; X, Y)$
- $f = Y \circ f = f \circ X$
앞으로 이런 식의 표기에 익숙해지도록 하자. 꽤 많은게 간단해진다.
마무리 겸, 하나만 더 정의하고 가자.
Category $\mathcal{C}$에서
- For any object $a$, $b$에 대해 $\operatorname{Hom}_\mathcal{C}(a,b)$ 가 Set이면
locally small category라고 한다.- $\operatorname{Mor}(\mathcal{C})$ 까지 set이면 small category라 한다.
위의 $\text{Set}$의 경우는 small은 아니지만 locally small이라 할수 있겠다.
2. isomorphism
Category $\mathcal{C}$의 object $a$, $b$에 대해,
$f: a \to b$가 isomorphism이라 함은, 어느 $g: b \to a$가 존재하여
- $f \circ g = b, g \circ f = a$
을 만족함을 의미하며, $f^{-1}:=g$를 inverse morphism이라 한다.
$\operatorname{Iso}_\mathcal{C}(a,b)$은 $\operatorname{Hom}_\mathcal{C}(a,b)$중 isomorphism 들의 collection이다.
식이 아주아주 조금 예뻐졌다.
inverse morphism의 유일성 증명도 한번 새 형식화 하에 해보자.
proof.
Object $a$, $b$ 와 morphism $f \in \operatorname{Hom}_{\mathcal{C}}(a,b)$, $g, h \in \operatorname{Hom}_{\mathcal{C}}(b,a)$ 에 대하여
\[\begin{align*} f \circ g = b, \qquad g \circ f = a \\ f \circ h = b, \qquad h \circ f = a \end{align*}\]라고 하면
\[g = g \circ b = g \circ (f \circ h) = (g \circ f) \circ h = a \circ h = h\]$\operatorname{Hom}_\mathcal{C}(a,b)$애 isomorphism이 존재할때,
- $a$와 $b$는 $\mathcal{C}$에서 isomorphic하다고 하며 $a \cong b$로 쓴다.
- 그러한 isomorphism 자체가 유일할때, $a$와 $b$가 $\mathcal{C}$에서 uniquely isomorphic하다고 한다.
Lemma도 이어서 증명해보자.
Lemma 1
Category $\mathcal{C}$의 object $a$, $b$에 대해, $f: a \to b$가 isomorphism이라 하자.
object $x$에 대해,
- $\operatorname{Hom}_{\mathcal{C}}(x,a) \cong \operatorname{Hom}_{\mathcal{C}}(x,b)$
- $\operatorname{Hom}_{\mathcal{C}}(a,x) \cong \operatorname{Hom}_{\mathcal{C}}(b,x)$
이다. 이때 $\cong$는 두 collection간의 bijection이 있음을 의미한다.
proof.
$u: x \to a$, $v: x \to b$에 대해
\[\Phi(u)=f\circ u, \Psi(v)=f^{-1}\circ v\]로 정의하면,
\[\Psi(\Phi(u)) = f^{-1} \circ f \circ u = a \circ u = u\] \[\Phi(\Psi(v)) = f \circ f^{-1} \circ v = b \circ v = v\]따라서 두 collection간, 서로를 만드는 bijection이 존재한다.
2번째의 경우도 증명은 사실상 같다.
이 때문에, 두 동형인 원소가 있으면 본질적으로(?) 같은 대상으로써 다룰 수 있게 된다.
$a \cong b$라면 $b$에 관한 이야기를 $a$를 통해 모두 할 수 있으니, 대표원만 보듯이 $a$만 가지고 다룰수 있는거다.
결국 우리가 아는 동형의 개념과 같다.
그래서 보통 무언가 조건을 만족하는 대상이 서로 isomorphic임을 보이고,
’~ is unique up to isomorphic’과 같이 이야기하곤 한다.
3. retraction, section
이번엔 한쪽만 가능한 경우를 논해보자.
Category $\mathcal{C}$의 object $a$, $b$에 대해,
$s: a \to b$, $r: b \to a$가 존재하여
\[r \circ s = a\]라면 $r$를 retraction, $s$를 section이라 한다.
여기서도 결국 중요한 부분은 다음 사실들이다.
Lemma 2
Category $\mathcal{C}$의 $s: a \to b$, $r: b \to a$에 대하여
$r \circ s = a$ 을 만족한다.
object $x$에 대해,
- For any $f: x \to a$, $r \circ \bar f = f$인 $\bar f: x \to b$가 존재한다.
- For any $g: a \to x$, $\bar g \circ s = g$인 $\bar g: b \to x$가 존재한다.
isomorphism과 다르게 존재성은 보장되되 유일성은 보장되지 않는다.
여기서 중요한 부분은, $b$의 사상들을 통해 $a$의 모든 사상을 그대로 만들어낼 수 있다는 것이다.
4. initial object, terminal object
Category $\mathcal{C}$의 object $i$, $t$에 대해,
임의의 object $x$에 대하여
- $\exists! f: i \to x$이면, $i$를 initial object라고 한다.
- $\exists! f: x \to t$이면, $t$를 terminal object라고 한다.
모든 object에게 morphism이 하나씩 있거나, 하나씩 들어온다는 이야기다.
하나씩 있다는 사실만으론, 이게 왜 이름까지 붙을만한건지 감이 잡히지 않을 수 있다.
Lemma 3
Category $\mathcal{C}$의 initial/terminal object는 존재한다면 unique up to unique isomorphism.
proof.
$i$, $i’$ 이 initial object라 하자.
$f: i \to i’$, $g: i’ \to i$ 가 유일하게 존재하며,
$(g \circ f): i \to i$, $(f \circ g): i’ \to i’$ 이다.
그런데 initial object의 경우 스스로에게 가는 사상이 스스로로 유일하다. 즉,
\[g \circ f = i, \qquad f \circ g = i'\]이며, $i \cong i’$는 uniquely isomorphic이다.
terminal object에 관해서도 증명은 같다.
5. Functor
여기서 꽤 깔끔한 정의가 나온다.
Category $\mathcal{C}$, $\mathcal{D}$에 대하여,
Functor $F: \mathcal{C} \to \mathcal{D}$는 다음 triple $(F; \mathcal{C}, \mathcal{D})$
- $F: \operatorname{Mor}(\mathcal{C}) \to \operatorname{Mor}(\mathcal{D})$
- For any $f \in \operatorname{Mor}(\mathcal{C})$,
- $F(\operatorname{dom}_\mathcal{C}(f)) = \operatorname{dom}_\mathcal{D}(F(f))$
- $F(\operatorname{cod}_\mathcal{C}(f)) = \operatorname{cod}_\mathcal{D}(F(f))$
- For $f, g \in \operatorname{Mor}(\mathcal{C})$ when $g \circ f$ exists,
- $F(g \circ f) = F(g) \circ F(f)$
관찰
Category $\mathcal{C}$, $\mathcal{D}$, Functor $F: \mathcal{C} \to \mathcal{D}$에 대해
For any $a \in \operatorname{Ob}(\mathcal{C})$, $F(a) \in \operatorname{Ob}(\mathcal{D})$
proof.
$F(a) = F(\operatorname{dom}_\mathcal{C}(a)) = \operatorname{dom}_\mathcal{D}(F(a)) \in \operatorname{Ob}(\mathcal{D})$
$\square$
결국 Functor이 Category간 구조를 보존하는 준동형사상이라는 부분이 상당히 깔끔하게 드러난다.
Object가 Object로 가게 되는것도 그저 거기서 따라나오는 성질일 뿐이다.
Functor $F: \mathcal{C} \to \mathcal{D}$에 대해
- $F_0 : \operatorname{Ob}(\mathcal{C}) \to \operatorname{Ob}(\mathcal{D})$
- $F_0 := F\vert_{\operatorname{Ob}(\mathcal{C})}$
때문에 우리는 위와같은 map 또한 정의할 수 있다.
또한, Category $\mathcal{C}$ 또한 다음과 같은 functor로써 이해될 수 있다.
\[1_\mathcal{C}:= (\operatorname{id}_{\operatorname{Mor}(\mathcal{C})}, \mathcal{C}, \mathcal{C})\]명확히하면, 특정 상황($\text{Cat}$ 맥락)에서 한한것이 아니다.
물론 같은 것은 아니고(정의가 재귀가 되므로), $1_\mathcal{C}$가 들어갈 곳에 $\mathcal{C}$를 두는 convention이다.
때문에 다음과 같은 표기도 가능해진다.
\[\mathcal{C}_0 = \operatorname{id}_{\operatorname{Ob}(\mathcal{C})}\]object in morphism과 마찬가지로, 이걸로 상당히 많은게 깔끔해진다.
Category $\mathcal{C}$, $\mathcal{D}$에 대하여,
$\operatorname{Fun}(\mathcal{C}, \mathcal{D})$ is collections of functor from $\mathcal{C}$ to $\mathcal{D}$
이렇게 Functor들의 collection 또한 정의해볼 수 있다.
이쯤되면, 뭔가 구조가 보일것이다. 그렇다, category와 functor들 그 자체도 범주를 이룬다.
그럼 이제 Category $\text{Cat}$을 우리의 틀 하에서 정의해보도록 하자.
- morphism(functor) $F: \mathcal{C} \to \mathcal{D}$
- object(category) $\mathcal{C} :\mathcal{C} \to \mathcal{C}$
- $\operatorname{dom}(F) := \mathcal{C}$
- $\operatorname{cod}(F) := \mathcal{D}$
- For functor $F: \mathcal{C} \to \mathcal{D}$, $G: \mathcal{D} \to \mathcal{E}$ and $f \in \operatorname{Mor}(\mathcal{C})$
- $(G \circ F)(f) := G(F(f))$
이때 \(\operatorname{Hom}_\text{Cat}(\mathcal{C}, \mathcal{D}) = \operatorname{Fun}(\mathcal{C}, \mathcal{D})\) 이다.
여기서 작업하려는것이 아니기 때문에 당장의 크기 issue에 관해서 다루지는 않는다.
6. Natural transformation
자연변환도 꽤 예쁘게 된다.
Category $\mathcal{C}$, $\mathcal{D}$와 Functor
\[F, G: \mathcal{C} \to \mathcal{D}\]에 대하여, Natural transformation $\eta: F \Rightarrow G$는 다음을 만족하는 $(F, G;\eta_\bullet)$ triple이다.
- $\eta_\bullet: \operatorname{Ob}(\mathcal{C}) \to \operatorname{Mor}(\mathcal{D}),\quad a \mapsto \eta_a$
- $\operatorname{dom}(\eta_a) = F(a),\quad \operatorname{cod}(\eta_a) = G(a)$
- For any morphism $f \in \operatorname{Mor}(\mathcal{C})$,
- $\eta_{\operatorname{cod}(f)} \circ F(f) = G(f) \circ \eta_{\operatorname{dom}(f)}$
아래와 같은 commuting diagram을 그려볼 수 있다.
여기서 diagram은 적당히 그림,
commuting는 어느 경로로 가든 같은 값이 나온다-정도로 이해하면 된다.
이때, Functor $F: \operatorname{Mor}(\mathcal{C}) \to \operatorname{Mor}(\mathcal{D})$ 를 아래와 같이 자연변환으로 볼 수 있다.
\[1_F := (F, F; F_0)\]Category를 functor로 볼 때 처럼, $1_F$가 있어야할 곳에 대신 $F$를 두는 convention일 뿐이다.
Category $\mathcal{C}$, $\mathcal{D}$, Functor
\[F, G: \operatorname{Mor}(\mathcal{C}) \to \operatorname{Mor}(\mathcal{D})\]에 대하여, $\operatorname{Nat}(F, G)$ is collections of natural transformation from $F$ to $G$
이렇게 Natural transformation들의 collection 또한 정의해볼 수 있다.
덕분에, 우리는 아래와 같은 Category를 떠올릴 수 있다.
Category $\mathcal{C}$, $\mathcal{D}$에 대하여,
$[\mathcal{C}, \mathcal{D}]$ is Category such that
- $\operatorname{Mor}([\mathcal{C}, \mathcal{D}])$ is collection of natural transformations of functors.
- $\eta \in \operatorname{Mor}([\mathcal{C}, \mathcal{D}])$ is natural transformation $\eta: F \Rightarrow G$, can be written as $(F, G; \eta_\bullet)$
- $\operatorname{Ob}([\mathcal{C}, \mathcal{D}])$ is collection of functors from $\mathcal{C}$ to $\mathcal{D}$
- $\operatorname{Ob}([\mathcal{C}, \mathcal{D}]) = \operatorname{Fun}(\mathcal{C}, \mathcal{D})$
- $F \in \operatorname{Ob}([\mathcal{C}, \mathcal{D}])$ is functor $F: \mathcal{C} \to \mathcal{D}$, and also natural transformation $(F, F; F_0)$
- For $\eta: F \Rightarrow G$
- $\operatorname{dom}(\eta) = F$
- $\operatorname{cod}(\eta) = G$
- For $\eta: F \Rightarrow G$, $\epsilon: G \Rightarrow H$
- $\epsilon \circ \eta := (F, H; (\epsilon \circ \eta)_\bullet)$
- For any $a \in \operatorname{Ob}(\mathcal{C})$.
- $(\epsilon \circ \eta)_a = \epsilon_a \circ \eta_a$
이렇게 $\operatorname{Fun}(\mathcal{C}, \mathcal{D})$를 범주로 확장시킬 수 있다.
이때 \(\operatorname{Hom}_{[\mathcal{C}, \mathcal{D}]}(F, G) = \operatorname{Nat}(F, G)\) 이다.
약간 맥락을 벗어나지만, 여기 좋은 도구가 있다.
우선, 다음을 정의한다.
Terminal category $\text{1}$ 은 다음과 같다.
- $\operatorname{Mor}(\text{1}) = \operatorname{Ob}(\text{1}) = \lbrace 1 \rbrace$
보통 $*$로 object를 나타내지만, 다음 글에서 convention 충돌을 피하기 위해 $1$로 표기했다.
중요한 점은, singleton이라는거다.
저 object의 이름을 1로 붙이건 2로 붙이건 카리나로 붙이건 어차피 동형이다.
Terminal category의 성질들은 다음과 같다.
Category $\mathcal{C}$에 대해,
- $\operatorname{Fun}(\mathcal{C}, \text{1}) = \lbrace !_\mathcal{C} \rbrace$
- Functor $!_\mathcal{C}: \mathcal{C} \to \text{1}$은 모든 morphism을 $1$로 보낸다.
$\operatorname{Fun}(\text{1}, \mathcal{C}) = \lbrace \ulcorner a\urcorner a \in \operatorname{Ob}(\mathcal{C})\rbrace$
- $a \in \operatorname{Ob}(\mathcal{C})$ 에 대해, Functor $\ulcorner a\urcorner: \text{1} \to \mathcal{C} $은 $\ulcorner a\urcorner(1) = a$
그러면, 당연히 $\operatorname{Fun}(\text{1}, \mathcal{C})$ 간의 자연변환에 대해서도 알고싶지 않나?
\[\ulcorner f \urcorner:=(\ulcorner a\urcorner, \ulcorner b\urcorner; \ulcorner f \urcorner_\bullet)\]
- $f \in \operatorname{Mor}(\mathcal{C})$ 에 대해, $f: a \to b$ 라면 $\ulcorner f \urcorner : \ulcorner a\urcorner \Rightarrow \ulcorner b\urcorner$ 는
such that $ \ulcorner f \urcorner_1 = f$
내가 논하고 싶은 부분은, 다음이다.
Category $\mathcal{C}$에 대해,
\[[\text{1}, \mathcal{C}] \cong \mathcal{C}\]
이는, 2-category $\text{Cat}$에서 작업할때
object 수준부터 natural transformation까지 전부를 한곳에서 다룰수 있게 해준다.
Natural transformation에 대해서는, 이후에 좀 더 구조적으로 이해해본다.
7. comma category
Category $\mathcal{A}, \mathcal{B}, \mathcal{C}$와 functor
\[S : \mathcal{A} \to \mathcal{C},\qquad T : \mathcal{B} \to \mathcal{C}\]에 대하여, comma category $(S \downarrow T)$는 다음과 같이 정의해볼 수 있다.
- morphism $f =(f_\mathcal{A}, f_\mathcal{B};\alpha, \beta)$
- $f_\mathcal{A} \in \operatorname{Mor}(\mathcal{A})$
- $f_\mathcal{B} \in \operatorname{Mor}(\mathcal{B})$
- $\alpha, \beta \in \operatorname{Mor}(\mathcal{C})$
- $\beta \circ S(f_\mathcal{A}) = T(f_\mathcal{B}) \circ \alpha$ exists and true
- object $a = (a_\mathcal{A}, a_\mathcal{B};\alpha, \alpha)$
- $a_\mathcal{A} \in \operatorname{Ob}(\mathcal{A})$
- $a_\mathcal{B} \in \operatorname{Ob}(\mathcal{B})$
- $\alpha: S(a_\mathcal{A}) \to T(a_\mathcal{B})$
- $\operatorname{dom}_{(S \downarrow T)}(f) := (\operatorname{dom}(f_\mathcal{A}), \operatorname{dom}(f_\mathcal{B});\alpha,\alpha)$
- $\operatorname{cod}_{(S \downarrow T)}(f) := (\operatorname{cod}(f_\mathcal{A}), \operatorname{cod}(f_\mathcal{B});\beta,\beta)$
- For morphism $f =(f_\mathcal{A}, f_\mathcal{B};\alpha, \beta)$, $g =(g_\mathcal{A}, g_\mathcal{B};\beta, \gamma)$ such that $\operatorname{cod}_{(S \downarrow T)}(f)=\operatorname{dom}_{(S \downarrow T)}(g)$,
- $g \circ f := (g_\mathcal{A} \circ f_\mathcal{A}, g_\mathcal{B} \circ f_\mathcal{B};\alpha, \gamma)$
위 구조는 Category가 된다.
exists and true는 composition의 존재성 또한 강제함을 유의하라.
굳이 dom, cod를 작성하는게 직관을 방해한다 봐서 일부러 넣지 않았다.
앞으로의 편의를 위해, 아래 연산을 정의하자.
- $\pi_l: (S \downarrow T) \to \mathcal{A}$
- $\pi_r: (S \downarrow T) \to \mathcal{B}$
- $\pi_\bullet: \operatorname{Ob}(S \downarrow T) \to \operatorname{Mor}(\mathcal{C})$
- $(S\pi_l, T\pi_r; \pi_\bullet)$은 자연변환이며, $\pi: S\pi_l \Rightarrow T\pi_r$ 과 같이 볼 수 있다.
- $f =(\pi_l(f), \pi_r(f);\pi_{\operatorname{dom}(f)}, \pi_{\operatorname{cod}(f)})$
- $a =(\pi_l(a), \pi_r(a);\pi_{a}, \pi_{a})$
morphism $f$는 다음과 같은 commuting diagram로 나타내볼 수 있다.
다만 여기서 중요한건 $f$의 구성요소는 $S(f_\mathcal{A}), T(f_\mathcal{B})$이 아니라 $f_\mathcal{A}, f_\mathcal{B}$라는거다.
이 때문에 $\mathcal{C}$에서 square을 이어붙일 수 있어도, $\mathcal{A}$, $\mathcal{B}$에서 이어붙이지 못하면 composition은 불가능하다.
아마도 사족
comma category의 initial/terminal object는 좋은 성질을 지닌다.
Category $\mathcal{A}, \mathcal{B}, \mathcal{C}$와 functor
\[S : \mathcal{A} \to \mathcal{C},\qquad T : \mathcal{B} \to \mathcal{C}\]와 comma category $(S \downarrow T)$에 대하여, 임의의 object
\[a = (a_\mathcal{A}, a_\mathcal{B};\alpha, \alpha)\]를 둔다.
- $a_\mathcal{A} \in \operatorname{Ob}(\mathcal{A})$
- $a_\mathcal{B} \in \operatorname{Ob}(\mathcal{B})$
- $\alpha: S(a_\mathcal{A}) \to T(a_\mathcal{B})$
initial object $i =(i_\mathcal{A}, i_\mathcal{B};\alpha_i, \alpha_i)$가 존재하면,
- $f_\mathcal{A}: i_\mathcal{A} \to a_\mathcal{A}$, $f_\mathcal{B}: i_\mathcal{B} \to a_\mathcal{B}$ such that $\alpha \circ S(f_\mathcal{A}) = T(f_\mathcal{B}) \circ \alpha_i$가 유일하게 존재.
여기서 유일하게 존재한다는건, $(f_\mathcal{A}, f_\mathcal{B})$ pair이 유일함을 의미한다.
Commuting diagram으로 나타내면 다음과 같다.
comma category를 좀 더 구조적으로 이해하는 방법은 functor을 만드는거다.
Category $\mathcal{J}, \mathcal{A}, \mathcal{B}, \mathcal{C}$와 functor
\[S : \mathcal{A} \to \mathcal{C},\qquad T : \mathcal{B} \to \mathcal{C}\]에 대하여,
이다.
proof.
\[\operatorname{Fun}(J, (S \downarrow T)) \cong \left\lbrace (H_l, H_r; H_\bullet) \colon \begin{aligned}[t] &H_l:\mathcal{J} \to \mathcal{A},\ &H_r:\mathcal{J} \to \mathcal{B},\ &(SH_l, TH_r, H_\bullet)\text{ is a natural transformation} \end{aligned} \right\rbrace\]
우리는 위가 참임을 보이고 싶다.
Functor $H: \mathcal{J} \to (S \downarrow T)$에 대하여,
\[H_l := pi_l \circ H: \mathcal{J} \to \mathcal{A}\] \[H_r := pi_r \circ H: \mathcal{J} \to \mathcal{B}\] \[H_\bullet := pi_\bullet \circ H_0: \operatorname{Ob}(\mathcal{J}) \to \operatorname{Mor}(\mathcal{C})\]라고 정의하자. 이때,
For any $f \in \operatorname{Mor}(\mathcal{J})$,
$H_{\operatorname{cod}(f)} \circ S(H_l(f)) = T(H_r(f)) \circ H_{\operatorname{dom}(f)}$
가 항상 참이며, 따라서 $(SH_l, TH_r; H_\bullet)$ triple은 자연변환이다.
역으로, $(H_l, H_r; H_\bullet)$ triple이 주어졌다고 하자.
이때 다음과 같이 map $H: \operatorname{Mor}(\mathcal{J}) \to \operatorname{Mor}(S \downarrow T)$을 정의하자.
- For any $f \in \operatorname{Mor}(\mathcal{J})$,
조건상 $(SH_l, TH_r; H_\bullet)$이 자연변환이므로 저건 $\operatorname{Mor}(S \downarrow T)$의 원소가 맞다.
Functor의 조건 또한 만족하므로 $H$는 functor $H: \mathcal{J} \to (S \downarrow T)$ 이다.
또한 두 변환은 서로 역변환이므로, 참이다.
$\square$
8. Natural transformation as functor to Arrow category
Comma category에서는 유용한 특수형이 있다.
Category $\mathcal{C}$에 대하여, Arrow category $\mathcal{C}^\to$는 다음과 같다.
\(\)
- morphism $f =(f_l, f_r;\alpha, \beta)$
- $f_l, f_r \in \operatorname{Mor}(\mathcal{C})$
- $\alpha, \beta \in \operatorname{Mor}(\mathcal{C})$
- $\beta \circ f_l = f_r \circ \alpha$ exists and true
- object $a = (a_l, a_r;\alpha, \alpha)$
- $a_l, a_r \in \operatorname{Ob}(\mathcal{C})$
- $\alpha: a_l \to a_r$
- $\operatorname{dom}_{\mathcal{C}^\to}(f) := (\operatorname{dom}(f_l), \operatorname{dom}(f_r);\alpha,\alpha)$
- $\operatorname{cod}_{\mathcal{C}^\to}(f) := (\operatorname{cod}(f_l), \operatorname{cod}(f_r);\beta,\beta)$
- For morphism $f =(f_l, f_r;\alpha, \beta)$, $g =(g_l, g_r;\beta, \gamma)$ such that $\operatorname{cod}_{\mathcal{C}^\to}(f)=\operatorname{dom}_{\mathcal{C}^\to}(g)$,
- $g \circ f := (g_l \circ f_l, g_r \circ f_r;\alpha, \gamma)$
위 구조는 Category가 된다.
단순히 말해, $\mathcal{C}^\to = (\mathcal{C} \downarrow \mathcal{C})$ 이다. (우리는 앞서 category 스스로가 항등 functor임을 확실히 했다.)
morphism $f$는 다음과 같은 commuting diagram로 나타내볼 수 있다.
$\mathcal{C}^\to = (\operatorname{id}_\mathcal{C} \downarrow \operatorname{id}_\mathcal{C})$이며, object $a$에서 $\pi_l(a)$, $\pi_r(a)$이 $\alpha_a$에 강제되어(보통 안된다!! 중요!!)
\[\operatorname{Mor}(\mathcal{C}) \cong \operatorname{Ob}(\mathcal{C}^\to)\]이다.
Arrow category는 comma category의 성질 또한 그대로 가져간다.
아마도 사족
Category $\mathcal{C}$에 대해, $i \in \operatorname{Mor}(\mathcal{C})$가 $\mathcal{C}^\to$의 initial object라면
임의의 $f \in \operatorname{Mor}(\mathcal{C})$에 대해 \(\bar f = (\bar f_l,\bar f_r;i, f) \in \operatorname{Mor}(\mathcal{C}^\to)\)
- $\bar f_l, \bar f_r \in \operatorname{Mor}(\mathcal{C})$ such that $f \circ \bar f_l = \bar f_r \circ i$가 유일하게 존재.
Commuting diagram으로 나타내면 다음과 같다.
우리가 앞서 논했던 정리를 통해, $H: \mathcal{C} \to \mathcal{D}^\to$ 가 $(H_l, H_r; H_\bullet)$과 동등함을 알 수 있다.
그런데, $(H_l, H_r; H_\bullet)$는 동시에 자연변환이기도 하다!!
즉,
\[\operatorname{Mor}([\mathcal{C}, \mathcal{D}]) \cong \operatorname{Fun}(\mathcal{C}, \mathcal{D^\to})\]이다.
