[4/24]: rework assumptions.py to use FactRules (kill ._eval_is_nonnegative)