Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

SUO: Re: Montague's type system




Rich and Pierluigi,

Before saying anything about Montague's system, let me say
that I admire it very much -- as an abstract mathematical
construction.  I have learned a great deal from it.  One of
the things I learned is that there has to be a better way.  

You can only make sense of Montague's system when you study
the mathematical Lego blocks that he put together in order
to construct it.   Following are the pieces:

 1. Leibniz's idea that a necessary statement is true in all
    possible worlds.

 2. Carnap's idea that a sentence is a function from possible
    worlds to truth values -- i.e., given a world w and a
    sentence S, the result of applying S to w, written S(w),
    is true if S makes a true statement about w, and S(w) is
    false if S makes a false statement about w.

 3. Kripke's semantics of modal logic, which combines the
    ideas of Leibniz, Carnap, and Tarski to form a model
    theory for modal logic.

 4. Ajdukiewicz's categorial grammar, in which the grammar
    rules combine the types of the constituents to derive
    the type of any combination of constituents.

 5. Church's lambda calculus, which is designed to create
    functions by designating one or more constituents of
    an expression as formal parameters.  For example, the
    following sentence is a function from possible worlds
    to truth values:

       John walks.

    This function maps worlds in which John walks to truth,
    and worlds in which John does not walk to false.  When
    you replace "John" by a parameter "x", you get

       (lambda x)(x walks)

    This lambda expression is a function that corresponds
    to the verb "walks" by itslef.  It is a function from
    proper names (or noun phrases in general) to sentences.

In general, if X and Y are any two types, the notation <X,Y>
represents the type of functions from X to Y.

The only two primitive types in Montague's ontology are
e for entities and t for truth values.  Every other type is
a function from some previously defined type to some other
previously defined type.

Given those two assumptions, a noun such as "dog" has the
type <e,t>, which implies that the noun "dog" is a function
that applies to entities.  If some entity is a dog, then
the value of the function "dog" is _true_.  If some entity is
not a dog, then the value of the function "dog" is _false_.

When you take a noun such as "dog" and put a quantifier
such as "a" in front of it, you get the noun phrase "a dog".
Montague assigned the type <<e,t>,t> to noun phrases.  That
means that "a dog" is a function from (functions from entities
to truth values) to truth values.  Any noun phrase, including
proper names such as "Fido" or "John" has the same type.

I am not even going to try to make that sound intuitively
plausible by itself.  But if you puzzle over Montague's paper
long enough, you can begin to manipulate his symbols in the
same way that he did.  You will then have entered the weird
and wonderful world that constituted Montague's mind.  But I
don't recommend that you stay there.

If you really want to understand natural language semantics,
I recommend an equally elegant, but more realistic theory,
namely, conceptual graphs.  See my paper about how to replace
possible worlds with a model theory based on graphs:

   http://www.jfsowa.com/pubs/laws.htm
   Laws, Facts, and Contexts

John Sowa