simp only [vec, Matrix.mul_apply, Finset.sum_mul, Finset.mul_sum, Matrix.kroneckerMap_apply,
  transpose_apply, Matrix.row_apply, Matrix.col_apply, Fintype.sum_unique]
case a.unit
ι : Type ?u.61791
R : Type u_3
l : Type ?u.61797
m : Type u_1
n : Type u_2
p : Type ?u.61806
q : Type ?u.61809
r : Type ?u.61812
inst✝¹² : Fintype l
inst✝¹¹ : Fintype m
inst✝¹⁰ : Fintype n
inst✝⁹ : Fintype p
inst✝⁸ : Fintype q
inst✝⁷ : Fintype r
inst✝⁶ : DecidableEq l
inst✝⁵ : DecidableEq m
inst✝⁴ : DecidableEq n
inst✝³ : DecidableEq p
inst✝² : DecidableEq q
inst✝¹ : DecidableEq r
inst✝ : Field R
a : m → R
X : Matrix m n R
B : Matrix n n R
c : m → R
j✝ : Unit
⊢ (row a * X * B * Xᵀ * col c) PUnit.unit j✝ =
    ((vec X)ᵀ * kroneckerMap (fun x x_1 => x * x_1) Bᵀ (col c * row a) * vec X) PUnit.unit j✝
case a.unit
ι : Type ?u.61791
R : Type u_3
l : Type ?u.61797
m : Type u_1
n : Type u_2
p : Type ?u.61806
q : Type ?u.61809
r : Type ?u.61812
inst✝¹² : Fintype l
inst✝¹¹ : Fintype m
inst✝¹⁰ : Fintype n
inst✝⁹ : Fintype p
inst✝⁸ : Fintype q
inst✝⁷ : Fintype r
inst✝⁶ : DecidableEq l
inst✝⁵ : DecidableEq m
inst✝⁴ : DecidableEq n
inst✝³ : DecidableEq p
inst✝² : DecidableEq q
inst✝¹ : DecidableEq r
inst✝ : Field R
a : m → R
X : Matrix m n R
B : Matrix n n R
c : m → R
j✝ : Unit
⊢ ∑ x : m, ∑ x_1 : n, ∑ x_2 : n, ∑ i : m, a i * X i x_2 * B x_2 x_1 * X x x_1 * c x =
    ∑ x : n × m, ∑ i : n × m, X i.2 i.1 * (B x.1 i.1 * (c i.2 * a x.2)) * X x.2 x.1