MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  cayleyhamilton Structured version   Visualization version   GIF version

Theorem cayleyhamilton 23062
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.)
Hypotheses
Ref Expression
cayleyhamilton.a 𝐴 = (𝑁 Mat 𝑅)
cayleyhamilton.b 𝐵 = (Base‘𝐴)
cayleyhamilton.0 0 = (0g𝐴)
cayleyhamilton.c 𝐶 = (𝑁 CharPlyMat 𝑅)
cayleyhamilton.k 𝐾 = (coe1‘(𝐶𝑀))
cayleyhamilton.m = ( ·𝑠𝐴)
cayleyhamilton.e = (.g‘(mulGrp‘𝐴))
Assertion
Ref Expression
cayleyhamilton ((𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀𝐵) → (𝐴 Σg (𝑛 ∈ ℕ0 ↦ ((𝐾𝑛) (𝑛 𝑀)))) = 0 )
Distinct variable groups:   𝐴,𝑛   𝐵,𝑛   𝐶,𝑛   𝑛,𝑀   𝑛,𝑁   𝑅,𝑛   ,𝑛   ,𝑛
Allowed substitution hints:   𝐾(𝑛)   0 (𝑛)

Proof of Theorem cayleyhamilton
Dummy variables 𝑥 𝑦 𝑙 are mutually distinct and distinct from all other variables.
StepHypRef 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)))
2120fveq2d 6889 . . . . . . 7 (𝑙 = 𝑛 → ((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑙 − 1))) = ((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑛 − 1))))
22 2fveq3 6890 . . . . . . . 8 (𝑙 = 𝑛 → ((𝑁 matToPolyMat 𝑅)‘(𝑦𝑙)) = ((𝑁 matToPolyMat 𝑅)‘(𝑦𝑛)))
2322oveq2d 7432 . . . . . . 7 (𝑙 = 𝑛 → (((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦𝑙))) = (((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦𝑛))))
2421, 23oveq12d 7434 . . . . . 6 (𝑙 = 𝑛 → (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑙 − 1)))(-g‘(𝑁 Mat (Poly1𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦𝑙)))) = (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑛 − 1)))(-g‘(𝑁 Mat (Poly1𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦𝑛)))))
2519, 24ifbieq2d 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 𝑅)‘(𝑦𝑛))))))
2618, 25ifbieq2d 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 𝑅)‘(𝑦𝑛)))))))
2717, 26ifbieq2d 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 𝑅)‘(𝑦𝑛))))))))
2827cbvmptv 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 𝑅)
301, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 28, 29cayleyhamilton0 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