Def: A *tile* is a 1" x 1" object which has defined four attributes: the "color" of the left, right, top, and bottom edges. Def: A (proper) tiling of the plane is a way to arrange tiles on the upper right quadrant of the plane, one tile inside each unit square, such that no pair of tiles have differently colored adjoining edges. The Tiling Problem ------------------ Given a finite list of "tile types" (each specifying the color of the four edges of a tile), and an infinite number of tiles of each type, is it possible to arrange the tiles into a proper tiling of the plane? (Tiles can not be rotated or flipped over.) Example: ====== ------ + + * * YES, you can tile the plane with tiles of these types. + + * * ------ ====== ====== ****** + + * * NO, you can't tile the plane with tiles of these types + + * * ------ ======