Everyone has their own way of stumbling through to a breakthrough, where suddenly things that had been confusing and complex suddenly seem clear, beautiful, and intuitive.<p>Here are a couple of thoughts on Godel's incompleteness theorem that helped me get there.<p>First, a description of the idea; consider the following two statements:<p>"There exists a formula with Godel number M that has the property that neither the formula nor its negation has a proof."<p>"Oh, by the way. The Godel number of the above formula is M."<p>"M" in the above is an actual number. In the first statement, one has an arithmetic expression (i.e., "3 + 4*5 + 12^100000 + ...") that is short but that evaluates to a really large number.<p>After developing the idea of mapping formulas and proofs of first-order logic to integers, Godel needed to use his new tool to come up with some way to express self reference. (The formula above has to have an embedded arithmetic expression "M" that unwraps and and evaluates to the Godel number of the entire formula.)<p>Godel devised what we would today recognize as exactly the Y combinator, expressed in first order arithmetic.<p>This was a shocking realization when it dawned on me, and it enabled me to gain an insight to the magnificent subtlety of Godel's mind.<p>I am personally comfortable with lisp, functions as first-class objects, lambda calculus, etc., as is certainly the case for many Hacker News readers.<p>So, at least for me, the above connection helped an awful lot to really understand the heart of Godel's insight.