Laws | ![]() |
---|
This article explains the Laws in the logic puzzle solver. When a Mark is entered by you or the program, laws are applied to the mark to see if (1) the mark is valid, and (2) additional marks can be entered. I call these additional marks postmarks. Let's say the two nouns in the current mark are noun 1 of type 1, and noun 2 of type 2. The laws are given below.
This law ensures that a noun of type 1 is with exactly one noun of type 2. If noun 1 is with noun 2, then their intersecting cell in the grids has the 'O' character. In the subgrid for nouns of type 1 and type 2, this law fills the other cells in that row and column with the 'X' character. This means that for every small grid, there will be exactly one positive mark per row, and exactly one positive mark per column.
This law requires at least three noun types. Based on the current mark's verb, it examines prior marks to determine if a noun of type 3 is or is not with a noun of the mark.
This law requires at least three noun types, and is applied only when noun 1 is not with noun 2. It determines if a noun of the mark and a noun of type 3 have any nouns in common. If they do not share at least one common noun, then they cannot be together.
This law is implemented for only n = 2. It looks for the following condition: if two nouns of type 1 can only be with two nouns of type 2, then no other nouns of type 1 can be with those same two nouns of type 2. In other words, those two nouns of type 2 are reserved for the two nouns of type 1.
This law requires at least three noun types. Because it examines each fact to see if it references a noun in the mark, this law may overlap levels 1 and 2. See the levels for more information. When this law is enabled, most puzzles can be solved by level 1.