declare a variable as *not* an integer in sage/maxima solve
<p>I am trying to solve symbolically a simple equation for x:</p>

<pre><code>solve(x^K + d == R, x)
</code></pre>

<p>I am declaring these variables and assumptions:</p>

<pre><code>var('K, d, R')
assume(K&gt;0)
assume(K, 'real')
assume(R&gt;0)
assume(R&lt;1)
assume(d&lt;R)

assumptions()
ï¸¡&gt; [K &gt; 0, K is real, R &gt; 0, R &lt; 1, d &lt; R]
</code></pre>

<p>Yet when I run the solve, I obtain the following error:</p>

<blockquote>
  <p>Error in lines 1-1 </p>
  
  <p>Traceback (most recent call last):   </p>
  
  <p>File
  "/projects/sage/sage-7.3/local/lib/python2.7/site-packages/smc_sagews/sage_server.py",
  line 957, in execute
      exec compile(block+'\n', '', 'single') in namespace, locals </p>
  
  <p>...</p>
  
  <p>File "/projects/sage/sage-7.3/local/lib/python2.7/site-packages/sage/interfaces/interface.py",
  line 671, in <strong>init</strong>
      raise TypeError(x)</p>
  
  <p>TypeError: Computation failed since Maxima requested additional constraints; using the 'assume' command before evaluation <em>may</em> help (example of legal syntax is 'assume(K>0)', see <code>assume?</code> for more details) </p>
  
  <p><strong>Is K an integer?</strong></p>
</blockquote>

<p>Apparently, maxima is asking whether K is an integer? But I explicitly declared it 'real'! 
How can I spell out to maxima that it should not assume that K is an integer?</p>

<p>I am simply expecting <code>(R-d)^(1/K)</code> or <code>exp(log(R-d)/K)</code> as answer.</p>

<p>The assumption framework in both Sage and Maxima is fairly weak, though in this case it doesn't matter, since integers are real numbers, right?  </p>

<p>However, you might want to try `assume(K,'noninteger') because apparently <a href="http://maxima.sourceforge.net/docs/manual/maxima_11.html#Item_003a-integer" rel="nofollow">Maxima does support this</a> particular assumption (I had not seen it before).  I can't try this right now, unfortunately, good luck!</p>

python sage maxima