In the late 1970s a number of problems in combinatorics and graph theory that I really wanted to know the answers to had driven me to the desperate measures of trying to write a theorem-proving program to help with the work. Being familiar with the conceptual efficiencies of Peirce’s logical graphs and inspired by George Spencer Brown’s more recent resurrection of Peirce’s ideas, I naturally turned to those resources for the initial implements of my computational prospecting. The succession of computers and programming languages that I quested with over the years taught me a lot about the things that work and the things that do not. Dissolving for now to the present scene, I will use the next few posts to outline, as succinctly as I can, the basic constructs that developed through that line of inquiry.
Minimal Negation Operators and Painted Cacti
The objects of penultimate interest are the boolean functions for
A minimal negation operator for is a boolean function defined as follows:
- if and only if exactly one of the arguments equals
The first few of these operators are already enough to generate all boolean functions via functional composition but the rest of the family is worth keeping around for many practical purposes.
In most contexts may be written for since the number of arguments determines the rank of the operator. In some contexts even the letter may be omitted, writing just the argument list in which case it helps to use a distinctive typeface for the list delimiters, as
A logical conjunction of arguments can be expressed in terms of minimal negation operators as and this is conveniently abbreviated as a concatenation of arguments
See the following article for more information:
To be continued …