집합

(공집합에서 넘어옴)

수학적 개념이 아닌 구호에 대해서는 집합(군대) 문서를 참조하십시오.

集合. 모임.

"전체는 부분보다 크다"라는 명제가 있다. 만일 존재가 전체와 부분으로 나뉠수 있다면 이 명제는 증명될 필요가 없으나 공리는 실제와 크기를 끊임 없이 무시한다.

-게오르크 칸토어

1 개요

국립국어원은 집합의 수학적 의미를 다음과 같이 소개하고 있다.

특정 조건[1]에 맞는 원소들의 모임. 임의의 한 원소가 그 모임에 속하는지를 알 수 있고, 그 모임에 속하는 임의의 두 원소가 다른가 같은가를 구별할 수 있는 명확한 표준이 있는 것을 이른다.

수학적인 의미로 집합을 정의한다는 건 굉장히 어려운 일이다. 때문에 수리논리 외의 분야에선 직관적으로 받아들이고 시작하는 개념 중 하나. 국립국어원의 설명은 직관적 집합론(naive set theory)에서 받아들이는 개념에 가깝다.[2] 수리논리에서도 공리적 집합론에서도 집합이 무엇인지 정의하지는 않는 경우가 많다. 먼저, 공리적 집합론에서 대표적으로 채택하는 공리계인 ZFC에서는 집합론에서 사용되는 모든 오브젝트가 집합이고, 공리들은 에 관한 공리들이다. 반면 NBG나 MK라는 공리계에서는 집합을 '다른 class[3]의 원소인 것'으로 일단 정의하기는 하고 class는 위에서 말한 직관적 집합론에서의 개념과 좀 비슷하다. NBG나 MK가 아니더라도 여러 가지 공리계들 또는 공리들의 관계를 탐구할 때 그 도구로써 '이러이러한 것만 집합이라고 새로 가정하면 어떤 일이 일어나는가'를 살펴보기도 한다.

왜 이렇게 되는가 하면, 집합 개념을 단순히 직관적으로 '어떤 성질을 만족시키는 것들의 모임'이라고만 해버리면 러셀의 역설과 같은 여러 가지 역설이 생기기 때문이다. ZFC(선택 공리를 추가한 체르멜로-프랭켈 집합론)에서는 이를 피하기 위해서 집합을 좀 느슨하게 '집합론의 공리를 만족시키는 대상들'이라고 제시한다. 공리는 규정되어도 그 공리를 만족시킬 수 있는 대상들 전체는 한 가지로 규정되지 않기 때문에(괴델의 불완전성 정리 등등에 의하여) 이를 두고 집합을 정의했다고 할 수는 없다. NBG(폰 노이만-베르나이스-괴델 집합론)이나 MK(모스-켈리 집합론)의 경우도 집합을 class의 원소인 것이라고는 했지만 class다운 class는 대개 조건제시법으로 제시되는 편이라서, NBG나 MK의 정의가 '구체적으로 무엇무엇만이 집합인지 정의한 것'은 아니다.(어떤 조건을 만족시키는 것에 무엇무엇이 있는지의 문제는 때때로 매우 복잡해진다.)[4]

또는, 무언가를 정의하기 위해서는 이미 정의되어 있는 개념이거나 정의하지 않고 사용하는 개념인 것이 미리 있어야 하는데, 수학에서 그러한 '바탕'으로 대표적으로 이용되는 것이 집합이다. 이런 맥락에서 현대 수학의 거의 모든 분야는 집합이란 개념을 통하여 발전하였다. 이때문에 집합이란 개념의 이용은 현대 수학을 이해하는 데 가장 기초적으로 필요한 소양이다. 중고등학교 수학의 첫 단원이 집합인 것도 이러한 맥락에서이다.[5]

칸토어 이후의 수학은 기본적으로 집합론을 기초로 하여 성립돼 있다. 대수, 해석, 위상 등등의 모든 이론을 시작할때 집합이 들어가는 것은 이러한 이유. 연속, 수렴, 이항연산, 컴팩트 등 수학적으로 다룰 수 있는 대상들은 집합을 이용해 정의하고 조작할 수 있다.

이러한 집합을 더욱 심도 깊게 다루는 것이 (공리적) 집합론으로, 수학과 학부 또는 대학원 과정에서 배울 수 있다.

2 각종 용어, 개념, 연산

  • 원소: 집합을 구성하는 객체. 집합과 마찬가지로 직관적으로 받아들이고 시작하는 개념 중 하나이다.[6]
집합은 주로 대문자, 원소는 주로 소문자로 표기하나, 현대수학은 모든 대상은 집합의 일종이라 보는 경우가 많기에 맥락에 맞게 이해하여야 한다.[7]
'[math]a[/math]는 집합 [math]A[/math]의 원소이다.'는 [math]a\in A[/math]로 표시한다. [8]
  • 원소 나열법: 집합을 중괄호와 원소를 이용하여 서술하는 방법. '집합 [math]A[/math][math]2, 3, 4[/math]를 원소로 가지고 있다.'를 [math]A=\left\{2, 3, 4\right\}[/math]로 표시한다. 집합에 어떤 원소가 있나 금방 볼 수 있지만 집합의 특성을 설명하거나 무한집합을 다룰 때 취약하다.
  • 조건 제시법: 집합을 집합에 포함되는 원소의 조건을 이용하여 서술하는 방법. {원소|원소의 특성}으로 사용한다. [math]\left\{2, 3, 4\right\}[/math]를 조건 제시법으로 표시하면 [math]\left\{n|n\right.[/math][math]1[/math]보다 크고 [math]4[/math] 이하인 자연수.[math]\left.\right\}[/math], [math]\left\{n\in \mathbb{N}|\mathbb{N}\right.[/math]은 자연수의 집합. [math]\left.2\leq n\leq4\right\}[/math] 등이 된다.[9] 무한집합을 다룰 수 있으나 특정 객체가 집합의 원소인지 확인하는 건 어렵다.[10]
  • 공집합: 원소가 없는 집합. 공집합 역시 직관적으로 받아들이고 시작하는 개념 중 하나.[11] 집합론의 추상성을 처음 느낄 수 있는 개념이다. 공집합을 나타내는 고유의 기호 [math] \emptyset [/math][math]\phi[/math]와 아주 비슷하게 생긴 기호인데, 엄격하지 않은 책에서는 편의상 그리스 문자 [math]\phi[/math](phi)로 나타내기도 한다. 한때 중고등학교 교과서 등에서도 그리스 문자로 나타내었기에 제대로 알고 있지 않은 경우가 많다.
  • 벤 다이어그램: 집합은 단일폐곡선으로, 원소는 점으로 나타내 집합간의 간단한 관계를 표현하는 다이어그램. 2차원 공간에 단순도식화하여 표시하는 것이므로 아무래도 복잡한 집합 관계는 표현하기 힘들다. 또한, 벤 다이어그램은 증명에 사용될 수 없다! 증명을 제대로 배우지 못한 학생들에게 집합 증명문제를 주면 벤 다이어그램을 그려오는 학생들이 상당히 많은데, 그 증명을 보는 사람에게 직관적인 이해를 돕기위해 사용할 수는 있어도, 증명으로서의 가치는 없다. 명심하자.
  • 부분집합: 한 집합의 원소들로만 구성한 집합. 공집합은 모든 집합의 부분집합이며, 모든 집합은 자기 자신의 부분집합이다. '[math]A[/math][math]B[/math]의 부분집합이다.'는 [math]A\subset B[/math] 또는 [math]A\subseteq B[/math]로 표현한다. 부분집합이되 원래 집합과 같지 않음을 강조하게 위해서는 진부분집합이라고 부르기도 하며 [math]A\nsubseteq B[/math] 로 나타낸다. 중고등학교 교육과정에선 전자만을 사용한다.
  • 상등: 서로 같은 집합을 말한다. '[math]A[/math][math]B[/math]의 부분집합이면서 동시에 [math]B[/math][math]A[/math]의 부분집합인 경우', 즉, [math]A\subset B[/math]이면서 [math]B\subset A[/math]도 성립하는 경우 등호를 써서 [math]A=B[/math]로 나타낸다. 예를 들어, 집합 [math]A[/math]를 '2의 배수인 자연수'로 정의하고 집합 [math]B[/math]를 '짝수인 자연수'로 정의하면 [math]A[/math][math]B[/math]는 둘 다 [math]\left\{2, 4, 6, 8, 10,\cdots \right\}[/math] 이렇게 똑같이 가므로 이 때 [math]A[/math][math]B[/math]는 상등이 성립한다. 앞서 말한 '진부분집합'이 '부분집합이지만 상등은 성립하지 않는 집합'을 말하는 것이다.
  • 차집합: 두 집합 사이의 겹치는 원소를 제외하는 연산. '[math]A[/math] 차집합 [math]B[/math]'는 [math]A-B[/math] 또는 [math]A \backslash B[/math]라 쓴다. 조건제시법으론 [math]A-B=\left\{a|a\in A \land a\notin B\right\}[/math].
  • 여집합: 전체집합 [math]U[/math]가 먼저 결정되어 있을 때, 해당 집합의 원소를 제외한 나머지를 모은 집합. 일반적으론 [math] A^{c} [/math] 로 표기하지만 어디에서 여집합을 하는 것인지 명확히 하기 위해 전체집합에서 [math]A[/math]를 차집합한다는 의미로 [math]U \backslash A[/math]로 쓰는 경우가 더 많다.
예를 들자면 무리수 집합을 나타내는 ℚ[math] ^{c} [/math] 의 경우, 전체 집합을 암묵적으로 실수로 보는 경우이다. 복소수를 전체집합으로 본다면 ℚ[math] ^{c} [/math] 는 무리수가 아닐 수 있기 때문에 명확하게 표현하기 위해 차집합을 [math]\backslash[/math]로 쓰는 것.
  • 교집합: 여러 집합의 공통 원소를 모은 집합. '[math]A[/math][math]B[/math]의 교집합'은 [math]A\cap B=\left\{a|a\in A\right.[/math] 그리고 [math]\left. a\in B\right\}[/math]라 쓴다.
  • 합집합: 여러 집합의 원소를 모두 모은 집합. '[math]A[/math][math]B[/math]의 합집합'은 [math]A\cup B=\left\{a|a\in A\right.[/math] 또는 [math]\left. a\in B\right\}[/math]라 쓴다.
교집합과 합집합을 두 개의 집합이 아닌 여러 개의 집합에 대하여 행할 때는 합 기호([math]\Sigma[/math])를 사용할 때처럼 인덱스를 쓴다. [math]U_{i=1} ^ {n} A_i[/math] 같은 식으로.
  • 곱집합: 여러 집합의 각 원소들로 이루어진 순서쌍의 집합. 두 개의 집합 [math]A, B[/math]가 있을 때, '[math]A[/math][math]B[/math]의 곱집합'은 [math]A\times B=\left\{\left(a,b\right)|a\in A\right.[/math] 그리고 [math]\left. b\in B\right\}[/math]로 쓰인다. 예를 들어, [math]A=\left\{1, 3, 5, 7, 9\right\}[/math] 이고 [math]B=\left\{0, 2, 4, 6, 8\right\}[/math]이라면 [math]A\times B=\left\{\left(1, 0\right), \left(1, 2\right), \left(1, 4\right),\cdots,\left(9, 6\right), \left(9, 8\right)\right\}[/math]이다. 또, [math]A^n[/math] 로 표시하면 [math]A[/math]끼리 [math]n[/math]번 곱했다는 의미이며, 이를 이용해 좌표계[math]^n[/math] 으로 정의하곤 한다. 교환법칙결합법칙이 성립하지 않는다. 행렬이나 벡터와 깊은 연관성이 있으며, 선형대수학 이상의 수학에선 기본으로 먹고 들어가는 개념.
  • 멱집합: 어떤 집합의 모든 부분집합을 모은 집합. '[math]A[/math]의 멱집합'은 멱집합의 영어 표기인 Power set에서 [math]P[/math]를 따와 [math]P\left(A\right)[/math]로, 혹은 [math]2^A[/math]로 표현한다 . 예를 들어 [math]P\left(\left\{1,2,3\right\}\right)=\left\{ \emptyset,\left\{1\right\},\left\{2\right\},\left\{3\right\},\left\{1,2\right\},\left\{1,3\right\},\left\{2,3\right\},\left\{1,2,3\right\}\right\}[/math].추가로 어떤 집합의 멱집합은 그 집합에 대해 위상을 이루는데, 이 위상을 이산위상이라 하고 [math]A[/math]에 대한 이산위상을 [math]\left(A,D\right)[/math]로 나타낸다. 이산위상의 모든 원소는 개집합이면서 동시에 폐집합이다. 현대 집합론에서 멱집합이 존재한다는 것은 공리로 받아들인다.
  • 전체집합: 다루어지는 모든 대상을 포함한 집합. 최근 현대 수학체계에서는 인정하지 않는다.

2.1 집합의 크기, 농도

집합이 얼마나 많은 원소를 가지고 있는가, 어느 집합이 더 많이 원소를 가졌는가의 개념을 생각할 수 있는데, 그 비교는 일반적으로 두 집합 사이에 일대일 대응(bijection)이 존재하는가, 그렇지 않다면 어느 집합에서 어느 집합으로 일대일 함수(injection)이 존재하는가 등을 통하여 이루어진다. 그렇지만 유한집합의 경우 간단히 원소를 하나씩 센 결과를 그 척도로 쓰면 편리할 것이다. 따라서 [math]\left|A\right|[/math]로 유한집합 [math]A[/math]의 원소의 수를 나타낸다. 중고등학교 교육과정에서 사용하는 [math]n\left(A\right)[/math]는 학부 이상의 수학에선 사용하지 않는 표기.

무한집합에서도 [math]\left|A\right|[/math]의 개념을 만들 수 있는데, 이는 크기보다는 농도 또는 기수(cardinal)라고 불린다. 표기법도 똑같이 [math]\left|A\right|[/math]인데, 유한집합에서는 하나씩 세는 과정, 즉 자연수 개념을 이용했다면 무한집합에서는 초한기수(cardinal number)라는 새로운 개념을 이용하여 정의한다. [12]

두 집합 사이에 일대일 대응 함수(bijection)가 존재하면 두 집합의 농도가 같다고 한다. 소수의 집합, 자연수의 집합, 정수의 집합, 유리수의 집합은 모두 농도가 같지만, 실수의 집합은 이보다 농도가 크다. 그리고 실수의 집합과 복소수의 집합의 농도는 같다.

유한집합에선 한 집합이 다른 집합의 진부분집합이면 크기가 반드시 다르지만, 무한집합의 농도는 이 성질이 성립하지 않는다. (자연수의 집합이 정수의 집합의 진부분집함임에도 농도가 같다.) 데데킨트는 이부분에 착안하여 이것을 가지고 무한집합을 정의하기도 하였다. 이때문에 무한집합의 농도 비교는 비수학전공자가 가장 많이 헷갈리는 개념 중 하나. 오죽하면 무한집합의 농도 비교, 0.999…=1 , 몬티홀 문제를 '3대 인터넷 수학 떡밥'이라고까지 할까.

3 관련항목 및 바깥고리

러셀의 역설을 제시하여 공리적 집합론의 필요성을 일깨운 수학자이자 철학자.
칸토어 집합론, 러셀의 역설, 힐베르트 형식주의로 이어지는 집합론/수리논리의 역사가 설명되어 있다.
  1. 사실 이 말은 무의미하다. 아무 조건 없이 모아만 놓아도 다 집합이 된다.
  2. 수리논리 또는 컴퓨터과학의 결정 문제(decidable problem)를 생각하면 국립국어원의 설명은 미묘한 감이 있다.
  3. 여기서 class는 전공 용어인데 전통적으로 정의되어 있던 집합론에 러셀이 러셀의 역설을 제기하며 집합 스스로를 해당 집합의 원소로 다시 포함시킬 경우 전통적인 집합론이 무너지는 것을 보였다. 이 이후로 러셀의 역설에 무너지지 않는 집합이 정의되었고 이를 class라 한다.
  4. 덧붙여 이 글 내에 ZFC의 공리가 9개라는 진술이 있었는데, 엄격히 말하면 ZFC의 공리는 무한히 많다. ZFC 중에서 '임의의 집합 [math]A[/math], 임의의 조건 [math]p\left(x\right)[/math]에 대하여 [math]A[/math]의 원소이면서 [math]p\left(x\right)[/math]를 만족시키는 [math]x[/math]들만을 따로 모은 새로운 집합이 존재한다'를 엄격히 취급할 때는 조건의 개수만큼 그에 대응하는 공리가 있는 것으로 다룬다. 이런 식으로 ZFC와 MK는 무수히 많은 공리를 가지고 있고, NBG는 '조건' 등이 사용되는 부분을 모두 피해갈 수 있는 방법이 있어서 유한한 공리만으로 기술될 수 있다.
  5. 다만, 중고등학생은 현대수학을 안 배우는 데다가. 증명을 거의 다루지 않기때문에 수학을 배운다고 보기도 힘들다. 오히려, '그리고', 또는', '~이면 ~이다' 등의 논리 개념이나 확률에서의 합사건 등을 좀더 짜임새있게 취급하게 하는 도구로써 배운다고 보는 것이 맞을 것이다.
  6. 좀 더 엄밀하게 말하자면 정의하지 않고 받아들이는 개념. 무정의 용어라고도 한다.
  7. 모든 집합의 모임이라는 것은 집합이 아니지만, 충분히 생각해 볼 수 있을 만한 것이다. 그 외에도 모든 벡터공간의 모임 등등 생각할 법하지만 집합이 아닌 것들이 있는데, 이들을 class, 정확히는 proper class로 분류하고 이용하는 경우도 있다. NBG나 MK는 이쪽이고 카테고리 이론에서도 class가 꽤 자주 나타난다.
  8. 수학에서 상당히 자주 보는 표현인 existence의 축약어에 해당하는 기호 [math]\exists[/math]와 헷갈리므로 [math]A\ni a[/math]는 거의 사용하지 않는다.
  9. 바(bar;|) 대신 콜론(:)을 사용하기도 한다.
  10. '무리수의 집합'이란 개념은 쉽지만, [math]e^\pi[/math] 가 무리수인지(=무리수의 집합의 원소인지 아닌지)를 판단하는 건 원소나열법과는 달리 어렵다는 의미이다.
  11. 공리적 집합론에선 공리를 통해 공집합의 존재성을 보일 수 있다. 또는 아예 처음부터 공집합이 존재한다는 공리(존재 공리, axiom of existence)를 깔기도 한다.
  12. 농도는 사실상 크기와 유사한 개념이라, 집합론이 아닌 맥락에서 집합의 농도를 이야기하는 다른 분야의 수학책에선 size라 간단히 말하기도 하며, 집합론 내에서도 농도 자체에 크기개념을 적용한 Large cardinal 같은 용어도 있다.