projects
/
lambda.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
edits
[lambda.git]
/
week4.mdwn
diff --git
a/week4.mdwn
b/week4.mdwn
index
10ab8b9
..
8d89a5a
100644
(file)
--- a/
week4.mdwn
+++ b/
week4.mdwn
@@
-1,5
+1,7
@@
[[!toc]]
[[!toc]]
+#These notes return to the topic of fixed point combiantors for one more return to the topic of fixed point combinators#
+
Q: How do you know that every term in the untyped lambda calculus has
a fixed point?
Q: How do you know that every term in the untyped lambda calculus has
a fixed point?
@@
-7,9
+9,14
@@
A: That's easy: let `T` be an arbitrary term in the lambda calculus. If
`T` has a fixed point, then there exists some `X` such that `X <~~>
TX` (that's what it means to *have* a fixed point).
`T` has a fixed point, then there exists some `X` such that `X <~~>
TX` (that's what it means to *have* a fixed point).
- let W = \x.T(xx) in
- let X = WW in
- X = WW = (\x.T(xx))W = T(WW) = TX
+<pre>
+let W = \x.T(xx) in
+let X = WW in
+X = WW = (\x.T(xx))W = T(WW) = TX
+</pre>
+
+Please slow down and make sure that you understand what justified each
+of the equalities in the last line.
Q: How do you know that for any term T, YT is a fixed point of T?
Q: How do you know that for any term T, YT is a fixed point of T?