Next week it’s back to the classroom for me, and I’m teaching intro logic again. I’ve been thinking a bit about what to do on the first day, especially in the “why you should take this course” department. There’s the obvious reason: it’s required (at least for philosophy and CS majors). So I’m really talking about “why you should want to take this course”. And here, the textbooks usually don’t do such a good job. First there’s the “you’ll learn how to think correctly and identify logical errors” line. The examples there are usually a valid and an invalid syllogism, examples that I suspect anyone with any chance getting a decent grade in the class can already identify as good and bad instances of reasoning. Second, there’s the “important applications in logical circuit design” story. But, honestly, any logic design course can cover the logic they need for combinational circuits in a week. Third, there’s the “taking this course will train your analytic and abstract thinking skills”. Ok, maybe, but that’s not really a good selling point.
So I’m looking for concrete, real-life examples where some of the things that you learn in a formal logic class are useful: examples that are relatively easy to describe, where it’s obvious that these are “really relevant” to whatever discipline they’re taken from, and where you can reasonably claim that you need to be able to deal with a formal language, understand relations and multiple quantification, or use logical methods like formal proofs or model-building techniques to avoid errors or solve a problem.
One of the examples I think I’ll use is SNOMED CT. That’s a health-care terminology database (aka an “ontology”) with over 300,000 concepts organized by over 1,000,000 rules. These rules could be formulated in a fragment of first-order logic (some description logic suffices, I’m not sure which). One example I’ve seen mentioned here is this: In SNOMED CT, an leg amputation is defined as a procedure with method amputation and procedure-site-direct lower limb structure; and a toe amputation as a procedure with method amputation and procedure- site-direct toe structure. Now SNOMED CT also knows that the toe is a part of the lower limb, so that if a procedure happens in the toe, it eo ipso happens in the lower limb. Therefore, a toe amputation is also a leg amputation. But of course you wouldn’t want a surgeon to take off your entire leg if you have a gangrened toe! On the other hand, if you have a pain in your temple, then since the temple is part of the head, you have a headache, and you do want SNOMED to know that. So here you need all kinds of logic: you need a formal language in which to express these concepts and relations, it needs to be expressive enough so that you can express everything you want to express, you need logical methods to tell you a) what follows from SNOMED (queries), b) wether SNOMED is consistent, c) where the errors are and how to remove them. (I learned about SNOMED CT from Frank Wolter’s talk at the Logic Colloquium, “Mathematical logic for life science technologies“.)
Of course, all of this is just a particular case of the various important applications of logic in AI and databases, but I thought it was a nice example that wasn’t just a toy database. Also, I like the “mistakes that logic helps avoid or correct” flavor.
I’d also like examples like that from philosophy and mathematics. For mathematics I was thinking of talking about Cauchy’s “erroneous” proof of the uniform convergence theorem, and pointing out the importance of the order of quantifiers. That has the problem that (as we know from Lakatos) Cauchy didn’t really overlook the necessary requirement of uniform convergence, and also it might be a bit too difficult (to explain in a short amount of time). For philosophy, I thought of maybe using Skorupski’s argument for the principle of moral categoricity from Ethical Explorations, which I found in a post by Doug Portmore on PEA Soup. I like it because it’s simple, and recent, and from ethics, which is often considered by students to be next to the opposite of logic( as far as courses are concerned).
Do you have other ideas? Better ideas? Ideas applying in other disciplines?
I think it would be nice to have an example where a famous mathematician or philosopher committed a more-or-less elementary logical error that can be diagnosed or avoided by formalization.