함자의 정의와 기본 성질
수학에서 다루는 모든 대상들과 이들 사이의 morphism들의 모임을 category로 보겠다는 범주론의 철학을 받아들이기로 한다면, 자연스럽게 우리가 정의한 수학적인 대상, 즉 category들을 대상으로 갖는 category를 생각할 수도 있다. 이를 위해서는 우선 category들 사이의 morphism이 무엇인지부터 정의해야 한다.
정의 1 두 category $\mathcal{A},\mathcal{B}$ 사이의 functor함자 $F:\mathcal{A}\rightarrow\mathcal{B}$는 다음과 같은 정보로 구성된다.
- 각각의 $A\in\obj(\mathcal{A})$마다 대응되는 object $F(A)\in\obj(\mathcal{B})$,
- 각각의 $f\in\Hom_\mathcal{A}(A_1,A_2)$마다 대응되는 morphism $F(f)\in\Hom_\mathcal{B}(F(A_1),F(A_2))$
이들은 다음 조건들을 만족한다.
- 두 morphism의 합성을 $F$로 보낸 것은 각각의 morphism을 $F$로 보낸 후 합성한 것과 같다. 즉 $F(g\circ f)=F(g)\circ F(f)$가 성립한다.
- 임의의 object $A\in\obj(\mathcal{A})$에 대하여, $F(\id_A)=\id_{F(A)}$가 성립한다.
어렵지 않게 functor들의 합성이 functor인 것을 보일 수 있다.
보조정리 2 임의의 category들 $\mathcal{A},\mathcal{B},\mathcal{C}$와 두 functor $F:\mathcal{A}\rightarrow \mathcal{B}, G:\mathcal{B}\rightarrow \mathcal{C}$에 대하여, $G\circ F:\mathcal{A} \rightarrow \mathcal{C}$를
- 임의의 $A\in \mathcal{A}$에 대하여, $(G\circ F)(A)=G(F(A))$,
- 임의의 $f\in\Hom_\mathcal{A}(A_1,A_2)$에 대하여, $(G\circ F)(f)=G(F(f))$
으로 정의하면 $G\circ F$는 functor가 된다.
증명
Functor가 만족해야 하는 두 조건만 보이면 충분하며, 이는
\[(G\circ F)(g\circ f)=G(F(g\circ f))=G(F(g)\circ F(f))=G(F(g))\circ G(F(f))=(G\circ F)(g)\circ(G\circ F)(f)\]그리고
\[(G\circ F)(\id_A)=G(F(\id_A))=G(\id_{F(A)})=\id_{G(F(A))}=\id_{(G\circ F)(A)}\]으로부터 자명하다.
함자의 예시들
우리는 임의의 preordered set을 category로 볼 수 있다는 것을 살펴보았다. (§카테고리, ⁋예시 3) 다음 예시는 여기에 새로운 관점을 부여한다. 고정된 category $\mathcal{I}$와 임의의 category $\mathcal{A}$에 대하여, functor $F:\mathcal{I}\rightarrow \mathcal{A}$를 $\mathcal{I}$-shaped diagram in $\mathcal{A}$라 부르자.
예시 3 집합 $I_1=\{a,b,c\}$와, 다음 관계 $a\leq b\leq c$로 주어진 preorder relation을 생각하자. 그럼 $(I_1,\leq)$로부터 만들어지는 category $\mathcal{I}_1$은 다음 그림
으로 표현할 수 있다. 이제 functor $F:\mathcal{I}_1 \rightarrow \mathcal{A}$는 다음 조건
\[F(\beta)\circ F(\alpha)=F(\beta\circ\alpha)=F(\gamma)\]을 만족한다. 즉, $\mathcal{A}$의 대상 $F(a),F(b),F(c)$와 이들 사이의 morphism $F(\alpha):F(a) \rightarrow F(b)$, $F(\beta):F(b) \rightarrow F(c)$, $F(\gamma): F(a) \rightarrow F(c)$에 대하여 다음 그림
이 (이전까지 생각해왔던 의미로서) commutative triangle이 된다. 거꾸로 이러한 조건을 만족하는 데이터는 모두 이와 같은 식으로 $\mathcal{I}_1$으로부터의 functor로 생각할 수 있다.
비슷하게, 집합 $I_2=\{a,b,c,d\}$ 위에 다음 관계들 $a\leq b,c$, 그리고 $b,c\leq d$로 preorder relation을 주면 functor $\mathcal{I}_2 \rightarrow \mathcal{A}$는 commutative square가 된다.
이와 같은 직관을 살리기 위해 $\mathcal{I}\rightarrow \mathcal{A}$를 diagram으로 생각할 때는 $\mathcal{I}$의 대상들을 $i,j,k,…$으로 표기한다.
예시 4 Locally small category $\mathcal{A}$와 대상 $A\in\obj(\mathcal{A})$를 고정하자. 그럼 임의의 $B\in\obj(\mathcal{A})$가 주어질 때마다 집합 $\Hom_\mathcal{A}(A,B)$를 대응시키는 것은 $\mathcal{A}$에서 $\Set$으로의 functor이다. 이를 확인하기 위해서는 임의의 $f:B \rightarrow B’$가 주어질 때마다 morphism $\Hom_\mathcal{A}(A,B)\rightarrow\Hom_\mathcal{A}(A,B’)$를 대응시켜주면 되는데, 이를
\[\Hom_\mathcal{A}(A, f):\Hom_\mathcal{A}(A,B)\rightarrow\Hom_\mathcal{A}(A,B');\qquad \phi\mapsto f\circ\phi\]으로 정의하자.
그럼 이러한 데이터로 주어지는 대응 $\Hom_\mathcal{A}(A,-)$이 functor가 된다는 것을 확인할 수 있다.
반변함자
예시 4와 같은 방식으로 functor $\Hom_\mathcal{A}(-,A)$를 정의해볼 수 있다. 그러나 이 경우, 다음의 diagram
에서 확인할 수 있듯 $\Hom_\mathcal{A}(f,A)$는 $\Hom_\mathcal{A}(B’,A)$에서 $\Hom_\mathcal{A}(B,A)$로의 morphism이 되어버린다.
정의 5 두 category $\mathcal{A},\mathcal{B}$ 사이의 contravariant functor반변함자는 다음과 같은 정보로 구성된다.
- 각각의 $A\in\obj(\mathcal{A})$마다 대응되는 object $F(A)\in\obj(\mathcal{B})$,
- 각각의 $f\in\Hom_\mathcal{A}(A_1,A_2)$마다 대응되는 morphism $F(f)\in\Hom_\mathcal{B}(F(A_2),F(A_1))$
이들은 다음 조건들을 만족한다.
- $\mathcal{A}$의 두 morphism의 합성을 $F$로 보낸 것은 각각의 morphism을 $F$로 보낸 후 방향을 바꾸어 합성한 것과 같다. 즉 $F(g\circ f)=F(f)\circ F(g)$가 성립한다.
- 임의의 object $A\in\obj(\mathcal{A})$에 대하여, $F(\id_A)=\id_{F(A)}$가 성립한다.
이와 같은 정의 때문에, 정의 1의 functor를 더 정확하게는 covariant functor공변함자라 부르기도 한다. 그러나 functor라 하면 보통 covariant functor만을 뜻하는데, 이는 다음 정의에 의해 모든 contravariant functor를 어떤 종류의 covariant functor로 생각할 수 있기 때문이다.
정의 6 Category $\mathcal{A}$가 주어졌다 하자. 그럼 $\mathcal{A}$의 opposite category반대 카테고리 $\mathcal{A}^\op$는 다음의 데이터로 이루어진다.
- $\obj(\mathcal{A}^\op)=\obj(\mathcal{A})$이다.
- 임의의 $A,B\in \obj(\mathcal{A}^\op)=\obj(\mathcal{A})$에 대하여, $\Hom_{\mathcal{A}^\op}(A,B)=\Hom_{\mathcal{A}}(B,A)$가 성립한다.
- 임의의 $A\in\obj(\mathcal{A})$에 대하여, $\mathcal{A}^\op$에서의 identity $\id_A$는 $\mathcal{A}$에서의 identity와 동일한 것으로 주어진다.
-
임의의 $f\in\Hom_{\mathcal{A}^\op}(A,B),g\in\Hom_{\mathcal{A}^\op}(B,C)$에 대하여, 이들의 합성 $g\circ^\op f$는 $f,g$를 $\mathcal{A}$의 morphism들로 본 후, 이를 $\mathcal{A}$에서 합성한 것으로 정의된다.
\[g\circ^\op f= f\circ g\in\Hom_{\mathcal{A}}(C,A)=\Hom_{\mathcal{A}^\op}(A,C)\]
즉, $f\in \Hom_\mathcal{A}(B,A),g\in\Hom_\mathcal{A}(C,B)$에 대하여, $f$와 $g$의 $\mathcal{A}^\op$에서의 합성 $g\circ^\op f$는으로 정의된다.
이 정의 하에서, 정의 5를 다시 쓰자면 $\mathcal{A}$에서 $\mathcal{B}$로의 contravariant functor란 단순히 (covariant) functor $\mathcal{A}^\op \rightarrow \mathcal{B}$에 불과하다.
Bifunctor
다음 정의는 우리가 이미 알고있는 것들로만 이루어져 있긴 하지만, 그래도 이름을 붙여주면 종종 요긴하게 사용할 수 있다.
정의 7 세 category $\mathcal{A}, \mathcal{B}, \mathcal{C}$에 대하여, functor $\mathcal{A}\times \mathcal{B}\rightarrow \mathcal{C}$를 bifunctor라 부른다.
예시 8 임의의 (locally small) category $\mathcal{A}$에 대하여, $\Hom_\mathcal{A}(-,-): \mathcal{A}^\op\times \mathcal{A}\rightarrow \Set$는 bifunctor이다.
이를 확인하기 위해서는 functoriality만 확인하면 충분하다. 정의에 의하여, $\mathcal{A}^\op\times \mathcal{A}$의 morphism은
\[(g,h):(A_1,A_2) \rightarrow (A_1',A_2');\qquad g\in \Hom_{\mathcal{A}^\op}(A_1,A_1'),\quad h\in \Hom_\mathcal{A}(A_2,A_2')\]의 꼴이며, bifunctor $\Hom_\mathcal{A}(-,-)$를 통해 이 morphism은 다음 morphism
\[\Hom_\mathcal{A}(g,h):\Hom_\mathcal{A}(A_1,A_2) \rightarrow \Hom_\mathcal{A}(A_1',A_2');\qquad f\mapsto h\circ f\circ g\]으로 보내진다. 여기에서 $\mathcal{A}’$에서의 morphism $g$를 $\mathcal{A}$에서의 morphism $A_1’\rightarrow A_1$으로 보았다.
카테고리 $\Cat$
이를 통해 category들의 category를 정의할 수 있다. 다만 이전에 언급했던 러셀의 역설과 관련된 문제를 피하기 위해 우리는 보편적으로 모든 category들의 category 대신, 모든 small category들의 category 혹은 모든 locally small category들의 category를 생각한다.
정의 9 Category $\Cat$는 다음의 데이터로 이루어진다.
- $\Cat$의 대상들은 small category들이다.
- 임의의 $\mathcal{A},\mathcal{B}\in\obj(\Cat)$에 대하여, $\Hom_\Cat(\mathcal{A},\mathcal{B})$는 $\mathcal{A}$에서 $\mathcal{B}$로의 functor들의 모임이다.
비슷하게, category $\CAT$는 다음의 데이터로 이루어진다.
- $\CAT$의 대상들은 locally small category들이다.
- 임의의 $\mathcal{A},\mathcal{B}\in\obj(\CAT)$에 대하여, $\Hom_\CAT(\mathcal{A},\mathcal{B})$는 $\mathcal{A}$에서 $\mathcal{B}$로의 functor들의 모임이다.
이들 데이터가 실제로 category가 된다는 것을 확인할 수 있다.
정의 10 Locally small category들 $\mathcal{A}, \mathcal{B}$에 대하여, functor $F:\mathcal{A}\rightarrow \mathcal{B}$가 faithful충실하다는 것은 임의의 $A_1,A_2\in\obj(\mathcal{A})$에 대하여, 대응
\[\Hom_\mathcal{A}(A_1,A_2)\rightarrow\Hom_{\mathcal{B}}(F(A_1),F(A_2));\qquad f\mapsto F(f)\]이 injective인 것이다. 만일 이 대응이 surjective라면 $F$가 full충만이라 한다.
참고문헌
[Rie] Emily Riehl. Category Theory in Context. Dover Publications, 2016.
댓글남기기