3 ms·
I think a key point is that (correct me if I'm wrong here) in predicate logic you can rewrite ∀x Fx As Not ∃x (not Fx) Ie: "for all x, f(x)" implies
by mabbo 3y ago
I think a key point is that (correct me if I'm wrong here) in predicate logic you can rewrite
∀x Fx
As
Not ∃x (not Fx)
Ie: "for all x, f(x)" implies the opposite of "there exists an x where not F(x)".
People seem to have less of a problem with
Not ∃x (not Fx)
when the universe is x is empty.
I usually explain it to junior developers by telling them to imagine it's a for loop over a list that returns true/false if it finds a value that doesn't match what's expected, and the opposite of it reaches the end of the list.