The question a Grobner basis allows us to answer is this: can the polynomial
p(x,y)=xy2+y be factorized in terms of a(x,y)=xy+1,b(x,y)=y2−1,
such that p(x,y)=f(x,y)a(x,y)+g(x,y)b(x,y) for some arbitrary polynomials
f(x,y),g(x,y)∈R[x,y].
One might imagine, "well, I'll divide and see what happens!" Now, there are two
routes to go down:
xy2+y=y(xy+1)=ya(x,y)+0b(x,y). Well, problem solved?
xy2+y=xy2−x+x+y=x(y2−1)+x+y=xb(x,y)+(x+y). Now what? we're stuck, and we can't apply a(x, y)!
So, clearly, the order in which we perform of factorization / division starts
to matter! Ideally, we want an algorithm which is not sensitive to the order
in which we choose to apply these changes. x2+1.
An alternative viewpoint of asking "can this be factorized", is to ask
"can we look at the factorization as a rewrite rule"? For this perspective,
notice that "factorizing" in terms of xy+1 is the same as being
able to set xy=−1, and then have the polynomial collapse to zero.
(For the more algebraic minded, this relates to the fact that R[x]/p(x)∼R(roots of p)).
The intuition behind this is that when we "divide by xy+1", really what
we are doing is we are setting xy+1=0, and then seeing what remains. But
xy+1=0⟺xy=−1. Thus, we can look at the original question as:
How can we apply the rewrite rules xy→−1, y2→1,
along with the regular rewrite rules of polynomial arithmetic to the polynomial
p(x,y)=xy2+y, such that we end with the value 0?
Our two derivations above correspond to the application of the rules:
xy2+yxy=−1−y+y=0
xy2+yy2=1x+y↛stuck!
That is, our rewrite rules are not confluent )
The grobner basis is a mathematical object, which is a a confluent set of rewrite rules for the above problem. That is, it's a set of polynomials which manage to find
the rewrite p(x,y)⋆0, regardless of the order in which
we apply them. It's also correct , in that it only rewrites to 0 if the
original system had some way to rewrite to 0.
We need to identify
critical pairs ),
which in this setting are called as S-polynomials.
Let fi=H(fi)+R(fi) and fj=H(fj)+R(fj). Let m=lcm(H(fi),H(fj)),
and let mi,mj be monomials such that mi⋅H(fi)=m=mj⋅H(fj).
The S-polynomial induced by fi,fj is defined as S(fi,fj)=mifi−mifj.