pith. machine review for the scientific record. sign in
def definition def or abbrev high

rowMoves

show as:
view Lean formalization →

The rowMoves definition extracts the ordered list of nonzero micro-moves for one pair from a NormalForm coefficient table by filtering the fixed primitive list. Workers on ethical normal forms and DREAM scaffolding cite it when converting tables to move sequences for aggregation. The definition is a direct filterMap that builds MicroMove records only for nonzero coefficients and drops the rest.

claimFor a normal form $nf$ and integer pair $n$, rowMoves$(nf,n)$ returns the list of triples $(n,p,c)$ where $p$ runs over the canonical primitive order and $c=coeff(nf,n,p)$ is nonzero.

background

NormalForm is the structure holding a finite set of supported pairs together with a coefficient function from pairs and primitives to reals, required to vanish outside the support and to be nontrivial on each supported pair. MicroMove packages one triple (pair, primitive, coefficient). The module works inside the micro-move normal-form machinery that supports DREAM scaffolding for ethical coefficient tables. primitiveOrderList supplies the fixed ascending list of fourteen primitives used for canonical ordering.

proof idea

The definition is a one-line filterMap over primitiveOrderList. For each primitive it checks whether the stored coefficient is zero and emits a MicroMove record containing the pair, primitive, and coefficient only when the coefficient is nonzero.

why it matters in Recognition Science

rowMoves supplies the row decomposition used by aggCoeff_rowMoves to recover stored coefficients and by ofMicroMoves to reconstruct normal forms from move lists. It implements the micro-move extraction step inside the NormalForm machinery for ethical virtues, directly supporting the DREAM scaffolding described in the module doc. The definition closes the loop between table representation and list representation in the ethics layer.

scope and limits

formal statement (Lean)

  70noncomputable def rowMoves (nf : NormalForm) (pair : ℕ) : List MicroMove :=

proof body

Definition body.

  71  primitiveOrderList.filterMap (fun prim =>
  72    if nf.coeff pair prim = 0 then none
  73    else some ⟨pair, prim, nf.coeff pair prim⟩)
  74
  75/-- Canonical ordered list of micro-moves. -/

used by (7)

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

depends on (9)

Lean names referenced from this declaration's body.