![]() |
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 2778 | . 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 2778 | . 2 ⊢ (Poly1‘𝑅) = (Poly1‘𝑅) | |
10 | eqid 2778 | . 2 ⊢ (𝑁 Mat (Poly1‘𝑅)) = (𝑁 Mat (Poly1‘𝑅)) | |
11 | eqid 2778 | . 2 ⊢ (.r‘(𝑁 Mat (Poly1‘𝑅))) = (.r‘(𝑁 Mat (Poly1‘𝑅))) | |
12 | eqid 2778 | . 2 ⊢ (-g‘(𝑁 Mat (Poly1‘𝑅))) = (-g‘(𝑁 Mat (Poly1‘𝑅))) | |
13 | eqid 2778 | . 2 ⊢ (0g‘(𝑁 Mat (Poly1‘𝑅))) = (0g‘(𝑁 Mat (Poly1‘𝑅))) | |
14 | eqid 2778 | . 2 ⊢ (Base‘(𝑁 Mat (Poly1‘𝑅))) = (Base‘(𝑁 Mat (Poly1‘𝑅))) | |
15 | eqid 2778 | . 2 ⊢ (.g‘(mulGrp‘(𝑁 Mat (Poly1‘𝑅)))) = (.g‘(mulGrp‘(𝑁 Mat (Poly1‘𝑅)))) | |
16 | eqid 2778 | . 2 ⊢ (𝑁 matToPolyMat 𝑅) = (𝑁 matToPolyMat 𝑅) | |
17 | eqeq1 2782 | . . . 4 ⊢ (𝑙 = 𝑛 → (𝑙 = 0 ↔ 𝑛 = 0)) | |
18 | eqeq1 2782 | . . . . 5 ⊢ (𝑙 = 𝑛 → (𝑙 = (𝑥 + 1) ↔ 𝑛 = (𝑥 + 1))) | |
19 | breq2 4890 | . . . . . 6 ⊢ (𝑙 = 𝑛 → ((𝑥 + 1) < 𝑙 ↔ (𝑥 + 1) < 𝑛)) | |
20 | fvoveq1 6945 | . . . . . . . 8 ⊢ (𝑙 = 𝑛 → (𝑦‘(𝑙 − 1)) = (𝑦‘(𝑛 − 1))) | |
21 | 20 | fveq2d 6450 | . . . . . . 7 ⊢ (𝑙 = 𝑛 → ((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑙 − 1))) = ((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑛 − 1)))) |
22 | 2fveq3 6451 | . . . . . . . 8 ⊢ (𝑙 = 𝑛 → ((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑙)) = ((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑛))) | |
23 | 22 | oveq2d 6938 | . . . . . . 7 ⊢ (𝑙 = 𝑛 → (((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑙))) = (((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1‘𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦‘𝑛)))) |
24 | 21, 23 | oveq12d 6940 | . . . . . 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 4332 | . . . . 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 4332 | . . . 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 4332 | . . 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 4985 | . 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 2778 | . 2 ⊢ (𝑁 cPolyMatToMat 𝑅) = (𝑁 cPolyMatToMat 𝑅) | |
30 | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 28, 29 | cayleyhamilton0 21101 | 1 ⊢ ((𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵) → (𝐴 Σg (𝑛 ∈ ℕ0 ↦ ((𝐾‘𝑛) ∗ (𝑛 ↑ 𝑀)))) = 0 ) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ w3a 1071 = wceq 1601 ∈ wcel 2107 ifcif 4307 class class class wbr 4886 ↦ cmpt 4965 ‘cfv 6135 (class class class)co 6922 Fincfn 8241 0cc0 10272 1c1 10273 + caddc 10275 < clt 10411 − cmin 10606 ℕ0cn0 11642 Basecbs 16255 .rcmulr 16339 ·𝑠 cvsca 16342 0gc0g 16486 Σg cgsu 16487 -gcsg 17811 .gcmg 17927 mulGrpcmgp 18876 1rcur 18888 CRingccrg 18935 Poly1cpl1 19943 coe1cco1 19944 Mat cmat 20617 matToPolyMat cmat2pmat 20916 cPolyMatToMat ccpmat2mat 20917 CharPlyMat cchpmat 21038 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1839 ax-4 1853 ax-5 1953 ax-6 2021 ax-7 2055 ax-8 2109 ax-9 2116 ax-10 2135 ax-11 2150 ax-12 2163 ax-13 2334 ax-ext 2754 ax-rep 5006 ax-sep 5017 ax-nul 5025 ax-pow 5077 ax-pr 5138 ax-un 7226 ax-inf2 8835 ax-cnex 10328 ax-resscn 10329 ax-1cn 10330 ax-icn 10331 ax-addcl 10332 ax-addrcl 10333 ax-mulcl 10334 ax-mulrcl 10335 ax-mulcom 10336 ax-addass 10337 ax-mulass 10338 ax-distr 10339 ax-i2m1 10340 ax-1ne0 10341 ax-1rid 10342 ax-rnegex 10343 ax-rrecex 10344 ax-cnre 10345 ax-pre-lttri 10346 ax-pre-lttrn 10347 ax-pre-ltadd 10348 ax-pre-mulgt0 10349 ax-addf 10351 ax-mulf 10352 |
This theorem depends on definitions: df-bi 199 df-an 387 df-or 837 df-3or 1072 df-3an 1073 df-xor 1583 df-tru 1605 df-fal 1615 df-ex 1824 df-nf 1828 df-sb 2012 df-mo 2551 df-eu 2587 df-clab 2764 df-cleq 2770 df-clel 2774 df-nfc 2921 df-ne 2970 df-nel 3076 df-ral 3095 df-rex 3096 df-reu 3097 df-rmo 3098 df-rab 3099 df-v 3400 df-sbc 3653 df-csb 3752 df-dif 3795 df-un 3797 df-in 3799 df-ss 3806 df-pss 3808 df-nul 4142 df-if 4308 df-pw 4381 df-sn 4399 df-pr 4401 df-tp 4403 df-op 4405 df-ot 4407 df-uni 4672 df-int 4711 df-iun 4755 df-iin 4756 df-br 4887 df-opab 4949 df-mpt 4966 df-tr 4988 df-id 5261 df-eprel 5266 df-po 5274 df-so 5275 df-fr 5314 df-se 5315 df-we 5316 df-xp 5361 df-rel 5362 df-cnv 5363 df-co 5364 df-dm 5365 df-rn 5366 df-res 5367 df-ima 5368 df-pred 5933 df-ord 5979 df-on 5980 df-lim 5981 df-suc 5982 df-iota 6099 df-fun 6137 df-fn 6138 df-f 6139 df-f1 6140 df-fo 6141 df-f1o 6142 df-fv 6143 df-isom 6144 df-riota 6883 df-ov 6925 df-oprab 6926 df-mpt2 6927 df-of 7174 df-ofr 7175 df-om 7344 df-1st 7445 df-2nd 7446 df-supp 7577 df-tpos 7634 df-cur 7675 df-wrecs 7689 df-recs 7751 df-rdg 7789 df-1o 7843 df-2o 7844 df-oadd 7847 df-er 8026 df-map 8142 df-pm 8143 df-ixp 8195 df-en 8242 df-dom 8243 df-sdom 8244 df-fin 8245 df-fsupp 8564 df-sup 8636 df-oi 8704 df-card 9098 df-pnf 10413 df-mnf 10414 df-xr 10415 df-ltxr 10416 df-le 10417 df-sub 10608 df-neg 10609 df-div 11033 df-nn 11375 df-2 11438 df-3 11439 df-4 11440 df-5 11441 df-6 11442 df-7 11443 df-8 11444 df-9 11445 df-n0 11643 df-xnn0 11715 df-z 11729 df-dec 11846 df-uz 11993 df-rp 12138 df-fz 12644 df-fzo 12785 df-seq 13120 df-exp 13179 df-hash 13436 df-word 13600 df-lsw 13653 df-concat 13661 df-s1 13686 df-substr 13731 df-pfx 13780 df-splice 13887 df-reverse 13905 df-s2 13999 df-struct 16257 df-ndx 16258 df-slot 16259 df-base 16261 df-sets 16262 df-ress 16263 df-plusg 16351 df-mulr 16352 df-starv 16353 df-sca 16354 df-vsca 16355 df-ip 16356 df-tset 16357 df-ple 16358 df-ds 16360 df-unif 16361 df-hom 16362 df-cco 16363 df-0g 16488 df-gsum 16489 df-prds 16494 df-pws 16496 df-mre 16632 df-mrc 16633 df-acs 16635 df-mgm 17628 df-sgrp 17670 df-mnd 17681 df-mhm 17721 df-submnd 17722 df-grp 17812 df-minusg 17813 df-sbg 17814 df-mulg 17928 df-subg 17975 df-ghm 18042 df-gim 18085 df-cntz 18133 df-oppg 18159 df-symg 18181 df-pmtr 18245 df-psgn 18294 df-evpm 18295 df-cmn 18581 df-abl 18582 df-mgp 18877 df-ur 18889 df-srg 18893 df-ring 18936 df-cring 18937 df-oppr 19010 df-dvdsr 19028 df-unit 19029 df-invr 19059 df-dvr 19070 df-rnghom 19104 df-drng 19141 df-subrg 19170 df-lmod 19257 df-lss 19325 df-sra 19569 df-rgmod 19570 df-assa 19709 df-ascl 19711 df-psr 19753 df-mvr 19754 df-mpl 19755 df-opsr 19757 df-psr1 19946 df-vr1 19947 df-ply1 19948 df-coe1 19949 df-cnfld 20143 df-zring 20215 df-zrh 20248 df-dsmm 20475 df-frlm 20490 df-mamu 20594 df-mat 20618 df-mdet 20796 df-madu 20845 df-cpmat 20918 df-mat2pmat 20919 df-cpmat2mat 20920 df-decpmat 20975 df-pm2mp 21005 df-chpmat 21039 |
This theorem is referenced by: cayleyhamilton1 21104 |
Copyright terms: Public domain | W3C validator |