50 return std::any_of(v.begin(), v.end(), [](
bool x) {
55 return std::all_of(v.begin(), v.end(), [](
bool x) {
84 return *v !=
'f' && *v !=
'0';
Abstract semiring interface for provenance evaluation.
The Boolean semiring over bool.
virtual value_type zero() const override
Return the additive identity .
virtual value_type times(const std::vector< value_type > &v) const override
Apply the multiplicative operation to a list of values.
virtual value_type plus(const std::vector< value_type > &v) const override
Apply the additive operation to a list of values.
virtual bool compatibleWithBooleanRewrite() const override
The identity map BoolFunc(X) →+* Bool (evaluating a free Boolean function at a valuation) is an m-sem...
virtual value_type one() const override
Return the multiplicative identity .
virtual bool absorptive() const override
Return true if this semiring is absorptive ( for all ).
virtual value_type delta(value_type x) const override
Apply the operator.
value_type parse_leaf(const char *v) const
virtual value_type monus(value_type x, value_type y) const override
Apply the monus (m-semiring difference) operation.
Abstract base class for (m-)semirings.