17 #ifndef HILBERT_SLICE_GUARD
18 #define HILBERT_SLICE_GUARD
32 const Ideal& subtract,
40 virtual bool baseCase(
bool simplified);
void swap(HilbertSlice &a, HilbertSlice &b)
void setToProjOf(const Slice &slice, const Projection &projection, CoefTermConsumer *consumer)
virtual bool getLowerBound(Term &bound, size_t var) const
Calculates a lower bound that depends on var.
virtual bool baseCase(bool simplified)
Returns true if this slice is a base case slice, and in that case produces output in a derivative-spe...
virtual Slice & operator=(const Slice &slice)
Performs a deep copy of slice into this object.
virtual bool simplifyStep()
Like simplify(), except that only one simplification step is performed.
HilbertSlice(HilbertStrategy &strategy)
CoefTermConsumer * _consumer
void swap(HilbertSlice &slice)
CoefTermConsumer * getConsumer()
Represents a monomial ideal with int exponents.
This class represents a slice, which is the central data structure of the Slice Algorithm.
Term represents a product of variables which does not include a coefficient.