real-inverse-built-statements-and-non-vacuity
- Kind
- kernel-term
- Status
- checked
Supports: The five statements are asserted VERBATIM as rendered types (not by footprint); CReal.PosBound CReal.one 0 is admitted THROUGH THE KERNEL so the guarded theorems are not vacuous; the inverse is proved not to be the constant zero; and the two one-token mutations are REFUSED.
out=$(scripts/cargo-serialized.sh test -p axeyum-lean-kernel --lib creal::creal_tests::the_inverse 2>&1) && test "$(printf "%s\n" "$out" | grep -cE 'test result: ok\. 3 passed; 0 failed')" = 1 Evidence notes
Anchored on a NONZERO test count (3), because a filter matching nothing prints 'ok. 0 passed' and exits 0 -- and on 0 failed, so a green-looking partial run cannot pass. Verified discriminating by scripts/new-fact.py: the pattern matches the real output and fails under every mutation of it. The three tests are the verbatim-statement test, the non-vacuity/discrimination test (PosBound one 0 admitted, then forall h, not (inv one 0 h ~ zero) from mul_inv_cancel and Equiv.not_zero_one alone), and the negative-control test (x*inv x ~ 0 and inv x ~ x both REFUSED). Vacuity, not weakness, is the failure mode this row exists for: every statement about CReal.inv is guarded by PosBound x k, and an uninhabited guard would let all of them hold footprint-free with their statements verbatim.