prologのペンギンは空を飛べるか問題。
- 適用可能な三値論理、真 (true)
- 適用可能な三値論理、負 (false)
- 適用可能な三値論理、trueかfalseか不明 (unknown)
- 適用不可能 (N/A。浮動小数点のNaNに近い? 仮にnaとする)
- 適用不可能か適用可能か不明 (仮にnilとする)
- 条件付き適用可能やら不可能やら、条件付き真やら負やら不明やら。
三値論理はまぁ有名。条件付きは面倒なので考えないとして、他ののandはこんな感じ。
true & true = true true & false = false false & true = false false & false = false unknown & true = unknown unknown & false = false unknown & unknown = unknown na & true = na na & false = na na & unknown = na na & na = na nil & true = nil nil & false = nil nil & unknown = nil nil & na = na // 注意! nil & nil = nil
何かに使えるような、あまり使えないような。