rat-pivot-search-ne-zero-1
- Kind
- kernel-term
- Status
- checked
Supports: Both `Rat.pivotSearch_ne_zero` and the fuelled `Rat.pivotSearchAux_ne_zero` are checked `Declaration::Theorem`s with EMPTY axiom footprints in all four preludes that build the rationals. The checker counts EIGHT rows -- two declarations across four preludes -- and requires exactly that, so losing either half changes the count and the command exits 1. The regex pins the CONCLUSION to the entry at the row the search FOUND (`x0 (Rat.pivotSearch… …) x1`), in the column `x1` it searched. A version concluding about the entry at the START row (`x0 x2 x1`) would be FALSE at `[[0,1],[1,0]]` and would not match; so would one about a different column. The regex admits both arities deliberately (the wrapper takes four arguments, the fuelled scan five).
out=$(target/release/examples/kernel_declaration_projection 2>&1) && test "$(printf "%s\n" "$out" | grep -cE '^(rat|creal|complex|cpoint)[[:space:]]+theorem[[:space:]]+Rat\.pivotSearch(Aux)?_ne_zero[[:space:]]+0[[:space:]].*-> Not \(Eq\.\{1\} Rat \(x0 \(Rat\.pivotSearch(Aux)? x0 x1 x2 x3( x4)?\) x1\) Rat\.zero\)\)+$')" = 8 Evidence notes
Run 2026-09-02: exactly eight rows match. `scripts/new-fact.py` verified the pattern FAILS on mutated output (digits perturbed, true -> false, 0 -> 1) before this file was written.