rat-is-pivot-col-b-eq-ble-1
- Kind
- kernel-term
- Status
- checked
Supports: Both `Rat.isPivotColB_eq_ble` and the fuelled `Rat.pivotColSearchAux_eq_ble` 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 makes the count differ and the command exits 1. The regex admits both arities deliberately (the wrapper takes four arguments, the fuelled scan six) and pins the bound on the right-hand side to `x1`, which is the ROW-COUNT binder in both signatures: a version comparing against the column count would not match.
out=$(target/release/examples/kernel_declaration_projection 2>&1) && test "$(printf "%s\n" "$out" | grep -cE '^(rat|creal|complex|cpoint)[[:space:]]+theorem[[:space:]]+Rat\.(isPivotColB|pivotColSearchAux)_eq_ble[[:space:]]+0[[:space:]].*Eq\.\{1\} Bool \(Rat\.(isPivotColB|pivotColSearchAux) x0 x1 x2 x3( x4 x5)?\) \(AxNat\.ble \(AxNat\.succ \(Rat\.(pivotRowOfCol|pivotRowSearchAux) x0 x1 x2 x3( x4 x5)?\)\) x1\)\)+$')" = 8 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.