Identifier
F:nat-even-xor
Proof route
kernel-lean
External status
proved
Axiom footprint
Empty

Recorded description

For every natural m, n: Even(xor(m, n)) holds iff Even(m) holds iff Even(n) holds.

Formal statement
theorem Nat.even_xor : ((x0 : AxNat) -> ((x1 : AxNat) -> Iff (AxNat.Even (AxNat.xor x0 x1)) (Iff (AxNat.Even x0) (AxNat.Even x1))))

Dependencies

The graph shows direct ledger edges. Follow a node to open its artifact page.

Direct dependencies appear to the left. The current fact is in the center. Facts that depend directly on it appear to the right. The computed quotient and remai The quotient and remainder of a <= on the naturals is antisymme [generated] kernel theorem Nat. <= is preserved by successor on <= splits into < or = The remainder is smaller than a [generated] kernel theorem Nat. Current fact
12 direct dependencies 0 direct dependents Graph shows the first 8 on each side.

Evidence

kernel-Nat.even_xor

Kind
kernel-term
Status
checked

Supports: Nat.even_xor is admitted by the trusted kernel gate with the type recorded in formal.statement.

Checker command
test "$(cargo run -q -p axeyum-lean-kernel --example nat_theorem_inventory -- even_xor 2>/dev/null | grep -Ec '^Nat\.even_xor[[:space:]]')" -ge 1
Evidence notes

`build_nat_prelude` admits this theorem only through the trusted `Kernel::add_declaration` gate, which re-checks the proof term against the stated type -- producing this row at all is a machine-checked proof. `nat_theorem_inventory` exits non-zero for a name that does not exist, and `grep -Ec` consumes the pipe and the tested count is what decides the exit status. Anchored with `^Nat\.even_xor[[:space:]]` so a future sibling cannot satisfy this row.

compute-Nat.even_xor

Kind
kernel-term
Status
checked

Supports: even_xor(4, 6): both even, xor(4, 6) = 2 (even) -- mp/mpr round-trip through a hand-built Even 2/Even 4/Even 6. even_xor(3, 5): both odd, xor(3, 5) = 6 (even) -- mpr applied to a constructed Iff (Even 3) (Even 5) (built from Not (Even 3)/Not (Even 5)) lands on Even 6. Both instances exercise the genuinely-bitwise (both-nonzero) branch of the proof, not just the m=0/n=0 boundary shortcuts.

Checker command
cargo test -p axeyum-lean-kernel --lib nat_prelude::nat_prelude_tests::even_xor_applies_at_concrete_even_even_and_odd_odd_instances
Evidence notes

A swapped mp/mpr, a wrong remainder in the even_iff_mod_two_eq_zero bridge, or a sign error in the per-bit XOR combine would make one of these applications either fail to type-check or land on a type that is not defeq to the expected side.

footprint-Nat.even_xor

Kind
instance-pin
Status
checked

Supports: axiom_footprint: [] -- the Nat environment admits no trusted declaration

Checker command
cargo run -q -p axeyum-lean-kernel --example nat_axiom_inventory -- --require-axiom-free nat
Evidence notes

Reports `nat: axiom=0 opaque=0 quotient=0 total_trusted=0`, over the full trusted surface rather than `Declaration::Axiom` alone. The enumeration is per-environment, not per-theorem; it bounds this theorem's footprint because a proof cannot depend on a trusted declaration the environment does not contain.

Provenance

{
  "date": "2026-08-29",
  "established_by": "axeyum-lean-kernel build_nat_prelude, lane nat-parity-lowbit",
  "source": "theorem name and canonical type read directly via nat_theorem_inventory, which prints render_lean of the admitted type."
}