Symmetric block form symmetric, antisymmetric
ProvedPassivityUn.symm_blocks_iffLet be a natural number and let be real matrices. Then
In complex terms, the real form of is symmetric exactly when is Hermitian.
import Mathlib open Matrix
namespace PassivityUn
theorem symm_blocks_iff (n : ℕ) (A B : Matrix (Fin n) (Fin n) ℝ) :
(Matrix.fromBlocks A (-B) B A)ᵀ = Matrix.fromBlocks A (-B) B A
↔ Aᵀ = A ∧ Bᵀ = -B := by sorry
end PassivityUnRead-back
What the Lean code literally says, in plain math · claude-opus-5-5
Read-back of PassivityUn.symm_blocks_iff.
Let be any natural number, including . Let and be any two real matrices, with rows and columns indexed by . The statement places no other conditions on or . From them it builds the real block matrix
Its rows and columns are indexed by the disjoint union of two copies of : the first copy gives the top/left blocks and the second gives the bottom/right blocks. In , the top-left block is , the top-right block is , the bottom-left block is and the bottom-right block is .
The theorem claims a two-way equivalence ("if and only if"):
Here is the ordinary matrix transpose. The left side says the block matrix is symmetric. The right side says both of the following hold together:
- is symmetric.
- is skew-symmetric.
Both directions of the equivalence are asserted. The claim is made for every and every pair .
Edge case : , and are all empty matrices. Every equality between them holds trivially, so both sides of the equivalence are true.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.