MathDB
algorithm determining truth of statement (VJIMC 1998 2.4-I)

Source:

August 1, 2021
algorithm

Problem Statement

Let us consider a first-order language LL with a ternary predicate Plus\operatorname{Plus}. Hence (well-formed) formulas of LL are built of symbols for variables, logical connectives, quantifiers, brackets, and the predicate symbol Plus\operatorname{Plus}. (x1)(x2):Plus(x2,x1,x2)(x3):¬Plus(x1,x3,x3)(\exists x_1)(\forall x_2):\operatorname{Plus}(x_2,x_1,x_2)\wedge(\forall x_3):\neg\operatorname{Plus}(x_1,x_3,x_3) is an example of such a formula. Recall that a formula is closed iff each variable symbol occurs within the scope of a quantifier. Show that there exists an algorithm which decides whether or not a given closed formula of LL is true for the set N\mathbb N of natural numbers ({0,1,2,}\{0,1,2,\ldots\}) where Plus(x,y,z)\operatorname{Plus}(x,y,z) is interpreted as x+y=zx+y=z.