"Peirce's diagramatic logic is the forerunner to Sowa's conceptual graphs . 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 ) 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  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
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
1: true, sometimes indicated by the "top" character in math, it
looks like a capital T
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 ==
9: nand, not and
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)
De 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?