Three Valued Logic
Another thing that has been bothering me greatly about Zeroth Order Logic is that it makes a closed world assumption: what isn't stated is assumed to be false.
There is much that we don't explicitly state (often for brevity, but sometimes because we genuinely do not know), so finding a way to reason over propositions using an open world assumption is needed: what isn't stated should be assumed as maybe.
There are many variations of three value logics, but all of them assume that propositions can take three values:
- true,
- false and
- maybe.
Connectives
Kleene's K3 and Priest's P3 logic have the same truth values for the unary connector:
p | ~p |
---|---|
F | T |
T | F |
? | ? |
And binary connectors:
p | q | p or q | p and q | p => q | p <=> q | p xor q |
---|---|---|---|---|---|---|
F | F | F | F | T | T | F |
F | T | T | F | T | F | T |
F | ? | ? | F | T | ? | ? |
T | F | T | F | F | F | T |
T | T | T | T | T | T | F |
T | ? | T | ? | ? | ? | ? |
? | F | ? | F | ? | ? | ? |
? | T | T | ? | T | ? | ? |
? | ? | ? | ? | ? | ? | ? |
Notably, only lines 1, 2, 4 and 5 are exactly the ones in zeroth order logic, since p and q don't assume values of maybe.
Tautologies
A logical formula is considered a tautology if it evaluates to a designated truth value in every possible interpretation.
K3 and P3, however, differ in how tautologies are defined. In K3, only true is a designed truth value, whereas in P3, both true and maybe are. So, K3 does not have any tautologies, while P3 has the same tautologies as classical two-valued logic.
For example, p or ~p is a tautology in P3 but it is not in K3.
p | ~p | p or ~p |
---|---|---|
F | T | T |
T | F | T |
? | ? | ? |
Because of that, P3 has the same tautologies as classical two-valued logic whereas K3 has none.
Equivalences
Two propositions p
and q
are logically equivalent when p <=> q
is a tautology (i.e. true regardless of the values of p
and q
).
For example, take the double negation tautology: ~~p <=> p
is true
or maybe
regardless of the value of p
:
p | ~p | ~~p | ~~p <=> p |
---|---|---|---|
F | T | F | T |
T | F | T | T |
? | ? | ? | ? |
Do you think the other equivalences of two-valued logic are kept?
Implications
Implications are tautologies where you establish a sufficiency =>
but not a necessity <=
.
For example, from the following premises:
p
andp => q
Can we conclude q
? That is, does (p and p => q) => q
?
If modus ponens was a tautology in P3, you'd be able to enumerate all possible interpretation of p
and q
and verify that it is true or maybe for any permutation.
p | q | p => q | (p and p => q) | (p and p => q) => q |
---|---|---|---|---|
F | F | T | F | T |
F | T | T | F | T |
F | ? | T | F | T |
T | F | F | F | T |
T | T | T | T | T |
T | ? | ? | ? | ? |
? | F | ? | F | T |
? | T | T | ? | T |
? | ? | ? | ? | ? |
Rules of Deduction
Recall that in the two-valued propositional logic the implication could also be written as "not (p and not q)" and "(not a) or b":
p | q | p => q | not (p and not q) | (not a) or b |
---|---|---|---|---|
F | F | T | T | T |
F | T | T | T | T |
T | F | F | F | F |
T | T | T | T | T |
But if we take that to the three-valued logic, we get:
p | q | p => q | not (p and not q) | (not p) or q |
---|---|---|---|---|
F | F | T | T | T |
F | T | T | T | T |
F | ? | T | T | T |
T | F | F | F | F |
T | T | T | T | T |
T | ? | ? | ? | ? |
? | F | ? | ? | ? |
? | T | T | T | T |
? | ? | ? | ? | ? |
Which, by my calculation, seems to match up.
It is said, though, that modus ponens (and others) cannot be used as a rule of deduction in P3 (which seems embarrasingly limiting)*, which makes me wonder if we we defined implications imprecisely.
* same here
WDYT?
So, more to follow!