X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=week2.mdwn;h=31eef33eb8e8d9031616df970e907bdb7046801d;hp=ac2a7c32f775365eb6233c35c327363153b733f8;hb=d82bf259b0b28a7d2679c8837e00a12478e377c4;hpb=a9e5201a0fefa3602e5d3477bd2d9670aee40515 diff --git a/week2.mdwn b/week2.mdwn index ac2a7c32..31eef33e 100644 --- a/week2.mdwn +++ b/week2.mdwn @@ -39,7 +39,7 @@ Lambda expressions that have no free variables are known as **combinators**. Her > **get-second** was our function for extracting the second element of an ordered pair: `\fst snd. snd`. Compare this to our definition of **false**. -> **ω** is defined to be: `\x. x x (\x. x x)` +> **ω** is defined to be: `\x. x x` It's possible to build a logical system equally powerful as the lambda calculus (and readily intertranslatable with it) using just combinators, considered as atomic operations. Such a language doesn't have any variables in it: not just no free variables, but no variables at all. @@ -58,8 +58,12 @@ combinators: For instance, Szabolcsi argues that reflexive pronouns are argument duplicators. +![test](http://lambda.jimpryor.net/szabolcsi-reflexive.jpg) + +Notice that the semantic value of *himself* is exactly W. +The reflexive pronoun in direct object position combines first with the transitive verb (through compositional magic we won't go into here). The result is an intransitive verb phrase that takes a subject argument, duplicates that argument, and feeds the two copies to the transitive verb meaning. + -![Szabolcsi's analysis of *himself* as the duplicator combinator](szabolcsi-reflexive.png) These systems are Turing complete. In other words: every computation we know how to describe can be represented in a logical system consisting of only a single primitive operation!