칸토어 이론 증명

Pyro·2021년 9월 25일
0

계산이론

목록 보기
2/5
post-thumbnail

하기 싫은 공부를 더 이상 미룰 수 없다.
과연 컴퓨터로 임의의 숫자를 표현하는게 가능한지 증명을 해보자.
요즘 메타버스 어쩌구 하던데, 과연 컴퓨터는 현실세계의 데이터를 담아내는 것이 이론적으로 가능한 것인가?
결론: 컴퓨터의 메모리가 무한히 크고, CPU 연산량이 무한히 빠르면 가능하다
하지만 당연하게도 현실적으로 불가능하다.

Reference 링크 에 적힌 책을 읽고 요약 정리해보았다.

Definition 1.1 (one-to-one)

function f:STf:S \rightarrow T is injective if
x,xS\forall x,x' \in S, xxf(x)f(x)x \neq x' \Rightarrow f(x) \neq f(x')

Lemma 1.2

S,TS,T \neq \emptyset and f:STf:S \rightarrow T is one to one.
Then, \exists onto function g:TSg:T \rightarrow S s.t g(f(s))=sg(f(s)) = s for sS\forall s \in S
Proof
Choose some s0Ss_0 \in S and define g:TSg:T \rightarrow S as follows.

g(t)={sif sS s.t f(s)=ts0if sS s.t f(s)=tg(t) = \begin{cases} s &\text{if $\exists s \in S$ s.t $f(s) = t$} \\ s_0 &\text{if $\nexists s \in S$ s.t $f(s) = t$} \end{cases}

Since ff is one-to-one, s,sS,ssf(s)f(s)\forall s,s' \in S, s \neq s' \Rightarrow f(s) \neq f(s').
Let t=f(s),t=f(s)t=f(s), t'=f(s'). Then, t=tg(t)=g(t)t=t' \Rightarrow g(t)=g(t').
\therefore gg is a function.

Since ff is a function, sS,tT\forall s \in S, \exists t \in T s.t f(s)=tf(s)=t.
\Rightarrow sS,tT\forall s \in S, \exists t \in T s.t g(t)=g(f(s))=sg(t)=g(f(s))=s
\therefore gg is onto.

Definition 2.7

{0,1}\{0,1\}^* = set of all finite sequences of bits = set of all bit strings
{0,1}\{0,1\}^\infty = set of all infinite sequences of bits
Let f:N{0,1}f:\mathbb{N} \rightarrow \{0,1\}
Then, (f(0),f(1),f(2),)(f(0),f(1),f(2),\dots) is an infinite sequence of bits
f\Rightarrow f is an infinite sequence of bits
{0,1}={ff:N{0,1}}\therefore \{0,1\}^\infty = \{f|f:\mathbb{N} \rightarrow \{0,1\}\}

Lemma 2.8

\nexists one-to-one map FtS:{0,1}{0,1}FtS: \{0,1\}^\infty \rightarrow \{0,1\}^*
proof
\nexists one-to-one map FtS:{0,1}{0,1}FtS: \{0,1\}^\infty \rightarrow \{0,1\}^*
\Leftrightarrow \nexists onto function StF:{0,1}{0,1}StF:\{0,1\}^* \rightarrow \{0,1\}^\infty

Suppose \exists onto function StF:{0,1}{0,1}StF: \{0,1\}^* \rightarrow \{0,1\}^\infty
d{0,1},x{0,1}\Rightarrow \forall \overline{d} \in \{0,1\}^\infty, \exists x \in \{0,1\}^* s.t StF(x)=dStF(x) = \overline{d}

Define d{0,1}\overline{d} \in \{0,1\}^\infty as follows.

d(n)=1StF(xn)(n)\overline{d}(n) = 1 - StF(x_n)(n)

Where nNn \in \mathbb{N}, xn{0,1}x_n \in \{0,1\}^*, and
StF(xn)(n){0,1}StF(x_n)(n) \in \{0,1\} is the n-th bit of StF(xn){0,1}StF(x_n) \in \{0,1\}^\infty.

Since d\overline{d} is a "diagonal argument", x{0,1}\nexists x \in \{0,1\}^* s.t StF(x)=dStF(x) = \overline{d}
\therefore Proved by contradiction.

Lemma 2.9

\exists one-to-one map FtR:{0,1}RFtR: \{0,1\}^\infty \rightarrow \mathbb{R}
proof
For f{0,1}f \in \{0,1\}^\infty, Define FtRFtR as follows.

FtR(f)=i=0f(i)10i=f(0).f(1)f(2)FtR(f) = \sum_{i=0}^{\infty} f(i) \cdot 10^{-i} = f(0).f(1)f(2)\dots

Then, FtR(f)RFtR(f) \in \mathbb{R} and FtRFtR is one-to-one.

Theorem 2.5 (Cantor's Theorem)

The reals are uncountable.
proof
The reals are uncountable.
\Leftrightarrow \nexists onto function NtR:NRNtR: \mathbb{N} \rightarrow \mathbb{R}
\Leftrightarrow \nexists one-to-one function RtS:R{0,1}RtS: \mathbb{R} \rightarrow \{0,1\}^*

Suppose there exists one-to-one function RtS.
From Lemma 2.9, \exists one-to-one map FtR:{0,1}RFtR: \{0,1\}^\infty \rightarrow \mathbb{R}
Let FtS=FtRRtSFtS = FtR \circ RtS
Then, FtS:{0,1}{0,1}FtS: \{0,1\}^\infty \rightarrow \{0,1\}^* is an one-to-one function.
However, FtSFtS can not be one-to-one from Lemma 2.8.
\therefore Proved by contradiction.

profile
dreams of chronic and sustained passion

0개의 댓글