Rewriting ∃! using predicate logic expressions ( "=" excluded)

154 Views Asked by At

A(x) is a predicate logic formula. A is a property (predicate), x is a variable. ∃!A(x) would mean that exactly one x exists which has the property A.

First thing that comes up is: ∃x( A(x) ∧ ∀y( A(y) → (x=y) ),

where y is a variable, but my assignment forbids the use of functional symbols such as =.

How do I rewrite this without using any functional symbols? Only the use of →, ⇔, ¬, ∨, ∧, ∃, ∀, variables, formula A(x) and brackets are allowed.

My idea was to simply write this: ∃x( A(x) ∧ ∀y( A(y) → (A(x)⇔A(y)) )

not sure if it's correct, though.

Thank you in advance.

By the way, the question is not a duplicate, as I'm trying to rewrite this without the use of =.

1

There are 1 best solutions below

0
On BEST ANSWER

You could possibly write it out in second order logic, encoding the following:

$$\forall B~(|A| \ge 0) \land ((A \cup B = \emptyset) \lor (A \subseteq B))$$

If $A$ is empty, then $|A| \ge 0$ fails.

If $|A| = 1$ then $\forall B$ can be partitioned into two cases,

  • $A \cup B = \emptyset$, in which case the proposition holds
  • $A \cup B \ne \emptyset$, in which case the proposition holds ($A$ only has 1 element, that element must be in $B$ if they have an intersection)

If $|A| > 1$, then presumably there is a $B$ where $|A \cup B| = 1$ and $A \not \subseteq B$, such as $A = \{X, Y\}$ and $B = \{X\}$. So the proposition doesn't hold.

So the proposition only holds when $|A| = 1$, and always holds when $|A| = 1$. Encoded it is:

$$\exists ! x~A(x) \equiv \forall B()~\bigg(\exists y ~ A(y) \land \bigg(\bigg(\forall z ~ \lnot A(z) \lor \lnot B(z)\bigg) \lor \bigg(\forall w ~ A(w) \implies B(w)\bigg)\bigg)\bigg)$$