(* ----------------------------------------------------------------------------
 * $Id: SACEXT6.mi,v 1.3 1992/10/15 16:28:58 kredel Exp $
 * ----------------------------------------------------------------------------
 * This file is part of MAS.
 * ----------------------------------------------------------------------------
 * Copyright (c) 1989 - 1992 Universitaet Passau
 * ----------------------------------------------------------------------------
 * $Log: SACEXT6.mi,v $
 * Revision 1.3  1992/10/15  16:28:58  kredel
 * Changed rcsid variable
 *
 * Revision 1.2  1992/02/12  17:34:52  pesch
 * Moved CONST definition to the right place
 *
 * Revision 1.1  1992/01/22  15:16:02  kredel
 * Initial revision
 *
 * ----------------------------------------------------------------------------
 *)

IMPLEMENTATION MODULE SACEXT6;

(* SAC Extensions 6 Implementation Module. *)



(* Import lists and declarations. *) 

FROM MASSTOR IMPORT LIST, SIL, BETA,
                    COMP, SRED, ADV, FIRST, RED;

FROM SACLIST IMPORT CONC;

FROM SACEXT5 IMPORT IPCSFB; 

FROM SACPFAC IMPORT ISFPF; 

CONST rcsidi = "$Id: SACEXT6.mi,v 1.3 1992/10/15 16:28:58 kredel Exp $";
CONST copyrighti = "Copyright (c) 1989 - 1992 Universitaet Passau";



PROCEDURE IPFSFB(RL,A: LIST): LIST; 
(*Integral polynomial finest squarefree basis.  A eq (A sub 1 , ...,
A sub n ), n ge 0, is a list of positive primitive integral
polynomials in r variables, r ge 1, each of which is of positive
degree in its main variable.  B is a finest squarefree basis for A.*)
VAR  B, B1, BP, BS, L: LIST; 
BEGIN
(*1*) (*get coarsest squarefree basis for a.*) BS:=IPCSFB(RL,A); 
(*2*) (*factor each basis element.*) B:=BETA; 
      WHILE BS <> SIL DO ADV(BS, B1,BS); L:=ISFPF(RL,B1); 
            BP:=CONC(L,B); B:=BP; END; 
      RETURN(B); 
(*5*) END IPFSFB; 


END SACEXT6.
(* -EOF- *)