Metamath Proof Explorer


Theorem mdetpmtr12

Description: The determinant of a matrix with permuted rows and columns is the determinant of the original matrix multiplied by the product of the signs of the permutations. (Contributed by Thierry Arnoux, 22-Aug-2020)

Ref Expression
Hypotheses mdetpmtr.a 𝐴 = ( 𝑁 Mat 𝑅 )
mdetpmtr.b 𝐵 = ( Base ‘ 𝐴 )
mdetpmtr.d 𝐷 = ( 𝑁 maDet 𝑅 )
mdetpmtr.g 𝐺 = ( Base ‘ ( SymGrp ‘ 𝑁 ) )
mdetpmtr.s 𝑆 = ( pmSgn ‘ 𝑁 )
mdetpmtr.z 𝑍 = ( ℤRHom ‘ 𝑅 )
mdetpmtr.t · = ( .r𝑅 )
mdetpmtr12.e 𝐸 = ( 𝑖𝑁 , 𝑗𝑁 ↦ ( ( 𝑃𝑖 ) 𝑀 ( 𝑄𝑗 ) ) )
mdetmptr12.r ( 𝜑𝑅 ∈ CRing )
mdetmptr12.n ( 𝜑𝑁 ∈ Fin )
mdetmptr12.m ( 𝜑𝑀𝐵 )
mdetmptr12.p ( 𝜑𝑃𝐺 )
mdetmptr12.q ( 𝜑𝑄𝐺 )
Assertion mdetpmtr12 ( 𝜑 → ( 𝐷𝑀 ) = ( ( 𝑍 ‘ ( ( 𝑆𝑃 ) · ( 𝑆𝑄 ) ) ) · ( 𝐷𝐸 ) ) )

Proof

Step Hyp Ref Expression
1 mdetpmtr.a 𝐴 = ( 𝑁 Mat 𝑅 )
2 mdetpmtr.b 𝐵 = ( Base ‘ 𝐴 )
3 mdetpmtr.d 𝐷 = ( 𝑁 maDet 𝑅 )
4 mdetpmtr.g 𝐺 = ( Base ‘ ( SymGrp ‘ 𝑁 ) )
5 mdetpmtr.s 𝑆 = ( pmSgn ‘ 𝑁 )
6 mdetpmtr.z 𝑍 = ( ℤRHom ‘ 𝑅 )
7 mdetpmtr.t · = ( .r𝑅 )
8 mdetpmtr12.e 𝐸 = ( 𝑖𝑁 , 𝑗𝑁 ↦ ( ( 𝑃𝑖 ) 𝑀 ( 𝑄𝑗 ) ) )
9 mdetmptr12.r ( 𝜑𝑅 ∈ CRing )
10 mdetmptr12.n ( 𝜑𝑁 ∈ Fin )
11 mdetmptr12.m ( 𝜑𝑀𝐵 )
12 mdetmptr12.p ( 𝜑𝑃𝐺 )
13 mdetmptr12.q ( 𝜑𝑄𝐺 )
14 fveq2 ( 𝑘 = 𝑖 → ( 𝑃𝑘 ) = ( 𝑃𝑖 ) )
15 14 oveq1d ( 𝑘 = 𝑖 → ( ( 𝑃𝑘 ) 𝑀 𝑙 ) = ( ( 𝑃𝑖 ) 𝑀 𝑙 ) )
16 oveq2 ( 𝑙 = 𝑗 → ( ( 𝑃𝑖 ) 𝑀 𝑙 ) = ( ( 𝑃𝑖 ) 𝑀 𝑗 ) )
17 15 16 cbvmpov ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) = ( 𝑖𝑁 , 𝑗𝑁 ↦ ( ( 𝑃𝑖 ) 𝑀 𝑗 ) )
18 1 2 3 4 5 6 7 17 mdetpmtr1 ( ( ( 𝑅 ∈ CRing ∧ 𝑁 ∈ Fin ) ∧ ( 𝑀𝐵𝑃𝐺 ) ) → ( 𝐷𝑀 ) = ( ( ( 𝑍𝑆 ) ‘ 𝑃 ) · ( 𝐷 ‘ ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) ) ) )
19 9 10 11 12 18 syl22anc ( 𝜑 → ( 𝐷𝑀 ) = ( ( ( 𝑍𝑆 ) ‘ 𝑃 ) · ( 𝐷 ‘ ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) ) ) )
20 eqid ( Base ‘ 𝑅 ) = ( Base ‘ 𝑅 )
21 12 3ad2ant1 ( ( 𝜑𝑘𝑁𝑙𝑁 ) → 𝑃𝐺 )
22 simp2 ( ( 𝜑𝑘𝑁𝑙𝑁 ) → 𝑘𝑁 )
23 eqid ( SymGrp ‘ 𝑁 ) = ( SymGrp ‘ 𝑁 )
24 23 4 symgfv ( ( 𝑃𝐺𝑘𝑁 ) → ( 𝑃𝑘 ) ∈ 𝑁 )
25 21 22 24 syl2anc ( ( 𝜑𝑘𝑁𝑙𝑁 ) → ( 𝑃𝑘 ) ∈ 𝑁 )
26 simp3 ( ( 𝜑𝑘𝑁𝑙𝑁 ) → 𝑙𝑁 )
27 11 3ad2ant1 ( ( 𝜑𝑘𝑁𝑙𝑁 ) → 𝑀𝐵 )
28 1 20 2 25 26 27 matecld ( ( 𝜑𝑘𝑁𝑙𝑁 ) → ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ∈ ( Base ‘ 𝑅 ) )
29 1 20 2 10 9 28 matbas2d ( 𝜑 → ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) ∈ 𝐵 )
30 eqid ( 𝑖𝑁 , 𝑗𝑁 ↦ ( 𝑖 ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) ( 𝑄𝑗 ) ) ) = ( 𝑖𝑁 , 𝑗𝑁 ↦ ( 𝑖 ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) ( 𝑄𝑗 ) ) )
31 1 2 3 4 5 6 7 30 mdetpmtr2 ( ( ( 𝑅 ∈ CRing ∧ 𝑁 ∈ Fin ) ∧ ( ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) ∈ 𝐵𝑄𝐺 ) ) → ( 𝐷 ‘ ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) ) = ( ( ( 𝑍𝑆 ) ‘ 𝑄 ) · ( 𝐷 ‘ ( 𝑖𝑁 , 𝑗𝑁 ↦ ( 𝑖 ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) ( 𝑄𝑗 ) ) ) ) ) )
32 9 10 29 13 31 syl22anc ( 𝜑 → ( 𝐷 ‘ ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) ) = ( ( ( 𝑍𝑆 ) ‘ 𝑄 ) · ( 𝐷 ‘ ( 𝑖𝑁 , 𝑗𝑁 ↦ ( 𝑖 ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) ( 𝑄𝑗 ) ) ) ) ) )
33 simp2 ( ( 𝜑𝑖𝑁𝑗𝑁 ) → 𝑖𝑁 )
34 13 3ad2ant1 ( ( 𝜑𝑖𝑁𝑗𝑁 ) → 𝑄𝐺 )
35 simp3 ( ( 𝜑𝑖𝑁𝑗𝑁 ) → 𝑗𝑁 )
36 23 4 symgfv ( ( 𝑄𝐺𝑗𝑁 ) → ( 𝑄𝑗 ) ∈ 𝑁 )
37 34 35 36 syl2anc ( ( 𝜑𝑖𝑁𝑗𝑁 ) → ( 𝑄𝑗 ) ∈ 𝑁 )
38 oveq2 ( 𝑙 = ( 𝑄𝑗 ) → ( ( 𝑃𝑖 ) 𝑀 𝑙 ) = ( ( 𝑃𝑖 ) 𝑀 ( 𝑄𝑗 ) ) )
39 eqid ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) = ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) )
40 ovex ( ( 𝑃𝑖 ) 𝑀 ( 𝑄𝑗 ) ) ∈ V
41 15 38 39 40 ovmpo ( ( 𝑖𝑁 ∧ ( 𝑄𝑗 ) ∈ 𝑁 ) → ( 𝑖 ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) ( 𝑄𝑗 ) ) = ( ( 𝑃𝑖 ) 𝑀 ( 𝑄𝑗 ) ) )
42 33 37 41 syl2anc ( ( 𝜑𝑖𝑁𝑗𝑁 ) → ( 𝑖 ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) ( 𝑄𝑗 ) ) = ( ( 𝑃𝑖 ) 𝑀 ( 𝑄𝑗 ) ) )
43 42 mpoeq3dva ( 𝜑 → ( 𝑖𝑁 , 𝑗𝑁 ↦ ( 𝑖 ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) ( 𝑄𝑗 ) ) ) = ( 𝑖𝑁 , 𝑗𝑁 ↦ ( ( 𝑃𝑖 ) 𝑀 ( 𝑄𝑗 ) ) ) )
44 8 43 eqtr4id ( 𝜑𝐸 = ( 𝑖𝑁 , 𝑗𝑁 ↦ ( 𝑖 ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) ( 𝑄𝑗 ) ) ) )
45 44 fveq2d ( 𝜑 → ( 𝐷𝐸 ) = ( 𝐷 ‘ ( 𝑖𝑁 , 𝑗𝑁 ↦ ( 𝑖 ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) ( 𝑄𝑗 ) ) ) ) )
46 45 oveq2d ( 𝜑 → ( ( ( 𝑍𝑆 ) ‘ 𝑄 ) · ( 𝐷𝐸 ) ) = ( ( ( 𝑍𝑆 ) ‘ 𝑄 ) · ( 𝐷 ‘ ( 𝑖𝑁 , 𝑗𝑁 ↦ ( 𝑖 ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) ( 𝑄𝑗 ) ) ) ) ) )
47 32 46 eqtr4d ( 𝜑 → ( 𝐷 ‘ ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) ) = ( ( ( 𝑍𝑆 ) ‘ 𝑄 ) · ( 𝐷𝐸 ) ) )
48 47 oveq2d ( 𝜑 → ( ( ( 𝑍𝑆 ) ‘ 𝑃 ) · ( 𝐷 ‘ ( 𝑘𝑁 , 𝑙𝑁 ↦ ( ( 𝑃𝑘 ) 𝑀 𝑙 ) ) ) ) = ( ( ( 𝑍𝑆 ) ‘ 𝑃 ) · ( ( ( 𝑍𝑆 ) ‘ 𝑄 ) · ( 𝐷𝐸 ) ) ) )
49 crngring ( 𝑅 ∈ CRing → 𝑅 ∈ Ring )
50 9 49 syl ( 𝜑𝑅 ∈ Ring )
51 4 5 6 zrhcopsgnelbas ( ( 𝑅 ∈ Ring ∧ 𝑁 ∈ Fin ∧ 𝑃𝐺 ) → ( ( 𝑍𝑆 ) ‘ 𝑃 ) ∈ ( Base ‘ 𝑅 ) )
52 50 10 12 51 syl3anc ( 𝜑 → ( ( 𝑍𝑆 ) ‘ 𝑃 ) ∈ ( Base ‘ 𝑅 ) )
53 4 5 6 zrhcopsgnelbas ( ( 𝑅 ∈ Ring ∧ 𝑁 ∈ Fin ∧ 𝑄𝐺 ) → ( ( 𝑍𝑆 ) ‘ 𝑄 ) ∈ ( Base ‘ 𝑅 ) )
54 50 10 13 53 syl3anc ( 𝜑 → ( ( 𝑍𝑆 ) ‘ 𝑄 ) ∈ ( Base ‘ 𝑅 ) )
55 12 3ad2ant1 ( ( 𝜑𝑖𝑁𝑗𝑁 ) → 𝑃𝐺 )
56 23 4 symgfv ( ( 𝑃𝐺𝑖𝑁 ) → ( 𝑃𝑖 ) ∈ 𝑁 )
57 55 33 56 syl2anc ( ( 𝜑𝑖𝑁𝑗𝑁 ) → ( 𝑃𝑖 ) ∈ 𝑁 )
58 11 3ad2ant1 ( ( 𝜑𝑖𝑁𝑗𝑁 ) → 𝑀𝐵 )
59 1 20 2 57 37 58 matecld ( ( 𝜑𝑖𝑁𝑗𝑁 ) → ( ( 𝑃𝑖 ) 𝑀 ( 𝑄𝑗 ) ) ∈ ( Base ‘ 𝑅 ) )
60 1 20 2 10 9 59 matbas2d ( 𝜑 → ( 𝑖𝑁 , 𝑗𝑁 ↦ ( ( 𝑃𝑖 ) 𝑀 ( 𝑄𝑗 ) ) ) ∈ 𝐵 )
61 8 60 eqeltrid ( 𝜑𝐸𝐵 )
62 3 1 2 20 mdetcl ( ( 𝑅 ∈ CRing ∧ 𝐸𝐵 ) → ( 𝐷𝐸 ) ∈ ( Base ‘ 𝑅 ) )
63 9 61 62 syl2anc ( 𝜑 → ( 𝐷𝐸 ) ∈ ( Base ‘ 𝑅 ) )
64 20 7 ringass ( ( 𝑅 ∈ Ring ∧ ( ( ( 𝑍𝑆 ) ‘ 𝑃 ) ∈ ( Base ‘ 𝑅 ) ∧ ( ( 𝑍𝑆 ) ‘ 𝑄 ) ∈ ( Base ‘ 𝑅 ) ∧ ( 𝐷𝐸 ) ∈ ( Base ‘ 𝑅 ) ) ) → ( ( ( ( 𝑍𝑆 ) ‘ 𝑃 ) · ( ( 𝑍𝑆 ) ‘ 𝑄 ) ) · ( 𝐷𝐸 ) ) = ( ( ( 𝑍𝑆 ) ‘ 𝑃 ) · ( ( ( 𝑍𝑆 ) ‘ 𝑄 ) · ( 𝐷𝐸 ) ) ) )
65 50 52 54 63 64 syl13anc ( 𝜑 → ( ( ( ( 𝑍𝑆 ) ‘ 𝑃 ) · ( ( 𝑍𝑆 ) ‘ 𝑄 ) ) · ( 𝐷𝐸 ) ) = ( ( ( 𝑍𝑆 ) ‘ 𝑃 ) · ( ( ( 𝑍𝑆 ) ‘ 𝑄 ) · ( 𝐷𝐸 ) ) ) )
66 4 5 cofipsgn ( ( 𝑁 ∈ Fin ∧ 𝑃𝐺 ) → ( ( 𝑍𝑆 ) ‘ 𝑃 ) = ( 𝑍 ‘ ( 𝑆𝑃 ) ) )
67 10 12 66 syl2anc ( 𝜑 → ( ( 𝑍𝑆 ) ‘ 𝑃 ) = ( 𝑍 ‘ ( 𝑆𝑃 ) ) )
68 4 5 cofipsgn ( ( 𝑁 ∈ Fin ∧ 𝑄𝐺 ) → ( ( 𝑍𝑆 ) ‘ 𝑄 ) = ( 𝑍 ‘ ( 𝑆𝑄 ) ) )
69 10 13 68 syl2anc ( 𝜑 → ( ( 𝑍𝑆 ) ‘ 𝑄 ) = ( 𝑍 ‘ ( 𝑆𝑄 ) ) )
70 67 69 oveq12d ( 𝜑 → ( ( ( 𝑍𝑆 ) ‘ 𝑃 ) · ( ( 𝑍𝑆 ) ‘ 𝑄 ) ) = ( ( 𝑍 ‘ ( 𝑆𝑃 ) ) · ( 𝑍 ‘ ( 𝑆𝑄 ) ) ) )
71 6 zrhrhm ( 𝑅 ∈ Ring → 𝑍 ∈ ( ℤring RingHom 𝑅 ) )
72 50 71 syl ( 𝜑𝑍 ∈ ( ℤring RingHom 𝑅 ) )
73 1z 1 ∈ ℤ
74 neg1z - 1 ∈ ℤ
75 prssi ( ( 1 ∈ ℤ ∧ - 1 ∈ ℤ ) → { 1 , - 1 } ⊆ ℤ )
76 73 74 75 mp2an { 1 , - 1 } ⊆ ℤ
77 4 5 psgnran ( ( 𝑁 ∈ Fin ∧ 𝑃𝐺 ) → ( 𝑆𝑃 ) ∈ { 1 , - 1 } )
78 10 12 77 syl2anc ( 𝜑 → ( 𝑆𝑃 ) ∈ { 1 , - 1 } )
79 76 78 sselid ( 𝜑 → ( 𝑆𝑃 ) ∈ ℤ )
80 4 5 psgnran ( ( 𝑁 ∈ Fin ∧ 𝑄𝐺 ) → ( 𝑆𝑄 ) ∈ { 1 , - 1 } )
81 10 13 80 syl2anc ( 𝜑 → ( 𝑆𝑄 ) ∈ { 1 , - 1 } )
82 76 81 sselid ( 𝜑 → ( 𝑆𝑄 ) ∈ ℤ )
83 zringbas ℤ = ( Base ‘ ℤring )
84 zringmulr · = ( .r ‘ ℤring )
85 83 84 7 rhmmul ( ( 𝑍 ∈ ( ℤring RingHom 𝑅 ) ∧ ( 𝑆𝑃 ) ∈ ℤ ∧ ( 𝑆𝑄 ) ∈ ℤ ) → ( 𝑍 ‘ ( ( 𝑆𝑃 ) · ( 𝑆𝑄 ) ) ) = ( ( 𝑍 ‘ ( 𝑆𝑃 ) ) · ( 𝑍 ‘ ( 𝑆𝑄 ) ) ) )
86 72 79 82 85 syl3anc ( 𝜑 → ( 𝑍 ‘ ( ( 𝑆𝑃 ) · ( 𝑆𝑄 ) ) ) = ( ( 𝑍 ‘ ( 𝑆𝑃 ) ) · ( 𝑍 ‘ ( 𝑆𝑄 ) ) ) )
87 70 86 eqtr4d ( 𝜑 → ( ( ( 𝑍𝑆 ) ‘ 𝑃 ) · ( ( 𝑍𝑆 ) ‘ 𝑄 ) ) = ( 𝑍 ‘ ( ( 𝑆𝑃 ) · ( 𝑆𝑄 ) ) ) )
88 87 oveq1d ( 𝜑 → ( ( ( ( 𝑍𝑆 ) ‘ 𝑃 ) · ( ( 𝑍𝑆 ) ‘ 𝑄 ) ) · ( 𝐷𝐸 ) ) = ( ( 𝑍 ‘ ( ( 𝑆𝑃 ) · ( 𝑆𝑄 ) ) ) · ( 𝐷𝐸 ) ) )
89 65 88 eqtr3d ( 𝜑 → ( ( ( 𝑍𝑆 ) ‘ 𝑃 ) · ( ( ( 𝑍𝑆 ) ‘ 𝑄 ) · ( 𝐷𝐸 ) ) ) = ( ( 𝑍 ‘ ( ( 𝑆𝑃 ) · ( 𝑆𝑄 ) ) ) · ( 𝐷𝐸 ) ) )
90 19 48 89 3eqtrd ( 𝜑 → ( 𝐷𝑀 ) = ( ( 𝑍 ‘ ( ( 𝑆𝑃 ) · ( 𝑆𝑄 ) ) ) · ( 𝐷𝐸 ) ) )