algs-poly-comm-ring-1
- Kind
- kernel-term
- Status
- checked
Supports: AlgS.Poly.commRing is a Definition producing an AlgS.CommRing VALUE, so Kernel::add_declaration re-checked all twenty-three of the record's law and data fields; its Kernel::axiom_footprint is empty. The suite reads the declaration kind from the environment (a Theorem or an axiom would not have had its fields checked), and pins six data selectors of AlgS.Poly.commRing R definitionally to the declared AlgS.Poly operations, with mul pinned NOT to be add and one pinned NOT to be zero -- the two swaps a mis-ordered field list would satisfy. The rejection control rebuilds the instance from its own selectors with slot 15 (mulOneL) supplied by slot 16 (mulOneR) and requires the kernel to refuse it, with the identical honest reconstruction admitted in the same test as the positive twin.
out=$(RUST_MIN_STACK=1073741824 cargo test -p axeyum-lean-kernel --release --test poly_comm_ring_concrete -- --test-threads=2 2>&1) && test "$(printf "%s\n" "$out" | grep -cE 'test result: ok\. 3 passed; 0 failed')" -ge 1 Evidence notes
This command checks the CONCRETE instantiation, which is the claim a referee cares about: AlgS.Poly.commRing fed AlgS.CommRing.ofAlg Alg.Rat.commRing, CReal.commRingS and Complex.commRingS admits at all three with an empty axiom footprint, so Q[X], R[X] and C[X] are machine-checked commutative rings. The pinned count is 3. The abstract construction's own suite (17 tests) is pinned by F:algs-poly-distrib-l and the three lemma facts. The negative control in this suite feeds the Eq-flavored Alg.Rat.commRing where the setoid record is required and requires a REFUSAL, with the ofAlg-projected positive twin in the same test.