kernel-Int.prod_range_pairing_collapse
- Kind
- kernel-term
- Status
- checked
Supports: `Int.prod_range_pairing_collapse` is admitted with exactly the type in formal.statement. THE INDUCTION IS ORDINARY, AND THAT CORRECTS A PLAN THAT HAD SURVIVED NINE DRAFTS: wilson.rs's module doc sketched strong induction via WellFounded.fix, citing gcd.rs's precedent. It is not needed. The step decreases the domain by exactly 2, so proving `And (family n) (family (succ n))` together by plain Nat.rec suffices. The step conjugates sigma by a two-point transposition. Nat.transposition's helpers are typed concretely over NatDev, so a local IntDev-native copy was built rather than editing a file another lane held; the already-generic conjugate_injective / conjugate_maps_into were reused unchanged.
test "$(scripts/cargo-serialized.sh test -p axeyum-lean-kernel --lib int_prelude::int_prelude_tests::the_pairing_collapse_keeps_its_fixed_point_free_premise -- --exact 2>&1 | grep -Ec 'test result: ok\. 1 passed; 0 failed')" -ge 1 Evidence notes
A footprint check cannot carry this claim, and here the difference is soundness rather than strength: the SAME theorem with the fixed-point-free premise deleted is FALSE at sigma = id, and it would have an identically empty footprint. Mutation-verified 2026-08-24: deleting that premise from the pinned string makes cargo report `578 passed; 1 failed`, naming this test and no other; restored, 579/579 green. The command is anchored on the exact `1 passed; 0 failed` count so an unmatched filter -- which prints `running 0 tests ... ok` and exits 0 -- cannot read as success.