The coupled block is GAS for a concrete SPD model — G1 sub-item (d)
Seal
Rung G1 · Status sealed — axiom-clean (
#print axiomsverbatim in The machine seal; full build 2654 jobs). Discharges the operator hypothesescoupled_gascarries beyond the CoM ones (hJadj/hpass/hMinj/hJKinj, plus the CoM-sharedhMsa/hKsa/hMinv/hDnn/hDdefreused from com_lasalle_matrix) as theorems for a concrete SPD model — the hzero step on the concreteg2Field— and seals the Ω J-rank fact. OnlyIsSolutionTo,hcpt, and the moving-metric brackethreal/hfieldremain applier-side.
Links: module index · interface ledger · related coupled_collapse, coupled_field, stiffness_residual, gamma_invertible, com_lasalle_matrix · source giordano2019coordinated · pinpin_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_adjoint—hJadj: ; is the adjoint of , throughinner_toEuclideanCLM+ the transpose.euclideanCLM_passivity—hpass: from the Christoffel relation (the sealed passivity_transport content), (using ).euclideanCLM_injective_of_isUnit—hMinj: for a unit matrix , is injective; applied to (a unit since is), viaisUnit_nonsing_inv_iff.euclideanCLM_stiffness_injective—hJKinj: for and full column rank, — the operator transcription of the sealedstiffness_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 (mulVecinjective), built on gamma_invertiblegamma_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; onlyIsSolutionTo,hcpt, and the moving-metric brackethreal/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 /Code/vault/lean/pin_coupled_matrix.py).~/lean/ctrllib/Ctrllib/CoupledCollapseMatrix.lean. SymPy pin (