kernel-Nat.Finset.allBelow_congr
- Kind
- kernel-term
- Status
- checked
Supports: theorem Nat.Finset.allBelow_congr : ((x0 : ((x0 : AxNat) -> Bool)) -> ((x1 : ((x1 : AxNat) -> Bool)) -> ((x2 : AxNat) -> ((x3 : ((x3 : AxNat) -> Eq.{1} Bool (x0 x3) (x1 x3))) -> Eq.{1} Bool (AxNat.Finset.allBelow x0 x2) (AxNat.Finset.allBelow x1 x2)))))
test "$(cargo run -q -p axeyum-lean-kernel --release --example nat_theorem_inventory -- Nat.Finset.allBelow_congr 2>/dev/null | grep -xFc 'Nat.Finset.allBelow_congr 7 ((x0 : ((x0 : AxNat) -> Bool)) -> ((x1 : ((x1 : AxNat) -> Bool)) -> ((x2 : AxNat) -> ((x3 : ((x3 : AxNat) -> Eq.{1} Bool (x0 x3) (x1 x3))) -> Eq.{1} Bool (AxNat.Finset.allBelow x0 x2) (AxNat.Finset.allBelow x1 x2)))))')" -ge 1 Evidence notes
`build_nat_prelude` admits this through the trusted `Kernel::add_declaration` gate, which re-derives the type from the proof term; the checker greps for the inventory's exact tab-separated row, so a single wrong token in the rendered type makes it exit 1. Mutation-verified: reversing the hypothesis direction to `g i = f i` while leaving the proof unchanged makes the kernel reject the declaration with `TypeMismatch`, and all 11 tests in `nat_prelude::hall_theorem_tests` die (measured 2026-09-05, exit 101).