# Studies of Euler diagrams/NP tables

dummy
       These tables are in category Studies of Euler diagrams; templates; NP tables.
The natural subdivisions of an NP equivalence class are permutation and negation equivalence classes.
These tables show all functions of an NP-EC (hereafter just EC) with the P-ECs as rows and the N-ECs as groups of columns.
The functions are represented by their Zhegalkin indices, and the order of the rows and columns is based on these numbers.
The chosen representative is highlighted in violet, and its name is shown in the header. The transformations, denoted by number icons, refer to this representative. (Otherwise it has no influence on the table.)
The following table shows the EC of takate (Ж 30) and its complement gilera (Ж 31). It has three N-ECs, each with 8 functions. Its six P-ECs contain 3 functions if the Venn diagrams are symmetric, or 6 functions if they are not.
EC 6   takate :
| W | C | | | 24 | 24 | 36 | 36 | 66 | 66 |
| 2 | 3 | 24 | &3_33 | 24(0, 1, 2) (1, 0, 2) | 24(0, 1, 2) (1, 0, 2) | 36(0, 2, 1) (2, 0, 1) | 36(0, 2, 1) (2, 0, 1) | 66(1, 2, 0) (2, 1, 0) | 66(1, 2, 0) (2, 1, 0) |
| 3 | 3 | 25 | &2_22 | 25(0, 1, 2) (1, 0, 2) | 25(0, 1, 2) (1, 0, 2) | 37(0, 2, 1) (2, 0, 1) | 37(0, 2, 1) (2, 0, 1) | 67(1, 2, 0) (2, 1, 0) | 67(1, 2, 0) (2, 1, 0) |
| 3 | 6 | 26 | &2_22 | 26(0, 1, 2)(1, 0, 2) | 28(1, 0, 2)(0, 1, 2) | 38(0, 2, 1)(2, 0, 1) | 52(2, 0, 1)(0, 2, 1) | 70(1, 2, 0)(2, 1, 0) | 82(2, 1, 0)(1, 2, 0) |
| 4 | 6 | 27 | &1_11 | 27(0, 1, 2)(1, 0, 2) | 29(1, 0, 2)(0, 1, 2) | 39(0, 2, 1)(2, 0, 1) | 53(2, 0, 1)(0, 2, 1) | 71(1, 2, 0)(2, 1, 0) | 83(2, 1, 0)(1, 2, 0) |
| 4 | 3 | 30 | &0_00 | 30(0, 1, 2) (1, 0, 2) | 30(0, 1, 2) (1, 0, 2) | 54(0, 2, 1) (2, 0, 1) | 54(0, 2, 1) (2, 0, 1) | 86(1, 2, 0) (2, 1, 0) | 86(1, 2, 0) (2, 1, 0) |
| 5 | 3 | 31 | &1_11 | 31(0, 1, 2) (1, 0, 2) | 31(0, 1, 2) (1, 0, 2) | 55(0, 2, 1) (2, 0, 1) | 55(0, 2, 1) (2, 0, 1) | 87(1, 2, 0) (2, 1, 0) | 87(1, 2, 0) (2, 1, 0) |
mouseovers of Zhegalkin indices :
* Hovering over the numbers will show a mouseover.
* Its first line is the Zhegalkin index in little-endian binary (which corresponds to the algebraic normal form).
* The second line is the truth table of the Boolean function.
* The screenshot on the right shows a mouseover in the table above.
* (The diagram to its right shows how the second line is derived from the first.)
The number icons denote the transformations from the representative to each particular function. A transformation is a signed permutation, i.e. a negator pattern paired with a permutation — both of which can be represented by a natural number. While the permutation index numbers are unambiguous, there is some potential confusion about numbering the negator patterns. Generally it is more useful to refer to which values are negated. (See this 8×6 matrix.) But functions in the same P-EC have the same negated places in common — which are thus used as row labels in these tables. To avoid confusion, the icons referring to negated values are round, and those referring to negated places are square.
signed permutation (~1, 2, ~0) :
* This signed permutation is based on the permutation (1, 2, 0) with the index number .
* The distribution of negators will usually be described as (1, 1, 0) , based on which values are negated. (Seen in the rows of the matrix.)
* But it can also be described as (1, 0, 1) , based on which places are negated. (Seen in the columns of the matrix.)
* from discretehelpers.sig_perm import SigPerm
* sigperm = SigPerm(valneg_index=3, perm_index=4)
* sigperm.sequence_string
* # '(~1, 2, ~0)'
* sigperm.matrix
* # array([[ 0, 0, -1],
* # [-1, 0, 0],
* # [ 0, 1, 0]])
* sigperm.keyneg_index
* # 5
So each function corresponds to a set of transformations. To such a set corresponds a set of keyneg indices, a set of valneg indices and a set of perm indices. P-ECs (rows) have the same set of keyneg indices, and N-ECs (column groups) have the same set of perm indices in common. The sets of perm indices are cosets of The symmetric group $S_{n}$, where $n$ is the arity. (See Subgroups of S$_4$.) The valneg set is shown under each Zhegalkin index. Hovering over it will show a table with the whole set of transformations.
transformations from takate (Ж 30) to tabora (Ж 38) :
| takate | tabora | tabora | hover table |
| | ${\begin{pmatrix}{\color {Red}~0}&{\color {ForestGreen}~1}&{\color {Blue}~2}\\{\color {Red}\neg 0}&{\color {Blue}~2}&{\color {ForestGreen}\neg 1}\\\end{pmatrix}}$ | ${\begin{pmatrix}{\color {Red}~0}&{\color {ForestGreen}~1}&{\color {Blue}~2}\\{\color {Blue}~2}&{\color {Red}\neg 0}&{\color {ForestGreen}\neg 1}\\\end{pmatrix}}$ | |
Often the set of valneg indices of a function contains only a single element. Two are also common:
EC 15   makoto :
| W | C | | | 44 | 44 | 74 | 74 | 98 | 98 |
| 3 | 6 | 44 | &5_2323 | 44(0, 1, 2)(0, 2, 1) | 56(0, 2, 1)(0, 1, 2) | 74(1, 0, 2)(1, 2, 0) | 88(1, 2, 0)(1, 0, 2) | 98(2, 0, 1)(2, 1, 0) | 100(2, 1, 0)(2, 0, 1) |
| 4 | 6 | 45 | &1_0101 | 45(0, 1, 2)(0, 2, 1) | 57(0, 2, 1)(0, 1, 2) | 75(1, 0, 2)(1, 2, 0) | 89(1, 2, 0)(1, 0, 2) | 99(2, 0, 1)(2, 1, 0) | 101(2, 1, 0)(2, 0, 1) |
| 4 | 6 | 46 | &3_1212 | 46(0, 1, 2)(0, 2, 1) | 58(0, 2, 1)(0, 1, 2) | 78(1, 0, 2)(1, 2, 0) | 92(1, 2, 0)(1, 0, 2) | 114(2, 0, 1)(2, 1, 0) | 116(2, 1, 0)(2, 0, 1) |
| 5 | 6 | 47 | &3_1212 | 47(0, 1, 2)(0, 2, 1) | 59(0, 2, 1)(0, 1, 2) | 79(1, 0, 2)(1, 2, 0) | 93(1, 2, 0)(1, 0, 2) | 115(2, 0, 1)(2, 1, 0) | 117(2, 1, 0)(2, 0, 1) |
There is only one 3-ary EC with three:
EC 20   berusa :
| W | C | | | 151 | 151 | 151 |
| 5 | 1 | 151 | &2_22 | 151(2, 0, 1) (2, 1, 0)(1, 0, 2) (1, 2, 0)(0, 1, 2) (0, 2, 1) | 151(2, 0, 1) (2, 1, 0)(1, 0, 2) (1, 2, 0)(0, 1, 2) (0, 2, 1) | 151(2, 0, 1) (2, 1, 0)(1, 0, 2) (1, 2, 0)(0, 1, 2) (0, 2, 1) |
| 5 | 3 | 158 | &4_1313 | 158(1, 0, 2)(0, 1, 2)(1, 2, 0)(0, 2, 1)(2, 0, 1) (2, 1, 0) | 182(2, 0, 1)(0, 2, 1)(2, 1, 0)(0, 1, 2)(1, 0, 2) (1, 2, 0) | 214(2, 1, 0)(1, 2, 0)(2, 0, 1)(1, 0, 2)(0, 1, 2) (0, 2, 1) |
| 6 | 3 | 189 | &2_0202 | 231(2, 0, 1) (2, 1, 0)(0, 2, 1)(1, 2, 0)(0, 1, 2)(1, 0, 2) | 219(1, 0, 2) (1, 2, 0)(0, 1, 2)(2, 1, 0)(0, 2, 1)(2, 0, 1) | 189(0, 1, 2) (0, 2, 1)(1, 0, 2)(2, 0, 1)(1, 2, 0)(2, 1, 0) |
| 5 | 1 | 233 | &1_11 | 233(0, 1, 2) (0, 2, 1)(1, 0, 2) (1, 2, 0)(2, 0, 1) (2, 1, 0) | 233(0, 1, 2) (0, 2, 1)(1, 0, 2) (1, 2, 0)(2, 0, 1) (2, 1, 0) | 233(0, 1, 2) (0, 2, 1)(1, 0, 2) (1, 2, 0)(2, 0, 1) (2, 1, 0) |
Eight are an extreme case. This is very rare:
EC 317   fidele :
| W | C | | | 1650 | 1650 | 1650 | 1650 | 4686 | 4686 | 4686 | 4686 | 5166 | 5166 | 5166 | 5166 |
| 6 | 12 | 1650 | &10_0123401234 | 1650(3, 1, 0, 2) (1, 3, 2, 0)(1, 2, 3, 0)(3, 0, 1, 2)(2, 1, 0, 3)(0, 3, 2, 1)(2, 0, 1, 3)(0, 2, 3, 1)(0, 2, 3, 1)(2, 0, 1, 3)(0, 3, 2, 1)(2, 1, 0, 3)(3, 0, 1, 2)(1, 2, 3, 0)(3, 1, 0, 2) (1, 3, 2, 0) | 1652(3, 0, 1, 2) (0, 3, 2, 1)(0, 2, 3, 1)(3, 1, 0, 2)(2, 0, 1, 3)(1, 3, 2, 0)(2, 1, 0, 3)(1, 2, 3, 0)(1, 2, 3, 0)(2, 1, 0, 3)(1, 3, 2, 0)(2, 0, 1, 3)(3, 1, 0, 2)(0, 2, 3, 1)(3, 0, 1, 2) (0, 3, 2, 1) | 1890(2, 1, 0, 3) (1, 2, 3, 0)(1, 3, 2, 0)(2, 0, 1, 3)(3, 1, 0, 2)(0, 2, 3, 1)(0, 3, 2, 1)(3, 0, 1, 2)(3, 0, 1, 2)(0, 3, 2, 1)(0, 2, 3, 1)(3, 1, 0, 2)(2, 0, 1, 3)(1, 3, 2, 0)(2, 1, 0, 3) (1, 2, 3, 0) | 1892(2, 0, 1, 3) (0, 2, 3, 1)(0, 3, 2, 1)(2, 1, 0, 3)(3, 0, 1, 2)(1, 2, 3, 0)(1, 3, 2, 0)(3, 1, 0, 2)(3, 1, 0, 2)(1, 3, 2, 0)(1, 2, 3, 0)(3, 0, 1, 2)(2, 1, 0, 3)(0, 3, 2, 1)(2, 0, 1, 3) (0, 2, 3, 1) | 4686(3, 2, 0, 1) (2, 3, 1, 0)(2, 1, 3, 0)(3, 0, 2, 1)(1, 2, 0, 3)(0, 3, 1, 2)(1, 0, 2, 3)(0, 1, 3, 2)(0, 1, 3, 2)(1, 0, 2, 3)(0, 3, 1, 2)(1, 2, 0, 3)(3, 0, 2, 1)(2, 1, 3, 0)(3, 2, 0, 1) (2, 3, 1, 0) | 4700(0, 3, 1, 2) (3, 0, 2, 1)(0, 1, 3, 2)(3, 2, 0, 1)(1, 0, 2, 3)(2, 3, 1, 0)(1, 2, 0, 3)(2, 1, 3, 0)(2, 1, 3, 0)(1, 2, 0, 3)(2, 3, 1, 0)(1, 0, 2, 3)(3, 2, 0, 1)(0, 1, 3, 2)(0, 3, 1, 2) (3, 0, 2, 1) | 4938(1, 2, 0, 3) (2, 1, 3, 0)(1, 0, 2, 3)(2, 3, 1, 0)(0, 1, 3, 2)(3, 2, 0, 1)(0, 3, 1, 2)(3, 0, 2, 1)(3, 0, 2, 1)(0, 3, 1, 2)(3, 2, 0, 1)(0, 1, 3, 2)(2, 3, 1, 0)(1, 0, 2, 3)(1, 2, 0, 3) (2, 1, 3, 0) | 4952(1, 0, 2, 3) (0, 1, 3, 2)(0, 3, 1, 2)(1, 2, 0, 3)(3, 0, 2, 1)(2, 1, 3, 0)(2, 3, 1, 0)(3, 2, 0, 1)(3, 2, 0, 1)(2, 3, 1, 0)(2, 1, 3, 0)(3, 0, 2, 1)(1, 2, 0, 3)(0, 3, 1, 2)(1, 0, 2, 3) (0, 1, 3, 2) | 5166(2, 3, 0, 1) (3, 2, 1, 0)(2, 0, 3, 1)(3, 1, 2, 0)(0, 2, 1, 3)(1, 3, 0, 2)(0, 1, 2, 3)(1, 0, 3, 2)(1, 0, 3, 2)(0, 1, 2, 3)(1, 3, 0, 2)(0, 2, 1, 3)(3, 1, 2, 0)(2, 0, 3, 1)(2, 3, 0, 1) (3, 2, 1, 0) | 5178(1, 3, 0, 2) (3, 1, 2, 0)(1, 0, 3, 2)(3, 2, 1, 0)(0, 1, 2, 3)(2, 3, 0, 1)(0, 2, 1, 3)(2, 0, 3, 1)(2, 0, 3, 1)(0, 2, 1, 3)(2, 3, 0, 1)(0, 1, 2, 3)(3, 2, 1, 0)(1, 0, 3, 2)(1, 3, 0, 2) (3, 1, 2, 0) | 5420(0, 2, 1, 3) (2, 0, 3, 1)(0, 1, 2, 3)(2, 3, 0, 1)(1, 0, 3, 2)(3, 2, 1, 0)(1, 3, 0, 2)(3, 1, 2, 0)(3, 1, 2, 0)(1, 3, 0, 2)(3, 2, 1, 0)(1, 0, 3, 2)(2, 3, 0, 1)(0, 1, 2, 3)(0, 2, 1, 3) (2, 0, 3, 1) | 5432(0, 1, 2, 3) (1, 0, 3, 2)(0, 2, 1, 3)(1, 3, 0, 2)(2, 0, 3, 1)(3, 1, 2, 0)(2, 3, 0, 1)(3, 2, 1, 0)(3, 2, 1, 0)(2, 3, 0, 1)(3, 1, 2, 0)(2, 0, 3, 1)(1, 3, 0, 2)(0, 2, 1, 3)(0, 1, 2, 3) (1, 0, 3, 2) |
| 7 | 12 | 1651 | &6_123123 | 1651(2, 1, 0, 3)(0, 3, 2, 1)(1, 2, 3, 0)(3, 0, 1, 2)(2, 0, 1, 3) (0, 2, 3, 1)(3, 1, 0, 2)(1, 3, 2, 0)(1, 3, 2, 0)(3, 1, 0, 2)(2, 0, 1, 3) (0, 2, 3, 1)(3, 0, 1, 2)(1, 2, 3, 0)(0, 3, 2, 1)(2, 1, 0, 3) | 1653(2, 0, 1, 3)(1, 3, 2, 0)(0, 2, 3, 1)(3, 1, 0, 2)(2, 1, 0, 3) (1, 2, 3, 0)(3, 0, 1, 2)(0, 3, 2, 1)(0, 3, 2, 1)(3, 0, 1, 2)(2, 1, 0, 3) (1, 2, 3, 0)(3, 1, 0, 2)(0, 2, 3, 1)(1, 3, 2, 0)(2, 0, 1, 3) | 1891(3, 1, 0, 2)(0, 2, 3, 1)(1, 3, 2, 0)(2, 0, 1, 3)(3, 0, 1, 2) (0, 3, 2, 1)(2, 1, 0, 3)(1, 2, 3, 0)(1, 2, 3, 0)(2, 1, 0, 3)(3, 0, 1, 2) (0, 3, 2, 1)(2, 0, 1, 3)(1, 3, 2, 0)(0, 2, 3, 1)(3, 1, 0, 2) | 1893(3, 0, 1, 2)(1, 2, 3, 0)(0, 3, 2, 1)(2, 1, 0, 3)(3, 1, 0, 2) (1, 3, 2, 0)(2, 0, 1, 3)(0, 2, 3, 1)(0, 2, 3, 1)(2, 0, 1, 3)(3, 1, 0, 2) (1, 3, 2, 0)(2, 1, 0, 3)(0, 3, 2, 1)(1, 2, 3, 0)(3, 0, 1, 2) | 4687(1, 2, 0, 3)(0, 3, 1, 2)(2, 1, 3, 0)(3, 0, 2, 1)(1, 0, 2, 3) (0, 1, 3, 2)(3, 2, 0, 1)(2, 3, 1, 0)(2, 3, 1, 0)(3, 2, 0, 1)(1, 0, 2, 3) (0, 1, 3, 2)(3, 0, 2, 1)(2, 1, 3, 0)(0, 3, 1, 2)(1, 2, 0, 3) | 4701(2, 3, 1, 0)(1, 0, 2, 3)(3, 2, 0, 1)(0, 1, 3, 2)(1, 2, 0, 3) (2, 1, 3, 0)(3, 0, 2, 1)(0, 3, 1, 2)(0, 3, 1, 2)(3, 0, 2, 1)(1, 2, 0, 3) (2, 1, 3, 0)(0, 1, 3, 2)(3, 2, 0, 1)(1, 0, 2, 3)(2, 3, 1, 0) | 4939(3, 2, 0, 1)(0, 1, 3, 2)(2, 3, 1, 0)(1, 0, 2, 3)(0, 3, 1, 2) (3, 0, 2, 1)(1, 2, 0, 3)(2, 1, 3, 0)(2, 1, 3, 0)(1, 2, 0, 3)(0, 3, 1, 2) (3, 0, 2, 1)(1, 0, 2, 3)(2, 3, 1, 0)(0, 1, 3, 2)(3, 2, 0, 1) | 4953(3, 0, 2, 1)(2, 1, 3, 0)(0, 3, 1, 2)(1, 2, 0, 3)(3, 2, 0, 1) (2, 3, 1, 0)(1, 0, 2, 3)(0, 1, 3, 2)(0, 1, 3, 2)(1, 0, 2, 3)(3, 2, 0, 1) (2, 3, 1, 0)(1, 2, 0, 3)(0, 3, 1, 2)(2, 1, 3, 0)(3, 0, 2, 1) | 5167(1, 3, 0, 2)(0, 2, 1, 3)(3, 1, 2, 0)(2, 0, 3, 1)(0, 1, 2, 3) (1, 0, 3, 2)(3, 2, 1, 0)(2, 3, 0, 1)(2, 3, 0, 1)(3, 2, 1, 0)(0, 1, 2, 3) (1, 0, 3, 2)(2, 0, 3, 1)(3, 1, 2, 0)(0, 2, 1, 3)(1, 3, 0, 2) | 5179(2, 3, 0, 1)(0, 1, 2, 3)(3, 2, 1, 0)(1, 0, 3, 2)(0, 2, 1, 3) (2, 0, 3, 1)(3, 1, 2, 0)(1, 3, 0, 2)(1, 3, 0, 2)(3, 1, 2, 0)(0, 2, 1, 3) (2, 0, 3, 1)(1, 0, 3, 2)(3, 2, 1, 0)(0, 1, 2, 3)(2, 3, 0, 1) | 5421(3, 2, 1, 0)(1, 0, 3, 2)(2, 3, 0, 1)(0, 1, 2, 3)(1, 3, 0, 2) (3, 1, 2, 0)(0, 2, 1, 3)(2, 0, 3, 1)(2, 0, 3, 1)(0, 2, 1, 3)(1, 3, 0, 2) (3, 1, 2, 0)(0, 1, 2, 3)(2, 3, 0, 1)(1, 0, 3, 2)(3, 2, 1, 0) | 5433(3, 1, 2, 0)(2, 0, 3, 1)(1, 3, 0, 2)(0, 2, 1, 3)(2, 3, 0, 1) (3, 2, 1, 0)(0, 1, 2, 3)(1, 0, 3, 2)(1, 0, 3, 2)(0, 1, 2, 3)(2, 3, 0, 1) (3, 2, 1, 0)(0, 2, 1, 3)(1, 3, 0, 2)(2, 0, 3, 1)(3, 1, 2, 0) |
(This table is wider than most screens. The hover tables on the right can be seen by keeping the mouse on them, and pressing the right arrow key.)