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

Theorem cayleyhamilton 21492
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 2821 . 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 2821 . 2 (Poly1𝑅) = (Poly1𝑅)
10 eqid 2821 . 2 (𝑁 Mat (Poly1𝑅)) = (𝑁 Mat (Poly1𝑅))
11 eqid 2821 . 2 (.r‘(𝑁 Mat (Poly1𝑅))) = (.r‘(𝑁 Mat (Poly1𝑅)))
12 eqid 2821 . 2 (-g‘(𝑁 Mat (Poly1𝑅))) = (-g‘(𝑁 Mat (Poly1𝑅)))
13 eqid 2821 . 2 (0g‘(𝑁 Mat (Poly1𝑅))) = (0g‘(𝑁 Mat (Poly1𝑅)))
14 eqid 2821 . 2 (Base‘(𝑁 Mat (Poly1𝑅))) = (Base‘(𝑁 Mat (Poly1𝑅)))
15 eqid 2821 . 2 (.g‘(mulGrp‘(𝑁 Mat (Poly1𝑅)))) = (.g‘(mulGrp‘(𝑁 Mat (Poly1𝑅))))
16 eqid 2821 . 2 (𝑁 matToPolyMat 𝑅) = (𝑁 matToPolyMat 𝑅)
17 eqeq1 2825 . . . 4 (𝑙 = 𝑛 → (𝑙 = 0 ↔ 𝑛 = 0))
18 eqeq1 2825 . . . . 5 (𝑙 = 𝑛 → (𝑙 = (𝑥 + 1) ↔ 𝑛 = (𝑥 + 1)))
19 breq2 5063 . . . . . 6 (𝑙 = 𝑛 → ((𝑥 + 1) < 𝑙 ↔ (𝑥 + 1) < 𝑛))
20 fvoveq1 7173 . . . . . . . 8 (𝑙 = 𝑛 → (𝑦‘(𝑙 − 1)) = (𝑦‘(𝑛 − 1)))
2120fveq2d 6669 . . . . . . 7 (𝑙 = 𝑛 → ((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑙 − 1))) = ((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑛 − 1))))
22 2fveq3 6670 . . . . . . . 8 (𝑙 = 𝑛 → ((𝑁 matToPolyMat 𝑅)‘(𝑦𝑙)) = ((𝑁 matToPolyMat 𝑅)‘(𝑦𝑛)))
2322oveq2d 7166 . . . . . . 7 (𝑙 = 𝑛 → (((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦𝑙))) = (((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦𝑛))))
2421, 23oveq12d 7168 . . . . . 6 (𝑙 = 𝑛 → (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑙 − 1)))(-g‘(𝑁 Mat (Poly1𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦𝑙)))) = (((𝑁 matToPolyMat 𝑅)‘(𝑦‘(𝑛 − 1)))(-g‘(𝑁 Mat (Poly1𝑅)))(((𝑁 matToPolyMat 𝑅)‘𝑀)(.r‘(𝑁 Mat (Poly1𝑅)))((𝑁 matToPolyMat 𝑅)‘(𝑦𝑛)))))
2519, 24ifbieq2d 4492 . . . . 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 4492 . . . 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 4492 . . 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 5162 . 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 2821 . 2 (𝑁 cPolyMatToMat 𝑅) = (𝑁 cPolyMatToMat 𝑅)
301, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 28, 29cayleyhamilton0 21491 1 ((𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀𝐵) → (𝐴 Σg (𝑛 ∈ ℕ0 ↦ ((𝐾𝑛) (𝑛 𝑀)))) = 0 )
Colors of variables: wff setvar class
Syntax hints:  wi 4  w3a 1083   = wceq 1533  wcel 2110  ifcif 4467   class class class wbr 5059  cmpt 5139  cfv 6350  (class class class)co 7150  Fincfn 8503  0cc0 10531  1c1 10532   + caddc 10534   < clt 10669  cmin 10864  0cn0 11891  Basecbs 16477  .rcmulr 16560   ·𝑠 cvsca 16563  0gc0g 16707   Σg cgsu 16708  -gcsg 18099  .gcmg 18218  mulGrpcmgp 19233  1rcur 19245  CRingccrg 19292  Poly1cpl1 20339  coe1cco1 20340   Mat cmat 21010   matToPolyMat cmat2pmat 21306   cPolyMatToMat ccpmat2mat 21307   CharPlyMat cchpmat 21428
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1792  ax-4 1806  ax-5 1907  ax-6 1966  ax-7 2011  ax-8 2112  ax-9 2120  ax-10 2141  ax-11 2156  ax-12 2172  ax-ext 2793  ax-rep 5183  ax-sep 5196  ax-nul 5203  ax-pow 5259  ax-pr 5322  ax-un 7455  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 209  df-an 399  df-or 844  df-3or 1084  df-3an 1085  df-xor 1501  df-tru 1536  df-fal 1546  df-ex 1777  df-nf 1781  df-sb 2066  df-mo 2618  df-eu 2650  df-clab 2800  df-cleq 2814  df-clel 2893  df-nfc 2963  df-ne 3017  df-nel 3124  df-ral 3143  df-rex 3144  df-reu 3145  df-rmo 3146  df-rab 3147  df-v 3497  df-sbc 3773  df-csb 3884  df-dif 3939  df-un 3941  df-in 3943  df-ss 3952  df-pss 3954  df-nul 4292  df-if 4468  df-pw 4541  df-sn 4562  df-pr 4564  df-tp 4566  df-op 4568  df-ot 4570  df-uni 4833  df-int 4870  df-iun 4914  df-iin 4915  df-br 5060  df-opab 5122  df-mpt 5140  df-tr 5166  df-id 5455  df-eprel 5460  df-po 5469  df-so 5470  df-fr 5509  df-se 5510  df-we 5511  df-xp 5556  df-rel 5557  df-cnv 5558  df-co 5559  df-dm 5560  df-rn 5561  df-res 5562  df-ima 5563  df-pred 6143  df-ord 6189  df-on 6190  df-lim 6191  df-suc 6192  df-iota 6309  df-fun 6352  df-fn 6353  df-f 6354  df-f1 6355  df-fo 6356  df-f1o 6357  df-fv 6358  df-isom 6359  df-riota 7108  df-ov 7153  df-oprab 7154  df-mpo 7155  df-of 7403  df-ofr 7404  df-om 7575  df-1st 7683  df-2nd 7684  df-supp 7825  df-tpos 7886  df-cur 7927  df-wrecs 7941  df-recs 8002  df-rdg 8040  df-1o 8096  df-2o 8097  df-oadd 8100  df-er 8283  df-map 8402  df-pm 8403  df-ixp 8456  df-en 8504  df-dom 8505  df-sdom 8506  df-fin 8507  df-fsupp 8828  df-sup 8900  df-oi 8968  df-card 9362  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 11694  df-3 11695  df-4 11696  df-5 11697  df-6 11698  df-7 11699  df-8 11700  df-9 11701  df-n0 11892  df-xnn0 11962  df-z 11976  df-dec 12093  df-uz 12238  df-rp 12384  df-fz 12887  df-fzo 13028  df-seq 13364  df-exp 13424  df-hash 13685  df-word 13856  df-lsw 13909  df-concat 13917  df-s1 13944  df-substr 13997  df-pfx 14027  df-splice 14106  df-reverse 14115  df-s2 14204  df-struct 16479  df-ndx 16480  df-slot 16481  df-base 16483  df-sets 16484  df-ress 16485  df-plusg 16572  df-mulr 16573  df-starv 16574  df-sca 16575  df-vsca 16576  df-ip 16577  df-tset 16578  df-ple 16579  df-ds 16581  df-unif 16582  df-hom 16583  df-cco 16584  df-0g 16709  df-gsum 16710  df-prds 16715  df-pws 16717  df-mre 16851  df-mrc 16852  df-acs 16854  df-mgm 17846  df-sgrp 17895  df-mnd 17906  df-mhm 17950  df-submnd 17951  df-efmnd 18028  df-grp 18100  df-minusg 18101  df-sbg 18102  df-mulg 18219  df-subg 18270  df-ghm 18350  df-gim 18393  df-cntz 18441  df-oppg 18468  df-symg 18490  df-pmtr 18564  df-psgn 18613  df-evpm 18614  df-cmn 18902  df-abl 18903  df-mgp 19234  df-ur 19246  df-srg 19250  df-ring 19293  df-cring 19294  df-oppr 19367  df-dvdsr 19385  df-unit 19386  df-invr 19416  df-dvr 19427  df-rnghom 19461  df-drng 19498  df-subrg 19527  df-lmod 19630  df-lss 19698  df-sra 19938  df-rgmod 19939  df-assa 20079  df-ascl 20081  df-psr 20130  df-mvr 20131  df-mpl 20132  df-opsr 20134  df-psr1 20342  df-vr1 20343  df-ply1 20344  df-coe1 20345  df-cnfld 20540  df-zring 20612  df-zrh 20645  df-dsmm 20870  df-frlm 20885  df-mamu 20989  df-mat 21011  df-mdet 21188  df-madu 21237  df-cpmat 21308  df-mat2pmat 21309  df-cpmat2mat 21310  df-decpmat 21365  df-pm2mp 21395  df-chpmat 21429
This theorem is referenced by:  cayleyhamilton1  21494
  Copyright terms: Public domain W3C validator