§1. An embee is a square array of nonnegative integers:
The pronunciation of "𝕄𝔹" is what yields the name embee.
Any row, column, superior, or inferior is termed a straight.
The embee Z, all of whose elements are zero, exists for all 𝕄 and 𝔹.
In this report, embees will usually have names like E, F, and G. The modulus of E can be written E_{𝕄}; the breadth E_{𝔹}.
It is obvious what the rows and columns of a square array would be, but an example will shed light on what the two kinds of diagonals are. Given embee E, with 𝔹 = 4 and 𝕄 = any value:
E  

E_{00}  E_{01}  E_{02}  E_{03} 
E_{10}  E_{11}  E_{12}  E_{13} 
E_{20}  E_{21}  E_{22}  E_{23} 
E_{30}  E_{31}  E_{32}  E_{33} 
The four superior diagonals are:
The number of superiors is always equal to the breadth, as is the number of inferiors.
Although the names superior and inferior are not particularly descriptive, no better term has been found.
§2. Two embees are equivalent to each other if they have the same breadth and modulus, and if they are related directly or indirectly by any sequence of the equivalence transformations displayed in this section. A notation for equivalence is E ≍ F.
The transformations are best explained with examples, as follows. Given embee E as before:

There are four mirror operations:




There is an operation that rotates the embee by a multiple of ninety degrees. The numerical argument can be any integer, which will be interpreted in modulo 4. An argument of 0 gives the identity operation. Shown as examples are +1, +2, and +3:



There are two shift operations, where the numerical argument can be any integer. Shown for example is +1:


With embees E, F, and G, it is easy to show that:
In many cases, there is more than one way to write an equivalence. For instance,
rotate (shift_rows (E, +1), +1) = shift_cols (rotate (E, +1), −1).
If two embees differ in breadth or modulus or both, equivalence is not defined.
§3. Two embees of the same breadth and the same modulus may be lexicographically compared. The manner of applying this to embees is unsurprising, and employs the rowmajor ordering used for storing twodimensional arrays in many computer environments. Here is an example with embees E and F:
If there is no difference between the respective first rows, the second rows are compared, and then the third and so forth. If all corresponding elements are equal, then E = F.
If two embees differ in breadth or modulus or both, no equality or inequalies are defined.
§4. The equivalences of §2 combined with the lexicographical ordering of §3 allows us to establish canonical forms for embees. The principle is that if E ≍ F and E < F, then F is NOT in a canonical form. Every embee does have a unique canonical form.
As an example, below is an ordinary embee (𝕄 = 8) in canonical form. The numbers have been subscripted to make it easier to see how the elements move around under equivalence tranformations.

Next are four noncanonical embees equivalent to the one above:




§5. The census of an embee is simply a listing of how many elements are of each value. If two embees are equivalent, they have the same census. As an example, each of the embees within this section has 2 zeroes, 4, ones, 3 twos, 3 threes, and 4 fours. Hence its census is (2, 4, 3, 3, 4).
Note that two embees with the same census might not be equivalent. Examples are the four embees below, with 𝕄 = 4 and 𝔹 = 4. All have the census (4, 4, 4, 4), and are all canonical forms. Because they are distinct canonical forms, however, they cannot be equivalent.




§6. Here are some operations that preserve embeeness, and can be categorized by their preservation (or not) of modulus and breadth. All arithmetic on elements is, of course, modular.
§6A. Output 𝕄 = input 𝕄, and output 𝔹 = input 𝔹:
G = −E is formed by negating every element of E. Of course, −Z = Z.  
G = E + F is formed by adding corresponding elements of E and F.
As expected, E − F = E + (−F). Z is the identity augend, addend and subtrahend; but not minuend.  
If n is any integer, then G = E × n = n × E is formed by multiplying every element of E by n. Here is an example, where G = E × 3:

§6B. Output 𝔹 = input 𝔹:
If n is any nonzero integer, then G = E ×× n = n ×× E is formed by multiplying E_{𝕄} by the absolute value of n to obtain G_{𝕄}, and then multiplying every element of E by n. Here is an example, where G = E ×× 3:
With this operation, there is no modular reassessment.  
With embee E, if n is an integer that meets three requirements:

§6C. Output 𝕄 = input 𝕄:
G = repeat (E, n) fills G with copies of E. In the following example, G = repeat (E, 2), and E_{𝕄} = G_{𝕄} = 8:
No modular reassessment is necessary.  
With G = expand (E, n), each element of E appears once in G, separated by n − 1 rows and columns of zeroes.
In the following example, G = expand (E, 2), and E_{𝕄} = G_{𝕄} = 8:
No modular reassessment is necessary. 
§7. For selected combinations of breadth and modulus, the table below displays the quantity of all embees, and the the quantity of embees in canonical form. The breadth of four receives an appendix because its quantities are both interesting and manageable to calculate.
embee quantities  𝕄 = 2  𝕄 = 3  𝕄 = 4  𝕄 = 5  𝕄 = 6  𝕄 = 7  𝕄 = 8  𝕄 = 9  

𝔹 = 2  all  2  1  2  1  2  1  2  1 
canon  2  1  2  1  2  1  2  1  
𝔹 = 3  all  1  27 = 3^{3}  1  1  27 = 3^{3}  1  1  27 = 3^{3} 
canon  1  5  1  1  5  1  1  5  
𝔹 = 4  all  128 = 2^{7}  81 = 3^{4}  4,096 = 2^{12}  625 = 5^{4}  10,368 = 2^{7}·3^{4}  2,401 = 7^{4}  65,536 = 2^{16}  6,561 = 3^{8} 
canon  13  6  111  21  181  55  862  120  
𝔹 = 5  all  256 = 2^{8}  6,561 = 3^{8}  65,536 = 2^{16}  48,828,125 = 5^{11}  
canon  7  57  400  246,210  
𝔹 = 6  all  131,072 = 2^{17}  
canon  772  
𝔹 = 7  all  16,777,216 = 2^{24}  
canon  43,624  
appendix  𝕄 = 10  𝕄 = 11  𝕄 = 12  𝕄 = 13  𝕄 = 14  𝕄 = 15  𝕄 = 16  𝕄 = 17  
𝔹 = 4  all  80,000 = 2^{7}·5^{4}  14,641 = 11^{4}  331,776 = 2^{12}·3^{4}  28,561 = 13^{4}  307,328 = 2^{7}·7^{4}  50,625 = 3^{4}·5^{4}  1,048,576 = 2^{20}  83,521 = 17^{4} 
canon  963  231  3,517  406  3,199  666  10,140  1,035 
The numbers came from a computer program that did a bruteforce search. The general formula is not yet known, although some patterns are beginning to emerge, particularly when the modulus is a prime number.
§8. All the embees discussed so far are twodimensional (𝔻 = 2). The investigation can be extended to higher dimensionalities, although that is not attempted in this report.
The number of straights (𝕊) grows very quickly, with the following general formula:
𝕊 = 𝔹^{𝔻 − 1} × (3^{𝔻} − 1) ÷ 2
Note that 𝕊 is independent of the modulus. Here is a table with selected values:
𝕊  𝔹 = 2  𝔹 = 3  𝔹 = 4  𝔹 = 5 

𝔻 = 2  8  12  16  20 
𝔻 = 3  52  117  208  325 
𝔻 = 4  320  1,080  2,560  5,000 
𝔻 = 5  1,936  9,801  30,976  75,625 
An example is worthwhile. For the case 𝔻 = 3, 𝕄 = 4, and 𝔹 = 4, here are the thirteen straights that pass through (0, 0, 0):
The criterion of "perpendicular to n edges" generalizes to straights of higher dimensionality, and is useful for organizing them.