The coupled block is GAS for a concrete SPD model — G1 sub-item (d)

Seal

Rung G1 · Status sealed — axiom-clean (#print axioms verbatim in The machine seal; full build 2654 jobs). Discharges the operator hypotheses coupled_gas carries beyond the CoM ones (hJadj/hpass/hMinj/hJKinj, plus the CoM-shared hMsa/hKsa/hMinv/hDnn/hDdef reused from com_lasalle_matrix) as theorems for a concrete SPD model — the hzero step on the concrete g2Field — and seals the Ω J-rank fact. Only IsSolutionTo, hcpt, and the moving-metric bracket hreal/hfield remain applier-side.
Links: module index · interface ledger · related coupled_collapse, coupled_field, stiffness_residual, gamma_invertible, com_lasalle_matrix · source giordano2019coordinated · pin pin_coupled_matrix.py

What this seals, in one paragraph

coupled_gas (coupled_collapse) proves Prop IV.1’s convergence for the driven attitude+EE block through the invariance (LaSalle) route — rung-2’s honest finding was that the pointwise hzero is FALSE (the Lyapunov-derivative zero set is the whole subspace , not ), so the origin is reached only via invariance . coupled_gas carries nine operator hypotheses. For the concrete SPD model each is a theorem; this module proves the four beyond the CoM set (adjoint, passivity, injectivity, stiffness-residual injectivity) via Matrix.toEuclideanCLM and the sealed stiffness_residual/passivity_transport stones, reuses the five CoM discharges from com_lasalle_matrix, and wires all nine into coupled_gas to give coupled_gas_matrix — the concrete witness that the LaSalle-route collapse (never the false pointwise form) holds for the SPD model.

Sealed theorems

  • euclideanCLM_adjointhJadj: ; is the adjoint of , through inner_toEuclideanCLM + the transpose.
  • euclideanCLM_passivityhpass: from the Christoffel relation (the sealed passivity_transport content), (using ).
  • euclideanCLM_injective_of_isUnithMinj: for a unit matrix , is injective; applied to (a unit since is), via isUnit_nonsing_inv_iff.
  • euclideanCLM_stiffness_injectivehJKinj: for and full column rank, — the operator transcription of the sealed stiffness_residual_injective' (stiffness_residual).
  • gamma_jacobian_mulVec_injective — the Ω J-rank fact: where the 12×12 coordinated transform is invertible, the 6×6 circumcentroidal Jacobian has full column rank (mulVec injective), built on gamma_invertible gamma_isUnit_iff. This is the concrete content of current_sota’s ” full-rank on ”.
  • coupled_gas_matrix — the capstone: given concrete SPD , the Christoffel with , and a nonsingular representation Jacobian , every forward-precompact orbit converges to the origin. All nine operator hypotheses discharged; only IsSolutionTo, hcpt, and the moving-metric bracket hreal/hfield (the deferred analytic step, not the algebra) remain named.

SymPy pin

pin_coupled_matrix.py witnesses the concrete SPD coupled model (9×9 base+ee block, plus 6): the adjoint identity , the passivity identity with , , and the Γ rank fact (Rot ) with the invertible- ⟺ injective- agreement — all to or the singular-value floor.

The machine seal

Verbatim #print axioms (full build, 2654 jobs, no sorryAx):

'Ctrllib.euclideanCLM_adjoint' depends on axioms: [propext, Classical.choice, Quot.sound]
'Ctrllib.euclideanCLM_passivity' depends on axioms: [propext, Classical.choice, Quot.sound]
'Ctrllib.euclideanCLM_injective_of_isUnit' depends on axioms: [propext, Classical.choice, Quot.sound]
'Ctrllib.euclideanCLM_stiffness_injective' depends on axioms: [propext, Classical.choice, Quot.sound]
'Ctrllib.gamma_jacobian_mulVec_injective' depends on axioms: [propext, Classical.choice, Quot.sound]
'Ctrllib.coupled_gas_matrix' depends on axioms: [propext, Classical.choice, Quot.sound]

The module is (/Code/vault/lean/CoupledCollapseMatrix.lean), build copy ~/lean/ctrllib/Ctrllib/CoupledCollapseMatrix.lean. SymPy pin (/Code/vault/lean/pin_coupled_matrix.py).