pattern symbols
M     a known mine
0-8     a square with this number in it
-     a square known not to be a mine
+     a known square of any sort
?     an unexplored square
*     any square
a-z     a square with a number in it, and the number is remembered
|     a square off the board
NOTE: You do not need to create separate rules for symmetric patterns;
the system will automatically try each rule in every possible rotation and reflection.

scheme variables
star-mine-count     number of known mines matched by stars
star-unknown-count     number of ?'s matched by stars
a, b, c, etc...     number matched by the given letter
a-mine-count, b-mine-count, etc...     number of known mines surrounding the given letter