Saturday, October 24, 2009



Gödel, Escher, Bach: An Eternal Golden Braid (commonly GEB) is a Pulitzer Prize-winning book by Douglas Hofstadter, described as "a metaphorical fugue on minds and machines in the spirit of Lewis Carroll”.

On its surface, GEB examines logician Kurt Gödel, artist M. C. Escher and composer Johann Sebastian Bach, discussing common themes in their work and lives. At a deeper level, the book is a detailed and subtle exposition of concepts fundamental to mathematics, symmetry, and intelligence.

Through illustration and analysis, the book discusses how self-reference and formal rules allow systems to acquire meaning despite being made of "meaningless" elements. It also discusses what it means to communicate, how knowledge can be represented and stored, the methods and limitations of symbolic representation, and even the fundamental notion of "meaning" itself.

In response to confusion over the book´s theme, Hofstadter has emphasized that GEB is not about mathematics, art, and music but rather about how cognition and thinking emerge from well-hidden neurological mechanisms. In the book, he presents an analogy about how the individual neurons of the brain coordinate to create a unified sense of a coherent mind by comparing it to the social organization displayed in a colony of ants.


GEB takes the form of an interweaving of various narratives. The main chapters alternate with dialogues between imaginary characters, inspired by Lewis Carroll's "What the Tortoise Said to Achilles", in which Achilles and the Tortoise discuss a paradox related to modus ponens. Hofstadter bases the other dialogues on this one, introducing characters such as a Crab, a Genie, and others. These narratives frequently dip into self-reference and metafiction.

Word play also features prominently in the work. Puns are occasionally used to connect ideas, such as "the Magnificrab, Indeed" with Bach's Magnificat in D; " SHRDLU, Toy of Man's Designing" with Bach's Jesu, Joy of Man´s Desiring; and "Typographical Number Theory", or "TNT", which inevitably reacts explosively when it attempts to make statements about itself. One Dialogue contains a story about a genie (from the Arabic "Djinn") and various "tonics" (of both the liquid and musical varieties), which is of course entitled "Djinn and Tonic".

One dialogue in the book is written in the form of a crab canon, in which every line before the midpoint corresponds to an identical line past the midpoint. The conversation still makes sense due to uses of common phrases which can be used as either greetings or farewells ("Good day") and the positioning of lines which, upon close inspection, double as an answer to a question in the next line.


GEB contains many instances where objects and ideas speak about or refer back to themselves (cf. recursion and self-reference). For instance, TNT is an illustration of Gödel´s incompleteness theorem. There is also a phonograph which destroys itself by playing a record entitled "I Cannot Be Played on Record Player X" (this being an analogy to Gödel's incompleteness theorem), an examination of canon form in music, and a discussion of Escher's lithograph of two hands drawing each other. To describe such self-referencing objects, Hofstadter coins the term "strange loop", a concept he examines in more depth in his follow-up book I Am a Strange Loop.

To escape many of the logical contradictions brought about by these self-referencing objects, Hofstadter discusses Zen Koans. He attempts to show the reader how to perceive reality outside the normal confines of their own experience and embrace such paradoxical questions by rejecting the premise — a strategy also called “unasking”.

Call stacks are also discussed in GEB, as one dialogue describes the adventures of Achilles and the Tortoise as they make use of "pushing" and "popping" tonics. Entering a picture in a book would count as "pushing", entering a picture in a book within a picture in a book would have caused a double "pushing", and "popping" refers to an exit back to the previous layer of reality. The Tortoise humorously remarks that a friend of his (a weasel) performed a "popping" while in their current state of reality and has never been heard from since; the implied question is, "Did the friend simply cease to exist, or has the friend achieved a higher state of reality?" Also, since the reader is "pushed" into the world of Tortoise and Achilles, would the friend have ascended to the same level of reality in which the readers of GEB reside? Subsequent sections discuss the basic tenets of logic, self-referring statements, ("typeless") systems, and even programming.

One puzzle (in the dialogue "Aria with Diverse Variations") is a speculation concerning an author who writes a book and chooses to end the story without actually stopping the text. That an author cannot make a sudden ending (with regard to the story) come as a surprise, when the fact that there are only a few pages left in the book is obvious to the reader. Such an author might wrap up the main point, and then continue writing, but drop clues to the reader that the end has already passed, such as wandering and unfocused prose, misstatements, or contradictions.


The book is filled with puzzles. An example of this is the chapter entitled "Contracrostipunctus", which combines the words acrostic and contrapunctus (counterpoint). In a dialogue between Achilles and the Tortoise, the author hints that there is a contrapuntal acrostic in the chapter that refers both to the author (Hofstadter) and Bach. This can be found by taking the first word of each paragraph, to reveal: Hofstadter's Contracrostipunctus Acrostically Backwards Spells "J. S. Bach". This is only the acrostic. The counterpoint acrostic is found by taking the first letters of the acrostic (in bold) and reading them backwards to get "J. S. Bach" (as the acrostic itself claims).

Art of fugue(Contrapunctus XIV)


Although Hofstadter claims the idea of translating his book "never crossed [his] mind" when he was writing it, when approached with the idea by his publisher he was "very excited about seeing [the] book in other languages, especially … French". He knew, however, that "there were a million issues to consider" when translating, since the book relies not only on word-play but "structural puns" as well—writing where the form and content of the work mirror each other (such as the "Crab Canon" dialogue, which reads almost exactly the same forwards as backwards).

Hofstadter gives one example of translation trouble in the paragraph "Mr. Tortoise, Meet Madame Tortue", saying translators "instantly ran headlong into the conflict between the feminine gender of the French noun tortue and the masculinity of my character, the Tortoise". Hofstadter decided to translate the French character as "Madame Tortue", and the Italian version as "signorina Tartaruga". Because of other troubles translators might have retaining the meaning of the book, Hofstadter "painstakingly went through every last sentence of GEB, annotating a copy for translators into any language that might be targeted".

Translation also gave Hofstadter a way to add new meaning and puns. For instance, in Chinese, the subtitle is not a translation of an Eternal Golden Braid, but a seemingly unrelated phrase Jí Yì Bì (集异璧, literally "collection of exotic jades") which is homophonic to GEB in Chinese. Some material regarding this interplay is to be found in Hofstadter's later book Le Ton beau de marot, which is mainly about translation.

BlooP and FlooP

BLooP and FLooP are simple programming languages designed by Douglas Hofstadter to illustrate a point in his book Gödel, Escher, Bach. BLooP is a non-Turing-complete programming language whose only control flow structure is a bounded loop. This language can only express primitive recursive functions. FLooP is identical except that it supports unbounded loops; it is a Turing-complete language. These can be regarded as primitive models of computation.

BLooP examples

Note: The only variables are output (the return value of the procedure) and cell(i) (an infinite array of integers). The only operators are ⇐ (assignment), + (addition), × (multiplication), < (less-than), > (greater-than) and = (equals).

Factorial function:

Subtraction function (this is not a built-in operation):

From Wikipedia

No comments:

Post a Comment