viewimage.php?id=3dafdf21f7d335ab67b1d1&no=24b0d769e1d32ca73deb87fa11d02831de04ca5aee4f7f339edb1d2bd9437835f87fdc6bfe36499058a57f95d69ed00519636ab37909a7fea8ec676e68f76086ad788ffb32b4



'이 문장은 거짓이다'


그렇다면? 이 문장은 거짓이다 라는게 거짓이므로


이 문장은 참이고 이 문장이 참이므로 거짓이고..


끝이없는 순환에 빠진다.


명제는 참 또는 거짓이어야만 하고 둘의 중첩상태라던가는 존재하지 않는데


이 문장은 참일까 거짓일까




코드로 나타내면 어떻게 될지 생각해봤다



viewimage.php?id=3dafdf21f7d335ab67b1d1&no=24b0d769e1d32ca73deb87fa11d02831de04ca5aee4f7f339edb1d2bd9437835f87fdc6bfe36499058a57f95d69ebd69d5f4681081af4153227578d953e6b3d92d8075be4223ea


파이썬으로 짜니까 굉장히 직관적인( 위 문장 그 자체인..) 코드가 된다.



viewimage.php?id=3dafdf21f7d335ab67b1d1&no=24b0d769e1d32ca73deb87fa11d02831de04ca5aee4f7f339edb1d2bd9437835f87fdc6bfe36499058a57f95d69ebd69d5f4681081af41532275788c01b0b7d71e226fb021fbbe

당연히 이렇게 뜨겠지


This_statement 는 뭘까?


바로 저 문장자체를 가르키는데 그러면


viewimage.php?id=3dafdf21f7d335ab67b1d1&no=24b0d769e1d32ca73deb87fa11d02831de04ca5aee4f7f339edb1d2bd9437835f87fdc6bfe36499058a57f95d69ebd69d5f4681081af41532275788352e9e28db322ac1ff49074


이런식으로 나타낼 수 있겠다


물론 이 코드도 같은 에러가 난다


This_statement는 statement인 이상 True 나 False 일거니까


그냥 둘다 넣어보면서 진행하는게 맞다고 생각되었다


그다음으로 떠오른건


This_statement와 This_statement is False 가 같냐 라는 의문이었다.



viewimage.php?id=3dafdf21f7d335ab67b1d1&no=24b0d769e1d32ca73deb87fa11d02831de04ca5aee4f7f339edb1d2bd9437835f87fdc6bfe36499058a57f95d69ebd69d5f4681081af4153227578d952b2b58d4e3171824a0f8e



viewimage.php?id=3dafdf21f7d335ab67b1d1&no=24b0d769e1d32ca73deb87fa11d02831de04ca5aee4f7f339edb1d2bd9437835f87fdc6bfe36499058a57f95d69ebd69d5f4681081af41532275788908b0b68989f3971712e427


결과는 This_statement의 진리값과는 관계없이


This_statement 와 This_statement is False는 같지않았다.


즉 논리적으로 거짓이라는 말이다 True == False 처럼


얼핏 'A는 거짓이다' 같이 보이는 단순한 명제 처럼 보이지만


A 가 'A는 거짓이다' 와 같다는 명제를 포함하고 있으면


이것은 항상 논리적으로 거짓인 모순된 명제가 되는것이다.


조금 다른이야기로 이 역설에 대한 역사적인 solution은


러셀이나 타르스키가 제시했는데


제대로 다 읽은건 아니지만


핵심은 메타언어 또는 계형이론 (둘이 비슷한거같다) 으로 설명하는데


대충 그냥 언어(계수 0) 과 메타 언어(계수 1 또는 그 이상.. 메타언어의 메타언어라면 계수 2 같이) 는 계층이 다르고


구분되어서 다루어져야 한다는것과


'참이다 or 거짓이다' 를 술어로 두는 문장(명제)는 보통의 언어가 아닌 메타언어라는 것이다.



viewimage.php?id=3dafdf21f7d335ab67b1d1&no=24b0d769e1d32ca73deb87fa11d02831de04ca5aee4f7f339edb1d2bd9437835f87fdc6bfe36499058a57f95d69ebd69d5f4681081af41532275788801b4b5d71300ddac0ed030



그래서 '이 문장' 과 '이 문장은 거짓이다' 라는것은 계층이 다르고, (이 문장의 계수와 관계없이)


둘은 동일하지 않다.


그렇게 되는거같다..


그냥 갑자기 궁금해져서 대충 찾아본거라 아닐 수 도 있다.. 심심해서 적어봄