![]() |
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 2771 | . 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 2771 | . 2 ⊢ (Poly1‘𝑅) = (Poly1‘𝑅) | |
10 | eqid 2771 | . 2 ⊢ (𝑁 Mat (Poly1‘𝑅)) = (𝑁 Mat (Poly1‘𝑅)) | |
11 | eqid 2771 | . 2 ⊢ (.r‘(𝑁 Mat (Poly1‘𝑅))) = (.r‘(𝑁 Mat (Poly1‘𝑅))) | |
12 | eqid 2771 | . 2 ⊢ (-g‘(𝑁 Mat (Poly1‘𝑅))) = (-g‘(𝑁 Mat (Poly1‘𝑅))) | |
13 | eqid 2771 | . 2 ⊢ (0g‘(𝑁 Mat (Poly1‘𝑅))) = (0g‘(𝑁 Mat (Poly1‘𝑅))) | |
14 | eqid 2771 | . 2 ⊢ (Base‘(𝑁 Mat (Poly1‘𝑅))) = (Base‘(𝑁 Mat (Poly1‘𝑅))) | |
15 | eqid 2771 | . 2 ⊢ (.g‘(mulGrp‘(𝑁 Mat (Poly1‘𝑅)))) = (.g‘(mulGrp‘(𝑁 Mat (Poly1‘𝑅)))) | |
16 | eqid 2771 | . 2 ⊢ (𝑁 matToPolyMat 𝑅) = (𝑁 matToPolyMat 𝑅) | |
17 | eqeq1 2775 | . . . 4 ⊢ (𝑙 = 𝑛 → (𝑙 = 0 ↔ 𝑛 = 0)) | |
18 | eqeq1 2775 | . . . . 5 ⊢ (𝑙 = 𝑛 → (𝑙 = (𝑥 + 1) ↔ 𝑛 = (𝑥 + 1))) | |
19 | breq2 4791 | . . . . . 6 ⊢ (𝑙 = 𝑛 → ((𝑥 + 1) < 𝑙 ↔ (𝑥 + 1) < 𝑛)) | |
20 | fvoveq1 6818 | . . . . . . . 8 ⊢ (𝑙 = 𝑛 → (𝑦‘(𝑙 − 1)) = (𝑦‘(𝑛 − 1))) | |
21 | 20 | fveq2d 6337 | . . . . . . 7 ⊢ (𝑙 = 𝑛 → ((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑙 − 1))) = ((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑛 − 1)))) |
22 | fveq2 6333 | . . . . . . . . 9 ⊢ (𝑙 = 𝑛 → (𝑦‘𝑙) = (𝑦‘𝑛)) | |
23 | 22 | fveq2d 6337 | . . . . . . . 8 ⊢ (𝑙 = 𝑛 → ((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑙)) = ((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑛))) |
24 | 23 | oveq2d 6811 | . . . . . . 7 ⊢ (𝑙 = 𝑛 → (((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑙))) = (((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑛)))) |
25 | 21, 24 | oveq12d 6813 | . . . . . 6 ⊢ (𝑙 = 𝑛 → (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑙 − 1)))(-g‘(𝑁 Mat (Poly1‘𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑙)))) = (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑛 − 1)))(-g‘(𝑁 Mat (Poly1‘𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑛))))) |
26 | 19, 25 | ifbieq2d 4251 | . . . . 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 𝑅)‘(𝑦‘𝑛)))))) |
27 | 18, 26 | ifbieq2d 4251 | . . . 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 𝑅)‘(𝑦‘𝑛))))))) |
28 | 17, 27 | ifbieq2d 4251 | . . 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 𝑅)‘(𝑦‘𝑛)))))))) |
29 | 28 | cbvmptv 4885 | . 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 𝑅)‘(𝑦‘𝑛)))))))) |
30 | eqid 2771 | . 2 ⊢ (𝑁 cPolyMatToMat 𝑅) = (𝑁 cPolyMatToMat 𝑅) | |
31 | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 29, 30 | cayleyhamilton0 20913 | 1 ⊢ ((𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵) → (𝐴 Σg (𝑛 ∈ ℕ0 ↦ ((𝐾‘𝑛) ∗ (𝑛 ↑ 𝑀)))) = 0 ) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ w3a 1071 = wceq 1631 ∈ wcel 2145 ifcif 4226 class class class wbr 4787 ↦ cmpt 4864 ‘cfv 6030 (class class class)co 6795 Fincfn 8112 0cc0 10141 1c1 10142 + caddc 10144 < clt 10279 − cmin 10471 ℕ0cn0 11498 Basecbs 16063 .rcmulr 16149 ·𝑠 cvsca 16152 0gc0g 16307 Σg cgsu 16308 -gcsg 17631 .gcmg 17747 mulGrpcmgp 18696 1rcur 18708 CRingccrg 18755 Poly1cpl1 19761 coe1cco1 19762 Mat cmat 20429 matToPolyMat cmat2pmat 20728 cPolyMatToMat ccpmat2mat 20729 CharPlyMat cchpmat 20850 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1870 ax-4 1885 ax-5 1991 ax-6 2057 ax-7 2093 ax-8 2147 ax-9 2154 ax-10 2174 ax-11 2190 ax-12 2203 ax-13 2408 ax-ext 2751 ax-rep 4905 ax-sep 4916 ax-nul 4924 ax-pow 4975 ax-pr 5035 ax-un 7099 ax-inf2 8705 ax-cnex 10197 ax-resscn 10198 ax-1cn 10199 ax-icn 10200 ax-addcl 10201 ax-addrcl 10202 ax-mulcl 10203 ax-mulrcl 10204 ax-mulcom 10205 ax-addass 10206 ax-mulass 10207 ax-distr 10208 ax-i2m1 10209 ax-1ne0 10210 ax-1rid 10211 ax-rnegex 10212 ax-rrecex 10213 ax-cnre 10214 ax-pre-lttri 10215 ax-pre-lttrn 10216 ax-pre-ltadd 10217 ax-pre-mulgt0 10218 ax-addf 10220 ax-mulf 10221 |
This theorem depends on definitions: df-bi 197 df-an 383 df-or 837 df-3or 1072 df-3an 1073 df-xor 1613 df-tru 1634 df-fal 1637 df-ex 1853 df-nf 1858 df-sb 2050 df-eu 2622 df-mo 2623 df-clab 2758 df-cleq 2764 df-clel 2767 df-nfc 2902 df-ne 2944 df-nel 3047 df-ral 3066 df-rex 3067 df-reu 3068 df-rmo 3069 df-rab 3070 df-v 3353 df-sbc 3588 df-csb 3683 df-dif 3726 df-un 3728 df-in 3730 df-ss 3737 df-pss 3739 df-nul 4064 df-if 4227 df-pw 4300 df-sn 4318 df-pr 4320 df-tp 4322 df-op 4324 df-ot 4326 df-uni 4576 df-int 4613 df-iun 4657 df-iin 4658 df-br 4788 df-opab 4848 df-mpt 4865 df-tr 4888 df-id 5158 df-eprel 5163 df-po 5171 df-so 5172 df-fr 5209 df-se 5210 df-we 5211 df-xp 5256 df-rel 5257 df-cnv 5258 df-co 5259 df-dm 5260 df-rn 5261 df-res 5262 df-ima 5263 df-pred 5822 df-ord 5868 df-on 5869 df-lim 5870 df-suc 5871 df-iota 5993 df-fun 6032 df-fn 6033 df-f 6034 df-f1 6035 df-fo 6036 df-f1o 6037 df-fv 6038 df-isom 6039 df-riota 6756 df-ov 6798 df-oprab 6799 df-mpt2 6800 df-of 7047 df-ofr 7048 df-om 7216 df-1st 7318 df-2nd 7319 df-supp 7450 df-tpos 7507 df-cur 7548 df-wrecs 7562 df-recs 7624 df-rdg 7662 df-1o 7716 df-2o 7717 df-oadd 7720 df-er 7899 df-map 8014 df-pm 8015 df-ixp 8066 df-en 8113 df-dom 8114 df-sdom 8115 df-fin 8116 df-fsupp 8435 df-sup 8507 df-oi 8574 df-card 8968 df-pnf 10281 df-mnf 10282 df-xr 10283 df-ltxr 10284 df-le 10285 df-sub 10473 df-neg 10474 df-div 10890 df-nn 11226 df-2 11284 df-3 11285 df-4 11286 df-5 11287 df-6 11288 df-7 11289 df-8 11290 df-9 11291 df-n0 11499 df-xnn0 11570 df-z 11584 df-dec 11700 df-uz 11893 df-rp 12035 df-fz 12533 df-fzo 12673 df-seq 13008 df-exp 13067 df-hash 13321 df-word 13494 df-lsw 13495 df-concat 13496 df-s1 13497 df-substr 13498 df-splice 13499 df-reverse 13500 df-s2 13801 df-struct 16065 df-ndx 16066 df-slot 16067 df-base 16069 df-sets 16070 df-ress 16071 df-plusg 16161 df-mulr 16162 df-starv 16163 df-sca 16164 df-vsca 16165 df-ip 16166 df-tset 16167 df-ple 16168 df-ds 16171 df-unif 16172 df-hom 16173 df-cco 16174 df-0g 16309 df-gsum 16310 df-prds 16315 df-pws 16317 df-mre 16453 df-mrc 16454 df-acs 16456 df-mgm 17449 df-sgrp 17491 df-mnd 17502 df-mhm 17542 df-submnd 17543 df-grp 17632 df-minusg 17633 df-sbg 17634 df-mulg 17748 df-subg 17798 df-ghm 17865 df-gim 17908 df-cntz 17956 df-oppg 17982 df-symg 18004 df-pmtr 18068 df-psgn 18117 df-evpm 18118 df-cmn 18401 df-abl 18402 df-mgp 18697 df-ur 18709 df-srg 18713 df-ring 18756 df-cring 18757 df-oppr 18830 df-dvdsr 18848 df-unit 18849 df-invr 18879 df-dvr 18890 df-rnghom 18924 df-drng 18958 df-subrg 18987 df-lmod 19074 df-lss 19142 df-sra 19386 df-rgmod 19387 df-assa 19526 df-ascl 19528 df-psr 19570 df-mvr 19571 df-mpl 19572 df-opsr 19574 df-psr1 19764 df-vr1 19765 df-ply1 19766 df-coe1 19767 df-cnfld 19961 df-zring 20033 df-zrh 20066 df-dsmm 20292 df-frlm 20307 df-mamu 20406 df-mat 20430 df-mdet 20608 df-madu 20657 df-cpmat 20730 df-mat2pmat 20731 df-cpmat2mat 20732 df-decpmat 20787 df-pm2mp 20817 df-chpmat 20851 |
This theorem is referenced by: cayleyhamilton1 20916 |
Copyright terms: Public domain | W3C validator |