Seems more consistent with the interface of Factor subclasses. Surprising if I never considered it before. See #26, which moved rule_valid from Rule to Holding.
Will require changing Holding.negated
and related code in Holding implication and contradiction methods.