[include(틀:상위 문서, top1=수리논리학)] [include(틀:수학기초론)] [목차] 이 항목에서는 수리 논리학에 대해 본격적으로 다루기 이전에, 기본적인 예비 사항으로 알아두면 좋을 논리학적, 철학적 지식을 소개한다.[* 해당 내용 중 상당 부분은 벤슨 메이츠의 <기호 논리학> 1장 및 2장에서 따온 것으로 보인다. 보다 자세한 내용은 해당 책을 보면 더 잘 알 수 있으나, 해당 교과서는 출판된지 거의 50년이 다 되가는 오래된 책이므로 현대 논리학의 관점과 잘 안 들어맞는 경우도 있음을 유의.] == 자연 언어와 인공 언어 == 보통 [[수학]] 증명에서는 [[영어]], [[한국어]] 같은 자연 언어가 쓰이나, 수리 논리학에서는 엄밀히 그 문법이 정의된 [[인공언어]]가 쓰인다. 그 주된 이유로는 자연 언어가 대개 그 구조가 복잡하며 애매모호한 경우가 적지 않다는 것이다. 아래와 같은 사례들을 방지하기 위해 수리 논리학에서는 보다 명료하고 간단한 문법을 띤 인공어를 쓴다.[* 다만 메타논리에서는 편의상 자연 언어를 쓰는 경우가 많다.] 그중 일부는 [[수학 기호]]에서 찾아볼 수 있다. > [[한국어|비가 온다.]] > ---- > [[영어|It is raining.]] > ---- > [[독일어|Es regnet.]] 세 문장 모두 그 의미, 즉 표현하는 [[명제]]는 같지만 서로 다른 [[언어]]에 속하므로 의미 전달이 쉽지 않다. > 모든 사람은 죽는다. > ---- > 모든 박테리아는 죽는다. 일견 두 문장은 공통적으로 '''"모든 x는 F다"'''라는 형식을 띠는 것 같지만 이는 문제가 있다. 왜냐면 밑의 '모든 박테리아'''는''' 죽는다'인 반면, 윗 문장은 '모든 사람'''은''' 죽는다'이기 때문이다. > John is easy to please > ---- > John is eager to please '''표층 구조'''를 따지자면 이 두 영어 문장은 그 형식이 같다. 둘다 그 형식은 "''S'' be ''Adj'' to ''V''"이기 때문이다. 하지만 [[생성언어학]]의 관점에서 두 문장이 '''심층 구조'''에서 띠는 형식은 다르다. 윗 문장에서 John은 동사 please의 [[목적어]]이고, 아랫 문단에서는 존이 동사 please의 [[주어]]이기 때문이다. == 사용과 언급 == 논리학자들 사이에 논란은 있으나, 언어적 표현을 '''사용(use)'''하는 것과 '''언급(mention)'''하는 것은 명시적으로 구분하는 것이 엄격한 의미에서는 옳다고 보는 관례가 있다. 보통 우리는 언어적 표현을 사용할 뿐이지만, 그 언어적 표현 자체에 대해서 말하고자 할 때에는 언어적 표현을 언급한다. 관례적으로 언어적 표현에 관해 언급할 때는 인용 부호를 붙여 표기하고, 표현을 사용할 때는 인용 부호를 붙이지 않는다. 다음 예시들을 참고하자: > 7+5=12 > ---- > '7+5'='12' 위의 문장은 참이고 밑의 문장은 거짓이다. 위 문장에서는 7, 5, 12라는 [[숫자]]를 사용해 [[수]]라는 추상적인 개념에 대해 논하고 있다. 반면 밑의 문장은 문자 그대로 '7+5'라는 기호와 '12'라는 기호가 동일하다는 문장이다. > 일리아드는 서사시이다. > ---- > '일리아드'는 서사시의 제목이다. 이 두 문장은 모두 참이다. > 열차는 바나나보다 길다. > ---- > '열차'는 '바나나'보다 짧다. 흔히 논리학 기초 수업에서 농담 삼아 언급되는 이 두 문장은 모두 참이다. == 뜻과 지시체 == [[고틀로프 프레게]]는 언어 표현의 뜻(Sinn)과 언어 표현의 지시체(Bedeutung)를 구분한 것으로 유명하다. 교과서에 자주 등장하는 대표적인 사례는 다음과 같다: > [[샛별]]은 [[개밥바라기]]와 같다. > ---- > [[샛별]]은 [[샛별]]과 같다. 샛별이 샛별이라는 것은 너무나 사소한 사실이지만, 샛별이 개밥바라기라는 사실은 오랜 세월에 걸쳐 천문학자들이 발견해낸 중요한 역사적 사실이다. 이런 차이를 헤아리기 위해 프레게는 '[[샛별]]'과 '[[개밥바라기]]'는 뜻은 다르지만 그 지시체는 [[금성]]으로 동일하다는 구분을 제안했다. 프레게는 자신의 수리 논리학 언어에도 이를 동일하게 적용한다. 예컨대 [[문장]]의 뜻은 [[명제]][* 프레게 본인의 표현을 따르면 '생각(Gedanke)']이고 문장의 지시체는 [[진리치]]라는 것. 철학적으로 프레게의 이런 구분이 적법한지 여부는 논쟁의 대상이나, 그 여부와는 별도로 많이들 편의상 '뜻'이나 '지시체' 같은 개념을 쓰고는 한다. 더 자세한 내용에 관해서는 [[고틀로프 프레게#s-3.2|프레게의 언어철학]]을 참조하자. == 대상 언어와 메타 언어 == 어떤 언어에 관해 다른 언어를 사용해 이야기한다면, 대상이 되는 언어는 대상 언어(object language)가 되고 대상을 기술하는 언어는 메타 언어(metalanguage)가 된다. 한국어로 영어 문법책을 쓴다면 영어는 대상 언어가 되고 한국어는 메타 언어가 된다. 논리학에서 대상 언어와 메타 언어를 명시적으로 구분한 시초는 알프레트 타르스키이며, 타르스키는 대상 언어와 메타 언어를 구분한 까닭은 [[거짓말쟁이의 역설]] 같은 의미론적 역설을 피하기 위해서였다. 대상 언어와 메타 언어가 구분되는 대표적인 사례는 변항(variable)이다. 이를테면 다음과 같은 [[명제 논리]] 문장이 있다고 해보자. > [math(P\& Q )] 이때 '[math(P\& Q )]'라는 한 사례만이 아니라 '[math(Q\& R )]', '[math(R\& S )]' 등 같은 형식을 띤 무수히 많은 문장을 통틀어 가리키고 싶을 땐 어떻게 해야하나? 똑같이 [[로마 알파벳]] 대문자를 썼다가는 그 의미를 전달하기 쉽지 않을 것이다. 이런 혼동을 방지하기 위한 관례적인 방식은 [[그리스 알파벳]]을 메타 변항으로 쓰는 것이다. > [math(\phi \& \psi )] 이때 '[math(\phi)]'는 '[math(P)]', '[math(Q)]', '[math(R)]' 등 대상 언어의 문장 변항들을 가능한 값으로 갖는다. '[math(\phi \& \psi )]'는 메타 언어의 문장이며, 대상 언어의 문장 꼴(schema)로 기능한다. [[ZFC 공리계]]에서 공리와 공리꼴이 구분되는 것을 참고하자. [include(틀:문서 가져옴, title=수리 논리학, version=289, paragraph=3)] [[분류:수리논리학]]