SUO: *Date 25 Apr 2002 -- Differential Logic
¤~~~~~~~~~¤~~~~~~~~~¤~~~~~~~~~¤~~~~~~~~~¤~~~~~~~~~¤
| Arjuna, his war flag a rampant monkey,
| saw Dhritarashtra’s sons assembled
| as weapons were ready to clash,
| and he lifted his bow.
|
| Sanjaya -- Bhagavad Gita, 1.20.
|
|'The Bhagavad-Gita: Krishna’s Counsel in Time of War'.
| B.S. Miller (trans.), Bantam Books, New York, NY, 1986.
This is a compilation and correction of some material
that I earlier posted to Ontology Sublist, just for
the benefit of those who might have missed it.
Differential Logic
Note 1. http://suo.ieee.org/ontology/msg04040.html
One of the first things that you can do, once you
have a really decent calculus for boolean functions
or propositional logic, whatever you want to call it,
is to compute the differentials of these functions or
propositions.
Now there are many ways to dance around this idea,
and I feel like I have tried them all, before one
gets down to acting on it, and there many issues
of interpretation and justification that we will
have to clear up after the fact, that is, before
we can be sure that it all really makes any sense,
but I think this time I'll just jump in, and show
you the form in which this idea first came to me.
Start with a proposition of the form x & y, which
I graph as two labels attached to a root node, so:
o-----------------------------o
| |
| x y |
| @ |
| |
o-----------------------------o
| x and y |
o-----------------------------o
Written as a string, this is just the concatenation "x y".
The proposition xy may be taken as a boolean function f(x, y)
having the abstract type f : B x B -> B, where B = {0, 1} is
read in such a way that 0 means "false" and 1 means "true".
In this style of graphical representation,
the value "true" looks like a blank label
and the value "false" looks like an edge.
o-----------------------------o
| |
| |
| @ |
| |
o-----------------------------o
| true |
o-----------------------------o
o-----------------------------o
| |
| o |
| | |
| @ |
| |
o-----------------------------o
| false |
o-----------------------------o
Back to the proposition xy. Imagine yourself standing
in a fixed cell of the corresponding venn diagram, say,
the cell where the proposition xy is true, as pictured:
o-----------------------------------o
| |
| o o |
| / \ / \ |
| / \ / \ |
| / · \ |
| / /%\ \ |
| / /%%%\ \ |
| / /%%%%%\ \ |
| / /%%%%%%%\ \ |
| / /%%%%%%%%%\ \ |
| o x o%%%%%%%%%%%o y o |
| \ \%%%%%%%%%/ / |
| \ \%%%%%%%/ / |
| \ \%%%%%/ / |
| \ \%%%/ / |
| \ \%/ / |
| \ · / |
| \ / \ / |
| \ / \ / |
| o o |
| |
o-----------------------------------o
Now ask yourself: What is the value of the
proposition xy at a distance of dx and dy
from the cell xy where you are standing?
Don't think about it -- just compute:
o-----------------------------o
| |
| dx o o dy |
| / \ / \ |
| x o---@---o y |
| |
o-----------------------------o
| (x + dx) and (y + dy) |
o-----------------------------o
To make future graphs easier to draw in Ascii land,
I will use devices like @=@=@ and o=o=o to identify
several nodes into one, as in this next redrawing:
o-----------------------------o
| |
| x dx y dy |
| o---o o---o |
| \ | | / |
| \ | | / |
| \| |/ |
| @=@ |
| |
o-----------------------------o
| (x + dx) and (y + dy) |
o-----------------------------o
However you draw it, these expressions follow because the
expression x + dx, where the plus sign indicates (mod 2)
addition in B, and thus corresponds to an exclusive-or
in logic, parses to a graph of the following form:
o-----------------------------o
| |
| x dx |
| o---o |
| \ / |
| @ |
| |
o-----------------------------o
| x + dx |
o-----------------------------o
Next question: What is the difference between
the value of the proposition xy "over there" and
the value of the proposition xy where you are, all
expressed as general formula, of course? Here 'tis:
o-----------------------------o
| |
| x dx y dy |
| o---o o---o |
| \ | | / |
| \ | | / |
| \| |/ x y |
| o=o-----------o |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| @ |
| |
o-----------------------------o
| ((x + dx) & (y + dy)) - xy |
o-----------------------------o
Oh, I forgot to mention: Computed over B,
plus and minus are the very same operation.
This will make the relationship between the
differential and the integral parts of the
resulting calculus slightly stranger than
usual, but never mind that now.
Last question, for now: What is the value of this expression
from your current standpoint, that is, evaluated at the point
where xy is true? Well, substituting 1 for x and 1 for y in
the graph amounts to the same thing as erasing those labels:
o-----------------------------o
| |
| dx dy |
| o---o o---o |
| \ | | / |
| \ | | / |
| \| |/ |
| o=o-----------o |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| @ |
| |
o-----------------------------o
| ((1 + dx) & (1 + dy)) - 1·1 |
o-----------------------------o
And this is equivalent to the following graph:
o-----------------------------o
| |
| dx dy |
| o o |
| \ / |
| o |
| | |
| @ |
| |
o-----------------------------o
| dx or dy |
o-----------------------------o
Note 2. http://suo.ieee.org/ontology/msg04041.html
We have just met with the fact that
the differential of the "and" is
the "or" of the differentials.
x and y --Diff--> dx or dy.
o---------------------------------------o
| |
| dx dy |
| o o |
| \ / |
| o |
| x y | |
| @ --Diff--> @ |
| |
o---------------------------------------o
| x y --Diff--> ((dx)(dy)) |
o---------------------------------------o
It will be necessary to develop a more refined analysis of
this statement directly, but that is roughly the nub of it.
If the form of the above statement reminds you of DeMorgan's rule,
it is no accident, as differentiation and negation turn out to be
closely related operations. Indeed, one can find discussions of
logical difference calculus in the Boole-DeMorgan correspondence
and Peirce also made use of differential operators in a logical
context, but the exploration of these ideas has been hampered
by a number of factors, not the least of which being a syntax
adequate to handle the complexity of expressions that evolve.
For my part, it was definitely a case of the calculus being smarter
than the calculator thereof. The graphical pictures were catalytic
in their power over my thinking process, leading me so quickly past
so many obstructions that I did not have time to think about all of
the difficulties that would otherwise have inhibited the derivation.
It did eventually became necessary to write all this up in a linear
script, and to deal with the various problems of interpretation and
justification that I could imagine, but that took another 120 pages,
and so, if you don't like this intuitive approach, then let that be
your sufficient notice.
Let us run through the initial example again, this time attempting
to interpret the formulas that develop at each stage along the way.
We begin with a proposition or a boolean function f(x, y) = xy.
o---------------------------------------o
| |
| o o |
| / \ / \ |
| / \ / \ |
| / · \ |
| / /`\ \ |
| / /```\ \ |
| / /`````\ \ |
| / /```````\ \ |
| / /`````````\ \ |
| o x o`````f`````o y o |
| \ \`````````/ / |
| \ \```````/ / |
| \ \`````/ / |
| \ \```/ / |
| \ \`/ / |
| \ · / |
| \ / \ / |
| \ / \ / |
| o o |
| |
o---------------------------------------o
| |
| x y |
| @ |
| |
o---------------------------------------o
| f = x y |
o---------------------------------------o
A function like this has an abstract type and a concrete type.
The abstract type is what we invoke when we write things like
f : B x B -> B or f : B^2 -> B. The concrete type takes into
account the qualitative dimensions or the "units" of the case,
which can be explained as follows.
1. Let X be the set of values {(x), x} = {not x, x}.
2. Let Y be the set of values {(y), y} = {not y, y}.
Then interpret the usual propositions about x, y
as functions of the concrete type f : X x Y -> B.
We are going to consider various "operators" on these functions.
Here, an operator F is a function that takes one function f into
another function Ff.
The first couple of operators that we need to consider are logical analogues
of those that occur in the classical "finite difference calculus", namely:
1. The "difference" operator [capital Delta], written here as D.
2. The "enlargement" operator [capital Epsilon], written here as E.
These days, E is more often called the "shift" operator.
In order to describe the universe in which these operators operate,
it will be necessary to enlarge our original universe of discourse.
We mount up from the space U = X x Y to its "differential extension",
EU = U x dU = X x Y x dX x dY, with dX = {(dx), dx} and dY = {(dy), dy}.
The interpretations of these new symbols can be diverse, but the easiest
for now is just to say that dx means "change x" and dy means "change y".
To draw the differential extension EU of our present universe U = X x Y
as a venn diagram, it would take us four logical dimensions X, Y, dX, dY,
but we can project a suggestion of what it's about on the universe X x Y
by drawing arrows that cross designated borders, labeling the arrows as
dx when crossing the border between x and (x) and as dy when crossing
the border between y and (y), in either direction, in either case.
o---------------------------------------o
| |
| o o |
| / \ / \ |
| / \ / \ |
| / · \ |
| / dy /`\ dx \ |
| / ^ /```\ ^ \ |
| / \`````/ \ |
| / /`\```/`\ \ |
| / /```\`/```\ \ |
| o x o`````o`````o y o |
| \ \`````````/ / |
| \ \```````/ / |
| \ \`````/ / |
| \ \```/ / |
| \ \`/ / |
| \ · / |
| \ / \ / |
| \ / \ / |
| o o |
| |
o---------------------------------------o
We can form propositions from these differential variables in the same way
that we would any other logical variables, for instance, interpreting the
proposition (dx (dy)) to say "dx => dy", in other words, however you wish
to take it, whether indicatively or injunctively, as saying something to
the effect that there is "no change in x without a change in y".
Given the proposition f(x, y) in U = X x Y,
the (first order) 'enlargement' of f is the
proposition Ef in EU that is defined by the
formula Ef(x, y, dx, dy) = f(x + dx, y + dy).
In the example f(x, y) = xy, we obtain:
Ef(x, y, dx, dy) = (x + dx)(x + dy).
o---------------------------------------o
| |
| x dx y dy |
| o---o o---o |
| \ | | / |
| \ | | / |
| \| |/ |
| @=@ |
| |
o---------------------------------------o
| Ef = (x, dx) (y, dy) |
o---------------------------------------o
Given the proposition f(x, y) in U = X x Y,
the (first order) 'difference' of f is the
proposition Df in EU that is defined by the
formula Df = Ef - f, or, written out in full,
Df(x, y, dx, dy) = f(x + dx, y + dy) - f(x, y).
In the example f(x, y) = xy, the result is:
Df(x, y, dx, dy) = (x + dx)(x + dy) - xy.
o---------------------------------------o
| |
| x dx y dy |
| o---o o---o |
| \ | | / |
| \ | | / |
| \| |/ x y |
| o=o-----------o |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| @ |
| |
o---------------------------------------o
| Df = (x, dx) (y, dy) - xy |
o---------------------------------------o
We did not yet go through the trouble to interpret this (first order)
"difference of conjunction" fully, but were happy simply to evaluate
it with respect to a single location in the universe of discourse,
namely, at the point picked out by the singular proposition xy,
in as much as if to say, at the place where x = 1 and y = 1.
This evaluation is written in the form Df|xy or Df|<1, 1>,
and we arrived at the locally applicable law that states
that f = xy = x & y => Df|xy = ((dx)(dy)) = dx or dy.
o---------------------------------------o
| |
| dx dy |
| ^ |
| o | o |
| / \ | / \ |
| / \|/ \ |
| /dy | dx\ |
| /(dx) /|\ (dy)\ |
| / ^ /`|`\ ^ \ |
| / \``|``/ \ |
| / /`\`|`/`\ \ |
| / /```\|/```\ \ |
| o x o`````o`````o y o |
| \ \`````````/ / |
| \ \```````/ / |
| \ \`````/ / |
| \ \```/ / |
| \ \`/ / |
| \ · / |
| \ / \ / |
| \ / \ / |
| o o |
| |
o---------------------------------------o
| |
| dx dy |
| o o |
| \ / |
| o |
| | |
| @ |
| |
o---------------------------------------o
| Df|xy = ((dx)(dy)) |
o---------------------------------------o
The picture illustrates the analysis of the inclusive disjunction ((dx)(dy))
into the exclusive disjunction: dx(dy) + dy(dx) + dx dy, a proposition that
may be interpreted to say "change x or change y or both". And this can be
recognized as just what you need to do if you happen to find yourself in
the center cell and desire a detailed description of ways to depart it.
Jon Awbrey
| Nothing of nonbeing comes to be,
| nor does being cease to exist;
| the boundary between these two
| is seen by men who see reality.
|
| Krishna -- Bhagavad Gita, 2.16.
|
|'The Bhagavad-Gita: Krishna’s Counsel in Time of War'.
| B.S. Miller (trans.), Bantam Books, New York, NY, 1986.
¤~~~~~~~~~¤~~~~~~~~~¤~~~~~~~~~¤~~~~~~~~~¤~~~~~~~~~¤