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

DEFINITION MODULE DIPDIM;

(* DIP Dimension Definition Module. *)



FROM MASSTOR IMPORT LIST;

CONST rcsid = "$Id: DIPDIM.md,v 1.2 1992/02/12 17:34:16 pesch Exp $";
CONST copyright = "Copyright (c) 1989 - 1992 Universitaet Passau";



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. *)


PROCEDURE DIDIMWR(DL,S,M,V: LIST); 
(*Distributive polynomial dimension write.
d is the dimension of an ideal. M is a maximal independend
set of variables. S is a set of maximal independent sets of
variables. V is the variable list. *)


END DIPDIM.


(* -EOF- *)