algs-poly-distrib-l-1
- Kind
- kernel-term
- Status
- checked
Supports: AlgS.Poly.distribL and the twenty-six other AlgS.Poly.* declarations it rests on (equiv, add, zero, neg, one, smul, commGroup, antidiagFrom, mul, antidiagFrom_congr, antidiagFrom_add, mulCongr, distribR, antidiagFrom_shift, antidiagFrom_succ_last, antidiagFrom_rev, antidiagFrom_tail_zero, antidiagFrom_head, antidiagFrom_mul_right, mul_succ, mulComm, mulOneR, mulOneL, mulAssoc, commRing, and AlgS.add_add_add_comm) admit through the trusted Kernel::add_declaration gate with an empty Kernel::axiom_footprint. The suite also pins the convolution's ORDER definitionally at indices 0, 1 and 2 against hand-written terms, each with a negative twin (swapped summands, swapped factors, left-nested sum) that must NOT be def_eq, and refuses the additive AlgS.CommGroup instance when identR's proof is supplied for identL, with the honest reconstruction admitted in the same test as the positive twin.
out=$(RUST_MIN_STACK=1073741824 cargo test -p axeyum-lean-kernel --lib --release poly_setoid_tests -- --test-threads=4 2>&1) && test "$(printf "%s\n" "$out" | grep -cE 'test result: ok\. 17 passed; 0 failed')" -ge 1 Evidence notes
The pinned count is 17. A dropped or renamed test changes the count and fails the command. Five of the seventeen are rejection controls, each carrying a POSITIVE TWIN in the same test: a record-field or proof-term mutation poisons the whole prelude build (measured: mutating mulAssoc's join step made all 17 die on the fixture's expect), so a refusal is only evidence about the field once the honest reconstruction is shown to admit beside it. Each of the five controls was itself mutated to the honest statement and exactly those five died, the other twelve passing.