"Peirce's diagramatic logic is the forerunner to Sowa's conceptual graphs [0]. Worth a look.
His writings are very tedious to me, though, and I hope this article I just glanced through makes him more palatable.
The concept of universal boolean operators, in the sense of functional completeness (see [1]) isn't that deep. A binary boolean operator (function) has four possible combinations of inputs: TT, TF, FT, and FF. For example, the and operation is defined by (T and T) == T, (T and F) == F, (F and T) == F, and (F and F) = F. The familiar truth table [2] is a clearer way to write this out:
A | B | A and B
===============
T T T
T F F
F T F
F F F
Other boolean operators can be defined by truth tables too. How many unique boolean operators are there? Since there are four possible binary outputs there are 16 possible boolean operators. They are mostly very familiar, but mathematicians use various notations for them.Again, truth tables make them obvious:
A B | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
====================================================
T T T T T T T T T T F F F F F F F F
T F T T T T F F F F T T T T F F F F
F T T T F F T T F F T T F F T T F F
F F T F T F T F T F T F T F T F T F
the 16 possible operators are thus:1: true, sometimes indicated by the "top" character in math, it looks like a capital T
2: or
3: if, (A if B) means B implies A, written <==
4: A, just the value of the first argument
5: onlyif, (A onlyif B) is sometimes written ==>
6: B, the value of the second argument
7: iff, same as ==
8: and
9: nand, not and
10: xor
11: !B, the negation of second argument
12: notonlyif, i.e. not(A ==> B)
13: !A, the negation of the first argument
14: notif, i.e. not(A <== B)
15: nor, not or
16: false, sometimes written in math with the bottom symbol which looks like an upside down capital T
We don't normally use all of these operators in predicate logic or programming or digital circuits because a few familiar ones will do. In fact, if we allow ourselves the negation operator (i.e. not or ! in some programming languages) then all binary boolean operations can be obtain from only and and not or from or and not. For example the operator numbered 5 above is the implication operator (A ==> B), but this is simply (not A or B).
The sign of illation in the original article is simply operation 5 above, A ==> B.
Interestingly, two of the binary boolean operators are universal or functionally complete by themselves, nand and nor. Any stateless boolean circuit can be constructed out of only nand gates or only nor gates. A programming language could get by with only one boolean operator, the binary nand (or the binary nor). For example ((not A) and B) could be rewritten using only nand:
((not A) and B) == (A nand A) and B
== not ( (A nand A) nand B )
== ((A nand A) nand B) nand ((A nand A) nand B)
[1] https://en.wikipedia.org/wiki/Functional_completenessDe Saussure and Peirce I put conceptually in the same tradition of Cyc and other symbolic/ontological/semantic efforts in knowledge engineering.
That being said, symbol grounding does not get enough attention in current connectionist systems. How to properly present grammar, time, pointers, signs?