```(* ----------------------------------------------------------------------------
* \$Id: MASNCC.md,v 1.2 1992/02/12 17:33:31 pesch Exp \$
* ----------------------------------------------------------------------------
* This file is part of MAS.
* ----------------------------------------------------------------------------
* Copyright (c) 1989 - 1992 Universitaet Passau
* ----------------------------------------------------------------------------
* \$Log: MASNCC.md,v \$
* Revision 1.2  1992/02/12  17:33:31  pesch
* Moved CONST definition to the right place
*
* Revision 1.1  1992/01/22  15:13:15  kredel
* Initial revision
*
* ----------------------------------------------------------------------------
*)

DEFINITION MODULE MASNCC;

(* MAS Non-commutative Center Definition Module. *)

FROM MASSTOR IMPORT LIST;

CONST rcsid = "\$Id: MASNCC.md,v 1.2 1992/02/12 17:33:31 pesch Exp \$";

PROCEDURE DINCCO(T, A, B: LIST): LIST;
(*Distributive rational non-commutative polynomial commutator.
A and B are distributive rational non-commutative polynomials.
The commutator of A and B is returned. T is the relation table. *)

PROCEDURE DINCCP(T, E: LIST): LIST;
(*Distributive rational non-commutative polynomial center polynomial.
E is a list of exponent vectors. T is the relation table.
A polynomial in the center of the ideal
is returned. *)

PROCEDURE DINCCPpre(T, E: LIST): LIST;
(*Distributive rational non-commutative polynomial center polynomial preparation.
E is a list of exponent vectors. T is the relation table.
A polynomial in the center of the polynomial ring is returned. *)

PROCEDURE DILFEL(a, E: LIST): LIST;
(*Distributive polynomial list from exponent vector list.
E is a list of exponent vectors. A list distributive polynomials with
exponent vectors from E and coefficients equal to a is returned. *)

PROCEDURE DINPTslT(T: LIST): BOOLEAN;
(*Distributive polynomial non-commutative product table strict lex test.
T is a table of distributive polynomials specifying the non-commutative
relations. It is tested if T is strict lexicographical, i.e. if
Xj*Xi = cij Xi Xj + pij is a strict lexicographical commutator relation,
then cij = 1 and pij <(inv lex) Xi Xj. *)

PROCEDURE DINLMPG(T,i,F: LIST): LIST;
(*Distributive non-commutative left rational minimal polynomial for a G basis.
F is a non-commutative left groebner basis.
PP is the left minimal polynomial for the i-th variable for F. *)

PROCEDURE DINLMPL(T,F: LIST): LIST;
(*Distributive non-commutative left rational minimal polynomial list for a G basis.
F is a non-commutative left groebner basis.
P is the list of left minimal polynomial for each variable for F. *)

PROCEDURE EVGCD(U,V: LIST): LIST;
(*Exponent vector greatest common divisor. U=(UL1, ...,ULRL),
V=(VL1, ...,VLRL) are exponent vectors of length r.
W=(WL1, ...,WLRL) is the greatest common divisor of U and V. *)

PROCEDURE EVLGTD(r,d,L: LIST): LIST;
(*Exponent vector list generate for total degree.
r is the number of variables. L is a list of already generated
exponent vectors. A list of exponent vectors up to total degree
d (>= 0) is returned. *)

PROCEDURE EVLGIL(D: LIST): LIST;
(*Exponent vector list generate for inverse lexicographical sequence.
D is a list of maximal degrees in the respective variable.
A list of exponent vectors up to the maximal degrees is returned. *)

PROCEDURE EVLINV(L,i,k: LIST): LIST;
(*Exponent vector list introduction of new variables.
L is a list of exponent vectors. In each element of L k new variables
are introduced after position i. The new list is returned. *)

PROCEDURE EVTSZ(i,U: LIST): BOOLEAN;
(*Exponent vector test if starting with i zero exponents. *)

PROCEDURE EVINV(U,i,k: LIST): LIST;
(*Exponent vector introduction of new variables. At position
i in U k new variables are introduced. *)

END MASNCC.

(* -EOF- *)
```