In Section 27.1 you learned how to say that there are * at least* two dogs.

**“At least n”:** takes n existential quantifiers and enough distinctness clauses.

For translating “at least”, you need two things.

First, you need enough existential quantifiers. If you want to say “at least 2”, then you need two ∃s. If you want to say “at least 3”, then you need three ∃s.

More generally, If you want to say “at least * n*“, then you need

Second, you need distinctness. That is the role of the inequality that you had to type in above.

For “at least 2”, you only need one inequality.

For “at least 3”, we need to ensure distinctness of all of the objects.

So we must say that ~x=y and ~x=z and ~y=z. (When we write inequalities, you can use parentheses around the atomic or drop them; both are acceptable.)

So here’s how to write “There are at least 3 dogs.”

ExEyEz(D(x)&D(y)&D(z)&~x=y&~x=z &~y=z)

Now try this.

The number of distinctness clauses needed follows the progression of triangular numbers: 1, 3, 6, 10, etc. But you don’t need to memorize that.

Just remember how to work out the clauses you need: x is not equal to y, z and w; y is not equal to z and w; and z is not equal to w.

So here’s how t0 write “There are at least 4 dogs.”

ExEyEzEw(D(x)&D(y)&D(z)&D(w)&~x=y&~x=z&~x=w&~y=z&~y=w&~z=w)

It starts getting messy fast. Just imagine writing “There are at least 17 dogs.”

But from a logical point of view, it doesn’t get more complex: if you understand the process, you could work it out. (But we won’t make you do that.)

Login

Accessing this textbook requires a login. Please enter your credentials below!