A couple years ago I sat down, with great expectation, to read David Berlinski's _The Advent of the Algorithm_. Long story short, it was a frustrating and disappointing experience. I couldn't decide if the book was just bad, or if I just didn't get it.

Recently I picked it back up. I pinpointed where my frustration started, page 10. I didn't get it, and was lost from there on. Berlinski starts his story about the origins of the idea of the algorithm, with Leibniz and his work in logic. According to Berlinski, very little had happened in formal logic since Aristotle and his syllogisms. With the syllogism, Aristotle codified inference.

- All men are mortal
- Socrates is a man
- Therefore, (I can infer that) Socrates is mortal

The nagging question is, what really happens in my mind when I infer. How do you describe that procedure in a way that doesn't rely on an intuitive human understanding? I gather from the book that Leibniz pondered this and ended up describing it with algebraic logic. Berlinski then gives an example. The example never made sense to me. I won't incude it here. I'm sure its correct, it just never clicked for me, no matter how much I looked at it. This was driving me nuts, until I went looking for an alternative that I could grok. I found one which I will steal from the wikipedia article, First-order logic. ∀

*x* φ(

*x*) means that φ(

*a*) is true for any value of

*a*.

- ∀ x (Man(
*x*) → Mortal(*x*)) - Man(Socrates)
- ∴ Mortal(Socrates)

This makes it clear to me that the inferential step is substitution.

That, of course, is what Berlinski's example in the book shows, only I couldn' t follow it. The reason it is important is that it means inference can be achieved with a mechanical procedure of substitution.