PS: Es gibt doch 2 Zustände?
False
und
not False
aka =0 und <>0.

Ja, aber hier (Delphi) kann gelten:
Code:
a := 2; // (a = not false) ist wahr
b := 1; // (b = not false) ist wahr
c := (a = b);
// c ist falsch, in der Aussagenlogik wäre c aber wahr (nur wenn a, b Wahrheitswerte sind),
// weil immer gilt (not false = not false).
// Weil es in der Aussagenlogik keine verschiedenen "not false" geben kann.