あなたは真、偽を証明できるか。

[文頭はファンタジーです。本題は大文字から。]



真と偽。嘘と誠。
プログラムの世界では、いわゆるBoolean。True or False。


命題を司るもの。


これってプログラムの世界には欠かせないものですよね。


その真偽っていうのも、いざ考えてみると、奥深いもの。
自分が存在は真か偽か、とか倫理的に考えたり
彼女のことが本当に好きなのか、とかくだらないことを考えたりする。




と、ファンタジーなことを書いてみましたがww
実際このエントリを書きたくなった動機というのがですね、この2つの項目を見つけたからです。


自己言及のパラドックス - Wikipedia

ゼロ知識証明 - Wikipedia


前者は"我々は民族は皆、嘘つきである。"って言ったやつが、正直者なのか、嘘つきなのか、どちらにしても矛盾が生じる、言語のパラドックスってやつっす。
後者は"相手に自分の情報が真であることを、それだけの情報(私が持っている情報は真である。)で証明する。"という、面白いお話です。


我々は、自分が言っていることを相手に信じさせるために、いろいろな手段をとります。
それの基本的原理を知れば、様々なシチュエーションで使えるのではないかと、考えたわけです。


いかがでしょうか。