How do I write "X said to Y that they would do A today, but B happened yesterday" in predicate logic?

So for example; Bart said to Lisa that he would braid her hair today, but he chopped his hand off yesterday'

Edit for possible answer: I have come up with two possible answers, although both may be completely off track...

BRAID(bart, lisa, hair) ∧ CHOP(bart, hand)

SAID(bart(BRAID(bart, lisa, hair)) ∧ CHOP(bart, hand)

Edit for context: my question just states 'predicate logic notation'. We have never called or been taught it under any other name, but some of my textbooks use the term 'first order logic' The sort of things we have covered so far are:

  • • L: is a linguist • R: reads • S: is a semanticist • c: Chomsky • g: Gosia


  1. ∀x(S(x)→L(x))
  2. ∃x(L(x)∧R(x,c))
  3. Gosia is not a linguist but she reads Chomsky anyway
  • By which, do you mean "any order predicate logic"?
    – user6726
    Commented Feb 17, 2018 at 20:22
  • I'm not sure what 'any order' predicate logic is, I'm afraid. I believe I mean first order predicate logic- although none of my textbooks seem to make a distinction.
    – Eloisa
    Commented Feb 17, 2018 at 20:39
  • 1
    There are many ways of expressing it, you should give us some context or framework.
    – Atamiri
    Commented Feb 17, 2018 at 20:48
  • Edited to add more information, but I'm not sure there is much context I can give
    – Eloisa
    Commented Feb 17, 2018 at 21:06
  • Does the generalized form "(X said (Q at time x)) and (B at time y)" lose too much of the intended message? For example, is "but" crucial for your purpose, or would "and" do as well. Are you allowed three-place predicates?
    – user6726
    Commented Feb 17, 2018 at 21:15

1 Answer 1


Bart said to Lisa that he would braid her hair today, but he chopped his hand off yesterday.

          (INTEND (BART,
                            (TODAY (BRAID (BART, LISA_HAIR)))))                          

Using the convention of Source, Trajector, and Goal, in that order, for 3-place SAY puts LISA at the end. That doesn't matter for predicate calculus, since dative is syntax, not semantics. Also tense doesn't matter, so SAY is fine, and I've represented Lisa's hair and Bart's hand as single objects so as to avoid unnecessary lambdafication.

Note that there is nothing contradictory here; the implications of Bart's missing hand yesterday and its results on his braiding Lisa's hair today are not part of the logic, but rather the contextual interpretation. It's signalled by the but in the sentence, but it has no place in the logic; that's why but = and in logic.

  • This isn’t first order.
    – Atamiri
    Commented Feb 18, 2018 at 2:00
  • Why are logical connectives called “functors” in the PDF? In formal logic a functor is typically the first part of a predicate’s signature.
    – Atamiri
    Commented Feb 18, 2018 at 2:10
  • What exactly is it then please, Atamari?
    – Eloisa
    Commented Feb 18, 2018 at 19:53
  • @Eloisa Higher-order logic. In FOL only individuals can be arguments of predicates and functions.
    – Atamiri
    Commented Feb 19, 2018 at 2:27
  • Nonsense. Any well-formed formula can be an argument of any predicate. This formula isn't even quantified, unless you want to get very technical about today and yesterday; and it's certainly first-order, since it doesn't quantify over predicates.
    – jlawler
    Commented Feb 19, 2018 at 3:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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