최근 수정 시각 : 2026-07-09 09:58:14

범주론


[[수학/분야|'''수학의 분과
{{{#!wiki style="font-family: Times New Roman, serif; display: inline;"
]]
{{{#!wiki style="margin: 0 -10px -5px; min-height:calc(1.5em + 5px)"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px"
<bgcolor=#6600ff> 수학기초론 수리논리학(모델 이론 · 증명 이론) · 집합론 · 순서론 · 타입 이론 · 범주론(고차 범주론 · 토포스 이론) · 계산 이론(오토마타 이론)
대수학 고전대수학 · 추상대수학 · 가환대수학 · 선형대수학 · 대수기하학(호몰로지 이론) · 표현론 · 보편 대수학
정수론 초등적 정수론 · 대수적 정수론 · 해석적 정수론
해석학 미적분학 · 실해석학 · 복소해석학 · 복소 동역학 · 측도론 · 조화해석학 · 함수해석학 · 해석 기하학 · 범함수 미적분학 · 미분기하학 · 수치해석학 · 분수계 미적분학 · 해석적 정수론 · 카오스 이론
기하학 유클리드 기하학(논증기하학) · 해석 기하학(미분기하학) · 대수기하학(호몰로지 이론) · 비유클리드 기하학 · 비가환 기하학 · 정보기하학
위상수학 일반 위상수학 · 점-집합 위상수학 · 매듭이론 · 대수위상수학
확률론(통계학) · 이론 컴퓨터 과학(형식언어론) · 이산수학(조합론) · 공업수학 · 수리물리학 · 수리경제학
틀:과학의 범위 · 틀:형식과학 · 수학 관련 정보 }}}}}}}}}

[[범주론|'''범주론
{{{#!wiki style="font-family: Times New Roman, serif; display: inline"
]]
{{{#!wiki style="min-height: calc(1.5em + 5px); margin: 0 -10px -5px"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px"
<colbgcolor=#2f4c52,#2f4c52><colcolor=#fff,#fff> 개념 범주(종류 · 여러 가지 범주) · 대상(부분 대상) · 사상(정의역과 공역 · Hom · 항등 사상 · 동형 사상) · 함자(항등 함자 · Hom-함자 · 범주의 동치) · 자연 변환(자연 동형) · 보편 성질 · 퀴버(quiver) · 자기 동형 사상군
범주의 종류 및 구성 곱범주 · 콤마 범주(조각 범주) · 자유 범주 · 준군(groupoid)(기본준군) · 반대 범주 · 함자 범주(화살 범주)
극한 극한쌍대극한op · 시작op(영대상 · 영사상) · 쌍대곱op · 이퀄라이저()↔코이퀄라이저op(공핵) · 당김op · 완비 범주
하위 분야 범주론적 대수학 · 고차 범주론 · 풍성 범주론(enriched category theory) · 토포스 이론 · 대수적 집합론
기타 교재(Categories for the Working Mathematician) · abstract nonsense · 가환 다이어그램 · 쌍대성
틀:수학기초론 · 틀:대수학 · 수학 관련 정보 }}}}}}}}}

1. 개요2. 내용3. 분야4. 교재5. 여담6. 관련 문서7. 둘러보기

1. 개요

, [1] / category theory

수학 전반에서 등장하는 각종 수학적 구조와 그들 간의 관계를 메타 개념으로 생각하여, 그들을 범주(category)라는 추상적인 개념으로 묶어서 다루는 이론. 쉽게 말하여 수학의 한 분야 자체를 하나의 수학적 구조로 바라보는 이론이다. 본래는 대수학 및 대수위상수학에서의 필요에 의해 창시되고 체계화하였지만, 점차 토포스 이론, 층 이론, 타입 이론 등 깊고 깊은 세부 및 연계 분야가 발전해나가며 수많은 분야에 영향을 끼치고 공리적 집합론의 대안으로까지 거론되는 등 현대수학의 뼈대가 되는 핵심 이론으로 주목받고 있다.

오늘날 범주론은 추상대수학을 비롯하여 수학의 많은 분야를 다루고 있으며, 특히 이론 컴퓨터 과학이나 수학기초론, 수리물리학과의 연관성이 대두되고 있다. 이외에 범주 이론, 권론(圈論), 카테고리 이론 등의 명칭으로도 불린다.

2. 내용

수학과 학부 전공심화과정 이상의 수준에서 대수학위상수학 등을 일정 수준 이상으로 공부하다 보면[2], 배우는 분야마다 해당 분야에서 관심이 있는 '특정 구조를 가지는 집합'들과 '그 집합들 사이의 대응관계'라는 비슷한 구조가 나타나며 심지어는 자기가 읽고 있는 교과서가 여러 가지 논리전개나 서술 방식을 우려먹는(?)다는 느낌도 받게 된다. 예를 들면, 현대대수학 교과서에서 ()과 군(환) 사이의 준동형 사상 혹은 동형 사상, 선형대수학 교과서에서 벡터 공간 사이의 선형 변환, 위상수학 교과서에서 위상 공간 사이의 연속함수 등을 다루는 것을 오랫동안 음미하다보면 사상, 변환, 함수들 간에 어떤 특정한 패턴이 약간의 용어나 서술방식만 달리한 채 반복되고 있다는 점을 알 수 있다. 항등 사상이 항상 저런 특정한 '집합들 사이의 대응관계', 혹은 속칭 '모피즘' 내지는 '화살표' 중 하나에 속한다든가 화살표와 화살표의 합성 또한 화살표라는 것도 있지만, 이런 기초적인 것 말고도 몇몇 독특한 구조들이 서로 상관 없어 보이는 분야 여기저기서 나타난다. 가장 대표적인 예로 split exact sequence를 들 수 있고, universal object라는 구조[3]도 좋은 예에 속한다. 화살표들을 갖고 놀다 보면(...) 이런 예들을 심심찮게 찾을 수 있다. 니콜라 부르바키의 정체 중 하나였던 사무엘 에일렌베르크(Samuel Eilenberg)와 손더스 맥레인(Saunders Mac Lane)이 대수적 위상수학, 특히 호몰로지 이론을 연구하면서 이러한 각 수학 분야들에서 부지기수로 나타나는 공통된 구조를 다시 한번 추상화시켜서 다룰 수 있지 않을까 하는 데에 착안하여 범주(category)라는 개념을 도입하게 된다.

범주론에서 다루는 범주(category)는 쉽게 말하면 아주 간단한 몇몇 조건을 만족시키는 대상(object)과 그 대상들 사이의 관계를 나타내는 사상(morphism)의 모음인데, 이 대상과 사상은 그 조건만 만족시키면 말 그대로 무엇이든 가능해서, 대상은 굳이 어떠한 집합일 필요가 없고 사상도 굳이 어떠한 함수일 필요도 없다. 물론 이렇게 정의된 범주들 사이의 대응관계도 생각해 볼 수 있는데, 두 범주를 대응시키는 사상을 '함자(functor)'라고 한다. 물론 이 범주들과 함자들을 또 하나의 범주로 보고(...) 범주의 범주를 정의할 수도 있다.


범주론을 전공한 수학자 겸 피아니스트 겸 작가인 유지니아 쳉(Eugenia Cheng) 박사가 전세계 함수형 프로그래머들의 정모인 '람다 월드 2017'에 참석하여 가진 프리젠테이션 영상. 본업이 프로그래머가 아니다보니 어려운 프로그래밍에 관한 주제보다는 비전공자를 위한 실생활 속 예시를 들며 범주론 소개에 치중한 내용이라 비전공자에게도 영어가 들린다면 범주론에 대해 흥미를 돋구기 좋다.

이렇듯 고도로 추상적인 분야이지만, 알렉산더 그로텐디크장피에르 세르를 필두로 대니얼 퀼런, 데이비드 멈포드, 마이클 아틴, 샤를 에레스만, 로제 고드망 등 필즈 메달리스트급의 대가부터 요네다 노부오, 다니엘 칸 등 오늘날 범주론 교과서에 등장하는 주인공들에 이르기까지 20세기 수학의 수많은 거목들이 기존 집합론이 한계를 보여줬던 많은 분야에서 범주론을 대안삼아 현대수학의 오만 분야에서 써먹기 시작[4][5]했다. 마냥 순수수학만의 문제인가 싶었지만, 20세기 중후반부터는 컴퓨터과학과 같은 응용 학문에서도 범주론을 끌어다 쓰는 판이다.[6] 오히려 어떤 면에서는 대수학 전공자가 아니라 덕력 높은 프로그래머 및 컴퓨터 사이언티스트들이 범주론을 논하는 업계 학계의 주류로 발돋움하고 있는 게 아닌지 갸우뚱할 지경이나, 사실은 프로그래머들도 어지간한 내공이 쌓이지 않으면 수학을 이 정도로까지 체화하고 함수형 프로그래밍을 능수능란하게 해낼 정도는 되지 않기에 흔한 코딩 부트캠프에서 범주론을 마스터한 함수형 프로그래머를 찍어낼 수는 없다. 대신 위의 유지니아 쳉 같은 순수수학자들도 밥벌이는 말할 것도 없고 학문적 필요에 의해 프로그래밍을 공부해야 하는 지경이 되었는데, 이런 점에서는 범주론이 수학, 수리논리학, 컴퓨터과학 등의 학제간 연구분야가 되어간다고 볼 수도 있을 것이다. 대표적으로 함수형 프로그래밍 언어 Haskell에서는 범주론에 등장하는 개념들과(특히 Functor) 모노이드나 세미그룹같은 대수학적 개념까지 아주 중요하게 사용되며, 이 하스켈이나 Scala를 비롯한 함수형 프로그래밍 언어를 완벽하게 써먹을 정도로 숙련된 전문가들은 수학 전공자나 그에 맞먹는 수리논리학적, 대수학적 내공을 쌓은 컴퓨터 과학자들이 대부분이다. 이 분야 거장 중 하나인 스티브 아우디(Steve Awodey)는 오리건 대학 여름 강의에서 범주론이 크게 람다대수 등 논리학적 관점과 대수학의 관점이라는 두 갈래 관점으로 나뉘면서도 이 둘은 상호보완적이라고 지적했는데, 프로그래머들의 관점은 후자보다는 전자에 해당한다 할 수 있겠다. 하지만 범주론은 결국 대수적 구조를 다룰 때 비슷한 패턴으로 반복되어 나타나는 현대대수학의 클리셰에서 출발하는 내용이므로 결국 함수형 프로그래밍을 깊이 학습하고자 하는 컴퓨터 사이언티스트프로그래머들은 대수학에 대한 상당한 수준의 역량을 갖출 것이 요구되고 있다.

3. 분야

파일:상세 내용 아이콘.svg   자세한 내용은 범주론/분야 문서
#!if (문단 == null) == (앵커 == null)
를
#!if 문단 != null & 앵커 == null
의 [[범주론/분야#s-|]]번 문단을
#!if 문단 == null & 앵커 != null
{{{#!if 문서명 = 문서명 != null ? 문서명 : calleeTitle
의 [[범주론/분야#|]] 부분을}}}
참고하십시오.

4. 교재

파일:상세 내용 아이콘.svg   자세한 내용은 범주론/교재 문서
#!if (문단 == null) == (앵커 == null)
를
#!if 문단 != null & 앵커 == null
의 [[범주론/교재#s-|]]번 문단을
#!if 문단 == null & 앵커 != null
{{{#!if 문서명 = 문서명 != null ? 문서명 : calleeTitle
의 [[범주론/교재#|]] 부분을}}}
참고하십시오.

5. 여담

알렉산더 그로텐디크니콜라 부르바키꼰대 선배들이 범주론의 접근법 및 언어를 원론 시리즈 저술에 있어 잘 써먹지 않으려 하자 아예 탈퇴해버리고 오랜 기간을 부르바키까로 지냈지만, 그로텐디크의 제자들 중 몇몇은 훗날 부르바키에 가입하기도 했다. 이처럼 범주론은 20세기 중반 즈음 부르바키를 난장판으로 만든 뜨거운 감자 중 하나였는데, 그로텐디크처럼 부르바키를 그만두고 안티로 돌아선 탈퇴자 중 대부분이 범주론에 대해 호의적인 입장이었다고 봐도 무방할 정도였다. 이를 보다 못한 손더스 맥레인이 이런 논쟁에서 지나치게 까이던 범주론을 실드쳐보려고 미국에서 프랑스로 넘어와 정모에 참석해봤으나 험악한 논쟁에 끼어들기엔 프랑스어가 서툴러서(...) 별로 큰 역할을 하지는 못했다고.

영미권에서 범주론을 공부하는 사람들은 Category를 Cat이라고 줄여 부르는 경우가 많다. 인기 있는 교과서가 The Joy of Cats라는 이름을 달고 있을 정도. 물론 근본적으로는 필기에서 글자수를 아끼기 위함이지만, 화살표를 갖고 고양이를 그리며 놀거나 중성화수술(...) 짤방을 갖고 함자를 설명하는 등 사실상 공식처럼 쓰이는 이다. 범주론 전공 대학원생이 졸업을 못하면 Crazy Cat Lady가 되는 걸까

"수학자는 커피를 정리로 만드는 기계이다"(A mathematician is a machine for turning coffee into theorems)라는 명언을 뒤집어 "코수학자는 코정리를 피로 만드는 기계이다."(A comathematician is a device for turning cotheorems into ffee.)라는 드립이 있는데, 이는 카테고리의 화살표를 뒤집는 dual(쌍대)에서 나온 드립이다. 간략하게 말하면 coffee → theorems를 cotheorems → cocoffee로 바꿨는데, 쌍대를 두 번 취하면 자기 자신으로 되돌아온다는 성질을 이용해 cocoffee를 ffee로 만든 것. 컴공 버전으로 A der turns de into ffee 도 존재한다.(A co-coder turns co-code into co-coffee) 범주론을 공부하다보면 옛날엔 삼각함수에서나 보던 co가 오만군데 다 붙어 있는 마경을 볼 수 있다.

6. 관련 문서

7. 둘러보기

[[대수학|대수학
Algebra
]]
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px)"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px"
이론
기본 대상 연산 · 항등식(가비의 이 · 곱셈 공식(통분 · 약분) · 인수분해) · 부등식(절대부등식) · 방정식(/풀이 · (무연근 · 허근 · 비에트의 정리(근과 계수의 관계) · 제곱근(이중근호 · 개방법) · 환원 불능) · 부정 · 불능) · 비례식 · 다항식 · 산술(시계 산술)
수 체계 자연수 · 소수 · 정수 · 음수 · 유리수 · 실수(무리수(대수적 무리수 · 초월수) · 초실수) · 복소수(허수) · 사원수 · 팔원수 · 대수적 수 · 벡터 공간
다루는 대상과 주요 토픽
대수 구조
군(group) 자명군 · 대칭군 · 교대군 · 기본군 · 자유군 · 리 군 · 유한 단순군(괴물군) · 점군 · 순환군 · 공간대칭군 · 콕서터 군 · 군의 작용 · 동형 정리 · 케일리 정리 · 실로우 정리 · 클라인 사원군
환(ring) 자명환 · 덧셈의 항등원 · 영인자 · 멱영원 · 단원군 · 아이디얼 · 불 환
체(field) 갈루아 이론 · 분해체
대수 가환대수 · 리 대수 · 불 대수(크로네커 델타)
마그마·반군·모노이드 자유 모노이드 · 가환 모노이드
선형대수학 스칼라 · 벡터 · 행렬 · 텐서(텐서곱) · 벡터 공간(선형사상) · 가군(module) · 내적 공간(그람-슈미트 과정 · 수반 연산자)
정리·추측
대수학의 기본정리 · 나머지 정리 · 유클리드 호제법 · 부분분수분해 · PID 위의 유한생성 가군의 기본정리 · 산술·기하 평균 부등식 · 바이어슈트라스 분해 정리 · 호지 추측미해결 · 가환대수에서의 호몰로지 추측미해결
관련 하위 분야
범주론 함자 · 수반 · 자연 변환 · 모나드 · 쌍대성 · 토포스 이론 · 타입 이론
대수 위상수학 연속변형성 · 기본군 · 피복공간 · 사슬 복합체 · 호몰로지 대수학(호몰로지 · 코호몰로지) · 사상류군 · 닐센-서스턴 분류 · 호프대수
대수기하학 대수 다양체 · · 스킴 · 에탈 코호몰로지 · 모티브
대수적 정수론 타원곡선 · 디오판토스 방정식 · 유리근 정리 · 모듈러성 정리
가환대수학 스펙트럼 정리
표현론 실베스터 행렬
기타 및 관련 문서
수학 관련 정보 · 추상화 · 케일리 표 · 1학년의 꿈 · 노름 · 혼합계산 · 이항연산의 성질(결합법칙 · 분배법칙 · 소거법칙 · 교환법칙 · 흡수법칙) · 교재 · 과일 분수방정식 문제 }}}}}}}}}

수학기초론
Foundations of Mathematics
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px)"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px"
다루는 대상과 주요 토픽
수리논리학 논리 · 논증{귀납논증 · 연역논증 · 귀추 · 유추} · 정리(보조정리) · 공리 및 공준 · 증명{반증 · PWW · 자명함 · 귀류법 · 수학적 귀납법 · 더블 카운팅 · 자동정리증명(증명보조기)} · 논리함수 · 논리 연산 · 잘 정의됨 · 조건문(조각적 정의) · 명제 논리(명제 · 아이버슨 괄호 · · · 대우) · 양상논리 · 술어 논리(존재성과 유일성) · 형식문법 · 타입 이론 · 모델 이론
계산 이론 계산 · 오토마타 · 튜링 머신 · 바쁜 비버 · 정지 문제 · 재귀함수
정리
드모르간 법칙 · 러셀의 역설 · 거짓말쟁이의 역설 · 뢰벤하임-스콜렘 정리 · 퍼스의 법칙 · 굿스타인 정리 · 완전성 정리 · 불완전성 정리(괴델 부호화) · 퍼지 논리
기타
예비사항(약어 및 기호) · 추상화 · 동형(수학) · 벤 다이어그램 · 수학철학
틀:논리학 · 틀:집합론 · 틀:범주론 · 틀:이산수학 · 틀:이론 컴퓨터 과학 · 철학 관련 정보 · 논리학 관련 정보 · 수학 관련 정보 }}}}}}}}}



#!style
.categBtnWrap {background: #a36; display: flex; margin-top: 5px; width: 100%; padding: 4px; border-radius: 6px;}
.categBtn {color: #fff; width: calc(100%/4); text-align: center; padding: 4px; border-radius: 3px; cursor: pointer; display: flex; align-items: center;}
.categBtnSelected {color:#a36; background: #fff; font-weight: bold; text-align: center;}
.title {display: inline-block; padding: 1px 4px; border-radius: 2px; background: #375971; letter-spacing:-0.5px; font-weight: bold; color: #f4ff61;}
.HIDE{display: none;}
.verticalalign {text-align: center; width: 100%;}
[[이론 컴퓨터 과학|'''이론 컴퓨터 과학
{{{#!wiki style="display: inline-block; font-family:Times New Roman, serif;font-style:italic"
]]
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px)"
{{{#!folding [ 펼치기 · 접기 ]
#!wiki class="categBtnWrap"
{{{#!wiki class="categBtn categBtn이론 categBtnSelected" onclick="remove-class,categBtn,categBtnSelected;add-class,categBtn이론,categBtnSelected;add-class,categ,HIDE;remove-class,이론,HIDE"
{{{#!wiki class="verticalalign"
이론}}}
}}}{{{#!wiki class="categBtn categBtn대상" onclick="remove-class,categBtn,categBtnSelected;add-class,categBtn대상,categBtnSelected;add-class,categ,HIDE;remove-class,대상,HIDE"
{{{#!wiki class="verticalalign"
다루는 대상
주요 토픽}}}
}}}{{{#!wiki class="categBtn categBtn알고리즘" onclick="remove-class,categBtn,categBtnSelected;add-class,categBtn알고리즘,categBtnSelected;add-class,categ,HIDE;remove-class,알고리즘,HIDE"
{{{#!wiki class="verticalalign"
알고리즘
자료구조}}}
}}}{{{#!wiki class="categBtn categBtn정리" onclick="remove-class,categBtn,categBtnSelected;add-class,categBtn정리,categBtnSelected;add-class,categ,HIDE;remove-class,정리,HIDE"
{{{#!wiki class="verticalalign"
정리}}}
}}}
{{{#!wiki style="margin: -10px -1px -11px" class="categ 이론"
<colbgcolor=#a36,#a36> 기본 대상 수학기초론{수리논리학(논리 연산) · 계산 가능성 이론 · 범주론 · 집합론} · 이산수학(그래프 이론) · 수치해석학 · 확률론통계학 · 선형대수학
}}}
||<tablewidth=100%><tablebgcolor=transparent><colbgcolor=#a36,#a36><colkeepall><width=20%> 계산 가능성 이론 ||재귀함수 · 튜링 머신 · 람다대수 · 처치-튜링 명제 · 바쁜 비버 · 디지털 물리학 ||
오토마타 이론 FSM · 푸시다운 · 튜링 머신(폰노이만 구조) · 정규 표현식 · 콘웨이의 생명 게임 · 형식언어
계산 복잡도 이론 점근 표기법 · 튜링 기계^고전, 양자, 비결정론적, 병렬 임의접근 기계^ · 알고리즘 · 자료구조 · 알고리즘 패러다임(그리디 알고리즘, 동적 계획법, 분할 정복 알고리즘)
정보이론 정보 엔트로피 · 데이터 압축(무손실 압축 포맷 · 손실 압축 포맷) · 채널 코딩(채널 용량) · 알고리즘 정보 이론(AIT) · 양자정보과학
프로그래밍 언어론 프로그래밍 언어(함수형 언어 · 객체 지향 프로그래밍 · 증명보조기) · 메타프로그래밍 · 람다 대수 · 타입 이론 · 프로그래밍 언어 의미론 · 어휘 분석 · 파싱 · 구문 트리(완전 구문 트리 · 추상 구문 트리) · 컴파일러 이론
||<tablewidth=100%><tablebgcolor=transparent><colbgcolor=#a36,#a36><colkeepall><width=20%> 기초 ||<-2>정렬 알고리즘 · 순서도 · 탐색 알고리즘 ||
추상적 자료형 및 구현 배열^벡터^ · 리스트^연결 리스트^ · 셋(set) · 트리^이진 트리(레드-블랙 트리, ), B-트리, 피보나치 힙^ · · 스택
수학적 최적화 <keepall> 조합 최적화 외판원 순회 문제 · 담금질 기법 · 유전 알고리즘 · 기계학습
<keepall> 볼록 최적화 내부점 방법 · 경사하강법
<keepall> 선형계획법 심플렉스법
계산 수론 및 암호학 밀러-라빈 소수판별법 · Pollard-rho 알고리즘 · 쇼어 알고리즘 · LLL 알고리즘 · 해시(MD5 · 암호화폐 · 사전 공격(레인보우 테이블) · SHA) · 양자 암호 · 난수생성
<keepall> 대칭키 암호화 방식 블록 암호 알고리즘(파이스텔 네트워크 · DES · AES · ARIA · LEA · Camellia) · 스트림 암호 알고리즘(RC4)
<keepall> 공개키 암호화 방식 공개키 암호 알고리즘(타원 곡선 암호 · RSA) · 신원 기반 암호 알고리즘(SM9)
계산기하학 볼록 껍질 · 들로네 삼각분할 및 보로노이 도형^Fortune의 line-sweeping 알고리즘^ · 범위 탐색^vp-tree, R-tree^ · k-NN
그래프 이론 탐색^BFS, DFS, 다익스트라 알고리즘, A* 알고리즘^ · 에드몬드-카프 · 크루스칼 알고리즘 · 위상 정렬 · 네트워크 이론
||<tablewidth=100%><tablebgcolor=transparent><colbgcolor=#a36,#a36><colkeepall><width=20%> 정리 ||정지 문제대각선 논법 · 암달의 법칙 · P-NP 문제미해결 · 콜라츠 추측미해결 ||
틀:이산수학 · 틀:수학기초론 · 틀:컴퓨터공학 }}}}}}

[1] 권(圈)론. 주로 일본에서 쓰이는 명칭이다.[2] 대수위상수학 같은 대학원에 준하는 과정까지 선결되어야 한다는 의견도 있으나, 선형대수, 미분기하, 현대대수, 위상수학 등 수학과의 여러 학부 코어과목을 섭렵해 본 경험만으로도 충분하다거나 사실 그조차도 필요없이 집합론과 해석학과 선형대수학만으로도 충분하다는 의견도 있다. 범주론 학습에 앞서 진짜 필요한 것은 '선행지식'보다는 학습자가 이를 처음 접해도 낯설어하지 않는 '수학적 숙련도'인데, 정작 그 수학적 숙련도가 언제 얻어졌느냐는 학생은커녕 지도교수들마다도 천차만별이기 때문에 학부생 나부랭이(?) 수준에서는 함부로 일반화할 수 없다. 일단 많은 학생들은 학부 전공심화과정이나 대학원 석사과정에서 대수학 및 위상수학을 공부하다가 범주론을 처음 접하곤 한다.[3] Free object(group, associative algebra 등)들을 보자. lie algebra에서 나타나는 universal enveloping algebra라든가 위상수학에서 나타나는 universal covering space도 보자.[4] 영어판 위키백과에는 맥레인과 에일렌베르크 이전 다비드 힐베르트 시절부터 시작된 빌드업을 아우르는 범주론과 그 인접분야 중심의 연표를 만들어놓은 페이지가 있다. 그런데 그 실상을 보면, 그냥 현대수학사 연표라고 봐도 무방하다. 이 연표만 봐도 범주론이 현대수학의 필수불가결한 요소임을, 그리고 맥레인과 에일렌베르크의 아이디어를 이 지경으로까지 키워낸 빌런 혁명가의 영향력을 짐작할 수 있을 정도이다.[5] 집합론이 한계를 보여줬다는 말은, ZFC 공리계가 아닌 다른 공리계를 익혀 써먹는 것도 각오해야 한다는 뜻이다. 이런 생소함을 덜기 위해 사전에 ZFC와 더불어 익혀두면 좋은 공리계로는 폰 노이만-베르나이스-괴델(von Neumann-Bernays-Gödel)과 모스-켈리(Morse-Kelley) 공리계가 있는데, ZFC의 보존적 확장이라 할 수 있는 NBG의 증명가능성은 집합에 관한 명제에 있어 ZFC의 증명가능성과 동치이며, MK는 NBG와 비슷해보이나 재귀적 정의의 허용과 유한공리화의 불가능성 등 약간의 차이가 있는 공리계이다. 그리고 타르스키-그로텐디크(Tarski-Grothendieck) 공리계는 ZF에다 보다 강력한 공리를 추가함으로써 도달불능기수의 존재를 보장하며 범주론의 집합론적 근거까지 제공한다. ZF공리계 뿐만 아니라 1차언어조차 사용 안 하는 경우도 있는데, 후술된 함수형 프로그래밍과 관련해선 Rocq나 수학자들이 흔히 사용하는 증명보조기인 Lean등의 기반이 되는 논리체계인 Calculus of Construction이 아주 중요한 논리체계이다. Reverse mathematics를 하는 수학자들은 2차술어를 자주 사용한단 사실도 알려져 있다. 이런 대안적인 공리계는 카테고리 이론 학습에 있어 필수까지는 아니어도 미리 ZFC와 더불어 사전에 익혀두는 것이 교과서를 읽어나가는 데에 편리하다.[6] 이는 고도로 병렬화된 컴퓨터의 동시성 문제의 해결책으로 계산의 범주론적 모델인 함수형 프로그래밍이 주목받는 것과 연관이 깊다.

분류