Metamath Proof Explorer


Theorem mptcoe1matfsupp

Description: The mapping extracting the entries of the coefficient matrices of a polynomial over matrices at a fixed position is finitely supported. (Contributed by AV, 6-Oct-2019) (Proof shortened by AV, 23-Dec-2019)

Ref Expression
Hypotheses mptcoe1matfsupp.a 𝐴 = ( 𝑁 Mat 𝑅 )
mptcoe1matfsupp.q 𝑄 = ( Poly1𝐴 )
mptcoe1matfsupp.l 𝐿 = ( Base ‘ 𝑄 )
Assertion mptcoe1matfsupp ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) → ( 𝑘 ∈ ℕ0 ↦ ( 𝐼 ( ( coe1𝑂 ) ‘ 𝑘 ) 𝐽 ) ) finSupp ( 0g𝑅 ) )

Proof

Step Hyp Ref Expression
1 mptcoe1matfsupp.a 𝐴 = ( 𝑁 Mat 𝑅 )
2 mptcoe1matfsupp.q 𝑄 = ( Poly1𝐴 )
3 mptcoe1matfsupp.l 𝐿 = ( Base ‘ 𝑄 )
4 fvexd ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) → ( 0g𝑅 ) ∈ V )
5 eqid ( Base ‘ 𝑅 ) = ( Base ‘ 𝑅 )
6 eqid ( Base ‘ 𝐴 ) = ( Base ‘ 𝐴 )
7 simp2 ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) → 𝐼𝑁 )
8 7 adantr ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) ∧ 𝑘 ∈ ℕ0 ) → 𝐼𝑁 )
9 simp3 ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) → 𝐽𝑁 )
10 9 adantr ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) ∧ 𝑘 ∈ ℕ0 ) → 𝐽𝑁 )
11 simp3 ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) → 𝑂𝐿 )
12 11 3ad2ant1 ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) → 𝑂𝐿 )
13 eqid ( coe1𝑂 ) = ( coe1𝑂 )
14 13 3 2 6 coe1fvalcl ( ( 𝑂𝐿𝑘 ∈ ℕ0 ) → ( ( coe1𝑂 ) ‘ 𝑘 ) ∈ ( Base ‘ 𝐴 ) )
15 12 14 sylan ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) ∧ 𝑘 ∈ ℕ0 ) → ( ( coe1𝑂 ) ‘ 𝑘 ) ∈ ( Base ‘ 𝐴 ) )
16 1 5 6 8 10 15 matecld ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) ∧ 𝑘 ∈ ℕ0 ) → ( 𝐼 ( ( coe1𝑂 ) ‘ 𝑘 ) 𝐽 ) ∈ ( Base ‘ 𝑅 ) )
17 eqid ( 0g𝐴 ) = ( 0g𝐴 )
18 13 3 2 17 6 coe1fsupp ( 𝑂𝐿 → ( coe1𝑂 ) ∈ { 𝑐 ∈ ( ( Base ‘ 𝐴 ) ↑m0 ) ∣ 𝑐 finSupp ( 0g𝐴 ) } )
19 elrabi ( ( coe1𝑂 ) ∈ { 𝑐 ∈ ( ( Base ‘ 𝐴 ) ↑m0 ) ∣ 𝑐 finSupp ( 0g𝐴 ) } → ( coe1𝑂 ) ∈ ( ( Base ‘ 𝐴 ) ↑m0 ) )
20 12 18 19 3syl ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) → ( coe1𝑂 ) ∈ ( ( Base ‘ 𝐴 ) ↑m0 ) )
21 fvex ( 0g𝐴 ) ∈ V
22 20 21 jctir ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) → ( ( coe1𝑂 ) ∈ ( ( Base ‘ 𝐴 ) ↑m0 ) ∧ ( 0g𝐴 ) ∈ V ) )
23 13 3 2 17 coe1sfi ( 𝑂𝐿 → ( coe1𝑂 ) finSupp ( 0g𝐴 ) )
24 12 23 syl ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) → ( coe1𝑂 ) finSupp ( 0g𝐴 ) )
25 fsuppmapnn0ub ( ( ( coe1𝑂 ) ∈ ( ( Base ‘ 𝐴 ) ↑m0 ) ∧ ( 0g𝐴 ) ∈ V ) → ( ( coe1𝑂 ) finSupp ( 0g𝐴 ) → ∃ 𝑠 ∈ ℕ0𝑥 ∈ ℕ0 ( 𝑠 < 𝑥 → ( ( coe1𝑂 ) ‘ 𝑥 ) = ( 0g𝐴 ) ) ) )
26 22 24 25 sylc ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) → ∃ 𝑠 ∈ ℕ0𝑥 ∈ ℕ0 ( 𝑠 < 𝑥 → ( ( coe1𝑂 ) ‘ 𝑥 ) = ( 0g𝐴 ) ) )
27 csbov 𝑥 / 𝑘 ( 𝐼 ( ( coe1𝑂 ) ‘ 𝑘 ) 𝐽 ) = ( 𝐼 𝑥 / 𝑘 ( ( coe1𝑂 ) ‘ 𝑘 ) 𝐽 )
28 csbfv 𝑥 / 𝑘 ( ( coe1𝑂 ) ‘ 𝑘 ) = ( ( coe1𝑂 ) ‘ 𝑥 )
29 28 oveqi ( 𝐼 𝑥 / 𝑘 ( ( coe1𝑂 ) ‘ 𝑘 ) 𝐽 ) = ( 𝐼 ( ( coe1𝑂 ) ‘ 𝑥 ) 𝐽 )
30 27 29 eqtri 𝑥 / 𝑘 ( 𝐼 ( ( coe1𝑂 ) ‘ 𝑘 ) 𝐽 ) = ( 𝐼 ( ( coe1𝑂 ) ‘ 𝑥 ) 𝐽 )
31 30 a1i ( ( ( ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) ∧ 𝑠 ∈ ℕ0 ) ∧ 𝑥 ∈ ℕ0 ) ∧ 𝑠 < 𝑥 ) ∧ ( ( coe1𝑂 ) ‘ 𝑥 ) = ( 0g𝐴 ) ) → 𝑥 / 𝑘 ( 𝐼 ( ( coe1𝑂 ) ‘ 𝑘 ) 𝐽 ) = ( 𝐼 ( ( coe1𝑂 ) ‘ 𝑥 ) 𝐽 ) )
32 oveq ( ( ( coe1𝑂 ) ‘ 𝑥 ) = ( 0g𝐴 ) → ( 𝐼 ( ( coe1𝑂 ) ‘ 𝑥 ) 𝐽 ) = ( 𝐼 ( 0g𝐴 ) 𝐽 ) )
33 32 adantl ( ( ( ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) ∧ 𝑠 ∈ ℕ0 ) ∧ 𝑥 ∈ ℕ0 ) ∧ 𝑠 < 𝑥 ) ∧ ( ( coe1𝑂 ) ‘ 𝑥 ) = ( 0g𝐴 ) ) → ( 𝐼 ( ( coe1𝑂 ) ‘ 𝑥 ) 𝐽 ) = ( 𝐼 ( 0g𝐴 ) 𝐽 ) )
34 eqid ( 0g𝑅 ) = ( 0g𝑅 )
35 1 34 mat0op ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ) → ( 0g𝐴 ) = ( 𝑖𝑁 , 𝑗𝑁 ↦ ( 0g𝑅 ) ) )
36 35 3adant3 ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) → ( 0g𝐴 ) = ( 𝑖𝑁 , 𝑗𝑁 ↦ ( 0g𝑅 ) ) )
37 36 3ad2ant1 ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) → ( 0g𝐴 ) = ( 𝑖𝑁 , 𝑗𝑁 ↦ ( 0g𝑅 ) ) )
38 eqidd ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) ∧ ( 𝑖 = 𝐼𝑗 = 𝐽 ) ) → ( 0g𝑅 ) = ( 0g𝑅 ) )
39 37 38 7 9 4 ovmpod ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) → ( 𝐼 ( 0g𝐴 ) 𝐽 ) = ( 0g𝑅 ) )
40 39 ad4antr ( ( ( ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) ∧ 𝑠 ∈ ℕ0 ) ∧ 𝑥 ∈ ℕ0 ) ∧ 𝑠 < 𝑥 ) ∧ ( ( coe1𝑂 ) ‘ 𝑥 ) = ( 0g𝐴 ) ) → ( 𝐼 ( 0g𝐴 ) 𝐽 ) = ( 0g𝑅 ) )
41 31 33 40 3eqtrd ( ( ( ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) ∧ 𝑠 ∈ ℕ0 ) ∧ 𝑥 ∈ ℕ0 ) ∧ 𝑠 < 𝑥 ) ∧ ( ( coe1𝑂 ) ‘ 𝑥 ) = ( 0g𝐴 ) ) → 𝑥 / 𝑘 ( 𝐼 ( ( coe1𝑂 ) ‘ 𝑘 ) 𝐽 ) = ( 0g𝑅 ) )
42 41 exp31 ( ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) ∧ 𝑠 ∈ ℕ0 ) ∧ 𝑥 ∈ ℕ0 ) → ( 𝑠 < 𝑥 → ( ( ( coe1𝑂 ) ‘ 𝑥 ) = ( 0g𝐴 ) → 𝑥 / 𝑘 ( 𝐼 ( ( coe1𝑂 ) ‘ 𝑘 ) 𝐽 ) = ( 0g𝑅 ) ) ) )
43 42 a2d ( ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) ∧ 𝑠 ∈ ℕ0 ) ∧ 𝑥 ∈ ℕ0 ) → ( ( 𝑠 < 𝑥 → ( ( coe1𝑂 ) ‘ 𝑥 ) = ( 0g𝐴 ) ) → ( 𝑠 < 𝑥 𝑥 / 𝑘 ( 𝐼 ( ( coe1𝑂 ) ‘ 𝑘 ) 𝐽 ) = ( 0g𝑅 ) ) ) )
44 43 ralimdva ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) ∧ 𝑠 ∈ ℕ0 ) → ( ∀ 𝑥 ∈ ℕ0 ( 𝑠 < 𝑥 → ( ( coe1𝑂 ) ‘ 𝑥 ) = ( 0g𝐴 ) ) → ∀ 𝑥 ∈ ℕ0 ( 𝑠 < 𝑥 𝑥 / 𝑘 ( 𝐼 ( ( coe1𝑂 ) ‘ 𝑘 ) 𝐽 ) = ( 0g𝑅 ) ) ) )
45 44 reximdva ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) → ( ∃ 𝑠 ∈ ℕ0𝑥 ∈ ℕ0 ( 𝑠 < 𝑥 → ( ( coe1𝑂 ) ‘ 𝑥 ) = ( 0g𝐴 ) ) → ∃ 𝑠 ∈ ℕ0𝑥 ∈ ℕ0 ( 𝑠 < 𝑥 𝑥 / 𝑘 ( 𝐼 ( ( coe1𝑂 ) ‘ 𝑘 ) 𝐽 ) = ( 0g𝑅 ) ) ) )
46 26 45 mpd ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) → ∃ 𝑠 ∈ ℕ0𝑥 ∈ ℕ0 ( 𝑠 < 𝑥 𝑥 / 𝑘 ( 𝐼 ( ( coe1𝑂 ) ‘ 𝑘 ) 𝐽 ) = ( 0g𝑅 ) ) )
47 4 16 46 mptnn0fsupp ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑂𝐿 ) ∧ 𝐼𝑁𝐽𝑁 ) → ( 𝑘 ∈ ℕ0 ↦ ( 𝐼 ( ( coe1𝑂 ) ‘ 𝑘 ) 𝐽 ) ) finSupp ( 0g𝑅 ) )