rat-leading-index-eq-of-first-nonzero-1
- Kind
- kernel-term
- Status
- checked
Supports: Both forms are checked, axiom-free theorems in all four rational preludes, populations pinned separately at four. Each regex is anchored on an EQUATION `Eq.{1} AxNat (Rat.leadingIndex x0 x1 x2) x3`, not a bound: a version concluding `AxNat.le` would be true and useless, because it would not pin the pivot column, and it would not match. The `x3` on the right is the same variable the nonzero hypothesis is about, so a version concluding about a different column fails too.
out=$(target/release/examples/kernel_declaration_projection 2>&1) && test "$(printf "%s\n" "$out" | grep -cE '^[a-z]+[[:space:]]+theorem[[:space:]]+Rat\.leadingIndex_eq_of_first_nonzero[[:space:]]+0[[:space:]].*-> Eq\.\{1\} AxNat \(Rat\.leadingIndex x0 x1 x2\) x3\)\)\)\)\)\)\)$')" = 4 Evidence notes
Run 2026-09-02: four rows each, mutation-checked by `scripts/new-fact.py`. The scan itself is reduced against hand-computed answers at `[[1,2,3],[0,0,5],[0,0,0]]` -- a leading entry at column 0, one at the LAST column so the scan skips two zeroes first -- with a control that must not be `def_eq`. A characterization theorem that agreed with a WRONG scan would be useless, and only reduction distinguishes the two.