small medium large xlarge

Good Math: A Geek's Guide to the Beauty of Numbers, Logic, and Computation


Cover image for Good Math

Good Math


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.

Choose Your Format(s)

  • $44.00 In Stock

    Save $14.00 on the combo pack.

  • $34.00 In Stock
  • $24.00 In Stock
  • Ebooks are DRM free.

  • Ebook delivery options.

About this Title

Pages: 282
Published: 2013-07-15
Release: P1.0 (2013-08-07)
ISBN: 978-1-93778-533-8

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 enlighten you.

Read the reviews .

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.

Contents & Extracts

  • Preface
  • Numbers
    • Natural Numbers
      • The Naturals, Axiomatically Speaking
      • Using Peano Induction
    • Integers
      • 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
    • Zero
      • The History of Zero
      • An Annoyingly Difficult Number
    • e: The Unnatural Natural Number
      • The Number That’s Everywhere
      • History
      • 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
  • Logic
    • 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?
  • Sets
    • Cantor’s Diagonalization: Infinity Isn’t Just Infinity
      • 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
      • Why?
    • 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 Silly
      • 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.