Wednesday, April 29, 2009

Faulty Logic

Let's face it: logic isn't very convincing. There are all kinds of reasons for this. At least one is linguistic: one can employ abstruse language in logical arguments, and it's a conversational turn off. Another is social: often, people who wield logic in conversation do so with about as much finesse as a two-year-old with a stick. But leaving aside the practical constraints, an interesting question remains:
How effective is logic?
For some purposes, there is no suitable replacement. I'm a programmer, and if I couldn't rely on logic for control flow in software, I wouldn't get very far with if-then-else statements. Likewise building circuits- in fact, Claude Shannon demonstrated way back in 1937 that digital circuits and Boolean logic are equivalent.

As a programmer, I'm also aware of limitations. After fifteen years writing code, I'm still painfully prone to writing bad control flow statements (in software, we call them "bugs"). When I'm writing code, this results in hours of debugging; unfortunately, in conversation, people are rarely willing to spend hours debugging sentences. If they are willing, we tend to call them "philosophers" and keep them far away in University, writing books for the rest of us to blog about.

Logic is prone to bugs that are difficult to find, even when the user attempts to encode statements correctly. When it's wielded maliciously, it's even worse. It's perfectly easy to obfuscate the intent of code, and consequently, of logic.

This is all before we come to an important internal flaw of logical systems, which is that they only come in three varieties:
  1. Incomplete logical systems.
  2. Contradictory logical systems.
  3. Excessively weak logical systems.
If you're going to employ logic, you're either going to use a system that is incomplete (i.e. there are statements which cannot be proven true or false using the system), or one that contradicts itself (i.e. you can prove both the truth and the falsehood of some statement), or one in which you can do nearly nothing.

Huh?

Yeah, sadly this is true. Consider it a bug in existence. Any system of rules either leaves out important cases, or contradicts itself, or is so facile as to be largely useless [1]. Luckily for all of us, it doesn't really matter. Logic is a clever hack, which seems to work most the time.

But it does mean that when you "prove" something to me using logic, I'm going to take it with a grain of salt. Even if you've employed logic correctly, I'd have to spend quite a lot of effort to determine whether the logical system you've employed is consistent, and after I did that, I'd have to give up, since self-consistency is one of the things that a system of rules can't prove.

Ouch!

[1] http://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems





<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]