Version of 2018-12-05 or later
Draft Outline
The basic building block for Boolean geometry and logic
is the Boolean “object of truth values”: $\bftwo = \{\ladjbot,\radjtop\} = \{\text{false},\text{true}\}$.
We give this set the (linear) order $\ladjbot\lt\radjtop$, in accordance with the ex falso sequitur quodlibet principle of logic.
Boolean geometry then considers powers of $\bftwo$:
the Boolean point | $\bftwo^0 \cong 1$ , |
the Boolean line | $\bftwo^1 \cong \bftwo$ , |
the Boolean plane | $\bftwo^2 \cong \bftwo\times\bftwo$ , |
the Boolean cube | $\bftwo^3\cong \bftwo\times\bftwo\times\bftwo$ , and so on. |
The next step is to consider Boolean (i.e., $\bftwo$-valued) functions (which we will call predicates) defined on these geometric objects.
Since (the Boolean object of truth values, $\bftwo$) is (the subobject classifier) for (the category of sets),
such predicates are in bijection with
the subsets of (the source (domain) of the predicate).
A comparison of the traditional way of presenting truth tables to
the geometrical way (the graph of the function from $\bftwo\times\bftwo$ to $\bftwo$ determined by the truth table):
Truth table for $\objA\wedge\objB$
$\objA$ | $\objB$ | $\objA\wedge\objB$ |
$\radjtop$ | $\radjtop$ | $\radjtop$ |
$\ladjbot$ | $\radjtop$ | $\ladjbot$ |
$\radjtop$ | $\ladjbot$ | $\ladjbot$ |
$\ladjbot$ | $\ladjbot$ | $\ladjbot$ |
|
The graph of the function $\wedge : \bftwo\times\bftwo \rightarrow \bftwo$
| | | $\objB$ |
$\radjtop$ | $\ladjbot$ | $\Rule{64px}{2px}{0px}$ | $\radjtop$ |
$\neg\objA$ | $\Rule{2px}{32px}{32px}$ | $\objA\wedge\objB$ | $\Rule{2px}{32px}{32px}$ | $\objA$ |
$\ladjbot$ | $\ladjbot$ | $\Rule{64px}{2px}{0px}$ | $\ladjbot$ |
| $\ladjbot$ | $\neg\objB$ | $\radjtop$ |
|
| | | $\objB\in\{\ladjbot,\radjtop\}$ |
| | $\vary\in\{0,1\}$ |
| | $\Big\uparrow$ | $\objB$ |
$1$ | $\top$ | $\begin{array}{c}\langle \ladjbot, \radjtop \rangle\\\objB - \objA\\\end{array}$ | $\Rule{64px}{2px}{0px}$ | $\begin{array}{c}\langle \radjtop, \radjtop \rangle\\\objA\cap\objB\\\end{array}$ |
| $\neg\objA$ | $\Rule{2px}{32px}{32px}$ | | $\Rule{2px}{32px}{32px}$ | $\objA$ |
$0$ | $\bot$ | $\begin{array}{c}\langle \ladjbot, \ladjbot \rangle\\\end{array}$ | $\Rule{64px}{2px}{0px}$ | $\begin{array}{c}\langle \radjtop, \ladjbot \rangle\\\objA - \objB\\\end{array}$ | | $\longrightarrow \objA\in\{\ladjbot,\radjtop\}, \varx\in\{0,1\}$ |
| | $\bot$ | $\neg\objB$ | $\top$ |
| | $0$ | | $1$ |
${2\times2 \choose 4} = 1$ | all |
| |
| | | $\objB$ |
$\radjtop$ | $\radjtop$ | $\Rule{64px}{2px}{0px}$ | $\radjtop$ |
$\neg\objA$ | $\Rule{2px}{32px}{32px}$ | $\begin{array}{c}\radjtop\\1\end{array}$ | $\Rule{2px}{32px}{32px}$ | $\objA$ |
$\ladjbot$ | $\radjtop$ | $\Rule{64px}{2px}{0px}$ | $\radjtop$ |
| $\ladjbot$ | $\neg\objB$ | $\radjtop$ |
|
${2\times2 \choose 3} = 4$ | ells angles |
|
| | | $\objB$ |
$\radjtop$ | $\radjtop$ | $\Rule{128px}{2px}{0px}$ | $\radjtop$ |
$\neg\objA$ | $\Rule{2px}{32px}{32px}$ | $\begin{array}{c}\objA\vee\objB\\(\varx+1)(\vary+1)+1\\\varx\vary+\varx+\vary\end{array}$ | $\Rule{2px}{32px}{32px}$ | $\objA$ |
$\ladjbot$ | $\ladjbot$ | $\Rule{128px}{2px}{0px}$ | $\radjtop$ |
| $\ladjbot$ | $\neg\objB$ | $\radjtop$ |
|
| | | $\objB$ |
$\radjtop$ | $\radjtop$ | $\Rule{96px}{2px}{0px}$ | $\radjtop$ |
$\neg\objA$ | $\Rule{2px}{32px}{32px}$ | $\begin{array}{c}\neg\objA\vee\objB\\\objA\Rightarrow\objB\\\neg(\objA\wedge\neg\objB)\\\varx(\vary+1)+1\\\varx\vary+\varx+1\end{array}$ | $\Rule{2px}{32px}{32px}$ | $\objA$ |
$\ladjbot$ | $\radjtop$ | $\Rule{96px}{2px}{0px}$ | $\ladjbot$ |
| $\ladjbot$ | $\neg\objB$ | $\radjtop$ |
|
| | | $\objB$ |
$\radjtop$ | $\ladjbot$ | $\Rule{96px}{2px}{0px}$ | $\radjtop$ |
$\neg\objA$ | $\Rule{2px}{32px}{32px}$ | $\begin{array}{c}\objA\vee\neg\objB\\\objA\Leftarrow\objB\\\neg(\neg\objA\wedge\objB)\\(\varx+1)\vary+1\\\varx\vary+\vary+1\end{array}$ | $\Rule{2px}{32px}{32px}$ | $\objA$ |
$\ladjbot$ | $\radjtop$ | $\Rule{96px}{2px}{0px}$ | $\radjtop$ |
| $\ladjbot$ | $\neg\objB$ | $\radjtop$ |
|
| | | $\objB$ |
$\radjtop$ | $\radjtop$ | $\Rule{128px}{2px}{0px}$ | $\ladjbot$ |
$\neg\objA$ | $\Rule{2px}{32px}{32px}$ | $\begin{array}{c}\neg\objA\vee\neg\objB\\\neg(\objA\wedge\objB)\\\varx\vary+1\end{array}$ | $\Rule{2px}{32px}{32px}$ | $\objA$ |
$\ladjbot$ | $\radjtop$ | $\Rule{128px}{2px}{0px}$ | $\radjtop$ |
| $\ladjbot$ | $\neg\objB$ | $\radjtop$ |
|
${2\times2 \choose 2} = 6$ | lines |
| | | $\objB$ |
$\radjtop$ | $\ladjbot$ | $\Rule{64px}{2px}{0px}$ | $\radjtop$ |
$\neg\objA$ | $\Rule{2px}{32px}{32px}$ | $\begin{array}{c}\objA\\\varx\end{array}$ | $\Rule{2px}{32px}{32px}$ | $\objA$ |
$\ladjbot$ | $\ladjbot$ | $\Rule{64px}{2px}{0px}$ | $\radjtop$ |
| $\ladjbot$ | $\neg\objB$ | $\radjtop$ |
|
| | | $\objB$ |
$\radjtop$ | $\radjtop$ | $\Rule{128px}{2px}{0px}$ | $\radjtop$ |
$\neg\objA$ | $\Rule{2px}{32px}{32px}$ | $\begin{array}{c}\objB\\\vary\end{array}$ | $\Rule{2px}{32px}{32px}$ | $\objA$ |
$\ladjbot$ | $\ladjbot$ | $\Rule{128px}{2px}{0px}$ | $\ladjbot$ |
| $\ladjbot$ | $\neg\objB$ | $\radjtop$ |
|
| | | $\objB$ |
$\radjtop$ | $\ladjbot$ | $\Rule{96px}{2px}{0px}$ | $\radjtop$ |
$\neg\objA$ | $\Rule{2px}{32px}{32px}$ | $\begin{array}{c}\objA\Leftrightarrow\objB\\\varx+\vary+1\end{array}$ | $\Rule{2px}{32px}{32px}$ | $\objA$ |
$\ladjbot$ | $\radjtop$ | $\Rule{96px}{2px}{0px}$ | $\ladjbot$ |
| $\ladjbot$ | $\neg\objB$ | $\radjtop$ |
|
| | | $\objB$ |
$\radjtop$ | $\radjtop$ | $\Rule{96px}{2px}{0px}$ | $\ladjbot$ |
$\neg\objA$ | $\Rule{2px}{32px}{32px}$ | $\begin{array}{c}\objA \veebar\objB\\\varx+\vary\end{array}$ | $\Rule{2px}{32px}{32px}$ | $\objA$ |
$\ladjbot$ | $\ladjbot$ | $\Rule{96px}{2px}{0px}$ | $\radjtop$ |
| $\ladjbot$ | $\neg\objB$ | $\radjtop$ |
|
| | | $\objB$ |
$\radjtop$ | $\ladjbot$ | $\Rule{128px}{2px}{0px}$ | $\ladjbot$ |
$\neg\objA$ | $\Rule{2px}{32px}{32px}$ | $\begin{array}{c}\neg\objB\\\vary+1\end{array}$ | $\Rule{2px}{32px}{32px}$ | $\objA$ |
$\ladjbot$ | $\radjtop$ | $\Rule{128px}{2px}{0px}$ | $\radjtop$ |
| $\ladjbot$ | $\neg\objB$ | $\radjtop$ |
|
| | | $\objB$ |
$\radjtop$ | $\radjtop$ | $\Rule{64px}{2px}{0px}$ | $\ladjbot$ |
$\neg\objA$ | $\Rule{2px}{32px}{32px}$ | $\begin{array}{c}\neg\objA\\\varx+1\end{array}$ | $\Rule{2px}{32px}{32px}$ | $\objA$ |
$\ladjbot$ | $\radjtop$ | $\Rule{64px}{2px}{0px}$ | $\ladjbot$ |
| $\ladjbot$ | $\neg\objB$ | $\radjtop$ |
|
${2\times2 \choose 1} = 4$ | points vertices |
|
| | | $\objB$ |
$\radjtop$ | $\ladjbot$ | $\Rule{128px}{2px}{0px}$ | $\radjtop$ |
$\neg\objA$ | $\Rule{2px}{32px}{32px}$ | $\begin{array}{c}\objA\wedge\objB\\\varx\vary\end{array}$ | $\Rule{2px}{32px}{32px}$ | $\objA$ |
$\ladjbot$ | $\ladjbot$ | $\Rule{128px}{2px}{0px}$ | $\ladjbot$ |
| $\ladjbot$ | $\neg\objB$ | $\radjtop$ |
|
| | | $\objB$ |
$\radjtop$ | $\radjtop$ | $\Rule{96px}{2px}{0px}$ | $\ladjbot$ |
$\neg\objA$ | $\Rule{2px}{32px}{32px}$ | $\begin{array}{c}\neg\objA\wedge\objB\\(\varx+1)\vary\\\varx\vary+\vary\end{array}$ | $\Rule{2px}{32px}{32px}$ | $\objA$ |
$\ladjbot$ | $\ladjbot$ | $\Rule{96px}{2px}{0px}$ | $\ladjbot$ |
| $\ladjbot$ | $\neg\objB$ | $\radjtop$ |
|
| | | $\objB$ |
$\radjtop$ | $\ladjbot$ | $\Rule{96px}{2px}{0px}$ | $\ladjbot$ |
$\neg\objA$ | $\Rule{2px}{32px}{32px}$ | $\begin{array}{c}\objA\wedge\neg\objB\\\varx(\vary+1)\\\varx\vary+\varx\end{array}$ | $\Rule{2px}{32px}{32px}$ | $\objA$ |
$\ladjbot$ | $\ladjbot$ | $\Rule{96px}{2px}{0px}$ | $\radjtop$ |
| $\ladjbot$ | $\neg\objB$ | $\radjtop$ |
|
| | | $\objB$ |
$\radjtop$ | $\ladjbot$ | $\Rule{128px}{2px}{0px}$ | $\ladjbot$ |
$\neg\objA$ | $\Rule{2px}{32px}{32px}$ | $\begin{array}{c}\neg\objA\wedge\neg\objB\\(\varx+1)(\vary+1)\\\varx\vary+\varx+\vary+1\end{array}$ | $\Rule{2px}{32px}{32px}$ | $\objA$ |
$\ladjbot$ | $\radjtop$ | $\Rule{128px}{2px}{0px}$ | $\ladjbot$ |
| $\ladjbot$ | $\neg\objB$ | $\radjtop$ |
|
|
${2\times2 \choose 0} = 1$ | none |
| |
| | | $\objB$ |
$\radjtop$ | $\ladjbot$ | $\Rule{64px}{2px}{0px}$ | $\ladjbot$ |
$\neg\objA$ | $\Rule{2px}{32px}{32px}$ | $\begin{array}{c}\ladjbot\\0\end{array}$ | $\Rule{2px}{32px}{32px}$ | $\objA$ |
$\ladjbot$ | $\ladjbot$ | $\Rule{64px}{2px}{0px}$ | $\ladjbot$ |
| $\ladjbot$ | $\neg\objB$ | $\radjtop$ |
|
\[\begin{array}{}
&&& dot & \unicode{0x2500} & dot \\
&& \unicode{0x2571} && \unicode{0x2571} \\
& dot & \unicode{0x2500} & dot \\
\\
&& dot & \unicode{0x2500} & dot \\
& \unicode{0x2571} && \unicode{0x2571} \\
dot & \unicode{0x2500} & dot \\
\end{array}\]
No comments:
Post a Comment