| Step | Hyp | Ref | Expression | 
						
							| 1 |  | cayhamlem1.a |  |-  A = ( N Mat R ) | 
						
							| 2 |  | cayhamlem1.b |  |-  B = ( Base ` A ) | 
						
							| 3 |  | cayhamlem1.p |  |-  P = ( Poly1 ` R ) | 
						
							| 4 |  | cayhamlem1.y |  |-  Y = ( N Mat P ) | 
						
							| 5 |  | cayhamlem1.r |  |-  .X. = ( .r ` Y ) | 
						
							| 6 |  | cayhamlem1.s |  |-  .- = ( -g ` Y ) | 
						
							| 7 |  | cayhamlem1.0 |  |-  .0. = ( 0g ` Y ) | 
						
							| 8 |  | cayhamlem1.t |  |-  T = ( N matToPolyMat R ) | 
						
							| 9 |  | cayhamlem1.g |  |-  G = ( n e. NN0 |-> if ( n = 0 , ( .0. .- ( ( T ` M ) .X. ( T ` ( b ` 0 ) ) ) ) , if ( n = ( s + 1 ) , ( T ` ( b ` s ) ) , if ( ( s + 1 ) < n , .0. , ( ( T ` ( b ` ( n - 1 ) ) ) .- ( ( T ` M ) .X. ( T ` ( b ` n ) ) ) ) ) ) ) ) | 
						
							| 10 |  | cayhamlem1.e |  |-  .^ = ( .g ` ( mulGrp ` Y ) ) | 
						
							| 11 | 7 | fvexi |  |-  .0. e. _V | 
						
							| 12 | 11 | a1i |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) -> .0. e. _V ) | 
						
							| 13 |  | ovexd |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ i e. NN0 ) -> ( ( i .^ ( T ` M ) ) .X. ( G ` i ) ) e. _V ) | 
						
							| 14 |  | nnnn0 |  |-  ( s e. NN -> s e. NN0 ) | 
						
							| 15 | 14 | ad2antrl |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) -> s e. NN0 ) | 
						
							| 16 |  | 1nn0 |  |-  1 e. NN0 | 
						
							| 17 | 16 | a1i |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) -> 1 e. NN0 ) | 
						
							| 18 | 15 17 | nn0addcld |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) -> ( s + 1 ) e. NN0 ) | 
						
							| 19 |  | vex |  |-  k e. _V | 
						
							| 20 |  | csbov12g |  |-  ( k e. _V -> [_ k / i ]_ ( ( i .^ ( T ` M ) ) .X. ( G ` i ) ) = ( [_ k / i ]_ ( i .^ ( T ` M ) ) .X. [_ k / i ]_ ( G ` i ) ) ) | 
						
							| 21 |  | nfcvd |  |-  ( k e. _V -> F/_ i ( k .^ ( T ` M ) ) ) | 
						
							| 22 |  | oveq1 |  |-  ( i = k -> ( i .^ ( T ` M ) ) = ( k .^ ( T ` M ) ) ) | 
						
							| 23 | 21 22 | csbiegf |  |-  ( k e. _V -> [_ k / i ]_ ( i .^ ( T ` M ) ) = ( k .^ ( T ` M ) ) ) | 
						
							| 24 |  | csbfv |  |-  [_ k / i ]_ ( G ` i ) = ( G ` k ) | 
						
							| 25 | 24 | a1i |  |-  ( k e. _V -> [_ k / i ]_ ( G ` i ) = ( G ` k ) ) | 
						
							| 26 | 23 25 | oveq12d |  |-  ( k e. _V -> ( [_ k / i ]_ ( i .^ ( T ` M ) ) .X. [_ k / i ]_ ( G ` i ) ) = ( ( k .^ ( T ` M ) ) .X. ( G ` k ) ) ) | 
						
							| 27 | 20 26 | eqtrd |  |-  ( k e. _V -> [_ k / i ]_ ( ( i .^ ( T ` M ) ) .X. ( G ` i ) ) = ( ( k .^ ( T ` M ) ) .X. ( G ` k ) ) ) | 
						
							| 28 | 19 27 | mp1i |  |-  ( ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ k e. NN0 ) /\ ( s + 1 ) < k ) -> [_ k / i ]_ ( ( i .^ ( T ` M ) ) .X. ( G ` i ) ) = ( ( k .^ ( T ` M ) ) .X. ( G ` k ) ) ) | 
						
							| 29 |  | simplll |  |-  ( ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ k e. NN0 ) /\ ( s + 1 ) < k ) -> ( N e. Fin /\ R e. CRing /\ M e. B ) ) | 
						
							| 30 |  | simpllr |  |-  ( ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ k e. NN0 ) /\ ( s + 1 ) < k ) -> ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) | 
						
							| 31 | 14 | adantr |  |-  ( ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) -> s e. NN0 ) | 
						
							| 32 | 31 | ad2antlr |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ k e. NN0 ) -> s e. NN0 ) | 
						
							| 33 | 32 | nn0zd |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ k e. NN0 ) -> s e. ZZ ) | 
						
							| 34 | 33 | adantr |  |-  ( ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ k e. NN0 ) /\ ( s + 1 ) < k ) -> s e. ZZ ) | 
						
							| 35 |  | 2z |  |-  2 e. ZZ | 
						
							| 36 | 35 | a1i |  |-  ( ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ k e. NN0 ) /\ ( s + 1 ) < k ) -> 2 e. ZZ ) | 
						
							| 37 | 34 36 | zaddcld |  |-  ( ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ k e. NN0 ) /\ ( s + 1 ) < k ) -> ( s + 2 ) e. ZZ ) | 
						
							| 38 |  | simplr |  |-  ( ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ k e. NN0 ) /\ ( s + 1 ) < k ) -> k e. NN0 ) | 
						
							| 39 | 38 | nn0zd |  |-  ( ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ k e. NN0 ) /\ ( s + 1 ) < k ) -> k e. ZZ ) | 
						
							| 40 |  | peano2nn0 |  |-  ( s e. NN0 -> ( s + 1 ) e. NN0 ) | 
						
							| 41 | 14 40 | syl |  |-  ( s e. NN -> ( s + 1 ) e. NN0 ) | 
						
							| 42 | 41 | ad2antrl |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) -> ( s + 1 ) e. NN0 ) | 
						
							| 43 | 42 | nn0zd |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) -> ( s + 1 ) e. ZZ ) | 
						
							| 44 |  | nn0z |  |-  ( k e. NN0 -> k e. ZZ ) | 
						
							| 45 |  | zltp1le |  |-  ( ( ( s + 1 ) e. ZZ /\ k e. ZZ ) -> ( ( s + 1 ) < k <-> ( ( s + 1 ) + 1 ) <_ k ) ) | 
						
							| 46 | 43 44 45 | syl2an |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ k e. NN0 ) -> ( ( s + 1 ) < k <-> ( ( s + 1 ) + 1 ) <_ k ) ) | 
						
							| 47 | 46 | biimpa |  |-  ( ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ k e. NN0 ) /\ ( s + 1 ) < k ) -> ( ( s + 1 ) + 1 ) <_ k ) | 
						
							| 48 |  | nncn |  |-  ( s e. NN -> s e. CC ) | 
						
							| 49 |  | add1p1 |  |-  ( s e. CC -> ( ( s + 1 ) + 1 ) = ( s + 2 ) ) | 
						
							| 50 | 48 49 | syl |  |-  ( s e. NN -> ( ( s + 1 ) + 1 ) = ( s + 2 ) ) | 
						
							| 51 | 50 | breq1d |  |-  ( s e. NN -> ( ( ( s + 1 ) + 1 ) <_ k <-> ( s + 2 ) <_ k ) ) | 
						
							| 52 | 51 | bicomd |  |-  ( s e. NN -> ( ( s + 2 ) <_ k <-> ( ( s + 1 ) + 1 ) <_ k ) ) | 
						
							| 53 | 52 | adantr |  |-  ( ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) -> ( ( s + 2 ) <_ k <-> ( ( s + 1 ) + 1 ) <_ k ) ) | 
						
							| 54 | 53 | ad2antlr |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ k e. NN0 ) -> ( ( s + 2 ) <_ k <-> ( ( s + 1 ) + 1 ) <_ k ) ) | 
						
							| 55 | 54 | adantr |  |-  ( ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ k e. NN0 ) /\ ( s + 1 ) < k ) -> ( ( s + 2 ) <_ k <-> ( ( s + 1 ) + 1 ) <_ k ) ) | 
						
							| 56 | 47 55 | mpbird |  |-  ( ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ k e. NN0 ) /\ ( s + 1 ) < k ) -> ( s + 2 ) <_ k ) | 
						
							| 57 |  | eluz2 |  |-  ( k e. ( ZZ>= ` ( s + 2 ) ) <-> ( ( s + 2 ) e. ZZ /\ k e. ZZ /\ ( s + 2 ) <_ k ) ) | 
						
							| 58 | 37 39 56 57 | syl3anbrc |  |-  ( ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ k e. NN0 ) /\ ( s + 1 ) < k ) -> k e. ( ZZ>= ` ( s + 2 ) ) ) | 
						
							| 59 | 1 2 3 4 5 6 7 8 9 10 | chfacfpmmul0 |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) /\ k e. ( ZZ>= ` ( s + 2 ) ) ) -> ( ( k .^ ( T ` M ) ) .X. ( G ` k ) ) = .0. ) | 
						
							| 60 | 29 30 58 59 | syl3anc |  |-  ( ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ k e. NN0 ) /\ ( s + 1 ) < k ) -> ( ( k .^ ( T ` M ) ) .X. ( G ` k ) ) = .0. ) | 
						
							| 61 | 28 60 | eqtrd |  |-  ( ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ k e. NN0 ) /\ ( s + 1 ) < k ) -> [_ k / i ]_ ( ( i .^ ( T ` M ) ) .X. ( G ` i ) ) = .0. ) | 
						
							| 62 | 61 | ex |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ k e. NN0 ) -> ( ( s + 1 ) < k -> [_ k / i ]_ ( ( i .^ ( T ` M ) ) .X. ( G ` i ) ) = .0. ) ) | 
						
							| 63 | 62 | ralrimiva |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) -> A. k e. NN0 ( ( s + 1 ) < k -> [_ k / i ]_ ( ( i .^ ( T ` M ) ) .X. ( G ` i ) ) = .0. ) ) | 
						
							| 64 |  | breq1 |  |-  ( x = ( s + 1 ) -> ( x < k <-> ( s + 1 ) < k ) ) | 
						
							| 65 | 64 | rspceaimv |  |-  ( ( ( s + 1 ) e. NN0 /\ A. k e. NN0 ( ( s + 1 ) < k -> [_ k / i ]_ ( ( i .^ ( T ` M ) ) .X. ( G ` i ) ) = .0. ) ) -> E. x e. NN0 A. k e. NN0 ( x < k -> [_ k / i ]_ ( ( i .^ ( T ` M ) ) .X. ( G ` i ) ) = .0. ) ) | 
						
							| 66 | 18 63 65 | syl2anc |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) -> E. x e. NN0 A. k e. NN0 ( x < k -> [_ k / i ]_ ( ( i .^ ( T ` M ) ) .X. ( G ` i ) ) = .0. ) ) | 
						
							| 67 | 12 13 66 | mptnn0fsupp |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) -> ( i e. NN0 |-> ( ( i .^ ( T ` M ) ) .X. ( G ` i ) ) ) finSupp .0. ) |