Sometimes, when translating a sentence like "All dogs are animals", I often see it represented like this:

(∀x)(Px ⊃ Qx)

However, I feel like the following is also a good translation:

(∀x)(Px ∧ Qx)

Why do I always see this represented with 'implication' instead of 'and'?

Px = x is a dog
Qx = x is an animal
  • 2
    Because the second way forces every object to be a dog (and an animal). It's a very common mistake. Apr 15, 2014 at 0:22
  • Ah, that makes sense. What if you said: (∀x)(Px ∧ Qx); (∀y)Qy Apr 15, 2014 at 0:25
  • Forall x(Px and Qx) implies Forall x(Qx), which is identical to Forall y(Qy), modulo the useless change of the bound variable x to y. Apr 15, 2014 at 0:33

1 Answer 1


I will shamelessly use the opportunity to talk about the distinction between unrestricted vs bounded quantifiers. I suspect our intuitions favor one or the other in different contexts, causing the confusion.

When quantifiers are introduced in logic courses they're usually unrestricted, which means that the x in ∀x and ∃x ranges over the entirety of the domain of discourse. An alternative is to have bounded quantifiers ∀x ∈ A and ∃x ∈ A for every subset A of the domain of discourse. The confusion might be arising because the universal quantifier in "all dogs are animals" is implicitly taken to be a bounded one:

(1) ∀x ∈ Dogs ( Animal (x) ).

Then, since the standard quantifiers are unrestricted, the thought is to express the same idea with this:

(2)* ∀x ( Dog (x) ∧ Animal (x) ),

where Dog(x) is meant to play the role of specifying the subdomain x is supposed to range over. But as I already mentioned in the comments, (2)* will be true iff the whole domain of discourse consists only of dogs, while (1) will be true in every domain where dogs are animals. The 'solution':

(3) ∀x ( Dog (x) → Animal (x) ),

other than being the right translation for (1) using unrestricted quantifiers, is an instance of a general pattern called guarded quantification, which has the following form:

(Guarded Quantification) ∀x ( φ → ψ ).

The φ acts as a "guard" for ψ, meaning that the truth of ψ is tested only for those x in the domain that satisfy φ. In sum, guarded quantification, of which (3) is an instance, is a method of achieving restricted quantification in a language with only unrestricted quantifiers and an unstratified domain of discourse.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .