-2

Theorem: $x * y = y * x$

Translating to predicate logic:

$ \forall x \forall y (P(x, y) = P(y, x)) $

$ \forall x \forall y (P(x, y) ⟺ P(y, x)) $

What is the difference between them or are they the same?

For practical uses is it better to use the = sign for equations?

  • Unless you show the opposite, $\leftrightarrow$ has no precise meaning in predicates. If you meant $\iff$, the expression is wrong, as it would assume that $P$ is a logical function (Boolean value). –  Oct 27 '24 at 20:26
  • 1
    @YvesDaoust That depends entirely on the conventions of the textbook; $\leftrightarrow$ is not uncommon for use as biimplication, and I'm sure that's what OP means. – Natalie Clarius Oct 27 '24 at 20:29
  • @NatalieClarius: my comment addresses this case. –  Oct 27 '24 at 20:31
  • 1
    x∗y = y∗x tacitly means ∀x∀y x∗y = y∗x. If we define P(x,y) := x∗y = y∗x, then our assertion can be rewritten as just ∀x∀y P(x,y). But if we define f(x,y) := x∗y, then our assertion can be rewritten as ∀x∀y f(x,y) = f(y,x). $\quad$ P(x,y) has a truth value (True/False), whereas the operation/function f(x,y) outputs some element of its range. $\quad$ Makes sense? – ryang Oct 28 '24 at 03:41

1 Answers1

4

The difference is that $P(x,y) = P(y,x)$ is not grammatical and thus has no meaning, but $P(x,y) \leftrightarrow P(y,x)$ is not what you want either.

Predicates like $P$ are for properties of and relations between objects, such as "is even" or "is greater than", which come out as true or false.

For operations on objects (such as numbers) which again yield objects, you use functions, such as for multiplication, which comes out as the number that is the product of $x$ and $y$.

$*$ is a function, so $x * y$ is a term, i.e. an expression that evaluates to an object (a number).

$P$ s a predicate, so $P(x,y)$ is formula, i.e. something that evaluates to true or false.

Equality $=$ is only applicable between terms and expresses that the two sides refer to one and the same thing.

For formulas we have biimplication $\leftrightarrow$ to mean one is true exactly when the other is.

$∀x∀y(P(x,y) \leftrightarrow P(y,x))$ is a well-formed formula, and it may be true in some structure or other depending on which interpretation you choose for $P$. But it can not be multiplication. So a predicate $P(x,y)$ is not a correct translation of your formula to begin with.

What you really want is $\forall x \forall y (x * y = y * x)$, with $*$ a function symbol so that $x * y$ is a term which you can use equality $=$ for.

  • Knowing that we use = for terms, here also in $\forall x \forall y (x \cdot y = y \cdot x)$, the equality is acting as a binary relation, which allows us to have a predicate and, therefore, a true or false value? – user1426957 Oct 28 '24 at 17:02
  • Correct, = can be treated as a predicate which makes the equality statement evaluate to true or false. – Natalie Clarius Oct 28 '24 at 17:56