rmax/1 amounts to finding a feasible solution where the objective function Func is maximal with respect to the constraints store.
Success: X $=< 3, 2 * X $= Y, rmax(X + Y). Succeeds if X = 3 and Y = 6. Fail: X $=< 3, rmax(X+Y), X $= 2 * Y. Here rmax/1 fails because insufficient information is available to find a solution when it is called.