이 문서는 수학에 관한 것입니다. 다른 뜻에 대해서는 모나드 문서를 참고하십시오.
범주론에서 **모나드**(영어: monad)는 내부 함자 범주의 모노이드 대상이다. 폐포연산과 대수 구조 다양체의 공통적인 일반화이다.

정의
--

{\mathcal {C}}가 범주라고 하자. 그렇다면 자기 함자 {\mathcal C}\to {\mathcal C}들을 대상으로 하고, 이들 사이의 자연 변환들을 사상으로 하는 자기 함자 범주 \operatorname {End}({\mathcal C})를 생각하자. \operatorname {End}({\mathcal C})는 모노이드 범주이며, 따라서 \operatorname {End}({\mathcal C}) 속의 모노이드 대상을 생각할 수 있다. \operatorname {End}({\mathcal C})의 모노이드를 {\mathcal {C}}의 **모나드**라고 한다.

구체적으로, 모나드는 다음과 같은 데이터로 이루어져 있다.

* 내부 준동형 함자 T\colon C\to C
* (항등원) 자연 변환 \eta \colon 1\_{C}\Rightarrow T (1\_{C}는 상수 함자)
* (합성) 자연 변환 \mu \colon T^{2}\Rightarrow T

이들은 임의의 대상 A\in {\mathcal C}에 대하여 다음 세 그림들을 가환되게 하여야 한다.

* (결합 법칙) 임의의 대상 A\in {\mathcal C}에 대하여, T\mu \_{A}\circ \mu \_{A}=\mu \_{{TA}}\circ \mu \_{A}. 즉, 다음 그림이 가환한다.
{\begin{matrix}TTTA&{\xrightarrow {T\mu }}&TTA\\{\scriptstyle \mu }\downarrow &&\downarrow \scriptstyle \mu \\TTA&{\xrightarrow[ {\mu }]{}}&TA\end{matrix}}
* (항등원의 성질) 임의의 대상 A\in {\mathcal C}에 대하여, \eta \_{{TA}}\circ \mu \_{A}=T\eta \_{A}\circ \mu \_{A}=\operatorname {id}\_{A}. 즉, 다음 두 그림이 가환한다.

{\begin{matrix}TA&{\xrightarrow \eta }&TTA\\&{\scriptstyle \operatorname {id}}\searrow &\downarrow \scriptstyle \mu \\&&TA\end{matrix}}\qquad \qquad {\begin{matrix}TA&{\xrightarrow {T\eta }}&TTA\\&{\scriptstyle \operatorname {id}}\searrow &\downarrow \scriptstyle \mu \\&&TA\end{matrix}}
### 모나드 위의 대수

모나드 T\colon {\mathcal C}\to {\mathcal C} 위의 **대수**(영어: algebra over T) (A,\operatorname {eval})는 다음과 같은 순서쌍이다.

* A\in {\mathcal C}는 {\mathcal {C}}의 대상이다.
* \operatorname {ev}\colon TA\to A는 {\mathcal {C}}의 사상이다.

이는 다음 두 그림들을 가환하게 만들어야만 한다.

{\begin{matrix}TTA&{\xrightarrow \mu }&TA&{\xleftarrow \eta }&A\\{\scriptstyle T\operatorname {ev}}\downarrow &&\downarrow \scriptstyle \operatorname {ev}&\swarrow \scriptstyle \operatorname {id}\\TA&{\xrightarrow[ {\alpha }]{}}&A\end{matrix}}
모나드 T 위의 두 대수 {\displaystyle (A,\operatorname {eval} \_{A})}, {\displaystyle (B,\operatorname {eval} \_{B})} 사이의 **준동형** {\displaystyle f\colon A\to B}는 다음 그림을 가환하게 만드는 {\mathcal {C}}-사상이다.

{\displaystyle {\begin{matrix}TA&{\xrightarrow {Tf}}&TB\\{\scriptstyle \operatorname {eval} \_{A}}\downarrow &&\downarrow \scriptstyle \operatorname {eval} \_{B}\\A&{\xrightarrow[{f}]{}}&B\end{matrix}}}
모나드 T 위의 대수들과 그 사이의 준동형들의 범주를 T의 **에일렌베르크-무어 범주**(영어: Eilenberg–Moore category)라고 하며, {\displaystyle {\mathcal {C}}^{T}}로 표기한다.

### 모나드에 대응하는 수반 함자

수반 함자로부터 항상 모나드를 정의할 수 있다. 그 역 역시 항상 성립한다. 즉, 범주 {\mathcal {C}} 위의 모나드 {\displaystyle (T,\eta ,\mu )}로부터 수반 함자를 정의할 수 있다. 사실, 이는 여러 가지로 가능하다. 범주 {\displaystyle \operatorname {Adj} ({\mathcal {C}},T)}를 다음과 같이 정의하자.

* {\displaystyle \operatorname {Adj} ({\mathcal {C}},T)}의 대상은 T를 유도하는 수반 함자이다. 즉, 수반 함자 {\displaystyle (F,G,e,\epsilon )} ({\displaystyle F\colon {\mathcal {C}}\to {\mathcal {D}}\colon G}) 가운데, {\displaystyle (G\circ F,e,G\circ \epsilon \circ F)=(T,\eta ,\mu )}인 것들이다.
* {\displaystyle \operatorname {Adj} ({\mathcal {C}},T)}의 사상은 수반 함자 사이의 사상 가운데, {\mathcal {C}} 위의 함자가 항등 함자인 것들이다.

그렇다면, {\displaystyle \operatorname {Adj} ({\mathcal {C}},T)}는 적어도 다음 두 대상을 포함한다.

* **클라이슬리 범주**(영어: Kleisli category) {\displaystyle {\mathcal {C}}^{T}}. 이는 {\displaystyle \operatorname {Adj} ({\mathcal {C}},T)}의 시작 대상이다.
* **에일렌베르크-무어 범주**(영어: Eilenberg–Moore category). 이는 {\displaystyle \operatorname {Adj} ({\mathcal {C}},T)}의 끝 대상이다.

#### 클라이슬리 범주

범주 {\mathcal {C}} 위의 모나드 {\displaystyle (T,\eta ,\mu )}의 **클라이슬리 범주** {\displaystyle {\mathcal {C}}\_{T}}는 다음과 같은 범주이다.

* {\displaystyle {\mathcal {C}}\_{T}}의 대상은 {\mathcal {C}}의 대상과 같다.
* {\displaystyle {\mathcal {C}}\_{T}}의 사상 X\to Y는 {\mathcal {C}} 속의 사상 {\displaystyle X\to TY}이다.
* {\displaystyle {\mathcal {C}}\_{T}}에서 사상의 합성은 다음과 같다. 임의의 {\displaystyle f\in \hom \_{\mathcal {C}}(X,TY)=\hom \_{{\mathcal {C}}\_{T}}(X,Y)}, {\displaystyle g\colon \hom \_{\mathcal {C}}(Y,TZ)=\hom \_{{\mathcal {T}}\_{C}}(Y,Z)}에 대하여,
{\displaystyle g\circ \_{T}f=\mu \_{Z}\circ Tg\circ f\in \hom \_{\mathcal {C}}(X,TZ)=\hom \_{{\mathcal {C}}\_{T}}(X,Z)}
* {\displaystyle {\mathcal {C}}\_{T}}에서의 항등 사상은 모나드 항등원이다.
{\displaystyle \operatorname {id} \_{X\_{T}}=\eta \_{X}\in \hom \_{\mathcal {C}}(X,TX)=\hom \_{{\mathcal {C}}\_{T}}(X,X)}

이 경우, 자연스럽게 함자

{\displaystyle F\colon {\mathcal {C}}\to {\mathcal {C}}\_{T}}
{\displaystyle F\colon X\mapsto X}
{\displaystyle F\colon (f\colon X\to Y)\mapsto (\eta \_{Y}\circ f)}
및

{\displaystyle G\colon {\mathcal {C}}\_{T}\colon {\mathcal {C}}}
{\displaystyle G\colon X\mapsto X}
{\displaystyle G\colon (f\colon X\to TY)\mapsto \mu \_{Y}\circ Tf}
를 정의할 수 있다. 이들은 수반 함자를 이룬다.

F\dashv G
또한

{\displaystyle T=G\circ F}
이므로 {\displaystyle (T,\eta ,\mu )}는 수반 (F,G)에 대응하는 모나드이다. 클라이슬리 범주의 원소는 보편대수학의 자유 대수를 일반화하는 것으로 생각할 수 있다.

클라이슬리 범주는 스위스의 수학자 하인리히 클라이슬리(독일어: Heinrich Kleisli, 1930~2011)가 도입하였다.

#### 에일렌베르크-무어 범주

범주 {\mathcal {C}} 위의 모나드 {\displaystyle (T,\eta ,\mu )}의 **에일렌베르크-무어 범주** {\displaystyle {\mathcal {C}}^{T}}는 T 위의 대수와 준동형들의 범주이다. 이에 대하여, 다음과 같은 망각 함자를 정의할 수 있다.

{\displaystyle G\colon {\mathcal {C}}^{T}\to {\mathcal {C}}}
{\displaystyle G\colon (A,\operatorname {eval} \_{A})\mapsto A}
{\displaystyle G\colon \left(f\colon (A,\operatorname {eval} \_{A})\to (B,\operatorname {eval} \_{B})\right)\mapsto (f\colon A\to B)}
마찬가지로, 다음과 같은 자유 대수 함자를 정의할 수 있다.

{\displaystyle F\colon {\mathcal {C}}\to {\mathcal {C}}^{T}}
{\displaystyle F\colon X\mapsto (TX,\mu \_{X})}
{\displaystyle F\colon (f\colon X\to Y)\mapsto \left(Tf\colon (TX,\mu \_{X})\to (TY,\mu \_{Y})\right)}
이들은 수반 함자를 이룬다.

F\dashv G
또한

{\displaystyle T=G\circ F}
이므로, {\displaystyle (T,\eta ,\mu )} 역시 (F,G)에 대응하는 모나드이다.

에일렌베르크-무어 범주는 사무엘 에일렌베르크와 존 콜먼 무어가 도입하였다.

#### 모나드 함자

수반 함자 {\displaystyle F\colon {\mathcal {C}}\to {\mathcal {D}}\colon G}에서, 만약 {\mathcal D}가 에일렌베르크-무어 범주 {\displaystyle {\mathcal {C}}^{G\circ F}}와 동치라면, G를 **모나드 함자**(영어: monadic functor)라고 한다. **벡 모나드성 정리**(영어: Beck’s monadicity theorem)에 의하면, 함자 G\colon {\mathcal D}\to {\mathcal C}가 모나드 함자가 되는 것은 다음 네 조건을 충족시키는 것과 동치이다.

* G은 왼쪽 수반 함자를 갖는다.
* G는 동형 사상을 반사시킨다. 즉, {\mathcal D}의 사상 f에 대하여 만약 {\displaystyle Gf}가 {\mathcal {C}}의 동형 사상이라면, f 역시 {\mathcal D}의 동형 사상이다.
* {\mathcal D}는 모든 G-분할 평행쌍의 쌍대동등자를 갖는다.
* G는 {\mathcal D}의 모든 G-분할 평행쌍의 쌍대동등자를 보존한다.

이는 조너선 목 벡(영어: Jonathan Mock Beck, 1935~2006)이 1967년 경 증명하였다.

예
-

범주 {\mathcal {C}} 위의 항등 함자 \operatorname {id}\_{{{\mathcal C}}}\colon {\mathcal C}\to {\mathcal C}는 모나드이다. 이 모나드 위의 대수는 (항등 사상이 갖추어진) {\mathcal {C}}의 대상 (A,\operatorname {id}\_{A})이다.

### 폐포

모나드의 대표적인 예는 폐포 연산자이다. 위상 공간 X의 집합들과 그 포함관계들의 범주 {\mathcal P}(X)를 생각하자. 그렇다면 폐포 연산자 \operatorname {cl}\colon {\mathcal P}(X)\to {\mathcal P}(X)는 함자를 이루며, 또한 다음과 같은 자연 변환들이 존재한다.

* (\eta ) S\subset \operatorname {cl}(S)
* (\mu ) \operatorname {cl}(\operatorname {cl}(S))=\operatorname {cl}(S)

이들은 모나드 공리들을 만족시킨다. 따라서 닫힘 연산자는 {\mathcal P}(X)의 모나드다. 이 모나드 위의 대수는 닫힌집합이다.

### 대수 구조 다양체

모나드의 다른 예로, 대수 구조 다양체를 들 수 있다. 대수 구조 다양체 V가 주어졌을 때, 함자 T\colon \operatorname {Set}\to \operatorname {Set}를 다음과 같이 정의하자.

* 집합 S에 대하여, TS는 S로부터 생성되는 자유 대수이다.
* 함수 f\colon S\to S' 및 항 t\in TS에 대하여, Tf(t)\in S'는 t 속에 등장하는 모든 상수 s\in S를 f(s)로 치환하여 얻는 항이다.

이 경우, 다음과 같이 모나드의 구조를 줄 수 있다.

* \mu \_{S}\colon TTS\to TS는 대수 TS 위의 자유 대수 TTS에서, TS에서 성립하는 등식들에 대하여 몫을 취하는 준동형이다.
* \eta \_{S}\colon S\to TS는 s\in S를, 하나의 상수로만 구성된 항으로 대응시킨다.

T 위의 대수는 V에 속한 대수 구조이다.

### 수반 함자

수반 함자

F\colon {\mathcal C}\to {\mathcal D}
G\colon {\mathcal D}\to {\mathcal C}
F\dashv G
\eta \colon \operatorname {id}\_{{{\mathcal D}}}\Rightarrow G\circ F
\epsilon \colon F\circ G\Rightarrow \operatorname {id}\_{{{\mathcal C}}}
가 주어졌을 때,

G\circ F\colon {\mathcal C}\to {\mathcal C}
는 항상 모나드를 이룬다. 이 경우, 모나드 항등 사상은 \eta 이며, 모나드 합성 사상은

G\epsilon F\colon G\circ F\circ G\circ F\Rightarrow G\circ F
이다.

### 콤팩트 하우스도르프 공간

집합 S에 대하여, TS가 S 위의 모든 극대 필터들의 집합이라고 하자. 함수 S\to S'에 대하여

Tf\colon TS\to TS'
Tf\colon {\mathcal U}\mapsto \{f(U)\colon U\in {\mathcal U}\}
로 놓으면, T\colon \operatorname {Set}\to \operatorname {Set}는 함자를 이룬다.

여기에 다음과 같은 자연 변환을 정의하자.

\eta \colon \operatorname {id}\_{{\operatorname {Set}}}\Rightarrow T
\eta \_{S}\colon s\mapsto \uparrow s=\{U\subseteq {\mathcal S}\colon s\in U\}
\mu \colon TT\Rightarrow T
V\in \mu \_{S}({\mathfrak U})\iff \uparrow V=\{{\mathcal F}\in TS\colon V\in {\mathcal F}\}\in {\mathfrak U}
그렇다면 이는 집합의 범주 위의 모나드를 이룬다.

이 모나드 위의 대수는 콤팩트 하우스도르프 공간과 같다. 구체적으로, (S,\lim )가 T 위의 대수라고 하자. 그렇다면, S 위에, 다음 조건을 만족시키는 위상을 줄 수 있다.

* 임의의 극대 필터 {\mathcal U}\in TS에 대하여, \lim {\mathcal U}\in S는 S 위의 위상에 따른 수렴과 일치한다.

이러한 위상은 유일하며, 또한 콤팩트 하우스도르프 위상임을 보일 수 있다.

이 모나드는 다음과 같은 수반 함자로부터 유래한다.

|\cdot |\colon \operatorname {CompHaus}\to \operatorname {Set}
\beta \colon \operatorname {Set}\to \operatorname {CompHaus}
\beta \dashv |\cdot |
여기서 \operatorname {CompHaus}는 콤팩트 하우스도르프 공간 및 연속 함수의 범주이고, |\cdot |은 콤팩트 하우스도르프 공간을 그 점들의 집합으로 대응시키는 함자이며, \beta는 어떤 집합에 이산 위상을 부여한 뒤 그 스톤-체흐 콤팩트화를 취하는 함자이다.

역사
--

로제 고드망이 1958년에 ‘표준 작도’(프랑스어: construction standard)라는 이름으로 도입하였다. 이후 "삼중"(영어: triple)이라는 이름으로 불리기도 했는데, 이는 모나드의 구성 성분 (T,\mu ,\eta )이 셋인 것에서 유래하였다. 이후 장 베나부(프랑스어: Jean Bénabou)는 ‘모나드’라는 용어를 도입하였고, 손더스 매클레인은 저서에서 이 용어를 사용하였다.

|  |  |  |
| --- | --- | --- |
| "| 이러한 뜻으로 ‘삼중’을 사용하는 것은 순서 삼중쌍과 쓸데없이 혼동을 극대화시켰다. 또한, ‘삼중 유도 함자’ 따위의 용어는 세상 어느 것으로부터도 세 번 거듭해서 유도된 함자가 아니다. 따라서 대신 ‘모나드’라는 용어를 사용하겠다.
The frequent but unfortunate use of the word "triple" in this sense has achieved a maximum of needless confusion, what with the conflict with ordered triple, plus the use of associated terms such as "triple derived functors" for functors which are not three times derived from anything in the world. Hence the term monad. | "|
|   | — :138 |

응용
--

하스켈 등 함수형 프로그래밍 언어에서 입출력 및 데이터 구조를 다룰 때 쓰인다.

참고 문헌
-----

1. ↑  Godement, R. (1958). 《Topologie algébrique et théorie des faisceaux》. Actualités scientifiques et industrielles (프랑스어) **1252** 1판. Hermann & Cie. Zbl 0080.16201.
2. ↑  Mac Lane, Saunders (1998). 《Categories for the working mathematician》. Graduate Texts in Mathematics (영어) **5** 2판. Springer. doi:10.1007/978-1-4757-4721-8. ISBN 978-1-4419-3123-8. ISSN 0072-5285. MR 1712872. Zbl 0906.18001.

* Hyland, Martin; Power, John (2007년 4월 1일). "The category theoretic understanding of universal algebra: Lawvere theories and monads". 《Electronic Notes in Theoretical Computer Science》 (영어) **172**: 437–458. doi:10.1016/j.entcs.2007.02.019.