I understand that the representation of an intransitive verb, V in lambda calculus would be lambda x. V(x), where x is the subject.

How do I represent an intransitive verb followed by a prepositional phrase? For example, I agree with you.

One solution is to create a transitive verb agree_with and use the expression lambda x y. agree_with(x,y).

Is there a first order representation that doesn't mix the concepts of transitivity and intransitivity?

  • On Davidson's view, every verb has an event as its first argument. That is, you have agree(e, subj) and the preposition phrase would be with(e, you). In subatomic semantics there'd be agree(e) & actor(I, e).
    – Atamiri
    Mar 2, 2015 at 1:27
  • 1
    If you ask "is there another way?" then the answer will inevitably be yes. Such a question is ultimately opinion based.
    – curiousdannii
    Mar 2, 2015 at 5:18
  • 1
    @curiousdannii I edited my post to make the wording less subjective
    – mac389
    Mar 2, 2015 at 10:12
  • @mac389 You might need to justify calling agree an intransitive verb. It seems like a straightforward transitive verb to me. Its internal argument may be left out when context makes it clear, but it's still fundamentally transitive, I think.
    – curiousdannii
    Mar 2, 2015 at 10:22
  • 1
    "you", "your point", "what you are saying", "your opponent's arguments". agree with can be analysed as a bipartite verb.
    – curiousdannii
    Mar 2, 2015 at 10:51

2 Answers 2


How to represent "I agree with you"? Try this: let p = "I agree with you", then the representation is p.

I imagine you don't find that answer very enlightening, but what is wrong with it? My representation satisfies all the logical properties you said you were interested in. That's because you didn't say what logical properties you wanted the representation to have, so any representation will do as well as another. I give you the simplest one that occurred to me.


The following NLTK feature-based context-free grammar will parse the sentence "X agrees with Y" into agree(X,Y).

 S[NUM=?n,SEM=<?np(?vp)>] -> NP[NUM=?n, SEM=?np] VP[NUM=?n,SEM=?vp] 
 NP[NUM=?n,SEM=?np] -> N[NUM=?n, SEM=?np] 
 VP[NUM=?n,SEM=<?np(?vp)>] -> BV[NUM=?n, SEM=?vp] PP[SEM=?np]
 BV[NUM=sg,SEM=<\y x.agree(x,y)>] -> 'agree'

 PP[SEM=?np] -> Prep N[SEM=?np]

 N[NUM=sg, SEM=<\P.P(X)>] -> 'X'
 N[NUM=sg, SEM=<\P.P(Y)>] -> 'Y'

 Prep -> 'with'

This representation oversimplifies important aspects.

  • It treats the object of any prepositional phrase as the object of the verb.
  • It skirts the complexity of a bipartite verb by omitting the second verb phrase.

It will, accordingly, fail on sentences such as "I agree with you on something." or, even worse "I agree on something with you."

  • The PP should be adjoined to the VP.
    – Atamiri
    Mar 2, 2015 at 23:32
  • I agree. How would I represent that in lambda calculus?
    – mac389
    Mar 2, 2015 at 23:34
  • That might be a problem. But since agree isn't transitive the predicate should be unary and the formula should be a conjunction. You could then analyze "I agree with you on something" which would consist of three conjuncts.
    – Atamiri
    Mar 3, 2015 at 1:05
  • The question, answer, and exchange in general are noteworthy for me. The question produces a simple sentence "I agree with you". It asks a simple question about how lambda-calculus captures the meaning. The answer and the exchange demonstrate, however, that lambda-calculus may have difficulty with the example. For me this casts doubt on the value of the lambda-calculus as applied to natural language in general. What good is it if it cannot deal with such a simple example? Mar 3, 2015 at 2:58
  • 1
    @Atamiri, I cannot understand your comments. Your using a lot of terminology that I think is probably not accessible to many in this forum. Consider spelling things out a little more, so that your comments are more accessible. Here's my beef with the lambda-calculus: most versions that I've encountered seem to be compatible with binary branching syntactic structures only. If that is so, then the lambda-calculus is not a good tool for capturing the syntax-semantic interface, since I think there's lots of evidence supporting relatively flat syntactic structures. Comments? Mar 3, 2015 at 5:32

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.