14 template <
typename ValueSet>
15 typename ValueSet::value_t
17 const typename ValueSet::value_t& lhs,
18 const typename ValueSet::value_t& rhs)
20 return rs.conjunction(lhs, rhs);
28 template <
typename ValueSetLhs,
typename ValueSetRhs,
33 auto join_elts = join<ValueSetLhs, ValueSetRhs>(lhs, rhs);
34 return {std::get<0>(join_elts),
36 std::get<1>(join_elts),
37 std::get<2>(join_elts))};
51 template <
typename ExpSetLhs,
typename ExpSetRhs>
55 return conjunction_value<ExpSetLhs, ExpSetRhs>(lhs, rhs);
69 template <
typename ExpSetLhs,
typename ExpSetRhs>
73 return conjunction_value<ExpSetLhs, ExpSetRhs>(lhs, rhs);
87 template <
typename PolynomialSetLhs,
typename PolynomialSetRhs>
91 return conjunction_value<PolynomialSetLhs, PolynomialSetRhs>(lhs, rhs);
Value conjunction_value(const Value &lhs, const Value &rhs)
expansion conjunction_expansion(const expansion &lhs, const expansion &rhs)
Bridge (conjunction).
ValueSet::value_t conjunction(const ValueSet &rs, const typename ValueSet::value_t &lhs, const typename ValueSet::value_t &rhs)
Intersection/Hadamard product of values.
polynomial conjunction_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (conjunction).
value_impl< detail::expression_tag > expression
expression conjunction_expression(const expression &lhs, const expression &rhs)
Bridge (conjunction).