仕様もプログラムも同じことなんだよな
日本語みたいなプログラム言語があったとして

「鳥は飛ぶ」
とだけプログラムしてペンギンを入力して実行すると…
ペンギンが飛んじゃう

「ペンギンは飛ばない」
という文を追加すると
「エラー:鳥は飛ぶのでペンギンは飛ばないは矛盾した定義です」
みたいな分かりにくいエラーが出る

「ペンギン以外の鳥は飛ぶ」に変えるか
「注)鳥は飛べないこともある」
「注)鳥はペンギンを含まない」

みたいな行を追加しないと正しいプログラムとして受け付けてくれない