![]() |
Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
|
Mirrors > Home > MPE Home > Th. List > cayleyhamilton | Structured version Visualization version GIF version |
Description: The Cayley-Hamilton theorem: A matrix over a commutative ring "satisfies its own characteristic equation", see theorem 7.8 in [Roman] p. 170 (without proof!), or theorem 3.1 in [Lang] p. 561. In other words, a matrix over a commutative ring "inserted" into its characteristic polynomial results in zero. This is Metamath 100 proof #49. (Contributed by Alexander van der Vekens, 25-Nov-2019.) |
Ref | Expression |
---|---|
cayleyhamilton.a | ⊢ 𝐴 = (𝑁 Mat 𝑅) |
cayleyhamilton.b | ⊢ 𝐵 = (Base‘𝐴) |
cayleyhamilton.0 | ⊢ 0 = (0g‘𝐴) |
cayleyhamilton.c | ⊢ 𝐶 = (𝑁 CharPlyMat 𝑅) |
cayleyhamilton.k | ⊢ 𝐾 = (coe1‘(𝐶‘𝑀)) |
cayleyhamilton.m | ⊢ ∗ = ( ·𝑠 ‘𝐴) |
cayleyhamilton.e | ⊢ ↑ = (.g‘(mulGrp‘𝐴)) |
Ref | Expression |
---|---|
cayleyhamilton | ⊢ ((𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵) → (𝐴 Σg (𝑛 ∈ ℕ0 ↦ ((𝐾‘𝑛) ∗ (𝑛 ↑ 𝑀)))) = 0 ) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | cayleyhamilton.a | . 2 ⊢ 𝐴 = (𝑁 Mat 𝑅) | |
2 | cayleyhamilton.b | . 2 ⊢ 𝐵 = (Base‘𝐴) | |
3 | cayleyhamilton.0 | . 2 ⊢ 0 = (0g‘𝐴) | |
4 | eqid 2736 | . 2 ⊢ (1r‘𝐴) = (1r‘𝐴) | |
5 | cayleyhamilton.m | . 2 ⊢ ∗ = ( ·𝑠 ‘𝐴) | |
6 | cayleyhamilton.e | . 2 ⊢ ↑ = (.g‘(mulGrp‘𝐴)) | |
7 | cayleyhamilton.c | . 2 ⊢ 𝐶 = (𝑁 CharPlyMat 𝑅) | |
8 | cayleyhamilton.k | . 2 ⊢ 𝐾 = (coe1‘(𝐶‘𝑀)) | |
9 | eqid 2736 | . 2 ⊢ (Poly1‘𝑅) = (Poly1‘𝑅) | |
10 | eqid 2736 | . 2 ⊢ (𝑁 Mat (Poly1‘𝑅)) = (𝑁 Mat (Poly1‘𝑅)) | |
11 | eqid 2736 | . 2 ⊢ (.r‘(𝑁 Mat (Poly1‘𝑅))) = (.r‘(𝑁 Mat (Poly1‘𝑅))) | |
12 | eqid 2736 | . 2 ⊢ (-g‘(𝑁 Mat (Poly1‘𝑅))) = (-g‘(𝑁 Mat (Poly1‘𝑅))) | |
13 | eqid 2736 | . 2 ⊢ (0g‘(𝑁 Mat (Poly1‘𝑅))) = (0g‘(𝑁 Mat (Poly1‘𝑅))) | |
14 | eqid 2736 | . 2 ⊢ (Base‘(𝑁 Mat (Poly1‘𝑅))) = (Base‘(𝑁 Mat (Poly1‘𝑅))) | |
15 | eqid 2736 | . 2 ⊢ (.g‘(mulGrp‘(𝑁 Mat (Poly1‘𝑅)))) = (.g‘(mulGrp‘(𝑁 Mat (Poly1‘𝑅)))) | |
16 | eqid 2736 | . 2 ⊢ (𝑁 matToPolyMat 𝑅) = (𝑁 matToPolyMat 𝑅) | |
17 | eqeq1 2740 | . . . 4 ⊢ (𝑙 = 𝑛 → (𝑙 = 0 ↔ 𝑛 = 0)) | |
18 | eqeq1 2740 | . . . . 5 ⊢ (𝑙 = 𝑛 → (𝑙 = (𝑥 + 1) ↔ 𝑛 = (𝑥 + 1))) | |
19 | breq2 5109 | . . . . . 6 ⊢ (𝑙 = 𝑛 → ((𝑥 + 1) < 𝑙 ↔ (𝑥 + 1) < 𝑛)) | |
20 | fvoveq1 7380 | . . . . . . . 8 ⊢ (𝑙 = 𝑛 → (𝑦‘(𝑙 − 1)) = (𝑦‘(𝑛 − 1))) | |
21 | 20 | fveq2d 6846 | . . . . . . 7 ⊢ (𝑙 = 𝑛 → ((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑙 − 1))) = ((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑛 − 1)))) |
22 | 2fveq3 6847 | . . . . . . . 8 ⊢ (𝑙 = 𝑛 → ((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑙)) = ((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑛))) | |
23 | 22 | oveq2d 7373 | . . . . . . 7 ⊢ (𝑙 = 𝑛 → (((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑙))) = (((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑛)))) |
24 | 21, 23 | oveq12d 7375 | . . . . . 6 ⊢ (𝑙 = 𝑛 → (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑙 − 1)))(-g‘(𝑁 Mat (Poly1‘𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑙)))) = (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑛 − 1)))(-g‘(𝑁 Mat (Poly1‘𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑛))))) |
25 | 19, 24 | ifbieq2d 4512 | . . . . 5 ⊢ (𝑙 = 𝑛 → if((𝑥 + 1) < 𝑙, (0g‘(𝑁 Mat (Poly1‘𝑅))), (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑙 − 1)))(-g‘(𝑁 Mat (Poly1‘𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑙))))) = if((𝑥 + 1) < 𝑛, (0g‘(𝑁 Mat (Poly1‘𝑅))), (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑛 − 1)))(-g‘(𝑁 Mat (Poly1‘𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑛)))))) |
26 | 18, 25 | ifbieq2d 4512 | . . . 4 ⊢ (𝑙 = 𝑛 → if(𝑙 = (𝑥 + 1), ((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑥)), if((𝑥 + 1) < 𝑙, (0g‘(𝑁 Mat (Poly1‘𝑅))), (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑙 − 1)))(-g‘(𝑁 Mat (Poly1‘𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑙)))))) = if(𝑛 = (𝑥 + 1), ((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑥)), if((𝑥 + 1) < 𝑛, (0g‘(𝑁 Mat (Poly1‘𝑅))), (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑛 − 1)))(-g‘(𝑁 Mat (Poly1‘𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑛))))))) |
27 | 17, 26 | ifbieq2d 4512 | . . 3 ⊢ (𝑙 = 𝑛 → if(𝑙 = 0, ((0g‘(𝑁 Mat (Poly1‘𝑅)))(-g‘(𝑁 Mat (Poly1‘𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘0)))), if(𝑙 = (𝑥 + 1), ((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑥)), if((𝑥 + 1) < 𝑙, (0g‘(𝑁 Mat (Poly1‘𝑅))), (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑙 − 1)))(-g‘(𝑁 Mat (Poly1‘𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑙))))))) = if(𝑛 = 0, ((0g‘(𝑁 Mat (Poly1‘𝑅)))(-g‘(𝑁 Mat (Poly1‘𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘0)))), if(𝑛 = (𝑥 + 1), ((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑥)), if((𝑥 + 1) < 𝑛, (0g‘(𝑁 Mat (Poly1‘𝑅))), (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑛 − 1)))(-g‘(𝑁 Mat (Poly1‘𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑛)))))))) |
28 | 27 | cbvmptv 5218 | . 2 ⊢ (𝑙 ∈ ℕ0 ↦ if(𝑙 = 0, ((0g‘(𝑁 Mat (Poly1‘𝑅)))(-g‘(𝑁 Mat (Poly1‘𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘0)))), if(𝑙 = (𝑥 + 1), ((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑥)), if((𝑥 + 1) < 𝑙, (0g‘(𝑁 Mat (Poly1‘𝑅))), (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑙 − 1)))(-g‘(𝑁 Mat (Poly1‘𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑙)))))))) = (𝑛 ∈ ℕ0 ↦ if(𝑛 = 0, ((0g‘(𝑁 Mat (Poly1‘𝑅)))(-g‘(𝑁 Mat (Poly1‘𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘0)))), if(𝑛 = (𝑥 + 1), ((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑥)), if((𝑥 + 1) < 𝑛, (0g‘(𝑁 Mat (Poly1‘𝑅))), (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑛 − 1)))(-g‘(𝑁 Mat (Poly1‘𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑛)))))))) |
29 | eqid 2736 | . 2 ⊢ (𝑁 cPolyMatToMat 𝑅) = (𝑁 cPolyMatToMat 𝑅) | |
30 | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 28, 29 | cayleyhamilton0 22238 | 1 ⊢ ((𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵) → (𝐴 Σg (𝑛 ∈ ℕ0 ↦ ((𝐾‘𝑛) ∗ (𝑛 ↑ 𝑀)))) = 0 ) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ w3a 1087 = wceq 1541 ∈ wcel 2106 ifcif 4486 class class class wbr 5105 ↦ cmpt 5188 ‘cfv 6496 (class class class)co 7357 Fincfn 8883 0cc0 11051 1c1 11052 + caddc 11054 < clt 11189 − cmin 11385 ℕ0cn0 12413 Basecbs 17083 .rcmulr 17134 ·𝑠 cvsca 17137 0gc0g 17321 Σg cgsu 17322 -gcsg 18750 .gcmg 18872 mulGrpcmgp 19896 1rcur 19913 CRingccrg 19965 Poly1cpl1 21548 coe1cco1 21549 Mat cmat 21754 matToPolyMat cmat2pmat 22053 cPolyMatToMat ccpmat2mat 22054 CharPlyMat cchpmat 22175 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1797 ax-4 1811 ax-5 1913 ax-6 1971 ax-7 2011 ax-8 2108 ax-9 2116 ax-10 2137 ax-11 2154 ax-12 2171 ax-ext 2707 ax-rep 5242 ax-sep 5256 ax-nul 5263 ax-pow 5320 ax-pr 5384 ax-un 7672 ax-cnex 11107 ax-resscn 11108 ax-1cn 11109 ax-icn 11110 ax-addcl 11111 ax-addrcl 11112 ax-mulcl 11113 ax-mulrcl 11114 ax-mulcom 11115 ax-addass 11116 ax-mulass 11117 ax-distr 11118 ax-i2m1 11119 ax-1ne0 11120 ax-1rid 11121 ax-rnegex 11122 ax-rrecex 11123 ax-cnre 11124 ax-pre-lttri 11125 ax-pre-lttrn 11126 ax-pre-ltadd 11127 ax-pre-mulgt0 11128 ax-addf 11130 ax-mulf 11131 |
This theorem depends on definitions: df-bi 206 df-an 397 df-or 846 df-3or 1088 df-3an 1089 df-xor 1510 df-tru 1544 df-fal 1554 df-ex 1782 df-nf 1786 df-sb 2068 df-mo 2538 df-eu 2567 df-clab 2714 df-cleq 2728 df-clel 2814 df-nfc 2889 df-ne 2944 df-nel 3050 df-ral 3065 df-rex 3074 df-rmo 3353 df-reu 3354 df-rab 3408 df-v 3447 df-sbc 3740 df-csb 3856 df-dif 3913 df-un 3915 df-in 3917 df-ss 3927 df-pss 3929 df-nul 4283 df-if 4487 df-pw 4562 df-sn 4587 df-pr 4589 df-tp 4591 df-op 4593 df-ot 4595 df-uni 4866 df-int 4908 df-iun 4956 df-iin 4957 df-br 5106 df-opab 5168 df-mpt 5189 df-tr 5223 df-id 5531 df-eprel 5537 df-po 5545 df-so 5546 df-fr 5588 df-se 5589 df-we 5590 df-xp 5639 df-rel 5640 df-cnv 5641 df-co 5642 df-dm 5643 df-rn 5644 df-res 5645 df-ima 5646 df-pred 6253 df-ord 6320 df-on 6321 df-lim 6322 df-suc 6323 df-iota 6448 df-fun 6498 df-fn 6499 df-f 6500 df-f1 6501 df-fo 6502 df-f1o 6503 df-fv 6504 df-isom 6505 df-riota 7313 df-ov 7360 df-oprab 7361 df-mpo 7362 df-of 7617 df-ofr 7618 df-om 7803 df-1st 7921 df-2nd 7922 df-supp 8093 df-tpos 8157 df-cur 8198 df-frecs 8212 df-wrecs 8243 df-recs 8317 df-rdg 8356 df-1o 8412 df-2o 8413 df-er 8648 df-map 8767 df-pm 8768 df-ixp 8836 df-en 8884 df-dom 8885 df-sdom 8886 df-fin 8887 df-fsupp 9306 df-sup 9378 df-oi 9446 df-card 9875 df-pnf 11191 df-mnf 11192 df-xr 11193 df-ltxr 11194 df-le 11195 df-sub 11387 df-neg 11388 df-div 11813 df-nn 12154 df-2 12216 df-3 12217 df-4 12218 df-5 12219 df-6 12220 df-7 12221 df-8 12222 df-9 12223 df-n0 12414 df-xnn0 12486 df-z 12500 df-dec 12619 df-uz 12764 df-rp 12916 df-fz 13425 df-fzo 13568 df-seq 13907 df-exp 13968 df-hash 14231 df-word 14403 df-lsw 14451 df-concat 14459 df-s1 14484 df-substr 14529 df-pfx 14559 df-splice 14638 df-reverse 14647 df-s2 14737 df-struct 17019 df-sets 17036 df-slot 17054 df-ndx 17066 df-base 17084 df-ress 17113 df-plusg 17146 df-mulr 17147 df-starv 17148 df-sca 17149 df-vsca 17150 df-ip 17151 df-tset 17152 df-ple 17153 df-ds 17155 df-unif 17156 df-hom 17157 df-cco 17158 df-0g 17323 df-gsum 17324 df-prds 17329 df-pws 17331 df-mre 17466 df-mrc 17467 df-acs 17469 df-mgm 18497 df-sgrp 18546 df-mnd 18557 df-mhm 18601 df-submnd 18602 df-efmnd 18679 df-grp 18751 df-minusg 18752 df-sbg 18753 df-mulg 18873 df-subg 18925 df-ghm 19006 df-gim 19049 df-cntz 19097 df-oppg 19124 df-symg 19149 df-pmtr 19224 df-psgn 19273 df-evpm 19274 df-cmn 19564 df-abl 19565 df-mgp 19897 df-ur 19914 df-srg 19918 df-ring 19966 df-cring 19967 df-oppr 20049 df-dvdsr 20070 df-unit 20071 df-invr 20101 df-dvr 20112 df-rnghom 20146 df-drng 20187 df-subrg 20220 df-lmod 20324 df-lss 20393 df-sra 20633 df-rgmod 20634 df-cnfld 20797 df-zring 20870 df-zrh 20904 df-dsmm 21138 df-frlm 21153 df-assa 21259 df-ascl 21261 df-psr 21311 df-mvr 21312 df-mpl 21313 df-opsr 21315 df-psr1 21551 df-vr1 21552 df-ply1 21553 df-coe1 21554 df-mamu 21733 df-mat 21755 df-mdet 21934 df-madu 21983 df-cpmat 22055 df-mat2pmat 22056 df-cpmat2mat 22057 df-decpmat 22112 df-pm2mp 22142 df-chpmat 22176 |
This theorem is referenced by: cayleyhamilton1 22241 |
Copyright terms: Public domain | W3C validator |