# ApCoCoA-1:NCo.MRIsGB

## NCo.MRIsGB

Check whether a finite LIST of non-zero polynomials in a finitely presented monoid ring is a Groebner basis.

### Syntax

NCo.MRIsGB(X:STRING, Ordering:STRING, Relations:LIST, G:LIST):BOOL

### Description

Note that, given a word ordering `Ordering`, a set `G` of non-zero polynomials is called a *Groebner basis* with respect to `Ordering` if, for every non-zero polynomial `f` in the ideal `<G>`, there exists a polynomial `g` in `G` such that `MRLW(f)` is a multiple of `MRLW(g)`. The function check whether a given finite set `G` of non-zero polynomials is a Groebner basis by using the `Buchberger Criterion`, i.e. `G` is a Groebner basis if the S-polynomials of all obstructions of `G` have the zero normal remainder with respect to `G`.

*Please note:* The function(s) explained on this page is/are using the *ApCoCoAServer*. You will have to start the ApCoCoAServer in order to use it/them.

Please set coefficient field via the function NCo.SetFp (or NCo.UnsetFp) before calling this function. The default coefficient field is the field of rational numbers, i.e. RAT in CoCoAL. For more information, please check the relevant functions.

@param

*X:*a finite alphabet (or set of indeterminates). It is of STRING type. Note that every letter in X MUST appear only once.The order of letters in X induces word orderings.@param

*Ordering:*a word ordering induced by the order of letters in X. It is a STRING, which is a shortened-form of the name of corresponding word ordering. Note that "LLEX" (the length-lexicographic ordering), "ELIM" (an elimination ordering) and "LRLEX" (the length-reverse-lexicographic ordering) are supported currently. See NCo.SetOrdering for more details.@param

*Relations:*a finite set of relations. It is of LIST type. Each element in Relations is of the form [W1, W2], where W1 and W2 are words in`<X>`. Each word is represented as a STRING. For example, the word`xy^2x`is represented as "xyyx", and the identity is represented as the empty string "". Thus, the relation`(yx, xy)`is represented as ["yx", "xy"], and the set of relations`{(yx, xy),(zx,xz),(zy,yz)}`is represented as [["yx", "xy"],["zx", "xz"],["zy", "yz"]].@param

*G*: a LIST of non-zero polynomials in the finitely presented monoid ring. Each polynomial is represented as a LIST of monomials, which are pairs of the form [C, W] where W is a word in`<X>`and C is the coefficient of W. For example, the polynomial`f=xy-y+1`is represented as F:=[[1,"xy"], [-1, "y"], [1,""]].@return: a BOOL value, which is True if G is a Groebner basis with respect to the word ordering Ordering and is False otherwise.

#### Example

X := <quotes>xyzt</quotes>; Ordering := <quotes>LLEX</quotes>; Relations:=[]; F1 := [[1,<quotes>xx</quotes>], [-1,<quotes>yx</quotes>]]; F2 := [[1,<quotes>xy</quotes>], [-1,<quotes>ty</quotes>]]; F3 := [[1,<quotes>xt</quotes>], [-1, <quotes>tx</quotes>]]; F4 := [[1,<quotes>yt</quotes>], [-1, <quotes>ty</quotes>]]; G := [F1, F2,F3,F4]; NCo.MRIsGB(X, Ordering, Relations, G); False -------------------------------

### See also