both lhs and rhs should be checked in solve