Proving there are exactly 8 semiregular tessellations

First, a couple of interesting observations: If a tiling is made up of only convex polygons, then each vertex must be surrounded by 3 or more shapes. 1 polygon, convex or concave, certainly can't surround a point, and 2 polygons can only surround a point if at least one of them is concave. Thus, 3 is the minimum number of convex polygons surrounding a point. The smallest interior angle of a regular polygon is \(60^\circ,\) and so we also know the maximum number of regular polygons around a point is 6.

Next, determine all the ways in which \(360^\circ\) can be the sum of 3 or more angles that appear in regular polygons. To help you do this, you will probably want to create a list of the interior angles of regular polygons. Here is a partial list:

The three regular tilings come from 60 + 60 + 60 + 60 + 60 + 60 (3.3.3.3.3.3), 90 + 90 + 90 + 90 (4.4.4.4), and 120 + 120 + 120 (6.6.6). The semiregular tilings can mix different numbers. For example, 60 + 60 + 120 + 120 (3.3.6.6) should be on your list of possibilities. Once you're done listing all of the sums, such as 60 + 60 + 120 + 120, listing the vertex types, such as 3.3.6.6, is easy. Simply permute each, and determine whether each permutation is a new vertex type, or one you've already listed. For example, 3.3.6.6 is the same as 6.3.3.6, but is different than 3.6.3.6. After you're done with this stage, you'll have a large, but finite list of possibilities. Here's that list, in case you wish to check your answers against it:

  1. 3.3.3.3.3.3
  2. 3.3.3.3.6
  3. 3.3.3.4.4
  4. 3.3.4.3.4
  5. 3.3.6.6
  6. 3.6.3.6
  7. 3.4.4.6
  8. 3.4.6.4
  9. 4.8.8
  10. 3.3.4.12
  11. 3.4.3.12
  12. 6.6.6
  13. 4.6.12
  14. 3.12.12
  15. 4.4.4.4

Three of these are the regular tilings, mentioned previously. Excluding those 3, we get 12 possibilities. Now's the fun part. Try putting these tilings together. You will quickly find that only 8 of them work. The other 4 will eventually lead to a gap which cannot be filled by a regular polygon, or will force a different vertex type to be used. For example, filling out 3.3.6.6, by focusing on hexagons, quickly leads to a vertex with six triangles. But 3.3.6.6 is not 3.3.3.3.3.3, and thus, 3.3.6.6 is not a valid tiling.