------------------------------------------
-
-Church figured out how to encode integers and arithmetic operations
-using lambda terms. Here are the basics:
-
-0 = \f\x.fx
-1 = \f\x.f(fx)
-2 = \f\x.f(f(fx))
-3 = \f\x.f(f(f(fx)))
-...
-
-Adding two integers involves applying a special function + such that
-(+ 1) 2 = 3. Here is a term that works for +:
-
-+ = \m\n\f\x.m(f((n f) x))
-
-So (+ 0) 0 =
-(((\m\n\f\x.m(f((n f) x))) ;+
- \f\x.fx) ;0
- \f\x.fx) ;0
-
-~~>_beta targeting m for beta conversion
-
-((\n\f\x.[\f\x.fx](f((n f) x)))
- \f\x.fx)
-
-\f\x.[\f\x.fx](f(([\f\x.fx] f) x))
-
-\f\x.[\f\x.fx](f(fx))
-
-\f\x.\x.[f(fx)]x
-
-\f\x.f(fx)
-
-
-
-----------------------------------------------------
-
-A concrete example: "damn" side effects
-
-1. Sentences have truth conditions.
-2. If "John read the book" is true, then
- John read something,
- Someone read the book,
- John did something to the book,
- etc.
-3. If "John read the damn book",
- all the same entailments follow.
- To a first approximation, "damn" does not affect at-issue truth
- conditions.
-4. "Damn" does contribute information about the attitude of the speaker
- towards some aspect of the situation described by the sentence.
-
-
-
------------------------------------------
-Old notes, no longer operative:
-
-1. Theoretical computer science is beautiful.
-
- Google search for "anagram": Did you mean "nag a ram"?
- Google search for "recursion": Did you mean "recursion"?
-
- Y = \f.(\x.f (x x)) (\x.f (x x))
-
-
-1. Understanding the meaning(use) of programming languages
- helps understanding the meaning(use) of natural langauges
-
- 1. Richard Montague. 1970. Universal Grammar. _Theoria_ 34:375--98.
- "There is in my opinion no important theoretical difference
- between natural languages and the artificial languages of
- logicians; indeed, I consider it possible to comprehend the
- syntax and semantics of both kinds of languages within a
- single natural and mathematically precise theory."
-
- 2. Similarities:
-
- Function/argument structure:
- f(x)
- kill(it)
- pronominal binding:
- x := x + 1
- John is his own worst enemy
- Quantification:
- foreach x in [1..10] print x
- Print every number from 1 to 10
-
- 3. Possible differences:
-
- Parentheses:
- 3 * (4 + 7)
- ?It was four plus seven that John computed 3 multiplied by
- (compare: John computed 3 multiplied by four plus seven)
- Ambiguity:
- 3 * 4 + 7
- Time flies like and arrow, fruit flies like a banana.
- Vagueness:
- 3 * 4
- A cloud near the mountain
- Unbounded numbers of distinct pronouns:
- f(x1) + f(x2) + f(x3) + ...
- He saw her put it in ...
- [In ASL, dividing up the signing space...]
-
-
-2. Standard methods in linguistics are limited.
-
- 1. First-order predicate calculus
-
- Invented for reasoning about mathematics (Frege's quantification)
-
- Alethic, order insensitive: phi & psi == psi & phi
- But: John left and Mary left too /= Mary left too and John left
-
- 2. Simply-typed lambda calculus
-
- Can't express the Y combinator
-
-
-3. Meaning is computation.
-
- 1. Semantics is programming
-
- 2. Good programming is good semantics
-
- 1. Example
-
- 1. Programming technique
-
- Exceptions
- throw (raise)
- catch (handle)
-
- 2. Application to linguistics
- presupposition
- expressives
-
- Develop application:
- fn application
- divide by zero
- test and repair
- raise and handle
-
- fn application
- presupposition failure
- build into meaning of innocent predicates?
- expressives
- throw
- handle
- resume computation
-