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

Theorem cayleyhamilton 21493
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 2824 . 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 2824 . 2 (Poly1𝑅) = (Poly1𝑅)
10 eqid 2824 . 2 (𝑁 Mat (Poly1𝑅)) = (𝑁 Mat (Poly1𝑅))
11 eqid 2824 . 2 (.r‘(𝑁 Mat (Poly1𝑅))) = (.r‘(𝑁 Mat (Poly1𝑅)))
12 eqid 2824 . 2 (-g‘(𝑁 Mat (Poly1𝑅))) = (-g‘(𝑁 Mat (Poly1𝑅)))
13 eqid 2824 . 2 (0g‘(𝑁 Mat (Poly1𝑅))) = (0g‘(𝑁 Mat (Poly1𝑅)))
14 eqid 2824 . 2 (Base‘(𝑁 Mat (Poly1𝑅))) = (Base‘(𝑁 Mat (Poly1𝑅)))
15 eqid 2824 . 2 (.g‘(mulGrp‘(𝑁 Mat (Poly1𝑅)))) = (.g‘(mulGrp‘(𝑁 Mat (Poly1𝑅))))
16 eqid 2824 . 2 (𝑁 matToPolyMat 𝑅) = (𝑁 matToPolyMat 𝑅)
17 eqeq1 2828 . . . 4 (𝑙 = 𝑛 → (𝑙 = 0 ↔ 𝑛 = 0))
18 eqeq1 2828 . . . . 5 (𝑙 = 𝑛 → (𝑙 = (𝑥 + 1) ↔ 𝑛 = (𝑥 + 1)))
19 breq2 5057 . . . . . 6 (𝑙 = 𝑛 → ((𝑥 + 1) < 𝑙 ↔ (𝑥 + 1) < 𝑛))
20 fvoveq1 7169 . . . . . . . 8 (𝑙 = 𝑛 → (𝑦‘(𝑙 − 1)) = (𝑦‘(𝑛 − 1)))
2120fveq2d 6663 . . . . . . 7 (𝑙 = 𝑛 → ((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑙 − 1))) = ((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑛 − 1))))
22 2fveq3 6664 . . . . . . . 8 (𝑙 = 𝑛 → ((𝑁 matToPolyMat 𝑅)‘(𝑦𝑙)) = ((𝑁 matToPolyMat 𝑅)‘(𝑦𝑛)))
2322oveq2d 7162 . . . . . . 7 (𝑙 = 𝑛 → (((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦𝑙))) = (((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦𝑛))))
2421, 23oveq12d 7164 . . . . . 6 (𝑙 = 𝑛 → (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑙 − 1)))(-g‘(𝑁 Mat (Poly1𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦𝑙)))) = (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑛 − 1)))(-g‘(𝑁 Mat (Poly1𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦𝑛)))))
2519, 24ifbieq2d 4475 . . . . 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 4475 . . . 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 4475 . . 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 5156 . 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 2824 . 2 (𝑁 cPolyMatToMat 𝑅) = (𝑁 cPolyMatToMat 𝑅)
301, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 28, 29cayleyhamilton0 21492 1 ((𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀𝐵) → (𝐴 Σg (𝑛 ∈ ℕ0 ↦ ((𝐾𝑛) (𝑛 𝑀)))) = 0 )
Colors of variables: wff setvar class
Syntax hints:  wi 4  w3a 1084   = wceq 1538  wcel 2115  ifcif 4450   class class class wbr 5053  cmpt 5133  cfv 6344  (class class class)co 7146  Fincfn 8501  0cc0 10531  1c1 10532   + caddc 10534   < clt 10669  cmin 10864  0cn0 11892  Basecbs 16481  .rcmulr 16564   ·𝑠 cvsca 16567  0gc0g 16711   Σg cgsu 16712  -gcsg 18103  .gcmg 18222  mulGrpcmgp 19237  1rcur 19249  CRingccrg 19296  Poly1cpl1 20340  coe1cco1 20341   Mat cmat 21011   matToPolyMat cmat2pmat 21307   cPolyMatToMat ccpmat2mat 21308   CharPlyMat cchpmat 21429
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 1912  ax-6 1971  ax-7 2016  ax-8 2117  ax-9 2125  ax-10 2146  ax-11 2162  ax-12 2179  ax-ext 2796  ax-rep 5177  ax-sep 5190  ax-nul 5197  ax-pow 5254  ax-pr 5318  ax-un 7452  ax-cnex 10587  ax-resscn 10588  ax-1cn 10589  ax-icn 10590  ax-addcl 10591  ax-addrcl 10592  ax-mulcl 10593  ax-mulrcl 10594  ax-mulcom 10595  ax-addass 10596  ax-mulass 10597  ax-distr 10598  ax-i2m1 10599  ax-1ne0 10600  ax-1rid 10601  ax-rnegex 10602  ax-rrecex 10603  ax-cnre 10604  ax-pre-lttri 10605  ax-pre-lttrn 10606  ax-pre-ltadd 10607  ax-pre-mulgt0 10608  ax-addf 10610  ax-mulf 10611
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 2071  df-mo 2624  df-eu 2655  df-clab 2803  df-cleq 2817  df-clel 2896  df-nfc 2964  df-ne 3015  df-nel 3119  df-ral 3138  df-rex 3139  df-reu 3140  df-rmo 3141  df-rab 3142  df-v 3482  df-sbc 3759  df-csb 3867  df-dif 3922  df-un 3924  df-in 3926  df-ss 3936  df-pss 3938  df-nul 4277  df-if 4451  df-pw 4524  df-sn 4551  df-pr 4553  df-tp 4555  df-op 4557  df-ot 4559  df-uni 4826  df-int 4864  df-iun 4908  df-iin 4909  df-br 5054  df-opab 5116  df-mpt 5134  df-tr 5160  df-id 5448  df-eprel 5453  df-po 5462  df-so 5463  df-fr 5502  df-se 5503  df-we 5504  df-xp 5549  df-rel 5550  df-cnv 5551  df-co 5552  df-dm 5553  df-rn 5554  df-res 5555  df-ima 5556  df-pred 6136  df-ord 6182  df-on 6183  df-lim 6184  df-suc 6185  df-iota 6303  df-fun 6346  df-fn 6347  df-f 6348  df-f1 6349  df-fo 6350  df-f1o 6351  df-fv 6352  df-isom 6353  df-riota 7104  df-ov 7149  df-oprab 7150  df-mpo 7151  df-of 7400  df-ofr 7401  df-om 7572  df-1st 7681  df-2nd 7682  df-supp 7823  df-tpos 7884  df-cur 7925  df-wrecs 7939  df-recs 8000  df-rdg 8038  df-1o 8094  df-2o 8095  df-oadd 8098  df-er 8281  df-map 8400  df-pm 8401  df-ixp 8454  df-en 8502  df-dom 8503  df-sdom 8504  df-fin 8505  df-fsupp 8827  df-sup 8899  df-oi 8967  df-card 9361  df-pnf 10671  df-mnf 10672  df-xr 10673  df-ltxr 10674  df-le 10675  df-sub 10866  df-neg 10867  df-div 11292  df-nn 11633  df-2 11695  df-3 11696  df-4 11697  df-5 11698  df-6 11699  df-7 11700  df-8 11701  df-9 11702  df-n0 11893  df-xnn0 11963  df-z 11977  df-dec 12094  df-uz 12239  df-rp 12385  df-fz 12893  df-fzo 13036  df-seq 13372  df-exp 13433  df-hash 13694  df-word 13865  df-lsw 13913  df-concat 13921  df-s1 13948  df-substr 14001  df-pfx 14031  df-splice 14110  df-reverse 14119  df-s2 14208  df-struct 16483  df-ndx 16484  df-slot 16485  df-base 16487  df-sets 16488  df-ress 16489  df-plusg 16576  df-mulr 16577  df-starv 16578  df-sca 16579  df-vsca 16580  df-ip 16581  df-tset 16582  df-ple 16583  df-ds 16585  df-unif 16586  df-hom 16587  df-cco 16588  df-0g 16713  df-gsum 16714  df-prds 16719  df-pws 16721  df-mre 16855  df-mrc 16856  df-acs 16858  df-mgm 17850  df-sgrp 17899  df-mnd 17910  df-mhm 17954  df-submnd 17955  df-efmnd 18032  df-grp 18104  df-minusg 18105  df-sbg 18106  df-mulg 18223  df-subg 18274  df-ghm 18354  df-gim 18397  df-cntz 18445  df-oppg 18472  df-symg 18494  df-pmtr 18568  df-psgn 18617  df-evpm 18618  df-cmn 18906  df-abl 18907  df-mgp 19238  df-ur 19250  df-srg 19254  df-ring 19297  df-cring 19298  df-oppr 19371  df-dvdsr 19389  df-unit 19390  df-invr 19420  df-dvr 19431  df-rnghom 19465  df-drng 19499  df-subrg 19528  df-lmod 19631  df-lss 19699  df-sra 19939  df-rgmod 19940  df-assa 20080  df-ascl 20082  df-psr 20131  df-mvr 20132  df-mpl 20133  df-opsr 20135  df-psr1 20343  df-vr1 20344  df-ply1 20345  df-coe1 20346  df-cnfld 20541  df-zring 20613  df-zrh 20646  df-dsmm 20871  df-frlm 20886  df-mamu 20990  df-mat 21012  df-mdet 21189  df-madu 21238  df-cpmat 21309  df-mat2pmat 21310  df-cpmat2mat 21311  df-decpmat 21366  df-pm2mp 21396  df-chpmat 21430
This theorem is referenced by:  cayleyhamilton1  21495
  Copyright terms: Public domain W3C validator