데카르트 닫힌 범주(Cartesian closed category)
끝 대상(terminal object)과 곱이 있고, 모든 두 대상 A, B에 'A에서 B로 가는 화살표들'을 모은 대상 Bᴬ가 있어 Hom(C × A, B) ≅ Hom(C, Bᴬ)가 성립하는 범주(category). 커링(currying)이 가능한 세계이며, 순서쌍(ordered pair)을 가진 단순 타입 람다 계산(simply typed lambda calculus)과 '그리고·이면·참'만 쓰는 직관주의(intuitionism) 명제 논리(propositional logic)가 정확히 이 구조에 대응한다.
두 수를 더하는 함수(function) add(x, y) = x + y를 조금 다르게 볼 수 있습니다. x를 받으면 'y를 받아 x + y를 돌려주는 함수'를 돌려주는 함수로 보는 것입니다. add 3은 '3 더하기'라는 함수이고, 그것에 4를 넣으면 7입니다. 두 인자 함수를 '한 인자 함수를 돌려주는 함수'로 바꾸는 이 일을 커링(currying)이라 합니다. 논리학자 해스켈 커리의 이름을 땄지만, 모제스 쇤핑켈이 1924년에, 더 앞서 프레게가 이미 썼습니다. 유한 집합(set)으로 세어 보면 정확한 대응이 보입니다. A = {0, 1, 2}, B = {0, 1}, C = {0, 1}이라 하면 A × B → C 함수는 여섯 칸짜리 표를 0과 1로 채우는 방법이라
데카르트 닫힌 범주(cartesian closed category)는 이 일이 가능한 범주입니다. 끝 대상 1과 모든 두 대상의 곱 A × B가 있고(보편 성질, universal property), 모든 A, B에 대해 '지수 대상(exponential object)'
입니다. C = 1로 두면
집합과 함수의 범주는 데카르트 닫힌 범주입니다.
군의 범주와 벡터 공간(vector space)의 범주는 데카르트 닫힌 범주가 아닙니다. 이 둘에서는 원소 하나짜리 대상이 끝 대상이면서 동시에 시작 대상입니다. 그러면
이 구조가 중요한 까닭은 단순 타입 람다 계산이 정확히 이 구조이기 때문입니다. 순서쌍 타입(type)과 단위 타입(unit type)을 가진 단순 타입 람다 계산에서 타입을 대상으로, '변수 x: A가 주어졌을 때 타입 B의 항'을 A → B 화살표로 두면 데카르트 닫힌 범주가 됩니다. 이때 아래의 βη-규칙으로 같아지는 항은 같은 화살표로 봅니다. 순서쌍 만들기는 곱의 ⟨f, g⟩, λ-추상화는 커링 λf, 함수 적용은
이 틀에서 대각선 논법(diagonal argument)들이 한 정리로 모입니다. 1969년 로베어가 증명한 고정점 정리(fixed-point theorem)는, 데카르트 닫힌 범주에서 화살표
프로그래밍에서 데카르트 닫힌 구조는 함수를 값으로 다루는 능력입니다. 함수를 인자로 넘기고, 함수를 돌려주고, 인자 일부만 먼저 넣어 새 함수를 만드는 일(부분 적용, partial application)이 모두 지수 대상과 커링입니다. Haskell에서는 모든 함수가 기본으로 커링되어 있어 add 3이 그대로 함수입니다. 다만 끝나지 않는 계산 같은 것 때문에 실제 언어가 이 구조를 엄밀히 만족하지는 않습니다. 상태 모나드(monad)
이어지는 곳. 곱과 끝 대상의 정의는 보편 성질에, 커링이 수반이라는 관점은 수반 함자에 있습니다. 이 구조를 언어로 적은 것이 단순 타입 람다 계산이고, 타입을 명제로 읽으면 커리–하워드 대응, 순서로 읽으면 배중률이 없는 직관주의 논리입니다. 지수법칙
이 개념이 나오는 긴 글
이 개념 위에 세워진 것
이 개념을 언급하는 페이지
- 러셀의 역설
… 모순임이 드러났습니다. 1969년 로베어는 칸토어, 러셀, 괴델, 튜링의 대각선 논법을데카르트 닫힌 범주의 고정점 정리 하나로 묶어, 이 논증들이 같은 구조임을 보였습니다. 러셀의 역설 같은 모순이 드러나자 …
- 타입 이론
… 타입과 함수가 이루는 구조를 따로 떼어 보면 범주론이 되고, 곱 타입을 갖춘 단순 타입 람다 계산이데카르트 닫힌 범주의 내부 언어라는 사실이 두 세계를 잇습니다. 타입 이론으로 수학을 적고 기계로 확인하는 일은 ⟦증명 …
- 단순 타입 람다 계산
… 장난감이 아닙니다. 곱 타입 A \times B 와 원소 하나짜리 타입 1을 더한 단순 타입 람다 계산은데카르트 닫힌 범주의 내부 언어라서, 집합과 함수, 영역 이론의 공간, 논리의 증명 등 서로 다른 세계를 한꺼번에 …
- 커리–하워드 대응
… 같은 생각을 따로 썼습니다. 1960년대 말부터 캐나다의 요아힘 람베크가 여기에데카르트 닫힌 범주를 셋째 기둥으로 더해, 커리–하워드–람베크 대응이라고도 부릅니다. 고전 논리에는 계산이 없을까요? …
- 범주론
… 법칙을 확인하기가 훨씬 까다로워집니다. 이 범주에 어떤 구조가 있어야 함수를 값처럼 다룰 수 있는지가데카르트 닫힌 범주와 타입 이론의 주제입니다. 범주론은 대상의 속을 들여다보지 않고 화살표만으로 말합니다. 화살표 f: …
- 보편 성질: 곱, 쌍대곱, 극한
… 대각 함자 X ↦ (X, X)의 오른쪽 수반입니다. 곱과 함께 '함수들의 대상'까지 보편 성질로 정의하면데카르트 닫힌 범주가 됩니다. 자유 모노이드의 '하나뿐인 연장'도 보편 성질입니다. 순서에서의 곱과 쌍대곱은 ⟦불 …
- 수반 함자
… 와 정확히 하나씩 대응합니다. 곧 (-\times B)\dashv(-)^B 이고, 이 수반이 있는 범주가데카르트 닫힌 범주입니다. 수반의 가장 쓸모 있는 정리는 이것입니다. 오른쪽 수반은 극한을 보존하고, 왼쪽 수반은 쌍대극한을 …
- 모나드
… 또 하나의 범주입니다. 모나드가 어디서 오는지는 수반 함자가, 상태 모나드가 왜 함수 모양인지는데카르트 닫힌 범주의 커링이 설명합니다. 확률 분포의 모나드는 조건부 확률과 마르코프 연쇄를 한 가지 합성으로 …
- 선형 논리와 선형 타입
… 범주에는 모든 대상에 복사 A \to A \times A 와 버리기 A \to 1 가 자연스럽게 있어서데카르트 닫힌 범주가 직관주의 논리(∧와 →로 된 조각)의 모형이 됩니다. 반면 벡터 공간과 텐서곱처럼 이런 복사가 없는 …
- 영역 이론: 스콧과 재귀의 의미
… 함수에 최소 고정점이 있고, 람다 계산에서 재귀를 만들어 주는 항인 Y 조합자가 정확히 그것을 계산합니다.데카르트 닫힌 범주페이지에서 말한 D ≅ D D 가 이것입니다. 영국 컴퓨터 과학자 크리스토퍼 스트레이치와 스콧은 …
- 모노이드 범주와 끈 그림
… W) 와 대응합니다. 곱 대신 텐서곱으로 커링하는 이런 범주를 닫힌 모노이드 범주라 하며,데카르트 닫힌 범주가 그 특별한 경우입니다. 두 가지 오해를 짚어 둡니다. 모노이드 범주는 '모노이드인 범주'가 아닙니다. …
- 토포스: 집합을 닮은 우주
… 마일스 티어니가 내놓은 정의에 따르면, 유한 극한(곱과 동등자, 끝 대상)이 있고, 지수 대상이 있어데카르트 닫힌 범주이며, 부분 대상 분류자 Ω를 가진 범주가 (기본) 토포스입니다. 이것만으로 멱집합에 해당하는 대상 …