Constructed Regions
Divide the board into connected regions of the stated size. Each region contains different digits. Borders separate regions; joins put cells in the same region.
Parameters
| Parameter | Meaning | Default |
|---|---|---|
| size | The number of cells in each constructed region or cage. | Required. |
| borders | Pairs of neighbouring cells that must belong to different regions. | Required. |
| joins | Pairs of cells that must belong to the same region. | Required. |
Maths
Class: existential.
The shared predicates define the notation and every named predicate.
∃P:set<set<cell>>: partition(P,C)
∧ (∀R∈P: |R|=size ∧ connected(R) ∧ distinct_D(R))
∧ (∀p∈joins: |p|=2 ∧ samePartition(P,p[0],p[1]))
∧ (∀p∈borders: |p|=2 ∧ ¬samePartition(P,p[0],p[1]))
There is a partition of the board into orthogonally connected sets of size cells. Each set has distinct digits; each border separates sets and each join identifies one set. With size equal to the alphabet size, each set contains every symbol.
Example
---
format: open-rules
title: Constructed Regions example
setter: Example
source: ""
case: ""
library: https://rules.sudoku-sleuth.com/
status: read
board:
rows: 1
cols: 3
symbols:
- 1
- 2
- 3
---
```rules
constructed-regions size 3 borders [] joins []
```
Satisfies the rule: r1c1=1, r1c2=2, r1c3=3. The three connected cells form one region with different digits.
Breaks the rule: r1c1=1, r1c2=1, r1c3=3. The only possible three-cell region repeats 1.