명제 논리propositional logic는 명제들 (혹은 그걸 표현하는 문장들) 사이의 논리적 관계를 다루는 연역 논리 체계입니다.(진리값을 지니는 게 문장이라고 보는 학자들은 "문장 논리sentential logic"라는 용어를 더 선호합니다. "진술 논리statement logic"이란 이름도 있습니다. 어쨌거나 핵심은 진리값을 갖는 언어적 존재자들 사이에 성립하는 논리적 관계를 탐구하는 체계라는 거죠.)
이 체계에서 문장은 대개 p, q, r 등의 알파벳으로 나타냅니다. 그리고 이들을 잇는 연결사connective가 등장합니다. 문장과 연결사를 사용해 부정문과 연언문, 선언문, 조건문, 쌍조건문 등을 만들어내죠.
부정문에 대해 알아보자
문장 p의 부정문negation~p는 그 진리값과 반대되는 진리값을 갖습니다. (자연히 이중 부정문 ~~p는 p와 같은 진리값을 갖겠죠.) 부정 연결사 ~는 "not"이라고 읽어요.부정 연결사 기호로는 ~ 외에 ¬도 널리 쓰입니다.
부정 연결사의 진리 조건을 나타내는 진리표
이 논리적 부정문은 일상적으로 사용하는 문법적 부정문과는 다릅니다. 가령 "모든 동물은 수컷이다Every animal is male"라는 문장은 거짓인데, 그 문법적 부정문 "모든 동물은 수컷이 아니다Every animal is not male" 역시 거짓이기는 마찬가지죠.
문장 p와 그 논리적 부정문 ~p는 반드시 서로 다른 진리값을 가져야 합니다. 그래서 "모든 동물은 수컷이다"라는 문장의 논리적 부정문은 "모든 동물이 수컷인 것은 아니다It is not the case that every animal is male"가 되죠.이건 물론 참입니다.
논리적 연결사는 진리 함수truth function를 의미합니다. 수number가아니라 진리값truth value을 인자argument로 삼는 함수죠. 마치 함수 f(x)=-x에 x값으로 1을 넣으면 -1이 나오고, -2를 넣으면 2가 나오는 것과 마찬가지예요. 참(T)을 넣으면 거짓이 나오고, 거짓(F)을 넣으면 참이 나오는 함수, 그게 바로 부정 연결사가 지칭하는 진리 함수예요.
그래서 논리적 부정문은 (문법적 부정문과 달리) 그저 본 문장의 진리값을 바꾸는 것으로 이해되어야 하죠.