statement-Int.modEq_neg_modulus-both-halves
- Kind
- kernel-term
- Status
- checked
Supports: This row is a BICONDITIONAL and this kernel has no `Iff` at the `Int` layer, so it is closed only by both halves, and both are admitted: `Int.modEq_of_neg_modulus : ((x0 : Int) -> ((x1 : Int) -> ((x2 : Int) -> ((x3 : Int.ModEq (Int.neg x0) x1 x2) -> Int.ModEq x0 x1 x2))))` (mp) and `Int.modEq_neg_modulus : ((x0 : Int) -> ((x1 : Int) -> ((x2 : Int) -> ((x3 : Int.ModEq x0 x1 x2) -> Int.ModEq (Int.neg x0) x1 x2))))` (mpr). Both are pinned by the same test, so dropping either half fails it rather than quietly halving the claim. Neither carries an `Int.lt Int.zero` premise, matching the row's unrestricted quantification.
test "$(scripts/cargo-serialized.sh test -p axeyum-lean-kernel --lib the_modeq_ledger_rows_are_stated_without_a_positivity_hypothesis 2>&1 | grep -Ec 'test result: ok\. 1 passed; 0 failed')" -ge 1 Evidence notes
The statement pin exists because the footprint check cannot carry this claim: a theorem stating something WEAKER -- carrying the `0 < n` hypothesis that every other congruence lemma in `modeq.rs` carries, or with `a`/`b` swapped -- has exactly the same empty footprint and passes the footprint sweep unchanged. Mutation-verified: changing `Int.one` to `Int.zero` in the pinned string kills exactly one test, this one, and nothing else (23 passed / 1 failed). Anchored on the exact `1 passed; 0 failed` count.