rat-pivot-search-le-rows-1
- Kind
- kernel-term
- Status
- checked
Supports: Both `Rat.pivotSearch_le_rows` and the fuelled `Rat.pivotSearchAux_le_rows` are checked `Declaration::Theorem`s with EMPTY axiom footprints in all four preludes, and both rendered types bound the search result by the ROW COUNT argument. The checker counts EIGHT rows (two declarations across four preludes) and requires exactly that, so losing either half -- or either half's statement drifting to a different bound -- makes the count differ and the command exit 1.
out=$(target/release/examples/kernel_declaration_projection 2>/dev/null | grep -cE '^(rat|creal|complex|cpoint)[[:space:]]+theorem[[:space:]]+Rat\.pivotSearch(Aux)?_le_rows[[:space:]]+0[[:space:]].*AxNat\.le \(Rat\.pivotSearch(Aux)? x0 x1 x2 x3( x4)?\) x[23]\)+$' 2>&1) && test "$(printf "%s\n" "$out" | grep -cE '^8$')" = 1 Evidence notes
Run 2026-09-02: exactly eight rows match. `scripts/new-fact.py` verified the pattern fails on mutated output. The regex admits both arities deliberately (`pivotSearch` takes four arguments, `pivotSearchAux` five) and pins the bound to `x3` and `x2` respectively, which are the row-count binders in each signature -- so a version bounding by the column index would not match.