고등학생도 이해하는 현대수학 (대수학편)

대수적 구조와 분류문제

by 최병호

-본 글은 2025-08-12부터 작성을 시작하였고 8월 23일에 작성을 완료하였습니다.

-본 글의 작성에는 구글 AI studio를 이용한 Gemini 2.5 Pro LMM모델의 도움을 받았습니다.

-본 글을 작성함에 있어, 최대한 쉽게 내용을 작성하려고 하였으나 작가의 미숙함으로 인하여 상당히 내용이 길어진 점에 있어서 독자분들께 심심한 사과의 말씀을 전합니다. 그래도 전문적인 배경 지식 없이 고등학교(혹은 중학교) 수학 과정을 이수하신 분들이 충분히 이해할 수 있도록 작성하였으나, 본문의 일부 심화적인 내용은 배경지식이 필요할 수 있습니다(해당 단락에는 †표지를 해놓습니다. 해당 부분을 읽지 않아도 전체적인 글의 내용을 이해하는데 무리가 없습니다).

-본 글의 내용에 있어 작가의 미숙함과 내용을 최대한 쉽게 풀어내려는 노력 및 오타로 인하여 일부 수학적인 오류가 존재할 수 있습니다. 그러한 부분이 있다면 작가에게 이메일을 통해 알려주신다면 정말 감사하겠습니다.

-본 글의 저작권은 저자에게 존재하며, 허가받지 않은 상업적 이용 및 AI모델 등의 학습에 이용할 수 없습니다.


0. 서론, 대수학(Algebra)의 아름다움


Die Mathematik ist die Königin der Wissenschaften, und die Arithmetik ist die Königin der Mathematik.
수학은 과학의 여왕이고 정수론은 수학의 여왕이다.
-Carl Friedrich Gauß-


역사상 가장 위대한 수학자 중 한 명인 수학자 가우스는 왜 정수론(Arithmetik)을 수학의 여왕 이라 칭하며 극찬했을까요? 아마도 그것은 1, 2, 3...과 같은 단순한 숫자들 사이의 관계 속에서 발견되는, 경이로울 정도로 아름다운 '구조(structure)' 때문이었을 겁니다. 현대 수학의 심장은 바로 이 '구조'를 탐구하고, 혼돈처럼 보이는 세상 속에서 본질적인 질서를 발견하는 데 있습니다.

이 지점에서 우리는 근본적인 질문과 마주합니다. "그래서, 우리는 수학을 왜 배울까?"

많은 이들에게 수학은 끝없는 계산의 반복처럼 느껴질지도 모릅니다. 하지만 현대 수학의 세계로 한 걸음 더 깊이 들어와 보면, 수학의 본질은 계산이 아닌, 세상을 이해하고 명쾌하게 정리하는 가장 강력하고 아름다운 '언어'임을 깨닫게 됩니다. 그리고 수학이 언어임을 깨닫게 되는 그 출발에는 '대수학(algebra)'에 대한 이해가 필수불가결합니다. 오늘 우리는 수학이 언어라는 것을 체감하기 위해 우리가 현실에서 많이 하는 작업, '분류(Classification)' 에 숨겨진 수학적 원리를 탐험해보고자 합니다.

이 거대한 주제의 핵심을 꿰뚫는 하나의 예시를 들어보겠습니다. 당신이 집 주변 공원을 산책하다가, 문득 나무가 몇 그루인지 궁금해졌다고 상상해 봅시다. 열심히 세어보니 총 463그루가 있습니다. '463'이라는 숫자는 그저 막연하고 복잡하게만 느껴집니다. 그래서 당신은 나무를 종류별로 나누어 보기로 합니다. "소나무는 37그루, 은행나무는 21그루, 단풍나무는..." 이렇게 나무들을 '같은 종'이라는 기준에 따라 분류하자, 마침내 이 공원에는 총 13종의 나무가 있다는 사실을 알게 됩니다. 혼란스럽던 '463'이라는 숫자 대신, 우리는 이제 '13'이라는 훨씬 명확하고 이해하기 쉬운 숫자, 그리고 나무에 품종이라는 질서를 부여해 넣었습니다.

이처럼 무질서해 보이는 대상들 속에서 '같음'의 기준을 찾아내 그룹으로 묶어내는 것. 이것이 바로 분류의 본질입니다. 이 지극히 상식적으로 보이는 '분류'라는 행위 속에, 실은 현대 수학, 특히 대수학의 정수가 담겨 있습니다. 복잡한 현실을 명료한 수학의 세계로 가져와 질서를 부여하는 이 경이로운 여정을 함께 떠나보겠습니다.


1. 수학의 시작, 집합(set)과 함수(function) 그리고 관계(relation)


수학의 모든 출발은 집합(set)으로 부터 시작됩니다. 집합이란 대표적인 '무정의 용어'로 그 용어의 뜻이 엄밀하게 정의되지 않았지만, 통상적으로 집합은 구별될 수 있는 원소들의 모임 을 뜻합니다. 에를 들어, 대한민국 국적을 가진 사람의 모임, 1부터 10까지 자연수의 모임 등등이 모두 집합이 됩니다. 그러나 잘생긴 사람의 모임, 큰 수의 모임 등은 명확하게 구분될 수 있는 성질의 대상이 아니므로 집합이 될 수 없습니다. 이러한 집합을 구성하는 각각의 개체를 원소(element)라고 합니다.

함수(function)란, 한 집합의 각 원소를 다른 집합의 단 하나의 원소에 짝지어주는 '규칙'을 말합니다.

흔히 함수를 화살표로 표현하는데, 여기서 화살표를 주는 집합과 받는 집합은 명확하게 구분됩니다. 화살표를 주는 집합을 정의역(domain), 받는 집합을 공역(codomain), 공역에서 화살표를 실제로 받은 대상을 상(Image)라고 구분해서 부릅니다. 물론 화살표를 주는 집합과 받는 집합이 서로 똑같이 생겼을 수도 있습니다. 우리가 많이 보는 y=x같은 함수 역시 정의역과 공역이 모두 실수인 함수입니다. 이렇듯 함수의 정의역과 공역이 같을 때 구분해주기 위해서 특별한 용어(endomorphism, operator)등을 사용하기도 하지만, 지금은 크게 중요하지 않은 것 같으니 넘어갑시다.

아래 그림은 고등학교 교과서 등에서 흔히 볼 수있는 함수의 예시를 나타낸 그림입니다.

< 그림 1: 함수의 정의 >

이러한 함수는 사실 관계(relation)이라는 수학적인 정의로 일반화 될 수 있습니다. 관계를 알아보기 앞서,

카르테시안 곱(Cartesian product)에 대해서 짧게 알아보겠습니다. 카르테시안 곱은 두 집합을 이용하여 새로운 집합을 생성하는 대표적인 방법입니다. 예를 들어, 집합 A, B가 존재할 때 A,B의 카르테시안 곱을 새로운 집합으로 정의할 수 있고 그 집합의 원소는 (a,b)가 되고(a,b는 각각 집합 A,B의 임의의 원소), 이렇게 새롭게 정의된 집합을 A×B라고 표기합니다. 우리가 흔히 중고등학생 때 배우는 좌표평면과 그 원소 중 하나인 (3,3)을 떠올려 보겠습니다. 이러한 좌표평면은 실수 집합인 R 두개의 카르테시안 곱으로 만들어진 것으로 볼 수 있고, R×R 또는 간단히 R^2 등으로 나타냅니다(^는 지수를 나타냄).


이제 관계(relation)에 대해서 알아보겠습니다. 여기서는 특히 이항 관계(binary relation)을 주로 다루겠습니다. 집합 X가 존재할 때 집합 X위의 관계(이항 관계)라는것은 X×X(X집합 2개의 카르테시안 곱)의 임의의 부분집합을 말합니다. 쉽게 말해, 어떤 집합의 (이항)관계란 그 집합의 원소 2개로 이루어진 순서쌍들을 원소로 가지는 임의의 집합입니다. 일반적인 관계는 별로 재미있는 것이 없기 때문에, 수학자들은 특별한 관계인 동치 관계(equivalence relation)에 주목합니다. 동치 관계는 수학에서 같은 것을 나타내기 위한 용어로 다음의 세가지 성질을 모두 만족한는 특별한 관계를 의미합니다. 실생활에서는, 나이를 예시로 삼으면 이해하기 쉬울 것입니다. 참고로 동치 관계를 나타내는 대표적인 기호는 ~ 입니다. a,b가 서로 동치관계가 있을 때 a~b로 나타내거나, 심지어 어떤 사람들은 아주 편하게 a와 b가 같다(말은 같다고 하지만 a=b같은 기호는 잘 쓰지는 않는 것 같습니다.)라고 얘기하기도 합니다(그것이 비록 실제로는 같지 않더라도!).

반사성: 모든 원소는 자기 자신과 관계를 맺는다. (나는 나와 나이가 같다.)

대칭성: 만약 a가 b와 관계를 맺으면, b도 a와 관계를 맺는다. (내가 철수와 나이가 같다면, 철수도 나와 나이가 같다.)

추이성: 만약 a가 b와 관계를 맺고, b가 c와 관계를 맺으면, a도 c와 관계를 맺는다. (내가 철수와 나이가 같고, 철수가 영희와 나이가 같다면, 나도 영희와 나이가 같다.)

(동치 관계가 만족해야 하는 세 가지 성질, 친구 관계는 동치관계일까요? 이건, 철학적인 질문에 가깝습니다..)


이러한 동치 관계는 아주 중요한 성질을 지니게 되는데 바로 집합을 서로 겹치지 않는 부분집합들로 분할(partition)한다는 점입니다! 예를 들어 우리반 학생들을 혈액형(A, B, O, AB)에 따라서 분류하면 서로 겹치지 않는 4가지 그룹으로 나누고 모든 학생은 정확히 하나의 그룹에만 속하게 될 것입니다(혈액형 관계가 우리반 위에서의 동치관계라는 사실에 주목하세요!). 이렇게 동치관계에 의해 묶은 그룹을 동치류(equivalence class)라고 부릅니다. 거꾸로 그림과 같이 a부터 f까지를 원소로 가지는 집합을 생각하고 그림과 같이 선으로 구분(분할)한 다음 같은 구역에 속한 원소들에 동치관계를 부여해보겠습니다.

< 그림 2 : 집합의 분할 >

수학적인 기호로 쓰면 이 집합에 a~b,c~d,e~f인 동치관계를 부여할 수 있고 이는 분할로부터 자연스럽게 얻어집니다. 결론적으로, 집합에 동치관계를 부여하는 것과 집합을 분할하는 것은 본질적으로 차이가 없다고 할 수 있습니다! 이를 수학에서 동치관계의 기본정리(fundamental theorem of equivalence relation)라고 부르기도 합니다. <참고로, 수학에서는 특정 분야의 중요한 이론적 토대가 되는 정리들에 기본정리(fundametal theorem)라는 이름을 붙이는 경우가 많습니다.>

이제 마지막으로 동치 관계의 수학적인 예시를 하나 살펴보고 1장을 마무리 해볼까 합니다. 우리가 살펴볼 집합은 정수 집합 Z 입니다. 이 정수집합에 '7로 나눈 나머지가 같으면 같다' 라는 동치 관계를 주면 어떻게 될까요? 먼저 음수의 나머지는 이렇게 정해보겠습니다 '해당 숫자에 7을 계속 더했을 때 나오는 0이상 6이하의 수'. 예를 들어 -4를 7로 나눈 나머지는 -4에 7을 한번 더하면 3이므로 3, -12를 7로 나눈 나머지는 -12에 7을 두번 더하면 2 이므로 2 입니다. 이제 여러분은 정수를 7로 나눈 나머지가 같은 7개의 그룹(나머지가 각각 0,1,2,3,4,5,6)으로 분류할 수 있고 이것이 동치 관계에 의해서 자연스럽게 나눠짐을 이해할 수 있습니다.

사실 이 예시는 정수론에서의 합동식(congruence)와 관련이 있지만 본 편에서는 자세한 내용은 생략합니다.


2. 대수학과 대표적인 대수 구조 군(Group) 그리고 동형사상(Isomorphism)


1장에서 우리는 '같은 품종의 나무', '같은 혈액형을 가진 반 친구', '7로 나눈 나머지가 같은 정수' 등의 집합의 원소들을 '동치관계'라는 강력한 수학적인 도구로 분류하는 방법을 알아보았습니다. 그리고 이러한 동치관계가 사실 거대한 집합의 원소들을 의미 있는 그룹(동치류)로 나누는, 즉 분할(partition)과 완전히 같다는 사실을 이해했습니다. 우리가 해야될 작업은 이것과 크게 다르지 않습니다. 하지만 2장부터는 현실과는 조금 떨어진 수학의 세계로 들어가 보겠습니다.

그 출발은 먼저 우리가 분류하는 원소가 집합 그 자체가 될 수 있다는 것을 이해하는 것입니다. 1장에서는 하나의 공원(집합)에서 공원에 심어진 나무(원소)를 분류하는 작업을 했습니다. 하지만 시선을 다르게 해서(본인이 환경부 또는 국토교통부의 공무원이라고 생각하고) 우리나라의 모든 공원(집합)에서 각각의 공원(원소)를 분류하는 작업이 필요할 때가 있습니다. 물론, 분류기준은 크기, 목적, 위치 등 다양한 분류 기준이 있을 수 있습니다. 중요한 것은 어떤 집합의 원소가 (다른) 집합인 것은 크게 이상한 것이 아니라는 것입니다!


2장에서 우리의 궁극적인 목표는, 특정 집합에 속하는 모든 집합들을 같은 것은 같은 것 끼리, 다른 것은 다른 것 끼리 분류하는 것입니다. 이제 작업을 수행하기 위해서 아래의 두 가지 목표를 세우고 차례대로 해결해 보도록 하겠습니다.

- 특정 집합을 분류하는 것이 2장의 목표라고 하였는데, 그렇다면 어떤 집합을 분류할 것인가?

- 우리가 분류해야 할 그 집합을 어떠한 기준으로 집합을 분류할 것인가?


우리가 분류해야 할 집합을 알아보기 위해서 먼저 대수학에 대해서 설명해보겠습니다. 대수학은 대수 구조(algebraic structure)와 그 연산 및 성질에 대해서 탐구하는 학문입니다. 쉽게 말해서 수학에서 계산이 되는 모든 것들이 대수학과 관련이 있다고 볼 수 있습니다. 예를 들어, 2+3=5 같이 ’정수’에서 ‘더하기’라는 계산을 할 수 있다는 것을 우리는 아주 잘 알고 있습니다. 이처럼 대수학에서는 연산(앞으로 조금 정확한 수학적 표현을 위해서 계산 대신 연산 이라는 단어를 이용하겠습니다)의 대상이 되는 집합(앞의 예시에서는 2,3을 원소로 가지는 정수들의 집합)과 연산을 묶어서 ’대수 구조(algebraic structure)'라는 이름으로 부릅니다. 즉, 정수 집합(기호로 Z로 나타냄)과 +(더하기) 연산을 합친 (Z,+)는 대수 구조가 됩니다. 대수 구조에는 다양한 종류가 있으며, 연산을 1개 가진 대수 구조도 있는 반면, 2개 이상의 연산을 가지는 대수 구조도 존재합니다. 본 편에서는 연산을 2개 이상 가지는 대수 구조에 대해서는 소개하지 않고 넘어가겠습니다.


그러면 오늘 우리가 분류해야 할 대수 구조인 군(group)을 알아보겠습니다. 군은 가장 기초적인 대수 구조로, 집합과 그 집합에 작용하는 연산 1개로 구성됩니다. 앞에서 소개했던 정수와 더하기, 그리고 실수와 곱하기 등이 모두 군이 될 수 있습니다. 군의 자세한 수학적 정의는 다음과 같습니다(시험보는 것도 아니고 이것을 외울 필요는 전혀 없습니다).


"집합 G가 공집합이 아니고(공집합일 경우 연산할 게 없으니 의미가 없으므로!) 그 집합위에 정의된 닫힌(closed) 이항 연산 *가 존재하여 아래의 세 조건을 만족한다면, 집합 G 와 *를 묶어 군(group) 이라고 한다

1. 연산 * 은 결합법칙을 만족해야 한다. 즉, (a*b)*c = a*(b*c) 이다.

2. 군의 원소로, 항등원 e가 존재하여 군의 임의의 원소 g에 대하여, e*g=g이고, g*e=g이다.

3. 군의 임의의 원소 a마다 그것의 역원 a^(-1)가 존재하여, a*a^(-1)=a^(-1)*a=e 이다. "


여기서 닫힌(closed) 이항 연산이라는 것에 주목해 보겠습니다. 닫힌 연산이라는 것은 연산의 결과가 집합을 벗어나지 않는 것을 의미합니다. 정수를 두개 더해도 여전히 정수이기 때문에 정수의 더하기 연산은 정수 집합에서 닫혀 있습니다. 그러나 정수의 나눗셈은 어떨까요? 3 나누기 4는 3/4로, 정수끼리 나누었을 때 정수가 아닐 수 있습니다! 따라서 정수 집합에서 나눗셈 연산은 닫혀 있지 않습니다. 즉 닫힌 연산이라는 것은 연산의 결과가 엉뚱한 대상으로 벗어나지 않음을 보장해 줍니다. 우리가 군(group)을 체크할 때 첫 번째로 체크해야 할 것은 연산이 잘 닫혀있는지 확인하는 것입니다.

다음으로, 군의 연산은 결합법칙을 만족해야 합니다. 결합법칙을 만족한다는 것은 연산을 할 때 괄호를 어떻게 치는지에 따라 상관이 없다는 것입니다. 더하기를 생각해보면 우리는 보통 2+3+5 라고 편하게 작성하지 ((2+3)+5) 라고 잘 작성하지 않습니다. 그러한 이유는 (2+3)+5 가 2+(3+5) 와 결과가 같기 때문입니다. 즉 결합법칙은 ‘괄호를 어떻게 치든 지 상관없이 연산의 결과가 같은 성질’을 의미한다고 볼 수 있습니다. 만약 괄호를 치는 방법에 따라 연산의 결과가 바뀐다면, a*b*c*d 라는 평범한 식의 결과도 괄호치는 방법에 따라 총 5가지의 경우의 수가 존재할 수 있으므로 너무 복잡하게 됩니다. 우리는 이러한 상황은 원하지 않기 때문에 결합법칙이 성립하는 경우에만 한정하여 이야기를 진행해 보도록 하겠습니다.

마지막으로 항등원(identity)과 역원(inverse)의 존재입니다. 항등원은 군의 고유한 원소로써, 임의의 군의 원소 g와 연산할 때 g가 나오는 원소입니다. 0을 생각해보면 이해가 쉽습니다. 0은 어떠한 정수와 더해도 그 정수가 연산에 의해서 바뀌지 않습니다. 3 더하기 0도 3이고 -5 더하기 0 도 -5입니다. 이처럼 모든 군의 원소에 대하여 연산을 해주어도 바뀌지 않는 원소가 군에 반드시 존재해야 하며 우리는 그것을 항등원(identity)이라고 부르며 기호로는 보통 e를 사용합니다. 또한 군에는 각각의 원소들마다 그것의 역원(inverse)이 존재해야 합니다. 역원이란 항등원과는 달리, 고유한 원소를 지칭하는 것이 아닌 상대적인 개념입니다. 즉, 서로 다른 군의 원소 a와 b의 역원은 서로 다를 수 있습니다. 역원은, 그 원소와 연산하여 항등원이 되는 원소로, 정수 집합에서는 특정 원소에 마이너스를 붙인 원소가 그 원소의 역원이 됩니다. (예, 4의 역원은 -4)


군의 수학적인 정의를 보면 굉장히 어렵고 딱딱한 것 처럼 보일 수 있습니다. 그러나 위의 '정수의 더하기 군' 예시를 통해서 이해하면 군은 우리가 이미 알고있고 많이 접해본, 우리에게 매우 친숙한 개념입니다.

우리의 시야를 조금 더 넓혀보기 위해 이번엔 조금 익숙하지 않은 군을 소개해 보겠습니다.

집합 X = { 1,2,3,4 } 에 대하여, X를 정의역과 공역으로 하는 일대일함수(surjective function)을 생각해 보겠습니다. 그러면 이 함수는 치역과 공역이 같게 되므로 일대일대응(bijection, 1-1 onto) 함수가 됩니다.

이러한 함수는 총 24가지가 있으며 이제 이 24가지 함수의 집합을 S₄라고 이름붙여 보겠습니다(S₄의 숫자 4는 원소가 4개임을 의미합니다).

자, 이제 우리의 손에는 24개의 함수를 원소로 가지는 새로운 집합 S₄가 쥐어졌습니다. 잠시만요, 원소가 '숫자'가 아니라 '함수'라니, 조금 이상하게 느껴지시나요? 바로 이 지점이 현대 대수학의 추상적인 아름다움이 시작되는 곳입니다. 집합의 원소는 숫자일 필요가 없습니다. 규칙만 만족한다면 함수, 행렬, 심지어 도형의 움직임까지도 군의 원소가 될 수 있습니다.

그렇다면 이 S₄라는 집합이 군이 되려면 무엇이 필요할까요? 맞습니다! 바로 '연산'입니다. 정수 집합에 '+'라는 연산이 있었던 것처럼, 이 함수들의 집합 S₄에도 연산이 있어야 우리는 '군(group)'이라고 부를 수 있습니다. 함수 두 개를 가지고 새로운 함수를 만들어내는 연산, 고등학교 수학 시간에 배운 '함수의 합성(composition)' 이 바로 그것입니다.

두 함수 f와 g가 있을 때, f ∘ g (f와 g의 합성)는 'g를 먼저 적용하고, 그 결과에 f를 적용하는' 새로운 함수를 의미합니다. 예를 들어, S₄에 속한 두 함수 f와 g가 다음과 같다고 해봅시다.

f : 1은 2로, 2는 1로 보내고 나머지는 그대로 두는 함수 (f(1)=2, f(2)=1, f(3)=3, f(4)=4)

g : 2는 3으로, 3은 2로 보내고 나머지는 그대로 두는 함수 (g(1)=1, g(2)=3, g(3)=2, g(4)=4)

이 둘을 합성한 f ∘ g라는 새로운 함수는 숫자 2를 어디로 보낼까요?
(f ∘ g)(2) = f(g(2)) = f(3) = 3. 즉, f ∘ g는 2를 3으로 보내는군요! 이런 식으로 S₄ 안의 두 함수를 합성하면, 그 결과 역시 S₄에 속한 24개 함수 중 하나가 됩니다.

S₄는 정말 군일까요? 네 가지 규칙 확인하기

이제 집합(S₄)과 연산(함수의 합성)이 준비되었으니, 이들이 정말로 군의 네 가지 규칙을 모두 만족하는지 확인해 봅시다.

1. 닫힘 (Closure): S₄에 속한 두 함수(일대일대응)를 합성하면, 그 결과도 항상 S₄에 속한 함수(일대일대응)일까요? 네, 그렇습니다. 일대일대응 함수 두 개를 합성한 결과는 언제나 또 다른 일대일대응 함수가 됩니다!따라서 S₄는 합성 연산에 대해 닫혀 있습니다.

2. 결합법칙 (Associativity): 함수의 합성은 결합법칙을 만족합니다. 즉, 세 함수 f, g, h에 대해 (f ∘ g) ∘ h 와 f ∘ (g ∘ h)는 항상 같은 함수입니다. 이는 함수의 합성이 가진 매우 아름다운 성질 중 하나로, 우리가 괄호 걱정 없이 함수를 연달아 적용할 수 있게 해줍니다.

3. 항등원 (Identity Element): '덧셈'의 세계에서 항등원이 '0'이었던 것처럼, '함수 합성'의 세계에도 항등원이 있을까요? 네, 바로 항등함수(identity function) 입니다. 항등함수 id는 모든 원소를 자기 자신에게 보내는, 즉 '아무것도 바꾸지 않는' 함수입니다 (id(1)=1, id(2)=2, id(3)=3, id(4)=4). 어떤 함수 f에 항등함수를 합성해도 f는 전혀 변하지 않겠죠 (f ∘ id = id ∘ f = f). 이 항등함수 역시 S₄에 속한 24개 함수 중 하나입니다.

4. 역원 (Inverse Element): S₄에 속한 모든 함수 f에 대해, 그 과정을 거꾸로 되돌리는 짝꿍 함수가 존재할까요? f가 1을 2로 보냈다면, 2를 다시 1로 되돌려주는 함수 말입니다. 네, 존재합니다! 모든 일대일대응 함수는 그 역방향을 알려주는 역함수(inverse function) f⁻¹를 가지며, 이 역함수 또한 일대일대응이므로 S₄ 집합 안에 반드시 포함됩니다. 어떤 함수와 그 역함수를 합성하면 결국 아무것도 바꾸지 않은 항등함수가 됩니다.

놀랍게도, 함수 24개의 모임인 S₄는 함수의 합성을 연산으로 하여 군의 네 가지 규칙을 모두 완벽하게 만족합니다. 즉, (S₄, ∘)는 군입니다.

우리는 이제 성질이 전혀 다른 두 개의 군을 만났습니다. 하나는 (정수, +)처럼 원소가 무한히 많고, 순서를 바꿔 더해도 괜찮은(3+5 = 5+3) 조용한 세상의 군입니다. 다른 하나는 (S₄, ∘)처럼 원소가 24개로 유한하고, 합성 순서를 바꾸면 결과가 달라질 수 있는(즉, 교환법칙이 성립하지 않는! f ∘ g ≠ g ∘ f), 훨씬 역동적인 세상의 군입니다.


지금까지 우리는 2장의 첫 번째 목표 '특정 집합을 분류하는 것이 2장의 목표라고 하였는데, 그렇다면 어떤 집합을 분류할 것인가?'에 대해서 얘기해 보았습니다. 우리가 분류해야 할 집합은 바로 '군(group)'! 즉 모든 군의 집합을 분류할 것입니다. 같은 군은 같은 군끼리, 다른 군은 다른 군끼리 나누어 주는 것 그것이 우리의 궁극적인 목표입니다. 그러면 이렇게 성질이 판이하게 다른 군들을 우리는 어떻게 '분류'할 수 있을까요? 드디어 2장의 두 번째 목표, '분류의 기준' 에 대해 이야기할 때가 왔습니다.

본격적인 논의에 앞서, 한 가지 재미있는 생각을 해보겠습니다. 앞에서 살펴본 정수군(이하 Z) 와 모든 짝수<보통 짝수라고 얘기하면 0과 음의 짝수 정수(-2, -4 등)를 포함합니다>들의 집합에 더하기를 부여한 군(이하 2Z)은 서로 다른 군일까요? 누군가는 이렇게 얘기할 수 있습니다 "아니 Z는 1과 3이 있고 2Z는 없는데 당연히 다르지 않냐?". 그런데 어쩌면 저 멀리 어떤 외계인들이 사는 세상에서는 하나를 나타내는 1을 2라고 쓰고,둘을 나타내는 2를 4라고 쓸 수도 있습니다. 비슷하게 모든 우리가 쓰는 모든 정수가 두 배가 된 세상이죠! 그들의 세상에서는 우리가 쓰는 1+1은 2+2와 같고, 1+2는 2+4와 같은 것입니다. 이 외계인들이 쓰는 숫자와 우리가 쓰는 숫자는 겉보기에는 전혀 다릅니다. 그들은 홀수를 가지고 있지 않으니까요. 하지만 덧셈이라는 연산에만 집중해서 보면 우리가 쓰는 숫자 a,b,c가 그들에게는 A,B,C(A=2a, B=2b, C=2c)일 뿐 우리의 a+b=c 가 완벽하게 그들의 세계에서는 A+B=C로 번역됩니다. 즉, 이름 바꾸기의 차이만 있을 뿐 덧셈의 입장에서 본질적인 뼈대는 우리와 외계인들의 숫자 체계는 조금도 변한 것이 없습니다. 이처럼 두 군이 모습은 다르지만 '구조'가 완벽하게 동일할 때, 수학자들은 이 둘을 '같은' 것으로 봅니다. 즉, 수학자들의 눈으로 보면 Z와 2Z는(적어도 군으로써는) 서로 같습니다!


이제 우리는 '아! 두 군이 서로 이름 바꾸는 정도의 차이밖에 없어.' 라고 생각되면 두 군이 서로 같다는 것을 이해했습니다. 그런데 이건 너무 수학적이지 않은 설명인 느낌이 듭니다. 그렇다면 수학적으로는 어떠한 경우에 두 군이 같다고 얘기할까요? 이때 필요한 수학의 언어가 바로 동형사상(Isomorphism)입니다.

동형사상은 두 군이 서로 완벽하게 번역될 수 있는 관계인지를(즉, 연산을 보존하면서 이름 바꾸기가 가능한) 확인하는 수학적 도구입니다. 우리의 정수군(Z)과 외계인의 짝수군(2Z)를 번역해주는 완벽한 번역기, 즉 두 집합(Z, 2Z) 사이의 함수가 존재할까요? 네, 존재합니다 바로 f(n)=2n이라는 함수입니다. 이 함수는 우리의 숫자 n을 외계인의 숫자 2n으로 연산을 보존하면서 이름을 바꿔줄 수 있습니다.

수학적으로는, 주어진 두 군 G, H에 대하여 함수 f : G -> H 가 다음의 두 가지 조건을 만족할 때 함수 f를 G와 H사이의 동형사상(Isomorphsim)이라고 합니다.

임의의 G의 원소 a,b에 대하여 f(a*b) = f(a)*f(b) 이다.

함수 f는 일대일대응 이다.

위의 조건을 풀어서 쓰면 다음과 같습니다

(연산을 보존한다) 연산을 먼저 한 후의 함숫값과 함숫값의 연산값이 서로 같다.

(일대일대응이다) 모든 원소를 겹치지 않게 보낸다.

이제 우리는 수학이라는 언어로 두 대상(군)이 같다는 것을 정의하는 방법을 알게 되었습니다. 즉, 두 대상 사이에 일대일변환(자연어로 번역기에 비유할 수 있는)이 존재하여 그 변환이 군이 가지고 있는 연산을 보존한다면 두 대상은 수학적으로(본질적으로)는 차이가 없는 서로 같은 대상이 됩니다. 이제, 앞에서 소개했던 동치관계와 동형 두 가지 사실을 가지고 우리는 최초의 목표인 분류를 달성할 수 있을까요? 마지막 3장에서는 지금까지 우리가 준비했던 재료들을 엮어 하나의 멋들어진 요리를 완성할 시간입니다.


3.동형사상(Isomorphsim)은 동치관계(equivalence relation)이다


3장에 들어가기 전에 우리의 궁극적인 목표를 다시 한 번 정리해 보겠습니다. 이 글에서 우리의 목표는 바로 분류, 구체적으로 모든 군의 분류(classification of groups)입니다. 이 마지막 요리를 위해, 지금까지 우리는 동치관계(equivalnece relation)과 동형사상(isomorphism)이라는 두 가지 재료를 준비해 왔습니다. 이제 이 재료가 어떻게 분류라는 요리를 완성하는지 알아볼 시간입니다. 1장에서 우리는 모든 정수를 7로 나눈 나머지가 같은 그룹끼리 분류할 수 있었습니다. 정수를 이렇게 분류할 수 있었던 이유는 바로 '7로 나눈 나머지가 같다'라는 관계가 동치관계의 모든 조건을 만족했기 때문입니다. 이처럼 수학에서 분류의 출발은 모두 동치관계에서 시작합니다. 즉, 분류라는 요리를 완성하는 데 있어서 동치관계는 절대 빠질 수 없는 주재료라고 할 수 있습니다. 그리고 2장에서는, 동형사상을 이용하여 두 군이 서로 같은지 다른지 수학적으로 비교하는 방법을 배웠습니다. 동형사상이라는 재료는 바로 우리가 분류해야 할 군(group)에 동치관계를 부여하는 역할을 합니다.

즉, 정수집합에서 '7로 나눈 나머지가 같다' 라는 성질에 의하여 부여되는 동치관계와 같이. 모든 군들의 집합에서 '두 군 A, B 사이에 동형사상이 존재한다'는 성질에 의하여 동치관계를 부여할 수 있습니다.

그렇다면 과연 동형사상이 정말로 동치관계가 맞는지 검증해 볼 시간입니다. 1장에서의 기억음 더듬어보면, 집합 X위의 동치관계는 다음의 세 가지 성질을 만족해야 했습니다.

반사성(reflexiviy) : X의 임의의 원소 a에 대하여 a는 자기 자신과 관계된다. 즉, a~a

대칭성(symmetry) : X의 임의의 두 원소 a,b 에 대하여, 만약 a~b가 참이라면 b~a도 참이다.

추이성(transitivity) : X의 임의의 세 원소 a,b,c 에 대하여, a~b 도 참이고 b~c도 참이라면 a~c도 참이다.

이제 모든 군들의 집합 X위에 부여된 동형사상으로 인하여 유도된 동치관계(즉, 두 군 G, H 사이에 동형사상 f : G -> H 가 존재한다면 G~H)가 정말로 동치관계가 맞는지 위의 세 가지 성질을 확인해 보겠습니다.


첫 번째로 모든 군은 자기 자신과 동형이 됩니다. 물론 '군 G가 군 G랑 당연히 같은거 아니야?' 라고 생각할 수 도 있습니다. 그러나 우리의 언어 '수학'으로 이것을 얘기하려면 이전에 만들었던 규칙을 지켜야 합니다. 우리의 규칙 군 G, H(G와 H가 서로 반드시 다를 필요는 없습니다!)가 서로 같다는 것은 무엇이었을까요? 네 맞습니다, 바로 함수 f : G -> H 가 존재하여 일대일대응이면서 연산을 보존하면 됩니다. 그렇다면 G와 H가 서로 같은 경우에 이러한 함수 f를 찾을 수 있을까요? 이 경우는 너무 쉽게도 f가 항등함수(모든 원소를 자기 자신에게로 보내는 함수, 즉 정의역의 모든 원소 x에 대하여 f(x)=x)면 충분합니다. 따라서 첫 번째 성질은 반사성은 가볍게 통과할 수 있습니다.

다음으로, 만약 군 G가 H와 동형이라면 H는 G와 동형일까요? 역시 한국어로 쓰면 너무나도 당연해 보이는 이 문장은 수학적으로 이러한 사실을 물어보고 있습니다. '만약 동형사상 f : G -> H 가 존재한다면, 동형사상.

g : H -> G 도 항상 존재하는가?' 물론 대답은 네, 존재합니다. 이를 보장해 주는 동형사상의 성질이 바로 일대일대응입니다. 만약 동형사상 f : G -> H 가 존재한다면, 그것이 일대일대응이라는 성질에 의하여 항상 역함수

f^(-1) : H -> G 이 존재하여 이 또한 동형사상이 됩니다.(물론 이 동형사상이 연산을 보존하는지는 확인이 필요하지만 독자 여러분께 맡기고 넘어가겠습니다) 우리가 맨 처음에 동형사상을 번역기에 비유했는데, 이러한 대칭성은 마치 한영사전이 존재하면 영한사전도 존재하는지에 대한 물음과 같습니다. 완벽한 번역기라면 당연히 존재해야겠죠! 이제 동형사상이 대칭성도 만족시킨다는 것을 확인했습니다.

마지막은 추이성(transitivity)입니다. 만약 군 G와 H가 서로 동형이고(같고) H와 K가 서로 같다면, 군 G와 K는 서로 동형이 될까요? 우리의 번역기 비유를 따르자면 만약 한국어를 영어로 번역할 수 있고 영어를 일본어로 번역할 수 있다면, 한국어를 일본어로 번역할 수 있을까요? 네 당연히 가능합니다! 한국어가 영어를 경유하여 일본어로 가면 되니까요. 이처럼 중간에 다른 곳을 경유하여 목적지로 향하는 개념, 수학에서는 바로 합성함수의 개념이 여기에 들어가게 됩니다. 예시를 통해 아이디어를 얻었으니, 이제 수학적인 세팅 아래서 추이성을 확인해 봅시다. 우리가 알고 있는 사실은 군 G와 H, H와 K가 각각 서로 동형이라는 사실입니다. 이것이 무엇을 의미하나요? 네, 우리는 동형사상 f : G -> H, g : H -> K 를 가지고 있습니다. 우리가 원하는 것은 군 G와 K가 동형임을 보이는 것입니다. 이를 위해서는 동형사상 h : G -> K 를 찾아야(만들어야) 합니다. 우리가 가지고 있는 f, g로 h를 만들 수 있을까요? 두 함수를 합성한 함수 g ∘ f 가 바로 그 주인공이 됩니다. 이 함수는 f와 g를 이용하여 만들어낸 G에서 K로 가는 새로운 함수이며, 이렇게 합성한 합성함수는 동형사상의 두 가지 성질을 만족한다는 것이 알려져 있습니다! 이로인해 마지막 추이성까지 확인했습니다.


마침내 우리는 군에서의 동형(isomorphic)이 동치관계를 이루고, 이로 인하여 상상할 수 없이 많은 군들의 집합을 동형류(isomorphism class)로 분류할 수 있다는 사실을 알았습니다. 우리는 적어도 더 이상 이름 바꾸기 에 속지 않습니다. 여러분은 이제 수학자들과 같이 본질적으로 같은 군과 다른 군을 구별할 수 있게 된 것입니다. 물론 이러한 과정을 알고 있어도 각각의 군이 정말로 같은지 비교하는 작업(즉, 동형사상을 찾는 작업)은 굉장히 어렵고 노력이 필요한 작업입니다.(만약 지구상에서 나만 알고 있는 동형사상을 찾는다면 그것이 바로 논문이 됩니다!)

마지막으로 살짝 어렵지만 두 가지 군이 동형인 신기한 예시를 소개하겠습니다. 먼저 첫 번째 군은 앞에서 소개했던 원소가 4개인 집합 X = { 1,2,3,4 } 의 전단사(일대일대응)함수 와 그것의 함성함수로 이루어진 군 S_4입니다. 두 번째 군은 조금 상상력이 필요합니다. 내 앞에 정육면체 주사위가 있다고 생각하고 그 주사위를 돌리는 모든 경우의 회전을 원소로 가지는 집합을 생각해보겠습니다.(회전 과정은 중요하지 않습니다 결론적으로 얼마나 회전했는지가 중요합니다. 즉, 주사위를 횡으로 90도 돌리는 것과 450도 돌리는 것은 같은 것으로 생각합니다) 이러한 회전을 군으로 생각하려면 물론 연산이 있어야겠죠. 회전과 회전을 어떻게 더할 수 있을까요? 간단하게 그냥 회전을 이어서 하면 됩니다. 그러면 이러한 회전에 이어붙이는 연산을 추가한 것은 군이 됩니다(Q. 이 군의 항등원은 무엇인가요?). 첫 번째는 원소 4개짜리 집합의 전단사함수들의 군, 두 번째는 정육면체 주사위의 회전을 모아놓은 군 외견만 보면 두 개는 서로 관련이 없어 보입니다. 그러나 이 두 군은 동형입니다! 신기하지 않나요? 이처럼 겉으로는 잘 보이지 않는 것도 수학자들의 눈으로 보면 보이는 것들이 세상에 많이 존재합니다. 이것이 수학이라는 언어가 필요한 이유이며 또한 이 언어는 인간이 만든 언어 중 가장 논리적으로 정교하게 만들어졌기 때문에, 다른 언어들에서는 볼 수 없는 것들을 보게 해줍니다.



keyword