16 #ifndef polybori_groebner_MinimalLeadingTerms_h_
17 #define polybori_groebner_MinimalLeadingTerms_h_
50 self& operator=(
const self& rhs) {
51 return static_cast<self&
>(
static_cast<base&
>(*this) = rhs);
58 PBORI_ASSERT(assertion(lm, removed.expBegin(),removed.expEnd()));
60 *
this = diff(removed).unite(lm.
set());
65 MonomialSet::exp_iterator start,
66 MonomialSet::exp_iterator finish)
const {
67 while (start != finish) {
68 if ( (*start) == lm.exp() || !start->reducibleBy(lm.exp()) )
set_type set() const
Get corresponding subset of of the powerset over all variables.
Definition: BooleMonomial.h:216
#define END_NAMESPACE_PBORIGB
Definition: groebner_defs.h:16
dd_type zero() const
Get empty decision diagram.
Definition: BoolePolyRing.cc:42
#define BEGIN_NAMESPACE_PBORIGB
Definition: groebner_defs.h:15
polybori::BooleSet MonomialSet
Definition: groebner_defs.h:45
bool isZero() const
Test whether diagram represents the empty set.
Definition: CCuddDDFacade.h:244
#define PBORI_ASSERT(arg)
Definition: pbori_defs.h:118
const ring_type & ring() const
Access ring, where this belongs to.
Definition: BooleMonomial.h:235
This class defines MinimalLeadingTerms.
Definition: MinimalLeadingTerms.h:29
MonomialSet update(const Monomial &lm)
Insert leading term and return monomials, that are not minimal (any more)
Definition: MinimalLeadingTerms.h:40
MinimalLeadingTerms(const Type &value)
Definition: MinimalLeadingTerms.h:37
Definition: BooleSet.h:57
This class is just a wrapper for using variables from cudd's decicion diagram.
Definition: BooleMonomial.h:50
BooleMonomial Monomial
Definition: embed.h:53