rat-rank-eq-rank-cols-of-pivot-section-1
- Kind
- kernel-term
- Status
- checked
Supports: `Rat.rank_eq_rankCols_of_pivotSection` is a checked `Declaration::Theorem` with an EMPTY axiom footprint in all four preludes that build the rationals, and the pattern pins the WHOLE of both ends of the statement: the hypothesis is the section equation at the echelon form (`Rat.pivotRowOfCol (Rat.rowEchelon x0 x1 x2) x1 x2 (Rat.pivotColOfRow (Rat.rowEchelon x0 x1 x2) x2 x3) = x3`) and the conclusion is `Rat.rank x0 x1 x2 = Rat.rankCols x0 x1 x2` anchored to end of line. A version assuming the FULL echelon predicate `Rat.isEchelon` would not match, and neither would one concluding about `rankCols` alone.
out=$(target/release/examples/kernel_declaration_projection 2>&1) && test "$(printf "%s\n" "$out" | grep -cE '^(rat|creal|complex|cpoint)[[:space:]]+theorem[[:space:]]+Rat\.rank_eq_rankCols_of_pivotSection[[:space:]]+0[[:space:]].*Rat\.pivotRowOfCol \(Rat\.rowEchelon x0 x1 x2\) x1 x2 \(Rat\.pivotColOfRow \(Rat\.rowEchelon x0 x1 x2\) x2 x3\)\) x3\)\)\)\) -> Eq\.\{1\} AxNat \(Rat\.rank x0 x1 x2\) \(Rat\.rankCols x0 x1 x2\)\)\)\)\)$')" = 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.