kernel-Rat.covariance_sq_le_variance_mul
- Kind
- kernel-term
- Status
- checked
Supports: `Rat.covariance_sq_le_variance_mul` is admitted with exactly the type in formal.statement. It composes `Rat.covariance_sq_le_variance_mul_of_pos` (the case `0 < variance X p n`, closed by instantiating `Rat.variance_scaled_add_nonneg` -- `Var[tX+Y] >= 0` -- at `t := -cov * inv(var X)` and multiplying through) with `Rat.covariance_sq_le_variance_mul_of_zero_zero` (the case both variances vanish, closed without any inverse by instantiating the same nonnegativity fact at `t := one` and `t := neg one`) and a symmetric role-swapped call for `variance X p n = 0 < variance Y p n`. This is the DISCRIMINANT proof of Cauchy-Schwarz, not a transport of `CPoint.cauchy_schwarz`: nothing in this proof mentions CPoint, CReal or Lagrange's identity, and nothing in CPoint.cauchy_schwarz's proof mentions covariance or variance.
test "$(scripts/cargo-serialized.sh test -p axeyum-lean-kernel --lib rat_prelude::rat_prelude_tests::the_probability_toolkit_is_axiom_free -- --exact 2>&1 | grep -Ec 'test result: ok\. 1 passed; 0 failed')" -ge 1 Evidence notes
Run 2026-08-24: exit 0 (`test result: ok. 1 passed; 0 failed`). Negative control run the same way against the nonexistent test name `the_probability_toolkit_is_axiom_free_NONEXISTENT` exits 1 (the filter matches zero tests, `running 0 tests ... ok`, which the grep pattern does not match). HONEST GAP, stated so it is not assumed away: unlike `CPoint.cauchy_schwarz`'s fact, this one has NO committed test that pins the exact rendered type string with `assert_eq!` the way `cauchy_schwarz_statement_is_exact` and `lagrange_identity_statement_is_exact` do for their theorems -- `the_probability_toolkit_is_axiom_free` checks declaration presence, Theorem-hood and an empty axiom footprint, which does not by itself distinguish this statement from a same-shaped, same-footprint theorem with (for instance) the two sides of the inequality swapped. `formal.statement` above was obtained by direct kernel inspection -- building `Rat` prelude and calling `Kernel::render_lean` on the declared type of `covariance_sq_le_variance_mul` -- rather than by an existing pinned test; the crate this would live in (`crates/axeyum-lean-kernel/src/rat_prelude/rat_prelude_tests.rs`) was out of scope for this lane, which was constrained to `artifacts/`. Adding a `covariance_sq_le_variance_mul_statement_is_exact` test analogous to the CPoint ones would close this gap and is a natural next step for a lane with `crates/` in scope.