let n be Nat; for K being Field
for M1, M2 being Matrix of n,K st M1 is_congruent_Matrix_of M2 & n > 0 holds
M2 is_congruent_Matrix_of M1
let K be Field; for M1, M2 being Matrix of n,K st M1 is_congruent_Matrix_of M2 & n > 0 holds
M2 is_congruent_Matrix_of M1
let M1, M2 be Matrix of n,K; ( M1 is_congruent_Matrix_of M2 & n > 0 implies M2 is_congruent_Matrix_of M1 )
assume that
A1:
M1 is_congruent_Matrix_of M2
and
A2:
n > 0
; M2 is_congruent_Matrix_of M1
consider M being Matrix of n,K such that
A3:
M is invertible
and
A4:
M1 = ((M @ ) * M2) * M
by A1, Def6;
A5:
M ~ is_reverse_of M
by A3, MATRIX_6:def 4;
take
M ~
; MATRIX_8:def 6 ( M ~ is invertible & M2 = (((M ~ ) @ ) * M1) * (M ~ ) )
A6:
width (M ~ ) = n
by MATRIX_1:25;
A7:
( len (M @ ) = n & width (M @ ) = n )
by MATRIX_1:25;
A8:
width M = n
by MATRIX_1:25;
A9:
len (M ~ ) = n
by MATRIX_1:25;
( len M = n & width ((M @ ) * M2) = n )
by MATRIX_1:25;
then A10: M1 * (M ~ ) =
((M @ ) * M2) * (M * (M ~ ))
by A4, A8, A9, MATRIX_3:35
.=
((M @ ) * M2) * (1. K,n)
by A5, MATRIX_6:def 2
.=
(M @ ) * M2
by MATRIX_3:21
;
A11:
len M2 = n
by MATRIX_1:25;
A12:
width ((M ~ ) @ ) = n
by MATRIX_1:25;
( len M1 = n & width M1 = n )
by MATRIX_1:25;
then (((M ~ ) @ ) * M1) * (M ~ ) =
((M ~ ) @ ) * (M1 * (M ~ ))
by A9, A12, MATRIX_3:35
.=
(((M ~ ) @ ) * (M @ )) * M2
by A7, A11, A12, A10, MATRIX_3:35
.=
((M * (M ~ )) @ ) * M2
by A2, A8, A9, A6, MATRIX_3:24
.=
((1. K,n) @ ) * M2
by A5, MATRIX_6:def 2
.=
(1. K,n) * M2
by MATRIX_6:10
.=
M2
by MATRIX_3:20
;
hence
( M ~ is invertible & M2 = (((M ~ ) @ ) * M1) * (M ~ ) )
by A3, MATRIX_6:16; verum