The Mathematics of Charles Sanders Peirce (2001) [pdf]
I couldn&#x27;t get through all of the paper. It seemed to be simply a new, not especially useful, notation for certain boolean operators.<p>The concept of universal boolean operators, in the sense of <i>functional completeness</i> (see [1]) isn&#x27;t that deep. A binary boolean operator (function) has four possible combinations of inputs: TT, TF, FT, and FF. For example, the <i>and</i> operation is defined by (T and T) == T, (T and F) == F, (F and T) == F, and (F and F) = F. The familiar <i>truth table</i> [2] is a clearer way to write this out:<p><pre><code>    A | B | A and B
    ===============
    T   T      T
    T   F      F
    F   T      F
    F   F      F
</code></pre>
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.<p>Again, truth tables make them obvious:<p><pre><code>    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
</code></pre>
the 16 possible operators are thus:<p>1:  <i>true</i>, sometimes indicated by the &quot;top&quot; character in math, it 
looks like a capital T<p>2:  <i>or</i><p>3:  <i>if</i>, (A if B) means B implies A, written &lt;==<p>4:  <i>A</i>, just the value of the first argument<p>5: <i>onlyif</i>, (A onlyif B) is sometimes written ==&gt;<p>6: <i>B</i>, the value of the second argument<p>7: <i>iff</i>, same as ==<p>8: <i>and</i><p>9: <i>nand</i>, not and<p>10: <i>xor</i><p>11: <i>!B</i>, the negation of second argument<p>12: <i>notonlyif</i>, i.e. not(A ==&gt; B)<p>13: <i>!A</i>, the negation of the first argument<p>14: <i>notif</i>, i.e. not(A &lt;== B)<p>15: <i>nor</i>, not or<p>16: <i>false</i>, sometimes written in math with the bottom symbol which looks like an upside down capital T<p>We don&#x27;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 <i>and</i> and <i>not</i> or from <i>or</i> and <i>not</i>. For example the operator numbered 5 above is the implication operator (A ==&gt; B), but this is simply (not A or B).<p>The sign of illation in the original article is simply operation 5 above, A ==&gt; B.<p>Interestingly, two of the binary boolean operators are universal or functionally complete by themselves, <i>nand</i> and <i>nor</i>. 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:<p><pre><code>    ((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)
</code></pre>
[1] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Functional_completeness" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Functional_completeness</a><p>[2] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Truth_table" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Truth_table</a>