to_poly_solve temporary variables



The function new_variable gives each symbol it creates a symbol property. I think it would be possible to examine
each member of the output of props for these symbol properties. Maybe something like

(defun $forget_gentemp_facts ()
  (let ((p (margs $props)))
    (dolist (z p)
      (if (symbolp z)
         (cond ((or (get z 'integer-gentemp) (get z 'natural-gentemp))
            (mfuncall '$remove z '$integer))
           ((get z 'real-gentemp)
            (mfuncall '$remove z '$real))
           ((get z 'complex-gentemp)
            (mfuncall '$remove z '$complex))))))
  '$done)

Let me guess that the author of the fact database was aiming for 10s, not 100s, of entries.  Likely the fact database is
big oh challenged.

Incidently: Likely the simplification rules associated with a %union object, the symbol properties of new variables, and
the altered environment are all lost when Sage uses to_poly_solve and exits Maxima. Maybe Sage has its own solver now.

--Barton
________________________________

I notice that to_poly_solve generates temporary variables that can slow things down.  I started writing something to remove them, but
before I go further: Is there a facility to deal with this that I am missing ?