We've done the motivation, and the warm-ups, and it's now time to get to the meat of this arc: relevance logics. These try to recapture a more intuitive meaning to the material implication, "if... then..." and "→". Consider for instance the following:
- "It rains in Spain" → ("Darwin died for our sins" → "It rains in Spain")
- ("It rains in Spain" and "It doesn't rain in Spain") → "Ravens are the stupidest of birds"
Both of these are perfectly acceptable classical logical theorems. The problem is that there doesn't seem to be any connection between the different components: no logical leap between rain, Darwin or ravens. These are all tautologies, so we could substitute any other propositions in here and it would still be true. In common speech, "if A then B" implies some sort of relevant connection between A and B. Relevance logics attempt to do the same for the formal "→".
Unfortunately, it is easier to motivate relevance logics, and write formal axiomatic systems for them, than it is to pin down exactly what "relevance" means - see the later section on relevance semantics. One oft-mentioned requirement is that the expressions on both sides of "→" share propositional variables. A propositional variable is a basic sentence such as A:"It rains in Spain". Sharing A would mean that the whole expression would be something like:
(blah ∧ blah ∨ A ∧ blah) → (blah ∧ ¬A ∨ blah ∧ blah)
Unfortunately, though this is a necessary condition for relevance, it is not sufficient. Even the hated disjunctive syllogism (the very thing we are trying to avoid) shares variables. In theorem form, it is:
(A ∨ B) ∧ ¬B → A
Axioms of relevance
When we rejected the disjunctive syllogism, we lost a lot of useful stuff. And not all of that loss was necessary: we can add a bit back without returning to the principle of explosion. Hence the axiom schemas of relevance logics tend to be longer than that of classical logic, as we put in by hand all the useful results we want to keep. "Dialectical logic" is one example of relevance logics; it uses thirteen axiom schemas:
- A → A
- (A → B) ∧ (B → C) → (A → C)
- A ∧ B → A
- A ∧ B → B
- (A → B) ∧ (A → C) → (A → (B ∧ C))
- A ∧ (B ∨ C) → (A ∧ B) ∨ (A ∧ C)
- ¬¬A → A
- (A → ¬B) → (B → ¬A)
- A → A ∨ B
- B → A ∨ B
- (A → C) ∧ (B → C) → ((A ∨ B) → C)
- ¬A ∧ ¬B → ¬(A ∨ B)
- ¬(A ∧ B) → ¬A ∨ ¬B
Beyond this, it has two rules of inference:
- A, A → B ⇒ B
- A → B ⇒ ¬B → ¬A
We have modus ponens! We have modus ponens! We finally have a paraconsistent logic that actually has the most used rule of inference. Notice a few things: distribution needs a special axiom (6.) and there are two axioms (12. and 13.) to establish the DeMorgan dualities. Also, contraposition needs a separate rule of inference in its own right (I believe - but haven't checked - that this is because adding (A → B) → (¬B → ¬A) as an axiom would collapse the paraconsistency). Axiom 7. demonstrates that this is not an intuitionist logic: from a double negative, we can prove a positive (though not vice versa). It is also strictly weaker than classical logic: if dialectic logic can prove something, then the proof works in classical logic as well.
Another thing to note about dialectical logic (and about most relevance logics) is that the deduction theorem fails. The deduction theorem says that if A⊢B (if, starting from A, we can prove B), then also ⊢(A→B) (starting from nothing, we can prove that A implies B). It is easy to see why this would fail in relevance logics. If for instance B were a tautology, then we could certainly get A⊢B; but we could not get ⊢(A→B) unless there were some relevant connection between A and B.
The semantics, and the semantics of the semantics
So, that's the definition of a relevance logic; but what does it all mean? There is no getting around the fact that the semantics of relevance logics are bizarre. Bizarre in the "what's going on? we're probably missing a big part of the picture" kind of way.
We discussed impossible worlds and (binary) accessibility relations in the previous post. They are not however enough to get models/semantics/meanings for relevance logics. Instead we have to use a strange accessibility relation R than isn't binary but ternary (taking three inputs). Writing Rabc means that worlds a, b and c are related in this formal way. Then the definition of → in the model becomes:
A → B is true at a world a if and only if for all worlds b and c such that Rabc, either A is false at b or B is true at c.
So these semantics define the value of A → B at a by looking at some kind of implication result across two completely separate worlds. Not only that, these worlds will have to include impossible worlds as well (or else the semantics would collapse to classical semantics).
Generally, when discussing a theory, to explain its meaning one gives a model and leaves it at that. But this model is so counterintutive, that it seems fair to demand further explanation: a meaning for the meaning, semantics for the semantics. One possible interesting interpretation is that instead of talking about worlds, we interpret a, b and c as collections of information. And then Rabc is taken to mean "the combination of the information states of a and b is contained in the information state of c" (Dunn, J.M., 1986, "Relevance Logic and Entailment").
Yet about approach (Jon Barwise (1993) and developed in Restall (1996)) models this as information flow in distributed systems. Here a, b and c are not worlds, but sites of information, or channels between sites along which information can flow (the fact that some "worlds" are sites while others are channels is not a problem - after all, some worlds are possible and others impossible, so distinguishing between different types of worlds is not an unusual requirement). Then Rabc is taken to mean "a is a channel connecting the sites b and c". Then the definition of → in the model becomes:
A → B is true on the channel a if and only if for all sites b and c connected by a, if information A is available at one end (b) of the channel, then information B is available at the other end (c).
More can, and has, been said about this. But that's enough for a short introduction to the subject, and will hopefully given a start to anyone wanting to mesh relevance logics with UDT. My next and last post will briefly touch on attempts to use as much of classical logic as we can get away with, while still staying paraconsistent when we have to.