rat-pivot-row-of-col-lt-rows-1
- Kind
- kernel-term
- Status
- checked
Supports: `Rat.pivotRowOfCol_lt_rows` is a checked `Declaration::Theorem` with an EMPTY axiom footprint in all four preludes that build the rationals. The pattern pins the conclusion to `AxNat.lt (Rat.pivotRowOfCol x0 x1 x2 x3) x1` anchored to end of line: `x1` is the ROW-COUNT binder, so a version bounding by the column count `x2` -- which is the wrong bound and would be the easy mistake in a four-index family -- does not match. The bound is STRICT (`AxNat.lt`, not `AxNat.le`), which is what the counting law's MapsInto hypothesis requires and what a non-strict version would fail to give.
out=$(target/release/examples/kernel_declaration_projection 2>&1) && test "$(printf "%s\n" "$out" | grep -cE '^(rat|creal|complex|cpoint)[[:space:]]+theorem[[:space:]]+Rat\.pivotRowOfCol_lt_rows[[:space:]]+0[[:space:]].*-> AxNat\.lt \(Rat\.pivotRowOfCol x0 x1 x2 x3\) x1\)\)\)\)\)$')" = 4 Evidence notes
Run 2026-09-02: the pattern matches the real output at exactly the required count. `scripts/new-fact.py` verified it FAILS on mutated output (digits perturbed, true -> false, 0 -> 1) before this file was written, so a pattern anchored on the surrounding prose rather than on the finding would have been rejected there.