Power identity:
ProvedPassivityRing.power_eqLet and be natural numbers, let be real matrices and , with indices modulo . Then the total power satisfies
The identity holds for every ring size, with no condition on the link matrices. It rewrites the power so that each link contributes only through its antisymmetric part.
import Mathlib import Definitions.Def_PassivityRing_power open Matrix BigOperators
namespace PassivityRing
theorem power_eq (N d : ℕ) [NeZero N]
(W : Fin N → Matrix (Fin d) (Fin d) ℝ) (v : Fin N → (Fin d → ℝ)) :
power N d W v = ∑ i : Fin N, v i ⬝ᵥ ((W i - (W i)ᵀ) *ᵥ v (i + 1)) := by sorry
end PassivityRingRead-back
What the Lean code literally says, in plain math · claude-opus-5-5
Theorem PassivityRing.power_eq. Fix natural numbers and , with (this is the only hypothesis). is allowed. Let the indices range over . On these indices, and are taken modulo , so the indices wrap around a cycle:
When the only index is , and .
The theorem holds for every choice of the following data, with no further conditions such as symmetry, invertibility or positivity:
- a family of real matrices ;
- a family of real vectors .
For a matrix and a vector , is the ordinary matrix–vector product . For two vectors, is the ordinary dot product. is the transpose of .
The quantity "power" is defined as a sum over all cyclic indices:
Both the matrix and the vector in the second term use the cyclically previous index . The first term uses the matrix at index and the vector at the cyclically next index .
The theorem asserts the identity
with all index arithmetic taken modulo .
Edge cases the statement covers:
- : every shift is trivial. The left side is . The right side is .
- : and are the same index, so both terms of the definition involve the other vector.
- : all vectors are empty and both sides are the empty sum .
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.