I would like to write the following sentence in first order logic:

"A dove can fly"

Here is my naive guess:

$\exists x, dove(x) \wedge can(x, fly) $

I don't like this representation, because

"A dove flies"

translates to first order logic as

$\exists x, dove(x) \wedge fly(x)$

Can anybody comment?

  • 1
    $\begingroup$ "dove can fly" is ambiguous (and not grammatical). It should be "doves can fly" (all doves) or "a dove can fly" or "this particular dove can fly" $\endgroup$ – Jair Taylor Mar 28 at 20:59
  • $\begingroup$ @JairTaylor, thank you, corrected. $\endgroup$ – user1700890 Mar 28 at 21:03
  • 1
    $\begingroup$ The correct translation depends on the context. In textbook examples, the meaning is more often "a dove can fly," than "a dove is flying." $\endgroup$ – Fabio Somenzi Mar 28 at 21:14
  • 1
    $\begingroup$ The ambiguity is in the natural language expression; "a dove can fly" seems to mean that doves have the capability to fly, in which case every dove has it : $\forall x (\text {Dove}(x) \to \text {CanFly}(x))$. $\endgroup$ – Mauro ALLEGRANZA Mar 29 at 7:21
  • $\begingroup$ @MauroALLEGRANZA. Could you clarify why "A dove can fly" is ambigous? Could you give an example of unambiguous statement? $\endgroup$ – user1700890 Mar 29 at 14:11

First-order logic can't represent the possibility that a property holds about an object. In first-order logic you can state that something holds or that something does not hold (through it's negation). Otherwise you can't say anything else about it. You certainly can't represent the notion that a property might hold.

For systems that incorporate certainty and possibility, you can take a look at modal logic.

If you really want to make a distinction between "is flying" and "can fly" in first-order logic, you can set

  • $dove(x)$ to mean "$x$ is a dove",
  • $canfly(x)$ to mean "$x$ can fly" and
  • $fly(x)$ to mean "$x$ is flying".


  • $\exists x(dove(x)\land canfly(x))$ means "there is a dove $x$ that can fly" and
  • $\exists x(dove(x)\land fly(x))$ means "there is a dove $x$ that is flying".


1) You could post a new question about this. Maybe someone can answer with more certainty than mine.

2) What does the sentence $\exists x(dove(x)\land can(x,fly))$ violate in first-order logic?

The sentence itself is syntactically invalid. It does not make sense, because the distinction between terms (objects) and properties is not clear. In $P(x)$, $x$ is a term (a variable, an object) and $P$ is a property that should hold about object $x$. For the sentence to make sense we must assume that $fly$ is an object. So then, $can(x,fly)$ is a property over two objects. However, it is clear that you intended $fly$ to be a property ($fly(x)$).

  • $\begingroup$ Thank you! I have two questions, 1) Would it be possible to express it using higher order logic. 2) Could you point out what assumptions of FOL are violated in my interpretation: $\exists x, dove(x) \wedge can(x, fly)$ $\endgroup$ – user1700890 Mar 29 at 14:14
  • 1
    $\begingroup$ @user1700890 I've edited my post. $\endgroup$ – frabala Mar 29 at 14:55
  • 1
    $\begingroup$ @user1700890 can is not a predicate for one, and second: predicates can be paraphrased: for instance, Mike likes chocolate can be said as chocolates are liked by Mike. Now take: x can fly. Paraphrased this is: flys are canned by x... that makes no sense. Third, an n-place predicate relates n number of NOUNS not verbs. Regards. $\endgroup$ – Bertrand Wittgenstein's Ghost Mar 30 at 2:15
  • 1
    $\begingroup$ @BertrandWittgenstein'sGhost "flys are canned" hahahaha... But seriously, resourceful comment! $\endgroup$ – frabala Mar 30 at 2:20
  • $\begingroup$ @frabala :p hehe $\endgroup$ – Bertrand Wittgenstein's Ghost Mar 30 at 2:21

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.