let n be Nat; for A, B being Matrix of n,F_Real st Det A <> 0. F_Real holds
( (Mx2Tran A) " = Mx2Tran B iff A ~ = B )
A1:
( n = 0 implies n = 0 )
;
let A, B be Matrix of n,F_Real; ( Det A <> 0. F_Real implies ( (Mx2Tran A) " = Mx2Tran B iff A ~ = B ) )
assume A2:
Det A <> 0. F_Real
; ( (Mx2Tran A) " = Mx2Tran B iff A ~ = B )
A3:
A is invertible
by A2, LAPLACE:34;
set MA = Mx2Tran A;
set MB = Mx2Tran B;
A4:
width B = n
by MATRIX_0:24;
reconsider ma = Mx2Tran A, mb = Mx2Tran B as Function ;
A5:
( width A = n & len A = n )
by MATRIX_0:24;
A6:
Mx2Tran A is one-to-one
by A2, Th40;
assume A8:
A ~ = B
; (Mx2Tran A) " = Mx2Tran B
Mx2Tran A is onto
by A2, Th42;
then A9:
( dom (Mx2Tran B) = [#] (TOP-REAL n) & rng (Mx2Tran A) = [#] (TOP-REAL n) )
by FUNCT_2:def 1, FUNCT_2:def 3;
A10:
n in NAT
by ORDINAL1:def 12;
(Mx2Tran B) * (Mx2Tran A) =
Mx2Tran (A * B)
by A5, A4, A1, Th32
.=
Mx2Tran (1. (F_Real,n))
by A3, A10, A8, MATRIX14:18
.=
id (TOP-REAL n)
by Th33
.=
id (dom (Mx2Tran A))
by FUNCT_2:def 1
;
hence
(Mx2Tran A) " = Mx2Tran B
by A6, A9, FUNCT_1:41; verum