A general rule

Taking stock of these distinct examples of expressions that can be coordinated—sentences, verb phrases, transitive verbs—one might wonder if there is a rule that might allow us to derive the meaning of a coordinator in any specific case, perhaps, from some collection of general principles.

Sentence-level coordinators

Starting with the observation—made in Overview—that each sentence that contains a coordination using and or or has some corresponding sentence that means the same thing, let’s just start by repeating the sentence-coordinating meanings. We can call these meanings ‘\(\ct{and}_{t}\)’ and ‘\(\ct{or}_{t}\)’, respectively, to represent the fact that they coordinate sentences, whose meanings are truth values.

\[\ct{and}_{t} = (λa.(λb.a = b = \true))\] \[\ct{or}_{t} = (λa.(λb.¬(a = b = \false)))\]

Indeed, the lexical entries for sentence-coordinating and and or can now be stated a little bit more compactly. That is, instead of writing

\[⟨\textit{and}_{s}, (λa.(λb.a = b = \true))⟩ ⊢ ((s\backslash s)/s)\] \[⟨\textit{or}_{s}, (λa.(λb.¬(a = b = \false)))⟩ ⊢ ((s\backslash s)/s)\]

we may simply write

\[⟨\textit{and}_{s}, \ct{and}_{t}⟩ ⊢ ((s\backslash s)/s)\] \[⟨\textit{or}_{s}, \ct{or}_{t}⟩ ⊢ ((s\backslash s)/s)\]

All other coordinators

What about coordinators of verb phrases, transitive verbs, etc.? We should define meanings for these coordinators that depend only on the semantic types of the expressions that they take as their arguments. Thus we can define totally generic meanings, as follows:

\[\ct{and}_{(X → Y)} = (λf.(λg.(λx.\ct{and}_{Y}(f(x))(g(x)))))\] \[\ct{or}_{(X → Y)} = (λf.(λg.(λx.\ct{or}_{Y}(f(x))(g(x)))))\]

Example: verb phrases

So, now, what is the meaning of and when it coordinates two verb phrases? We can just give it the following lexical entry:

\[⟨\textit{and}_{(np\backslash s)}, \ct{and}_{(e → t)}⟩ ⊢ (((np\backslash s)\backslash(np\backslash s))/(np\backslash s))\]

Why is its meaning \(\ct{and}_{(e → t)}\)? Well, because it coordinates verb phrases, and \((e → t)\) is the semantic type of verb phrases!

What is \(\ct{and}_{(e → t)}\)? To figure this out, we just have to apply the rule given above. Specifically:

\[\ct{and}_{(e → t)} = (λf.(λg.(λx.\ct{and}_{t}(f(x))(g(x)))))\]

And now, if we substitute in the definition of \(\ct{and}_{t}\), we get:

\[\ct{and}_{(e → t)} = (λf.(λg.(λx.(λa.(λb.a = b = \true))(f(x))(g(x)))))\]

This looks complicated, but we can evaluate it. Specifically, we should get rid of the ‘\(λa\)’ and substitute \(f(x)\) in for \(a\):

\[\ct{and}_{(e → t)} = (λf.(λg.(λx.(λb.f(x) = b = \true)(g(x)))))\]

Now, we should get rid of the ‘\(λb\)’ and substitute \(g(x)\) in for \(b\):

\[\ct{and}_{(e → t)} = (λf.(λg.(λx.f(x) = g(x) = \true)))\]

Fortunately, this is precisely the meaning of \(\textit{and}_{(np\backslash s)}\) provided in Verb phrase coordinators.

Example: transitive verbs

What about when it coordinates two transitive verbs? In this case, and should have the following lexical entry:

\[⟨\textit{and}_{((np\backslash s)/np)}, \ct{and}_{(e → (e → t))}⟩ ⊢ ((((np\backslash s)/np)\backslash((np\backslash s)/np))/((np\backslash s)/np))\]

Why \(\ct{and}_{(e → (e → t))}\)? Well, because \((e → (e → t))\) is the semantic type of transitive verbs.

And what is \(\ct{and}_{(e → (e → t))}\). We can figure this one out, as well, by applying the rule above. The main difference is that this time, we apply the rule twice (once for each of the two \(e\)’s). Thus we get:

\[\ct{and}_{(e → (e → t))} = (λf.(λg.(λx.\ct{and}_{(e → t)}(f(x))(g(x)))))\]

This meaning for and immediately uses the meaning we defined for verb-phrase-coordinator and\(\ct{and}_{(e → t)}\)—so let’s just that meaning in. Importantly, we should change up the names of our variables in the meaning we substitute, in order to help prevent them from getting mixed up with the other variables. So instead of writing in

\[(λf.(λg.(λx.f(x) = g(x) = \true)))\]

as the definition of \(\ct{and}_{(e → t)}\)

we can instead write the following:

\[(λf^{\prime}.(λg^{\prime}.(λy.f^{\prime}(y) = g^{\prime}(y) = \true)))\]

Importantly, this is exactly the same function! We just changed the names of the variables.

If we substitute this in, we get:

\[\ct{and}_{(e → (e → t))} = (λf.(λg.(λx.(λf^{\prime}.(λg^{\prime}.(λy.f^{\prime}(y) = g^{\prime}(y) = \true)))(f(x))(g(x)))))\]

Following what we did above, we can simplify this definition a bit by performing some substitutions. First, let’s substitute \(f(x)\) in for \(f^{\prime}\):

\[\ct{and}_{(e → (e → t))} = (λf.(λg.(λx.(λg^{\prime}.(λy.f(x)(y) = g^{\prime}(y) = \true))(g(x)))))\]

Second, lets substitute \(g(x)\) in for \(g^{\prime}\):

\[\ct{and}_{(e → (e → t))} = (λf.(λg.(λx.(λy.f(x)(y) = g(x)(y) = \true))))\]

What we are left with is exactly the meaning for \(\textit{and}_{((np\backslash s)/np)}\) that we posited in Transitive verb coordinators.