text: This is documentation for Mathematica 4, which was
  based on an earlier version of the Wolfram Language.
  Wolfram Research, Inc.
  
  3.4.9 Solving Equations with Subsidiary Conditions
  
  In doing calculations with equations, you will often find it convenient to think of a particular set of equations as the "main" ones you are working with, and to think of other equations as "subsidiary conditions" that must also be satisfied.
  
  A typical thing to do is to assign a name to the list of subsidiary conditions, and then to include them by name in each list of equations you give to Solve.
  
  sincos is defined to be the equation .
  
  In[1]:= sincos = Sin[x]^2 + Cos[x]^2 == 1
  
  Out[1]=
  
  This solves the equation , with the "subsidiary condition" .
  
  In[2]:= Solve[ { Sin[x] + 2 Cos[x] == 1, sincos } ,
  
  { Sin[x], Cos[x] } ]
  
  Out[2]=
  
  Here is another equation, solved with the same "subsidiary condition".
  
  In[3]:= Solve[ { Sin[x] == Cos[x], sincos } ,
  
  { Sin[x], Cos[x] } ]
  
  Out[3]=
  
  When you are working with polynomials, there are ways to use GroebnerBasis and PolynomialReduce to reduce sets of polynomials subject to subsidiary conditions.
  
  This sets up a Gröbner basis.
  
  In[4]:= g = GroebnerBasis[{x + y - a, x y - b}, {x, y}]
  
  Out[4]=
  
  This gives a reduction of x^3+y^3 in terms of the elements of g.
  
  In[5]:= PolynomialReduce[x^3 + y^3, g, {x, y}]
  
  Out[5]=
  
  This shows how x^3+y^3 can be reduced if x+y-a and x y-b are assumed to be zero.
  
  In[6]:= Last[%]
  
  Out[6]=
  
  This reduces x^4+y^4 with the same subsidiary condition.
  
  In[7]:= Last[PolynomialReduce[x^4 + y^4, g, {x, y}]]
  
  Out[7]=