모나드 (범주론)

범주론에서 모나드(영어: monad)는 내부 함자 범주의 모노이드 대상이다. 폐포연산과 대수 구조 다양체의 공통적인 일반화이다. C {\displaystyle {\mathcal {C}}} 가 범주라고 하자. 그렇다면 자기 함자 C → C {\displaystyle {\mathcal {C}}\to {\mathcal {C}}} 들을 대상으로 하고, 이들 사이의 자연 변환들을 사상으로 하는 자기 함자 범주 End ⁡ ( C ) {\displaystyle \operatorname {End} ({\mathcal {C}})} 를 생각하자. End ⁡ ( C ) {\displaystyle \operatorname {End} ({\mathcal {C}})} 는 모노이드 범주이며, 따라서 End ⁡ ( C ) {\displaystyle \operatorname {End} ({\mathcal {C}})} 속의 모노이드 대상을 생각할 수 있다. End ⁡ ( C ) {\displaystyle \operatorname {End} ({\mathcal {C}})} 의 모노이드를 C {\displaystyle {\mathcal {C}}} 의 모나드라고 한다. 구체적으로, 모나드는 다음과 같은 데이터로 이루어져 있다. 내부 준동형 함자 T : C → C {\displaystyle T\colon C\to C} (항등원) 자연 변환 η : 1 C ⇒ T {\displaystyle \eta \colon 1_{C}\Rightarrow T} ( 1 C {\displaystyle 1_{C}} 는 상수 함자) (합성) 자연 변환 μ : T 2 ⇒ T {\displaystyle \mu \colon T^{2}\Rightarrow T} 이들은 임의의 대상 A ∈ C {\displaystyle A\in {\mathcal {C}}} 에 대하여 다음 세 그림들을 가환되게 하여야 한다. (결합 법칙) 임의의 대상 A ∈ C {\displaystyle A\in {\mathcal {C}}} 에 대하여, T μ A ∘ μ A = μ T A ∘ μ A {\displaystyle T\mu _{A}\circ \mu _{A}=\mu _{TA}\circ \mu _{A}} . 즉, 다음 그림이 가환한다. T T T A → T μ T T A μ ↓ ↓ μ T T A → μ T A {\displaystyle {\begin{matrix}TTTA&{\xrightarrow {T\mu }}&TTA\\{\scriptstyle \mu }\downarrow &&\downarrow \scriptstyle \mu \\TTA&{\xrightarrow[{\mu }]{}}&TA\end{matrix}}} (항등원의 성질) 임의의 대상 A ∈ C {\displaystyle A\in {\mathcal {C}}} 에 대하여, η T A ∘ μ A = T η A ∘ μ A = id A {\displaystyle \eta _{TA}\circ \mu _{A}=T\eta _{A}\circ \mu _{A}=\operatorname {id} _{A}} . 즉, 다음 두 그림이 가환한다. T A → η T T A id ↘ ↓ μ T A T A → T η T T A id ↘ ↓ μ T A {\displaystyle {\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 : C → C {\displaystyle T\colon {\mathcal {C}}\to {\mathcal {C}}} 위의 대수(영어: algebra over T {\displaystyle T} ) ( A , eval ) {\displaystyle (A,\operatorname {eval} )} 는 다음과 같은 순서쌍이다. A ∈ C {\displaystyle A\in {\mathcal {C}}} 는 C {\displaystyle {\mathcal {C}}} 의 대상이다. ev : T A → A {\displaystyle \operatorname {ev} \colon TA\to A} 는 C {\displaystyle {\mathcal {C}}} 의 사상이다. 이는 다음 두 그림들을 가환하게 만들어야만 한다. T T A → μ T A ← η A T ev ↓ ↓ ev ↙ id T A → α A {\displaystyle {\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 T} 위의 두 대수 ( A , eval A ) {\displaystyle (A,\operatorname {eval} _{A})} , ( B , eval B ) {\displaystyle (B,\operatorname {eval} _{B})} 사이의 준동형 f : A → B {\displaystyle f\colon A\to B} 는 다음 그림을 가환하게 만드는 C {\displaystyle {\mathcal {C}}} -사상이다. T A → T f T B eval A ↓ ↓ eval B A → f B {\displaystyle {\begin{matrix}TA&{\xrightarrow {Tf}}&TB\\{\scriptstyle \operatorname {eval} _{A}}\downarrow &&\downarrow \scriptstyle \operatorname {eval} _{B}\\A&{\xrightarrow[{f}]{}}&B\end{matrix}}} 모나드 T {\displaystyle T} 위의 대수들과 그 사이의 준동형들의 범주를 T {\displaystyle T} 의 에일렌베르크-무어 범주(영어: Eilenberg–Moore category)라고 하며, C T {\displaystyle {\mathcal {C}}^{T}} 로 표기한다. 수반 함자로부터 항상 모나드를 정의할 수 있다. 그 역 역시 항상 성립한다. 즉, 범주 C {\displaystyle {\mathcal {C}}} 위의 모나드 ( T , η , μ ) {\displaystyle (T,\eta ,\mu )} 로부터 수반 함자를 정의할 수 있다. 사실, 이는 여러 가지로 가능하다. 범주 Adj ⁡ ( C , T ) {\displaystyle \operatorname {Adj} ({\mathcal {C}},T)} 를 다음과 같이 정의하자. Adj ⁡ ( C , T ) {\displaystyle \operatorname {Adj} ({\mathcal {C}},T)} 의 대상은 T {\displaystyle T} 를 유도하는 수반 함자이다. 즉, 수반 함자 ( F , G , e , ϵ ) {\displaystyle (F,G,e,\epsilon )} ( F : C → D : G {\displaystyle F\colon {\mathcal {C}}\to {\mathcal {D}}\colon G} ) 가운데, ( G ∘ F , e , G ∘ ϵ ∘ F ) = ( T , η , μ ) {\displaystyle (G\circ F,e,G\circ \epsilon \circ F)=(T,\eta ,\mu )} 인 것들이다. Adj ⁡ ( C , T ) {\displaystyle \operatorname {Adj} ({\mathcal {C}},T)} 의 사상은 수반 함자 사이의 사상 가운데, C {\displaystyle {\mathcal {C}}} 위의 함자가 항등 함자인 것들이다. 그렇다면, Adj ⁡ ( C , T ) {\displaystyle \operatorname {Adj} ({\mathcal {C}},T)} 는 적어도 다음 두 대상을 포함한다. 클라이슬리 범주(영어: Kleisli category) C T {\displaystyle {\mathcal {C}}^{T}} . 이는 Adj ⁡ ( C , T ) {\displaystyle \operatorname {Adj} ({\mathcal {C}},T)} 의 시작 대상이다. 에일렌베르크-무어 범주(영어: Eilenberg–Moore category). 이는 Adj ⁡ ( C , T ) {\displaystyle \operatorname {Adj} ({\mathcal {C}},T)} 의 끝 대상이다. 범주 C {\displaystyle {\mathcal {C}}} 위의 모나드 ( T , η , μ ) {\displaystyle (T,\eta ,\mu )} 의 클라이슬리 범주 C T {\displaystyle {\mathcal {C}}_{T}} 는 다음과 같은 범주이다. C T {\displaystyle {\mathcal {C}}_{T}} 의 대상은 C {\displaystyle {\mathcal {C}}} 의 대상과 같다. C T {\displaystyle {\mathcal {C}}_{T}} 의 사상 X → Y {\displaystyle X\to Y} 는 C {\displaystyle {\mathcal {C}}} 속의 사상 X → T Y {\displaystyle X\to TY} 이다. C T {\displaystyle {\mathcal {C}}_{T}} 에서 사상의 합성은 다음과 같다. 임의의 f ∈ hom C ⁡ ( X , T Y ) = hom C T ⁡ ( X , Y ) {\displaystyle f\in \hom _{\mathcal {C}}(X,TY)=\hom _{{\mathcal {C}}_{T}}(X,Y)} , g : hom C ⁡ ( Y , T Z ) = hom T C ⁡ ( Y , Z ) {\displaystyle g\colon \hom _{\mathcal {C}}(Y,TZ)=\hom _{{\mathcal {T}}_{C}}(Y,Z)} 에 대하여, g ∘ T f = μ Z ∘ T g ∘ f ∈ hom C ⁡ ( X , T Z ) = hom C T ⁡ ( X , Z ) {\displaystyle g\circ _{T}f=\mu _{Z}\circ Tg\circ f\in \hom _{\mathcal {C}}(X,TZ)=\hom _{{\mathcal {C}}_{T}}(X,Z)} C T {\displaystyle {\mathcal {C}}_{T}} 에서의 항등 사상은 모나드 항등원이다. id X T = η X ∈ hom C ⁡ ( X , T X ) = hom C T ⁡ ( X , X ) {\displaystyle \operatorname {id} _{X_{T}}=\eta _{X}\in \hom _{\mathcal {C}}(X,TX)=\hom _{{\mathcal {C}}_{T}}(X,X)} 이 경우, 자연스럽게 함자 F : C → C T {\displaystyle F\colon {\mathcal {C}}\to {\mathcal {C}}_{T}} F : X ↦ X {\displaystyle F\colon X\mapsto X} F : ( f : X → Y ) ↦ ( η Y ∘ f ) {\displaystyle F\colon (f\colon X\to Y)\mapsto (\eta _{Y}\circ f)} 및 G : C T : C {\displaystyle G\colon {\mathcal {C}}_{T}\colon {\mathcal {C}}} G : X ↦ X {\displaystyle G\colon X\mapsto X} G : ( f : X → T Y ) ↦ μ Y ∘ T f {\displaystyle G\colon (f\colon X\to TY)\mapsto \mu _{Y}\circ Tf} 를 정의할 수 있다. 이들은 수반 함자를 이룬다. F ⊣ G {\displaystyle F\dashv G} 또한 T = G ∘ F {\displaystyle T=G\circ F} 이므로 ( T , η , μ ) {\displaystyle (T,\eta ,\mu )} 는 수반 ( F , G ) {\displaystyle (F,G)} 에 대응하는 모나드이다. 클라이슬리 범주의 원소는 보편대수학의 자유 대수를 일반화하는 것으로 생각할 수 있다. 클라이슬리 범주는 스위스의 수학자 하인리히 클라이슬리(독일어: Heinrich Kleisli, 1930~2011)가 도입하였다. 범주 C {\displaystyle {\mathcal {C}}} 위의 모나드 ( T , η , μ ) {\displaystyle (T,\eta ,\mu )} 의 에일렌베르크-무어 범주 C T {\displaystyle {\mathcal {C}}^{T}} 는 T {\displaystyle T} 위의 대수와 준동형들의 범주이다. 이에 대하여, 다음과 같은 망각 함자를 정의할 수 있다. G : C T → C {\displaystyle G\colon {\mathcal {C}}^{T}\to {\mathcal {C}}} G : ( A , eval A ) ↦ A {\displaystyle G\colon (A,\operatorname {eval} _{A})\mapsto A} G : ( f : ( A , eval A ) → ( B , eval B ) ) ↦ ( f : A → B ) {\displaystyle G\colon \left(f\colon (A,\operatorname {eval} _{A})\to (B,\operatorname {eval} _{B})\right)\mapsto (f\colon A\to B)} 마찬가지로, 다음과 같은 자유 대수 함자를 정의할 수 있다. F : C → C T {\displaystyle F\colon {\mathcal {C}}\to {\mathcal {C}}^{T}} F : X ↦ ( T X , μ X ) {\displaystyle F\colon X\mapsto (TX,\mu _{X})} F : ( f : X → Y ) ↦ ( T f : ( T X , μ X ) → ( T Y , μ Y ) ) {\displaystyle F\colon (f\colon X\to Y)\mapsto \left(Tf\colon (TX,\mu _{X})\to (TY,\mu _{Y})\right)} 이들은 수반 함자를 이룬다. F ⊣ G {\displaystyle F\dashv G} 또한 T = G ∘ F {\displaystyle T=G\circ F} 이므로, ( T , η , μ ) {\displaystyle (T,\eta ,\mu )} 역시 ( F , G ) {\displaystyle (F,G)} 에 대응하는 모나드이다. 에일렌베르크-무어 범주는 사무엘 에일렌베르크와 존 콜먼 무어가 도입하였다. 수반 함자 F : C → D : G {\displaystyle F\colon {\mathcal {C}}\to {\mathcal {D}}\colon G} 에서, 만약 D {\displaystyle {\mathcal {D}}} 가 에일렌베르크-무어 범주 C G ∘ F {\displaystyle {\mathcal {C}}^{G\circ F}} 와 동치라면, G {\displaystyle G} 를 모나드 함자(영어: monadic functor)라고 한다. 벡 모나드성 정리(영어: Beck’s monadicity theorem)에 의하면, 함자 G : D → C {\displaystyle G\colon {\mathcal {D}}\to {\mathcal {C}}} 가 모나드 함자가 되는 것은 다음 네 조건을 충족시키는 것과 동치이다. G {\displaystyle G} 은 왼쪽 수반 함자를 갖는다. G {\displaystyle G} 는 동형 사상을 반사시킨다. 즉, D {\displaystyle {\mathcal {D}}} 의 사상 f {\displaystyle f} 에 대하여 만약 G f {\displaystyle Gf} 가 C {\displaystyle {\mathcal {C}}} 의 동형 사상이라면, f {\displaystyle f} 역시 D {\displaystyle {\mathcal {D}}} 의 동형 사상이다. D {\displaystyle {\mathcal {D}}} 는 모든 G {\displaystyle G} -분할 평행쌍의 쌍대동등자를 갖는다. G {\displaystyle G} 는 D {\displaystyle {\mathcal {D}}} 의 모든 G {\displaystyle G} -분할 평행쌍의 쌍대동등자를 보존한다. 이는 조너선 목 벡(영어: Jonathan Mock Beck, 1935~2006)이 1967년 경 증명하였다. 범주 C {\displaystyle {\mathcal {C}}} 위의 항등 함자 id C : C → C {\displaystyle \operatorname {id} _{\mathcal {C}}\colon {\mathcal {C}}\to {\mathcal {C}}} 는 모나드이다. 이 모나드 위의 대수는 (항등 사상이 갖추어진) C {\displaystyle {\mathcal {C}}} 의 대상 ( A , id A ) {\displaystyle (A,\operatorname {id} _{A})} 이다. 모나드의 대표적인 예는 폐포 연산자이다. 위상 공간 X {\displaystyle X} 의 집합들과 그 포함관계들의 범주 P ( X ) {\displaystyle {\mathcal {P}}(X)} 를 생각하자. 그렇다면 폐포 연산자 cl : P ( X ) → P ( X ) {\displaystyle \operatorname {cl} \colon {\mathcal {P}}(X)\to {\mathcal {P}}(X)} 는 함자를 이루며, 또한 다음과 같은 자연 변환들이 존재한다. ( η {\displaystyle \eta } ) S ⊂ cl ⁡ ( S ) {\displaystyle S\subset \operatorname {cl} (S)} ( μ {\displaystyle \mu } ) cl ⁡ ( cl ⁡ ( S ) ) = cl ⁡ ( S ) {\displaystyle \operatorname {cl} (\operatorname {cl} (S))=\operatorname {cl} (S)} 이들은 모나드 공리들을 만족시킨다. 따라서 닫힘 연산자는 P ( X ) {\displaystyle {\mathcal {P}}(X)} 의 모나드다. 이 모나드 위의 대수는 닫힌집합이다. 모나드의 다른 예로, 대수 구조 다양체를 들 수 있다. 대수 구조 다양체 V {\displaystyle V} 가 주어졌을 때, 함자 T : Set → Set {\displaystyle T\colon \operatorname {Set} \to \operatorname {Set} } 를 다음과 같이 정의하자. 집합 S {\displaystyle S} 에 대하여, T S {\displaystyle TS} 는 S {\displaystyle S} 로부터 생성되는 자유 대수이다. 함수 f : S → S ′ {\displaystyle f\colon S\to S'} 및 항 t ∈ T S {\displaystyle t\in TS} 에 대하여, T f ( t ) ∈ S ′ {\displaystyle Tf(t)\in S'} 는 t {\displaystyle t} 속에 등장하는 모든 상수 s ∈ S {\displaystyle s\in S} 를 f ( s ) {\displaystyle f(s)} 로 치환하여 얻는 항이다. 이 경우, 다음과 같이 모나드의 구조를 줄 수 있다. μ S : T T S → T S {\displaystyle \mu _{S}\colon TTS\to TS} 는 대수 T S {\displaystyle TS} 위의 자유 대수 T T S {\displaystyle TTS} 에서, T S {\displaystyle TS} 에서 성립하는 등식들에 대하여 몫을 취하는 준동형이다. η S : S → T S {\displaystyle \eta _{S}\colon S\to TS} 는 s ∈ S {\displaystyle s\in S} 를, 하나의 상수로만 구성된 항으로 대응시킨다. T {\displaystyle T} 위의 대수는 V {\displaystyle V} 에 속한 대수 구조이다. 수반 함자 F : C → D {\displaystyle F\colon {\mathcal {C}}\to {\mathcal {D}}} G : D → C {\displaystyle G\colon {\mathcal {D}}\to {\mathcal {C}}} F ⊣ G {\displaystyle F\dashv G} η : id D ⇒ G ∘ F {\displaystyle \eta \colon \operatorname {id} _{\mathcal {D}}\Rightarrow G\circ F} ϵ : F ∘ G ⇒ id C {\displaystyle \epsilon \colon F\circ G\Rightarrow \operatorname {id} _{\mathcal {C}}} 가 주어졌을 때, G ∘ F : C → C {\displaystyle G\circ F\colon {\mathcal {C}}\to {\mathcal {C}}} 는 항상 모나드를 이룬다. 이 경우, 모나드 항등 사상은 η {\displaystyle \eta } 이며, 모나드 합성 사상은 G ϵ F : G ∘ F ∘ G ∘ F ⇒ G ∘ F {\displaystyle G\epsilon F\colon G\circ F\circ G\circ F\Rightarrow G\circ F} 이다. 집합 S {\displaystyle S} 에 대하여, T S {\displaystyle TS} 가 S {\displaystyle S} 위의 모든 극대 필터들의 집합이라고 하자. 함수 S → S ′ {\displaystyle S\to S'} 에 대하여 T f : T S → T S ′ {\displaystyle Tf\colon TS\to TS'} T f : U ↦ { f ( U ) : U ∈ U } {\displaystyle Tf\colon {\mathcal {U}}\mapsto \{f(U)\colon U\in {\mathcal {U}}\}} 로 놓으면, T : Set → Set {\displaystyle T\colon \operatorname {Set} \to \operatorname {Set} } 는 함자를 이룬다. 여기에 다음과 같은 자연 변환을 정의하자. η : id Set ⇒ T {\displaystyle \eta \colon \operatorname {id} _{\operatorname {Set} }\Rightarrow T} η S : s ↦↑ s = { U ⊆ S : s ∈ U } {\displaystyle \eta _{S}\colon s\mapsto \uparrow s=\{U\subseteq {\mathcal {S}}\colon s\in U\}} μ : T T ⇒ T {\displaystyle \mu \colon TT\Rightarrow T} V ∈ μ S ( U ) ⟺ ↑ V = { F ∈ T S : V ∈ F } ∈ U {\displaystyle V\in \mu _{S}({\mathfrak {U}})\iff \uparrow V=\{{\mathcal {F}}\in TS\colon V\in {\mathcal {F}}\}\in {\mathfrak {U}}} 그렇다면 이는 집합의 범주 위의 모나드를 이룬다. 이 모나드 위의 대수는 콤팩트 하우스도르프 공간과 같다. 구체적으로, ( S , lim ) {\displaystyle (S,\lim )} 가 T {\displaystyle T} 위의 대수라고 하자. 그렇다면, S {\displaystyle S} 위에, 다음 조건을 만족시키는 위상을 줄 수 있다. 임의의 극대 필터 U ∈ T S {\displaystyle {\mathcal {U}}\in TS} 에 대하여, lim U ∈ S {\displaystyle \lim {\mathcal {U}}\in S} 는 S {\displaystyle S} 위의 위상에 따른 수렴과 일치한다. 이러한 위상은 유일하며, 또한 콤팩트 하우스도르프 위상임을 보일 수 있다. 이 모나드는 다음과 같은 수반 함자로부터 유래한다. | ⋅ | : CompHaus → Set {\displaystyle |\cdot |\colon \operatorname {CompHaus} \to \operatorname {Set} } β : Set → CompHaus {\displaystyle \beta \colon \operatorname {Set} \to \operatorname {CompHaus} } β ⊣ | ⋅ | {\displaystyle \beta \dashv |\cdot |} 여기서 CompHaus {\displaystyle \operatorname {CompHaus} } 는 콤팩트 하우스도르프 공간 및 연속 함수의 범주이고, | ⋅ | {\displaystyle |\cdot |} 은 콤팩트 하우스도르프 공간을 그 점들의 집합으로 대응시키는 함자이며, β {\displaystyle \beta } 는 어떤 집합에 이산 위상을 부여한 뒤 그 스톤-체흐 콤팩트화를 취하는 함자이다. 로제 고드망이 1958년에 ‘표준 작도’(프랑스어: construction standard)라는 이름으로 도입하였다. 이후 "삼중"(영어: triple)이라는 이름으로 불리기도 했는데, 이는 모나드의 구성 성분 ( T , μ , η ) {\displaystyle (T,\mu ,\eta )} 이 셋인 것에서 유래하였다. 이후 장 베나부(프랑스어: Jean Bénabou)는 ‘모나드’라는 용어를 도입하였고, 손더스 매클레인은 저서에서 이 용어를 사용하였다. 하스켈 등 함수형 프로그래밍 언어에서 입출력 및 데이터 구조를 다룰 때 쓰인다. Godement, R. (1958). 《Topologie algébrique et théorie des faisceaux》. Actualités scientifiques et industrielles (프랑스어) 1252 1판. Hermann & Cie. Zbl 0080.16201.  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.  “Triple”. 《Encyclopedia of Mathematics》 (영어). Springer-Verlag. 2001. ISBN 978-1-55608-010-4.  “Standard construction”. 《Encyclopedia of Mathematics》 (영어). Springer-Verlag. 2001. ISBN 978-1-55608-010-4.  “Monad”. 《nLab》 (영어).  “Comonad”. 《nLab》 (영어).  “Adjoint monad”. 《nLab》 (영어).  “Module over a monad”. 《nLab》 (영어).  “Monad with arities”. 《nLab》 (영어).  “Monoidal monad”. 《nLab》 (영어).  “Cartesian monad”. 《nLab》 (영어).  “Finitary monad”. 《nLab》 (영어).  “Monadicity theorem”. 《nLab》 (영어).  “Kleisli category”. 《nLab》 (영어).  “Eilenberg-Moore category”. 《nLab》 (영어).  Barr, Michael (2009년 4월 1일). “Re: Where does the term monad come from?” (영어). Category Theory List. 2014년 11월 10일에 원본 문서에서 보존된 문서. 2015년 6월 29일에 확인함.