pith. machine review for the scientific record. sign in
lemma proved term proof high

pairList_nodup

show as:
view Lean formalization →

The lemma shows that the ascending sorted list of support pairs from any normal form contains no duplicates. Workers on micro-move coefficient tables cite it to guarantee a unique ordering when flattening or aggregating moves. The argument is a direct one-line reduction that unfolds the list definition and invokes the standard fact that sorted finite lists are duplicate-free.

claimFor every normal form $nf$ the ascending sorted list of its support pairs has no repeated entries.

background

The module develops canonical normal forms for micro-move coefficient tables supporting DREAM scaffolding. NormalForm is the structure consisting of a finite set of support pairs, a coefficient function from pairs and primitives to reals, together with the zero-outside-support and nontriviality axioms. The pairList operation extracts those support pairs and returns them in ascending sorted order. The result relies on the upstream NormalForm structure and the pairList definition; it also uses the general property that sorting a finite set produces a duplicate-free list.

proof idea

The proof is a one-line wrapper. It unfolds the definition of pairList and simplifies using the lemma that the output of sorting is nodup.

why it matters in Recognition Science

The lemma supplies the uniqueness hypothesis required in the proof of sumCoeffs_toMoves, which shows that aggregated coefficients recovered from the move list equal the original table entries. It closes a basic well-formedness condition for the normal-form representation of micro-move tables. In the Recognition framework this supports the canonical ordering needed for coefficient aggregation steps.

scope and limits

Lean usage

have hl := pairList_nodup nf

formal statement (Lean)

  65lemma pairList_nodup (nf : NormalForm) : (pairList nf).Nodup := by

proof body

Term-mode proof.

  66  unfold pairList
  67  simp only [sort_nodup]
  68
  69/-- Micro-moves for a single pair. -/

used by (1)

From the project-wide theorem graph. These declarations reference this one in their body.

depends on (3)

Lean names referenced from this declaration's body.