In mathematics, Richardson's theorem establishes a limit on the extent to which an algorithm can decide whether certain mathematical expressions are equal. It states that for a certain fairly natural class of expressions, it is undecidable whether a particular expression E satisfies the equation E = 0, and similarly undecidable whether the functions defined by expressions E and F are everywhere equal (in fact, E = F if and only if E - F = 0). It was proved in 1968 by computer scientist Daniel Richardson of the University of Bath.
Specifically, the class of expressions for which the theorem holds is that generated by rational numbers, the number ?, the number ln 2, the variable x, the operations of addition, subtraction, multiplication, composition, and the sin, exp, and abs functions.
For some classes of expressions (generated by other primitives than in Richardson's theorem) there exist algorithms that can determine whether an expression is zero.
Richardson's theorem can be stated as follows: Let E be a set of expressions that represent R->R functions. Suppose that E includes these expressions:
Suppose E is also closed under a few standard operations. Specifically, suppose that if A and B are in E, then all of the following are also in E:
Then the following decision problems are unsolvable:
After Hilbert's tenth problem was solved in 1970, B. F. Caviness observed that the use of ex and ln 2 could be removed. P. S. Wang later noted that under the same assumptions under which the question of whether there was x with A(x) < 0 was insoluble, the question of whether there was x with A(x) = 0 was also insoluble.
Miklós Laczkovich removed also the need for ? and reduced the use of composition. In particular, given an expression A(x) in the ring generated by the integers, x, sin xn, and sin(x sin xn) (for n ranging over positive integers), both the question of whether A(x) > 0 for some x and whether A(x) = 0 for some x are unsolvable.
By contrast, the Tarski-Seidenberg theorem says that the first-order theory of the real field is decidable, so it is not possible to remove the sine function entirely.