Backward λ-Conversion and Cross

advertisement
CHAPTER FOUR: BACKWARD λ-CONVERSION AND CROSS-CATEGORIAL
CONNECTIVES
4.1. Backward λ-conversion.
The aim of this section is to show how, given assumptions about the syntax, the syntaxsemantics relation, and certain basic type assignments, backward λ-conversion helps you to
find the compositional interpretation of the expressions and hence helps you in defining the
grammar.
We will start with the following example:
(1) John doesn't walk.
Our aim will be to find a compositional semantics for this example, and to write a grammar.
Let us start by assuming a simple syntax.
We assume the following syntactic categories: NP, VP, NEG, S
We assume the following syntactic rules:
NP + VP ==> S
NEG + VP ==> VP
And we assume the following lexical items:
NP
│
john
VP NEG
│
│
walk not
We're ignoring everything having to do with do and with subject verb agreement, and assume
that for our purposes here generating John not walk is fine enough. Given this, we generate
our sentence with the following structure:
S
NP
VP
│
John NEG
VP
│
│
not
walk
We have now made some assumptions about the syntax, let us make some assumptions about
the relation between syntactic categories and semantics types.
First let us make Montague's Fixed Type Assignment assumption [Montague 1974]:
101
Fixed Type Assignment:
we associate with every syntactic category one and only one semantic type, and all
expressions of that syntactic category are semantically interpreted as expressions of
that semantic type.
Secondly let us assume, as before, that intransitive verbs are interpreted as predicates of type
<e,t>, and that sentences are interpreted as expressions of type t.
So we associate with VP type <e,t> and with S type t.
This fixes the semantic types corresponding to the above tree as follows:
t
.
│
John
<e,t>
.
<e,t>
│
│
not walk
Next let us assume that all the syntactic rules that we have given are interpreted semantically
as functional application.
We then have to decide which expression is going to be the function and which is going to be
the argument.
We have two syntactic rules:
NP + VP ==> S
NEG + VP ==> VP
As before, the grammar produces pairs of the form <α,α'> where α is a syntactic tree and α'
its translation in type logic.
We then have four possibilities for our rules:
R1. <NP,NP'> + <VP,VP'> ==> < S , VP'(NP')>
NP
VP
R2. <NP,NP'> + <VP,VP'> ==> < S , NP'(VP')>
NP
VP
R3. <NEG,NEG'> + <VP,VP'> ==> < VP , NEG'(VP')>
NEG
VP
R4. <NEG,NEG'> + <VP,VP'> ==> < VP , VP'(NEG')>
NEG
VP
102
Of these four, the last rule R4 is incompatible with our assumptions so far. We have
assumed that the type of VP is <e,t>. But if NEG is the argument of VP, its type has to be e,
and the type of the output VP would be t. But we have already fixed the type of VP to be
<e,t>.
Hence we know that our grammar will contain rule R3 and not R4:
R3. <NEG,NEG'> + <VP,VP'> ==> < VP , NEG'(VP')>
NEG
VP
This fixes the type of NEG. Clearly, its type has to be <<e,t>,<e,t>>.
So we have gotten the following information:
t
.
<e,t>
│
John <<e,t>,<e,t>>
<e,t>
│
│
not
walk
Given that we have decided to follow Montague here in assuming the Fixed Type
Assignment assumption, and given the fact that we have assumed that the type assigned to
VP is <e,t>, both rules R1 and R2 are still compatible with this particular example. Rule R1
tells us that the type assigned to NP is e; rule R2 tells us that the NP is the function, giving t
as output type, which can only mean that the type assigned to NP is <<e,t,>,t>.
This particular example doesn't decide between these two, but other considerations do.
The grammar that we are going to make should not only generate the above sentence, but
should work generally, for other NPs as well. That is, we want a grammar that would also be
capable of generating every boy walks.
But that means that under our assumptions, rule R1 would require the NP every boy also to
be of type e.
But that is semantically problematic, because as an expression of type e, it would have to
denote an individual, and, of course, quantified NPs do not denote individuals.
These considerations lead us to disregard rule R1.
Note: we only disregard rule 1 given our assumptions of the Fixed Type Assignment
assumption and our choice of letting the type of VP be <e,t>. As we will see later, it is quite
well possible (and in fact rather common) to assume a grammar that has rule R1 rather than
(or besides) rule R2. But such a grammar gives up the FTA or the assignment <e,t> to VP, or
both. Here we are making both assumptions, so the rule for combining a subject with an
intransitive verb phrase is rule R2:
103
R2. <NP,NP'> + <VP,VP'> ==> < S , NP'(VP')>
NP
VP
This fixes all the types in our example as follows:
t
<<e,t>,t>
<e,t>
│
John <<e,t>,<e,t>>
│
not
<e,t>
│
walk
Now, we could finish our grammar easily by adding the following lexical entries:
<VP,WALK>
│
walk
where WALK  CON<e,t>
<NEG,NOT>
│
not
where NOT  CON<<e,t>,<e,t>>
<NP,JOHN>
│
John
where JOHN  CON<<e,t>,t>
and get as a semantic representation for the sentence:
(JOHN((NOT(WALK)))
The problem is that, as a semantic representation, this is not informative enough.
Let us assume that John is an individual and that the constant j  CONe denotes him. Our
constant JOHN denotes a set of properties, and nothing so far requires that there is any
connection between that set of properties and the individual John. Similarly, our constant
NOT denotes some function from properties into properties, but nothing yet tells us what the
relation is between the property NOT(WALK) and the property WALK.
That is, this representation does not yet support the entailments that we intuitively associate
with the sentence.
Our task is not just to stipulate meanings for our lexical items, but rather to find out what
they are. In other words, our semantics is not explicit enough if it doesn't explain the relation
between the meaning of john at type <<e,t>,t> and the individual John, which is denoted by
our constant j  CONe. Similarly, we need to explain the relation between not at type
104
<<e,t>,<e,t>> and sentential negation ¬.
Given that we have assumed that walk is interpreted as an expression of type <e,t>, a
property, -and we're not here interested in trying to lexically decompose its meaning- we will
assume that we interpret this as a constant of type <e,t>. Hence, we do assume the lexical
entry for walk:
<VP,WALK>
│
walk
where WALK  CON<e,t>
Assuming that our constant j  CONe denotes John, we do know what the meaning of the
whole sentence should be, namely: ¬WALK(j).
Thus we have the following semantic information:
t ¬WALK(j)
<<e,t>,t>
<e,t>
│
JOHN <<e,t>,<e,t>>
│
NOT
<e,t>
│
WALK
Our task now is to find the correct interpretations of the other expressions.
We know that semantically, the meaning corresponding to the topnode should be:
S' = ((NP'((NEG'(VP')))
Since VP' = WALK and S' = ¬WALK(j), we know that NP' and NEG' should be expressions
that satisfy the following equation:
¬WALK(j) = ((NP'((NEG'(WALK)))
Here is where backward λ-conversion comes in.
¬WALK(j) is an expression that has the constant j sitting in the middle. Now obviously,
whatever the interpretation of NP' is going to be, it should be responsible for the introduction
of the constant j.
That means that j should be part of the NP' expression.
This means that we are looking for an expression in which j is not the argument of WALK,
but is part of an expression that takes an expression with WALK in it as an argument. So we
need to pull j out of the expression ¬WALK(j). We do that through backward λ-conversion:
105
¬WALK(j)
= [λx.¬WALK(x)](j)
[backward λ-con]
where x  VARe.
As we have seen these two expressions are equivalent by λ-conversion. λx.¬WALK(x) is an
expression of type <e,t>, which is very promising, because we need an expression of exactly
that type to be the interpretation of the VP not walk.
However, in the above expression j is an argument of the predicate λx.¬WALK(x), while
what we need is a representation where it is in a function that takes the expression
representing the contribution of negation and WALK as its argument.
We bring the expression in that form by once more backward λ-conversion. We can replace
the whole predicate λx.¬WALK(x) (of type <e,t>) by a variable P of type <e,t>, abstract over
this variable P, and apply the result to λx.¬WALK(x):
[λx.¬WALK(x)](j)
= [λP.P(j])(λx.¬WALK(x))
[backward λ-conversion]
In this expression λP.P(j) is an expression of type <<e,t>,t> and λx.¬WALK(x) an
expression of type <e,t>.
We have shown that applying the first to the second results in an expression with the same
meaning as ¬WALK(j), hence we can add the following information to our interpretation
tree:
t ¬WALK(j)
<<e,t>,t>
<e,t> λx.¬WALK(x)
│
λP.P(j) <<e,t>,<e,t>> <e,t>
│
│
NOT
WALK
This means that we add as our lexical entry for john:
<NP,λP.P(j)>
│
john
where j  CONe, P  VAR<e,t>
We are left with finding the interpretation for the negation.
This task is exactly the same as the task we had before: we need an interpretation for NEG'
that satisfies the following equation
VPtop' = (NEG'(VPbot'))
106
Given what we know now, we need to solve the following equation:
λx.¬WALK(x) = (NEG'(WALK))
λx.¬WALK(x) is an expression that contains the negation in it, we need to write it in a form
where we have a functional expression containing the contribution of negation, which
applies to WALK.
We get that though backward λ-conversion:
we replace in λx.¬WALK(x), WALK by a variable P, abstract over that variable and apply
the result to WALK:
λx.¬WALK(x)
= [λPλx.¬P(x)](WALK)
[backward λ-conversion]
In this expression λPλx.¬P(x) is an expression of type <<e,t>,<e,t>>, which is what we were
after. We complete the tree:
t ¬WALK(j)
<<e,t>,t>
<e,t> λx.¬WALK(x)
│
λP.P(j) <<e,t>,<e,t>> <e,t>
│
│
λPλx.¬P(x)
WALK
and we add the following lexical entry:
<NEG,λPλx.¬P(x)>
│
not
where P  VAR<e,t>, x  VARe
Collecting the grammar together we get:
SYNTACTIC CATEGORIES:
NP, VP, NEG, S
TYPE ASSIGNMENT:
NP
 <<e,t>,t>
VP
 <e,t>
NEG  <<e,t>,<e,t>>
S
t
LEXICAL ENTRIES:
<NP,λP.P(j)>
where j  CONe, P  VAR<e,t>
│
john
107
where WALK  CON<e,t>
<VP,WALK>
│
walk
<NEG,λPλx.¬P(x)>
│
not
where P  VAR<e,t>, x  VARe
RULES:
R2. <NP,NP'> + <VP,VP'> ==> < S , NP'(VP')>
NP
VP
R3. <NEG,NEG'> + <VP,VP'> ==> < VP , NEG'(VP')>
NEG
VP
and we can check that we get the right interpretation by doing the derivation:
<NEG,λPλx.¬P(x)> + <VP,WALK> ==> < VP , [λPλx.¬P(x)](WALK) >
│
│
not
walk
NEG
VP
│
│
not
walk
[λPλx.¬P(x)](WALK)
= λx.¬WALK(x)
[λ-conversion]
So this is the same as:
<
VP , λx.¬WALK(x) >
NEG VP
│
│
not
walk
<NP,λP.P(j)> + < VP , λx.¬WALK(x) > ==> < S , [λP.P(j)](λx.¬WALK(x)) >
│
john
NEG VP
NP
VP
│
│
│
not walk
John NEG VP
│
│
not walk
[λP.P(j)](λx.¬WALK(x))
= [λx.¬WALK(x)](j)
[λ-conversion]
108
= ¬WALK(j)
[λ-conversion]
So we get:
<
S , ¬WALK(j) >
NP
VP
│
John NEG VP
│
│
not walk
Note that, disregarding for the moment the question of whether these interpretations are
'intuitive', they do make sense.
We interpret predicate negation as:
λPλx.¬P(x). This is an operation that takes any predicate Q and maps it onto the property
that you have iff you don't have Q.
Hence it maps WALK onto the property that you have iff you don't have the property
WALK. This is precisely what doesn't does, so it is the right interpretation for doesn't.
Also the interpretation of john as λP.P(j) makes sense.
λP.P(j) is the set of all properties that John has.
λP.P(j) (WALK) expresses that the property WALK is one of the properties in that set, hence
is one of the properties that John has, hence is a property that John has, hence John walks.
Similarly, [λP.P(j)](λx.¬WALK(x)) expresses that not walking is one of the properties in the
set of all properties that John has, which means that not walking is a property that John has,
which means that John doesn't have the property of walking, hence John doesn't walk.
Let us now look at the following example:
(2) Every girl walks.
We add to our syntax the categories N for nouns and DET for determiners and the obvious
syntactic rule:
DET + N ==> NP
We furthermore make the assumption that the type assigned to common nouns is also <e,t>,
like that assigned to VP and we assume that girl is interpreted as a constant
GIRL  CON<e,t>.
Assuming that the semantic operation corresponding to our syntactic rule is functional
application, it follows that the determiner applies as a function to the common noun. The
reason is that, whatever we decide the type of NPs to be, it is obviously not going to be t.
Thus we add to the grammar:
109
< N,GIRL>
│
girl
where GIRL  CON<e,t>
<DET,DET'> + <N,N'> ==> < NP , DET'(N')>
DET
N
The syntactic structure of every girl walks becomes:
S
NP
DET N
│
│
every girl
VP
│
walk
We argued before that the type of NPs could not be generally e, because NPs do not denote
generally individuals (quantificational NPs do not). Hence we were forced to assume that
the type of NPs is <<e,t>,t>, the type of sets of sets. Sets of sets are called generalized
quantifiers, hence <<e,t>,t> is the type of generalized quantifiers and NPs denote
generalized quantifiers.
Generalized quantifier theory hence is the theory of noun phrase interpretations.
Given that the type of NPs is <<e,t>,t>, it follows from the above rule that the type of
determiners is <<e,t>,<<e,t>,t>>.
This means that determiners are relations between sets (type <e,t>). In other words: the
determiner every in every girl walks expresses a relation between the set of girls and the set
of walkers.
Given the above considerations, the types and interpretations in our example are fixed in the
following way:
t x[GIRL(x)  WALK(x)]
<<e,t>,t>
<<e,t>,<<e,t>,t>>
│
every
<e,t> WALK
<e,t> GIRL
The topnode represents what we want the meaning of the sentence to be: i.e. whatever
semantic representation we will be able to come up with, it should be equivalent to this.
Our task now is to find the meanings of the remaining nodes: the NP and the DET. We find
110
these, again, through backward λ-conversion:
The NP meaning has to satisfy the following equation:
S' = NP'(VP')
VP' = WALK
S' = x[GIRL(x)  WALK(x)]
So:
x[GIRL(x)  WALK(x)] = NP'(WALK)
We can write x[GIRL(x)  WALK(x)] in the required format by replacing WALK by a
variable P of type <e,t>, abstracting over that variable and applying the result to WALK:
x[GIRL(x)  WALK(x)]
= [λP.x[GIRL(x)  P(x)]](WALK)
This gives us λP.x[GIRL(x)  P(x)] as the meaning of the NP every girl.
To find the meaning of every we repeat the procedure:
We know that its meaning has to satisfy the equation:
NP' = DET'(N')
NP' = λP.x[GIRL(x)  P(x)]
N' = GIRL
So we have to solve:
λP.x[GIRL(x)  P(x)] = DET'(GIRL)
As before, backward λ-conversion gives us the meaning of the DET:
Replace GIRL in λP.x[GIRL(x)  P(x)] by a variable Q of type <e,t>, abstract over that
variable and apply the result to GIRL:
λP.x[GIRL(x)  P(x)]
= [λQλP.x[Q(x)  P(x)]](GIRL)
Thus, we have solved our problem, the grammar becomes:
ADDED CATEGORIES:
DET, N
ADDED TYPE ASSIGNMENTS:
N
 <e,t>
DET  <<e,t>,<<e,t>,t>>
111
ADDED SYNTACTIC RULE
<DET,DET'> + <N,N'> ==> < NP , DET'(N')>
DET
N
ADDED LEXICAL ENTRIES:
< N,GIRL>
where GIRL  CON<e,t>
│
girl
<DET, λQλP.x[Q(x)  P(x)]>
│
every
where P,Q  VAR<e,t>, x  VARe
The meaning of every girl becomes: λP.x[GIRL(x)  P(x)]
This is the set of properties that every girl has, the set of properties that all girls share.
i.e. take a property, look whether every one of the girls has that property, if so it is in this set,
if not it is not in this set.
Thus every girl walks expresses that the property WALK is one of the properties in the set of
properties that every girl has. This of course means that every girl has that property.
We see here that what looked like a trick before, starts to become a very succesful and
general theory of noun phrase interpretation. The type <<e,t>,t> is very well suited for
interpreting all NPs. The reason is that the recipe for getting the meaning of every girl
clearly works for arbitrary NPs.
some girl, by the same procedure becomes:
λP.x[GIRL(x)  P(x)]
the set of properties that some girl has:
i.e. take a girl: all her properties are in this set. Take the next girl: all her properties are also
in this set, etc.
Moreover, the procedure applies as easily to non standard quantifiers. Look at most girls
walk. This means that more girls walk than don't.
Take a property. Look whether more than half of the girls have it, if so, put it in set X, if not,
don't put it in. Do the same for every property. The resulting set of properties X is the set of
properties that most girls have and it can function as the interpretation of most girls.
We have seen furthermore that also proper names can have a natural interpretation at this
level:
λP.P(j) is the set of all properties that j has.
Furthermore, also complex NPs can be naturally interpreted at this level. Look at John and
every girl walk. NPs of this form are Montague's prime reason to interpret John as λP.P(j)
112
rather than as j. The reason is that if John is interpreted as an expression of type e, you can't
conjoin it with the interpretation of every girl which can't be of type e.
On the other hand, if john is interpreted as a set of properties, the set of properties that John
has, not only can we conjoin it with every girl because they are of the same type, but it is also
very obvious what conjunction of two sets of properties should be: their intersection. Hence
John and every girl is interpreted as the set of properties that are shared by every girl and by
John:
λP.P(j)  x[GIRL(x)  P(x)]
and WALK is in this set iff John walks and every girl walks.
We see then that what started as a trick - the verb can't apply to a quantificational NP, so let's
switch the function-argument structure around - leads to a general theory of NP and
determiner interpretation, and the λ-operator gives us the means to easily define the
meanings of determiners and NPs within that theory.
The general theory of NP interpretations is a major achievement of Montague's work.
We've solved our problem with every girl walks, but we're not out of problems yet. We kept
<e,t> as the type of intransitive verb phrases and got out of the function argument problem
by assuming that the subject is a function on the VP. This led to assuming <<e,t>,t> as the
type of NPs. However, we now have a problem with transitive verb phrases. Transitive verb
phrases like kiss used to be of type <e,<e,t>>. But this leads to problems with our next
example:
(3) John kisses every girl.
every girl is not of type e, so it cannot be the argument of kiss if that is of type <e,<e,t>>.
This time, however, we cannot without cost just switch the function-argument structure
around. If we assume that every girl is a function that takes the meaning of kiss as an
argument, then every girl will have type <<e,<e,t>>,<e,t>>. But that is incompatible with
the Fixed Type Assignment assumption, because now we have to give a different
interpretation to the NP when it is an object from when it is a subject.
This means that we cannot let transitive verbs be of the type <e,<e,t>> and assume that
combining a TV with an object NP is functional application. Keeping the latter assumption
leads to the following rule:
< TV,TV'> + <NP,NP'> ==> < VP , TV(NP) >
TV
NP
Given that the type for VP is <e,t> and for NP is <<e,t>,t>, this means that the type assigned
to TV is <<<e,t>,t>,<e,t>>.
Hence transitive verb phrases like kiss are interpreted as relations between individuals and
sets of properties.
As before we can express that in the grammar by assuming a lexical entry of the following
type:
113
<TV,KISS>
│
kiss
where KISS  CON<<<e,t>,t>,<e,t>>
Let T  VAR<<e,t>,t> and x  VARe.
In relational notation this means that we interpret kiss as:
λTλx.KISS(x,T)
the relation that holds between an individual and a set of properties iff that individual
and that set stand in the relation KISS.
The problem is as before that we have here a relation between an individual and a set of
properties, and nothing is yet said about how this relation relates to the intuitive relation of
kissing between individuals. That is, all sorts of logical inferences that should hold are not
accounted for.
Using this as the meaning of kiss, we get as the meaning of John kisses Mary:
KISS(j,λP.P(m))
the relation KISS holds between John and the set of all of Mary's properties.
This representation does not guarantee that any kissing goes on between the individuals John
and Mary.
The meaning of John kisses every girl becomes:
KISS(j,λP.z[GIRL(z)  P(z)])
the relation KISS holds between John and the set of properties that all girls share.
The problem is that the inference from (3) and (4) to (5) should obviously follow from the
semantics:
(3)
(4)
(5)
John kisses every girl.
Mary is a girl.
John kisses Mary.
The problem is that even this is not guaranteed. The inference from (3') and (4') to (5') is not
valid in type logic.
(3')
(4')
(5')
KISS(j,λP.z[GIRL(z)  P(z)])
GIRL(m)
KISS(j,λP.P(m))
As before, the problem is that making KISS a constant of type <<<e,t>,t>,<e,t>> does not by
itself relate it to actual kissing, the relation that holds between two individuals if the first
kisses the second, denoted by the relation KISS  CON<e,<e,t>>.
What we want to do, then, is define the interpretation of the transitive verb, in terms of the
114
latter relation.
So, let us assume that KISS  CON<e,<e,t>>
The syntactic structure of John kisses every girl is as follows:
S
NP
VP
│
John TV
NP
│
kiss DET N
│
│
every girl
The type structure and semantic interpretations as far as we know them are as follows:
t z[GIRL(z)  KISS(j,z)]
<<e,t>,t> λP.P(j)
<e,t> ?
<<e,t>,t> λP.z[GIRL(z)  P(z)]
<<<e,t>,t>,<e,t>> ?
<<e,t>,<<e,t>,t>>
λQλP.z[Q(z)  P(z)]
<e,t>
GIRL
We start by looking for the interpretation for the VP kiss every girl.
We have to solve the following equation:
S' = NP'(VP')
S' = z[GIRL(z)  KISS(j,z)]
NP' = λP.P(j)
So:
z[GIRL(z)  KISS(j,z)] = [λP.P(j)](VP')
Let us first, to be precise, undo the relational notation in the sentence:
z[GIRL(z)  KISS(j,z)]
= z[GIRL(z)  [KISS(z)](j)]
[functional notation]
Next we λ-convert j out:
= [λx.z[GIRL(z)  [KISS(z)](x)]](j)
[backward λ-conversion]
115
Next we convert the whole predicate λx.z[GIRL(z)  [KISS(z)](x)] out:
= [λP.P(j)](λx.z[GIRL(z)  [KISS(z)](x)])
[backw. λ-con.]
This means that we have found the meaning of the VP kiss every girl:
λx.z[GIRL(z)  [KISS(z)](x)]
the property that you have if you kiss every girl.
We add it to the semantic tree (for clarity with KISS back in relational notation):
t z[GIRL(z)  KISS(j,z)]
<e,t> λx.z[GIRL(z)  (KISS(x,z)]
<<e,t>,t> λP.P(j)
<<e,t>,t> λP.z[GIRL(z)  P(z)]
<<<e,t>,t>,<e,t>> ?
<<e,t>,<<e,t>,t>>
λQλP.z[Q(z)  P(z)]
<e,t>
GIRL
Our next task then is to solve the following equation:
VP' = TV'(NP')
VP' = λx.z[GIRL(z)  [KISS(z)](x)]
NP' = λP.z[GIRL(z)  P(z)]
So:
λx.z[GIRL(z)  [KISS(z)](x)] = TV'(λP.z[GIRL(z)  P(z)])
We solve this problem in the same way as before, except that this time it is much more
difficult.
We start with:
λx.z[GIRL(z)  [KISS(z)](x)]
We know that we have to bring this in a form where the whole NP meaning of every girl
λP.z[GIRL(z)  P(z)] is the argument of some function.
If we can turn the above expression into an expression that has this NP meaning as a subexpression, we can convert it out, and we have solved out problem.
So we are going to turn the above expression into an expression that has
λP.z[GIRL(z)  P(z)] as a sub-expression.
We do have z[GIRL(z)  [KISS(z)](x)] as a sub-expression.
We would like to do backward λ-abstraction, by abstracting out a property of type <e,t>,
because that would give us the abstraction over variable P. However, we cannot do that in
this expression, because the only property expression we have in the consequent of this
116
conditional is KISS(z). If we abstract that out, we would get:
λP.z[GIRL(z)  P(x)] (KISS(z))
In this way we have indeed turned z[GIRL(z)  [KISS(z)](x)] into an expression with an
NP meaning as a sub-expression:
λP.z[GIRL(z)  P(x)] (KISS(z))
but, unfortunately, not with the right NP meaning as a sub-expression, because we wanted to
have λP.z[GIRL(z)  P(z)] and we got λP.z[GIRL(z)  P(x)].
Now we have localized our problem.
(KISS(z))(x) is at the moment in a form where a property KISS(z) applies to x. We want to
bring this into a form where a property applies to z.
This we can do with backward λ-conversion.
[KISS(z)](x)
= [λy.[KISS(y)](x)](z)
[backward λ-conversion of z]
This means that we can replace the sub-expression [KISS(z)](x)
in λx.z[GIRL(z)  [KISS(z)](x)] by [λy.[KISS(y)](x)](z)
This means that:
λx.z[GIRL(z)  [KISS(z)](x)]
= λx.z[GIRL(z)  [λy.[KISS(y)](x)](z) ]
Now look in the latter at the sub-expression:
z[GIRL(z)  [λy.[KISS(y)](x)](z) ]
In this expression we have [λy.[KISS(y)](x)] as a sub-expression, hence we can apply
backward λ-conversion to it and get:
z[GIRL(z)  [λy.[KISS(y)](x)](z) ]
= [λP.z[GIRL(z)  P(z)]](λy.[KISS(y)](x))
[backward λ-conversion of λy.[KISS(y)](x) ]
This means that in λx.z[GIRL(z)  [λy.[KISS(y)](x)](z) ]
we can replace the sub-expression:
z[GIRL(z)  [λy.[KISS(y)](x)](z) ] by:
[λP.z[GIRL(z)  P(z)]](λy.[KISS(y)](x))
This means that:
λx.z[GIRL(z)  [λy.[KISS(y)](x)](z) ]
117
= λx.[λP.z[GIRL(z)  P(z)]](λy.[KISS(y)](x))
Now we have λP.z[GIRL(z)  P(z)] as a sub-expression. We can convert it out, by
replacing it by a variable T  VAR<<e,t>,t> and abstracting over T and applying the result to
λP.z[GIRL(z)  P(z)]:
λx.[λP.z[GIRL(z)  P(z)]](λy.[KISS(y)](x))
= [λTλx.T(λy.[KISS(y)](x))](λP.z[GIRL(z)  P(z)])
Hence we have found TV':
TV' = λTλx.T(λy.[KISS(y)](x))
or in relational notation:
TV' = λTλx.T(λy.KISS(x,y))
This is of the right type <<<e,t>,t>,<e,t>>, so we can complete the grammar with the
following lexical item:
<TV, λTλx.T(λy.KISS(x,y))> where KISS  CON<e,<e,t>>, T  VAR <<e,t>,t>, x,y  VARe
│
kiss
Now, all this looks very difficult and complicated. So what if we can find a complicated
translation of kiss that does what Montague wants it to do? It looks pretty unreadable as it is.
Solving this problem is actually a major achievement of Montague's work. The problem that
is solved here is not restricted to the particular semantic theory developed here.
Every semantic theory for the interpretation of NPs will have to be a theory of the
interpretation of non-quantification NPs and quantificational NPs (for one thing, because we
can conjoin them). Hence every such theory is faced with the problem of what to do with
NPs as the objects of transitive verbs, and hence with the problem of what to do with
transitive verbs.
The observation is that, though syntactically the object of a(n extensional) TV is in the scope
of that TV, semantically it takes scope over the TV. This can be seen with quantificational
objects:
(3)
(6)
(7)
John kisses every woman.
x[WOMAN(x)  KISS(j,x)]
KISS is in the scope of EVERY WOMAN.
John kisses some woman.
x[WOMAN(x)  KISS(j,x)]
KISS is in the scope of SOME WOMAN.
John kisses no woman.
¬x[WOMAN(x)  KISS(j,x)]
118
KISS is in the scope of NO WOMAN.
Exactly the same shows up with operations: syntactically john and bill and john or bill are in
the scope of kiss, semantically the conjunction and disjunction take scope over KISS:
(8)
(9)
Henry kisses John and Bill.
KISS(h,j)  KISS(h,b)
or in scopal notation: (KISS(h,j),KISS(h,b))
Henry kisses John or Bill.
KISS(h,j)  KISS(h,b)
in scopal notation: (KISS(h,j),KISS(h,b))
This fact is exactly what Montague's interpretation captures.
kiss is interpreted as λTλx.T(λy.KISS(x,y)).
If we apply this to a quantificational NP like no woman:
λP.¬z[WOMAN(z)  P(z)], this NP meaning will enter for the variable T and take,
semantically, scope over KISS.
Similarly, john or bill interpreted as: λP.P(j)  P(b) will be λ-converted into the T-place,
giving:
λx.[λP.P(j)  P(b)](λy.KISS(x,y))
Here the conjunction has scope over KISS, which becomes clear in the next λ-convertion:
λy.KISS(x,y) is converted for both P's under the scope of conjunction and further convertions
give indeed:
λx.KISS(x,j)  KISS(x,b)
Thus, this interpretation for transitive verbs solves the problem of quantificational objects,
and solves it by letting the meaning of the TV kiss express that its object will take scope
over the relation KISS.
All that the complex interpretation expresses is this, and nothing more than this.
That it works generally for all NPs can be seen once we understand what the interpretation
really means.
kiss is interpreted as λTλx.T(λy.KISS(x,y)). Let us call this relation K. K is a relation
between individuals and sets of properties.
If you are x then λy.KISS(x,y) expresses the property of BEING KISSED BY YOU.
K then is the relation that you stand in to a set of properties iff the property of BEING
KISSED BY YOU is in that set.
-You stand in relation K to the set of John's properties
iff the property of BEING KISSED BY YOU is in the set of John's properties
iff you kiss John.
119
-You stand in relation K to the set of properties that every girl has
iff the property of BEING KISSED BY YOU is in the set of properties that every girl has
iff you kiss every girl.
-You stand in relation K to the set of properties that no girl has
iff the property of BEING KISSED BY YOU is in the set of properties that no girl has
iff you kiss no girl.
Now that we have solved this problem, let us look at the type of VPs. We have assumed that
VP's are of type <e,t> and that the subject applies as a function to the verb. There may be
reasons why we would want the verb to apply as a function to the subject, just as it applies as
a function to the object.
Keeping the assumption that NPs are generalized quantifiers, this means that VP's can no
longer be of type <e,t>, but have to be of type <<<e,t>,t>,t>. If we do that, we have to find
an interpretation of type <<<e,t>,t>,t> for intransitive verbs, and the same considerations as
for transitive verbs, lead to the conclusion that for an intransitive verb like walk we want to
define the interpretation of walk at type <<<e,t>,t>,t> in terms of the basic predicate WALK
of type <e,t>.
It is not difficult to see what this interpretation should be.
Before we interpreted john walks as:
[λP.P(j)](WALK)
We need to solve the following equation:
[λP.P(j)](WALK) = VP'(λP.P(j))
Backward λ-convertion on λP.P(j) does exactly that:
[λP.P(j)](WALK) =
[λT.T(WALK)](λP.P(j))
where T  VAR<<e,t>,t>
Hence such a theory would change the grammar to:
VP
 <<<e,t>,t>,t>
<NP,NP'> + <VP,VP'> ==> < S , VP'(NP') >
NP
<VP,λT.T(WALK)>
│
walk
VP
where WALK  CON<e,t> and T  VAR<<e,t>,t>
120
4.2. Cross categorial negation, conjunction and disjunction.
We have already discussed examples of negation, conjunction and disjunction at other types
besides t.
We discussed predicate negation, conjunction and disjunction, and showed that we could
define not walks, walk and talk, walk or talk as:
λx.¬WALK(x)
λx.WALK(x)  TALK(x)
λx.WALK(x)  TALK(x)
Consequently, writing [<e,t>], [<e,t>], [<e,t>] for predicate negation, predicate conjunction
and predicate disjunction respectively, we can -with backward λ-conversion define:
Let P,Q  VAR<e,t> and x  VARe.
[<e,t>] = λPλx.¬P(x)
[<e,t>] = λQλP.P(x)  Q(x)
[<a,t>] = λQλP.P(x)  Q(x)
Similarly, we discussed conjunction of two place relations; negation and disjunction are
similar, hence we have:
λyλx.¬[KISS(y)](x)
λyλx.[KISS(y)](x)  [HUG(y)](x)
λyλx.[KISS(y)](x)  [HUG(y)](x)
Or in relational notation:
λyλx.¬KISS(x,y)
λyλx.KISS(x,y)  HUG(x,y)
λyλx.KISS(x,y)  HUG(x,y)
Writing [<e,<e,t>>] for relation negation, etc., we can define with backward λ-conversion:
Let R,S  VAR<e,<e,t>> and x,y  VARe
[<e,<e,t>>] = λRλyλx.¬[R(y)](x)
[<e,<e,t>>] = λSλRλyλx.[R(y)](x)  [S(y)](x)
[<e,<e,t>>] = λSλRλyλx.[R(y)](x)  [S(y)](x)
We discussed conjunction of NPs at type <<e,t>,t>; again, negation and disjunction are
similar. We get for not john, john and mary, john or mary:
λP.¬[λQ.Q(j)](P)
λP.[λQ.Q(j)](P)  [λQ.Q(m)](P)
λP.[λQ.Q(j)](P)  [λQ.Q(m)](P)
121
Which reduce further to:
λP.¬P(j)
λP.P(j)  P(m)
λP.P(j)  P(m)
Writing [<<e,t>,t>] for NP negation, etc., we can define:
Let T,U  VAR<<e,t>,t> and P  VAR<e,t>
[<<e,t>,t>] = λTλP.¬T(P)
[<<e,t>,t>] = λUλTλP.T(P)  U(P)
[<<e,t>,t>] = λUλTλP.T(P)  U(P)
These definitions are based on the observation that in all these types we find not, and and or
with essentially the same meaning that negation, conjunction and disjunction have at type t.
This does not mean that and always has a meaning that is related to sentential conjunction.
For instance, neither the NP conjunction and, nor the predicate conjunction and in the next
example are of that nature:
(1) John and Mary are husband and wife.
The NP conjunction in (1) isn't the and we have defined, because (1) is not equivalent to (2):
(2) John is husband and wife and Mary is husband and wife.
The predicate conjunction in (2) isn't the and we have defined, because (1) is also not
equivalent to (3):
(3) John and Mary are wife and husband.
So, we're not claiming that all instances of and are definable in terms of conjunction at type
t. But we are claiming that at all these types we do find an operation and which is.
There are many more types at which we find these operations: negation, conjunction and
disjunction appear cross-categorially.
Also, when we look at the above definitions, it seems clear that they all follow a similar
schema.
For this reason we would like to define these operations once and for all for all the types at
which they occur.
In all the cases that we have studied so far, we see that the type at which we define negation,
conjunction and disjunction is related to type t in a particular way.
In all these cases we observe the following relation between the type a at which we want to
define the operations and type t:
When we look at the tree that represents how the type is built up, we systematically find that
the most rightward type is type t:
122
Let TREE[a] be the construction tree for type a.
TREE[t] = t
Obviously t is the rightmost type in this tree.
TREE[<e,t>] =
<e,t>
e
TREE[<e,<e,t>>] =
t
<e,<e,t>>
e
<e,t>
e
TREE[<<e,t>,t>] =
t
<<e,t>,t>>
<e,t>
e
t
t
The same holds for other types where we may want to define these operations. For instance
determiners:
TREE[<<e,t>,<<e,t>,t>>] =
<<e,t>,<<e,t>,t>>
<e,t>
e
<<e,t>,t>>
t
<e,t>
e
t
t
And modifiers:
TREE[<<e,t>,<e,t>>] =
<<e,t>,<e,t>>
<e,t>
e
<e,t>
t
e
t
Such types are called boolean types, because all of them can be given the form of a boolean
algebra (which means just the same as that on all of them we can define negation,
conjunction and disjunction with exactly the same properties as negation, conjunction and
disjunction have at type t).
The set of boolean types, BOOL, can be defined in the following way:
123
BOOL is the smallest subset of TYPE such that:
1. t  BOOL
2. if a  TYPE and b  BOOL then <a,b>  BOOL
It can be checked in the above trees that all the types given are indeed boolean types. Types
that are not boolean are, for instance: e, <t,e>, <<e,t>,e>, <<e,e>,<e,e>>.
What we want to do now is define [a], [a], [a] for all boolean types a.
We will define these recursively following the recursive definition of boolean types.
We will first define [t], [t] and [t].
Then we will show how, assuming that we have defined [b], [b], [b] for boolean type b, we
can define in terms of that [<a,b>], [<a,b>], [<a,b>] for boolean type <a,b>. If we manage to
do that, we have indeed defined [a], [a], [a] for all boolean types.
The following definition does exactly that.
1. Base step.
Let φ,ψ  VARt:
[t] = λφ.¬φ
[t] = λψλφ.φ  ψ
[t] = λψλφ.φ  ψ
1. Recursive step.
Let P,Q  VAR<a,b> and x  VARa:
[<a,b>] = λPλx.[b](P(x))
[<a,b>] = λQλPλx.[[b](Q(x))](P(x))
[<a,b>] = λQλPλx.[[b](Q(x))](P(x))
We can write this also in infix notation for clarity:
[<a,b>] = λPλx.[b](P(x))
[<a,b>] = λQλPλx.P(x) [b] Q(x)
[<a,b>] = λQλPλx.P(x) [b] Q(x)
Note: we are assuming in this definition that the variables P and x are new, in the sense that
they do not already occur in [b], [b] or [b].
Examples:
124
Let P,Q  VAR<e,t>, R,S  VAR<e,<e,t>>, T,U  VAR<<e,t>,t>,
x,y  VARe
[<e,t>]
= λPλx.[t](P(x))
[t] = λφ.¬φ
Hence:
[<e,t>]
= λPλx.[t](P(x))
= λPλx.[λφ.¬φ](P(x))
= λPλx.¬P(x)
[def [<e,t>]]
[def [t]]
[λ-conversion]
[<e,t>]
= λQλPλx.[[t](Q(x)](P(x)
= λQλPλx.[[λψλφ.φ  ψ](Q(x)](P(x))
= λQλPλx.[λφ.φ  Q(x)](P(x))
= λQλPλx.P(x)  Q(x)
[def [<e,t>]]
[def [t]]
[λ-con]
[λ-con]
[<e,<e,t>>]
= λRλy.[<e,t>](R(y))
= λRλy[λPλx.¬P(x)](R(y))
= λRλyλx.¬[R(y)](x)
= λRλyλx.¬R(x,y)
[def [<e,<e,t>>]]
[see above]
[λ-con]
[rel notation]
In this derivation we see what we meant by choosing new variables: we choose a variable y
in the first step, because variable x of the same type already occurs in the definition of
[<e,t>].
[<e,<e,t>>]
= λSλRλy.[[<e,t>](S(y))](R(y))
= λSλRλy.[[λQλPλx.P(x)  Q(x)](S(y))](R(y))
= λSλRλy.[λPλx.P(x)  [S(y)](x)](R(y))
= λSλRλyλx.[R(y)](x)  [S(y)](x)
= λSλRλyλx.R(x,y)  S(x,y)
[<<e,t>,t>]
= λTλP.[t](T(P))
= λTλP.[λφ.¬φ](T(P))
= λTλP.¬T(P)
[def [<e,<e,t>>]]
[see above]
[λ-con]
[λ-con]
[rel. notation]
[def [<<e,t>,t>]]
[def [t]]
[λ-con.]
In fact, it is obvious that this derivation is exactly the same as the above derivation of [<e,t>]
but with variable T substituted for P and variable P substituted for x.
125
The same substitution of T for P, U for Q, P or x in the derivation of [<e,t>] gives the
derivation of [<<e,t>,t>] = λUλTλP.T(P)  U(P)
We see that this general definition will indeed produce the correct definition of negation,
conjunction and disjunction at all the boolean types.
In practice, this definition is rather cumbersome and there is a much shorter way of getting
the right definition.
We can read the proper definition of negation at type a off the construction tree for type a,
TREE[a].
We will associate with every node of the right-edge of TREE[a] a formula-construction box.
A formula construction box for negation looks like this:
[α│β]
for conjunction and disjunction it looks like this:
[α│β;δ]
In a construction box, α is a λ-prefix, i.e. α is of the form λx1...λxn. and β, δ are expressions.
Here are the instructions for associating construction boxes for negation and conjunction
with nodes in TREE[a]:
1. We start at the topnode of TREE[a].
Choose variables P and Q of this type and associate with this node the construction boxes:
[ λP. │ P ]
[ λQλP. │ P ; Q ]
(for negation)
(for conjunction)
2. Go to the daughters of node a.
-if there aren't any, then a was t, and you stop.
- if the daughters are b and c (i.e. a = <b,c>) you do the following:
Choose a variable x of type b that doesn't yet occur in the construction boxes of node a, and
associate with node c the following construction boxes:
[ λPλx. │ (P(x))
]
[ λQλPλx. │ (P(x)) ; (Q(x)) ]
So we get the following tree:
126
a [ λP. │ P ]
[ λQλP. │ P ; Q ]
b
c [ λPλx. │ (P(x))
]
[ λQλPλx. │ (P(x)) ; (Q(x)) ]
3. Go to the daughters of node c.
- if there aren't any, stop.
- otherwise, repeat the procedure:
In general if the mothernode is x, and the daughter nodes y and z, (i.e. x = <y,z>) and the
construction boxes of the mother node x are:
[ X. │ α ]
[ Y. │ α ; β ]
you choose a variable P of type y, and add to node z the construction boxes:
[ XλP. │ (α(P))
]
[ XλP. │ (α(P)) ; (β(P)) ]
This procedure ends when you reach type t at the right end bottom of the tree.
There you define [a], [a] and [a] on the construction boxes that you get there:
Suppose these are:
[ X. │ α ]
[ Y. │ α ; β ]
Then:
[a] = X.¬α
[a] = Y.α  β
[a] = Y.α  β
127
EXAMPLES
In the following examples, I will diverge only from the above procedure in that I may leave
out some brackets, when I feel like it (and introduce them again later if necessary).
TREE[t]
φ,ψ
t
[ λφ. │ φ ]
[ λψλφ. │ φ ; ψ ]
[t] = λφ.¬φ
[t] = λψλφ.φ  ψ
TREE[<e,t>]
<e,t> [ λP. │ P ]
[ λQλP. │ P ; Q ]
P,Q
x
e
t [ λPλx. │ P(x)
]
[ λQλPλx. │ P(x) ; Q(x) ]
[<e,t>] = λPλx.¬P(x)
[<e,t>] = λQλPλx.P(x)  Q(x)
TREE[<e,<e,t>>]
<e,<e,t>> [ λR. │ R ]
[ λSλR. │ R ; S ]
R,S
y
x
e
<e,t> [ λRλy. │ R(y)
]
[ λSλRλy. │ R(y) ; S(y) ]
e
t [ λRλyλx. │ [R(y)](x)
]
[ λSλRλyλx. │ [R(y)](x) ; [S(y)](x) ]
[<e,<e,t>>] = λRλyλx.[R(y)](x)
[<e,<e,t>>] = λSλRλyλx.[R(y)](x)  [S(y)](x)
128
TREE[<<e,t>,t>]
T,U
<<e,t>,t>> [ λT. │ T ]
[ λUλT. │ T ; U ]
P
<e,t>
e
t [ λTλP. │ T(P)
]
[ λUλTλP. │ T(P) ; U(P) ]
t
[<<e,t>,t>] = λTλP.¬T(P)
[<<e,t>,t>] = λUλTλP.T(P)  U(P)
TREE[<<e,t>,<<e,t>,t>>] =
X,Y
<<e,t>,<<e,t>,t>> [ λX. │ X ]
[ λYλX. │ X , Y ]
Q
<<e,t>,t>> [ λXλQ.│ X(Q)
]
[ λYλXλQ.│ X(Q) ; Y(Q) ]
<e,t>
e
t
P
t [ λXλQλP. │ [X(Q)](P)
]
[ λYλXλQλP. │ [X(Q)](P) ; [Y(Q)](P)]
<e,t>
e
t
[<<e,t>,<<e,t>,t>>] = λXλQλP.¬[X(Q)](P)
[<<e,t>,<<e,t>,t>>] = λYλXλQλP.[X(Q)](P)  [Y(Q)](P)
TREE[<<e,t>,<e,t>>] =
<<e,t>,<e,t>> [ λA. │ A ]
[ λBλA. │ A ; B ]
A,B
P
<e,t>
e
x
<e,t> [ λAλP. │ A(P)
]
[ λBλAλP. │ A(P) ; B(P) ]
t
e
t [ λAλPλx. │ [A(P)](x)
]
[ λBλAλPλx. │ [A(P)](x) ; [B(P)](x) ]
[<<e,t>,<e,t>>] = λAλPλx.¬[A(P)](x)
[<<e,t>,<e,t>>] = λBλAλPλx.[A(P)](x)  [B(P)](x)
129
Download