rat-rank-nullity-rows-1
- Kind
- kernel-term
- Status
- checked
Supports: A checked, axiom-free theorem in all four rational preludes, population pinned at four. The regex pins the LEFT summand as `Rat.rank` and not `Rat.rankCols` -- the column form F:rat-rank-nullity was already free and is a different statement -- and requires no hypothesis binder. It also pins the axiom-footprint column at 0.
out=$(target/release/examples/kernel_declaration_projection 2>&1) && test "$(printf "%s\n" "$out" | grep -cE '^[a-z]+[[:space:]]+theorem[[:space:]]+Rat\.rank_nullity_rows[[:space:]]+0[[:space:]].*Eq\.\{1\} AxNat \(AxNat\.add \(Rat\.rank x0 x1 x2\) \(Rat\.nullity x0 x1 x2\)\) x2\)\)\)$')" = 4 Evidence notes
Run 2026-09-02: four rows, mutation-checked by `scripts/new-fact.py`. Checked AT THE NUMBERS as well as symbolically in `rat_prelude/echelon_section_tests.rs`: `rank + nullity` reduces to the column count at `[[1,2],[2,4]]` (1 + 1) and at `[[0,1],[2,3]]` (2 + 0), and the free-variable application carries a control refusing the column form.