論理の「もれ」と「だぶり」

数学のプラグラマを読んでる。第2章の論理に入った。バス料金のルールを論理学を利用して「もれ」なく「だぶり」のないものを作ろうというもの。これを網羅的(もれなく)で排他的(だぶりなく)な分割と言うらしい。

 

「もれ」がある場合。「乗客の年齢が6歳より上である」「乗客の年齢が6歳未満である」この料金ルールには6のところで「もれ」ている。どちらも条件に入らず、完璧に判定できない状態になっている。

 

「だぶり」がある場合。「乗客の年齢が6歳以上である」「乗客の年齢が6歳以下である」この料金ルールには6のところで「だぶり」がある。重なってしまっているということ。

 

プログラムを書いている時も「もれ」「だぶり」がないように書くと、バグが少ないコードになるということか。