I think the function ebaksubst (defined in algsys.lisp) doesn't try hard enough to simplify to zero. It only uses radcan, and that just
isn't sufficient for this case. Try this:
(defun ebaksubst (solnl lhsl)
(mapcar #'(lambda (s) (cadr (ratf ($radcan (mfuncall '$sqrtdenest ($substitute (cons '(mlist) solnl) (pdis s))))))) lhsl))
Current ebaksubst (macro what-to-$ev calls $ev .... yikes)
(defun ebaksubst-old (solnl lhsl)
(mapcar #'(lambda (q) (cadr (ratf (what-the-$ev (pdis q)
(cons '(mlist) solnl)
'$radcan))))
lhsl))
You'll need to load(sqdnst) to test:
(%i11) algsys([x^2+y^2-1,(x-1/2)^2+(y-1/2)^2-1],[x,y]);
(%o11) [[x=-(sqrt(7)-1)/4,y=(sqrt(2)*sqrt(4-sqrt(7))+2)/4],[x=(sqrt(7)+1)/4,y=-(sqrt(2)*sqrt(sqrt(7)+4)-2)/4]]
The fact that resultant returns 256*(sqrt(7)^2-7) instead of zero, seems to be a venial bug.
--Barton