kernel-Rat.mul_add_le_sq_add_sq_three
- Kind
- kernel-term
- Status
- checked
Supports: Rat.mul_add_le_sq_add_sq_three is admitted by the trusted kernel gate with the type recorded in formal.statement, from a proof term the psatz PRODUCER searched for.
cargo run -q --release -p axeyum-lean-kernel --example rat_theorem_inventory -- mul_add_le_sq_add_sq_three 2>/dev/null | grep -cE '^theorem[[:space:]]Rat\.mul_add_le_sq_add_sq_three[[:space:]]' Evidence notes
The proof term was NOT written by a person. `crate::psatz::rat::prove` parsed the goal into a polynomial, factored the difference's Gram matrix over the affine basis with an exact rational LDL^T, cleared denominators to one integer scale, emitted the `sq_nonneg`/`add_nonneg` fold, proved the certificate's identity with `ring::rat::prove_eq`, and handed the assembled term to `Kernel::add_declaration`. `rat_prelude/psatz_inequalities.rs` has NO hand-written fallback: if the producer declines, `build_rat_prelude` fails, so the presence of this theorem in the environment is itself the evidence that the search ran and succeeded. `Kernel::add_declaration` re-checks the emitted term against the stated type, so a line in this tool's output for the exact name is a machine-checked proof having been admitted. `--release` is used for speed, not necessity: this binary builds logic/nat/int/rat and no constructed prelude. `grep -c` (never `-q`) both avoids a SIGPIPE-under-pipefail false negative and independently asserts the whitespace-anchored `theorem` row is present, so a theorem demoted to an axiom would fail this check rather than pass it. A named filter matching nothing exits 1 in the tool itself, verified 2026-09-05 (`no_such_rat_theorem_xyz` -> exit 1), so a deleted theorem cannot read as a re-derived one. The separators are `[[:space:]]`, not `\t`: POSIX ERE does not interpret `\t` as a tab, so a tab-anchored pattern matches NOTHING under the GNU grep a script gets, while an interactive shell's ugrep wrapper masks it.