(* ---------------------------------------------------------------------------- * $Id: CGBAPPL.md,v 1.5 1996/06/08 16:47:03 pesch Exp $ * ---------------------------------------------------------------------------- * This file is part of MAS. * ---------------------------------------------------------------------------- * Copyright (c) 1989 - 1996 Universitaet Passau * ---------------------------------------------------------------------------- * $Log: CGBAPPL.md,v $ * Revision 1.5 1996/06/08 16:47:03 pesch * Reformatted, removed obsolete procedures. * * Revision 1.4 1994/04/09 18:05:50 pesch * Reformatted parts of the CGB sources. Updated comments in CGB*.md. * * Revision 1.3 1994/03/11 15:58:05 pesch * Major changes to CGB. * C-Preprocessor now used for .mip files. The corresponding .mi files have * been removed. * Many new CGB-Functions and fixes of old ones. * * Revision 1.2 1992/02/12 17:31:12 pesch * Moved CONST definition to the right place * * Revision 1.1 1992/01/22 15:08:52 kredel * Initial revision * * ---------------------------------------------------------------------------- *) DEFINITION MODULE CGBAPPL; (* Comprehensive-Groebner-Bases Applications Definition Module. *) FROM MASSTOR IMPORT LIST; CONST rcsid = "$Id: CGBAPPL.md,v 1.5 1996/06/08 16:47:03 pesch Exp $"; CONST copyright = "Copyright (c) 1989 - 1996 Universitaet Passau"; PROCEDURE GTEST(C,P: LIST; VAR C0,C1: LIST); (*Groebner-Test. C is a condition and P is a list of polynomials. PAR is a parameter for the factorization of coefficients. GTEST verifies, whether P is a comprehensive-groebner-basis wrt C. C0 contains the conditions so that P is no groebner basis. C1 contains the conditions so that P is a groebner basis. *) PROCEDURE GBHELP(COND,PPAIRS,P: LIST; VAR C0,C1: LIST); (*Groebner test help. COND is a condition. PPAIRS is the polynomial pairs list of P. P is a list of determined and coloured polynomials relative to COND. PAR is a parameter for the factorization of coefficients. C0 contains the successors of COND so that p is no groebner basis. C1 contains the successors of COND so that p is a groebner basis. *) PROCEDURE NSET(NN0,NN1,CC0,CC1: LIST; VAR C0,C1: LIST); (*Normalform set. NN0 is a set of tripels (ga,pco,c), where ga is a condition, pco is a normalform determined and coloured completely green by ga and c is a multiplicative factor. NN1 is a set of tripels (ga,pco,c), where ga is a condition, pco is a normalform determined and not coloured completely green by ga and c is a multiplicative factor. CC0 and CC1 are lists of conditions. The conditions in NN0, that are not in CC1, are added to CC0. The conditions in NN1 are added to CC1. *) PROCEDURE WRTEST(C,PP,CGB0,CGB1: LIST); (*Write groebner test. C is a condition. PP is a list of polynomials. CGB0 contains the successors of C so that p is no groebner basis. CGB1 contains the successors of C so that p is a groebner basis. The conditions are written on the output stream. *) PROCEDURE CPART(COND,CONDS: LIST): LIST; (*Condition part. COND is a condition. CONDS is a list of conditions. SL=1 if COND is a member of CNDS or a successor of a condition in CONDS. SL=0 else. *) (* obsolete *) PROCEDURE CGBQUA(PP: LIST); (*Comprehensive-Groebner-Basis quantifier free formula. PP is a list of coloured polynomials. The quantifier free formular epsilon is written on the output stream. *) PROCEDURE MCOEF(PCO: LIST; VAR COEFLI,COEF,TL: LIST); (*Make coefficient list. PCO is a coloured polynomial. COEFLI is the list of red and white coefficients in PCO, so that the degree of the terms in PCO is not zero. COEF=() if exists no monomial in PCO whose coefficient is coloured white and whose term is of deg zero or exists a monomial in PCO whose coefficient is coloured green and whose term has degree zero. COEF=0 if exists a monomial in PCO whose coefficient is coloured red and whose term is of deg zero. Else coef is the white coefficient in PCO whose term is of deg zero. TL = 1 if exists a red coloured coefficient whose term has degree > 0. Else TL = 0 *) PROCEDURE NFEXEC(C,PPS,PP: LIST; VAR NOUT: LIST); (*Parametric ideal membership exec. C is a condition. PPS is a list of polynomials to be tested. PP is a list of polynomials forming a comprehensive-groebner-basis. PAR is a parameter for the factorization of coefficients. NOUT is a list containing each polynomial of PPS and the conditions and normalforms so that it is a member of the ideal and those so that it is no member of the ideal. *) PROCEDURE WRQFN0(N0: LIST); (*Write quantifier free formula for parametric ideal membership. N0 is a list of tripel (cond,pco,c), where cond is a condition, pco is a normalform coloured completely green by cond and c is a multiplicative factor. The formula is written on the output stream. *) PROCEDURE DIMEXE(GS,V: LIST): LIST; (*Parametric dimension exec. GS is a groebner-system. V is the variables list. For each element of the groebner-system the dimension is computed. DIML is a list of conditions and dimensions. *) PROCEDURE INTDIM(V,PP: LIST): LIST; (*See intdim of dip. V is the variables list. PP is a list of polynomials. DL is the dimension of PP. *) PROCEDURE WRDIMS(DIML: LIST); (*Write dimension. DIML is a list of conditions and dimensions. The quantifier free formula for parametric dimension is written on the output stream. *) PROCEDURE WRCONJ(CONDS: LIST); (*Write conjunction. CONDS is a list of conditions. The conjunction over all conditions is written on the output stream. *) END CGBAPPL. (* -EOF- *)