Sunday, April 26, 2020

Modeling Reality, Introduction

Disclaimer:

As I near retirement (and because of recent employment woes) I seem to have some free time on my hands for the first time in a long time. When that happens I often get back to my hobbies, one of which has always been symbolic logic and modeling reality. I usually (as previous blog posts may show) attack this from a philosophical perspective, but sometimes try to get down to the mechanical aspects as well. This post is one of these instances. I will also try to get into Relevance Logic research in future posts but this is kind of a placeholder for me to go over the foundational needs for such research.



So when trying to model reality using logic we are currently fucked. I contend there are a variety of reasons for this, not the least of which is the inability to account for time in a formal logic system. Now it is also the case that folks like Godel have demonstrated that infinity also causes issues (damn you Georg Cantor), however, the universal (for all) and existential (there exists) predicates aid us a bit here, hence the rationale for what is sometimes referred to as first order predicate calculus.

Now it is probably also the case that if we had similar constructs for time we might be in better shape. Something like a temporal logic universal (it is always) and existential (sometimes) predicate could get us out of this hole but maybe 'before' and 'after' is where its at. Don't know yet.

But I am still of the belief that our reliance on just two states (true and false) also lead us down a rabbit hole. I have always believed life is not binary and just having true and false is a part of the basic problem. Indeed, in just the field of digital electronics we have three states (tri-state logic) where the third state (often referred to as Z or high impedance) becomes the unknown. I ascribe to the belief that we really may have an almost infinite number of states but I am really deficient in this area. Three or four may actually be good enough. I really don't know at this point.

So the solution long term seems to require some additional stuff we currently do not have in our tool chest.

Now A.N. Prior has done some rigorous work regarding temporal logic, and folks like Nicholas Resher have done good work in the field of many valued logic, so eventually we can lean on them to work out some of the issues arising from time and binary logic.

However, it is also the case that the way we do proofs in mathematical logic relies on what is often called the implication operator. Now the problems here have indeed been investigated and dealt with so I will briefly touch upon some of this work and try to remove this obstacle before we move on to more esoteric topics like temporal and many valued logic.

As is often the case, just stating the problem is sometimes difficult enough but always required before one can understand the solution.

For those who already understand the problem you can simply jump ahead to the topic of Relevant Logic (or relevance logic) and read the foundational works by C.I. Lewis, Ivan E. Orlov, , Wilhelm Ackerman, Alonzo Church, or jump ahead to the magnum opus of the subject, Entailment: The Logic of Relevance and Necessity by Nuel Belnap and Alan Ross Anderson which I pan on covering in future blog posts.

A decent understanding of formal logic systems, Fitch Charts and Boolean operators as applied to inductive reasoning might also be helpful (but not necessary) before you continue reading this text.

First we introduce the implication operator. It is sometimes called the 'implies' operator or the 'if then' operator. Its use is often called 'material implication'. It is used in formal systems but it has issues. First we will describe it and then look at some typical uses, then we will look at where it fails, and finally look at some potential solutions to these issues. To keep things simple, we will use '->' as the implication operator. We can read p->q as p implies q.

The truth table for this operator (note, it is a weak connective) is simply …

p  q  p->q
----------
T  T    T
T  F    F
F  T    T
F  F    T

When using the implication operator we often call the p argument the antecedent and the q argument the consequent.

When we apply this concept to human language we get the following basic definition.

"It is not the case that p is true and q false". Also, "p implies q" is equivalent to "p is false or q is true". Let's break this down a bit further.

"It is not the case that p is true and q false". This is the second row (T F F).
"p is false or q is true".
Well "p is false" are the last two rows.
"q is true" are rows one and three but we have an 'or p' here so this is actually row one.

For example, "if it is raining, then I will bring an umbrella", is equivalent to "it is not raining, or I will bring an umbrella, or both". This truth-functional interpretation of implication is called material implication or material conditional.

Enumerating this we get

(1) Our original statement (which we state is true).
p = T (it is raining)
q = T (I will bring an umbrella)
p->q = True

(2) Contradicts our original true statement, so its false.
p = T (it is raining)
q = F (I will not bring an umbrella)
p->q = False

(3) This is a bit odd. It arises from the fact that q is true, but just seems wrong.
p = F (it is not raining)
q = T (I will bring an umbrella)
p->q = True

(4) This seems consistent.
p = F (it is not raining)
q = F (I will not bring an umbrella)
p-> = True


Let's dig a little deeper and look at "p is false or q is true"

~p or q

This means not p or q (~ is the negation operator)

basically this says all we really give a shit about is q since anything 'OR' something is true if something is true. This can be rewritten as

(p or ~p) or q

So the first part of this seems to logically hold. In other words

q

And indeed when we look at our truth table we see that in all cases when q is true p->q is also true (rows one and three).

But this is also what we call a tautology since (p or ~p) is always true and as a result, we really don't care about q. In other words since (p or ~p) is always true, why bother with q as we already know the truth value of the entire statement; its always true.

Now let's keep in mind these two basic facts

(~p or p) = True
(~p and p) = False

Which translate to "anything OR the negation of anything" is always true and "anything AND the negation of anything" is always false. These are simply the definitions of the 'AND' and 'OR' Boolean operators.

So here we hit our first problem with using the implies operator. Its just not right. Sure when q is true the value of p->q is true, but if we substitute (~p and p) for p we get

(~p and p) -> q
F -> q

These can be found in the last two rows of our truth table for the implies operator. Put another way, looking at these two rows, False implies True is True (row three) but False implies False is also True (row four) which leaves us with a big WTF?

This is known as entailment and it arises from the principle of explosion which stated simply means an inconsistent premise always makes an argument valid. From a set theory perspective, if I can derive A and NOT A from a set, the set is said to be inconsistent because formally I can derive anything from this inconsistent set. In other words a contradiction must never prove to be true.

It is also problematic that if p is false it implies every q (again, last two rows in our truth table) because in this case q is said to be vacuously true (a universal statement that is only true because the antecedent can not be satisfied. For example, all cell phones in the room are turned off will be true even if there are no cell phones in the room).

So, even though formal logic (and all inductive proofs which rely on it) is somewhat lacking we can still use it to define things like relativity, but we also understand they are inherently flawed and we need to research this no further than Godel's Proof (the refutation of Peano's axioms) to know this is indeed the case.

Now that we understand the problem a bit better, we can move on to some potential solutions.

For those of you still reading this hokum, here is an interesting site. It is basically a Fitch Chart/Diagram helper script which can be used to try out some logic statements using many (not just the implies) operators for well formed formulas (WFFs).

http://www.harmendeweerd.nl/fitch/






No comments: