- Most of the recent discussion is about two-variable logic forms where there is a logical relation between two logical variables. I want to bring up the subject of three-variable logic which I think is very rich but not much discussed.
In two-variable logic, as we know, there are 16 possible relations. With three variables, there are 8 rows in the truth table and so 28 = 256 possibilities. Many of these are the same at 2-variable, eg. AND(a,b,c) or OR(a,b,c) but some are different, eg. IF a THEN b ELSE c. This latter one is really at the heart of all computer programming.
I haven’t seen much written about this although William Bricken has done some (see for example “Symmetry in Boolean Functions with Examples for Two and Three Variables”). Here he shows that when you take into account reflections and rotations there are actually 14 distinct forms within the 256.
One of the biggest advantages of the systems of graphical forms derived from C.S. Peirce’s logical graphs and Spencer Brown’s calculus of indications is precisely the conceptual and computational efficiencies they afford us in dealing with propositional forms and boolean functions of many variables. This has been one of my main motivations in pursuing their development for the last half century and I think we have hopes of enjoying those benefits once we’ve had our dose of minimum logical requirements and cross the threshold of first principles.
That said, I still have work to do on the logical graphs for two-variable boolean functions since I’ve been using those as logical man-in-the-moon marigolds to study the effects of the duality. That duality is associated with a transformation group of order two which partitions the set of sixteen functions into ten orbits. The groups William Bricken considers have much higher orders at each number of variables and thus partition their spaces of functions into many fewer orbits in each case. See the first reference below.
Have to break here …
- “Number of Boolean Functions Distinct under Complementation/Permutation”, A000370, N.J.A. Sloane (ed.), The On-Line Encyclopedia of Integer Sequences.
- “The If..then..else statement”, in Michaël Van Canneyt (May 2021), Free Pascal Reference Guide.