Line 5,178: |
Line 5,178: |
| | | |
| </ol> | | </ol> |
| + | |
| + | =====1.3.11.5. The Cactus Language : Semantics===== |
| + | |
| + | {| align="center" cellpadding="0" cellspacing="0" width="90%" |
| + | | |
| + | <p>Alas, and yet what ''are'' you, my written and painted thoughts! It is not long ago that you were still so many-coloured, young and malicious, so full of thorns and hidden spices you made me sneeze and laugh — and now? You have already taken off your novelty and some of you, I fear, are on the point of becoming truths: they already look so immortal, so pathetically righteous, so boring!</p> |
| + | |- |
| + | | align="right" | — Nietzsche, ''Beyond Good and Evil'', [Nie-2, ¶ 296] |
| + | |} |
| + | |
| + | In this Subsection, I describe a particular semantics for the painted cactus language, telling what meanings I aim to attach to its bare syntactic forms. This supplies an ''interpretation'' for this parametric family of formal languages, but it is good to remember that it forms just one of many such interpretations that are conceivable and even viable. In deed, the distinction between the object domain and the sign domain can be observed in the fact that many languages can be deployed to depict the same set of objects and that any language worth its salt is bound to to give rise to many different forms of interpretive saliency. |
| + | |
| + | In formal settings, it is common to speak of interpretation as if it created a direct connection between the signs of a formal language and the objects of the intended domain, in other words, as if it determined the denotative component of a sign relation. But a closer attention to what goes on reveals that the process of interpretation is more indirect, that what it does is to provide each sign of a prospectively meaningful source language with a translation into an already established target language, where ''already established'' means that its relationship to pragmatic objects is taken for granted at the moment in question. |
| + | |
| + | With this in mind, it is clear that interpretation is an affair of signs that at best respects the objects of all of the signs that enter into it, and so it is the connotative aspect of semiotics that is at stake here. There is nothing wrong with my saying that I interpret a sentence of a formal language as a sign that refers to a function or to a proposition, so long as you understand that this reference is likely to be achieved by way of more familiar and perhaps less formal signs that you already take to denote those objects. |
| + | |
| + | On entering a context where a logical interpretation is intended for the sentences of a formal language there are a few conventions that make it easier to make the translation from abstract syntactic forms to their intended semantic senses. Although these conventions are expressed in unnecessarily colorful terms, from a purely abstract point of view, they do provide a useful array of connotations that help to negotiate what is otherwise a difficult transition. This terminology is introduced as the need for it arises in the process of interpreting the cactus language. |
| + | |
| + | The task of this Subsection is to specify a ''semantic function'' for the sentences of the cactus language <math>\mathfrak{L} = \mathfrak{C}(\mathfrak{P}),</math> in other words, to define a mapping that "interprets" each sentence of <math>\mathfrak{C}(\mathfrak{P})</math> as a sentence that says something, as a sentence that bears a meaning, in short, as a sentence that denotes a proposition, and thus as a sign of an indicator function. When the syntactic sentences of a formal language are given a referent significance in logical terms, for example, as denoting propositions or indicator functions, then each form of syntactic combination takes on a corresponding form of logical significance. |
| + | |
| + | By way of providing a logical interpretation for the cactus language, I introduce a family of operators on indicator functions that are called ''propositional connectives'', and I distinguish these from the associated family of syntactic combinations that are called ''sentential connectives'', where the relationship between these two realms of connection is exactly that between objects and their signs. A propositional connective, as an entity of a well-defined functional and operational type, can be treated in every way as a logical or a mathematical object, and thus as the type of object that can be denoted by the corresponding form of syntactic entity, namely, the sentential connective that is appropriate to the case in question. |
| + | |
| + | There are two basic types of connectives, called the ''blank connectives'' and the ''bound connectives'', respectively, with one connective of each type for each natural number <math>k = 0, 1, 2, 3, \ldots.</math> |
| + | |
| + | <ol style="list-style-type:decimal"> |
| + | |
| + | <li> |
| + | <p>The ''blank connective'' of <math>k\!</math> places is signified by the concatenation of the <math>k\!</math> sentences that fill those places.</p> |
| + | |
| + | <p>For the special case of <math>k = 0,\!</math> the blank connective is taken to be an empty string or a blank symbol — it does not matter which, since both are assigned the same denotation among propositions.</p> |
| + | |
| + | <p>For the generic case of <math>k > 0,\!</math> the blank connective takes the form <math>s_1 \cdot \ldots \cdot s_k.</math> In the type of data that is called a ''text'', the use of the center dot <math>(\cdot)</math> is generally supplanted by whatever number of spaces and line breaks serve to improve the readability of the resulting text.</p></li> |
| + | |
| + | <li> |
| + | <p>The ''bound connective'' of <math>k\!</math> places is signified by the surcatenation of the <math>k\!</math> sentences that fill those places.</p> |
| + | |
| + | <p>For the special case of <math>k = 0,\!</math> the bound connective is taken to be an empty closure — an expression enjoying one of the forms <math>\underline{(} \underline{)}, \, \underline{(} ~ \underline{)}, \, \underline{(} ~~ \underline{)}, \, \ldots</math> with any number of blank symbols between the parentheses — all of which are assigned the same logical denotation among propositions.</p> |
| + | |
| + | <p>For the generic case of <math>k > 0,\!</math> the bound connective takes the form <math>\underline{(} s_1, \ldots, s_k \underline{)}.</math></p></li> |
| + | |
| + | </ol> |
| + | |
| + | At this point, there are actually two different dialects, scripts, or modes of presentation for the cactus language that need to be interpreted, in other words, that need to have a semantic function defined on their domains. |
| + | |
| + | <ol style="list-style-type:lower-alpha"> |
| + | |
| + | <li>There is the literal formal language of strings in <math>\operatorname{PARCE} (\mathfrak{P}),</math> the ''painted and rooted cactus expressions'' that constitute the language <math>\mathfrak{L} = \mathfrak{C} (\mathfrak{P}) \subseteq \mathfrak{A}^* = (\mathfrak{M} \cup \mathfrak{P})^*.</math></li> |
| + | |
| + | <li>There is the figurative formal language of graphs in <math>\operatorname{PARC} (\mathfrak{P}),</math> the ''painted and rooted cacti'' themselves, a parametric family of graphs or a species of computational data structures that is graphically analogous to the language of literal strings.</li> |
| + | |
| + | </ol> |
| + | |
| + | Of course, these two modalities of formal language, like written and spoken natural languages, are meant to have compatible interpretations, and so it is usually sufficient to give just the meanings of either one. All that remains is to provide a ''codomain'' or a ''target space'' for the intended semantic function, in other words, to supply a suitable range of logical meanings for the memberships of these languages to map into. Out of the many interpretations that are formally possible to arrange, one way of doing this proceeds by making the following definitions: |
| + | |
| + | <ol style="list-style-type:decimal"> |
| + | |
| + | <li> |
| + | <p>The ''conjunction'' <math>\operatorname{Conj}_j^J q_j</math> of a set of propositions, <math>\{ q_j : j \in J \},</math> is a proposition that is true if and only if every one of the <math>q_j\!</math> is true.</p> |
| + | |
| + | <p><math>\operatorname{Conj}_j^J q_j</math> is true <math>\Leftrightarrow</math> <math>q_j\!</math> is true for every <math>j \in J.</math></p></li> |
| + | |
| + | <li> |
| + | <p>The ''surjunction'' <math>\operatorname{Surj}_j^J q_j</math> of a set of propositions, <math>\{ q_j : j \in J \},</math> is a proposition that is true if and only if exactly one of the <math>q_j\!</math> is untrue.</p> |
| + | |
| + | <p><math>\operatorname{Surj}_j^J q_j</math> is true <math>\Leftrightarrow</math> <math>q_j\!</math> is untrue for unique <math>j \in J.</math></p></li> |
| + | |
| + | </ol> |
| + | |
| + | If the number of propositions that are being joined together is finite, then the conjunction and the surjunction can be represented by means of sentential connectives, incorporating the sentences that represent these propositions into finite strings of symbols. |
| + | |
| + | If <math>J\!</math> is finite, for instance, if <math>J\!</math> consists of the integers in the interval <math>j = 1 ~\text{to}~ k,</math> and if each proposition <math>q_j\!</math> is represented by a sentence <math>s_j,\!</math> then the following strategies of expression are open: |
| + | |
| + | <ol style="list-style-type:decimal"> |
| + | |
| + | <li> |
| + | <p>The conjunction <math>\operatorname{Conj}_j^J q_j</math> can be represented by a sentence that is constructed by concatenating the <math>s_j\!</math> in the following fashion:</p> |
| + | |
| + | <p><math>\operatorname{Conj}_j^J q_j ~\leftrightsquigarrow~ s_1 s_2 \ldots s_k.</math></p></li> |
| + | |
| + | <li> |
| + | <p>The surjunction <math>\operatorname{Surj}_j^J q_j</math> can be represented by a sentence that is constructed by surcatenating the <math>s_j\!</math> in the following fashion:</p> |
| + | |
| + | <p><math>\operatorname{Surj}_j^J q_j ~\leftrightsquigarrow~ \underline{(} s_1, s_2, \ldots, s_k \underline{)}.</math></p></li> |
| + | |
| + | </ol> |
| + | |
| + | If one opts for a mode of interpretation that moves more directly from the parse graph of a sentence to the potential logical meaning of both the PARC and the PARCE, then the following specifications are in order: |
| + | |
| + | A cactus rooted at a particular node is taken to represent what that node denotes, its logical denotation or its logical interpretation. |
| + | |
| + | # The logical denotation of a node is the logical conjunction of that node's arguments, which are defined as the logical denotations of that node's attachments. The logical denotation of either a blank symbol or an empty node is the boolean value <math>\underline{1} = \operatorname{true}.</math> The logical denotation of the paint <math>\mathfrak{p}_j\!</math> is the proposition <math>p_j,\!</math> a proposition that is regarded as ''primitive'', at least, with respect to the level of analysis that is represented in the current instance of <math>\mathfrak{C} (\mathfrak{P}).</math> |
| + | # The logical denotation of a lobe is the logical surjunction of that lobe's arguments, which are defined as the logical denotations of that lobe's accoutrements. As a corollary, the logical denotation of the parse graph of <math>\underline{(} \underline{)},</math> otherwise called a ''needle'', is the boolean value <math>\underline{0} = \operatorname{false}.</math> |
| + | |
| + | If one takes the point of view that PARCs and PARCEs amount to a pair of intertranslatable languages for the same domain of objects, then denotation brackets of the form <math>\downharpoonleft \ldots \downharpoonright</math> can be used to indicate the logical denotation <math>\downharpoonleft C_j \downharpoonright</math> of a cactus <math>C_j\!</math> or the logical denotation <math>\downharpoonleft s_j \downharpoonright</math> of a sentence <math>s_j.\!</math> |
| + | |
| + | Tables 14.1 and 14.2 summarize the relations that serve to connect the formal language of sentences with the logical language of propositions. Between these two realms of expression there is a family of graphical data structures that arise in parsing the sentences and that serve to facilitate the performance of computations on the indicator functions. The graphical language supplies an intermediate form of representation between the formal sentences and the indicator functions, and the form of mediation that it provides is very useful in rendering the possible connections between the other two languages conceivable in fact, not to mention in carrying out the necessary translations on a practical basis. These Tables include this intermediate domain in their Central Columns. Between their First and Middle Columns they illustrate the mechanics of parsing the abstract sentences of the cactus language into the graphical data structures of the corresponding species. Between their Middle and Final Columns they summarize the semantics of interpreting the graphical forms of representation for the purposes of reasoning with propositions. |
| + | |
| + | <br> |
| + | |
| + | {| align="center" border="1" cellpadding="8" cellspacing="0" style="text-align:center; width:90%" |
| + | |+ '''Table 14.1 Semantic Translation : Functional Form''' |
| + | |- style="background:whitesmoke" |
| + | | |
| + | {| align="center" border="0" cellpadding="8" cellspacing="0" style="background:whitesmoke; width:100%" |
| + | | width="20%" | <math>\operatorname{Sentence}</math> |
| + | | width="20%" | <math>\xrightarrow[\operatorname{~~~~~~~~~~}]{\operatorname{Parse}}</math> |
| + | | width="20%" | <math>\operatorname{Graph}</math> |
| + | | width="20%" | <math>\xrightarrow[\operatorname{~~~~~~~~~~}]{\operatorname{Denotation}}</math> |
| + | | width="20%" | <math>\operatorname{Proposition}</math> |
| + | |} |
| + | |- |
| + | | |
| + | {| align="center" border="0" cellpadding="8" cellspacing="0" width="100%" |
| + | | width="20%" | <math>s_j\!</math> |
| + | | width="20%" | <math>\xrightarrow{\operatorname{~~~~~~~~~~}}</math> |
| + | | width="20%" | <math>C_j\!</math> |
| + | | width="20%" | <math>\xrightarrow{\operatorname{~~~~~~~~~~}}</math> |
| + | | width="20%" | <math>q_j\!</math> |
| + | |} |
| + | |- |
| + | | |
| + | {| align="center" border="0" cellpadding="8" cellspacing="0" width="100%" |
| + | | width="20%" | <math>\operatorname{Conc}^0</math> |
| + | | width="20%" | <math>\xrightarrow{\operatorname{~~~~~~~~~~}}</math> |
| + | | width="20%" | <math>\operatorname{Node}^0</math> |
| + | | width="20%" | <math>\xrightarrow{\operatorname{~~~~~~~~~~}}</math> |
| + | | width="20%" | <math>\underline{1}</math> |
| + | |- |
| + | | width="20%" | <math>\operatorname{Conc}^k_j s_j</math> |
| + | | width="20%" | <math>\xrightarrow{\operatorname{~~~~~~~~~~}}</math> |
| + | | width="20%" | <math>\operatorname{Node}^k_j C_j</math> |
| + | | width="20%" | <math>\xrightarrow{\operatorname{~~~~~~~~~~}}</math> |
| + | | width="20%" | <math>\operatorname{Conj}^k_j q_j</math> |
| + | |} |
| + | |- |
| + | | |
| + | {| align="center" border="0" cellpadding="8" cellspacing="0" width="100%" |
| + | | width="20%" | <math>\operatorname{Surc}^0</math> |
| + | | width="20%" | <math>\xrightarrow{\operatorname{~~~~~~~~~~}}</math> |
| + | | width="20%" | <math>\operatorname{Lobe}^0</math> |
| + | | width="20%" | <math>\xrightarrow{\operatorname{~~~~~~~~~~}}</math> |
| + | | width="20%" | <math>\underline{0}</math> |
| + | |- |
| + | | width="20%" | <math>\operatorname{Surc}^k_j s_j</math> |
| + | | width="20%" | <math>\xrightarrow{\operatorname{~~~~~~~~~~}}</math> |
| + | | width="20%" | <math>\operatorname{Lobe}^k_j C_j</math> |
| + | | width="20%" | <math>\xrightarrow{\operatorname{~~~~~~~~~~}}</math> |
| + | | width="20%" | <math>\operatorname{Surj}^k_j q_j</math> |
| + | |} |
| + | |} |
| + | |
| + | <br> |
| + | |
| + | {| align="center" border="1" cellpadding="8" cellspacing="0" style="text-align:center; width:90%" |
| + | |+ '''Table 14.2 Semantic Translation : Equational Form''' |
| + | |- style="background:whitesmoke" |
| + | | |
| + | {| align="center" border="0" cellpadding="8" cellspacing="0" style="background:whitesmoke; width:100%" |
| + | | width="20%" | <math>\downharpoonleft \operatorname{Sentence} \downharpoonright</math> |
| + | | width="20%" | <math>\stackrel{\operatorname{Parse}}{=}</math> |
| + | | width="20%" | <math>\downharpoonleft \operatorname{Graph} \downharpoonright</math> |
| + | | width="20%" | <math>\stackrel{\operatorname{Denotation}}{=}</math> |
| + | | width="20%" | <math>\operatorname{Proposition}</math> |
| + | |} |
| + | |- |
| + | | |
| + | {| align="center" border="0" cellpadding="8" cellspacing="0" width="100%" |
| + | | width="20%" | <math>\downharpoonleft s_j \downharpoonright</math> |
| + | | width="20%" | <math>=\!</math> |
| + | | width="20%" | <math>\downharpoonleft C_j \downharpoonright</math> |
| + | | width="20%" | <math>=\!</math> |
| + | | width="20%" | <math>q_j\!</math> |
| + | |} |
| + | |- |
| + | | |
| + | {| align="center" border="0" cellpadding="8" cellspacing="0" width="100%" |
| + | | width="20%" | <math>\downharpoonleft \operatorname{Conc}^0 \downharpoonright</math> |
| + | | width="20%" | <math>=\!</math> |
| + | | width="20%" | <math>\downharpoonleft \operatorname{Node}^0 \downharpoonright</math> |
| + | | width="20%" | <math>=\!</math> |
| + | | width="20%" | <math>\underline{1}</math> |
| + | |- |
| + | | width="20%" | <math>\downharpoonleft \operatorname{Conc}^k_j s_j \downharpoonright</math> |
| + | | width="20%" | <math>=\!</math> |
| + | | width="20%" | <math>\downharpoonleft \operatorname{Node}^k_j C_j \downharpoonright</math> |
| + | | width="20%" | <math>=\!</math> |
| + | | width="20%" | <math>\operatorname{Conj}^k_j q_j</math> |
| + | |} |
| + | |- |
| + | | |
| + | {| align="center" border="0" cellpadding="8" cellspacing="0" width="100%" |
| + | | width="20%" | <math>\downharpoonleft \operatorname{Surc}^0 \downharpoonright</math> |
| + | | width="20%" | <math>=\!</math> |
| + | | width="20%" | <math>\downharpoonleft \operatorname{Lobe}^0 \downharpoonright</math> |
| + | | width="20%" | <math>=\!</math> |
| + | | width="20%" | <math>\underline{0}</math> |
| + | |- |
| + | | width="20%" | <math>\downharpoonleft \operatorname{Surc}^k_j s_j \downharpoonright</math> |
| + | | width="20%" | <math>=\!</math> |
| + | | width="20%" | <math>\downharpoonleft \operatorname{Lobe}^k_j C_j \downharpoonright</math> |
| + | | width="20%" | <math>=\!</math> |
| + | | width="20%" | <math>\operatorname{Surj}^k_j q_j</math> |
| + | |} |
| + | |} |
| + | |
| + | <br> |
| + | |
| + | Aside from their common topic, the two Tables present slightly different ways of conceptualizing the operations that go to establish their maps. Table 14.1 records the functional associations that connect each domain with the next, taking the triplings of a sentence <math>s_j,\!</math> a cactus <math>C_j,\!</math> and a proposition <math>q_j\!</math> as basic data, and fixing the rest by recursion on these. Table 14.2 records these associations in the form of equations, treating sentences and graphs as alternative kinds of signs, and generalizing the denotation bracket operator to indicate the proposition that either denotes. It should be clear at this point that either scheme of translation puts the sentences, the graphs, and the propositions that it associates with each other roughly in the roles of the signs, the interpretants, and the objects, respectively, whose triples define an appropriate sign relation. Indeed, the "roughly" can be made "exactly" as soon as the domains of a suitable sign relation are specified precisely. |
| + | |
| + | 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 <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 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. |
| + | |
| + | <br> |
| + | |
| + | {| align="center" border="1" cellpadding="8" cellspacing="0" style="text-align:center; width:90%" |
| + | |+ '''Table 15. Boolean Functions on Zero Variables''' |
| + | |- style="background:whitesmoke" |
| + | | width="14%" | <math>F\!</math> |
| + | | width="14%" | <math>F\!</math> |
| + | | width="48%" | <math>F()\!</math> |
| + | | width="24%" | <math>F\!</math> |
| + | |- |
| + | | <math>\underline{0}</math> |
| + | | <math>F_0^{(0)}\!</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>(~)</math> |
| + | |- |
| + | | <math>\underline{1}</math> |
| + | | <math>F_1^{(0)}\!</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>((~))</math> |
| + | |} |
| + | |
| + | <br> |
| + | |
| + | Column 1 lists each boolean element or boolean function under its ordinary constant name or under a succinct nickname, respectively. |
| + | |
| + | Column 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 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 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. |
| + | |
| + | <br> |
| + | |
| + | {| align="center" border="1" cellpadding="6" cellspacing="0" style="text-align:center; width:90%" |
| + | |+ '''Table 16. Boolean Functions on One Variable''' |
| + | |- style="background:whitesmoke" |
| + | | width="14%" | <math>F\!</math> |
| + | | width="14%" | <math>F\!</math> |
| + | | colspan="2" | <math>F(x)\!</math> |
| + | | width="24%" | <math>F\!</math> |
| + | |- style="background:whitesmoke" |
| + | | width="14%" | |
| + | | width="14%" | |
| + | | width="24%" | <math>F(\underline{1})</math> |
| + | | width="24%" | <math>F(\underline{0})</math> |
| + | | width="24%" | |
| + | |- |
| + | | <math>F_0^{(1)}\!</math> |
| + | | <math>F_{00}^{(1)}\!</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>(~)</math> |
| + | |- |
| + | | <math>F_1^{(1)}\!</math> |
| + | | <math>F_{01}^{(1)}\!</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>(x)\!</math> |
| + | |- |
| + | | <math>F_2^{(1)}\!</math> |
| + | | <math>F_{10}^{(1)}\!</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>x\!</math> |
| + | |- |
| + | | <math>F_3^{(1)}\!</math> |
| + | | <math>F_{11}^{(1)}\!</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>((~))</math> |
| + | |} |
| + | |
| + | <br> |
| + | |
| + | Here, Column 1 codes the contents of Column 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. |
| + | |
| + | Table 17 presents the boolean functions on two variables, <math>F^{(2)} : \underline\mathbb{B}^2 \to \underline\mathbb{B},</math> of which there are precisely sixteen. |
| + | |
| + | <br> |
| + | |
| + | {| align="center" border="1" cellpadding="4" cellspacing="0" style="text-align:center; width:90%" |
| + | |+ '''Table 17. Boolean Functions on Two Variables''' |
| + | |- style="background:whitesmoke" |
| + | | width="14%" | <math>F\!</math> |
| + | | width="14%" | <math>F\!</math> |
| + | | colspan="4" | <math>F(x, y)\!</math> |
| + | | width="24%" | <math>F\!</math> |
| + | |- style="background:whitesmoke" |
| + | | width="14%" | |
| + | | width="14%" | |
| + | | width="12%" | <math>F(\underline{1}, \underline{1})</math> |
| + | | width="12%" | <math>F(\underline{1}, \underline{0})</math> |
| + | | width="12%" | <math>F(\underline{0}, \underline{1})</math> |
| + | | width="12%" | <math>F(\underline{0}, \underline{0})</math> |
| + | | width="24%" | |
| + | |- |
| + | | <math>F_{0}^{(2)}\!</math> |
| + | | <math>F_{0000}^{(2)}\!</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>(~)</math> |
| + | |- |
| + | | <math>F_{1}^{(2)}\!</math> |
| + | | <math>F_{0001}^{(2)}\!</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>(x)(y)\!</math> |
| + | |- |
| + | | <math>F_{2}^{(2)}\!</math> |
| + | | <math>F_{0010}^{(2)}\!</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>(x) y\!</math> |
| + | |- |
| + | | <math>F_{3}^{(2)}\!</math> |
| + | | <math>F_{0011}^{(2)}\!</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>(x)\!</math> |
| + | |- |
| + | | <math>F_{4}^{(2)}\!</math> |
| + | | <math>F_{0100}^{(2)}\!</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>x (y)\!</math> |
| + | |- |
| + | | <math>F_{5}^{(2)}\!</math> |
| + | | <math>F_{0101}^{(2)}\!</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>(y)\!</math> |
| + | |- |
| + | | <math>F_{6}^{(2)}\!</math> |
| + | | <math>F_{0110}^{(2)}\!</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>(x, y)\!</math> |
| + | |- |
| + | | <math>F_{7}^{(2)}\!</math> |
| + | | <math>F_{0111}^{(2)}\!</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>(x y)\!</math> |
| + | |- |
| + | | <math>F_{8}^{(2)}\!</math> |
| + | | <math>F_{1000}^{(2)}\!</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>x y\!</math> |
| + | |- |
| + | | <math>F_{9}^{(2)}\!</math> |
| + | | <math>F_{1001}^{(2)}\!</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>((x, y))\!</math> |
| + | |- |
| + | | <math>F_{10}^{(2)}\!</math> |
| + | | <math>F_{1010}^{(2)}\!</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>y\!</math> |
| + | |- |
| + | | <math>F_{11}^{(2)}\!</math> |
| + | | <math>F_{1011}^{(2)}\!</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>(x (y))\!</math> |
| + | |- |
| + | | <math>F_{12}^{(2)}\!</math> |
| + | | <math>F_{1100}^{(2)}\!</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>x\!</math> |
| + | |- |
| + | | <math>F_{13}^{(2)}\!</math> |
| + | | <math>F_{1101}^{(2)}\!</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>((x)y)\!</math> |
| + | |- |
| + | | <math>F_{14}^{(2)}\!</math> |
| + | | <math>F_{1110}^{(2)}\!</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{0}</math> |
| + | | <math>((x)(y))\!</math> |
| + | |- |
| + | | <math>F_{15}^{(2)}\!</math> |
| + | | <math>F_{1111}^{(2)}\!</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>\underline{1}</math> |
| + | | <math>((~))</math> |
| + | |} |
| + | |
| + | <br> |
| + | |
| + | As before, all of the boolean functions of fewer variables are subsumed in this Table, though under a set of alternative names and possibly different interpretations. Just to acknowledge a few of the more notable pseudonyms: |
| + | |
| + | : The constant function <math>\underline{0} ~:~ \underline\mathbb{B}^2 \to \underline\mathbb{B}</math> appears under the name <math>F_{0}^{(2)}.</math> |
| + | |
| + | : The constant function <math>\underline{1} ~:~ \underline\mathbb{B}^2 \to \underline\mathbb{B}</math> appears under the name <math>F_{15}^{(2)}.</math> |
| + | |
| + | : The negation and identity of the first variable are <math>F_{3}^{(2)}</math> and <math>F_{12}^{(2)},</math> respectively. |
| + | |
| + | : The negation and identity of the second variable are <math>F_{5}^{(2)}</math> and <math>F_{10}^{(2)},</math> respectively. |
| + | |
| + | : The logical conjunction is given by the function <math>F_{8}^{(2)} (x, y) = x \cdot y.</math> |
| + | |
| + | : The logical disjunction is given by the function <math>F_{14}^{(2)} (x, y) = \underline{((} ~x~ \underline{)(} ~y~ \underline{))}.</math> |
| + | |
| + | Functions expressing the ''conditionals'', ''implications'', or ''if-then'' statements are given in the following ways: |
| + | |
| + | : <math>[x \Rightarrow y] = F_{11}^{(2)} (x, y) = \underline{(} ~x~ \underline{(} ~y~ \underline{))} = [\operatorname{not}~ x ~\operatorname{without}~ y].</math> |
| + | |
| + | : <math>[x \Leftarrow y] = F_{13}^{(2)} (x, y) = \underline{((} ~x~ \underline{)} ~y~ \underline{)} = [\operatorname{not}~ y ~\operatorname{without}~ x].</math> |
| + | |
| + | The function that corresponds to the ''biconditional'', the ''equivalence'', or the ''if and only'' statement is exhibited in the following fashion: |
| + | |
| + | : <math>[x \Leftrightarrow y] = [x = y] = F_{9}^{(2)} (x, y) = \underline{((} ~x~,~y~ \underline{))}.</math> |
| + | |
| + | Finally, there is a boolean function that is logically associated with the ''exclusive disjunction'', ''inequivalence'', or ''not equals'' statement, algebraically associated with the ''binary sum'' operation, and geometrically associated with the ''symmetric difference'' of sets. This function is given by: |
| + | |
| + | : <math>[x \neq y] = [x + y] = F_{6}^{(2)} (x, y) = \underline{(} ~x~,~y~ \underline{)}.</math> |
| + | |
| + | Let me now address one last question that may have occurred to some. What has happened, in this suggested scheme of functional reasoning, to the distinction that is quite pointedly made by careful logicians between (1) the connectives called ''conditionals'' and symbolized by the signs <math>(\rightarrow)</math> and <math>(\leftarrow),</math> and (2) the assertions called ''implications'' and symbolized by the signs <math>(\Rightarrow)</math> and <math>(\Leftarrow)</math>, and, in a related question: What has happened to the distinction that is equally insistently made between (3) the connective called the ''biconditional'' and signified by the sign <math>(\leftrightarrow)</math> and (4) the assertion that is called an ''equivalence'' and signified by the sign <math>(\Leftrightarrow)</math>? My answer is this: For my part, I am deliberately avoiding making these distinctions at the level of syntax, preferring to treat them instead as distinctions in the use of boolean functions, turning on whether the function is mentioned directly and used to compute values on arguments, or whether its inverse is being invoked to indicate the fibers of truth or untruth under the propositional function in question. |
| | | |
| ==References== | | ==References== |