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

Theorem cayleyhamilton 20914
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 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)))
2120fveq2d 6337 . . . . . . 7 (𝑙 = 𝑛 → ((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑙 − 1))) = ((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑛 − 1))))
22 fveq2 6333 . . . . . . . . 9 (𝑙 = 𝑛 → (𝑦𝑙) = (𝑦𝑛))
2322fveq2d 6337 . . . . . . . 8 (𝑙 = 𝑛 → ((𝑁 matToPolyMat 𝑅)‘(𝑦𝑙)) = ((𝑁 matToPolyMat 𝑅)‘(𝑦𝑛)))
2423oveq2d 6811 . . . . . . 7 (𝑙 = 𝑛 → (((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦𝑙))) = (((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦𝑛))))
2521, 24oveq12d 6813 . . . . . 6 (𝑙 = 𝑛 → (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑙 − 1)))(-g‘(𝑁 Mat (Poly1𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦𝑙)))) = (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑛 − 1)))(-g‘(𝑁 Mat (Poly1𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦𝑛)))))
2619, 25ifbieq2d 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 𝑅)‘(𝑦𝑛))))))
2718, 26ifbieq2d 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 𝑅)‘(𝑦𝑛)))))))
2817, 27ifbieq2d 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 𝑅)‘(𝑦𝑛))))))))
2928cbvmptv 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 𝑅)
311, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 29, 30cayleyhamilton0 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