
Gödel Without (Too Many) Tears - ColinWright
http://www.logicmatters.net/igt/further-notes/godel-without-tears/
======
dmunoz
Let me provide a bit more information, including recent developments, on Gödel
Without (Too Many) Tears (GWT), instead of having the entire comment thread
about Gödel, Escher, Bach (a book for which Hofstadter had to write a second
book, I Am a Strange Loop, to ground).

The author, Peter Smith. has a wonderful blog on topics in Logic at [0]. He is
planning on releasing a series of posts that will become GWT2, but his most
recent post [1] explain why this has been delayed. He is also the author of a
textbook on Introduction to Gödel’s Theorems [2], of which GWT is a
compression. A second edition of Introduction to Gödel’s Theorems was recently
released. He also has a fantastic resource, Teach Yourself Logic Guide [3],
which is a collection of pointers of resources to teach yourself properly
mathematical logic. He has plenty of other helpful resources that I won't
directly point out, except to look under the heading Explore all this site on
the front of his blog, along with the individual posts of course.

[0]
[http://www.logicmatters.net/blogfront/](http://www.logicmatters.net/blogfront/)

[1] [http://www.logicmatters.net/2013/09/gwt-and-tyl-on-
hold/](http://www.logicmatters.net/2013/09/gwt-and-tyl-on-hold/)

[2] [http://www.logicmatters.net/igt/](http://www.logicmatters.net/igt/)

[3] [http://www.logicmatters.net/2013/08/tyl-17-the-teach-
yoursel...](http://www.logicmatters.net/2013/08/tyl-17-the-teach-yourself-
logic-guide-updated/)

~~~
kriro
Thanks. This looks like some interesting reading material. I have included an
untitled chapter that is a mixed bag of philosophical issues etc. in my AI
lecture (as a follow up to the chapters on propositional calculus and first
order logic) and am always on the lookout for simpler ways to explain things.

Currently it's Kantor->Gödel(+ some historical background on Hilbert
program/Principia etc.)->Turing(halting problem as it relates to the
incompleteness theorems)->Cohen on the math front (+Chaitin numbers and some
other random ideas)

------
breckinloggins
Mandatory recommendation for _Gödel, Escher, Bach: An Eternal Golden Braid_
[1] by Douglas Hofstadter.

Now I know most HNers are no stranger to this book, but if you haven't read it
I encourage you to pick up a copy. A lot of people will say that it "changed
the way they think about everything" without going into much more detail, so
I'll just tell you how it did so for me. I've always been an analytical
thinker, but the most useful thing this book did for me was teach me how to
think _mathematically_. It showed me there was immense beauty in mathematical
thought.

[1]
[http://en.wikipedia.org/wiki/G%C3%B6del,_Escher,_Bach](http://en.wikipedia.org/wiki/G%C3%B6del,_Escher,_Bach)

~~~
eli_gottlieb
Is it really that great? I started reading it when in college, got tired of
lugging a huge dead-tree book around in my bag, and eventually just sort of
put it down. Maybe I didn't get far enough in to hit the parts that would be
interesting to someone who's already long-since done basic programming and
math?

~~~
breckinloggins
It's probably not that earth-shattering if you already have an appreciation
for the beauty of mathematical patterns and thought, but if you're a 19 year
old college kid like I was who thought he hated math, it will definitely cause
you to rethink your position.

Keith Devlin's popular mathematics works also have much the same appeal.

------
Tycho
What I don't get about Goedel's Incompleteness Theorem is why it's considered
a problem in the general sense. It shows that in any formal system (of
sufficient power etc. etc.) you can produce a Goedel number which cannot be
interpreted via the system as both provable _and_ true at the same time. So in
the strictest sense the system cannot be complete... but have we shown that it
is missing anything _except_ these incredibly tortuous, specific Goedel
numbers? Isn't it a bit of a dead end?

(happy to be corrected on this)

~~~
jerf
It's easier to answer that question about the Halting Problem, so here's Scott
Aaronson proving it as a corollary to the Halting Problem:
[http://www.scottaaronson.com/blog/?p=710](http://www.scottaaronson.com/blog/?p=710)

Then, defending the value of the Halting Problem as a real problem is easy,
relatively generally through Rice's Theorem:
[http://en.wikipedia.org/wiki/Rice%27s_theorem](http://en.wikipedia.org/wiki/Rice%27s_theorem)

In colloquial terms, one can render Rice's Theorem as "Would you like to
produce a program that can prove anything remotely interesting across the set
of all possible inputs? TOO BAD!" That's glib, but less inaccurate than we'd
like.

Godel's theorem is, as Scott said, really sort of ad hoc and hard to easily
apply in your head the way you're asking about. The Halting Problem, on the
other hand, turns up everywhere, in real life (though many people still often
don't realize it).

~~~
PeterisP
My personal pet peeve is the Halting problem - yes, we can't prove interesting
things for 'set of all possible inputs'.

However, my [unverified] gut feeling is that we can prove halting/nonhalting
(via static analysis and restricting types of code that are allowed) for the
large class of things that we actually use (or should use) in practice and
vice versa - we should push the convoluted cases (where analysis isn't
possible) away from practical usage, since if a well-designed computer system
can't reason about them, then likely the programmer can't as well and that
part is buggy in some corner case.

I.e., if your webservice isn't provably halting, guaranteeing a return value
within a (short) bounded time - then it's too complex and is 99.9% likely to
have a security flaw that allows denial of service or execution of arbitrary
code in which case, naturally, you can't reason about it as the halting
theorem proves.

We don't even need to know a "proper" answer to the halting question -
guaranteed to finish under X steps/whatever: okay; not guaranteed (maybe
halting in X+1 steps): suspect/bad. That would be good enough for practical
purposes in most systems.

~~~
ElectroPrime
Keep in mind that real world computers just have a very large (but not
unbounded) amount of tape. Since they have constant space, they are really
just DFAs.

~~~
jronkone
Does taking input from the outside (e.g. internet) change this?

------
KVFinn
I've read through Godel Escher Bach, and I loved it, but I never really felt
like I had a handle on Incompleteness theorem.

Scott Aaronson had a throwaway 2 line 'proof' (not technically) of the theorem
that intuitively clicked for me:

>First, though, let's see how the Incompleteness Theorem is proved. People
always say, "the proof of the Incompleteness Theorem was a technical tour de
force, it took 30 pages, it requires an elaborate construction involving prime
numbers," etc. Unbelievably, 80 years after Gödel, that's still how the proof
is presented in math classes!

>Alright, should I let you in on a secret? The proof of the Incompleteness
Theorem is about two lines. The caveat is that, to give the two-line proof,
you first need the concept of a computer.

>When I was in junior high, I had a friend who was really good at math, but
maybe not so good at programming. He wanted to write a program using arrays,
but he didn't know what an array was. So what did he do? He associated each
element of the array with a unique prime number, then he multiplied them all
together; then, whenever he wanted to read something out of the array, he
factored the product. (If he was programming a quantum computer, maybe that
wouldn't be quite so bad!) Anyway, what my friend did, that's basically what
Gödel did. He made up an elaborate hack in order to program without
programming.

The rest here:
[http://www.scottaaronson.com/democritus/lec3.html](http://www.scottaaronson.com/democritus/lec3.html)

