不具合を考える
【すべての事象を対象にすると・・・】
不具合のないシステムは
¬∃x(Bx)
※B : 不具合である
どんな操作や環境下であっても、
一切の不具合が存在しない。
で、ひとたび不具合が発覚すると、
¬∃x(Bx) ∧ ∃x(Bx) ≡ ∀x (¬Bx) ∧∃x(Bx)
⇒ ¬Ba ∧ Ba
で矛盾したことになる。
【操作を限定する】
矛盾を引き起こしたくなければ、操作や動作、環境などを
製作側が想定したものに限定すればよい。
∀x(Tx⇒¬Bx)
※T : 製作側が想定したものである。
そうすると、たとえ、不具合が存在したとしても、それは、
製作側が想定できなかったものである。
[前提1]∀x(Tx⇒¬Bx)
[前提2]∃Bx
[結論]∃x(¬Tx∧Bx)
が言える。
----
証明:結論を否定すると、矛盾になる。
∀x(Tx⇒¬Bx) ∧ ∃xBx ∧ ¬∃x(¬Tx∧Bx)
≡ ∃x(Tx∧Bx) ∧ ∀x¬Bx ∧ ∀x(Tx∨¬Bx)
⇒ Ta∧Ba∧¬Ba∧(Ta∨¬Ba)
≡ D∧¬D
----
【でも、不具合はゆるされない場合】
お金関係のシステムだとか、信号など、不具合の許されないシステムは結構多い。
その場合は、製作側が想定できなかた事象はすべてエラーにすればよい。
∀x(¬Tx⇒E)
※E:エラーになる。
すくなくとも、間違いな結果を出すことはない。
[前提1]∀x(Tx⇒¬Bx)
[前提2]∀x(¬Tx⇒E)
[結論]¬∃x(¬Tx∧Bx)
【使わなければ不具合は起きない】
ちなみに操作しなければ、最初の条件でも、
¬∃x(Bx)
は真になり、不具合は決して起きない。
何もしなければ、失敗しないのと同じなのだろう。