gimmesilver's blog

Agbird.egloos.com

포토로그



모든 크레타인이 거짓말쟁이인 것은 아니다... 단상

 어린 시절 모순의 오류에 대해서 배울 때 교과서에 나온 예문 중에 이런 것이 있었다. 

 어떤 크레타인이 '모든 크레타인은 거짓말쟁이다.' 라고 말했다.

 왜 이것이 모순인고 하니 만약 저 크레타인의 말이 사실이라면 크레타인들은 모두 거짓말쟁이고 따라서 그 사람의 말도 거짓이므로 모든 크레타인은 거짓말쟁이가 아니므로 저 사람의 말이 사실이 되며 그래서 모든 크레타인은 거짓말쟁이가 되는데 그럼 저 사람의 말은 거짓이 돼서...가 되기 때문이란다.
 그 때 당시에는 아무런 의심없이 그냥 그런가 보다 하고 넘어갔었는데 오늘 문득 저 문장이 모순이 아닐지도 모른다는 생각이 들었다(왜 문득 저 문장이 떠올랐는지 그 이유는 패스...). 왜 그런고 하니...
 먼저 저 주장을 한 크레타인의 말이 사실이라고 가정해보자. 그러면 '모든 크레타인은 거짓말쟁이다.'라는 주장은 사실이고 따라서 저 주장을 한 크레타인도 거짓말쟁이다. 따라서 '모든 크레타인은 거짓말쟁이다.'라는 주장은 거짓이다. 문제는 '모든 크레타인은 거짓말쟁이다.'라는 주장의 반대는부정(negation)은 '모든 크레타인은 거짓말쟁이가 아니다.'가 아니라는 점이다. 다시 말하면 '모든 크레타인은 거짓말쟁이다.'의 반대는부정(negation)은 '적어도 한사람의 크레타인은 거짓말쟁이가 아니다.' 이다. 따라서 어떤 크레타인이 '모든 크레타인은 거짓말쟁이다.' 라고 말했다. 라는 명제는 그냥 거짓일 뿐이다. 그러니까 원래는 크레타인은 거짓말도 하고 참말도 하는데 하필 저 주장을 한 크레타인은 거짓말을 했을 뿐이다. 따라서 저 문장은 모순이 아니다.
 그런데 왜 학교에서는 저 문장을 모순의 오류에 가장 대표적인 예문으로 설명했던 것일까? 혹시 내가 뭘 잘못 생각한걸까? 막 괴로워하다가 집에 와서 인터넷 검색을 해봤는데 위키피디아에 내가 생각한 내용이 있었다...위키피디아 - 거짓말쟁이의 역설
 내 생각이 맞고 위키피디아가 맞다면 교과서의 내용이 잘못된 것이다.
 
 근데 요즘 애들도 학교에서 저 문장이 모순이라고 배우고 있으려나...? 가뜩이나 요즘 보면 논리적으로 말도 안되는 억지부리는 사람들이 많은데 학교에서라도 논리를 제대로 가르쳐야 할텐데...

 이왕 참/거짓 이야기가 나왔으니 한가지 더 이야기하자면...프로그래밍 언어인 C/C++에서는 숫자값으로 참/거짓을 표현할 수 있는데 0이면 거짓이고 0이 아니면 참이다. 여기서 재밌는 점은 거짓을 표현하는 값은 영 하나인 반면 참을 표현하는 값은 하나가 아니라는 점이다. 즉, 거짓(0)이 아니면 다 참이다. 근데 이게 알고 보면 제법 논리적이다.

 p -> q(p이면 q이다) 라는 명제의 진리표는 다음과 같다.
p  q  p->q
T  T  T
T  F  F
F  T  T
F  F  T
즉, p->q 가 거짓이 되는 조건은 p가 참이면서 q가 거짓일 때 뿐이다. p가 거짓인 경우에는 q값에 상관없이 p->q는 무조건 참이다. 
 이것을 좀더 직관적으로 이해하기 위해 저 명제를 집합으로 치환해서 생각해보자. p->q를 집합으로 치환하면 p⊆q 가 된다. 즉, p는 q의 부분집합이다. 그리고 어떤 명제 p가 참이라는 뜻은 임의의 원소가 집합 p에 속한다로, 거짓이라는 것은 임의의 원소가 p의 여집합에 속한다라고 생각하자. 이것을 저 진리표에 대응해보면 다음과 같이 해석할 수 있다.

p  q  p⊆q
T  T  T    => 임의의 원소가 p에 속하고 q에도 속하면 p가 q에 부분집합이라는 것은 사실이다.
T  F  F    => 임의의 원소가 p에는 속하는데 q에는 속하지 않으면 p가 q의 부분집합이라는 것은 거짓이다.
F  T  T   => 임의의 원소가 p에 속하지 않는데 q에는 속하고 있으면 p가 q의 부분집합이라는 것은 거짓이 아니다.
F  F  T  => 임의의 원소가 p에도 속하지 않고 q에도 속하고 있지 않으면 p가 q의 부분집합이라는 것은 거짓이 아니다.


 즉, 수학에서 명제의 참/거짓을 판단할때도 참의 의미는 '거짓이 아니다.'로 해석할 수 있다. 그러니 C/C++에서 거짓(0)이 아닌 모든 값을 참으로 해석하는 것은 다분히 논리적 근거를 가지고 있다. 

덧글

  • 위비 2008/05/20 17:24 # 삭제 답글

    한마디 적습니다

    문제는 '모든 크레타인은 거짓말쟁이다.'라는 주장의 반대는 '모든 크레타인은 거짓말쟁이가 아니다.'가 아니라는 점이다. 다시 말하면 '모든 크레타인은 거짓말쟁이다.'의 반대는 '적어도 한사람의 크레타인은 거짓말쟁이가 아니다.' 이다. 따라서 어떤 크레타인이 '모든 크레타인은 거짓말쟁이다.' 라고 말했다. 라는 명제는 그냥 거짓일 뿐이다.

    라고 하셨는데 이 논리엔 빠진 것이 있습니다 바로 '모든 크레타인은 거짓말쟁이다.' 의 반대 명제인 '적어도 한사람의 크레타인은 거짓말쟁이가 아니다.' 가 서로 같다는 대전제가 옳다는 것을 증명하지 않으셨습니다 반대라고 생각하셔서 그냥 같다고 생각하고 넘어가셨는지 모르겠는데 A의 반대가 B라고 B의 반대가 A가 되는 것은 아닙니다 C언어를 언급하셔서 저도 예로 들겠습니다 행렬에서도 A의 역이 B라고 B의 역이 A가 되는 것은 아닙니다 '모든 크레타인은 거짓말쟁이다' 라는 A명제의 역인 '모든 크레타인은 거짓말쟁이가 아니다'의 명제를 미루어보아 A명제의 옳고 그름을 판단하는 것은 옳지 않습니다

    수학 좀 하셨다면 알겁니다

    명제를 뒤집어서 참이 되는 것은 역이 아니라 대우입니다
  • silverbird 2008/05/20 18:51 # 답글

    //위비
    1. 행렬에서도 A의 역이 B라고 B의 역이 A가 되는 것은 아닙니다
    => 언급하신 역행렬 예는 여기에 맞지 않습니다. 이건 p와 ~p에 대한 이야기입니다. 명제 p에 대해서 ~(~p)는 p 입니다.
    2. 명제를 뒤집어서 참이 되는 것은 역이 아니라 대우입니다
    => 제 글 어떤 부분에서 역이 참이 된다고 했나요?
  • HTM 2009/04/19 23:40 # 삭제 답글

    그냥 한마디 적습니다. 어째서 '모든' 의 반대가 '적어도 한 사람의' 가 되는 것입니까? 저는 이해가 되지 않는군요.
    '모든 크레타인은 거짓말쟁이다'라고 크레타인이 주장했다, 그러므로 이 주장을 한 사람은 거짓말쟁이.
    그럼 모든 크레타인은 거짓말쟁이가 아니라는 소리인데 이 사람은 방금 전 거짓말을 했으니까 참말을 한 것이 아닙니다.
    거짓말쟁이가 아니라고 하면 저 사람은 참말을 하는 것인데 그럼 크레타인은 거짓말쟁이?
    반대로 적용이 된다고 해서 이 사람의 거짓말이 무효가 되는 것은 아닙니다.
    따라서 이 원리는 당연히 '모순' 에 해당하는 것입니다.
    물론 사람마다 해석하기 나름이겠지만 저렇게 따지면 크레타인이 '모든 크레타인은 거짓말쟁이다' 라고 말한 것은 모순입니다.



    ... 아시겠습니까? 방금 제가 한 말도 모순입니다.
    '따라서 이 원리는 당연히 모순에 해당하는 것입니다.' 라고 적어놓고 '물론 사람마다 해석하기 나름이겠지만' 이라고 적어놓았습니다.
    그러므로 이 덧글도 모순입니다.
  • silverbird 2009/04/20 12:45 #

    그러고 보니 제가 부정확한 표현을 했군요. 저 문장에서 '반대'라고 한 것은 '역'이 아니라 '부정'을 의마한 것이었습니다. 그 부분은 수정토록 하겠습니다.
    혹시 이걸 지적하시는 것이 아니었다면...
    '모든 x 에 대해서 p(x) 이다.' 라는 명제의 부정은 '어떤 x 에 대해서 p(x) 가 아니다.' 입니다(왜 그런지는 이산수학책을 참고하시기 바랍니다).
    따라서 '모든 크레타인은 거짓말쟁이다.' 라는 문장이 거짓이라면 실제로는 '어떤 크레타인은 거짓말쟁이가 아니다.' 이므로 모순이 아닙니다.
  • 아라 2009/07/15 08:09 # 삭제 답글

    흥미로운 이야기 잘 읽었습니다.
    위키피디아의 내용에서 다룬 것은 패러독스. 즉, 역설에 대한 것이기때문에
    에피메니데스의 일화는 역설에 적합하지 않다고 되어 있는 것 같아요.
    댓글을 다신 누리꾼분들의 이야기를 읽다가 의문이 생겨서 찾아보니
    모순과 역설의 서로 다른 주제를 가지고 대화를 하셔서 그런것 같네요.
    그러니까, 에피메니데스의 일화는 모순이 맞습니다. :)
  • silverbird 2010/02/21 15:34 #

    에피메니데스의 일화가 역설이 되려면 자기 모순이어야 하는데 위에 설명드렸다시피 자기 모순이 아닙니다. 자기 모순이 아닌 하나의 명제만 가지고 모순이라고 할 순 없지요.
  • ABCnara 2010/12/31 18:17 # 삭제 답글

    글 올리신지 오래지났지만..
    일단 silverbird님 말에 동의합니다
    저도 이상하게 silverbird님처럼 오늘 갑자기 저 "크레타인"이 떠오르더라고요. 사실 저 문장은 신약성경 디도서 1장 12절에도 나오죠.(그레데가 크레타 입니다) 그리고 곰곰히 생각하니까 어쩌면 모순이 아닐것이다 라는 생각이 들었습니다.
    저도 silverbird님과 같은 답을 내렸고,(즉 모순이 아니다) 인터넷에 검색하다가 이 글을 보게 되네요. 실제로 다른글이나 문제에서 크레타섬의 예문은 모순이 아니라고 말하는 경우가 많았습니다.

    다음과 같은 경우에는 모순이 일어나지 않습니다.
    1. 크레타섬에는 참말하는 사람도 있고 거짓말하는 사람도 있다.
    2. 에피메니데스는 거짓말을 하는 크레타섬 사람이다
  • 돌소년 2014/04/05 19:57 # 삭제 답글

    오래되었지만 지나가다가 적습니다. 제가 알고 있기론 원래는 "모든"이라는 말이 없습니다. "크레타인은 항상 거짓말만 한다" 이게 원래의 말일 것입니다.
  • gimmesilver 2014/04/08 15:13 #

    네 오래된 글에 관심 가져 주셔서 감사합니다. 그런데 '모든 크레타인은 거짓말쟁이이다.' 라는 문장과 말씀하신 '크레타인은 항상 거짓말만 한다' 라는 말과 의미상으로는 별 차이가 없어 보입니다.
  • ckadldpdy rjwltdldpd 2014/06/23 00:17 # 삭제 답글

    결론은 거짓인가요? 쉽게 설명좀 부탁드릴게요ㅜㅜ
  • gimmesilver 2014/06/26 19:37 #

    저기 위에 " 따라서 어떤 크레타인이 '모든 크레타인은 거짓말쟁이다.' 라고 말했다. 라는 명제는 그냥 거짓일 뿐이다." 라고 썼습니다만...
댓글 입력 영역