Truth Function Algebra

Algebra is all about keeping a predicate true while rearranging the variables that define its shape. Identities introduce new or repeats of existing variables, commutativity switches the location of variables, and associativity changes what functions variables are in.

This section will explore these three algebraic concepts as they pertain to generalized truth functions. In order to accommodate this exploration, I also introduce a method for calculating new operators.

Bit By Bit

Bitwise Operator Calculation

$$\big(A,(B,C)_\alpha\big)_\beta=(A,B,C)_\gamma\ \ni\ \gamma=\big[\mathtt{0xAA},[\mathtt{0xCC},\mathtt{0xF0}]_\alpha\big]_\beta$$

Algebra is mostly performed in abstraction; variables are never really given value. But eventually, someone will have to put rubber to the road, and reify the algebraic result. In generalized truth functions, that method is the bitwise calculation.

This section derives the method for calculating a truth function's operator from a composition of truth functions, and provides some examples.

Redundancy At Work

Redundant Variables


There's nothing saying a variable can't repeat in a domain. In fact, repeating a variable can be very useful. In later exercises we'll see precisely how useful these stutters can be, but for now, we'll just look at some basic consequences.

So, What Do You Do Here?

Trivial Truth Functions

$$(\textbf{A}^n,\textbf{B}^m)_\alpha=(\textbf{A}^n)_\beta\ \forall\ (\textbf{A}^n,\textbf{B}^m)_\text{CV}$$

Often we're confronted with superfluous information, some concept that really doesn't matter. This also happens in truth functions. In the notation I use, functions with unnecessary input variables are called trivial.

No, You First



Commutativity is the term mobility tool that swaps the position of variables in the cue of an expression. Normally, in algebra, commutativity is restricted to functions that are commute variables without changing the function. However, by allowing the truth function to change commutativity is guaranteed.

Singled Out

$$ (X^n,\textbf{A}^m)_\alpha=\big(X^n,(\textbf{A}^m)_\beta\big)_\gamma\iff(X^n,\textbf{A}^m)_\alpha\big|_{(\textbf{A}^m)_\text{CV}=i}\in\big\{(X^n)_{\theta_0},(X^n)_{\theta_1}\big\}\forall\ i $$

where $(X^n,0)_\gamma=(X^n)_{\theta_0}$, $(X^n,1)_\gamma=(X^n)_{\theta_1}$, and each parse of $\beta$ is used to select which $\theta$ will react to $X^n$ for each $(\textbf{A}^m)_\text{CV}$.

Switch It On

Creating Composition With Switch Statements