나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2026-07-03 14:45:18

범주


파일:다른 뜻 아이콘.svg  
#!if 넘어옴1 != null
''''''{{{#!if 넘어옴2 == null
{{{#!if 넘어옴1[넘어옴1.length - 1] >= 0xAC00 && 넘어옴1[넘어옴1.length - 1] <= 0xD7A3
{{{#!if ((넘어옴1[넘어옴1.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴1[넘어옴1.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴1[넘어옴1.length - 1] < 0xAC00 || 넘어옴1[넘어옴1.length - 1] > 0xD7A3
은(는)}}}}}}{{{#!if 넘어옴2 != null
, ''''''{{{#!if 넘어옴3 == null
{{{#!if 넘어옴2[넘어옴2.length - 1] >= 0xAC00 && 넘어옴2[넘어옴2.length - 1] <= 0xD7A3
{{{#!if ((넘어옴2[넘어옴2.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴2[넘어옴2.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴2[넘어옴2.length - 1] < 0xAC00 || 넘어옴2[넘어옴2.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴3 != null
, ''''''{{{#!if 넘어옴4 == null
{{{#!if 넘어옴3[넘어옴3.length - 1] >= 0xAC00 && 넘어옴3[넘어옴3.length - 1] <= 0xD7A3
{{{#!if ((넘어옴3[넘어옴3.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴3[넘어옴3.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴3[넘어옴3.length - 1] < 0xAC00 || 넘어옴3[넘어옴3.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴4 != null
, ''''''{{{#!if 넘어옴5 == null
{{{#!if 넘어옴4[넘어옴4.length - 1] >= 0xAC00 && 넘어옴4[넘어옴4.length - 1] <= 0xD7A3
{{{#!if ((넘어옴4[넘어옴4.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴4[넘어옴4.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴4[넘어옴4.length - 1] < 0xAC00 || 넘어옴4[넘어옴4.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴5 != null
, ''''''{{{#!if 넘어옴6 == null
{{{#!if 넘어옴5[넘어옴5.length - 1] >= 0xAC00 && 넘어옴5[넘어옴5.length - 1] <= 0xD7A3
{{{#!if ((넘어옴5[넘어옴5.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴5[넘어옴5.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴5[넘어옴5.length - 1] < 0xAC00 || 넘어옴5[넘어옴5.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴6 != null
, ''''''{{{#!if 넘어옴7 == null
{{{#!if 넘어옴6[넘어옴6.length - 1] >= 0xAC00 && 넘어옴6[넘어옴6.length - 1] <= 0xD7A3
{{{#!if ((넘어옴6[넘어옴6.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴6[넘어옴6.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴6[넘어옴6.length - 1] < 0xAC00 || 넘어옴6[넘어옴6.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴7 != null
, ''''''{{{#!if 넘어옴8 == null
{{{#!if 넘어옴7[넘어옴7.length - 1] >= 0xAC00 && 넘어옴7[넘어옴7.length - 1] <= 0xD7A3
{{{#!if ((넘어옴7[넘어옴7.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴7[넘어옴7.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴7[넘어옴7.length - 1] < 0xAC00 || 넘어옴7[넘어옴7.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴8 != null
, ''''''{{{#!if 넘어옴9 == null
{{{#!if 넘어옴8[넘어옴8.length - 1] >= 0xAC00 && 넘어옴8[넘어옴8.length - 1] <= 0xD7A3
{{{#!if ((넘어옴8[넘어옴8.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴8[넘어옴8.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴8[넘어옴8.length - 1] < 0xAC00 || 넘어옴8[넘어옴8.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴9 != null
, ''''''{{{#!if 넘어옴10 == null
{{{#!if 넘어옴9[넘어옴9.length - 1] >= 0xAC00 && 넘어옴9[넘어옴9.length - 1] <= 0xD7A3
{{{#!if ((넘어옴9[넘어옴9.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴9[넘어옴9.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴9[넘어옴9.length - 1] < 0xAC00 || 넘어옴9[넘어옴9.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴10 != null
, ''''''{{{#!if 넘어옴10[넘어옴10.length - 1] >= 0xAC00 && 넘어옴10[넘어옴10.length - 1] <= 0xD7A3
{{{#!if ((넘어옴10[넘어옴10.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴10[넘어옴10.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴10[넘어옴10.length - 1] < 0xAC00 || 넘어옴10[넘어옴10.length - 1] > 0xD7A3
은(는)}}}}}} 여기로 연결됩니다. 
#!if 설명 == null && 리스트 == null
{{{#!if 설명1 == null
다른 뜻에 대한 내용은 아래 문서를}}}{{{#!if 설명1 != null
{{{#!html 동음이의어}}}에 대한 내용은 [[범주(동음이의어)]] 문서{{{#!if (문단1 == null) == (앵커1 == null)
를}}}{{{#!if 문단1 != null & 앵커1 == null
의 [[범주(동음이의어)#s-|]]번 문단을}}}{{{#!if 문단1 == null & 앵커1 != null
의 [[범주(동음이의어)#|]] 부분을}}}}}}{{{#!if 설명2 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단2 == null) == (앵커2 == null)
를}}}{{{#!if 문단2 != null & 앵커2 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단2 == null & 앵커2 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명3 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단3 == null) == (앵커3 == null)
를}}}{{{#!if 문단3 != null & 앵커3 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단3 == null & 앵커3 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명4 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단4 == null) == (앵커4 == null)
를}}}{{{#!if 문단4 != null & 앵커4 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단4 == null & 앵커4 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명5 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단5 == null) == (앵커5 == null)
를}}}{{{#!if 문단5 != null & 앵커5 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단5 == null & 앵커5 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명6 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단6 == null) == (앵커6 == null)
를}}}{{{#!if 문단6 != null & 앵커6 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단6 == null & 앵커6 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명7 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단7 == null) == (앵커7 == null)
를}}}{{{#!if 문단7 != null & 앵커7 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단7 == null & 앵커7 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명8 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단8 == null) == (앵커8 == null)
를}}}{{{#!if 문단8 != null & 앵커8 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단8 == null & 앵커8 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명9 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단9 == null) == (앵커9 == null)
를}}}{{{#!if 문단9 != null & 앵커9 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단9 == null & 앵커9 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명10 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단10 == null) == (앵커10 == null)
를}}}{{{#!if 문단10 != null & 앵커10 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단10 == null & 앵커10 != null
의 [[#|]] 부분을}}}}}}
#!if 설명 == null
{{{#!if 리스트 != null
다른 뜻에 대한 내용은 아래 문서를}}} 참고하십시오.

#!if 리스트 != null
{{{#!if 문서명1 != null
 * {{{#!if 설명1 != null
동음이의어: }}}[[범주(동음이의어)]] {{{#!if 문단1 != null & 앵커1 == null
문서의 [[범주(동음이의어)#s-|]]번 문단}}}{{{#!if 문단1 == null & 앵커1 != null
문서의 [[범주(동음이의어)#|]] 부분}}}}}}{{{#!if 문서명2 != null
 * {{{#!if 설명2 != null
: }}}[[]] {{{#!if 문단2 != null & 앵커2 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단2 == null & 앵커2 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명3 != null
 * {{{#!if 설명3 != null
: }}}[[]] {{{#!if 문단3 != null & 앵커3 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단3 == null & 앵커3 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명4 != null
 * {{{#!if 설명4 != null
: }}}[[]] {{{#!if 문단4 != null & 앵커4 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단4 == null & 앵커4 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명5 != null
 * {{{#!if 설명5 != null
: }}}[[]] {{{#!if 문단5 != null & 앵커5 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단5 == null & 앵커5 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명6 != null
 * {{{#!if 설명6 != null
: }}}[[]] {{{#!if 문단6 != null & 앵커6 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단6 == null & 앵커6 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명7 != null
 * {{{#!if 설명7 != null
: }}}[[]] {{{#!if 문단7 != null & 앵커7 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단7 == null & 앵커7 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명8 != null
 * {{{#!if 설명8 != null
: }}}[[]] {{{#!if 문단8 != null & 앵커8 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단8 == null & 앵커8 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명9 != null
 * {{{#!if 설명9 != null
: }}}[[]] {{{#!if 문단9 != null & 앵커9 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단9 == null & 앵커9 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명10 != null
 * {{{#!if 설명10 != null
: }}}[[]] {{{#!if 문단10 != null & 앵커10 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단10 == null & 앵커10 != null
문서의 [[#|]] 부분}}}}}}

[[범주론|'''범주론
{{{#!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-함자 · 범주의 동치) · 자연 변환(자연 동형) · 보편 성질 · 자기 동형 사상군
범주의 종류 및 구성 곱범주 · 콤마 범주(조각 범주) · 자유 범주 · 준군(groupoid) · 반대 범주 · 함자 범주(화살 범주)
극한 극한쌍대극한op · 시작op(영대상 · 영사상) · 쌍대곱op · 이퀄라이저()↔코이퀄라이저op(공핵) · 당김op · 완비 범주
기타교재 · abstract nonsense · 가환 다이어그램 · 쌍대성
틀:수학기초론 · 틀:대수학 · 수학 관련 정보 }}}}}}}}}

1. 개요2. 정의
2.1. 구성요소2.2. 형식적 정의
3. 예시4. 범주가 이런 성질을 가진다면?5. 함자6. 둘러보기

1. 개요

/ category

범주론에서 중점적으로 다루어지는 수학적 대상.

위상수학, 군론 같은 수학의 다양한 분야에서 공통적인 부분을 찾아서 추상화한 개념으로[1], 고도로 추상적인 개념이다.

2. 정의

2.1. 구성요소

범주의 형식적 정의에 앞서, 범주의 정의에서 사용되는 기본적인 용어와 개념들을 초등적으로 설명한다.[2]

범주를 이루는 첫 번째 구성 요소로 대상(object)이 있다. 마치 집합(set)이 원소(element)들로 이루어지듯, 범주는 논의의 객체가 되는 대상들이 존재한다. 본 문서에서는 편의상 [math(A)], [math(B)], [math(C)]와 같이 이탈릭체 로마 대문자로 대상을 표기한다.

또한 범주 [math(\mathcal C)]의 모든 대상들의 모임을 편의상 [math(\mathrm{Ob}(\mathcal C))]로 나타내자. 여기서 굳이 모임(class, collection, family 등)이라고 하는 이유는 반드시 집합은 아닐 수 있기 때문이다. 때문에 경우에 따라 ZFC 공리계 등을 뛰어넘는 범위의 기초론도 사용할 각오가 필요하다. 또한 편의상 [math(A)]가 범주 [math(\mathcal C)]의 대상일 때 번거롭게 [math(A \in \mathrm{Ob}(\mathcal C))]라고 쓰는 대신 [math(A \in \mathcal C)]라고 짧게 쓰기도 하나, 범주 [math(\mathcal C)]가 대상의 모임 그 자체와 동일한 것은 아님에 유의하자.
파일:상세 내용 아이콘.svg   자세한 내용은 대상(범주론) 문서
#!if (문단 == null) == (앵커 == null)
를
#!if 문단 != null & 앵커 == null
의 [[대상(범주론)#s-|]]번 문단을
#!if 문단 == null & 앵커 != null
{{{#!if 문서명 = 문서명 != null ? 문서명 : calleeTitle
의 [[대상(범주론)#|]] 부분을}}}
참고하십시오.

이어서 범주를 이루는 두 번째 핵심 구성 요소로 사상(morphism)이 있다. 가장 직관적으로, 사상은 한 대상에서 다른 대상을 향하는 화살표 정도를 생각하면 되며 이 화살표의 시작이 되는 대상을 정의역(domain), 끝이 되는 대상을 공역(codomain)이라 부른다. 이런 사상이 함수라고 직관적으로 오해해 버릴 수도 있지만, 범주의 사상은 반드시 함수일 필요는 없다. 정말 말 그대로 주어진 대상들에 대해, 한 대상에서 시작해 다른 대상으로 향하는 추상적인 수학적 대상이라고 이해하고 있는 것이 가장 좋다.

본 문서는 편의상 [math(f)], [math(g)], [math(h)]와 같이 이탈릭체 로마 소문자로 사상을 표기하며, 대상과 비슷하게 범주 [math(\mathcal C)]의 모든 사상들의 모임을 [math(\mathrm{Mor}(\mathcal C))]라 표기하자. 또한 마찬가지로 [math(f)]가 범주 [math(\mathcal C)] 내의 사상일 때 혼동의 여지가 없다면 [math(f \in \mathrm{Mor}(\mathcal C))] 대신 [math(f \in \mathcal C)]처럼 줄여서 쓰기도 한다.
파일:상세 내용 아이콘.svg   자세한 내용은 사상(범주론) 문서
#!if (문단 == null) == (앵커 == null)
를
#!if 문단 != null & 앵커 == null
의 [[사상(범주론)#s-|]]번 문단을
#!if 문단 == null & 앵커 != null
{{{#!if 문서명 = 문서명 != null ? 문서명 : calleeTitle
의 [[사상(범주론)#|]] 부분을}}}
참고하십시오.

모든 사상은 항상 유일한 정의역과 공역을 가진다. 때문에 사상 [math(f)]의 정의역과 공역을 각각 기호 [math(\mathrm{dom}(f))], [math(\mathrm{cod}(f))]와 같아 나타내도 잘 정의된 표기가 되며, 좀더 추상화하면 정의역은 [math(\mathrm{dom} : \mathrm{Mor} \to \mathrm{Ob})]와 같은 (모임) 함수, 공역은 [math(\mathrm{cod} : \mathrm{Mor} \to \mathrm{Ob})]와 같은 (모임) 함수로도 나타낼 수 있다. 또, 함수처럼 사상 [math(f)]의 정의역이 [math(\mathrm{dom}(f) = A)], 공역이 [math(\mathrm{cod}(f) = B)] 일 때 편의상 [math(f : A \to B)], [math(A \xrightarrow f B)] 등과 같이 나타낸다.

이 때 주의할 점은 각 사상이 유일한 정의역과 공역을 가진다는 것이다. 가령 [math(f(x) = 5)]인 상수함수를 생각했을 때 이런 [math(f)]의 공역으로 자연수 전체의 집합 [math(\N)], 정수 전체의 집합 [math(\Z)], 실수 전체의 집합 [math(\R)] 등 어떤 집합을 잡아도 내용에 변화는 없으나, 범주론적 관점에서는 각 경우를 엄격하게 구분한다. 즉 정수를 정의역으로 가지고 [math(\forall x \in \Z : f(x) = 5)]에 공역이 [math(\Z)]인 함수 [math(f : \Z \to \Z)]와 정수를 정의역으로 가지고 [math(\forall x \in \Z : f'(x) = 5)]에 공역이 [math(\R)]인 함수 [math(f' : \Z \to \R)]은 범주론적으로 완전히 다른 사상으로 보아야 한다.
파일:상세 내용 아이콘.svg   자세한 내용은 정의역과 공역 문서
#!if (문단 == null) == (앵커 == null)
를
#!if 문단 != null & 앵커 == null
의 [[정의역과 공역#s-|]]번 문단을
#!if 문단 == null & 앵커 != null
{{{#!if 문서명 = 문서명 != null ? 문서명 : calleeTitle
의 [[정의역과 공역#|]] 부분을}}}
참고하십시오.

집합 사이 여러 함수들이 존재할 수 있듯이, 두 대상(object) 사이에는 여러 사상(morphism)이 존재할 수 있다. 두 대상 [math(A)], [math(B)]를 생각했을 때, [math(A)]에서 [math(B)]로 향하는 모든 사상, 즉 [math(f : A \to B)] 꼴인 모든 사상들의 모임을 편의상 [math(\mathrm{Hom}(A, B))]라 표기한다. 즉, [math(f : A \to B)]라는 표기는 [math(f \in \mathrm{Hom}(A, B))]와 정확히 같은 의미이다.

여기서 Hom은 homomorphism, 즉 준동형 사상에서 가져온 말로, 이런 모임 [math(\mathrm{Hom}(A, B))]를 Hom-class, 또는 집합인 경우 Hom-set이라 한다. 참고로 후자의 표현이 많은 이들에게 익숙한 나머지 set이라 할 수 없는 고유 모임일 때에마저 관례적으로 hom-set이라 부르기도 한다. 추가로 대상 [math(A)]에 대해 [math(\mathrm{Hom}(A, A))] 꼴인 Hom-set을 [math(\mathrm{End}(A))]라 표기하기도 한다. 같은 대상에서 출발해 되돌아오는 사상을 자기 사상(endomorphism)이라고 하기 때문.

참고로 상술한 정의역과 공역의 성질에 의해 모든 Hom-set은 disjoint함을 알 수 있다. [math(\mathrm{Hom}(A, B) \cap \mathrm{Hom}(A', B'))]이 공집합이 아니라면 적어도 하나의 [math(f)]가 존재하여 [math(\mathrm{dom}(f) = A = A')] 및 [math(\mathrm{cod}(f) = B = B')]이므로 [math(\mathrm{Hom}(A, B) = \mathrm{Hom}(A', B'))]기 때문.
파일:상세 내용 아이콘.svg   자세한 내용은 Hom 문서
#!if (문단 == null) == (앵커 == null)
를
#!if 문단 != null & 앵커 == null
의 [[Hom#s-|]]번 문단을
#!if 문단 == null & 앵커 != null
{{{#!if 문서명 = 문서명 != null ? 문서명 : calleeTitle
의 [[Hom#|]] 부분을}}}
참고하십시오.

또, 합성함수와 같이 두 사상(morphism)사상의 합성을 생각할 수 있다. 기본적으로 사상 [math(f)]와 [math(g)] 간 합성이 가능할 필요충분조건은 [math(g)]의 정의역이 [math(f)]의 공역과 일치하는 것, 즉 [math(\mathrm{dom}(g) = \mathrm{cod}(f))]인 것이다. 이 경우, 두 사상의 합성 [math(h)]가 존재하며, [math(h)]의 정의역 [math(\mathrm{dom}(h))]는 [math(f)]의 정의역 [math(\mathrm{dom}(f))]와 같고 [math(h)]의 공역 [math(\mathrm{cod}(h))]는 [math(g)]의 공역 [math(\mathrm{cod}(g))]와 같게 된다. 좀더 직관적으로 보면, 사상 [math(f : A \to B)]와 [math(g : B \to C)]를 합성할 경우 이 둘의 합성사상 [math(h)]는 [math(h : A \to C)] 꼴의 사상이 된다. 합성사상은 기본적으로 존재한다면 유일하기 때문에 사상 [math(f)]와 [math(g)]의 합성을 흔히 [math(g \circ f)]와 같이 표기해도 문제가 없다. 이 때 함수의 합성처럼 순서가 오른쪽에서 왼쪽으로 쓰는 것임에 주의. 참고로 혼동의 여지가 없는 경우 아예 기호를 생략하고 [math(g f)]처럼 붙여쓰기로 쓰이는 경우도 많다.

사상의 합성 연산은 정의되는 경우에 한해 결합법칙을 만족한다. 즉, [math(f : A \to B)], [math(g : B \to C)], [math(h : C \to D)]와 같은 세 사상이 주어졌을 때 [math((h \circ g) \circ f = h \circ (g \circ f))]가 성립해야 한다.
파일:상세 내용 아이콘.svg   자세한 내용은 사상(범주론) 문서
#!if (문단 == null) == (앵커 == null)
를
#!if 문단 != null & 앵커 == null
의 [[사상(범주론)#s-|]]번 문단을
#!if 문단 == null & 앵커 != null
{{{#!if 문서명 = 문서명 != null ? 문서명 : calleeTitle
의 [[사상(범주론)#사상의 합성|사상의 합성]] 부분을}}}
참고하십시오.

마지막으로, 각 대상마다 항등 사상(identity morphism)이라는 특수한 사상이 하나씩, 유일하게 존재한다. 후술할 항등원 성질에 의해 유일성은 유도 가능하기에 정의에서는 존재성만 요구하는 경우도 많지만, 어찌되건 결과적으론 유일하게 존재하기 때문에 대상 [math(A)]의 항등 사상을 [math(1_A)]와 같이 표기해도 잘 정의된다. 모든 항등 사상은 대상 [math(A)]에서 출발해 [math(A)]로 되돌아오는 사상으로, 다시 말해 [math(1_A : A \to A)] 꼴의 사상이다.

항등 사상은 이름처럼 합성 연산에서 일종의 항등원 역할을 한다. 사상 [math(f : A \to B)]를 생각했을 때 항상 [math(f \circ 1_A = f = 1_B \circ f)]가 성립한다.
파일:상세 내용 아이콘.svg   자세한 내용은 항등 사상 문서
#!if (문단 == null) == (앵커 == null)
를
#!if 문단 != null & 앵커 == null
의 [[항등 사상#s-|]]번 문단을
#!if 문단 == null & 앵커 != null
{{{#!if 문서명 = 문서명 != null ? 문서명 : calleeTitle
의 [[항등 사상#|]] 부분을}}}
참고하십시오.

2.2. 형식적 정의

편의상 foundation으로 NBG 공리계 등 전통적인 set theory를 가정한다. GU 등에서도 정의는 어렵지 않다.

범주(category)란 아래 조건을 만족하는 구조 [math(\mathcal C = (\mathrm{Ob}, \mathrm{Mor}, \mathrm{dom}, \mathrm{cod}, 1, \circ))]로 구성된다.
이 때,

즉, 여기서 [math(\mathrm{Ob})]는 대상(object)들의 모임, [math(\mathrm{Mor})]는 사상(morphism)들의 모임, [math(\mathrm{dom})]은 정의역 할당, [math(\mathrm{cod})]는 공역 할당, [math(1)]은 항등 사상 할당, [math(\circ)]는 사상의 합성을 나타낸다.

물론 이는 범주의 구성 방법 중 한 예시일 뿐으로, 반드시 이 구성을 완벽하게 따를 필요는 없으며 핵심적인 대상과 사상의 정의, 사상의 주요 성질(결합법칙, 항등원 등)을 보존한다면 얼마든지 동치인 다른 정의를 사용할 수 있다.

이 외에도 모든 Hom-set이 disjoint함을 이용해 모든 [math(A, B, C \in \mathrm{Ob})]마다

#!latex
\circ_{A, C} : \mathrm{Hom}(B, C) \times \mathrm{Hom}(A, B) \longrightarrow \mathrm{Hom}(A, C)

꼴인 각각의 함수(family)을 이용해 정의하는 것도 보편적이며, 좀더 극단적으로는 일체의 대상(object) 없이 사상(morphism)만을 이용해 범주를 정의하는 것도 가능하다. 예시는 정의역과 공역 문서의 사상 형태의 정의역 공역 정의 문단 참고.

3. 예시

위 조건들을 만족한다면 그 어떤 것도 범주로 잘 정의된다.

관례적으로 범주를 표기할 때에는 대상의 명칭이나 사상이 갖는 성질을 적당히 축약한 이름으로 짓는 암묵의 룰이 있다. 예를 들어 집합을 대상으로 갖는 [math(mathbf{Set})], 을 대상으로 갖는 [math(mathbf{Grp})], 위상 공간을 대상으로 갖는 [math(mathbf{Top})], 가측공간을 대상으로 갖는 [math(\textsf{Meas})], R-가군을 대상으로 갖는 [math(R text{-} mathbf{Mod})], 아벨군을 대상으로 갖는 [math(mathbf{Ab})], 그래프를 대상으로 갖는 [math(\textsf{Graph})], 부분순서집합을 대상으로 갖는 [math(mathbf{Poset})] 등의 범주를 생각할 수 있다.

이때 범주 이름을 표기하면서는 볼드체, 필기체, 산세리프, 코믹산스(...) 등 다른 글씨와는 확연히 구별되는 폰트로 표기하는 암묵의 룰이 있다.
파일:상세 내용 아이콘.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
의 [[범주/종류#|]] 부분을}}}
참고하십시오.
대상이 '집합'이고 사상은 '대상 집합 간의 함수'인 범주들을 구체적 범주(concrete category)으로 총칭한다.

사상을 많아봤자 집합의 기수만큼만 갖는, 즉 [math(\mathrm{ob}(\mathcal{C}))]와 [math(\mathrm{mor}(\mathcal{C}))]가 제각기 모두 집합[3]인 범주 [math(\mathcal{C})]를 작은 범주(small category)라 한다. 또한 작은 범주보다 약한 조건으로 모든 [math(\mathrm{Hom}(A, B))]가 집합인 범주, 다시 말해 임의의 두 대상 사이에 정의되는 사상이 많아야 집합의 기수만큼만 존재하는 범주는 국소적으로 작은 범주(locally small category)라 한다.

어떤 범주 [math(\mathcal{C})]의 부분범주 [math(\mathcal{D})]는, [math(\mathrm{ob}(\mathcal{C}))]에 포함되는 부분모임 [math(\mathrm{ob}(\mathcal{D}))]와 [math(\mathrm{mor}(\mathcal{C}))]에 포함되는 부분모임 [math(\mathrm{mor}(\mathcal{D}))]를 가지며, [math(\mathrm{ob}(\mathcal{D}))]와 [math(\mathrm{mor}(\mathcal{D}))]에 대하여 항등사상, 합성 결합법칙 등 범주로서의 조건이 모두 잘 정의되는 경우를 말한다. 이들 역시 부분집합마냥 포함관계를 나타낼 수 있다. 예를 들어 [math(1_R)]을 갖는 가환환의 범주, [math(1_R)]을 갖는 환의 범주, [math(1_R)]을 안 가져도 되는 환의 범주에 대하여 [math(\textsf{CRing}\subset \textsf{Ring} \subset \textsf{Rng})]이라 표기할 수 있다.

사상 [math(f:x\to y)]에 대하여, 만약 두 사상 [math(α, β:w\rightrightarrows x)]가 [math(f\circ α=f\circ β)]일 경우 [math(α=β)]임이 성립하면 사상 [math(f)]는 단사사상 내지는 모닉사상(monomorphism)이라 칭한다. 그리고, 사상 [math(f:x\to y)]에 대하여, 만약 두 사상 [math(α, β:y\rightrightarrows z)]가 [math(α\circ f=β\circ f)]일 경우 [math(α=β)]임이 성립하면 사상 [math(f)]는 전사사상 내지는 에픽사상(epimorphism)이라 칭한다.
그리고, 사상 [math(f:x\to y)]에 대하여 만약 어떤 [math(g:y\to x)]의 존재에 의해 [math(g\circ f=1_x)], [math(f\circ g=1_y)]가 성립한다면, 이 두 사상은 동형사상(isomorphism)이라 칭한다.[4]

[math(\mathcal{C})]에 속하는 사상의 화살표를 모조리 반대 방향으로 뒤집어버린 반대 범주 [math(\mathcal{C^{op}})]도 존재한다. 이 경우 [math(\mathcal{C^{op}})]에서는 [math(\mathcal{C})]에서의 모닉사상은 에픽사상으로, [math(\mathcal{C})]에서의 에픽사상은 모닉사상으로 바뀌고 [math(\mathcal{C})]에서 정의되던 각종 합성연산도 거꾸로 정의되는 등 천지개벽(?)이 벌어진다. 그러나 반대로 말하면 기존 범주에서 성립하던 모든 성질이 방향만 일괄적으로 바꾸면 반대 범주에서도 그대로 성립한다는 뜻이 된다. 이런 성질을 쌍대성(Duality)이라 한다.

5. 함자

파일:상세 내용 아이콘.svg   자세한 내용은 함자 문서
#!if (문단 == null) == (앵커 == null)
를
#!if 문단 != null & 앵커 == null
의 [[함자#s-|]]번 문단을
#!if 문단 == null & 앵커 != null
{{{#!if 문서명 = 문서명 != null ? 문서명 : calleeTitle
의 [[함자#|]] 부분을}}}
참고하십시오.
범주 하나하나가 통째로 정의역과 공역에 해당하는 사상이 있다. 범주와 범주 사이에 정의되는 사상이 아예 범주에 속하는 대상과 사상들의 관계를 고스란히 보존한 채 대응되는 수가 있는데, 이런 조건을 만족하는 사상 [math(F:\mathcal{C}\rightarrow\mathcal{D})]를 함자(Functor)라 한다.

이런 함자들 중에는 범주의 대수적 구조에 정의된 모든 성질을 온전히 옮겨놓지 못하는 칠칠치 못한 함자들도 있다. 이런 것들을 망각 함자(forgetful functor)라 칭한다. 말 그대로 범주를 옮기면서 대수적 구조를 전부 또는 조금씩 빠뜨리고 까먹는 함자들이다. 예를 들어 [math(\textsf{Field}\rightarrow\textsf{CRing}\rightarrow\textsf{Ring}\rightarrow\textsf{Rng}\rightarrow\textsf{Ab}\rightarrow\textsf{Grp}\rightarrow\textsf{Monoid}\rightarrow\textsf{SemiGrp}\rightarrow\textsf{Magma}\rightarrow\textsf{Set})] 등의 함자들은 뭔가를 계속 빠뜨리고 있으므로 망각 함자라 할 수 있다.[5]

6. 둘러보기

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


[1] 위상공간은 점들의 인접성, 군은 대칭성을 추상화한 것이라면 범주는 무려 수학의 분야를 추상화한 것이다.[2] 본 문서에서 정의하는 용어와 그 번역어는 Emily Riehl의 <Category Theory in Context>를 중심으로 Steve Awodey의 <Category Theory>, Tom Leinster의 <Basic Category Theory>, Peter Cameron의 <Sets, Logic and Categories>를 이예찬, 신지수가 한국어로 번역한 <수리논리학입문> 등에서 참조하였다. 교과서마다 표기법 및 용어 설정상의 차이가 있을 수 있다.[3] 범주의 정의에서 대상 하나하나마다 항등사상이 존재한다 하였으므로 사상의 모임이 집합이라면 대상의 모임 또한 집합일 수밖에 없다.[4] 용어로 보나 패턴으로 보나 암만 봐도 집합론적 맥락에서의 단사함수(injection)와 전사함수(surjection)를 일반화한 것 같아보이지만, 함부로 '전단사(bijection)'라고 규정하면 안 된다. 단사사상임과 동시에 전사사상이지만 동형사상이라고는 할 수 없는 경우가 있기 때문이다.[5] 수학과 학부 현대대수학에서 처음 배우는 간단한 대수적 구조들이다. [math(1_R)]을 갖는 가환 나눗셈환인 에서 출발해 곱셈 역원의 존재가 보장되지 않는 가환, 곱셈의 교환법칙을 장담할 수 없어진 환, [math(1_R)]의 존재성마저 보장할 수 없어진 환, 곱셈이라는 연산구조 자체를 빠뜨린 아벨, 덧셈 교환법칙도 빠진 군, 덧셈의 역원까지 빠진 모노이드, 결합법칙 밖에 안 남은 반군, 결합법칙도 보장 못하지만 어쨌든 이항연산은 닫혀있는 마그마, 마지막 남은 연산구조마저 빠뜨린 집합 순이다. 다만, 범주론을 공부하면서는 군과 모노이드를 살짝 다른 방식으로 정의하고 바라보기 때문에 hierarchy의 양상이 조금 다르다. 심지어 이항연산을 부분연산으로 갈아버린 채 아군(Groupoid)이라는 "동형사상만을 사상으로 갖는" 범주를 도입하고, 모노이드는 대상을 딱 하나만 갖는 카테고리로 정의한 다음, 아군이자 모노이드인 범주를 군이라 정의한다.

분류