| 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 2766 | . 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 2766 | . 2 ⊢ (Poly1‘𝑅) = (Poly1‘𝑅) | |
| 10 | eqid 2766 | . 2 ⊢ (𝑁 Mat (Poly1‘𝑅)) = (𝑁 Mat (Poly1‘𝑅)) | |
| 11 | eqid 2766 | . 2 ⊢ (.r‘(𝑁 Mat (Poly1‘𝑅))) = (.r‘(𝑁 Mat (Poly1‘𝑅))) | |
| 12 | eqid 2766 | . 2 ⊢ (-g‘(𝑁 Mat (Poly1‘𝑅))) = (-g‘(𝑁 Mat (Poly1‘𝑅))) | |
| 13 | eqid 2766 | . 2 ⊢ (0g‘(𝑁 Mat (Poly1‘𝑅))) = (0g‘(𝑁 Mat (Poly1‘𝑅))) | |
| 14 | eqid 2766 | . 2 ⊢ (Base‘(𝑁 Mat (Poly1‘𝑅))) = (Base‘(𝑁 Mat (Poly1‘𝑅))) | |
| 15 | eqid 2766 | . 2 ⊢ (.g‘(mulGrp‘(𝑁 Mat (Poly1‘𝑅)))) = (.g‘(mulGrp‘(𝑁 Mat (Poly1‘𝑅)))) | |
| 16 | eqid 2766 | . 2 ⊢ (𝑁 matToPolyMat 𝑅) = (𝑁 matToPolyMat 𝑅) | |
| 17 | eqeq1 2770 | . . . 4 ⊢ (𝑙 = 𝑛 → (𝑙 = 0 ↔ 𝑛 = 0)) | |
| 18 | eqeq1 2770 | . . . . 5 ⊢ (𝑙 = 𝑛 → (𝑙 = (𝑥 + 1) ↔ 𝑛 = (𝑥 + 1))) | |
| 19 | breq2 5116 | . . . . . 6 ⊢ (𝑙 = 𝑛 → ((𝑥 + 1) < 𝑙 ↔ (𝑥 + 1) < 𝑛)) | |
| 20 | fvoveq1 7439 | . . . . . . . 8 ⊢ (𝑙 = 𝑛 → (𝑦‘(𝑙 − 1)) = (𝑦‘(𝑛 − 1))) | |
| 21 | 20 | fveq2d 6889 | . . . . . . 7 ⊢ (𝑙 = 𝑛 → ((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑙 − 1))) = ((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑛 − 1)))) |
| 22 | 2fveq3 6890 | . . . . . . . 8 ⊢ (𝑙 = 𝑛 → ((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑙)) = ((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑛))) | |
| 23 | 22 | oveq2d 7432 | . . . . . . 7 ⊢ (𝑙 = 𝑛 → (((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑙))) = (((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑛)))) |
| 24 | 21, 23 | oveq12d 7434 | . . . . . 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 4517 | . . . . 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 4517 | . . . 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 4517 | . . 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 2766 | . 2 ⊢ (𝑁 cPolyMatToMat 𝑅) = (𝑁 cPolyMatToMat 𝑅) | |
| 30 | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 28, 29 | cayleyhamilton0 23061 | 1 ⊢ ((𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵) → (𝐴 Σg (𝑛 ∈ ℕ0 ↦ ((𝐾‘𝑛) ∗ (𝑛 ↑ 𝑀)))) = 0 ) |
| Colors of variables: wff setvar class |
| This proof depends on syntax axioms: → wi 4 ∧ w3a 1103 = wceq 1570 ∈ wcel 2146 ifcif 4490 class class class wbr 5112 ↦ cmpt 5195 ‘cfv 6540 (class class class)co 7416 Fincfn 8945 0cc0 11110 1c1 11111 + caddc 11113 < clt 11253 − cmin 11451 ℕ0cn0 12514 Basecbs 17279 .rcmulr 17321 ·𝑠 cvsca 17324 0gc0g 17502 Σg cgsu 17503 -gcsg 19012 .gcmg 19143 mulGrpcmgp 20226 1rcur 20273 CRingccrg 20326 Poly1cpl1 22352 coe1cco1 22353 Mat cmat 22579 matToPolyMat cmat2pmat 22876 cPolyMatToMat ccpmat2mat 22877 CharPlyMat cchpmat 22998 |
| This proof depends on axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1828 ax-4 1842 ax-5 1943 ax-6 2000 ax-7 2041 ax-8 2148 ax-9 2156 ax-10 2179 ax-11 2195 ax-12 2216 ax-ext 2738 ax-rep 5241 ax-sep 5260 ax-nul 5272 ax-pow 5339 ax-pr 5407 ax-un 7738 ax-cnex 11166 ax-resscn 11167 ax-1cn 11168 ax-icn 11169 ax-addcl 11170 ax-addrcl 11171 ax-mulcl 11172 ax-mulrcl 11173 ax-mulcom 11174 ax-addass 11175 ax-mulass 11176 ax-distr 11177 ax-i2m1 11178 ax-1ne0 11179 ax-1rid 11180 ax-rnegex 11181 ax-rrecex 11182 ax-cnre 11183 ax-pre-lttri 11184 ax-pre-lttrn 11185 ax-pre-ltadd 11186 ax-pre-mulgt0 11187 ax-addf 11189 ax-mulf 11190 |
| This proof depends on definitions: df-bi 210 df-an 402 df-or 862 df-3or 1104 df-3an 1105 df-xor 1542 df-tru 1573 df-fal 1583 df-ex 1813 df-nf 1817 df-sb 2100 df-mo 2570 df-eu 2600 df-clab 2745 df-cleq 2758 df-clel 2841 df-nfc 2915 df-ne 2962 df-nel 3068 df-ral 3083 df-rex 3093 df-rmo 3372 df-reu 3373 df-rab 3420 df-v 3460 df-sbc 3748 df-csb 3857 df-dif 3911 df-un 3913 df-in 3915 df-ss 3925 df-pss 3928 df-nul 4290 df-if 4491 df-pw 4567 df-sn 4593 df-pr 4595 df-tp 4597 df-op 4599 df-ot 4601 df-uni 4876 df-int 4916 df-iun 4961 df-iin 4962 df-br 5113 df-opab 5177 df-mpt 5196 df-tr 5222 df-id 5559 df-eprel 5564 df-po 5572 df-so 5573 df-fr 5617 df-se 5618 df-we 5619 df-xp 5670 df-rel 5671 df-cnv 5672 df-co 5673 df-dm 5674 df-rn 5675 df-res 5676 df-ima 5677 df-pred 6306 df-ord 6367 df-on 6368 df-lim 6369 df-suc 6370 df-iota 6496 df-fun 6542 df-fn 6543 df-f 6544 df-f1 6545 df-fo 6546 df-f1o 6547 df-fv 6548 df-isom 6549 df-riota 7373 df-ov 7419 df-oprab 7420 df-mpo 7421 df-of 7680 df-ofr 7681 df-om 7865 df-1st 7988 df-2nd 7989 df-supp 8159 df-tpos 8224 df-cur 8265 df-frecs 8280 df-wrecs 8311 df-recs 8360 df-rdg 8399 df-1o 8455 df-2o 8456 df-er 8696 df-map 8828 df-pm 8829 df-ixp 8898 df-en 8946 df-dom 8947 df-sdom 8948 df-fin 8949 df-fsupp 9324 df-sup 9404 df-oi 9474 df-card 9936 df-pnf 11255 df-mnf 11256 df-xr 11257 df-ltxr 11258 df-le 11259 df-sub 11453 df-neg 11454 df-div 11882 df-nn 12244 df-2 12313 df-3 12314 df-4 12315 df-5 12316 df-6 12317 df-7 12318 df-8 12319 df-9 12320 df-n0 12515 df-xnn0 12588 df-z 12602 df-dec 12722 df-uz 12873 df-rp 13027 df-fz 13546 df-fzo 13694 df-seq 14049 df-exp 14109 df-hash 14378 df-word 14562 df-lsw 14611 df-concat 14619 df-s1 14645 df-substr 14690 df-pfx 14720 df-splice 14798 df-reverse 14807 df-s2 14896 df-struct 17217 df-sets 17234 df-slot 17252 df-ndx 17264 df-base 17280 df-ress 17301 df-plusg 17333 df-mulr 17334 df-starv 17335 df-sca 17336 df-vsca 17337 df-ip 17338 df-tset 17339 df-ple 17340 df-ds 17342 df-unif 17343 df-hom 17344 df-cco 17345 df-0g 17504 df-gsum 17505 df-prds 17510 df-pws 17512 df-mre 17648 df-mrc 17649 df-acs 17651 df-mgm 18708 df-sgrp 18787 df-mnd 18803 df-mhm 18851 df-submnd 18852 df-efmnd 18938 df-grp 19013 df-minusg 19014 df-sbg 19015 df-mulg 19144 df-subg 19199 df-ghm 19294 df-gim 19339 df-cntz 19397 df-oppg 19426 df-symg 19450 df-pmtr 19522 df-psgn 19571 df-evpm 19572 df-cmn 19862 df-abl 19863 df-mgp 20227 df-rng 20241 df-ur 20274 df-srg 20279 df-ring 20327 df-cring 20328 df-oppr 20430 df-dvdsr 20450 df-unit 20451 df-invr 20481 df-dvr 20494 df-rhm 20565 df-subrng 20660 df-subrg 20684 df-drng 20844 df-lmod 20998 df-lss 21068 df-sra 21309 df-rgmod 21310 df-cnfld 21538 df-zring 21612 df-zrh 21668 df-dsmm 21897 df-frlm 21912 df-assa 22018 df-ascl 22020 df-psr 22074 df-mvr 22075 df-mpl 22076 df-opsr 22078 df-psr1 22355 df-vr1 22356 df-ply1 22357 df-coe1 22358 df-mamu 22563 df-mat 22580 df-mdet 22757 df-madu 22806 df-cpmat 22878 df-mat2pmat 22879 df-cpmat2mat 22880 df-decpmat 22935 df-pm2mp 22965 df-chpmat 22999 |
| This theorem is used by: cayleyhamilton1 23064 |
| Copyright terms: Public domain | W3C validator |