factorial is positive also for n=0

Thus, if a variable is known to be a nonnegative integer, its factorial should be known to be positive.
But it could return False if you let it. So rather than pass the computation off to elsewhere, you can return fuzzy_and(...) and get a False in some circumstances.