Arc 7 — the 7-DOF passivity extension (P3 + P4)

Seal

Rung rung-5 · Status interfaced · #print axioms verbatim in The machine seal (full-library build green, 2656 jobs, 2026-07-09). P3 (inv_deriv_eq, congruence_skew, augmented_passivity_decomp, augmented_passivity_skew, augmented_passivity_identity) is SEALED with no open interface — pure finite-dimensional algebra over a commutative ring. P4 (nullspace_damping_gas, nullspace_damping_driven) is interfaced, resting on the same cascade interfaces as cascade (hsand, hdi, IsSolutionTo, the SPD-operator hypotheses via propIV1_cascade_gas). See interfaces.
Links: module index · interface ledger · extends passivity_transport · reuses cascade, passivity_identity · sources giordano2019coordinated, ott2008cartesian, panteley2001growth, khatib1987unified · pin pin_seven_dof.py · derivation [(~/Code/generated_reports/math/derivation_7dof.md)]

The ratified derivation is [(~/Code/generated_reports/math/derivation_7dof.md)]; this page is its §5 and §6/P4 as machine-checked Lean. With a 7-joint arm the coordinated task map is wide; the augmentation appends one inertia-weighted row to make it square and invertible on the singularity-free region :

with the one-dimensional self-motion (kernel of ) and the dynamically consistent (Khatib) covector. The transformed dynamics are the standard congruence with the moving-frame correction:

The augmentation is square. An earlier pseudo-inverse / non-square framing was refuted and deleted; nothing below uses a Moore–Penrose inverse.

Sealed theorems

inv_deriv_eq

The §5 “differentiate and solve” step. If is a left inverse () and the product rule holds for the identity (), then . Purely algebraic — no size, symmetry, or positivity.

congruence_skew

“A change of basis of a skew matrix is skew” (§5). If then for any .

augmented_passivity_decomp

The Arc’s new content — the §5 additive identity. With symmetric and the Christoffel factorization , substituting the inverse-derivative ,

the congruence of the original skew term plus a manifestly antisymmetric correction. (, .)

augmented_passivity_skew

P3 headline. is skew-symmetric — proved via the §5 additive route: congruence_skew on the sealed mdot_sub_two_coriolis_skew gives the congruence term skew, is antisymmetric, and a sum of skews is skew.

augmented_passivity_identity

Giordano eq 23 for the augmented dynamics: for every — the passivity / energy-balance identity, now established for the square augmentation.

nullspace_damping_gas

P4 engine instantiation. The damped self-motion state (from ) is the driven subsystem of the sealed cascade_gas: reshaped Lyapunov lower-bounded by a class- (hsand), driven by the vanishing task output through (hdi). A vanishing driver gives .

nullspace_damping_driven

P4 assembled (§6, “re-run the cascade”). The driving output is the full task block — the com→coupled cascade propIV1_cascade_gas gives — fed as the vanishing driver of the null-space cascade. Conclusion: the joint (null-space, task) state . Two sealed cascade stones composed; no fresh convergence proof.

P3 — the §5 lemma, re-derivable by hand

Quoting derivation_7dof.md §5:

Lemma (passivity survives). If is skew, so is . Proof. Two ingredients: the product rule, and . Differentiate , subtract , and collect — two of the six terms cancel, leaving , . A change of basis of a skew matrix is skew, and is skew by construction. Sum of skews is skew.

Writing , the six product-rule terms of and collect to

and substituting (inv_deriv_eq) with turns the remainder into exactly , since absorbs the transposed inverse-derivative term. This is augmented_passivity_decomp; SymPy pin (B) certifies the identity symbolically before any Lean.

The two hypotheses are exactly those of the sealed transport: symmetry of and the Christoffel factorization in the original coordinates. Nothing about beyond invertibility (through the product rule) is used — so this holds for any smooth invertible , the wide-then-squared augmentation being one instance. augmented_passivity_skew then reads the skew off the decomposition, and augmented_passivity_identity off the skew (the sealed dotProduct_mulVec_self_of_skew, a real skew quadratic form vanishes).

Relation to the sealed factorization route

passivity_transport already proves the same skew and eq-23 conclusion for any invertible time-varying transform through the factorization form transported_skew / transported_passivity_identity, both polymorphic in the index type and therefore already covering the augmentation with no size hypothesis. This module is the paper’s own §5 additive route (congruence + (S − Sᵀ)) made explicit, resting on the new inv_deriv_eq step; the two routes are independent kernel-checked confirmations of the same fact.

The honest P3 boundary — Ĉ is NOT block-diagonal

From derivation_7dof.md §6/P3:

P3. Coriolis cross-terms between and expect them to EXIST. Inertia decoupling is pointwise in ; varies with configuration, and its rate enters the off-diagonal blocks of . These terms do not break passivity (§5), but they couple to the task dynamics; do not claim a block-diagonal .

The transformed inertia is block-diagonal (pin (C): the self-motion is -orthogonal to every task velocity, ). The transformed Coriolis is not: the rate populates the off-diagonal blocks. What P3 establishes is that these genuinely-present cross-terms are workless — passivity is safe — and it is precisely they that DRIVE the null-space in P4. Any statement that is block-diagonal would be false and is not claimed here.

P4 — closed-loop null-space damping

With block-diagonal (hat m_n > 0) the self-motion obeys , and . Under the pair is a damped oscillator driven by the task-block cross-terms — a textbook cascade whose driving output is the task state, which the sealed Prop IV.1 (propIV1_cascade_gas, cascade) already sends to the origin. So P4 is assembly over the sealed cascade engine, not a new convergence proof: nullspace_damping_gas instantiates cascade_gas with the null-space as the driven block, and nullspace_damping_driven discharges the driver from propIV1_cascade_gas.

The reshaped Lyapunov. The raw mechanical energy does not satisfy the proportional inequality — its rate has no term, so does not decrease when . The reshaped (Panteley Prop 1 shape, small ) is coercive and, on a bounded orbit, does satisfy it. Pin (D) exhibits concrete with and over box draws. This is why hsand (the sandwich) and hdi (the interconnection inequality) enter as named modelling inputs — the same status they carry throughout cascade — rather than being re-derived; the pin shows they are realizable for the null-space, not assumed into existence.

Out of scope (flagged design decision, not a proof target): the null space is one-dimensional but three secondary objectives compete for it (singular-value maximization, envelope clearance, pan-centering). Allocating one DOF among three objectives is a data-driven weighting/scheduling decision, made explicitly elsewhere.

Interfaces left open (honest scope)

  • P3: none. The five passivity theorems are pure finite-dimensional algebra over a CommRing; they take only and the original-coordinate Christoffel factorization, and discharge both from hypotheses that are physical facts. The product-rule naming of and the identification are the same statement-level scaffolding passivity_transport draws (pin (C) certifies the concrete structure); no Flow-level or analytic hypothesis enters P3.
  • P4: the cascade interfaces, inherited unchanged from cascadehsand/hdi (the reshaped-Lyapunov sandwich and interconnection inequality, Panteley Prop 1 / eq 35), the applier-side regularity hvc/hv, and — via propIV1_cascade_gasIsSolutionTo (flow existence on ), the discharged hcpt/ForwardPrecompact, and the SPD-operator hypotheses (discharged for concrete matrices by ComLaSalleMatrix). The null-space is a new consumer of hsand/hdi; it opens no new interface family. See interfaces.

Sources and provenance

  • giordano2019coordinated (RA-L 2019) — the coordinated-control framing paper; assumes a nonredundant arm (“Let us assume a nonredundant manipulator”). The redundant extension formalized here is the new content.
  • ott2008cartesian Lemma 3.2 — the Christoffel skew-symmetry skew, the reused stone (via passivity_transport, passivity_identity).
  • panteley2001growth — the Panteley–Loría cascade (Lemma 2), the reused P4 engine (via cascade).
  • khatib1987unified — the dynamically-consistent (inertia-weighted) generalized inverse; the sense in which is canonical.
  • Giordano thesis (whole-body coordinated control, §5.2 redundant formulation + §5.8c damping law) — the direct prior art for both P3 (his “internal Coriolis stays fully coupled” is P3 in print) and P4 (his finite- damping law). Not yet corpus-filed — plain-text citation, flagged.
  • Nakamura (redundant-manipulator null-space reconstruction) — the classical null-space fiber-reconstruction reference. On disk, not yet corpus-filed — plain-text citation, flagged.

SymPy / NumPy pin

pin_seven_dof.py in this directory, run under new-pin-env, all blocks PASS:

  • (A) inverse derivative both as the algebraic solve of the product-rule relation and as an honest .
  • (B) §5 additive decomposition — symbolic , symmetric, : the residual is the zero matrix; plus skew and congruence-of-skew. This is the exact identity augmented_passivity_decomp formalizes.
  • (C) concrete 13-dim model — a structured with prescribed 1-D kernel , SPD , the square : , (M-orthogonality), block-diagonal (off-diagonal ), , , and a time-varying draw with numerically skew ().
  • (D) §6/P4 reshaped Lyapunov — the raw energy fails the proportional decrease; the reshaped is coercive and satisfies with , over box draws.

The machine seal

SevenDof.lean in this directory (build copy ~/lean/ctrllib/Ctrllib/SevenDof.lean, registered in Ctrllib.lean; this directory’s copy is the tracked source of truth). Verbatim #print axioms (full-library build 2026-07-09, 2656 jobs):

info: 'Ctrllib.inv_deriv_eq' depends on axioms: [propext, Classical.choice, Quot.sound]
info: 'Ctrllib.congruence_skew' depends on axioms: [propext, Classical.choice, Quot.sound]
info: 'Ctrllib.augmented_passivity_decomp' depends on axioms: [propext, Classical.choice, Quot.sound]
info: 'Ctrllib.augmented_passivity_skew' depends on axioms: [propext, Classical.choice, Quot.sound]
info: 'Ctrllib.augmented_passivity_identity' depends on axioms: [propext, Classical.choice, Quot.sound]
info: 'Ctrllib.nullspace_damping_gas' depends on axioms: [propext, Classical.choice, Quot.sound]
info: 'Ctrllib.nullspace_damping_driven' depends on axioms: [propext, Classical.choice, Quot.sound]

No sorryAx; every public theorem’s axiom set is propext, Classical.choice, Quot.sound.