맨위로가기

모나드 (범주론)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

모나드는 범주론에서 자기 함자(endofunctor)의 일종으로, 특정 종류의 자기 함자, 자연 변환(natural transformation) 및 일관성 조건(coherence condition)으로 구성된다. 수반 함자(adjoint functor)로부터 모나드를 정의할 수 있으며, 모든 모나드는 에일렌베르크-무어 범주(Eilenberg–Moore category)를 사용하여 함자의 명시적인 수반으로 나타낼 수 있다. 모나드는 대수 구조 다양체, 수반 함자, 콤팩트 하우스도르프 공간 등 다양한 수학적 구조를 정의하고 연구하는 데 사용되며, 함수형 프로그래밍 언어에서 부작용 처리 및 모듈성 향상에 기여한다. 모나드의 개념은 로제 고드망에 의해 처음 도입되었으며, 장 베나부에 의해 '모나드'라는 용어가 사용되었다.

더 읽어볼만한 페이지

  • 수반 함자 - 범주의 동치
    범주의 동치는 두 범주가 범주론적으로 "본질적으로 같다"는 관계를 나타내며, 이는 충실충만하고 본질적 전사 함자로 정의되고, 극한, 쌍대극한, 단사 사상, 전사 사상 등의 성질을 보존한다.
  • 수반 함자 - 반사 부분 범주
    반사 부분 범주는 범주 B의 충만한 부분 범주 A가 왼쪽 수반 함자를 가질 경우, 이 왼쪽 수반 함자를 반사 함자라고 하며, 극한과 쌍대극한의 성질 및 모나드와 관계를 갖는 범주론의 개념이다.
모나드 (범주론)
범주론
유형수학적 구조
분야범주론
수학
정의
정의자기 함자 T: C → C
단위 η: IdC → T
곱 μ: T² → T
조건μ ⋅ Tμ = μ ⋅ μT (결합 법칙)
μ ⋅ Tη = μ ⋅ ηT = 1T (단위 법칙)
다른 이름
다른 이름삼중체 (triple)
모노이드 (monoid)
삼조 (triad)
속성
속성범주론에서 자기 함자(endofunctor)와 두 개의 자연 변환으로 구성된 구조
관련 개념
관련 개념함자
수반 함자
모나드 (프로그래밍)
코모나드

2. 정의

범주 \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}

이 조건들은 가환 다이어그램을 사용하여 다음과 같이 표현할 수 있다.

--center



T\mu\mu T 표기에 대한 설명은 자연 변환 문서를 참조하거나, 다음 가환 다이어그램을 참조할 수 있다.

Image:Monad multiplication explicit.svgImage:Monad unit explicit.svg



첫 번째 공리는 \mu를 모노이드의 이항 연산으로 생각한다면, 모노이드에서의 결합 법칙과 유사하며, 두 번째 공리는 \eta에 의해 주어진 것으로 생각되는 항등원의 존재와 유사하다.

자기 함자 \operatorname{End}(\mathcal C)모노이드 범주이며, 따라서 \operatorname{End}(\mathcal C) 속의 모노이드 대상을 생각할 수 있다. \operatorname{End}(\mathcal C)의 모노이드를 \mathcal C의 '''모나드'''라고 한다.

모나드는 특정 종류의 자기 함자이다. 예를 들어, FG수반 함자 쌍이고, FG의 왼쪽 수반이면, 합성 G \circ F는 모나드이다. FG가 서로 역함수 관계에 있다면, 해당 모나드는 항등 함자이다. 일반적으로 수반 관계는 범주 동치가 아니며, 서로 다른 성격의 범주를 관련시킨다. 모나드 이론은 수반 관계가 무엇을 '보존'하는지 파악하기 위한 노력의 일부이다.

2. 1. 모나드 위의 대수

모나드 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 위의 두 대수 (A,\operatorname{eval}_A), (B,\operatorname{eval}_B) 사이의 '''준동형''' f\colon A\to B는 다음 그림을 가환하게 만드는 \mathcal C-사상이다.

:

\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영어)라고 하며, \mathcal C^T로 표기한다.[16] 에일렌베르크-무어 범주는 사무엘 에일렌베르크존 콜먼 무어가 도입하였다.

범주 \mathcal{C} 위의 모나드 (T,\eta,\mu)에 대해, \mathcal{C}의 대상 A와 사상 \alpha\colon TA\to A의 쌍을 ''T''-대수라고 한다. 또한, ''T''-대수 (A,\alpha)(B,\beta) 사이의 모르피즘 f\colon(A,\alpha)\to(B,\beta)\beta\circ Tf=f\circ\alpha를 만족하는 \mathcal{C}의 사상 f\colon A\to B로 정의한다. ''T''-대수와 그 사이의 모르피즘으로 이루어진 범주를 T의 '''에일렌베르크-무어 범주''' \mathbb{C}^T라 한다.

''T''-대수의 범주에 대해, 수반되는 함자 F^T\colon\mathcal{C}\to\mathbb{C}^TU^T\colon\mathbb{C}^T\to\mathcal{C}는 다음과 같이 정의된다.

  • F^T(x)=(Tx,\mu_x), F^T(f)=Tf
  • U^T(A,\alpha)=A, U^T(f)=f


정의로부터 U^T\circ F^T=T이며, 따라서 TF^TU^T에 수반하는 모나드이다.

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

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

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


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

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


모든 모나드는 에일렌베르크-무어 범주 C^T ( T-대수의 범주)를 사용하여 함자의 명시적인 수반으로 찾을 수 있다.[6]

임의의 수반은 모나드를 생성한다. 반대로, 모든 모나드는 어떤 수반, 즉 자유-잊혀짐 수반에서 발생한다.

:T(-) : C \rightleftarrows C^T : \text{forget}

여기서 왼쪽 수반은 객체 ''X''를 자유 ''T''-대수 ''T''(''X'')로 보낸다. 그러나 일반적으로 모나드를 생성하는 몇 가지 다른 수반이 있다. \mathbf{Adj}(C,T)(GF, e, G\varepsilon F)=(T,\eta,\mu)인 수반 (F,G,e,\varepsilon)을 객체로 하고, C에서 항등인 수반의 사상을 화살표로 하는 범주라고 할 때, 에일렌베르크-무어 범주 C^T와 관련된 위의 자유-잊혀짐 수반은 \mathbf{Adj}(C,T)에서 종대상이다. 초대상은 클라이슬리 범주인데, 이는 정의상 자유 ''T''-대수, 즉 ''C''의 어떤 객체 ''x''에 대해 T(x) 형태의 ''T''-대수만으로 구성된 C^T의 전체 부분 범주이다.

관수 F:\mathbb{C}\to\mathbb{D}G:\mathbb{D}\to\mathbb{C}가 수반, 즉 자연 동형 \varphi:\mathbb{D}(Fx,y)\simeq\mathbb{C}(x,Gy)가 존재하면, 관수 G\circ F:\mathbb{C}\to\mathbb{C}는 모나드가 된다. 여기서 모나드를 구성하는 \eta_x는 수반의 단위 사상, \mu_x는 수반의 여단위 \varepsilon_y를 사용하여 G\varepsilon_{Fx}로 정해진다.

수반 관수는 모나드를 수반하는 한편, 모든 모나드는 수반 관수의 합성으로 나타낼 수 있다. 범주 \mathbb{C} 위의 모나드 (T,\eta,\mu)에 수반하는 특별한 수반으로서, 에일렌베르크-무어 범주와 클라이슬리 범주에 대한 수반이 알려져 있다.

2. 2. 1. 클라이슬리 범주

클라이슬리 범주(Kleisli category영어) \mathcal C^T\operatorname{Adj}(\mathcal C,T)의 시작 대상이다. 이는 모나드로부터 구성되는 특별한 범주로, 자유 대수의 개념을 일반화한다.

범주 \mathcal C 위의 모나드 (T,\eta,\mu)의 클라이슬리 범주 \mathcal C_T는 다음과 같이 정의된다.

  • \mathcal C_T의 대상은 \mathcal C의 대상과 같다.
  • \mathcal C_T의 사상 X\to Y\mathcal C 속의 사상 X\to TY이다.
  • \mathcal C_T에서 사상의 합성은 다음과 같다. 임의의 f\in\hom_{\mathcal C}(X,TY)=\hom_{\mathcal C_T}(X,Y), g\colon\hom_{\mathcal C}(Y,TZ)=\hom_{\mathcal T_C}(Y,Z)에 대하여,
  • g\circ_Tf=\mu_Z\circ Tg\circ f\in\hom_{\mathcal C}(X,TZ)=\hom_{\mathcal C_T}(X,Z)
  • \mathcal C_T에서의 항등 사상은 모나드 항등원이다.
  • \operatorname{id}_{X_T}=\eta_X\in\hom_{\mathcal C}(X,TX)=\hom_{\mathcal C_T}(X,X)


이 경우, 다음과 같은 자연스러운 함자 FG를 정의할 수 있다.

:F\colon\mathcal C\to\mathcal C_T

:F\colon X\mapsto X

:F\colon (f\colon X\to Y)\mapsto(\eta_Y\circ f)

:G\colon\mathcal C_T\to\mathcal C

:G\colon X\mapsto X

:G\colon (f\colon X\to TY)\mapsto \mu_Y\circ Tf

이들은 수반 함자를 이루며, F\dashv G이다. 또한 T=G\circ F이므로, (T,\eta,\mu)는 수반 (F,G)에 대응하는 모나드이다.

클라이슬리 범주는 스위스의 수학자 하인리히 클라이슬리(Heinrich Kleislide, 1930~2011)가 도입하였다.[17]

2. 2. 2. 에일렌베르크-무어 범주

범주 \mathcal C 위의 모나드 (T,\eta,\mu)의 '''에일렌베르크-무어 범주''' \mathcal C^TT 위의 대수와 준동형들의 범주이다.

모나드 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 위의 두 대수 (A,\operatorname{eval}_A), (B,\operatorname{eval}_B) 사이의 '''준동형''' f\colon A\to B는 다음 그림을 가환하게 만드는 \mathcal C-사상이다.

:

\begin{matrix}

TA&\xrightarrow{Tf}&TB\\

{\scriptstyle\operatorname{eval}_A}\downarrow&&\downarrow\scriptstyle\operatorname{eval}_B\\

A&\xrightarrow[f]{}&B

\end{matrix}



이에 대하여, 다음과 같은 망각 함자를 정의할 수 있다.

:G\colon\mathcal C^T\to\mathcal C

:G\colon (A,\operatorname{eval}_A)\mapsto A

:G\colon \left(f\colon(A,\operatorname{eval}_A)\to(B,\operatorname{eval}_B)\right)\mapsto(f\colon A\to B)

마찬가지로, 다음과 같은 자유 대수 함자를 정의할 수 있다.

:F\colon\mathcal C\to\mathcal C^T

:F\colon X\mapsto (TX,\mu_X)

:F\colon (f\colon X\to Y)\mapsto\left(Tf\colon(TX,\mu_X)\to(TY,\mu_Y)\right)

이들은 수반 함자를 이룬다.

:F\dashv G

또한

:T=G\circ F

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

사무엘 에일렌베르크존 콜먼 무어가 도입하였다.[6] 모든 모나드는 함자의 명시적인 수반으로 찾을 수 있다.

클레이슬리 범주는 에일렌베르크-무어 범주와 함께 모나드를 생성하는 대상이다. 클레이슬리 범주는 정의상 자유 ''T''-대수, 즉 ''C''의 어떤 객체 ''x''에 대해 T(x) 형태의 ''T''-대수만으로 구성된 C^T의 전체 부분 범주이다.

2. 2. 3. 모나드 함자

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

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


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

벡의 모나드성 정리는 수반 관계가 모나드적이기 위한 필요충분조건을 제공한다. 이 정리의 단순화된 버전은 ''G''가 보존 함자(conservative functor)이거나 (즉, ''G''가 동형 사상을 반사한다. 즉, ''D''의 사상이 동형 사상인 것은 ''G'' 아래에서 그 상이 ''C''에서 동형 사상인 경우와 같다.) ''C''가 코이퀄라이저를 가지고 ''G''가 이를 보존하는 경우 ''G''가 모나드적이라고 말한다.[10]

예를 들어, 콤팩트 하우스도르프 공간의 범주에서 집합으로 가는 망각 함자는 모나드적이다. 그러나 모든 위상 공간에서 집합으로 가는 망각 함자는 보존적이지 않다. 왜냐하면 동형 사상이 아닌 (비콤팩트 또는 비하우스도르프 공간 사이의) 연속적인 전단사 사상이 존재하기 때문이다. 따라서 이 망각 함자는 모나드적이지 않다.[10]

3. 예

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

완비 격자 L 위의 사상 c \colon L \to L가 다음 조건을 만족할 때, c폐포 연산자라고 한다.

# x \leqq y이면 c(x) \leqq c(y)

# x \leqq c(x)

# c(c(x)) = c(x)

L과 순서 관계 ≦이 이루는 구조를 범주로 간주할 때, 조건 1과 순서 관계의 성질로부터 c함자로 생각할 수 있다. 또한, 순서 집합을 범주로 간주하면 각 대상 간의 사상은 많아야 하나이다. 이 사실과 조건 2, 3을 사용하면, cL 위의 모나드의 조건을 만족한다.

집합의 범주 '''Set''' 위의 함자 ''T'': '''Set''' → '''Set'''를 TA:=\coprod_{n\geq 0}A^n로 정의한다. 즉, ''TA''는 ''A''의 요소의 유한 길이 목록 [''a''1, ''a''2, ..., ''a''n] 전체로 이루어진 집합이다. 이때, ''η''''A'': ''A'' → ''TA''를 ''a'' ↦ [''a'']로, ''μ''''A'': ''T'' 2''A'' → ''TA''를 목록의 결합으로 정의하면, ''T''는 '''Set''' 위의 모나드가 된다. 이것을 '''자유 모노이드 모나드''' 또는 '''리스트 모나드'''라고 부른다.

3. 1. 폐포

위상 공간 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)의 모나드다. 이 모나드 위의 대수는 닫힌집합이다.

반순서 집합 (P, \le)에서 파생된 범주( x에서 y로의 사상이 필요충분 조건 x \le y인 경우)의 경우, 형식은 훨씬 간단해진다. 수반 쌍은 갈루아 연결이며 모나드는 폐포 연산자이다.[15]

3. 2. 대수 구조 다양체

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

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


이때 모나드의 구조는 다음과 같다.

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


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

3. 3. 수반 함자

수반 함자 F: C \rightleftarrows D : G는 ''C'' 위에 모나드를 생성한다. 이때 자기 함자는 다음과 같이 합성된다.

:T = G \circ F.

이 자기 함자는 모나드임이 쉽게 확인되며, 여기서 단위 사상은 수반의 단위 사상 \operatorname{id}_C \to G \circ F에서 비롯되고, 곱셈 사상은 수반의 코단위 사상을 사용하여 다음과 같이 구성된다.

:T^2 = G \circ F \circ G \circ F \xrightarrow{G \circ \text{counit} \circ F} G \circ F = T.

사실, '''모든 모나드는 Eilenberg–Moore 범주''' C^T (T-대수의 범주)를 사용하여 '''함자의 명시적인 수반으로 찾을 수 있다'''.[6]

관수 F:\mathbb{C}\to\mathbb{D}G:\mathbb{D}\to\mathbb{C}가 수반, 즉 자연 동형 \varphi:\mathbb{D}(Fx,y)\simeq\mathbb{C}(x,Gy)가 존재할 때, 관수 G\circ F:\mathbb{C}\to\mathbb{C}는 모나드가 된다. 여기서 모나드를 구성하는 \eta_x는 수반의 단위 사상, \mu_x는 수반의 여단위 \varepsilon_y를 사용하여 G\varepsilon_{Fx}로 정해진다.

수반 관수는 모나드를 수반하는 한편, 모든 모나드는 수반 관수의 합성으로 나타낼 수 있다. 범주 \mathbb{C} 위의 모나드 (T,\eta,\mu)에 수반하는 특별한 수반으로서, Eilenberg–Moore 범주 \mathbb{C}^T와 클라이슬리 범주 \mathbb{C}_T에 대한 수반이 알려져 있다.

3. 4. 콤팩트 하우스도르프 공간

벡의 모나드성 정리에 따르면, 콤팩트 하우스도르프 공간 범주에서 집합 범주로 가는 망각 함자는 모나드적이다.[10]

4. 역사

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

5. 응용

하스켈과 같은 함수형 프로그래밍 언어에서 모나드는 입출력 및 데이터 구조를 다루는 데 쓰인다.[11][12] 함수형 프로그래밍에서 모나드는 계산의 부작용(side effect)을 안전하게 처리하고, 프로그램의 모듈성을 높이는 데 중요한 역할을 한다.

함수형 프로그래밍에서 사용되는 모나드의 예시는 다음과 같다:


  • '''메이비(Maybe) 모나드''': 부분 함수나 실패할 수 있는 계산을 모델링한다.
  • '''상태(State) 모나드''': 상태를 가진 계산을 모델링한다.
  • '''리더(Reader) 모나드''' (또는 '''환경 모나드'''): 읽기 전용 데이터에 접근하는 계산을 모델링한다.
  • '''리스트(List) 모나드''' (또는 '''비결정론적 모나드'''): 비결정론적 계산을 모델링한다.


모나드는 불순 함수형 및 명령형 프로그래밍 언어의 지시적 의미론에도 사용된다.[11][12]

범주 논리에서, 모나드-코모나드 이론과 모달 논리 사이의 유추는 폐포 연산자, 내부 대수, S4 대수 및 직관주의 논리의 수학적 모델과의 관계를 통해 이루어졌다.

참조

[1] 웹사이트 https://golem.ph.ute[...]
[2] 간행물 Toposes, Triples and Theories http://www.tac.mta.c[...] Springer-Verlag
[3] 학술지 Iterated Covariant Powerset is not a Monad
[4] 서적 Introduction to bicategories Springer 1967
[5] 웹사이트 RE: Monads http://article.gmane[...] 2009-04-04
[6] 웹사이트 Category Theory in Context https://math.jhu.edu[...]
[7] 학술지 Monadic functors and convexity
[8] 학술지 André–Quillen cohomology of commutative S-algebras 1999-12-15
[9] 기타
[10] 기타
[11] 서적 Monads for functional programming Springer 1993
[12] 학술지 Monads in Semantics 1998-01-01
[13] 학술지 Introduction to bicategories https://link.springe[...] Springer 1967
[14] 웹사이트 RE: Monads http://article.gmane[...] gmane 2015-03-26
[15] 학술지 The Closure Operators of a Lattice https://www.jstor.or[...] 1942
[16] 학술지 Adjoint functors and triples https://projecteucli[...] 1965-09-01
[17] 학술지 Every Standard Construction is Induced by a Pair of Adjoint Functors https://www.jstor.or[...] 1965
[18] 서적 Topologie algébrique et théorie des faisceaux Hermann & Cie 1958
[19] 서적 Categories for the working mathematician Springer 1998



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com