Prerequisites: Category, Functor

Adjoints의 정의

어느 두 category 와 functor , 에 대해 다음 두 조건이 성립할 때 의 left adjoint 혹은 의 right adjoint 라고 하고 이라고 적는다.

(Isomorphism)

(Naturality)
에 대해 인 isomorphism 와 비슷하게 정의되는 을 가정하자. 이때 왼쪽 그림과 같은 에 대해 오른쪽의 식이 성립한다.

Example: Currying

Motivation

Currying은 다음과 같은 직관에서 출발한다. 어떤 이변수함수 을 생각해 보자. 이때 다음과 같이 결과값이 함수인 함수를 정의할 수 있다.

(즉, ) 그렇다면 이변수함수는 다음과 같이 함수의 연속된 적용으로 적을 수 있다.

이와 같이 다변수함수를 함수의 연속된 적용으로 적는 것을 Currying이라고 하고, 그 반대를 Uncurrying 이라고 한다. 이제 Currying과 adjoints의 관계성을 살펴보자.

Isomorphism

일반적으로 집합 에 대해 일반적으로 다음이 성립한다.

를 입력으로 받아 를 출력하는 함수와, 를 입력으로 받아 에서 로 가는 함수를 출력하는 함수 간에 일대일 대응이 존재한다. 구체적으로 를 다음과 같이 정의하자.

또한 그 inverse 를 다음과 같이 정의하자.

그러면 둘의 합성은 다음과 같이 된다.

따라서 이 둘은 실제로 inverse 이므로 앞선 두 집합은 isomorphic 하다.

Naturality

이제 을 집합 와 함수 에 대해서 다음과 같이 정의하자.

(Object-wise)

(Morphism-wise)

이하에서 아래첨자 는 생략한다. 이제 아래 그림을 생각해 보자.

이때 인지 살펴보자.

따라서 naturality 가 성립한다. 즉, 이다.

References

(1) Brendan Fong, David I. Spivak, Seven Sketches in Compositionality