---
document: home
name: Open Rules
url: https://rules.sudoku-sleuth.com/README.md
---

# Open Rules

Give each rule a name and say where it applies. A case file declares the library root once; each name resolves to its rule page under that root. Custom rules carry their full definition in the case file.

Each published rule keeps its meaning. A new meaning gets a new kind. [Shared predicates](https://rules.sudoku-sleuth.com/predicates.md) define the mathematical notation.

Cells use r1c1 notation. Repeated rules have numbered IDs; singleton rules use their kind as the implicit ID. Drawings refer to IDs; their colours and shapes do not change the rule.

- [shifter-line](https://rules.sudoku-sleuth.com/shifter-line.md)
- [summit](https://rules.sudoku-sleuth.com/summit.md)
- [thermo](https://rules.sudoku-sleuth.com/thermo.md)
- [whispers](https://rules.sudoku-sleuth.com/whispers.md)
- [parity](https://rules.sudoku-sleuth.com/parity.md)
- [modular](https://rules.sudoku-sleuth.com/modular.md)
- [entropic](https://rules.sudoku-sleuth.com/entropic.md)
- [renban](https://rules.sudoku-sleuth.com/renban.md)
- [nabner](https://rules.sudoku-sleuth.com/nabner.md)
- [palindrome](https://rules.sudoku-sleuth.com/palindrome.md)
- [slow-thermo](https://rules.sudoku-sleuth.com/slow-thermo.md)
- [between](https://rules.sudoku-sleuth.com/between.md)
- [lockout](https://rules.sudoku-sleuth.com/lockout.md)
- [arrow](https://rules.sudoku-sleuth.com/arrow.md)
- [double-arrow](https://rules.sudoku-sleuth.com/double-arrow.md)
- [zipper](https://rules.sudoku-sleuth.com/zipper.md)
- [region-sum](https://rules.sudoku-sleuth.com/region-sum.md)
- [index-line](https://rules.sudoku-sleuth.com/index-line.md)
- [bremban](https://rules.sudoku-sleuth.com/bremban.md)
- [close-whispers](https://rules.sudoku-sleuth.com/close-whispers.md)
- [primality](https://rules.sudoku-sleuth.com/primality.md)
- [line-choice](https://rules.sudoku-sleuth.com/line-choice.md)
- [limited-digits](https://rules.sudoku-sleuth.com/limited-digits.md)
- [allowed-digits](https://rules.sudoku-sleuth.com/allowed-digits.md)
- [mean-lines](https://rules.sudoku-sleuth.com/mean-lines.md)
- [greek-carpet](https://rules.sudoku-sleuth.com/greek-carpet.md)
- [pointing-thermo](https://rules.sudoku-sleuth.com/pointing-thermo.md)
- [kropki](https://rules.sudoku-sleuth.com/kropki.md)
- [pair](https://rules.sudoku-sleuth.com/pair.md)
- [quadruple](https://rules.sudoku-sleuth.com/quadruple.md)
- [extremum](https://rules.sudoku-sleuth.com/extremum.md)
- [parity-cells](https://rules.sudoku-sleuth.com/parity-cells.md)
- [counting-circles](https://rules.sudoku-sleuth.com/counting-circles.md)
- [molecules](https://rules.sudoku-sleuth.com/molecules.md)
- [tardis](https://rules.sudoku-sleuth.com/tardis.md)
- [pressure-gauge](https://rules.sudoku-sleuth.com/pressure-gauge.md)
- [pointing-arrow](https://rules.sudoku-sleuth.com/pointing-arrow.md)
- [coordinate-arrows](https://rules.sudoku-sleuth.com/coordinate-arrows.md)
- [value-modifier](https://rules.sudoku-sleuth.com/value-modifier.md)
- [cage](https://rules.sudoku-sleuth.com/cage.md)
- [equality-cage](https://rules.sudoku-sleuth.com/equality-cage.md)
- [layered-cage](https://rules.sudoku-sleuth.com/layered-cage.md)
- [remainder-cage](https://rules.sudoku-sleuth.com/remainder-cage.md)
- [product-cage](https://rules.sudoku-sleuth.com/product-cage.md)
- [sum-free-cage](https://rules.sudoku-sleuth.com/sum-free-cage.md)
- [look-and-say](https://rules.sudoku-sleuth.com/look-and-say.md)
- [vault](https://rules.sudoku-sleuth.com/vault.md)
- [n-mate](https://rules.sudoku-sleuth.com/n-mate.md)
- [equal-sums](https://rules.sudoku-sleuth.com/equal-sums.md)
- [cage-shapes](https://rules.sudoku-sleuth.com/cage-shapes.md)
- [cage-pair](https://rules.sudoku-sleuth.com/cage-pair.md)
- [cage-expressions](https://rules.sudoku-sleuth.com/cage-expressions.md)
- [little-killer](https://rules.sudoku-sleuth.com/little-killer.md)
- [sandwich](https://rules.sudoku-sleuth.com/sandwich.md)
- [x-sum](https://rules.sudoku-sleuth.com/x-sum.md)
- [skyscraper](https://rules.sudoku-sleuth.com/skyscraper.md)
- [numbered-room](https://rules.sudoku-sleuth.com/numbered-room.md)
- [run-sum](https://rules.sudoku-sleuth.com/run-sum.md)
- [outside](https://rules.sudoku-sleuth.com/outside.md)
- [ordered-block](https://rules.sudoku-sleuth.com/ordered-block.md)
- [doll-sum](https://rules.sudoku-sleuth.com/doll-sum.md)
- [unique](https://rules.sudoku-sleuth.com/unique.md)
- [clone](https://rules.sudoku-sleuth.com/clone.md)
- [index](https://rules.sudoku-sleuth.com/index.md)
- [constructed-regions](https://rules.sudoku-sleuth.com/constructed-regions.md)
- [anti-knight](https://rules.sudoku-sleuth.com/anti-knight.md)
- [anti-king](https://rules.sudoku-sleuth.com/anti-king.md)
- [diagonal](https://rules.sudoku-sleuth.com/diagonal.md)
- [negative](https://rules.sudoku-sleuth.com/negative.md)
- [scoped-move](https://rules.sudoku-sleuth.com/scoped-move.md)
- [same-class](https://rules.sudoku-sleuth.com/same-class.md)
- [window-classes](https://rules.sudoku-sleuth.com/window-classes.md)
- [diagonal-lines](https://rules.sudoku-sleuth.com/diagonal-lines.md)
- [hidden-modular](https://rules.sudoku-sleuth.com/hidden-modular.md)
- [flat-mates](https://rules.sudoku-sleuth.com/flat-mates.md)
- [rotational-sums](https://rules.sudoku-sleuth.com/rotational-sums.md)
- [magic-square](https://rules.sudoku-sleuth.com/magic-square.md)

A standard board is one line: [sudoku 9x9](https://rules.sudoku-sleuth.com/sudoku.md).

The short names [whisper](https://rules.sudoku-sleuth.com/whisper.md) and [killer](https://rules.sudoku-sleuth.com/killer.md) refer to whispers and cage.

[Rule-line syntax](https://rules.sudoku-sleuth.com/syntax.md) describes not, if and unless. The general rules [Yin Yang](https://rules.sudoku-sleuth.com/yin-yang.md) and [absent digits](https://rules.sudoku-sleuth.com/absent-digits.md) express shading and missing digits.
