let n, m, k be Nat; for A being Matrix of n,m,F_Real
for B being Matrix of width A,k,F_Real st ( n = 0 implies m = 0 ) & ( m = 0 implies k = 0 ) holds
(Mx2Tran B) * (Mx2Tran A) = Mx2Tran (A * B)
let A be Matrix of n,m,F_Real; for B being Matrix of width A,k,F_Real st ( n = 0 implies m = 0 ) & ( m = 0 implies k = 0 ) holds
(Mx2Tran B) * (Mx2Tran A) = Mx2Tran (A * B)
let B be Matrix of width A,k,F_Real; ( ( n = 0 implies m = 0 ) & ( m = 0 implies k = 0 ) implies (Mx2Tran B) * (Mx2Tran A) = Mx2Tran (A * B) )
assume that
A1:
( n = 0 implies m = 0 )
and
A2:
( m = 0 implies k = 0 )
; (Mx2Tran B) * (Mx2Tran A) = Mx2Tran (A * B)
reconsider Bk = MX2FinS (1. (F_Real,k)) as OrdBasis of k -VectSp_over F_Real by MATRLIN2:45;
reconsider Bm = MX2FinS (1. (F_Real,m)) as OrdBasis of m -VectSp_over F_Real by MATRLIN2:45;
reconsider Bn = MX2FinS (1. (F_Real,n)) as OrdBasis of n -VectSp_over F_Real by MATRLIN2:45;
A3:
len A = n
by A1, MATRIX13:1;
A4:
len Bn = n
by Th19;
then reconsider A1 = A as Matrix of len Bn, len Bm,F_Real by Th19;
A5:
Mx2Tran A = Mx2Tran (A1,Bn,Bm)
by Th20;
A6:
width A = m
by A1, MATRIX13:1;
then A7:
width B = k
by A2, MATRIX13:1;
then reconsider AB = A * B as Matrix of len Bn, len Bk,F_Real by A3, A4, Th19;
len Bm = m
by Th19;
then reconsider B1 = B as Matrix of len Bm, len Bk,F_Real by A6, Th19;
A8:
len B1 = m
by A2, A6, MATRIX13:1;
Mx2Tran (A * B) = Mx2Tran (AB,Bn,Bk)
by A3, A7, Th20;
then
Mx2Tran (A * B) = (Mx2Tran (B1,Bm,Bk)) * (Mx2Tran (A1,Bn,Bm))
by A6, A8, MATRLIN2:40;
hence
(Mx2Tran B) * (Mx2Tran A) = Mx2Tran (A * B)
by A6, A5, Th20; verum