0
$\begingroup$

How to convert sentence that contains “no more than 3” into predicate logic sentence?

For example: "No more than three $x$ satisfy $R(x)$" using predicate logic.

This is what I have for "exactly one $x$ satisfies $R(x)$": $\exists x(R(x) \land \forall y(R(y) \rightarrow (x = y)))$

$\endgroup$
0
$\begingroup$

$$ \forall x \forall y \forall z \forall u ((R(x)\wedge R(y) \wedge R(z) \wedge R(u)) \rightarrow (x=y \vee x=z \vee x=u \vee y=z \vee y=u \vee z=u)) $$

$\endgroup$
3
$\begingroup$

Interpreting 'no more than three' as 'at most three' (i.e. it could be three, two, one, or maybe just none at all), you can do:

$$\exists x \exists y \exists z \forall u (R(u) \rightarrow (u = x \lor u = y \lor u = z))$$

$\endgroup$
  • 1
    $\begingroup$ I don't see the ambiguity in the question. What else could 'no more than three' mean? $\endgroup$ – bof Oct 26 '18 at 21:41
  • $\begingroup$ @bof I agree, but the OP's inclusion of the 'exactly one' made me nervous that maybe the OP meant 'three, but no more', hence my explanation that I went with 'at most three' $\endgroup$ – Bram28 Oct 27 '18 at 0:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.