Changes

→‎The Cactus Language : Semantics: try square bracket superscript [k] for number of variables
Line 2,078: Line 2,078:  
A good way to illustrate the action of the conjunction and surjunction operators is to demonstrate how they can be used to construct the boolean functions on any finite number of variables.  Let us begin by doing this for the first three cases, <math>k = 0, 1, 2.\!</math>
 
A good way to illustrate the action of the conjunction and surjunction operators is to demonstrate how they can be used to construct the boolean functions on any finite number of variables.  Let us begin by doing this for the first three cases, <math>k = 0, 1, 2.\!</math>
   −
A boolean function on 0 variables is just a boolean constant <math>F^{(0)}\!</math> in the boolean domain <math>\underline\mathbb{B} = \{ \underline{0}, \underline{1} \}.</math>  Table&nbsp;15 shows several different ways of referring to these elements, just for the sake of consistency using the same format that will be used in subsequent Tables, no matter how degenerate it tends to appear in the initial case.
+
A boolean function <math>F^{[0]}\!</math> on <math>0\!</math> variables is just an element of the boolean domain <math>\underline\mathbb{B} = \{ \underline{0}, \underline{1} \}.</math>  Table&nbsp;15 shows several different ways of referring to these elements, just for the sake of consistency using the same format that will be used in subsequent Tables, no matter how degenerate it tends to appear in the initial case.
    
<pre>
 
<pre>
Line 2,095: Line 2,095:  
Column&nbsp;1 lists each boolean element or boolean function under its ordinary constant name or under a succinct nickname, respectively.
 
Column&nbsp;1 lists each boolean element or boolean function under its ordinary constant name or under a succinct nickname, respectively.
   −
Column&nbsp;2 lists each boolean function in a style of function name <math>F^i_j\!</math> that is constructed as follows:  The superscript <math>i\!</math> gives the dimension of the functional domain, that is, the number of its functional variables, and the subscript <math>j\!</math> is a binary string that recapitulates the functional values, using the obvious translation of boolean values into binary values.
+
Column&nbsp;2 lists each boolean function in a style of function name <math>F_j^{[k]}\!</math> that is constructed as follows:  The superscript <math>[k]\!</math> gives the dimension of the functional domain, that is, the number of its functional variables, and the subscript <math>j\!</math> is a binary string that recapitulates the functional values, using the obvious translation of boolean values into binary values.
    
Column&nbsp;3 lists the functional values for each boolean function, or possibly a boolean element appearing in the guise of a function, for each combination of its domain values.
 
Column&nbsp;3 lists the functional values for each boolean function, or possibly a boolean element appearing in the guise of a function, for each combination of its domain values.
   −
Column&nbsp;4 shows the usual expressions of these elements in the cactus language, conforming to the practice of omitting the underlines in display formats.  Here I illustrate also the useful convention of using the expression <math>^{\backprime\backprime} ((~)) ^{\prime\prime}</math> as a visible stand-in for the expression of a constantly "true" truth value, one that would otherwise be represented by a blank expression, and tend to elude our giving it much notice in the context of more demonstrative texts.
+
Column&nbsp;4 shows the usual expressions of these elements in the cactus language, conforming to the practice of omitting the underlines in display formats.  Here I illustrate also the convention of using the expression <math>^{\backprime\backprime} ((~)) ^{\prime\prime}</math> as a visible stand-in for the expression of the logical value <math>\operatorname{true},</math> a value that is minimally represented by a blank expression that tends to elude our giving it much notice in the context of more demonstrative texts.
   −
Table 16 presents the boolean functions on one variable, <math>F^{(1)} : \underline\mathbb{B} \to \underline\mathbb{B},</math> of which there are precisely four. Here, Column&nbsp;1 codes the contents of Column&nbsp;2 in a more concise form, compressing the lists of boolean values, recorded as bits in the subscript string, into their decimal equivalents.  Naturally, the boolean constants reprise themselves in this new setting as constant functions on one variable.  Thus, one has the synonymous expressions for constant functions that are expressed in the next two chains of equations:
+
Table 16 presents the boolean functions on one variable, <math>F^{[1]} : \underline\mathbb{B} \to \underline\mathbb{B},</math> of which there are precisely four.
 
  −
{| align="center" cellpadding="8" width"90%"
  −
|
  −
<math>\begin{matrix}
  −
F^{(1)}_0 & = & F^{(1)}_{00} & = & \underline{0} : \underline\mathbb{B} \to \underline\mathbb{B}
  −
\\
  −
F^{(1)}_3 & = & F^{(1)}_{11} & = & \underline{1} : \underline\mathbb{B} \to \underline\mathbb{B}
  −
\\
  −
\end{matrix}</math>
  −
|}
      
<pre>
 
<pre>
As for the rest, the other two functions are easily recognized as corresponding
  −
to the one-place logical connectives, or the monadic operators on %B%.  Thus,
  −
the function F^1_1  =  F^1_01 is recognizable as the negation operation, and
  −
the function F^1_2  =  F^1_10 is obviously the identity operation.
  −
   
Table 16.  Boolean Functions on One Variable
 
Table 16.  Boolean Functions on One Variable
 
o----------o----------o-------------------------------------------o----------o
 
o----------o----------o-------------------------------------------o----------o
Line 2,135: Line 2,120:  
|          |          |                    |                    |          |
 
|          |          |                    |                    |          |
 
o----------o----------o---------------------o---------------------o----------o
 
o----------o----------o---------------------o---------------------o----------o
 +
</pre>
 +
 +
Here, Column&nbsp;1 codes the contents of Column&nbsp;2 in a more concise form, compressing the lists of boolean values, recorded as bits in the subscript string, into their decimal equivalents.  Naturally, the boolean constants reprise themselves in this new setting as constant functions on one variable.  Thus, one has the synonymous expressions for constant functions that are expressed in the next two chains of equations:
 +
 +
{| align="center" cellpadding="8" width="90%"
 +
|
 +
<math>\begin{matrix}
 +
F_0^{[1]} & = & F_{00}^{[1]} & = & \underline{0} ~:~ \underline\mathbb{B} \to \underline\mathbb{B}
 +
\\
 +
\\
 +
F_3^{[1]} & = & F_{11}^{[1]} & = & \underline{1} ~:~ \underline\mathbb{B} \to \underline\mathbb{B}
 +
\\
 +
\end{matrix}</math>
 +
|}
    +
As for the rest, the other two functions are easily recognized as corresponding to the one-place logical connectives, or the monadic operators on <math>\underline\mathbb{B}.</math>  Thus, the function <math>F_1^{[1]} = F_{01}^{[1]}</math> is recognizable as the negation operation, and the function <math>F_2^{[1]} = F_{10}^{[1]}</math> is obviously the identity operation.
 +
 +
<pre>
 
Table 17 presents the boolean functions on two variables, F^2 : %B%^2 -> %B%,
 
Table 17 presents the boolean functions on two variables, F^2 : %B%^2 -> %B%,
 
of which there are precisely sixteen in number.  As before, all of the boolean
 
of which there are precisely sixteen in number.  As before, all of the boolean
12,080

edits