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

Theorem cayleyhamilton 19558
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  |-  A  =  ( N Mat  R )
cayleyhamilton.b  |-  B  =  ( Base `  A
)
cayleyhamilton.0  |-  .0.  =  ( 0g `  A )
cayleyhamilton.c  |-  C  =  ( N CharPlyMat  R )
cayleyhamilton.k  |-  K  =  (coe1 `  ( C `  M ) )
cayleyhamilton.m  |-  .*  =  ( .s `  A )
cayleyhamilton.e  |-  .^  =  (.g
`  (mulGrp `  A )
)
Assertion
Ref Expression
cayleyhamilton  |-  ( ( N  e.  Fin  /\  R  e.  CRing  /\  M  e.  B )  ->  ( A  gsumg  ( n  e.  NN0  |->  ( ( K `  n )  .*  (
n  .^  M )
) ) )  =  .0.  )
Distinct variable groups:    A, n    B, n    C, n    n, M   
n, N    R, n    .* , n    .^ , n
Allowed substitution hints:    K( n)    .0. ( n)

Proof of Theorem cayleyhamilton
Dummy variables  x  y  l are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 cayleyhamilton.a . 2  |-  A  =  ( N Mat  R )
2 cayleyhamilton.b . 2  |-  B  =  ( Base `  A
)
3 cayleyhamilton.0 . 2  |-  .0.  =  ( 0g `  A )
4 eqid 2454 . 2  |-  ( 1r
`  A )  =  ( 1r `  A
)
5 cayleyhamilton.m . 2  |-  .*  =  ( .s `  A )
6 cayleyhamilton.e . 2  |-  .^  =  (.g
`  (mulGrp `  A )
)
7 cayleyhamilton.c . 2  |-  C  =  ( N CharPlyMat  R )
8 cayleyhamilton.k . 2  |-  K  =  (coe1 `  ( C `  M ) )
9 eqid 2454 . 2  |-  (Poly1 `  R
)  =  (Poly1 `  R
)
10 eqid 2454 . 2  |-  ( N Mat  (Poly1 `  R ) )  =  ( N Mat  (Poly1 `  R ) )
11 eqid 2454 . 2  |-  ( .r
`  ( N Mat  (Poly1 `  R ) ) )  =  ( .r `  ( N Mat  (Poly1 `  R
) ) )
12 eqid 2454 . 2  |-  ( -g `  ( N Mat  (Poly1 `  R
) ) )  =  ( -g `  ( N Mat  (Poly1 `  R ) ) )
13 eqid 2454 . 2  |-  ( 0g
`  ( N Mat  (Poly1 `  R ) ) )  =  ( 0g `  ( N Mat  (Poly1 `  R
) ) )
14 eqid 2454 . 2  |-  ( Base `  ( N Mat  (Poly1 `  R
) ) )  =  ( Base `  ( N Mat  (Poly1 `  R ) ) )
15 eqid 2454 . 2  |-  (.g `  (mulGrp `  ( N Mat  (Poly1 `  R
) ) ) )  =  (.g `  (mulGrp `  ( N Mat  (Poly1 `  R ) ) ) )
16 eqid 2454 . 2  |-  ( N matToPolyMat  R )  =  ( N matToPolyMat  R )
17 eqeq1 2458 . . . 4  |-  ( l  =  n  ->  (
l  =  0  <->  n  =  0 ) )
18 eqeq1 2458 . . . . 5  |-  ( l  =  n  ->  (
l  =  ( x  +  1 )  <->  n  =  ( x  +  1
) ) )
19 breq2 4443 . . . . . 6  |-  ( l  =  n  ->  (
( x  +  1 )  <  l  <->  ( x  +  1 )  < 
n ) )
20 oveq1 6277 . . . . . . . . 9  |-  ( l  =  n  ->  (
l  -  1 )  =  ( n  - 
1 ) )
2120fveq2d 5852 . . . . . . . 8  |-  ( l  =  n  ->  (
y `  ( l  -  1 ) )  =  ( y `  ( n  -  1
) ) )
2221fveq2d 5852 . . . . . . 7  |-  ( l  =  n  ->  (
( N matToPolyMat  R ) `  ( y `  (
l  -  1 ) ) )  =  ( ( N matToPolyMat  R ) `  ( y `  (
n  -  1 ) ) ) )
23 fveq2 5848 . . . . . . . . 9  |-  ( l  =  n  ->  (
y `  l )  =  ( y `  n ) )
2423fveq2d 5852 . . . . . . . 8  |-  ( l  =  n  ->  (
( N matToPolyMat  R ) `  ( y `  l
) )  =  ( ( N matToPolyMat  R ) `  ( y `  n
) ) )
2524oveq2d 6286 . . . . . . 7  |-  ( l  =  n  ->  (
( ( N matToPolyMat  R ) `
 M ) ( .r `  ( N Mat  (Poly1 `  R ) ) ) ( ( N matToPolyMat  R ) `  ( y `
 l ) ) )  =  ( ( ( N matToPolyMat  R ) `  M ) ( .r
`  ( N Mat  (Poly1 `  R ) ) ) ( ( N matToPolyMat  R ) `
 ( y `  n ) ) ) )
2622, 25oveq12d 6288 . . . . . 6  |-  ( l  =  n  ->  (
( ( N matToPolyMat  R ) `
 ( y `  ( l  -  1 ) ) ) (
-g `  ( N Mat  (Poly1 `  R ) ) ) ( ( ( N matToPolyMat  R ) `  M ) ( .r `  ( N Mat  (Poly1 `  R ) ) ) ( ( N matToPolyMat  R ) `  ( y `
 l ) ) ) )  =  ( ( ( N matToPolyMat  R ) `
 ( y `  ( n  -  1
) ) ) (
-g `  ( N Mat  (Poly1 `  R ) ) ) ( ( ( N matToPolyMat  R ) `  M ) ( .r `  ( N Mat  (Poly1 `  R ) ) ) ( ( N matToPolyMat  R ) `  ( y `
 n ) ) ) ) )
2719, 26ifbieq2d 3954 . . . . 5  |-  ( l  =  n  ->  if ( ( x  + 
1 )  <  l ,  ( 0g `  ( N Mat  (Poly1 `  R
) ) ) ,  ( ( ( N matToPolyMat  R ) `  ( y `
 ( l  - 
1 ) ) ) ( -g `  ( N Mat  (Poly1 `  R ) ) ) ( ( ( N matToPolyMat  R ) `  M
) ( .r `  ( N Mat  (Poly1 `  R
) ) ) ( ( N matToPolyMat  R ) `  ( y `  l
) ) ) ) )  =  if ( ( x  +  1 )  <  n ,  ( 0g `  ( N Mat  (Poly1 `  R ) ) ) ,  ( ( ( N matToPolyMat  R ) `  ( y `  (
n  -  1 ) ) ) ( -g `  ( N Mat  (Poly1 `  R
) ) ) ( ( ( N matToPolyMat  R ) `
 M ) ( .r `  ( N Mat  (Poly1 `  R ) ) ) ( ( N matToPolyMat  R ) `  ( y `
 n ) ) ) ) ) )
2818, 27ifbieq2d 3954 . . . 4  |-  ( l  =  n  ->  if ( l  =  ( x  +  1 ) ,  ( ( N matToPolyMat  R ) `  ( y `
 x ) ) ,  if ( ( x  +  1 )  <  l ,  ( 0g `  ( N Mat  (Poly1 `  R ) ) ) ,  ( ( ( N matToPolyMat  R ) `  ( y `  (
l  -  1 ) ) ) ( -g `  ( N Mat  (Poly1 `  R
) ) ) ( ( ( N matToPolyMat  R ) `
 M ) ( .r `  ( N Mat  (Poly1 `  R ) ) ) ( ( N matToPolyMat  R ) `  ( y `
 l ) ) ) ) ) )  =  if ( n  =  ( x  + 
1 ) ,  ( ( N matToPolyMat  R ) `  ( y `  x
) ) ,  if ( ( x  + 
1 )  <  n ,  ( 0g `  ( N Mat  (Poly1 `  R
) ) ) ,  ( ( ( N matToPolyMat  R ) `  ( y `
 ( n  - 
1 ) ) ) ( -g `  ( N Mat  (Poly1 `  R ) ) ) ( ( ( N matToPolyMat  R ) `  M
) ( .r `  ( N Mat  (Poly1 `  R
) ) ) ( ( N matToPolyMat  R ) `  ( y `  n
) ) ) ) ) ) )
2917, 28ifbieq2d 3954 . . 3  |-  ( l  =  n  ->  if ( l  =  0 ,  ( ( 0g
`  ( N Mat  (Poly1 `  R ) ) ) ( -g `  ( N Mat  (Poly1 `  R ) ) ) ( ( ( N matToPolyMat  R ) `  M
) ( .r `  ( N Mat  (Poly1 `  R
) ) ) ( ( N matToPolyMat  R ) `  ( y `  0
) ) ) ) ,  if ( l  =  ( x  + 
1 ) ,  ( ( N matToPolyMat  R ) `  ( y `  x
) ) ,  if ( ( x  + 
1 )  <  l ,  ( 0g `  ( N Mat  (Poly1 `  R
) ) ) ,  ( ( ( N matToPolyMat  R ) `  ( y `
 ( l  - 
1 ) ) ) ( -g `  ( N Mat  (Poly1 `  R ) ) ) ( ( ( N matToPolyMat  R ) `  M
) ( .r `  ( N Mat  (Poly1 `  R
) ) ) ( ( N matToPolyMat  R ) `  ( y `  l
) ) ) ) ) ) )  =  if ( n  =  0 ,  ( ( 0g `  ( N Mat  (Poly1 `  R ) ) ) ( -g `  ( N Mat  (Poly1 `  R ) ) ) ( ( ( N matToPolyMat  R ) `  M
) ( .r `  ( N Mat  (Poly1 `  R
) ) ) ( ( N matToPolyMat  R ) `  ( y `  0
) ) ) ) ,  if ( n  =  ( x  + 
1 ) ,  ( ( N matToPolyMat  R ) `  ( y `  x
) ) ,  if ( ( x  + 
1 )  <  n ,  ( 0g `  ( N Mat  (Poly1 `  R
) ) ) ,  ( ( ( N matToPolyMat  R ) `  ( y `
 ( n  - 
1 ) ) ) ( -g `  ( N Mat  (Poly1 `  R ) ) ) ( ( ( N matToPolyMat  R ) `  M
) ( .r `  ( N Mat  (Poly1 `  R
) ) ) ( ( N matToPolyMat  R ) `  ( y `  n
) ) ) ) ) ) ) )
3029cbvmptv 4530 . 2  |-  ( l  e.  NN0  |->  if ( l  =  0 ,  ( ( 0g `  ( N Mat  (Poly1 `  R
) ) ) (
-g `  ( N Mat  (Poly1 `  R ) ) ) ( ( ( N matToPolyMat  R ) `  M ) ( .r `  ( N Mat  (Poly1 `  R ) ) ) ( ( N matToPolyMat  R ) `  ( y `
 0 ) ) ) ) ,  if ( l  =  ( x  +  1 ) ,  ( ( N matToPolyMat  R ) `  ( y `
 x ) ) ,  if ( ( x  +  1 )  <  l ,  ( 0g `  ( N Mat  (Poly1 `  R ) ) ) ,  ( ( ( N matToPolyMat  R ) `  ( y `  (
l  -  1 ) ) ) ( -g `  ( N Mat  (Poly1 `  R
) ) ) ( ( ( N matToPolyMat  R ) `
 M ) ( .r `  ( N Mat  (Poly1 `  R ) ) ) ( ( N matToPolyMat  R ) `  ( y `
 l ) ) ) ) ) ) ) )  =  ( n  e.  NN0  |->  if ( n  =  0 ,  ( ( 0g `  ( N Mat  (Poly1 `  R
) ) ) (
-g `  ( N Mat  (Poly1 `  R ) ) ) ( ( ( N matToPolyMat  R ) `  M ) ( .r `  ( N Mat  (Poly1 `  R ) ) ) ( ( N matToPolyMat  R ) `  ( y `
 0 ) ) ) ) ,  if ( n  =  (
x  +  1 ) ,  ( ( N matToPolyMat  R ) `  ( y `
 x ) ) ,  if ( ( x  +  1 )  <  n ,  ( 0g `  ( N Mat  (Poly1 `  R ) ) ) ,  ( ( ( N matToPolyMat  R ) `  ( y `  (
n  -  1 ) ) ) ( -g `  ( N Mat  (Poly1 `  R
) ) ) ( ( ( N matToPolyMat  R ) `
 M ) ( .r `  ( N Mat  (Poly1 `  R ) ) ) ( ( N matToPolyMat  R ) `  ( y `
 n ) ) ) ) ) ) ) )
31 eqid 2454 . 2  |-  ( N cPolyMatToMat  R )  =  ( N cPolyMatToMat  R )
321, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 30, 31cayleyhamilton0 19557 1  |-  ( ( N  e.  Fin  /\  R  e.  CRing  /\  M  e.  B )  ->  ( A  gsumg  ( n  e.  NN0  |->  ( ( K `  n )  .*  (
n  .^  M )
) ) )  =  .0.  )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    /\ w3a 971    = wceq 1398    e. wcel 1823   ifcif 3929   class class class wbr 4439    |-> cmpt 4497   ` cfv 5570  (class class class)co 6270   Fincfn 7509   0cc0 9481   1c1 9482    + caddc 9484    < clt 9617    - cmin 9796   NN0cn0 10791   Basecbs 14716   .rcmulr 14785   .scvsca 14788   0gc0g 14929    gsumg cgsu 14930   -gcsg 16254  .gcmg 16255  mulGrpcmgp 17336   1rcur 17348   CRingccrg 17394  Poly1cpl1 18411  coe1cco1 18412   Mat cmat 19076   matToPolyMat cmat2pmat 19372   cPolyMatToMat ccpmat2mat 19373   CharPlyMat cchpmat 19494
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1623  ax-4 1636  ax-5 1709  ax-6 1752  ax-7 1795  ax-8 1825  ax-9 1827  ax-10 1842  ax-11 1847  ax-12 1859  ax-13 2004  ax-ext 2432  ax-rep 4550  ax-sep 4560  ax-nul 4568  ax-pow 4615  ax-pr 4676  ax-un 6565  ax-inf2 8049  ax-cnex 9537  ax-resscn 9538  ax-1cn 9539  ax-icn 9540  ax-addcl 9541  ax-addrcl 9542  ax-mulcl 9543  ax-mulrcl 9544  ax-mulcom 9545  ax-addass 9546  ax-mulass 9547  ax-distr 9548  ax-i2m1 9549  ax-1ne0 9550  ax-1rid 9551  ax-rnegex 9552  ax-rrecex 9553  ax-cnre 9554  ax-pre-lttri 9555  ax-pre-lttrn 9556  ax-pre-ltadd 9557  ax-pre-mulgt0 9558  ax-addf 9560  ax-mulf 9561
This theorem depends on definitions:  df-bi 185  df-or 368  df-an 369  df-3or 972  df-3an 973  df-xor 1363  df-tru 1401  df-fal 1404  df-ex 1618  df-nf 1622  df-sb 1745  df-eu 2288  df-mo 2289  df-clab 2440  df-cleq 2446  df-clel 2449  df-nfc 2604  df-ne 2651  df-nel 2652  df-ral 2809  df-rex 2810  df-reu 2811  df-rmo 2812  df-rab 2813  df-v 3108  df-sbc 3325  df-csb 3421  df-dif 3464  df-un 3466  df-in 3468  df-ss 3475  df-pss 3477  df-nul 3784  df-if 3930  df-pw 4001  df-sn 4017  df-pr 4019  df-tp 4021  df-op 4023  df-ot 4025  df-uni 4236  df-int 4272  df-iun 4317  df-iin 4318  df-br 4440  df-opab 4498  df-mpt 4499  df-tr 4533  df-eprel 4780  df-id 4784  df-po 4789  df-so 4790  df-fr 4827  df-se 4828  df-we 4829  df-ord 4870  df-on 4871  df-lim 4872  df-suc 4873  df-xp 4994  df-rel 4995  df-cnv 4996  df-co 4997  df-dm 4998  df-rn 4999  df-res 5000  df-ima 5001  df-iota 5534  df-fun 5572  df-fn 5573  df-f 5574  df-f1 5575  df-fo 5576  df-f1o 5577  df-fv 5578  df-isom 5579  df-riota 6232  df-ov 6273  df-oprab 6274  df-mpt2 6275  df-of 6513  df-ofr 6514  df-om 6674  df-1st 6773  df-2nd 6774  df-supp 6892  df-tpos 6947  df-cur 6988  df-recs 7034  df-rdg 7068  df-1o 7122  df-2o 7123  df-oadd 7126  df-er 7303  df-map 7414  df-pm 7415  df-ixp 7463  df-en 7510  df-dom 7511  df-sdom 7512  df-fin 7513  df-fsupp 7822  df-sup 7893  df-oi 7927  df-card 8311  df-cda 8539  df-pnf 9619  df-mnf 9620  df-xr 9621  df-ltxr 9622  df-le 9623  df-sub 9798  df-neg 9799  df-div 10203  df-nn 10532  df-2 10590  df-3 10591  df-4 10592  df-5 10593  df-6 10594  df-7 10595  df-8 10596  df-9 10597  df-10 10598  df-n0 10792  df-z 10861  df-dec 10977  df-uz 11083  df-rp 11222  df-fz 11676  df-fzo 11800  df-seq 12090  df-exp 12149  df-hash 12388  df-word 12526  df-lsw 12527  df-concat 12528  df-s1 12529  df-substr 12530  df-splice 12531  df-reverse 12532  df-s2 12804  df-struct 14718  df-ndx 14719  df-slot 14720  df-base 14721  df-sets 14722  df-ress 14723  df-plusg 14797  df-mulr 14798  df-starv 14799  df-sca 14800  df-vsca 14801  df-ip 14802  df-tset 14803  df-ple 14804  df-ds 14806  df-unif 14807  df-hom 14808  df-cco 14809  df-0g 14931  df-gsum 14932  df-prds 14937  df-pws 14939  df-mre 15075  df-mrc 15076  df-acs 15078  df-mgm 16071  df-sgrp 16110  df-mnd 16120  df-mhm 16165  df-submnd 16166  df-grp 16256  df-minusg 16257  df-sbg 16258  df-mulg 16259  df-subg 16397  df-ghm 16464  df-gim 16506  df-cntz 16554  df-oppg 16580  df-symg 16602  df-pmtr 16666  df-psgn 16715  df-evpm 16716  df-cmn 16999  df-abl 17000  df-mgp 17337  df-ur 17349  df-srg 17353  df-ring 17395  df-cring 17396  df-oppr 17467  df-dvdsr 17485  df-unit 17486  df-invr 17516  df-dvr 17527  df-rnghom 17559  df-drng 17593  df-subrg 17622  df-lmod 17709  df-lss 17774  df-sra 18013  df-rgmod 18014  df-assa 18156  df-ascl 18158  df-psr 18200  df-mvr 18201  df-mpl 18202  df-opsr 18204  df-psr1 18414  df-vr1 18415  df-ply1 18416  df-coe1 18417  df-cnfld 18616  df-zring 18684  df-zrh 18716  df-dsmm 18936  df-frlm 18951  df-mamu 19053  df-mat 19077  df-mdet 19254  df-madu 19303  df-cpmat 19374  df-mat2pmat 19375  df-cpmat2mat 19376  df-decpmat 19431  df-pm2mp 19461  df-chpmat 19495
This theorem is referenced by:  cayleyhamilton1  19560
  Copyright terms: Public domain W3C validator