`BookProof.AbelianDiagonal.commutant_diagonal_eq_diagonal` (M : Matrix n n ℂ) (h : ∀ d : n → ℂ, M * Matrix.diagonal d = Matrix.diagonal d * M) : M = Matrix.diagonal (fun i => M i i
ProvedBookProof.AbelianDiagonal.commutant_diagonal_eq_diagonaltheoremstimepiece
Prove the following Lean 4 theorem from ChapterAbelianDiagonal.
BookProof.AbelianDiagonal.commutant_diagonal_eq_diagonal (M : Matrix n n ℂ) (h : ∀ d : n → ℂ, M * Matrix.diagonal d = Matrix.diagonal d * M) : M = Matrix.diagonal (fun i => M i i)
Formalization note: Lean 4 identifier BookProof.AbelianDiagonal.commutant_diagonal_eq_diagonal.
Preamble
-- Generated from ChapterAbelianDiagonal.lean — theorem BookProof.AbelianDiagonal.commutant_diagonal_eq_diagonal
import Mathlib
import Definitions.Def_ChapterAbelianDiagonal
open BookProof.AbelianDiagonal
open Matrix
variable {n : Type*} [Fintype n] [DecidableEq n]Formal statement
theorem BookProof.AbelianDiagonal.commutant_diagonal_eq_diagonal (M : Matrix n n ℂ)
(h : ∀ d : n → ℂ, M * Matrix.diagonal d = Matrix.diagonal d * M) :
M = Matrix.diagonal (fun i => M i i) := by sorry