![]() |
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 2798 | . 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 2798 | . 2 ⊢ (Poly1‘𝑅) = (Poly1‘𝑅) | |
10 | eqid 2798 | . 2 ⊢ (𝑁 Mat (Poly1‘𝑅)) = (𝑁 Mat (Poly1‘𝑅)) | |
11 | eqid 2798 | . 2 ⊢ (.r‘(𝑁 Mat (Poly1‘𝑅))) = (.r‘(𝑁 Mat (Poly1‘𝑅))) | |
12 | eqid 2798 | . 2 ⊢ (-g‘(𝑁 Mat (Poly1‘𝑅))) = (-g‘(𝑁 Mat (Poly1‘𝑅))) | |
13 | eqid 2798 | . 2 ⊢ (0g‘(𝑁 Mat (Poly1‘𝑅))) = (0g‘(𝑁 Mat (Poly1‘𝑅))) | |
14 | eqid 2798 | . 2 ⊢ (Base‘(𝑁 Mat (Poly1‘𝑅))) = (Base‘(𝑁 Mat (Poly1‘𝑅))) | |
15 | eqid 2798 | . 2 ⊢ (.g‘(mulGrp‘(𝑁 Mat (Poly1‘𝑅)))) = (.g‘(mulGrp‘(𝑁 Mat (Poly1‘𝑅)))) | |
16 | eqid 2798 | . 2 ⊢ (𝑁 matToPolyMat 𝑅) = (𝑁 matToPolyMat 𝑅) | |
17 | eqeq1 2802 | . . . 4 ⊢ (𝑙 = 𝑛 → (𝑙 = 0 ↔ 𝑛 = 0)) | |
18 | eqeq1 2802 | . . . . 5 ⊢ (𝑙 = 𝑛 → (𝑙 = (𝑥 + 1) ↔ 𝑛 = (𝑥 + 1))) | |
19 | breq2 5034 | . . . . . 6 ⊢ (𝑙 = 𝑛 → ((𝑥 + 1) < 𝑙 ↔ (𝑥 + 1) < 𝑛)) | |
20 | fvoveq1 7158 | . . . . . . . 8 ⊢ (𝑙 = 𝑛 → (𝑦‘(𝑙 − 1)) = (𝑦‘(𝑛 − 1))) | |
21 | 20 | fveq2d 6649 | . . . . . . 7 ⊢ (𝑙 = 𝑛 → ((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑙 − 1))) = ((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑛 − 1)))) |
22 | 2fveq3 6650 | . . . . . . . 8 ⊢ (𝑙 = 𝑛 → ((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑙)) = ((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑛))) | |
23 | 22 | oveq2d 7151 | . . . . . . 7 ⊢ (𝑙 = 𝑛 → (((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑙))) = (((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑛)))) |
24 | 21, 23 | oveq12d 7153 | . . . . . 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 4450 | . . . . 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 4450 | . . . 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 4450 | . . 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 5133 | . 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 2798 | . 2 ⊢ (𝑁 cPolyMatToMat 𝑅) = (𝑁 cPolyMatToMat 𝑅) | |
30 | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 28, 29 | cayleyhamilton0 21494 | 1 ⊢ ((𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵) → (𝐴 Σg (𝑛 ∈ ℕ0 ↦ ((𝐾‘𝑛) ∗ (𝑛 ↑ 𝑀)))) = 0 ) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ w3a 1084 = wceq 1538 ∈ wcel 2111 ifcif 4425 class class class wbr 5030 ↦ cmpt 5110 ‘cfv 6324 (class class class)co 7135 Fincfn 8492 0cc0 10526 1c1 10527 + caddc 10529 < clt 10664 − cmin 10859 ℕ0cn0 11885 Basecbs 16475 .rcmulr 16558 ·𝑠 cvsca 16561 0gc0g 16705 Σg cgsu 16706 -gcsg 18097 .gcmg 18216 mulGrpcmgp 19232 1rcur 19244 CRingccrg 19291 Poly1cpl1 20806 coe1cco1 20807 Mat cmat 21012 matToPolyMat cmat2pmat 21309 cPolyMatToMat ccpmat2mat 21310 CharPlyMat cchpmat 21431 |
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 1911 ax-6 1970 ax-7 2015 ax-8 2113 ax-9 2121 ax-10 2142 ax-11 2158 ax-12 2175 ax-ext 2770 ax-rep 5154 ax-sep 5167 ax-nul 5174 ax-pow 5231 ax-pr 5295 ax-un 7441 ax-cnex 10582 ax-resscn 10583 ax-1cn 10584 ax-icn 10585 ax-addcl 10586 ax-addrcl 10587 ax-mulcl 10588 ax-mulrcl 10589 ax-mulcom 10590 ax-addass 10591 ax-mulass 10592 ax-distr 10593 ax-i2m1 10594 ax-1ne0 10595 ax-1rid 10596 ax-rnegex 10597 ax-rrecex 10598 ax-cnre 10599 ax-pre-lttri 10600 ax-pre-lttrn 10601 ax-pre-ltadd 10602 ax-pre-mulgt0 10603 ax-addf 10605 ax-mulf 10606 |
This theorem depends on definitions: df-bi 210 df-an 400 df-or 845 df-3or 1085 df-3an 1086 df-xor 1503 df-tru 1541 df-fal 1551 df-ex 1782 df-nf 1786 df-sb 2070 df-mo 2598 df-eu 2629 df-clab 2777 df-cleq 2791 df-clel 2870 df-nfc 2938 df-ne 2988 df-nel 3092 df-ral 3111 df-rex 3112 df-reu 3113 df-rmo 3114 df-rab 3115 df-v 3443 df-sbc 3721 df-csb 3829 df-dif 3884 df-un 3886 df-in 3888 df-ss 3898 df-pss 3900 df-nul 4244 df-if 4426 df-pw 4499 df-sn 4526 df-pr 4528 df-tp 4530 df-op 4532 df-ot 4534 df-uni 4801 df-int 4839 df-iun 4883 df-iin 4884 df-br 5031 df-opab 5093 df-mpt 5111 df-tr 5137 df-id 5425 df-eprel 5430 df-po 5438 df-so 5439 df-fr 5478 df-se 5479 df-we 5480 df-xp 5525 df-rel 5526 df-cnv 5527 df-co 5528 df-dm 5529 df-rn 5530 df-res 5531 df-ima 5532 df-pred 6116 df-ord 6162 df-on 6163 df-lim 6164 df-suc 6165 df-iota 6283 df-fun 6326 df-fn 6327 df-f 6328 df-f1 6329 df-fo 6330 df-f1o 6331 df-fv 6332 df-isom 6333 df-riota 7093 df-ov 7138 df-oprab 7139 df-mpo 7140 df-of 7389 df-ofr 7390 df-om 7561 df-1st 7671 df-2nd 7672 df-supp 7814 df-tpos 7875 df-cur 7916 df-wrecs 7930 df-recs 7991 df-rdg 8029 df-1o 8085 df-2o 8086 df-oadd 8089 df-er 8272 df-map 8391 df-pm 8392 df-ixp 8445 df-en 8493 df-dom 8494 df-sdom 8495 df-fin 8496 df-fsupp 8818 df-sup 8890 df-oi 8958 df-card 9352 df-pnf 10666 df-mnf 10667 df-xr 10668 df-ltxr 10669 df-le 10670 df-sub 10861 df-neg 10862 df-div 11287 df-nn 11626 df-2 11688 df-3 11689 df-4 11690 df-5 11691 df-6 11692 df-7 11693 df-8 11694 df-9 11695 df-n0 11886 df-xnn0 11956 df-z 11970 df-dec 12087 df-uz 12232 df-rp 12378 df-fz 12886 df-fzo 13029 df-seq 13365 df-exp 13426 df-hash 13687 df-word 13858 df-lsw 13906 df-concat 13914 df-s1 13941 df-substr 13994 df-pfx 14024 df-splice 14103 df-reverse 14112 df-s2 14201 df-struct 16477 df-ndx 16478 df-slot 16479 df-base 16481 df-sets 16482 df-ress 16483 df-plusg 16570 df-mulr 16571 df-starv 16572 df-sca 16573 df-vsca 16574 df-ip 16575 df-tset 16576 df-ple 16577 df-ds 16579 df-unif 16580 df-hom 16581 df-cco 16582 df-0g 16707 df-gsum 16708 df-prds 16713 df-pws 16715 df-mre 16849 df-mrc 16850 df-acs 16852 df-mgm 17844 df-sgrp 17893 df-mnd 17904 df-mhm 17948 df-submnd 17949 df-efmnd 18026 df-grp 18098 df-minusg 18099 df-sbg 18100 df-mulg 18217 df-subg 18268 df-ghm 18348 df-gim 18391 df-cntz 18439 df-oppg 18466 df-symg 18488 df-pmtr 18562 df-psgn 18611 df-evpm 18612 df-cmn 18900 df-abl 18901 df-mgp 19233 df-ur 19245 df-srg 19249 df-ring 19292 df-cring 19293 df-oppr 19369 df-dvdsr 19387 df-unit 19388 df-invr 19418 df-dvr 19429 df-rnghom 19463 df-drng 19497 df-subrg 19526 df-lmod 19629 df-lss 19697 df-sra 19937 df-rgmod 19938 df-cnfld 20092 df-zring 20164 df-zrh 20197 df-dsmm 20421 df-frlm 20436 df-assa 20542 df-ascl 20544 df-psr 20594 df-mvr 20595 df-mpl 20596 df-opsr 20598 df-psr1 20809 df-vr1 20810 df-ply1 20811 df-coe1 20812 df-mamu 20991 df-mat 21013 df-mdet 21190 df-madu 21239 df-cpmat 21311 df-mat2pmat 21312 df-cpmat2mat 21313 df-decpmat 21368 df-pm2mp 21398 df-chpmat 21432 |
This theorem is referenced by: cayleyhamilton1 21497 |
Copyright terms: Public domain | W3C validator |