>By the way, an interesting question is how complex boolean numbers could be defined (naturally).
Booleans act as a weird sort of field where there's no addition¹ and both ∧ and ∨ act as multiplication operators with F≡0 for ∧ and T≡0 for ∨. From this, you can build up the 3×3 tables for each relation to derive that if we add a third value to the boolean arithmetic, say, i, that
T ∨ i = T
F ∨ i = i
i ∨ i = F
and
F ∧ i = F
T ∧ i = i
i ∧ i = T
No other values are possible without destroying the group operations on ∧ and ∨ since we can't have a multiplication operation between two non-zero values give zero and within the non-zero members of the group, we cannot have repeated elements in any row or column.
———
1. This isn't strictly true since we can actually define two possible addition operators, each associated with ∧ and ∨. The associated addition for ∧ would be exclusive or (A + B = T iff A ≠ B) and the associated addition for ∨ would be if and only if (A + B = T iff A = B). The extension of these groups to include i is left as an exercise for the reader, but yes, there is only one possible solution.
You're trying to build up an extension field but you're just not quite getting there.
I'll try to describe the GF(2^2) field, aka, the GF(4) field, consisting of two binary numbers. In GF-world, we use the variable "x" instead of "i" to represent the "complex-like" arithmetic.
This means that every "complex boolean" (aka: GF(2^2) number) is a two-bit number. Lets name the bits a and b. That would be "number = a + bx", where "x" is the polynomial variable (aka: think of it "like i" from the complex world).
As such, we are actually dealing with a mapping of 2-bit numbers into 2-bit numbers. So our options have grossly increased over what you think.
------------
Because GF(4) is so tiny, I'll just give you a GF(4) algebra over these numbers and skip over all the theory. A GF(2^n) system can be constructed using a prime polynomial: all "numbers" are to be taken modulo the prime polynomial. For GF(4), one such field is constructed with the prime-number x^2 + x + 1 (aka: 111).
Yes, we have 2-bit numbers, but our modulus exists in the 3-bit space. Don't worry about it. Its needed for the math to work.
Addition is fortunately a simple XOR. So 00 + 11 == 11 (where + is the simple XOR operator).
Multiplication is... really complicated. We start with the "carryless multiplication" to be consistent with our XOR-based definition of add/subtract. Its basically described as "multiply, but throw away the carries". So 11 * 11 == 101 (the 2nd bit's carry is thrown away). But that's not enough: as per the theory of fields, we only reach a field if we... modulus it by a prime number (which is 111).
Its easier if I just gave you the table.
00 * anything == 0
01 * X == X
Okay, now we get complicated. All multiplications here on out "overflow", and need to be reduced modulo 111. This works because "addition" is defined as XOR, so we have the so called "Carryless multiply" operation as our primitive, to remain consistent with the addition operator. (aka: throw away carries, don't propagate them)
10 * 00 and 10 * 01 have been defined as earlier.
10 * 10 == 100 % 111 == 11
10 * 11 == 110 % 111 == 01
11 * 11 == 101 % 111 == 10
Given this multiplication table, we can see some interesting properties.
Which gives us the similar "looping" behavior of "i" in complex-number world. It also means that logarithms, square roots, cube-roots, and so forth can be defined with this system of exponentials.
For example, the square-root of (10^2) is clearly 10^1. That is to say: sqrt(11) == (10). The sqrt(10) == sqrt(10^1) == sqrt(10^4) (cycle property: just like how we can do this with "i") == 10^2 == 11.
sqrt(01) == sqrt(10^0) == 10^(0/2) == 10^0 == 01. sqrt(1) == 1 after all, in any and all well defined algebras.
-------------
Fractions also exist, as a unique inverse to any multiplication problem. For example: a / b == c, therefore, a = c * b^-1. You'll find that these numbers are consistent with their logarithms (!!!). Lets try out one example.
10 * 11 == 01
10 = 01 / 11 (aka: 10 is the multiplicative inverse of 11, or 10 == 11^-1. We also can see that 11 == 10^-1).
10^-1 == 10^2 (looping property of "i" as before), and as we have established earlier: 10^2 == 11.
---------
If it helps, maybe doing this in the complex field makes it more obvious:
Booleans act as a weird sort of field where there's no addition¹ and both ∧ and ∨ act as multiplication operators with F≡0 for ∧ and T≡0 for ∨. From this, you can build up the 3×3 tables for each relation to derive that if we add a third value to the boolean arithmetic, say, i, that
T ∨ i = T
F ∨ i = i
i ∨ i = F
and
F ∧ i = F
T ∧ i = i
i ∧ i = T
No other values are possible without destroying the group operations on ∧ and ∨ since we can't have a multiplication operation between two non-zero values give zero and within the non-zero members of the group, we cannot have repeated elements in any row or column.
———
1. This isn't strictly true since we can actually define two possible addition operators, each associated with ∧ and ∨. The associated addition for ∧ would be exclusive or (A + B = T iff A ≠ B) and the associated addition for ∨ would be if and only if (A + B = T iff A = B). The extension of these groups to include i is left as an exercise for the reader, but yes, there is only one possible solution.