
(* DIP Polynomial Ideal Decomposition 0 System Definition Module. *)

DEFINITION MODULE DIPDEC0;


FROM MASSTOR IMPORT LIST;


PROCEDURE DIGFET(P,IL,JL: LIST): LIST; 
(*Distributive polynomial system G basis successful extension test.
P is a goebner basis of dimension 0 in inverse
lexicographical term ordering.
i and j are indexes of variables where an field extension
is required. t=1 if the extension was successful t=0 else. *)


PROCEDURE DIGISM(P: LIST): LIST; 
(*Distributive polynomial system G basis index search for extension
multiple univariats. P is a goebner basis of dimension 0 in inverse
lexicographical term ordering.
I is a list of indexes of variables where an field extension
is required or I=() if no field extension is neccessary. *)


PROCEDURE DIGISR(P: LIST): LIST; 
(*Distributive polynomial system G basis index search for extension
reductas. P is a goebner basis of dimension 0 in inverse
lexicographical term ordering.
I is a list of indexes of variables where an field extension
is required or I=() if no field extension is neccessary. *)


PROCEDURE DINTFE(T,IL,JL: LIST): LIST; 
(*Distributive polynomial system normalized tupel field extension.
Using trial values for transcendent parameter.
T is a normalized tupel of a zero set with a final
goebner basis of dimension 0.
i and j determine the variable indexes for the field extension.
TP is a list of normalized tupels for the field extension for T. *)


PROCEDURE DINTSR(T: LIST): LIST; 
(*Distributive polynomial system normalized tupel separation refinement.
T is a list of normalized tupels with final
goebner basis of dimension 0.
TP is a list of normalized tupels for some field extensions for T. *)


PROCEDURE DINTSS(T: LIST): LIST; 
(*Distributive polynomial system normalized tupel strong separation.
T is a list of normalized tupels with final
goebner basis of dimension 0.
TP is a list of normalized tupels for some field extensions for T. *)


PROCEDURE DINTZS(N: LIST): LIST; 
(*Distributive polynomial system nomalized tupels from system zero.
N is a zero set. T is the list of nomalized tupels of N. *)


PROCEDURE DIRGZS(VB,PB,W: LIST): LIST; 
(*Distributive rational groebner basis zero set.
VB is a rest of a variable list. PB is a groebner basis.
W is the total variable list. N is the zero set of P. *)


PROCEDURE DIRLPD(A,VP: LIST): LIST; 
(*Distributive rational polynomial list primary ideal decomposition.
A is a non empty list of distributive rational
polynomials representing a groebner basis.
the polynomials in a have r variables.
L=(l1,... ,ln) with li=(pi,ei,vpi,qi) i=1,... ,n
where qi = ideal(pi**e,A) with A contained in qi
and e maximal.
Ideal(pi) is a prime ideal in at most r+1 variables.
VPI is the variable list vor pi. *)


PROCEDURE DIRLPW(A,V,L: LIST); 
(*Distributive rational polynomial list primary ideal decomposition
write.
A is a non empty list of distributive rational
polynomials representing a groebner basis.
the polynomials in a have r variables.
L=(l1,... ,ln) with li=(pi,eli,vpi,qi) i=1,... ,n
where qi = ideal(pi)**e with A contained in qi
and e maximal.
Ideal(pi) is a prime ideal in at most r+1 variables.
VPI is the variable list vor pi. *)


PROCEDURE DIRPDA(A,VP: LIST): LIST; 
(*Distributive rational polynomial list primary ideal decomposition
over Q(alpha).
A is a non empty list of distributive rational
polynomials representing a groebner basis.
The polynomials in A have r variables.
L=(l1,... ,ln) with li=(pi,ei,vpi,qi) i=1,... ,n
where qi = ideal(pi**e,A) with A contained in qi
and e maximal.
Ideal(pi) is a prime ideal in at most r+1 variables.
VPI is the variable list vor pi. *)


PROCEDURE DITFZS(N: LIST): LIST; 
(*Distributive polynomial system tupel from zero set.
N is a zero set. T is a list of tupels of then zero set. *)


PROCEDURE DITSPL(T: LIST;  VAR T0,T1: LIST); 
(*Distributive polynomial system zero set tupel split.
T is a list of normalized tupels of a zero set.
T0 is a list of normalized tupels of a zero set with a final
goebner basis of dimension 0. T1=T-T0. *)


END DIPDEC0.


