So Matt Teichman was kind enough to post a primer on basic logic, showing with syllogisms how informal logical inference was turned into formal notation by Frege and thus predicate calculus was born. There is a wealth of stuff to learn about the predicate calculus and many serious logicians (as well as frustrated mathematicians) have developed and extended systems in a number of different ways.
One of the things that was interesting about developments before and around the time we were in grad school was how people got wrapped around the axle on the implications of formalism for 'the real world'. Mark pointed this out in his post about 'The True' and we discussed it when talking about Frege: what kind of object was Truth in his ontology and why didn't he seem to care that much?
What happened in the 20th century was that you had people that continued with the formal endeavor without regard to ontology, metaphysics and epistemology. You also had people that would call out the 'philosophical' consequences of formal systems, which some of the formalists cared about and some didn't. Then you had people like David Lewis who thought that the fact that we could create formal systems implied that the corresponding ontologies must exist. Witness the birth of possible world semantics!
So how did it get to that? Basically, predicate calculus requires you to abstract from the concrete thing being spoken of and make a 'predicate' or property of whatever identifies it. So focusing on an object:
A person -> a thing that is a person ->an x that is a person -> an x that has the property of 'personness' ->Person(x)
So "Person(x)" means something like 'an x that has the property of 'personness' (or 'being a person'). It's called Predicate Calculus because we are predicating of x that it is a person. This notation of Predicate(x) is pretty common. When the predicate is abbreviated to a letter like P, often the parenthesis are left off, e.g. Px.
So let's return to Matt, who left his exposition at the formal representation of a syllogism. Let's look at his formalism of the first assertion:
All people drink water = ∀x(Person(x) –> DrinksWater(x))
We know that 'Person(x)' means 'x is a person' and 'DrinksWater(x)' means 'x drinks water'. What we need to understand is the the upside down "A" - ∀ and the arrow "->". Here's the deal:
- The ∀ represents "All...". Often when we speak of propositions, we will say 'For all...'
- The -> means 'if...then...'. That is, whatever comes before the -> is the 'if...' part and what comes after is the 'then...' part. E.g. 'a -> b' = 'if a then b'. An 'if...then...' statement is called a conditional statement.
So one way to read the right half of Matt's equation is 'For all x's, if x is a person then x drinks water.' What we are really saying with the proposition is that it is true that if x is a person, then x drinks water. The truth of the assertion is expressed indirectly in the "For all x's" part. We are basically saying that it's true for every x, therefore it must be true for any particular x.
Note that what we are asserting with the proposition is the truth of the 'if...then...' statement, not that any such x that is a person exists. Note too that the structure of the proposition doesn't tell you whether the assertion is valid. Matt pointed this out - the proposition asserts something as true; whether it actually is true needs to be verified. Formally,∀x(Person(x) –> DrinksWater(x)) has the same structure as :
∀x(Unicorn(x) –> Onlyallowsvirginstoride(x))
Both propositions are asserting the truth of conditional statements. If you are a person, you drink water. If you are a unicorn, you only allow virgins to ride you. In both cases, the soundness of the statement would need to be established through some kind of empirical process, probably starting with establishing the existence of either persons or unicorns. So what if you want to assert something about existence or soundness? Well, things get tricky, which we'll explore in another post shortly.
--seth [ed. note: changed "validity" to "soundness" 3/26/11]