In SMT-LIB 2.0 and 2.5, all functions are total, so this example is SAT in SMT-LIB. Both Z3 and CVC4 do indeed return SAT for the example in the question.
I found this counter-intuitive. I think it would be mathematically more well justified to say that y=1/x, x=0
is unsatisfiable in the reals. In Mathematica, the equivalent code returns an empty list, indicating that no solution exists, i.e., FindInstance[Element[x, Reals] && Element[y, Reals] && x == 0 && y == 1/x, {x, y}]
returns {}
Nonetheless, /
is defined this way in SMT-LIB. So as far as Z3 or CVC4 are concerned, this problem is SAT.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…