A Geek's Guide to the Beauty of Numbers, Logic, and Computation
by Mark C. Chu-Carroll
Mathematics is beautiful—and it can be fun and exciting as well as
practical. Good Math is your guide to some of the most intriguing
topics from two thousand years of mathematics: from Egyptian fractions
to Turing machines; from the real meaning of numbers to proof trees,
group symmetry, and mechanical computation. If you’ve ever wondered what
lay beyond the proofs you struggled to complete in high school geometry,
or what limits the capabilities of the computer on your desk, this is
the book for you.
Why do Roman numerals persist? How do we know that some infinities are
larger than others? And how can we know for certain a program will ever
finish? In this fast-paced tour of modern and not-so-modern math,
computer scientist Mark Chu-Carroll explores some of the greatest
breakthroughs and disappointments of more than two thousand years of
mathematical thought. There is joy and beauty in mathematics, and in
more than two dozen essays drawn from his popular “Good Math” blog,
you’ll find concepts, proofs, and examples that are often surprising,
counterintuitive, or just plain weird.
Mark begins his journey with the basics of numbers, with an entertaining
trip through the integers and the natural, rational, irrational, and
transcendental numbers. The voyage continues with a look at some of the
oddest numbers in mathematics, including zero, the golden ratio,
imaginary numbers, Roman numerals, and Egyptian and continuing
fractions. After a deep dive into modern logic, including an
introduction to linear logic and the logic-savvy Prolog language, the
trip concludes with a tour of modern set theory and the advances and
paradoxes of modern mechanical computing.
If your high school or college math courses left you grasping for the
inner meaning behind the numbers, Mark’s book will both entertain and
What You Need
No special equipment or software is required. Although the book contains
brief code examples, they can all be run with open source software on
any up-to-date Apple, Windows, or Linux computer.
- P1.0 2013/08/08
- B7.0 2013/06/06
- B6.0 2013/05/05
- B5.0 2013/04/04
- Natural Numbers
- The Naturals, Axiomatically Speaking
- Using Peano Induction
- What’s an Integer?
- Constructing the Integers—Naturally
- Real Numbers
- The Reals, Informally
- The Reals, Axiomatically
- The Reals, Constructively
- Irrational and Transcendental Numbers
- Funny Numbers
- The History of Zero
- An Annoyingly Difficult Number
- e: The Unnatural Natural Number
- The Number That’s Everywhere
- Does e Have a Meaning?
- The Golden Ratio
- What Is the Golden Ratio?
- Legendary Nonsense
- Where it Really Lives
- i: The Imaginary Number
- The Origin of i
- What i Does
- What i Means
- Writing Numbers
- Roman Numerals
- A Positional System
- Where Did This Mess Come From?
- Arithmetic is Easy (But an Abacus is Easier)
- Blame Tradition
- Egyptian Fractions
- A 4000-Year Old Math Exam
- Fibonacci’s Greedy Algorithm
- Sometimes Aesthetics Trumps Practicality
- Continued Fractions
- Continued Fractions
- Cleaner, Clearer and Just Plain Fun
- Doing Arithmetic
- Mr. Spock is Not Logical
- What is Logic, Really?
- FOPL, Logically
- Show Me Something New!
- Proofs, Truth, and Trees: Oh My!
- Building a Simple Proof with a Tree
- A Proof From Nothing
- All in the Family
- Branching Proofs
- Programming with Logic
- Computing Family Relationships
- Computation with Logic
- Temporal Reasoning
- Statements that Change with Time
- What’s CTL good for?
- Cantor’s Diagonalization: Infinity Isn’t Just
- Sets, Naively
- Cantor’s Diagonalization
- Don’t Keep it Simple Stupid
- Axiomatic Set Theory: Keep the Good, Dump the Bad
- The Axioms of ZFC Set Theory
- The Insanity of Choice
- Models: Using Sets as the Legos of the Math World
- Building Natural Numbers
- Models from Models: From Naturals to Integers and Beyond!
- Transfinite Numbers: Counting and Ordering Infinite Sets
- Introducing the Transfinite Cardinals
- The Continuum Hypothesis
- Where in Infinity?
- Group Theory: Finding Symmetries with Sets
- Puzzling Symmetry
- Different Kinds of Symmetry
- Stepping into History
- The Roots of Symmetry
- Mechanical Math
- Finite State Machines: Simplicity Goes Far
- The Simplest Machine
- Finite State Machines Get Real
- Bridging the Gap: From Regular Expressions to Machines
- The Turing Machine
- Adding a Tape Makes All the Difference
- Going Meta: The Machine That Imitates Machines
- Pathology and the Heart of Computing
- Introducing BF: the Great, the Glorious, the Completely
- Turing Complete, or Completely Pointless?
- From the Sublime to the Ridiculous
- Calculus. No, Not That Calculus: λ Calculus
- Writing λ-Calculus: It’s Almost Programming!
- Evaluation: Run It!
- Programming Languages and Lambda Strategies
- Numbers, Booleans, and Recursion
- But Is It Turing Complete?
- Numbers That Compute Themselves
- Decisions? Back to Church
- Recursion: Y Oh Y Oh Y?
- Types, Types, Types! Modeling λ Calculus
- Playing to Type
- Prove it!
- What’s It Good For?
- The Halting Problem
- A Brilliant Failure
- To Halt, or Not To Halt?
Mark Chu-Carroll is a PhD computer scientist and professional
software engineer. His professional interests include collaborative
software development, programming languages and tools, and how to
improve the daily lives of software developers. Aside from general
geekery and blogging, he plays classical music on the clarinet,
traditional Irish music on the wooden flute, and folds elaborate
structures out of paper.