형식논리의 의미
symbol의 집합 D={a,2}의 원소 P, m이 있을 때 함수 s,6는 다음과 같이 정의된다
s(m, P):=
s(a, a)이면 a
s(a, 2)이면 2
s(2, a)이면 2
s(2, 2)이면 2
6(P):=
6(a)이면 2
6(2)이면 a
인간은 어떻게 아래 식과 "'내일은 비가 오거나 오지 않는다'는 명제는 참이다"라는 판단을 연관시킬 수 있는가?
s(P, 6(P))==2
오백 원짜리 오렌지를 다섯 개 사고 돈을 낼 때 500/5=100이라는 식을 세우고 100원만 주고 가려는 사람은 없다. 500*5=2500이란 식과 '500원짜리 오렌지를 다섯 개 산다'라는 상황과는 어떤 실존적 연관관계가 있을까? 그저 직관? '저 아가씨는 예쁘다'라던가 '그에겐 믿음이 가지 않는다'라는 직관과는 어떻게 다를까? 고결한 진리를 다루는 논리학이 직관에 의존할 수밖에 없는 것일까? 또, 누구나 쉽게 세울 수 있는 이런 사칙연산 식과, 복잡한 물리학 식에는 어떤 차이점이 있을까?
관념과 논리식이 일치하지 않을 경우에는 더 재미있는 상황이 벌어진다. 다음은 c언어 소스코드이다
#include
void main(void) {
int result, count;
for(result=1; result<=10; result++) {
count+=result;
}
printf("%d", count);
}
무엇을 하는 코드로 보이는가? 화면에 결과는 무엇이 나올까? 이것은 "예측할 수 없는 숫자를 출력하는 프로그램"이다. count가 초기화되지 않았으므로 쓰레기값에 계속 result를 더하게 되어, 출력되는 값을 알 수 없다. 하지만 많은 사람들은 이것은 1부터 10까지의 숫자를 더해서 출력하는 프로그램인데, 실수를 해서 결과가 잘못 나온 것이라고 생각할 것이다. 게다가, 실력 있는 프로그래머라면, 변수의 이름이 의미상 뒤바뀌었으므로 result와 count를 바꿔 쓰라고 조언까지 해 줄 것이다. 어떻게 이런 일이 가능할까? 컴파일에 성공한 소스코드는 형식논리상 아무런 문제가 있을 수 없다. 그런데 관념이 환상을 만들어내고 논리식을 '오류'라고 비판하기까지 한다.
논리식과 판단 사이에는 어떤 관계가 있을까?
인간 이성에 모종의 비밀 영역이 있을 것이다. 적어도 내게는 알려져 있지 않은.
2002년 5월 26일