N = [[(7 + sqrt(48 H + 1))/2]]where N is the number of colors required to color any map on an object which has H holes (note: proof not valid for H = 0).
For example:
A A C C E E A A A C C C E E E A A F F C C A A E E F F F A A A B B F F D D A A F F B B B D D D F F F B B G G D D B B F F G G G B B B C C G G E E B B G G C C C E E E G G G C C A A E E C C G G A A A C C C D D A A F F C C A A D D D F F F A A A D D B B F F D D A A B B B D D D E E B B G G D D B B E E E G G G B B B E E C C G G E E B B C C C E E E C C E EDraw an area 7 unit cell parallelogram by connecting, say, the center B's in each of the four
B B B B B 's. B BFinally, join the opposite sides of the parallelogram to form a torus in the usual (Spacewar) fashion. QUESTION (Gosper): is there a toroidal heptahedron corresponding to this?
Let T, X, and Y be written in binary as:
T=.A B A B A B ... X=.X X X X X X ... Y=.Y Y Y Y Y Y ... 1 1 2 2 3 3 1 2 3 4 5 6 1 2 3 4 5 6ALGORITHM S:
C <- 0 ;# of 0's mod 4 0 C <- 0 ;# of 3's mod 4 1 S1: X <- A XOR C ;Ith bit of X I I NOT B I Y <- X XOR B ;Ith bit of Y I I I C <- C XOR (NOT A AND NOT B ) ;count 00's 0 0 I I C <- C XOR (A AND B ) ;count 11's 1 1 I I GO S1 OLD NEW C C A B X Y C C 0 1 I I I I 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 1 1 0 0 0 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 This is the complete 0 1 1 0 0 0 0 1 state transition table. 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 1 1 0To carry out either the forward or reverse map, label a set of columns as in the table above. Fill in whichever you know of AB or XY, with consecutive rows corresponding to consecutive 1's. Put 0 0 in the top position of the OLD CC column. Exactly one row of the above table will match the row you have written so far. Fill in the rest of the row. Copy the NEW CC entry to the OLD CC column in the next row. Again, only one row of the state table will match, and so forth. For example, the map 5/6 -> (1/2,1/2) (really .11010101... -> (.1000... ,.0111...)):
OLD NEW C C A B X Y C C 0 1 I I I I 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 . . . . . . . . . . . . . . . . = 5/6 1/2 1/2We note that since this is a one-to-one map on bit strings, it is not a one-to-one map on real numbers. For instance, there are 2 ways to write 1/2, .1000... and .0111..., and thus 4 ways to write (1/2,1/2), giving 3 distinct inverses, 1/6, 1/2, and 5/6. Since the algorithm is finite state, X and Y are rational iff T is, e.g., 898/4369 -> (1/5,1/3). The parity number, (see SERIES section) and 1-(parity number) are the only reals satisfying X(T)=T, Y(T)=1. This is related to the fact that they have no 0's and 3's base 4, and along with 0, 1/2, and 1=.111..., are the only numbers preserved by the deletion of their even numbered bit positions.