5

Is there an algorithm to decide whether a closed-form expression over integer variables using, say, $\{+,-,\times,\div,\text{^},\lfloor\text{lg}\rfloor,!,()\}$, or some other useful set of operators, is everywhere zero?

For example, is $(jk)^2 +k!-2j$ always 0 when $j,k$ are integers (obviously not)? If some of the operators make it impossible, is it possible with just a subset, for example if one removes factorial?

2 Answers2

1

To decide if a particular diophantine equation (i.e., an expression in integers using multiplication and addition/subtraction equated to zero) has any solutions is undecidable. This is essentially the answer to the negative to Hilbert's tenth problem, which asks for an algorithm to determine if a diophantine equation has a solution.

vonbrand
  • 14,204
  • 3
  • 42
  • 52
0

p=q has a solution if and only if 0^((p-q)*(p-q)) is not identically zero. ​ Thus, by undecidability of Diophantine equations, there is no such algorithm.


0^0 = 1 ≠ 0 ​ and for all positive x, ​ 0^x = 0 . ​ ​ ​ (p-q)(p-q) is a square, and thus never negative, so 0^((p-q)(p-q)) can be non-zero is and only if (p-q)*(p-q) can be zero. ​ ​ ​ Therefore

p=q has a solution
if and only if
p-q = 0 ​ has a solution
if and only if
p-q can be zero
if and only if
p-q can be zero
if and only if
(p-q)(p-q) can be zero
if and only if
0^((p-q)
(p-q)) can be non-zero

.