Metamath Proof Explorer


Theorem mdetlap

Description: Laplace expansion of the determinant of a square matrix. (Contributed by Thierry Arnoux, 19-Aug-2020)

Ref Expression
Hypotheses madjusmdet.b 𝐵 = ( Base ‘ 𝐴 )
madjusmdet.a 𝐴 = ( ( 1 ... 𝑁 ) Mat 𝑅 )
madjusmdet.d 𝐷 = ( ( 1 ... 𝑁 ) maDet 𝑅 )
madjusmdet.k 𝐾 = ( ( 1 ... 𝑁 ) maAdju 𝑅 )
madjusmdet.t · = ( .r𝑅 )
madjusmdet.z 𝑍 = ( ℤRHom ‘ 𝑅 )
madjusmdet.e 𝐸 = ( ( 1 ... ( 𝑁 − 1 ) ) maDet 𝑅 )
madjusmdet.n ( 𝜑𝑁 ∈ ℕ )
madjusmdet.r ( 𝜑𝑅 ∈ CRing )
madjusmdet.i ( 𝜑𝐼 ∈ ( 1 ... 𝑁 ) )
madjusmdet.j ( 𝜑𝐽 ∈ ( 1 ... 𝑁 ) )
madjusmdet.m ( 𝜑𝑀𝐵 )
Assertion mdetlap ( 𝜑 → ( 𝐷𝑀 ) = ( 𝑅 Σg ( 𝑗 ∈ ( 1 ... 𝑁 ) ↦ ( ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) · ( ( 𝐼 𝑀 𝑗 ) · ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ) ) ) ) )

Proof

Step Hyp Ref Expression
1 madjusmdet.b 𝐵 = ( Base ‘ 𝐴 )
2 madjusmdet.a 𝐴 = ( ( 1 ... 𝑁 ) Mat 𝑅 )
3 madjusmdet.d 𝐷 = ( ( 1 ... 𝑁 ) maDet 𝑅 )
4 madjusmdet.k 𝐾 = ( ( 1 ... 𝑁 ) maAdju 𝑅 )
5 madjusmdet.t · = ( .r𝑅 )
6 madjusmdet.z 𝑍 = ( ℤRHom ‘ 𝑅 )
7 madjusmdet.e 𝐸 = ( ( 1 ... ( 𝑁 − 1 ) ) maDet 𝑅 )
8 madjusmdet.n ( 𝜑𝑁 ∈ ℕ )
9 madjusmdet.r ( 𝜑𝑅 ∈ CRing )
10 madjusmdet.i ( 𝜑𝐼 ∈ ( 1 ... 𝑁 ) )
11 madjusmdet.j ( 𝜑𝐽 ∈ ( 1 ... 𝑁 ) )
12 madjusmdet.m ( 𝜑𝑀𝐵 )
13 2 1 3 4 5 mdetlap1 ( ( 𝑅 ∈ CRing ∧ 𝑀𝐵𝐼 ∈ ( 1 ... 𝑁 ) ) → ( 𝐷𝑀 ) = ( 𝑅 Σg ( 𝑗 ∈ ( 1 ... 𝑁 ) ↦ ( ( 𝐼 𝑀 𝑗 ) · ( 𝑗 ( 𝐾𝑀 ) 𝐼 ) ) ) ) )
14 9 12 10 13 syl3anc ( 𝜑 → ( 𝐷𝑀 ) = ( 𝑅 Σg ( 𝑗 ∈ ( 1 ... 𝑁 ) ↦ ( ( 𝐼 𝑀 𝑗 ) · ( 𝑗 ( 𝐾𝑀 ) 𝐼 ) ) ) ) )
15 8 adantr ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → 𝑁 ∈ ℕ )
16 9 adantr ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → 𝑅 ∈ CRing )
17 10 adantr ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → 𝐼 ∈ ( 1 ... 𝑁 ) )
18 simpr ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → 𝑗 ∈ ( 1 ... 𝑁 ) )
19 12 adantr ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → 𝑀𝐵 )
20 1 2 3 4 5 6 7 15 16 17 18 19 madjusmdet ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → ( 𝑗 ( 𝐾𝑀 ) 𝐼 ) = ( ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) · ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ) )
21 20 oveq2d ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → ( ( 𝐼 𝑀 𝑗 ) · ( 𝑗 ( 𝐾𝑀 ) 𝐼 ) ) = ( ( 𝐼 𝑀 𝑗 ) · ( ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) · ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ) ) )
22 eqid ( Base ‘ 𝑅 ) = ( Base ‘ 𝑅 )
23 2 22 1 17 18 19 matecld ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → ( 𝐼 𝑀 𝑗 ) ∈ ( Base ‘ 𝑅 ) )
24 crngring ( 𝑅 ∈ CRing → 𝑅 ∈ Ring )
25 6 zrhrhm ( 𝑅 ∈ Ring → 𝑍 ∈ ( ℤring RingHom 𝑅 ) )
26 zringbas ℤ = ( Base ‘ ℤring )
27 26 22 rhmf ( 𝑍 ∈ ( ℤring RingHom 𝑅 ) → 𝑍 : ℤ ⟶ ( Base ‘ 𝑅 ) )
28 9 24 25 27 4syl ( 𝜑𝑍 : ℤ ⟶ ( Base ‘ 𝑅 ) )
29 28 adantr ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → 𝑍 : ℤ ⟶ ( Base ‘ 𝑅 ) )
30 1zzd ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → 1 ∈ ℤ )
31 30 znegcld ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → - 1 ∈ ℤ )
32 fz1ssnn ( 1 ... 𝑁 ) ⊆ ℕ
33 32 17 sselid ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → 𝐼 ∈ ℕ )
34 32 18 sselid ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → 𝑗 ∈ ℕ )
35 33 34 nnaddcld ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → ( 𝐼 + 𝑗 ) ∈ ℕ )
36 35 nnnn0d ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → ( 𝐼 + 𝑗 ) ∈ ℕ0 )
37 zexpcl ( ( - 1 ∈ ℤ ∧ ( 𝐼 + 𝑗 ) ∈ ℕ0 ) → ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ∈ ℤ )
38 31 36 37 syl2anc ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ∈ ℤ )
39 29 38 ffvelcdmd ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) ∈ ( Base ‘ 𝑅 ) )
40 22 5 crngcom ( ( 𝑅 ∈ CRing ∧ ( 𝐼 𝑀 𝑗 ) ∈ ( Base ‘ 𝑅 ) ∧ ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) ∈ ( Base ‘ 𝑅 ) ) → ( ( 𝐼 𝑀 𝑗 ) · ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) ) = ( ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) · ( 𝐼 𝑀 𝑗 ) ) )
41 16 23 39 40 syl3anc ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → ( ( 𝐼 𝑀 𝑗 ) · ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) ) = ( ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) · ( 𝐼 𝑀 𝑗 ) ) )
42 41 oveq1d ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → ( ( ( 𝐼 𝑀 𝑗 ) · ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) ) · ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ) = ( ( ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) · ( 𝐼 𝑀 𝑗 ) ) · ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ) )
43 16 24 syl ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → 𝑅 ∈ Ring )
44 eqid ( Base ‘ ( ( 1 ... ( 𝑁 − 1 ) ) Mat 𝑅 ) ) = ( Base ‘ ( ( 1 ... ( 𝑁 − 1 ) ) Mat 𝑅 ) )
45 eqid ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) = ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 )
46 2 1 44 45 15 17 18 19 smatcl ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ∈ ( Base ‘ ( ( 1 ... ( 𝑁 − 1 ) ) Mat 𝑅 ) ) )
47 eqid ( ( 1 ... ( 𝑁 − 1 ) ) Mat 𝑅 ) = ( ( 1 ... ( 𝑁 − 1 ) ) Mat 𝑅 )
48 7 47 44 22 mdetcl ( ( 𝑅 ∈ CRing ∧ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ∈ ( Base ‘ ( ( 1 ... ( 𝑁 − 1 ) ) Mat 𝑅 ) ) ) → ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ∈ ( Base ‘ 𝑅 ) )
49 16 46 48 syl2anc ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ∈ ( Base ‘ 𝑅 ) )
50 22 5 ringass ( ( 𝑅 ∈ Ring ∧ ( ( 𝐼 𝑀 𝑗 ) ∈ ( Base ‘ 𝑅 ) ∧ ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) ∈ ( Base ‘ 𝑅 ) ∧ ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ∈ ( Base ‘ 𝑅 ) ) ) → ( ( ( 𝐼 𝑀 𝑗 ) · ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) ) · ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ) = ( ( 𝐼 𝑀 𝑗 ) · ( ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) · ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ) ) )
51 43 23 39 49 50 syl13anc ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → ( ( ( 𝐼 𝑀 𝑗 ) · ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) ) · ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ) = ( ( 𝐼 𝑀 𝑗 ) · ( ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) · ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ) ) )
52 22 5 ringass ( ( 𝑅 ∈ Ring ∧ ( ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) ∈ ( Base ‘ 𝑅 ) ∧ ( 𝐼 𝑀 𝑗 ) ∈ ( Base ‘ 𝑅 ) ∧ ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ∈ ( Base ‘ 𝑅 ) ) ) → ( ( ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) · ( 𝐼 𝑀 𝑗 ) ) · ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ) = ( ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) · ( ( 𝐼 𝑀 𝑗 ) · ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ) ) )
53 43 39 23 49 52 syl13anc ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → ( ( ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) · ( 𝐼 𝑀 𝑗 ) ) · ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ) = ( ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) · ( ( 𝐼 𝑀 𝑗 ) · ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ) ) )
54 42 51 53 3eqtr3d ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → ( ( 𝐼 𝑀 𝑗 ) · ( ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) · ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ) ) = ( ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) · ( ( 𝐼 𝑀 𝑗 ) · ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ) ) )
55 21 54 eqtrd ( ( 𝜑𝑗 ∈ ( 1 ... 𝑁 ) ) → ( ( 𝐼 𝑀 𝑗 ) · ( 𝑗 ( 𝐾𝑀 ) 𝐼 ) ) = ( ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) · ( ( 𝐼 𝑀 𝑗 ) · ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ) ) )
56 55 mpteq2dva ( 𝜑 → ( 𝑗 ∈ ( 1 ... 𝑁 ) ↦ ( ( 𝐼 𝑀 𝑗 ) · ( 𝑗 ( 𝐾𝑀 ) 𝐼 ) ) ) = ( 𝑗 ∈ ( 1 ... 𝑁 ) ↦ ( ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) · ( ( 𝐼 𝑀 𝑗 ) · ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ) ) ) )
57 56 oveq2d ( 𝜑 → ( 𝑅 Σg ( 𝑗 ∈ ( 1 ... 𝑁 ) ↦ ( ( 𝐼 𝑀 𝑗 ) · ( 𝑗 ( 𝐾𝑀 ) 𝐼 ) ) ) ) = ( 𝑅 Σg ( 𝑗 ∈ ( 1 ... 𝑁 ) ↦ ( ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) · ( ( 𝐼 𝑀 𝑗 ) · ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ) ) ) ) )
58 14 57 eqtrd ( 𝜑 → ( 𝐷𝑀 ) = ( 𝑅 Σg ( 𝑗 ∈ ( 1 ... 𝑁 ) ↦ ( ( 𝑍 ‘ ( - 1 ↑ ( 𝐼 + 𝑗 ) ) ) · ( ( 𝐼 𝑀 𝑗 ) · ( 𝐸 ‘ ( 𝐼 ( subMat1 ‘ 𝑀 ) 𝑗 ) ) ) ) ) ) )