rat-clear-below-off-1
- Kind
- kernel-term
- Status
- checked
Supports: Both the wrapper and the fuelled form are checked, axiom-free theorems in all four rational preludes, and the checker pins each population at four rows SEPARATELY, so losing either half is caught (a single combined count would pass on eight rows of one of them). Each regex is anchored on its own conclusion: the wrapper equates `Rat.clearBelow x0 x1 x2 x3 x4 x5` with `x0 x4 x5`, i.e. the swept entry with the ORIGINAL entry at the same (row, column) -- a version equating it with the entry at a different index, or with `Rat.zero`, would not match.
out=$(target/release/examples/kernel_declaration_projection 2>&1) && test "$(printf "%s\n" "$out" | grep -cE '^[a-z]+[[:space:]]+theorem[[:space:]]+Rat\.clearBelow_off[[:space:]]+0[[:space:]].*-> Eq\.\{1\} Rat \(Rat\.clearBelow x0 x1 x2 x3 x4 x5\) \(x0 x4 x5\)\)\)\)\)\)\)\)$')" = 4 Evidence notes
Run 2026-09-02: four rows each, mutation-checked by `scripts/new-fact.py`. The column argument is universally quantified and appears on both sides, which is what makes this the EVERY-column statement rather than the pivot-column one; the statement pin in `clear_below_tests.rs` additionally asserts the hypothesis is `AxNat.le x4 x1` and not `AxNat.lt x4 x1`, because the pivot row itself is untouched.