And now... THE LESSON:
In the
"Boolean Beakers Posters", notice the amount of inputs progressively does a doubling 'n' interval with each iteration of 'n'-ary splits through Boolean Space.
Look here:
Code: Select all
0000 False | 1111 Truth
n/a n/a
n/a n/a
n/a n/a
n/a n/a
n/a n/a
n/a n/a
n/a n/a
Notice, two ends of a
Unit Segment for zero input
Boolean Space.
Code: Select all
0000 False | 1111 Truth
n/a n/a
n/a n/a
0011 A Not | 1100 A
n/a n/a
n/a n/a
n/a n/a
n/a n/a
Notice, 4 corners of a
Unit Square for one input
Boolean Space.
Notice 'X' is equivalent to 'XX'.
Notice the n/a gaps are quadrupling.
The formula for the amount of gates is 2^2^(AmountOfInputs).
0 inputs has 2^2^0 gates. (2)
1 inputs has 2^2^1 gates. (4)
2 inputs has 2^2^2 gates. (16)
3 inputs would therefore have 2^2^3 gates. (256)
Each bit3 bit2 bit1 bit0 is a truth table for 2 inputs.
The truth table itself being
left-endian, meaning the highest bit is the first bit in the series.
The lowest bit is always zero.
for 0 inputs:
bit0 is a constant (whether it is set or not.)
for 1 input:
bit1 is just a
bit0 is neither a,etcetera
for 2 inputs:
bit3 is (just all) both a,b (but nothing else being set)
bit2 is just a (only a is set, and nothing else)
bit1 is just b (only b is set, and nothing else)
bit0 is neither a,b(,etcetera,...) (nothing is set)
Remember that nothing else only pertains to the actual inputs within the amount included within the boolean operand.
for 3 inputs:
bit7 all a,b,c
bit6 both a,b
bit5 both a,b
bit4 both a,c
bit3 both b,c
bit2 just b
bit1 just c
bit0 none
By now you prolly see the pattern of permutation, that is the ordered series of possible match-ups between the inputs.
Since if the result of the boolean operand is if any entry is bit expression holds its ground, therefore:
If any bit in the truth table filters through, the result is set as well, otherwise the result is not set.
for unknowns, the table simply collapses to the simplest table as already outlined below:
Code: Select all
0000 False | 1111 Truth
0001 A NOr B | 1110 A Or B
0010 A NLimp B | 1101 A LImp B
0011 A Not | 1100 A
0100 A NRImp B | 1011 A Rimp B
0101 Not B | 1010 B
0110 A NEqv B | 1001 A Eqv B
0111 A Nand B | 1000 A And B
Notice, 16 vertices of a
Unit Hypercube for two input
Boolean Space.
Notice 'LR' is equivalent to 'LLRR'.
Also Notice, 'X' is equivalent to 'XXXX'
Therfore: 'HiLo' is equivalent to 'HiHiLoLo'
Thus you can reverse this behavior on either end of the series for so long as the unknowns do not fill that capacity.
Yes, I realize this last statement is very confusing, even I forget why that part is important in simplifying the overall expression.
I will come back to that later when I re-download my notes.
Code: Select all
0000 False | 1111 Truth
0001 A NOr B | 1110 A Or B
0010 A NLimp B | 1101 A LImp B
0011 A Not | 1100 A
0100 A NRImp B | 1011 A Rimp B
0101 Not B | 1010 B
0110 A NEqv B | 1001 A Eqv B
0111 A Nand B | 1000 A And B
Notice the left side is the reverse of the right side of the table!
The left side is
'Not' of the right side!
Also notice the bitmasks, that is, the series of bits, are the opposite setting from each side!
Thus the full set of possible truth tables counts upwards down the left side, then wraps 180 degrees around the rosie bush, and counts upwards back up the other side!
Now refer to this again:
Code: Select all
----------------------+---------+---------+---------+
0 0 0 0 NOT TRUE |FALSE |NULL | |
0 0 0 1 A NOT OR B |NOR A,B| | |
0 0 1 0 A NOT LIMP B |NLIMP A,B|Just B| |
0 0 1 1 A NOT |NOT A | | |
0 1 0 0 A NOT RIMP B |NRIMP A,B|NIMP A,B|Just A |
0 1 0 1 NOT B |NOT B| | |
0 1 1 0 A NOT EQV B |NEQV A,B|XOR A,B|EOR A,B|
0 1 1 1 A NOT AND B |NAND A,B| | |
- - - - - - - - - - - + - - - - + - - - - + - - - - +
1 0 0 0 A AND B |AND A,B| | |
1 0 0 1 A EQV B |EQV A,B|XNOR A,B|ENOR A,B|
1 0 1 0 B | B| | |
1 0 1 1 A RIMP B |RIMP A,B|IMP A,B| |
1 1 0 0 A | A | | |
1 1 0 1 A LIMP B |LIMP A,B| | |
1 1 1 0 A OR B |OR A,B| | |
1 1 1 1 TRUE |TRUE |Identity | |
----------------------+---------+---------+---------+
Notice all the aliases for operands and constants from left to right.
EOR means exclusive OR, this means either, but not both.
LIMP means Left Implied, while RIMP means Right Implied.
A RIMP B is A IMP B, a standard Implication.
However, A LIMP B, is B IMP A. notice the order of the inputs reverses!
Also notice EQV (Eqivalence) is the opposite of XOR (another common mnemonic device of EOR.)
Thus, NEQV (Not Equivalent) is the same result as XOR (Exclusive Or!)
Thus, XNOR also known by the mnemonic ENOR (Neither) is the opposite output of EQV (Equivalent!)
This concludes the lesson, I am hell-ass tired and want to drive 50 miles home and go to bed.
I don't have the money for a damn lear jet from this airport to that one so I have to drive.
(Plus I would need a cargo jet anyways because I can't just leave my car at my damned friend's house.)
I now smack you on the skull with the rod of holy virginity. You are now a super-geek. (once, you assimilate this tutorial completely.)
END OF LESSON.
(Just because I moulded you into a super-geek doesn't make me one, i lost my virginity a thousand plus times over, and I damn well am a steampunk industrial/grunge rocker with a 14 inch mohawk; possibly dyed, maybe even pigmented checker board; half the time anyways.)
Plus I am hot as hell to chicks, did I ever tell the time I had to drive on two side wheels for 5000ft while disobeying Johnny Law and wrecklessly driving in order to defy certain death? Well maybe I share that story some other damn well time.
Good luck in your Boolean Adventures.
Now piss off and GO MAKE YOUR CREATOR PROUD.