--* From BMT%WATSON.vnet.ibm.com@yktvmh.watson.ibm.com  Mon May 23 10:14:55 1994
--* Received: from yktvmh.watson.ibm.com by asharp.watson.ibm.com (AIX 3.2/UCB 5.64/930311)
--*           id AA16699; Mon, 23 May 1994 10:14:55 -0400
--* Received: from watson.vnet.ibm.com by yktvmh.watson.ibm.com (IBM VM SMTP V2R3)
--*    with BSMTP id 8649; Mon, 23 May 94 10:15:01 EDT
--* Received: from YKTVMH by watson.vnet.ibm.com with "VAGENT.V1.0"
--*           id <A.BMT.NOTE.VAGENT2.7171.May.23.10:14:59.-0400>
--*           for asbugs@watson; Mon, 23 May 94 10:14:59 -0400
--* Received: from YKTVMH by watson.vnet.ibm.com with "VAGENT.V1.0"
--*           id 7169; Mon, 23 May 1994 10:14:58 EDT
--* Received: from spadserv.watson.ibm.com by yktvmh.watson.ibm.com
--*    (IBM VM SMTP V2R3) with TCP; Mon, 23 May 94 10:14:57 EDT
--* Received: by spadserv.watson.ibm.com (AIX 3.2/UCB 5.64/900524)
--*           id AA17052; Mon, 23 May 1994 10:17:09 -0400
--* Date: Mon, 23 May 1994 10:17:09 -0400
--* From: bmt@spadserv.watson.ibm.com
--* X-External-Networks: yes
--* Message-Id: <9405231417.AA17052@spadserv.watson.ibm.com>
--* To: asbugs@watson.ibm.com
--* Subject: [3] Expected SUP(#1), probable type substitution bug [rootsum.as][0.35.3]

--@ Fixed  by:  SSD   Tue Apr 18 10:05:44 EDT 1995 
--@ Tested by:  none 
--@ Summary:    Type substitution bugs fixed. eval takes (POLY K, L EQ POLY K). 


#include "axiom.as"

SUP ==> SparseUnivariatePolynomial
POLY ==> Polynomial
K ==> Integer

rootSum(fSUP:SUP K,gSUP :SUP K):SUP K ==
      x := new()$Symbol; y := new()$Symbol
      ff : POLY K := multivariate(fSUP,x); gg : POLY K := multivariate(gSUP,x)
      xx := x :: POLY K; yy := y :: POLY K
      phi := eval(ff,xx = yy); psi := eval(gg,xx = xx - yy)
      univariate resultant(phi,psi,y)
 
