실수의 구성

증명편 - 자연수편(덧셈)

증명편 - 자연수편(곱셈)


이전의 두 글로 자연수 내에 주어진 연산을 엄밀하게 증명해 보았다.

좋은 소식 하나는 이렇게 대가리 빠개지게 엄밀한 증명을 한 덕에 정수, 유리수, 실수로 확장시키는 동안에는 귀납법을 사용하는 엄밀한 증명을 할 필요가 없다는 것. 역시 초반에 구를 만큼 구르면 나중에 편해지는 것은 만고불변의 진리인 듯 하다.

그리고 이렇게 쌔빠지게 증명을 한 자연수의 연산에 대한 성질은, 정수편부터는 "당연한 것"으로 여기도록 하자.


실수의 구성에서 나는 단순하게 자연수에 부호를 주는 대신 N² 상에 주어진 동치류를 이용하여 정수를 정의하는 방법을 쓸 것이다.

왜냐하면 이게 경우를 안 나눠도 되거든. 그만큼 편리하고.


동치류를 논하기 이전에 정의를 정확하게 알아야겠지. 동치류를 알기 전에 먼저 동치관계에 대한 정의를 알아보자. 여기 상주하는 사람들이라면 이미 어느 정도 알고 있을 테지만 그래도 유동이라거나 아니면 고등학생 중학생들을 위해서 설명해 주는 게 도리겠지.

무엇보다 이 글 컨셉이 엄밀한 증명인데, 정의를 대충 날려버리다니 언어도단이다.


어떤 집합 S 내의 이항관계는 대부분 R로 표기한다. 이건 Relation의 앞글자를 따 온 것이다.

이항관계는 그냥 R⊆S²을 만족시키기만 하면 된다. 더 이상의 조건이 크게 필요가 없다.

이제 이 이항관계 중 특수한 것을 동치관계라고 하는데, 그 이전에 (a, b)∈R을 aRb로 나타내기도 한다. 이 표기법이 상당히 간편하다는 것.


이제 동치관계의 정의를 보자. S 내의 이항관계 ~가 임의의 a, b, c∈S에 대해서 다음 세 조건을 만족시킬 때 이것을 동치관계라고 한다.

반사율(Reflexive) : 항상 a~a

대칭률(Symmetry) : a~b이면 항상 b~a

추이율(Transitive) : a~b, b~c이면 항상 a~c


자, 그럼 저 글에서 정의된 (a, b)~(c, d)⇔a+d=b+c가 동치관계가 되는지를 증명하여 보도록 하자.


Z-Prop 1. ~는 N² 상의 동치관계이다.

Reflexive) a+b=b+a이 되므로, (a, b)~(a, b)이다. ■

Symmetry) (a, b)~(c, d)이면 a+d=b+c이고, 이는 c+b=d+a랑 같은 말이기 때문에 (c, d)~(a, b)이다. ■

Transitive) (a, b)~(c, d), (c, d)~(e, f)이면 a+d=b+c, c+f=d+e이다. 이 두 식을 변변 더하면 a+f+c+d=b+e+c+d.

이건 a+f=b+e가 되기 때문에 (a, b)~(e, f)이 된다. ■


이제 동치류의 정의를 한 번 보도록 하자. 동치류의 표기법은 여러 가지인데, 적어도 이 시리즈(그러니까 유리수편, 실수편까지.)에서는 위에 선 긋는 것보다는 브라켓을 친 [a]라는 표기법을 이용하도록 하자.

집합 S 상에 동치관계 ~가 주어졌을 때, a∈S의 동치류는 다음과 같은 방법으로 정의가 된다.

[a]={ x | a~x }로.

그럼 동치류에 관한 기본적인 성질 하나를 얻을 수 있는데, 언젠가는 보조정리로 쓰이게 될... 것 같다. 그러니까 증명하고 넘어가자.


Z-Lem 1. 집합 S 상의 동치관계 ~에 대해서, [a]∩[b]≠{}이면 [a]=[b]이다.

만약 x∈[a]∩[b]이게 된다면, y∈[a]이면 y~a, a~x, x~b이기 때문에 y~b. y∈[b]이다. y∈[b]이면 y~b, b~x, x~a이기 때문에 y~a. y∈[a]이다. 

따라서 [a]=[b]이게 된다. ■


※Notation

정수편과 유리수편에서는 순서쌍에 대한 동치류를 주로 사용할 것이다. 그런데 [(a, b)]로 나타내면 귀찮기 그지없다.

그러니까 표기의 용이함을 위해서 [a, b]로 나타내기로 하자. (a, b)와 [a, b]가 엄연히 다른 것에 유의할 것. 전자는 그냥 순서쌍이고 후자는 순서쌍들의 집합임을 명심하도록 하자.


그러면 이 동치류들의 집합을 상집합이라고 하며, 표기는 S/~와 같이 표기한다.

정의를 이렇게 쓰는 편이 한 눈에 알아보기 편하겠지? S/~={ [a] | a∈S }.

그리고 정수를 위에서 정의된 N² 상의 동치관계 ~에 대해서, Z=N²/~로 표기하게 된다.


그럼 자연수 집합 N이 정수 집합 Z의 부분집합이 아니게 된다는 엄청난 문제점이 발생하게 된다.

하지만 실질적으로 부분집합이 되는 것은 맞기에, canonical embedding J : N → Z라는 함수를 정의해 보자.

이 때 J(n)=[n, 0]으로 정의하겠다. 그럼...


Z-Prop 2. Canonical embedding J는 injection.

만약 J(a)=J(b)이면, [a, 0]=[b, 0]이다. 따라서 (a, 0)~(b, 0)이 되고, a=a+0=b+0=b. 그러므로 a=b이므로, J는 injection. ■


따라서 단사함수의 존재로 인해서 일단 N이 Z의 부분집합으로 취급될 수 있는 최저한의 조건은 맞추어졌지.

이제 더 세세한 조건을 만족시켜야 한다. Z 위에 주어진 +와 ×이 잘 정의되며, N에서와 JN에서 동등하게 작용하고, 각각 결합법칙, 교환법칙, 분배법칙을 만족시켜야 하고 J(0)이 덧셈의 항등원, J(1)이 곱셈의 항등원이 되어야 비로소 JN과 N을 혼동해서 사용한다고 말할 수 있는 것이다.

이제 이것들을 하나하나 증명해 보도록 하자. 그래도 귀납법 쓰는 개노가다는 안 해도 된다!


동등 작용이 뭐냐고? J(a)+J(b)=J(a+b)임을 뜻하는 거다.

J와 같이 연산구조를 보존하는 함수를 homomorphism이라고 하는데, 이번 편에서는 대수적 구조에 집중하는 대신에 연산 자체에 집중하므로 연산이 동등하게 작용하는가만을 보도록 하자.


Z-Prop 3. Binary operation over Z, + 는 well-defined이고, N에서와 JN에서 동등하게 작용한다.

Well-Definedness) 만약 [a, b]=[A, B], [c, d]=[C, D]이면, (a, b)~(A, B), (c, d)~(C, D)이 되어 a+B=A+b, c+D=C+d이 된다.

[a, b]+[c, d]=[a+c, b+d], [A, B]+[C, D]=[A+C, B+D]이 되며, a+B+c+D=A+b+C+d이 되므로 (a+c, b+d)~(A+C, B+D).

이는 곧 [a+c, b+d]=[A+C, B+D]이 된다. 따라서 +는 well-defined. ■

동등 작용) J(a)+J(b)=[a, 0]+[b, 0]=[a+b, 0]=J(a+b)이다. ■


이제 이게 비슷하게 곱셈에서도 적용이 되는지 한 번 보자.


Z-Prop 4. Binary operation over Z, ×는 well-defined이고, N에서와 JN에서 동등하게 작용한다.

Well-Definedness) 만약 [a, b]=[c, d], [e, f]=[g, h]이면, (a, b)~(c, d), (e, f)~(g, h)이 되어 a+d=b+c, e+h=f+g이 된다.

[a, b]×[e,f]=[ae+bf, af+be], [c, d]×[g, h]=[cg+dh, ch+dg]이 성립한다.

이제 ae+de+bf+cf+ce+ch+df+dg=e(a+d)+f(b+c)+c(e+h)+d(f+g)=e(b+c)+f(a+d)+c(f+g)+d(e+h)=be+ce+af+df+cf+cg+de+dh가 되고, 양 변에 같은 수를 빼 주면 ae+bf+dg+ch=af+be+cg+dh가 되므로, [ae+bf, af+be]=[cg+dh, ch+dg]가 성립한다. 따라서 ×는 well-defined. ■

동등 작용) J(a)×J(b)=[a, 0]×[b, 0]=[ab, 0]=J(ab)이다. ■


이번 글은 J(0), J(1)이 각각 +, ×의 항등원임을 보이고 마무리하도록 하자. 여러 가지 연산법칙이 Z 상에서도 잘 이루어지는지는 다음 글에서 중점적으로 다룰 예정이다.


Z-Prop 5. J(0), J(1)은 각각 identity of +, ×이다.

+) [a, b]+J(0)=[a, b]+[0, 0]=[a, b]=[0, 0]+[a, b]=[a, b]. ■

×) [a, b]×J(1)=[a, b]×[1, 0]=[a, b]=[1, 0]×[a, b]=[a, b]. ■