A Signature-Based Algorithm for Computing Gröbner Bases over Principal Ideal Domains

Signature-based algorithms have become a standard approach for Gröbner basis computations for polynomial systems over fields, but how to extend these techniques to coefficients in general rings is not yet as well understood. In this paper, we present a proof-of-concept signature-based algorithm for computing Gröbner bases over commutative integral domains. It is adapted from a general version of Möller’s algorithm (J Symb Comput 6(2–3), 345–359, 1988) which considers reductions by multiple polynomials at each step. This algorithm performs reductions with non-decreasing signatures, and in particular, signature drops do not occur. When the coefficients are from a principal ideal domain (e.g. the ring of integers or the ring of univariate polynomials over a field), we prove correctness and termination of the algorithm, and we show how to use signature properties to implement classic signature-based criteria to eliminate some redundant reductions. In particular, if the input is a regular sequence, the algorithm operates without any reduction to 0. We have written a toy implementation of the algorithm in Magma. Early experimental results suggest that the algorithm might even be correct and terminate in a more general setting, for polynomials over a unique factorization domain (e.g. the ring of multivariate polynomials over a field or a PID).

data with coefficients in a multivariate polynomial ring (a Unique Factorization Domain but not a PID) suggest that the signature-based algorithm might work over more general rings than just PIDs. For that reason, and because it does not over-complicate the exposition, we choose to present Möller's algorithms, with and without signatures, in their most general form, accepting input over any Noetherian commutative ring.

Previous Works
Signature-based Gröbner basis algorithms over fields have been extensively studied, and an excellent survey of those works can be found in [6]. The technical details of most proofs can be found in [10,22]. The theory of Gröbner bases for polynomials over Noetherian commutative rings dates back to the 1970s [19,23] and a good exposition of these approaches can be found in [1]. Algorithms exist for both flavors of Gröbner bases: Buchberger's algorithm [5] computes weak Gröbner bases over a PID, and Möller's weak algorithm [19] extends this approach to Noetherian commutative rings. As for strong Gröbner bases, they can be computed using an adapted version of Buchberger's algorithm [16] or Möller's strong algorithm [19]. Algorithms for computing signature Gröbner bases over Euclidean rings have been investigated in [9].

Notations
Let R be a Noetherian integral domain, which is assumed to have a unit and be commutative. Let A = R[x 1 , . . . , x n ] be the polynomial ring in n indeterminates x 1 , . . . , x n over R. A monomial in A is x a = x a 1 1 . . . x a n n where a = (a 1 , . . . , a n ) ∈ N n . A term is kx a , where k ∈ R and k = 0. We will denote all the terms in A by Ter(A) and all the monomials in A by Mon(A). We use the notation a for polynomial ideals in A = R[x 1 , . . . , x n ] and I for ideals in the coefficient ring R.
The notion of monomial order can be directly extended from K[x 1 , . . . , x n ] to A. In the rest of the paper, we assume that A is endowed with an implicit monomial order ≺, and we define as usual the leading monomial LM, the leading term LT and the leading coefficient LC of a given polynomial.

Gröbner Bases in Polynomial Rings over R
For more details about the contents of this section, one can refer to [1,Chapter 4].

Computations in R
We assume that our coefficient ring R is effective in the following sense.
The condition that an algorithm LinDecomp exists is called linear equations being solvable in R in [1,Def. 4.1.5].

Weak Gröbner Bases over Rings
For reduction in fields it is enough to check if the leading term of f is divisible by the leading monomial of g even though the actual reduction happens with the leading term of g. Clearly, in rings this is not a sufficient condition : LC(g) may not divide LC( f ) even if LM(g) divides LM( f ). Requiring that LT(g) divide LT( f ) leads to the notion of strong Gröbner basis, more details can be found in [1,Sec. 4.5].
Here we are interested in computing weak Gröbner bases, and we recall the main definitions in this section. First, following [1,19], we expand the definition of reduction to allow for a linear combination of reducers. We define saturated sets [1,Def.4.2.4] (called maximal sets in [19]).

Definition 3.1 Given a tuple of monomials
. When clear from the context, we shall omit the list of monomials and write J In our setting we will only perform top reductions, so we will simply call them weak reductions.
The outcome of the total reduction step is g = f − s i=1 l i x a i f i and the f i 's are called the weak reducers. A polynomial f ∈ A is weakly reducible if it can be weakly reduced, otherwise it is weakly reduced.
If g is the outcome of reducing f , then LM(g) ≺ LM( f ).
Example Consider the polynomial ring Z[x, y] with the lex ordering y ≺ x, and consider the set We are now prepared to give the definition of (weak) Gröbner bases for an ideal in A.

Definition 3.3
Let a be an ideal in A and G = {g 1 , . . . , g t } be a finite set of nonzero polynomials in a. The set G is called a weak Gröbner basis of a in A if it satisfies the following equivalent properties.
1. LT(G) = LT(a) ; 2. for any f ∈ a, f is weakly reducible modulo G; 3. for any f ∈ A, f ∈ a if and only if f weakly reduces to 0 modulo G. Remark 3.4 Even though the notion of weak Gröbner bases is a weaker notion than that of strong Gröbner bases, one can use weak polynomial reductions to test for ideal membership. One can also define normal forms modulo a polynomial ideal. However, for those normal forms to be unique, one needs to perform further reductions on the coefficients, to "coset representative form", and one needs to perform reductions on non-leading coefficients as well [1,Th. 4.3.3]. Finally, note that, over a PID, one can easily recover a strong basis from a weak one [19,Th. 4].

Möller's Algorithm for General Rings
In this section, we present Möller's (weak) algorithm [19] for computing Gröbner bases over rings satisfying the conditions of Sect. 3.1. This algorithm is analogous to Buchberger's algorithm for rings, where the polynomial reduction is as defined above and S-polynomials are replaced with linear combinations of several (possibly more than 2) polynomials, defined in the following sense. Let c be such a generator, by definition cC(s) ∈ C(i) : i ∈ J, i = s so there exists (b i ) i∈J * ∈ R such that cC(s) = i∈J * b i C(i). The (weak) S-polynomial associated with J , s and c, for some suitable (b i ), is defined as Then the S-polynomial associated with J , s, c, for some suitable (b i ), can be written in the following form Using this definition of S-polynomials, we recall Möller's algorithm (Algorithm 1) for computing a Gröbner basis of an ideal given by a set of generators over R. The correctness and termination of this algorithm are shown in [1,Th. 4

Signatures in A m
We consider the free A-module A m with basis e 1 , . . . , e m . A term (resp. monomial) in A m is kx a e i (resp. x a e i ) for some k ∈ R\{0}, x a ∈ Mon(A), i ∈ {1, . . . , m}. In this paper, terms in A m are ordered using the Position Over Algorithm 1 Möller's algorithm [1,Algo. 4.2.2], [19] Given two terms kx a e i and lx b e j in A m , we write kx a e i lx b e j if they are incomparable, i.e. if a = b and i = j. Given a set of polynomials f 1 , . . . , f m ∈ A, elements of A m encode elements of the ideal f 1 , . . . , f m through the A-module homomorphism· : A m → A, defined by setting e i = f i and extending linearly to A m . In particular, . . = p m = 0 and p i = 0. Signatures are of the form kx a e i , where k ∈ R, x a ∈ Mon(A) and e i is a standard basis vector.
Note that we have two ways of comparing two similar signatures s(α) = kx a e i and s(β) = lx b e j . We write s(α) = s(β) if k = l, a = b and i = j, and we write s(α) s(β) if a = b and i = j, k and l being possibly different. If R is a field, one can assume that the coefficient is 1, and so this distinction is not important.
Note also that when we order signatures, we only compare the corresponding module monomials, and disregard the coefficients. This is a different approach from the one used in [9], where both signatures and coefficients are ordered.
In order to keep track of signatures we modify Definition 3.2 to introduce the notion of s-reduction.
Definition 4.1 Let p ∈ A m . We say that we can signature-reduce (or s-reduce) p by β 1 , . . . , β s ∈ A m if we can reduce p by β 1 , . . . , β s (in the sense of Definition 3.2) and s( . We can define similarly s-reduced module elements. If s(x a i β i ) s(p) for some i in the above s-reduction, then it is called a singular s-reduction step. Otherwise it is called a regular s-reduction step.
If s(x a i β i ) s(p) for exactly one i and it is actually an equality s(l i x a i β i ) = s(p), it is called a 1-singular s-reduction step.
Remark 4.2 For simplicity, we only carry out weak top reductions, and in particular all s-reductions are weak top s-reductions. But performing regular s-reduction to eliminate trailing terms does not affect the correctness of the algorithm.
Just like s-reduction over fields, one can interpret s-reduction as polynomial reduction with an extra condition on the signature of the reducers. The difference with fields is that in R[x 1 , . . . , x n ] polynomial reduction is defined differently from the classic polynomial reduction. Additionally, in the case of fields, all singular s-reductions are 1-singular.
The outcome q of s-reducing p is such that LT(q) ≺ LT(p) and s(q) s(p). If q is the result of a regular s-reduction, then s(q) = s(p). In signature-based algorithms, in order to keep track of the signatures of the basis elements, we only allow regular s-reductions. Later, we will also prove that elements which are 1-singular s-reducible can be discarded.

Remark 4.3
In [9, Ex. 2], a signature drop appears when s-reducing an element of signature 6ye 2 with an element of signature ye 2 causing the signature to "drop" to 5ye 2 . With our definition, since we only compare the module monomial part of the signatures, this is a (forbidden) singular s-reduction.
Given a signature T, we say that G is a (partial) signature Gröbner basis up to T if all u ∈ A m with signature ≺ T s-reduce to 0 mod G.
Using this definition, we can give the following characterization of 1-singular reducibility, which allows for an easy algorithmic test. Proof If p is 1-singular s-reducible, then such j, k and x a exist by definition. Conversely, given such j, k and . So putting together the two s-reductions, we obtain that and this is a 1-singular s-reduction of p.
We now define (weak) semi-strong signature Gröbner bases, which form a subclass of weak s-Gröbner bases. In the case of rings, it is easier to compute them than to directly compute weak s-Gröbner bases.
Proof The definition of a semi-strong Gröbner basis implies that all u ∈ A m with u = 0 are s-reducible modulo G, and so such s-reductions form a chain which can only terminate at 0.
The proof that a signature Gröbner basis is a Gröbner basis is classical [6,Lem. 4.1].
In order to compute signature Gröbner bases, similar to the case of fields, we will restrict the computations to regular S-polynomials. For this purpose, we first introduce the signature of a set of indices, and regular sets. Let (b j ) j∈J * be a tuple of elements of R such that cC(s) = j∈J * b j C( j). Then the (weak) S-polynomial associated with J and c is defined as Its signature is

Adding Signatures to Möller's Weak Algorithm
Recall that all s-reductions are weak top s-reductions. In this section, all S-polynomials are weak S-polynomials.

Algorithms
Algorithm SigMöller (Algorithm 3) is a signature-based version of Möller's algorithm which, given an ideal a in R[x 1 , . . . , x n ] where R is a PID, computes a signature Gröbner basis of a. The algorithm proceeds by maintaining a list of regular saturated sets P and computing weak S-polynomials obtained from these saturated sets. At each step, it selects the next regular saturated set J ∈ P such that J has minimal presignature amongst elements of P. This ensures that the algorithm computes new elements for the signature Gröbner basis with nondecreasing signatures (Prop. 5.2).
The algorithm then regular s-reduces these S-polynomials w.r.t. the previous elements, and adds to the basis those which are not equal to 0 and are not 1-singular s-reducible. Signature-based Gröbner basis algorithms over fields typically discard all new elements which are singular s-reducible, but this may be too restrictive for rings. On the other hand, the proof of Lemma 5.4 justifies that 1-singular s-reducible module elements can be safely discarded in the computations. The correctness of the criterion for 1-singular s-reducibility (Algorithm 4) was justified in Lemma 4.5. The correctness and termination of Algorithm SigMöller are proved in Th. 5.5 and Th. 5.6 respectively. Due to space constraints, the subroutine RegularReduce is not explicitly written. It implements regular sreduction of a module element p w.r.t. a set of module elements {α 1 , . . . , α s }. It is a straightforward transposition of Reduce (Algorithm 2), with the additional condition that we only consider as reducers of r those α j with LM(α j ) | LM(r) and LM(r) LM(α j ) s(α j ) ≺ s(r).

Remark 5.1
Note that the algorithms, as presented, perform computations on module elements. However, for practical implementations, this represents a significant overhead. On the other hand, for any module element α, we only need its polynomial value α and its signature s(α). Hence the algorithm only needs to keep track of the signatures of elements, which is made possible by the restriction to regular S-polynomials and regular s-reductions.
Example An example run of Algorithm 3 is available online. 1

Proof of Correctness
In this section we prove the correctness of the algorithms presented in Sect. 5.1. The first result states that Algorithm SigMöller computes elements of the signature Gröbner basis in nondecreasing order on their signatures. (α 1 , . . . , α t ) be the value of G at any point in the course of Algorithm SigMöller. Then s(α 1 ) s(α 2 ) · · · s(α t ).

Proposition 5.2 Let
Proof Assume that this is not the case, and let i be the smallest index such that s(α i ) s(α i+1 ). Let J i (resp. J i+1 ) be the saturated set used to compute α i (resp. α i+1 ). Note that s(α i ) S(J i ) and s(α i+1 ) S(J i+1 ).
If i / ∈ J i+1 , then J i+1 was already in the queue P when J i was selected, and so, by the selection criterion in the algorithm, S(J i ) S(J i+1 ).
If i ∈ J i+1 , then S(J i+1 ) The following useful lemma gives consequences of the fact that two regular s-reduced elements share the same signature. Proof Let r = p − q. Since s(p) = s(q), we have s(r) ≺ s(p) = L, and so r s-reduces to 0 modulo G. Assume first that LM(p) = LM(q), then w.l.o.g. we may assume that LM(p) LM(q), so LM(r) = LM(p). Since r is regular s-reducible, p is s-reducible. This is a contradiction with the assumption that p is s-reduced. So LM(p) = LM(q) =: m. If LT(p) = LT(q), C is the ideal of leading coefficients of polynomials which can eliminate m, and since r is s-reducible, LC(p) − LC(q) ∈ C.

Algorithm 4 Test of 1-singular s-reducibility modulo a partial s-GB (1-SingularReducible)
Input G = {α 1 , . . . , α s } ⊂ A m and p ∈ A m such that p is regular s-reduced w.r.t. G and G is a signature Gröbner basis up to s(p) We now prove the correctness of Algorithm SigMöller. The proof follows the structure of the proof in the case of fields [22], and adapts it to Möller's algorithm over PIDs. In particular, it takes into account weak s-reductions instead of classical s-reductions. The algorithm ensures that all regular S-polynomials up to a given signature T s-reduce to 0, and proving the correctness of the algorithm requires proving that this implies that all module elements with signature ≺ T s-reduce to 0.
The key lemma of the proof is the following. G = (α 1 , . . . , α s ) ⊆ A m . Let u ∈ A m \{0} be s-reduced such that u = 0. Assume that G is a s-s s-GB basis up to signature s(u). Then there exists an S-polynomial p w.r.t. G, such that:

Lemma 5.4 Let
1. the signature of p divides the signature of u: kx a s(p) = s(u) with k ∈ R and x a ∈ Mon(A); 2. if p is the result of regular s-reducing p w.r.t. G, then kx a p is regular s-reduced.
Proof The proof is in two steps: first, we construct a S-polynomial p whose signature divides s(u), and then, starting from p, we show that there exists an S-polynomial satisfying the conditions of the lemma.
In the remainder of the proof, for i ∈ {1, . . . , s}, let Existence of a S-polynomial satisfying 1 For the first step, let s(u) be lx b e i for some l ∈ R, x b a monomial and e i a basis vector. Let e i be the result of regular s-reducing e i . If e i = 0, then u regular s-reduces to 0, which is a contradiction since we assumed u to be s-reduced and u = 0. Let L = lx b e i , it has signature lx b e i . Then u − L has a smaller signature than u, so it s-reduces to zero and in particular it is s-reducible. Also, L is s-reducible by and so l ∈ C( j) : j ∈ J, j = σ : C(σ ) . Since R is a PID, this ideal is principal. Let b J be its generator, then b J | l. Let p be the S-polynomial corresponding to J and b J . It is regular by construction since J is a regular saturated set, and its signature is Existence of a S-polynomial satisfying 1. and 2 Let p be an S-polynomial whose signature divides s(u), and let p be the regular s-reduced form of p. Write s(u) = s(kx a p), where k ∈ R and x a is a monomial.
We can assume that kx a p is regular s-reducible or else we are done. We then construct an S-polynomial q such that s(lx b q) = s(u) and LM(kx a p) LM(lx b q). If lx b q , where q is obtained by regular s-reducing q, is not regular s-reducible then we are done. Otherwise we can do the same process again and get a third S-polynomial with the same properties and keep repeating. Since the initial terms are strictly decreasing and we have a well order there are only finitely many such S-polynomials.
First, we show that we can assume that x a 1. Indeed, assume that a = 0 and kp is regular s-reducible. Since R is an integral domain, LM(kp ) = LM(p ). Let J LM(p ) be the maximal regular saturated set J with M(J ) | LM(p ). Then kLC(p ) lies in the ideal LC(α j ) : j ∈ J LM(p ) . Since R is a PID, this ideal is principal, let b J LM(p ) be its generator, then b J LM(p ) | k. Let q be the S-polynomial corresponding to the regular saturated set J LM(p ) and the generator b J LM(p ) , its signature divides s(u) and is strictly divisible by s(p). Repeating the process as needed, we obtain a strictly increasing sequence of elements dividing the coefficient of s(u), and since R is a PID and in particular a unique-factorization domain, this sequence has to be finite. So we can assume that x a 1.
We will construct two reductions of LT(kx a p ), which taken together will give the S-polynomial q. For the first reduction, the module element p ∈ A m is regular s-reduced modulo the s-s s-GB G, and its signature is smaller than s(u). Furthermore, by assumption kx a p is not regular s-reduced, so p cannot be 0. So, by definition of a s-s s-GB, p is 1-singular s-reducible. So there exists (t (1) i ) i∈J 1 terms in A, with J 1 ⊂ {1, . . . , s} and for all i ∈ J 1 , t (1) i = 0, and such that with for all i ∈ J 1 , LM(t (1) τ S(τ ) = s(p) and for all i ∈ J 1 \{τ }, t (1) i S(i) ≺ s(p). We now build the second reduction. Since kx a p is regular s-reducible, there exists (t (2) i ) i∈J 2 terms in A, with J 2 ⊂ {1, . . . , s} and for all i ∈ J 2 , t and for all j ∈ J 2 , LM(t (2) j )M( j) = LM(kx a p ) and t (2) j S( j) ≺ s(kx a p ). Now let J = J 1 ∪ J 2 , and let t where for all i ∈ J , t i = kx a t (1) i −t (2) i . Furthermore, for all i ∈ J \{τ }, LM(t i )M(i) = LM(x a p ) = LM(x a t τ )M(τ ) and t i S(i) ≺ s(p) = kx a t τ S(τ ).
The same argument as the one used, in the first part of the proof, to construct an S-polynomial based on Eq. (5.1) yields an S-polynomial q such that s(q) divides s(u), say lx b s(q) = s(u). Furthermore, since the leading term is eliminated in the construction of an S-polynomial, LT(lx b q) ≺ LT(kx a p ), which concludes the proof. Proof To get a contradiction assume there exists a u ∈ A m with s(u) ≺ T such that u does not s-reduce to zero. Assume w.l.o.g. that s(u) is ≺-minimal such that u does not s-reduce to zero and also that u is regular s-reduced.
By Lemma 5.4 there is an S-polynomial p with s(kx a p) = s(u) with k ∈ R, x a ∈ Mon(A). Also, kx a p is regular s-reduced where p is the result of regular s-reducing p.
Let J LM(u) be the maximal regular saturated set J with M(J ) | LM(u). Since s(kx a p) = s(u) and both kx a p and u are regular s-reduced, we have by Lemma 5.3 that LM(kx a p ) = LM(u), and either LT(kx a p ) = LT(u), or So in either case, there exists (t i ) i∈J LM(u) terms in A, possibly all zero, such that and t i LM(α i ) = LM(r) = LM(u) for all i such that t i = 0.
Since p is a regular S-polynomial with s(p ) s(u) ≺ T, p is s-reducible, and so kx a p is s-reducible. So there exists (τ i ) i∈J LM(u) terms in A such that and u is s-reducible which is a contradiction.

Proof of Termination
The usual proofs of termination of signature-based Gröbner basis algorithms (e.g. [22,Th. 11]) rely on the fact that all elements which are singular s-reducible are discarded in the computations. Algorithm SigMöller only discards those which are 1-singular s-reducible. For this reason, we adapt the proof of termination of Algorithm RB [10,Th. 20], which handles singular s-reducible elements in a different way. . Those ratios are ordered naturally by s m ≺ s m ⇐⇒ sm ≺ s m. We partition G into subsets G r = {α i | r (α i ) r }, where denotes equality up to a coefficient in R. We prove that only finitely many G r are non-empty, and that they are all finite, hence G is finite.
First, we prove that only finitely many G r are non-empty. We do so by counting minimal basis elements, where α i is minimal if and only if there is no α j ∈ G with s(α j ) | s(α i ) and T ( j) | T (i). A non-minimal module element α i is s-reducible by {α 1 , . . . , α i−1 } [22,Lem. 12], and since all basis elements are regular s-reduced by construction, α i is singular s-reducible. In particular, there exists at least one α j , j < i and a monomial m with s(mα j ) s(α i ) and m M( j) = M(i), so α i and α j lie in the same subset G r . Hence there are at most as many non-empty G r 's as there are minimal basis elements. This is finitely many because A and A m are Noetherian.
Then we prove by induction on the finitely many non-empty sets G r that each G r is finite. Let r be a sig-lead ratio, assume that for all r < r , G r is finite. Let α t ∈ G r . If α t is e i for some i, then it only counts for one. Otherwise, let J be the regular saturated set, and p the corresponding S-polynomial, that SigMöller regular s-reduced to obtain α t .
M( j) for j ∈ J \{τ }. Hence all α j , j ∈ J are in some G r j with r j < r , so for computing elements of G r , the algorithm will consider at most as many saturated subsets as there are subsets of r <r G r , which is finite by induction. Furthermore, since R is a PID and in particular Noetherian, with each saturated subset J , the algorithm only builds finitely many S-polynomials (actually, it only builds one). So overall, we find that G r is finite, which concludes the proof by induction.

Eliminating S-Polynomials
It is well known in the case of fields that additional criteria can be implemented to detect that a regular S-pair will lead to an element which s-reduces to 0. In this section, we show how we can implement three such criteria, namely the syzygy criterion, the F5 criterion and the singular criterion.

Syzygy Criterion
Syzygy criteria rely on the fact that, if the signature of an S-polynomial can be written as a linear combination of signatures of syzygies, then this S-polynomial would be a syzygy itself. Signatures of syzygies can be identified in two ways: • the Koszul syzygy between basis elements p and q such that s(p) = m p e i , s(q) = m q e j , i < j is pq − qp, and it has signature LT(p)s(q); • if a regular S-polynomial p s-reduces to 0, then s(p) and its multiples are signatures of syzygies; thus, the algorithm may maintain a set of generators of signatures of syzygies by adding to this set s(p) for each Spolynomial p s-reducing to 0.
For regular sequences, all syzygies are Koszul syzygies.

Singular Criterion
The singular criterion states that the algorithm only needs to consider one S-polynomial with a given signature. So when computing a new S-polynomial, if there already exists a s-reduced module element with the same signature, we may discard the current S-polynomial without performing any s-reduction. Proof Let p be the result of regular s-reducing p w.r.t. G. By construction, the basis element α i is regular s-reduced w.r.t. G. So by Lemma 5.3, LM(p ) = LM(α i ), and applying Lemma 4.5, with k = 1 and x a = 1, shows that p is 1-singular s-reducible. The result of that s-reduction has signature ≺ s(p) = T, so it s-reduces to 0.

Experimental Results and Future Work
We have written a toy implementation of Algorithm SigMöller, 2 with the F5 and Singular criteria. We provide functions LinDecomp and SatIdeal for Euclidean rings, fields and multivariate polynomial rings. Since our focus is on the feasibility of signature-compatible computations and not their efficiency, we give data about the number of considered S-polynomials, saturated sets and reductions to 0, when computing Gröbner bases over Z for the polynomial systems Katsura-2 (Table 1) and Katsura-3 ( Table 2). The statistics are compared with a run of Möller's strong algorithm [19]. Even though the proposed algorithm, adapted from Möller's weak algorithm, considers more saturated sets than Möller's strong algorithm, thanks to the signatures, it ends up computing and reducing significantly less S-polynomials, and no reductions to zero appear.
Running Algorithm SigMöller on larger examples would require optimizations, but it appears that the most expensive step is the generation of the saturated sets, which takes time exponential in the size of the current basis. This step may be accelerated in different ways. First, it is known that in the case of PIDs, the reductions of Möller's algorithm can be recovered from those of Möller's strong algorithm [1,Sec. 4.4], which may allow to run the algorithms considering only pairs instead of arbitrary tuples of polynomials. Additionally, Gebauer and Möller's criteria for fields can be used to make Möller's strong algorithm over PIDs more efficient [19]. We will investigate whether it is possible to prove that these algorithms are compatible with signatures in the future. Finally, future research will be focused on further signature-based criteria, such as the cover criterion described in [14] and the more general rewriting criteria.
The algorithm accepts as input polynomials over any ring, provided that the necessary routines are defined. In particular, our implementation can run the algorithms on polynomials on the base ring K[y 1 , . . . , y k ]. On small examples in this setting, it appears that the algorithm terminates and returns a correct output. Understanding the behavior of SigMöller over UFDs or even more general rings will also be the focus of future research.