
(* DIP Dimension Definition Module. *)

DEFINITION MODULE DIPDIM;


FROM MASSTOR IMPORT LIST;


PROCEDURE DIGBZT(S: LIST): LIST; 
(*Distributive polynomial groebner base common zero test.
S is a groebner basis. t = -1 or 0 if DIMENSION(S) eq -1 or 0, t = 1
if DIMENSION(S) ge 1. *)


PROCEDURE DILDIM(G: LIST;  VAR DL,S,M: LIST); 
(*Distributive polynomial list dimension.
G is a list of distributive polynomials, a groebner base.
d is the dimension of ideal(G). M is a maximal independend
set of variables. S is a set of maximal independent sets of
variables. *)


PROCEDURE DIDIMS(G,S,U,M: LIST): LIST; 
(*Distributive polynomial dimension maximal independent set.
G is a list of distributive rational polynomials, and a g-base.
S is a maximal independent set of variables.
U is a set of variables of unknown status.
M and MP are lists of maximal independent sets of variables.  *)


PROCEDURE EVGBIT(S,G: LIST): LIST; 
(*Exponent vector groebner base intersection test.
S is a set of variable indices. G is a groebner basis.
t = 0 if intersection = () else t = 1. *)


PROCEDURE USETCT(U,V: LIST): LIST; 
(*Unordered set containment test. U and V are unordered sets.
t = 1 if U is contained in V else t = 0. *)


PROCEDURE IXSUBS(V,I: LIST): LIST; 
(*Indexed subset. V is a list.
I is an index list. The elements of V with index from I
are put to VP. *)


END DIPDIM.


