# Book Review: Gödel, Escher, Bach


_Gödel, Escher, Bach: an Eternal Golden Braid_ (Douglas Hofstadter, 1979) is a
book that's been sitting on my shelf for years, never quite getting to the top
of my "to read" list because of it's intimidating length and density. On a lark,
I gave the first chapter a read, and got sucked in within the first several
pages. It took me a few months, but I finally completed it; what follows is a
brief review.

Per its title, _Gödel, Escher, Bach_ ("GEB") explores the interrelated ideas of
Kurt Gödel (mathematician), M.C. Escher (artist), and Johann Sebastian Bach
(classical composer). The concept that ties these three together (the "eternal
golden braid") is the notion of _strange loops_ -- self-references or paradoxes
that occur in hierarchical systems. Hofstadter begins with a tour of intuitive
examples of this concept: Bach's canons, M.C. Escher's staircases, and the
classic Epimenides paradox -- "I am lying".

![Ascending and Descending (M.C Escher, 1960)](https://benjamincongdon.me/blog/2021/03/21/Book-Review-Godel-Escher-Bach/ascending-descending.jpg)

The rest of the first half of the book slowly builds up a description of number
theory, culminating in a proof of
[Gödel's Incompleteness Theorem](https://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems),
which shows that formal mathematics _itself_ contains a self-referential
strangeloop. The theorem postulates that it's impossible to have a "complete"
and "consistent" system of number theory: any consistent system will be
incomplete -- that is, there are true statements that cannot be proven by the
system. There's a lot more subtlety to the Incompleteness Theorem, which the
book expends >100 pages to explain, so I won't try to do that here!

The second half of the book goes on to explore the implications of this finding,
especially as it applies to Artificial Intelligence, biology, symbolic
reasoning, computer science, and philosophy of mind.

_Gödel, Escher, Bach_ is structured in an unconventional format: each
conventional chapter is followed by a fictional dialogue between a handful of
recurring characters. The dialogues foreshadow or embody a concept on an
allegorical level that the following chapter explores at object level.
Sometimes, the structure of the dialogue itself is the "message" -- one such
example is a dialogue that is structured like a fugue -- and other times the
dialogue obliquely describes a concept -- such as the use of a "universal record
player" to explore the concepts of self-reference and formal undecidability.

For such an ostensibly dense book, it contains a lot of whimsy! Along with dry,
formal sounding things like "propositional calculus" and "typographical number
theory", there's equal weight placed in witty explorations of Zen
[Kōans](https://en.wikipedia.org/wiki/Koan), clever ideas like "MetaGenies", and
quines ("'is a sentence fragment' is a sentence fragment").

Most of the book has aged remarkably well. Unfortunately, the last third
contains some fairly significant missed predictions which distract from an
otherwise interesting philosophical exploration of AI an computation. Most
notably, the author repeatedly emphasizes that a chess program would not be able
to beat a human player until we have something approaching artificial general
intelligence.

Similarly, the sections of the book about AI are interesting, but they feel
dated to a reader in 2021. The book (understandably) explores symbolic AI
approaches, since they map rather cleanly onto the discussion of formal systems.
Since publication, non-symbolic AI has gained in popularity, and (to my
untrained eye) it's these non-symbolic approaches that seem to be the path that
most of the AI field is pursuing. As such, many of the predictions about AI that
the author makes fall flat.

The first half of the book is self-contained enough that if you're not
interested in the latter half, you don't miss much. It's an exciting build-up of
a proof of Gödel's incompleteness theorem: starting with an introduction of
formal systems, transitioning to an explanation of number theory and
propositional logic, and ending with an intuitive proof of the incompleteness
theorem.

I found the sections on number theory relatively easy to follow. I also was able
to follow the description of Gödel's incompleteness theorem, though I'd already
been introduced to it before. For a more concise explanation of Gödel's theorem
(which I'd recommend reading before GEB), I highly recommend this Quanta
article:
[How Gödel's Proof Works](https://www.quantamagazine.org/how-gödels-incompleteness-theorems-work-20200714/).

Upon reflection, I thought it was apt that the 3 people mentioned in the title
are ordered as they are: first Gödel, then Escher, and finally Bach. The core of
the book is about formal systems and reasoning about symbols, which is firmly in
the "Gödel domain". Escher's works are often brought in as a visual metaphor of
some of these concepts -- recursion, self-reference, etc. Bach's work is
understandably more difficult to discuss in text, so he's often discussed more
rarely, and often obliquely -- with respect to the _structural_ components of
music, not it's aesthetics or auditory mechanics.

![Swans (M.C Escher, 1956)](https://benjamincongdon.me/blog/2021/03/21/Book-Review-Godel-Escher-Bach/swans.jpg)

To conclude, I really enjoyed reading GEB. I'd recommend it to folks interested
in mathematics, computer science, and logic. It's not an in-depth guide to any
of these fields in particular, but it does explore their intersection in a novel
way. It helps to have familiarity with these concepts before reading -- even
with a fairly strong background knowledge, it still took me a few months to get
through the whole book. GEB is not (necessarily) the "mind blowing" text that
people online proclaim it to be, but it's still a thoroughly enjoyable read,
written by someone who has a clear gift for conveying the excitement of thinking
about the world through the lens of mathematics.

## Interesting Concepts

-   Isomorphism
    -   > The word "isomorphism' applies when two complex structures can be
        > mapped onto each other, in such a way that to each part of one
        > structure there is a corresponding part in the other structure, where
        > "corresponding" means that the two part play similar roles in their
        > respective structures. (pg. 57)
    -   The concept that allows us to use formal symbolic systems as a map to
        reason about the world -- because there is an information conserving
        relationship that maps symbols and relationships from one system onto
        another.
-   Holism vs. Reductionism:
    -   Holism: Systems should be viewed as wholes, not as a collection of
        parts. Viewpoints are commonly in the form of "the whole is greater than
        the sum of its parts"
    -   Reductionism: Systems should be viewed as being made up of distinct
        components.
-   Procedural vs declarative knowledge:
    -   Declarative knowledge can be _stored explicitly_, as if in an
        encyclopedia.
    -   Procedural knowledge is encoded as a program, or algorithm.
-   [Malaphor](https://en.wiktionary.org/wiki/malaphor)
    -   A misuse of an idiom or figure-of-speech, often by incorrectly mixing
        metaphors.
    -   Example: "barking up the wrong alley"
-   Literary [Quines](<https://en.wikipedia.org/wiki/Quine_(computing)>).
    Examples:
    -   "'Is a sentence fragment' is a sentence fragment"
    -   "'Yields falsehood when preceded by its quotation' yields falsehood when
        preceded by its quotation"
-   [Grelling's Paradox](https://en.wikipedia.org/wiki/Grelling%E2%80%93Nelson_paradox):
    A word that is self-describing if and only if it is not self-describing.

## Quotes

-   "Recursion is based on the "same" thing happening on several different
    levels at once" (pg. 148)
-   **[Hofstadter's law](https://en.wikipedia.org/wiki/Hofstadter%27s_law):**
    "It always takes longer than you expect, even when you take into account
    Hofstadter's law"
-   **[Tesler's theorem](https://en.wikipedia.org/wiki/AI_effect)**: "AI is
    whatever hasn't been done yet"
-   "Intelligence loves patterns and balks at randomness" (pg. 175)
-   "Typographical rules for manipulating numerals are actually arithmetic rules
    for operating on numbers" (pg. 264)
    -   Implication: Any formal system can by expressed in terms of number
        theory.
-   "[T]here is no such thing as an in coded message. There are only messages
    written in more familiar codes and messages written in less familiar codes"
    (pg. 267)
-   "it is the nature of any formalization of number theory that it's meta
    language is embedded within it" (pg. 270)
-   "[E]ach message appears to be random until we establish a code to read it"
    (pg. 416)
-   "The brain is rational; the mind may not be." (pg. 572)
-   > Question: Will there be chess programs that can beat anyone?
    >
    > Speculation: No. There may be programs which can beat anyone at chess, but
    > they will not be exclusively chess players. They will be programs of
    > general intelligence, and they will be just as temperamental as people.
    > (pg. 675)
-   > Question: Could you "tune" an Al program to act like me, or like you-or
    > halfway between us?
    >
    > Speculation: No. An intelligent program will not be chameleon-like, any
    > more than people are. ,It will rely on the constancy of its memories, and
    > will not be able to flit between personalities. The idea of changing
    > internal parameters to "tune to a new personality" reveals a ridiculous
    > underestimation of the complexity of personality. (pg. 676)

_Cover Photo: [Unsplash](https://unsplash.com/photos/MJcb7ZhNeUA)_

