함께 시작해 볼까요?
결정 절차·반결정 절차·증명 열거를 구별하고, 명제논리와 일차논리의 판정 가능성을 비교합니다.
프로그램이 ‘참’을 결정한다는 뜻은요?
논리식의 참거짓을 컴퓨터에 맡기면 무엇을 약속해야 하나요?
논리식의 참거짓을 컴퓨터에 맡기면 무엇을 약속해야 하나요?
우선 문제를 정확하게 정해야 합니다. 결정 절차는 입력으로 받은 문장 또는 논리식이 정해진 성질을 갖는지 모든 입력에 대해 유한 시간 안에 예·아니요를 정확히 답합니다. 예를 들어 ‘명제논리식이 모든 진리값 배정에서 참인가?’라는 문제에는 진리표라는 결정 절차가 있습니다. 변수의 수가 유한하므로 모든 행을 검사한 뒤 반드시 끝납니다.
성능이 빠르면 결정 가능하다고 하나요?
빠름과 결정 가능성은 다른 개념입니다. 아주 오래 걸려도 모든 입력에서 유한 시간 안에 끝나면 결정 절차입니다. 반대로 많은 사례에서 즉시 답하더라도 어떤 입력에서 끝나는지 보장하지 못하면 아직 결정 절차가 아닙니다.
결정 절차의 필수 조건은?
답과 풀이 확인하기
모든 입력에서 종료하고 올바른 예·아니요를 답해야 합니다.
종료성과 정확성을 함께 확인합니다.
느리게 끝나는 알고리즘은 결정 절차일 수 있나요?
답과 풀이 확인하기
그렇습니다.
모든 입력에서 끝난다는 보장이 핵심입니다.
반결정은 무엇을 덜 약속하나요?
반결정 절차는 예·아니요 중 무엇을 보장하나요?
반결정 절차는 예·아니요 중 무엇을 보장하나요?
한 성질을 만족하는 입력에 대해서는 반드시 언젠가 ‘예’라고 정답을 내고 멈추지만, 성질을 만족하지 않는 입력에서는 영원히 실행될 수도 있는 절차입니다. 이것을 반결정 가능 또는 재귀적으로 열거 가능이라고 부릅니다. 모든 입력에서 ‘아니요’의 결론까지 내리겠다고 약속하지 않습니다.
반결정 프로그램이 멈추지 않으면 반례인가요?
실행 중이라는 사실만으로 정답이 ‘아니요’라고 결론 내릴 수 없습니다. 단지 아직 ‘예’를 확정하지 못했다는 뜻입니다. 종료 보장이 없는 탐색을 판정기처럼 사용하면 오류가 생깁니다.
반결정에서 ‘예’인 입력은 어떻게 되나요?
답과 풀이 확인하기
반드시 어느 시점에 ‘예’를 출력하고 멈춥니다.
옳은 긍정 답을 찾는 절차입니다.
‘아니요’인 입력도 반드시 멈추나요?
답과 풀이 확인하기
그렇지 않습니다.
답을 내지 않고 계속 계산할 수도 있습니다.
진리표는 무엇을 결정하나요?
<code>p→q</code>가 항상 참인지 어떻게 확인하나요?
p→q가 항상 참인지 어떻게 확인하나요?
p가 참이고 q가 거짓인 배정에서 p→q는 거짓입니다. 따라서 타당하지 않습니다. 두 명제변수의 경우 네 배정을 모두 계산하면 종료합니다. 명제변수가 n개라면 진리표는 2ⁿ개 행으로 이루어지므로 유한합니다. n이 커지면 계산량은 커져도 판정은 언제나 가능합니다.
기호가 하나도 없는 식은요?
입력된 식의 길이는 유한하므로 그 식에 실제 나타나는 명제변수의 수 또한 유한합니다. 이런 성질 때문에 임의의 유한한 명제논리식을 입력받는 판정기를 만들 수 있습니다.
표가 화면보다 넓으면 좌우로 움직여 수식과 풀이를 읽어 보세요.
| p | q | p→q | p∨¬p |
|---|---|---|---|
| 참 | 참 | 참 | 참 |
| 참 | 거짓 | 거짓 | 참 |
| 거짓 | 참 | 참 | 참 |
| 거짓 | 거짓 | 참 | 참 |
p∨¬p는 타당한가요?
답과 풀이 확인하기
그렇습니다.
p가 참이든 거짓이든 전체 선언문은 참입니다.
p→q가 거짓인 행은?
답과 풀이 확인하기
p는 참, q는 거짓인 행입니다.
조건문의 유일한 거짓 행입니다.
일차논리에서도 진리표를 만들면 될까요?
<code>∀xP(x)</code>를 검사할 때 왜 어려워지나요?
∀xP(x)를 검사할 때 왜 어려워지나요?
일차논리식의 참은 전체 영역의 크기와 각 기호의 해석에 의존합니다. 보편 양화사는 가능한 모든 대상과 구조를 고려합니다. 임의의 일차논리식이 모든 구조에서 참인지 알려면 단순히 입력 기호에 대한 유한 진리값 배정만 조사하는 것으로는 충분하지 않습니다. ‘모든 유한 모형을 차례로 검사하면 언젠가 타당성도 알 수 있다’는 주장 역시 일반적으로 성립하지 않습니다.
작은 모형 여러 개를 검사한 결과는 아무 의미가 없나요?
특정한 반모형을 찾으면 타당하지 않다는 결론을 바로 낼 수 있습니다. 하지만 반모형을 찾지 못했다는 사실만으로 모든 구조에서 참이라는 일반 결론은 나오지 않습니다. 유한 검산과 일반 증명을 구분합니다.
한 반모형이 발견되면 무엇을 알 수 있나요?
답과 풀이 확인하기
해당 식이 논리적으로 타당하지 않다는 것을 알 수 있습니다.
전칭 조건에 대한 반례가 하나 있기 때문입니다.
반모형을 아직 찾지 못했다면 타당함이 증명되나요?
답과 풀이 확인하기
아닙니다.
무한 구조를 포함한 모든 해석을 검사한 것은 아닙니다.
증명을 나열하는 프로그램은 어떻게 만드나요?
일차논리의 모든 적법한 증명을 하나씩 출력할 수 있나요?
일차논리의 모든 적법한 증명을 하나씩 출력할 수 있나요?
통상적인 효과적 형식 증명 체계에서는 모든 유한한 기호열을 길이 순서로 나열하고, 각각이 올바른 증명인지 기계적으로 확인할 수 있습니다. 합격한 증명들의 결론을 출력하면 증명 가능한 일차논리 문장을 빠짐없이 열거합니다. 괴델의 완전성 정리에 의해 전제 없는 논리적 타당성은 곧 증명 가능성과 일치하므로, 타당한 문장은 언젠가 반드시 목록에 나타납니다.
타당하지 않은 문장은 언제 제외되었다고 선언하나요?
증명을 계속 찾았지만 아직 없다는 사실만으로는 제외할 수 없습니다. 다음 길이에서 증명이 나타날 가능성을 탐색만으로 제거할 수 없기 때문입니다. 이 절차는 타당성을 반결정하지만 모든 입력에서 멈추는 결정 절차는 아닙니다.
타당한 일차논리식의 증명을 찾는 절차는 멈추나요?
답과 풀이 확인하기
적절한 표준 체계에서는 반드시 멈춥니다.
완전성으로 유한 증명이 존재하고 이를 열거하면 결국 발견합니다.
타당하지 않은 식에서 멈춤이 보장되나요?
답과 풀이 확인하기
아닙니다.
긍정 증거를 찾는 탐색에는 일반 종료 보장이 없습니다.
일차논리 전체에는 판정기가 없나요?
아무리 좋은 컴퓨터를 만들어도 모든 타당성을 판정할 수 없나요?
아무리 좋은 컴퓨터를 만들어도 모든 타당성을 판정할 수 없나요?
네. 충분히 풍부한 일반 일차논리 언어에서 모든 문장이 논리적으로 타당한지 매번 정확하게 종료하며 판정하는 알고리즘은 존재하지 않습니다. 처치의 정리 또는 일차논리 타당성의 결정 불가능성이라고 부릅니다. 특정한 좁은 문법이나 술어 형태에 제한을 두면 판정 가능한 부분 체계도 있으므로, ‘일차논리의 모든 작은 조각이 불가능하다’고 확대하면 안 됩니다.
이 부정 결과는 컴퓨터가 아직 느리기 때문인가요?
계산 능력이나 시간의 부족이 아닙니다. 표준적인 알고리즘 개념 아래에서 어떤 알고리즘도 모든 입력에 대해 요구한 종료·정확성을 동시에 만족할 수 없다는 수학적 정리입니다.
일차논리의 모든 부분 언어도 결정 불가능한가요?
답과 풀이 확인하기
그렇지 않습니다.
명제논리처럼 판정 가능한 단편이 있습니다.
전체의 결정 불가능성은 계산 속도의 한계인가요?
답과 풀이 확인하기
아닙니다.
알고리즘 존재 자체의 불가능성에 관한 정리입니다.
만족 가능성을 찾는 프로그램은 어떤가요?
‘어떤 모형이 있나?’는 ‘모든 모형에서 참인가?’와 어떻게 연결되나요?
‘어떤 모형이 있나?’는 ‘모든 모형에서 참인가?’와 어떻게 연결되나요?
문장 A가 만족 불가능하다는 것은 ¬A가 모든 모형에서 참이라는 뜻입니다. 따라서 증명 열거로 ¬A의 타당성을 확인할 수 있으면 A의 만족 불가능성을 반결정할 수 있습니다. 반대로 A의 만족 가능성을 일반적으로 같은 방식으로 반결정할 수 있는 것은 아닙니다. A가 무한 모형에서만 만족 가능할 때 단순한 유한 모형 열거는 끝없이 실패할 수 있습니다.
왜 ‘유한 모형을 하나 찾았다’는 결과는 믿을 수 있죠?
영역과 해석을 완전히 제시하고 A를 계산해 참을 확인했다면 A의 만족 가능성에 대한 올바른 긍정 증거입니다. 그러나 만족 가능한 문장이 언제나 유한 모형을 갖는다는 일반 정리는 성립하지 않습니다.
A가 만족 불가능한지 반결정할 수 있나요?
답과 풀이 확인하기
표준 일차논리에서는 가능합니다.
¬A의 논리적 타당성을 증명 열거로 확인합니다.
A의 모든 유한 모형 탐색이 실패하면 만족 불가능한가요?
답과 풀이 확인하기
결론 낼 수 없습니다.
A가 무한 모형만 가질 수도 있습니다.
멈추지 않는 프로그램과 참이 아닌 문장을 구별해 볼까요?
증명을 1억 개 뒤져도 찾지 못하면 거짓인가요?
증명을 1억 개 뒤져도 찾지 못하면 거짓인가요?
탐색 개수를 아무리 키워도 유한한 범위의 실패만 확인한 것입니다. 다음 위치에 증명이 나올 수 있습니다. 타당성 반결정기는 어떤 입력에서는 영원히 기다릴 수 있으므로, 오래된 실행은 논리적 부정의 증거가 아닙니다.
계산 자원을 충분히 늘리면 해결되나요?
실제 사례의 상당수를 더 잘 처리할 수는 있습니다. 다만 ‘모든 입력에서 멈춘다’는 일반 보장을 만들지는 못합니다. 수학적 결정 불가능성과 실제 소프트웨어의 유용성을 함께 이해하면 두 진술을 혼동하지 않습니다.
탐색 중인 상태의 논리적 의미는?
답과 풀이 확인하기
아직 답을 확정하지 못했다는 뜻입니다.
‘거짓’이라는 결론으로 바꿀 근거는 아닙니다.
타당하지 않은 식에는 형식 증명이 없다는 말은 맞나요?
답과 풀이 확인하기
전제 없는 표준 일차논리 증명 체계에서는 맞습니다.
건전성에 의해 증명 가능하면 타당하므로 비타당한 식은 증명되지 않습니다.
알고리즘의 입력 조건도 먼저 확인해야 하나요?
무한한 공리 집합 T의 귀결까지 검색할 수 있나요?
무한한 공리 집합 T의 귀결까지 검색할 수 있나요?
T의 공리들이 효과적으로 나열 가능하면 T의 증명도 체계적으로 열거할 수 있습니다. 그래서 T⊢A의 긍정 사례를 반결정할 수 있습니다. 하지만 임의로 주어진 무한한 T에 대해 어떤 공리를 사용할 수 있는지조차 계산 가능한 방식으로 제공되지 않았다면 같은 주장에 추가 설명이 필요합니다.
이 조건이 나중의 불완전성에도 등장하나요?
네. 괴델–로서 불완전성의 핵심 조건 중 하나는 이론이 효과적으로 공리화되어 있다는 것입니다. 우리가 각 공리를 기계적으로 알아볼 수 있거나 열거할 수 있어야 증명을 수로 부호화하고 계산에 연결할 수 있습니다.
T의 공리가 효과적으로 열거 가능하면 무엇을 열거할 수 있나요?
답과 풀이 확인하기
T로부터의 형식 증명들과 그 결론을 열거할 수 있습니다.
각 증명에서 사용한 공리와 규칙의 확인 절차를 구성할 수 있습니다.
임의의 무한한 T에 아무 효과성 가정도 필요 없나요?
답과 풀이 확인하기
필요합니다.
구문적 의미의 무한 집합과 계산 입력으로서의 공리 목록은 별개입니다.
결정과 반결정을 표로 확인할까요?
두 절차의 차이를 문제별로 다시 정리해 주세요.
두 절차의 차이를 문제별로 다시 정리해 주세요.
유한한 명제논리식의 타당성은 진리표로 결정 가능합니다. 일반 일차논리 타당성은 증명 열거로 반결정 가능하지만, 모든 입력에서 판정하는 절차는 없습니다. 일차논리 만족 불가능성 역시 부정식의 타당성을 열거하여 반결정 가능합니다. 이 셋에서 각 알고리즘이 어떤 경우에 멈추는지와 무엇을 보장하는지를 별도로 확인하는 것이 중요합니다.
타당성과 만족 가능성을 바꿔 말할 때 주의할 것은요?
⊨A는 모든 모형의 참, A의 만족 가능성은 적어도 한 모형의 참입니다. 양화 범위가 반대이므로 어떤 절차가 긍정을 확인하는지도 달라집니다.
표가 화면보다 넓으면 좌우로 움직여 수식과 풀이를 읽어 보세요.
| 문제 | 결정 | 반결정 |
|---|---|---|
| 명제 타당성 | 가능 | 가능 |
| 일반 일차논리 타당성 | 불가능 | 가능 |
| 일반 일차논리 만족 불가능성 | 불가능 | 가능 |
진리표는 어떤 문제를 결정하나요?
답과 풀이 확인하기
명제논리 타당성입니다.
유한한 명제변수 배정 모두를 확인합니다.
일차논리 타당성은 어떤 방식으로 반결정되나요?
답과 풀이 확인하기
모든 형식 증명을 공정하게 열거합니다.
타당하다면 완전성에 의해 증명이 반드시 존재합니다.
‘참’과 ‘증명’과 ‘알고리즘’을 한 번에 분리할까요?
우리가 앞 편까지 얻은 완전성으로 무엇이 해결됐나요?
우리가 앞 편까지 얻은 완전성으로 무엇이 해결됐나요?
모든 모형에서 따라오는 문장은 형식 증명을 갖는다는 의미론적 완전성을 얻었습니다. 여기서 증명이 유한한 형태로 존재하므로 그 증명을 열거하는 반결정도 얻습니다. 그러나 입력마다 ‘예’와 ‘아니요’를 모두 유한 시간 안에 판정하는 일은 별도의 문제이며, 일반 일차논리에는 해결할 수 없다는 정리가 있습니다.
다음 편에서는 어떤 한계를 더 배우나요?
효과적으로 공리화되고 충분한 기초 산술을 포함하는 일관된 이론에서는 어떤 산술 문장과 그 부정도 이론 내부에서 증명되지 않을 수 있다는 불완전성입니다. 이 정리의 대상은 특정 이론의 증명 능력이며 지금의 논리 체계 전체의 완전성과는 구별됩니다.
완전성이 모든 타당성 판정기를 보장하나요?
답과 풀이 확인하기
보장하지 않습니다.
증명의 존재와 모든 입력의 부정까지 판정하는 알고리즘은 다릅니다.
불완전성 정리가 적용될 조건을 미리 말해 보세요.
답과 풀이 확인하기
효과적 공리화·충분한 기초 산술·일관성입니다.
조건을 빼고 모든 수학 이론이 불완전하다고 말하면 안 됩니다.
오늘 익힌 내용을 어떻게 설명할까요?
예시를 하나 정해서 설명해 보세요. 다시 생각해 보고 싶은 질문도 함께 적을 수 있습니다.
기록은 현재 브라우저에만 저장됩니다. 다른 기기에서는 보이지 않습니다.
참고한 논리학 자료
3개 자료개념의 정의와 기호의 뜻을 아래 자료로 확인했습니다. 대화와 생활 예시는 학습을 위해 작성했습니다.
01Stanford Encyclopedia of Philosophy · Classical Logic
일차논리 타당성의 반결정 가능성과 일반적 결정 불가능성을 확인했습니다.
원문 확인02Stanford Encyclopedia of Philosophy · Church’s Thesis
알고리즘의 효과적 계산 개념과 판정 가능성 구별을 참고했습니다.
원문 확인03Open Logic Project
증명의 기계적 열거·판정의 논리 교육 범위를 참고했습니다. 문제와 표는 자체 작성했습니다.
원문 확인고급 논리학 · 제15편
모든 참을 판별하는 프로그램을 만들 수 있나요?