I've been thinking about the idea of writing a computer program to somehow generate all patterns of a certain complexity or deepness.

The most simple kinds of patterns which I call level-1 patterns are the most simple form of logic you can make in minesweeper. Those patterns involving only 1 number. (examples: http://pastebin.com/PJv2xqbS)

For deeper patterns (examples: http://pastebin.com/tiuGkeU2) I have two ideas:

Idea 1) A level n pattern would be a pattern which you can solve by making a guess (by saying a square is a mine or safe) and then following the consequences of this guess using level-(n-1) patterns to draw contradictions. For example the top pattern in my "deeper patterns" list can be solved using this method as a level-2 pattern.

Idea 2) A level-n pattern is a pattern which involves n numbers, and which isn't the union of two lower level patterns. (everything other than my 1st deeper pattern falls into level-3 patterns in this case)

I quite like the second idea, because this is something a computer could search and get a finite list of possibilities. The first idea has problems in that there won't be a finite number of possible patterns of each deepness, but perhaps only a finite number of "concepts". I'd imagine that the class of all level-n patterns in both ideas would produce the class of "all solvable patterns" eventually...

Anyone got any ideas of other ways to categorize "deepness" or can think of any nice patterns to add to my list of "deep patterns"?