Identifier
F:nat-bitwise-and-eq-land
Proof route
kernel-lean
External status
proved
Axiom footprint
Empty

Recorded description

The general bitwise combinator instantiated at Bool.and agrees with the specialized bitwise-AND at every pair of natural numbers.

Formal statement
theorem Nat.bitwise_and_eq_land : ((x0 : AxNat) -> ((x1 : AxNat) -> Eq.{1} AxNat (AxNat.bitwise (fun (x2 : Bool) => fun (x3 : Bool) => Bool.rec.{1} (fun (x4 : Bool) => Bool) Bool.false x3 x2) x0 x1) (AxNat.land x0 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. n mod 2 = 0 or n mod 2 = 1 bitwise and_fn 3 5 = land 3 5 Current fact
2 direct dependencies 0 direct dependents

Evidence

kernel-Nat.bitwise_and_eq_land

Kind
kernel-term
Status
checked

Supports: for all m n, bitwise and_fn m n = land m n

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

`build_nat_prelude` admits this theorem through the trusted `Kernel::add_declaration` gate, which re-checks the proof term against the stated type, so producing this row at all is a machine-checked proof. The anchor `^Nat\.bitwise_and_eq_land[[:space:]]` matters: the same filter also prints `Nat.bitwise_and_eq_land_three_five` (the single-point predecessor this theorem supersedes), and the trailing `[[:space:]]` excludes it -- verified exactly 1 row. `nat_theorem_inventory` exits non-zero for a name that does not exist, and `grep -Ec` consumes the pipe and the count is tested, so the exit status depends on what the run found.

compute-Nat.bitwise_and_eq_land

Kind
kernel-term
Status
checked

Supports: the equivalence holds at symbolic operands, at seven concrete pairs, and does not prove the lor statement

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

Checked BOTH symbolically and concretely, because the two catch disjoint defects. SYMBOLIC: the statement is re-declared in a consumer namespace over genuinely bound variables with this theorem as the entire proof, so it must apply at operands that are not numerals -- if it held only where everything reduces, that declaration would not be admitted. CONCRETE: seven operand pairs including `(3,5)`, `(5,3)` and `(6,3)`, where AND and OR values differ, so a copy-paste between the `land` and `lor` blocks fails loudly. NEGATIVE CONTROL: this theorem's own proof term, instantiated at `(3,5)`, is offered against the `lor` statement at the same operands (where the two sides reduce to 1 and 7) and the kernel must reject it with `DeclarationValueMismatch`; mutation-verified by swapping `p.lor` for `p.land` there, which kills exactly this one test (120 passed, 1 failed) and no other.

footprint-Nat.bitwise_and_eq_land

Kind
exhaustive-enumeration
Status
checked

Supports: axiom_footprint: [] -- the Nat prelude's trusted surface is empty

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

`nat_axiom_inventory --require-axiom-free nat` enumerates the built Nat environment and exits non-zero unless it admits no Axiom, Opaque or Quotient declaration.

Provenance

{
  "date": "2026-08-29",
  "established_by": "axeyum-lean-kernel build_nat_prelude, lane nat-rec-agreement",
  "source": "`declare_rec_agreement_all` (`crates/axeyum-lean-kernel/src/nat_prelude/rec_agreement.rs`)"
}