Identifier
F:list-perm-refl
Proof route
kernel-lean
External status
proved
Axiom footprint
Empty

Recorded description

For any list l over Nat, List.Perm l l computes to true.

Formal statement
theorem List.perm_refl : ((x0 : List.{0} AxNat) -> Eq.{1} Bool (List.Perm x0 x0) Bool.true)

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. [generated] kernel theorem Nat. Current fact
1 direct dependencies 0 direct dependents

Evidence

kernel-list-perm-refl

Kind
kernel-term
Status
checked

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

Checker command
test "$(cargo run -q --release -p axeyum-lean-kernel --example list_theorem_inventory -- List.perm_refl 2>/dev/null | grep -Fc '((x0 : List.{0} AxNat) -> Eq.{1} Bool (List.Perm x0 x0) Bool.true)')" -ge 1
Evidence notes

The pattern is the FULL admitted type (rendered by Kernel::render_lean via list_theorem_inventory), not the theorem's name -- a drifted statement would fail this check.

footprint-list-perm-refl

Kind
instance-pin
Status
checked

Supports: axiom_footprint: [] -- read from Kernel::axiom_footprint for this declaration, not from a maintained list

Checker command
cargo test -q --release -p axeyum-lean-kernel --lib -- list_prelude::perm::perm_tests::the_perm_theorems_declare_no_axioms --test-threads=1
Evidence notes

Asserts Kernel::axiom_footprint(name).is_empty() for this declaration, read directly from the kernel rather than asserted from a list.

evaluation-list-perm-refl

Kind
instance-pin
Status
checked

Supports: The List/Nat operations this statement is about COMPUTE the intended values, with negative controls -- the kernel cannot tell a Definition is wrong.

Checker command
cargo test -q --release -p axeyum-lean-kernel --lib -- list_prelude:: --test-threads=4
Evidence notes

The list_prelude:: sweep (list_prelude_tests.rs, bridge_tests.rs, perm_tests.rs) reduces List/Nat.Multiset operations to concrete numerals or nil/cons skeletons at tiny discriminating arguments and pairs positives with negative controls.

Provenance

{
  "date": "2026-09-03",
  "established_by": "axeyum-lean-kernel build_list_perm",
  "source": "theorem name and canonical type read directly via list_theorem_inventory, which prints render_lean of the admitted type; declared by list_prelude/perm.rs (lane list-carrier-2, ADR-1583 amending ADR-1579)."
}