anthonybell
anthonybell

Reputation: 5998

encoding "John wants to bite Sara" in first order logic

I am trying to figure out how you would encode "[agent A] wants to [verb] to [agent B]" as first-order logic (e.g. "John wants to bite Sara").

To encode "John bites Sara" as FOL would be: bites(John, Sara) or if you like John(x) ^ Sara(y) ^ bites(x,y).

Also, something I noticed is that this relationship could be recursive. for example:

Does anyone know how I can handle this, particularly the sentence "John wants to bite Sara".

Upvotes: 2

Views: 111

Answers (1)

lodrik
lodrik

Reputation: 472

Tricky!

Let's first make the structure of the sentence more clear: "John wants that he bites Sara". The "he" of course refers to John, so we can simplify to:

  • "John wants that John bites Sara"

Now we can try to formulate this using a predicate, as before:

  • wants(John, "John bites Sara")

But then the 2nd argument would be a sentence, rather than a term denoting some object like "John" or "Sara". It turns out, your sentence cannot be formalized using just predicates in FOL, because "wants that" is not a relation between individuals (like "bites(x,y)"), but a relation between an individual (John) and a sentence/proposition ("John bites Sara").

"John wants that A" is a sentential operator: It takes some sentence A and forms a new sentence with it. Other examples of operators that take sentences and make new sentences are "A and B", "ìf A, then B", "not A", or "it is necessary that A".

So "John wants that A" is "on the same level" as the logical operators in FOL. If we want to formalize sentences of the form "x wants that A", we need to extend the logic by adding an additional operator (for each x). This requires a step to intensional semantics (e.g. possible-worlds semantics), because the meaning of "x wants that A" cannot be specified using a truth-table alone (as with "not A" or "A and B").

Epistemic logic (click), for example, is propositional logic, extended by sentential operators B_x(A), K_x(A) that represent "x believes that A" and "x knows that A".

Upvotes: 2

Related Questions