Pointing Arrow
Count along the ray by the marked digit to find its target. The mode states whether the target is greater, smaller, equal to the source, or the first 5.
Parameters
| Parameter | Meaning | Default |
|---|---|---|
| cell | The clue cell. | Required. |
| ray | The cells along the ray, nearest first. | Required. |
| target | The target relationship: greater, less, source or first-five. | Required. |
| source | The cell whose digit the target must match. | Absent; source target requires it. |
Maths
Class: first-order.
The shared predicates define the notation and every named predicate.
let n=D(cell); 1<=n<=|ray| ∧ let t=D(ray[n-1]);
(target="greater" → t>n) ∧ (target="less" → t<n)
∧ (target="source" → present(source) ∧ t=D(unwrap(source)))
∧ (target="first-five" → t=5 ∧ ∀i∈[0,n-1): D(ray[i])!=5)
The marked digit names a one-based position within ray. Its target digit is greater, smaller, equal to the source digit, or the first five on the ray, according to target.
Example
---
format: open-rules
title: Pointing Arrow example
setter: Example
source: ""
case: ""
library: https://rules.sudoku-sleuth.com/
status: read
---
```rules
sudoku 9x9
pointing-arrow cell "r1c1" ray ["r1c2","r1c3"] target "greater"
```
Satisfies the rule: r1c3=3, r1c1=2, r1c2=1. The digit 2 selects the second ray cell, whose 3 is greater.
Breaks the rule: r1c3=2, r1c1=2, r1c2=1. The selected ray cell equals 2 rather than exceeding it.