논리학, 그 열두 번째 이야기 | Recursion Theorem  By 초코맛 도비

이번 글에서는 저번 글에서 언급한 Recursion Theorem에 대해 이야기해보려 한다. 여기서 말하는 recursion theorem은 정수론에서 말하는 Recursion Theorem을 더 확장한 것으로, 어떤 시작점들에서의 함숫값이 정해져 있고, 다른 함숫값을 결정하는 재귀적인 규칙들이 있다면, 해당 조건들을 만족시키는 함수가 언제나 유일하게 존재한다는 정리이다. 이렇게 말로만 설명하면 뭔가 헷갈리고 어려울 수 있으니 보다 수학적인 용어를 사용하여 명확하게 설명하도록 하겠다. 다음 정리를 보자.

 

Theorem 1. Recursion Theorem

CU의 부분집합 B로부터 두 함수 f:U×UUg:UU에 의해 freely generated되었다고 하자. 추가로 집합 V와 함수 h:BV, F:V×VV, G:VV가 주어졌다고 하자. 그러면 다음 조건을 만족하는 함수 h¯:CV가 유일하게 존재한다.
1) 임의의 xB에 대하여 h¯(x)=h(x)
2) 임의의 x,yC에 대하여 h¯(f(x,y))=F(h¯(x),h¯(y))
3) 임의의 xC에 대하여 h¯(g(x))=G(h¯(x))

 

Proof.

증명을 하기에 앞서, 한 가지 개념을 먼저 정의하고 시작하자.

만약 어떤 함수 v:AD가 아래의 세 가지 조건 1'), 2'), 3')을 모두 만족할 때 이를 acceptable하다고 부르기로 하자. 물론, 이때 AC의 부분집합이며 DV의 부분집합이 될 것이다.

1') 임의의 xBA에 대하여 v(x)=h(x)
2') 임의의 x,yA에 대하여 v(f(x,y))=F(v(x),v(y))
3') 임의의 xA에 대하여 v(g(x))=G(v(x))

 

이제 acceptable한 모든 함수의 집합을 S라고 하고, h¯=S를 정의하자.

만약 h¯가 함수이고 h¯가 acceptable하며 h¯의 정의역이 C라면 우리는 정리에서 요구하는 조건을 모두 만족하는 함수의 존재성을 보이게 된다. 거기에 추가로 이러한 함수가 유일함을 보인다면 우리는 정리를 증명하게 될 것이다.

 

그러니 먼저 h¯가 함수임을 보이도록 하자. 먼저, 집합 T(x,z)h¯z가 최대 한 개 존재하도록 하는 모든 xC의 집합이라고 정의하자. 만약 T가 귀납적이라면 이 글Theorem 2에 의해 T=C임이 보장되며, 이는 곧 h¯가 함수임을 의미한다. 따라서 우리는 T가 귀납적이라는 것을 보일 것이다.

일단 xB에 대해 생각하자. 만약 어떤 두 개의 acceptable한 함수 vux를 원소로 하는 정의역을 가진다고 하자. 그러면 vu 모두 조건 1')을 만족하므로 v(x)=u(x)=h(x)이다. 따라서 h¯의 정의에 의해 (x,z)h¯z가 아무리 많아봐야 한 개임을 알 수 있으며, 이로 인해 BT임을 알 수 있다. 즉, h¯는 함수이다.

 

이제 h¯가 acceptable하다는 것을 보이자. h¯=S이므로 S의 정의에 의해 h¯의 정의역은 C의 부분집합이며, h¯의 치역 역시 V의 부분집합이다. 이 사실을 기억해두자.

먼저, h¯가 조건 1')을 만족한다는 것은 위의 논의로부터 자명하다.

이제 조건 2')에 대해 생각해보자. 어떤 x,yC에 대해 f(x,y)h¯의 정의역의 원소라고 가정하자. 그러면 h¯의 정의에 의해 어떤 acceptable한 함수 v에 대해 f(x,y)v의 정의역의 원소라는 사실을 알 수 있으며, v가 acceptable하므로 조건 2')에 의해 v(f(x,y))=F(v(x),v(y))이다. 이때, h¯의 정의에 의해 v(f(x,y))=h¯(f(x,y))이고, v(x)=h¯(x), v(y)=h¯(y)이므로 h¯(f(x,y))=F(h¯(x),h¯(y))임을 알 수 있다. 따라서 h¯는 조건 2')을 만족하며, 비슷한 방법을 통해 h¯가 조건 3')을 만족하는 것을 보일 수 있다.

따라서 h¯는 조건 1'), 2'), 3')을 모두 만족하며, 이로부터 h¯는 acceptable한 함수임을 알 수 있다.

 

이제 h¯의 정의역이 C라는 것을 보이자. 만약 h¯의 정의역이 귀납적이라면, 이 글의 Theorem 2에 의해 h¯의 정의역이 C임이 보장되므로 h¯의 정의역이 귀납적이라는 것을 보이자.

먼저 xB인 경우에 대해 생각해보자. 그러면 h의 정의역이 B이므로 함수 v:{x}{h(x)}를 생각할 수 있다. 만약 이렇게 정의된 함수 v가 acceptable하다면 Bh¯의 정의역의 부분집합이 됨은 자명하다. 먼저 조건 1')을 살펴보자. 함수 v의 정의에 의해 v(x)=h(x)이고, v의 정의역과 B의 교집합은 {x}이므로 함수 v는 조건 1')을 만족한다. 정리의 조건에서 CB로부터 두 함수 f,g에 의해 freely generated되었다고 하였으므로 그 어떤 x,yC에 대해서도 f(x,y)g(x)B의 원소가 될 수 없으며, 따라서 조건 2')와 조건 3')은 공허하게 참이다. 따라서 함수 v는 acceptable하며, 이로 인해 Bh¯의 정의역의 부분집합이 된다.

이제 xy가 모두 h¯의 정의역의 원소라고 하자. 이제 귀류법을 사용하여 f(x,y) 역시 h¯의 정의역의 원소가 됨을 보일 것이다. f(x,y)h¯의 정의역의 원소가 아니라고 가정하면, h¯의 정의역에 f(x,y)를 추가한 집합을 정의역으로 가지는 함수 v를 다음과 같이 정의할 수 있다.

v(c)={h¯(c) if cdomh¯F(h¯(x),h¯(y)) if c=f(x,y)

여기서 domh¯h¯의 정의역을 의미한다. 만약 함수 v가 acceptable하다면 h¯의 정의에 의해 f(x,y)h¯의 정의역의 원소가 아니라는 가정에 모순이 발생한다. 따라서 우리는 함수 v가 acceptable함을 보이면 충분하다.

함수 v가 조건 1')을 만족함을 보이기 위해 v의 정의역과 B의 교집합의 원소 c를 생각하자. 정리의 조건에서 CB로부터 두 함수 f,g에 의해 freely generated되었다고 하였으므로 f(x,y)B의 원소가 될 수 없다. 따라서 cdomh¯이며, 이로 인해 v가 조건 1')을 만족함은 자명하다.

이제 v가 조건 2')을 만족한다는 것을 보이자. f(x¯,y¯)v의 정의역의 원소임을 가정하자. 만약 f(x¯,y¯)domh¯라면, h¯가 acceptable하다는 사실로부터 v(f(x¯,y¯))=F(v(x¯),v(y¯))임은 자명하다. 이제 f(x¯,y¯)=f(x,y)인 경우를 생각하자. 이때, 정리의 조건에서 CB로부터 두 함수 f,g에 의해 freely generated되었다고 하였으므로 fC는 단사함수이며, 이로부터 x=x¯, y=y¯임을 알 수 있다. 따라서 다음이 성립한다.

v(f(x¯,y¯))=v(f(x,y))=F(h¯(x),h¯(y))=F(v(x),v(y))=F(v(x¯),v(y¯))

즉, 함수 v가 조건 2')을 만족한다. 같은 방법으로 함수 v가 조건 3')을 만족한다는 것을 보일 수 있다.

함수 v가 조건 1'), 2'), 3')을 모두 만족하므로 함수 v는 acceptable하며, 따라서 f(x,y)h¯의 정의역의 원소임을 알 수 있다.

위와 같은 방법을 통해 xh¯의 정의역의 원소라면, g(x) 역시 h¯의 정의역의 원소가 됨을 쉽게 보일 수 있다. 따라서 h¯의 정의역은 귀납적이며, 이로부터 h¯의 정의역이 C임을 알 수 있다.

 

이제 이러한 h¯가 유일함을 보이자. 이를 위해 조건 1), 2), 3)을 모두 만족하는 두 함수 h¯1, h¯2가 존재한다고 가정하자.

집합 KK={xC|h¯1(x)=h¯2(x)}로 정의하자. 만약 K=C라면, h¯1=h¯2이며, K가 귀납적이라면 이 글의 Theorem 2에 의해 K=C가 된다. 따라서 K가 귀납적이라는 것을 보이면 조건 1), 2), 3)을 만족하는 h¯가 유일함이 증명된다.

먼저, BK임을 보이기 위해 xB를 생각하자. h1¯h2¯가 acceptable하고 이 둘의 정의역이 C라는 사실로부터 h¯1(x)=h(x)=h¯2(x)임을 알 수 있다. 따라서 xK임을 알 수 있으며, xB의 선택이 임의적이었으므로 BK임은 자명하다.

이제 임의의 x,yK에 대하여 f(x,y)K임을 보이자. h¯1h¯2가 acceptable하고 이 둘의 정의역이 C라는 사실로부터 다음이 성립한다는 사실을 알 수 있다.

h¯1(f(x,y))=F(h¯1(x),h¯2(x))=F(h¯2(x),h¯2(y))=h¯2(f(x,y))

따라서 x,yKf(x,y)K를 함의한다는 사실이 증명되었다. xKg(x)K를 함의한다는 사실 역시 위와 비슷한 방법을 통해 증명할 수 있으며, 이로부터 K가 귀납적이라는 사실을 알 수 있다.

따라서 h의 유일성이 증명되었으며, 결과적으로 정리가 증명되었다.

 

사실, 위 정리를 이해하는 데에는 생각보다 긴 시간이 필요할 것이다. 큰 맥락 안에서는 정수론에서 말하는 Recursion Theorem과 본질적으로 같지만 그보다 훨씬 추상화된 모습을 하고 있기 때문이다. 지금 이 글을 쓰고 있는 나도 위 정리를 처음 봤을 때엔 이게 무슨 소리인가 싶었으니 지금 당장 위 정리를 이해하지 못했어도 크게 상심하지는 말자. 다만, 위 정리가 대략적으로 어떤 것을 의미하는지는 꼭 이해하고 넘어가자. 위 정리가 논리학에서 상당히 중요한 정리 중 하나인 Unique Readability Theorem과 비슷한 맥락의 이야기를 하고 있기 때문이다. 또한, 위 정리에서는 F={f,g}인 경우에 대해 다뤘는데, 사실 F가 유한집합일 필요는 없으며, F의 원소가 꼭 단항 연산, 이항 연산일 필요는 없다. 보다 일반화된 형태에 대해서는 일차논리에 대해 설명한 후에 다룰 것이다.

댓글()