I do not believe Solve uses the Assume database at all. If Assume has any effect on Solve, it would be through simplification, but = I can't think of any examples of this off the top of my head. assume(x>0)$ solve(abs(x)=2); works, but only because abs(x) simplifies to x before solve even sees it!