Metamath Proof Explorer


Theorem selvascl

Description: The "variable selection" function evaluated at a scalar. (Contributed by Thierry Arnoux, 4-May-2026)

Ref Expression
Hypotheses selvascl.1 𝐵 = ( Base ‘ 𝑅 )
selvascl.2 𝑃 = ( 𝐼 mPoly 𝑅 )
selvascl.3 𝐴 = ( algSc ‘ 𝑃 )
selvascl.4 𝐶 = ( algSc ‘ 𝑇 )
selvascl.5 ( 𝜑𝐼𝑉 )
selvascl.6 ( 𝜑𝑋𝐵 )
selvascl.7 𝑈 = ( ( 𝐼𝐽 ) mPoly 𝑅 )
selvascl.8 𝑇 = ( 𝐽 mPoly 𝑈 )
selvascl.9 𝐷 = ( 𝐶 ∘ ( algSc ‘ 𝑈 ) )
selvascl.10 ( 𝜑𝑅 ∈ CRing )
selvascl.11 ( 𝜑𝐽𝐼 )
Assertion selvascl ( 𝜑 → ( ( ( 𝐼 selectVars 𝑅 ) ‘ 𝐽 ) ‘ ( 𝐴𝑋 ) ) = ( 𝐷𝑋 ) )

Proof

Step Hyp Ref Expression
1 selvascl.1 𝐵 = ( Base ‘ 𝑅 )
2 selvascl.2 𝑃 = ( 𝐼 mPoly 𝑅 )
3 selvascl.3 𝐴 = ( algSc ‘ 𝑃 )
4 selvascl.4 𝐶 = ( algSc ‘ 𝑇 )
5 selvascl.5 ( 𝜑𝐼𝑉 )
6 selvascl.6 ( 𝜑𝑋𝐵 )
7 selvascl.7 𝑈 = ( ( 𝐼𝐽 ) mPoly 𝑅 )
8 selvascl.8 𝑇 = ( 𝐽 mPoly 𝑈 )
9 selvascl.9 𝐷 = ( 𝐶 ∘ ( algSc ‘ 𝑈 ) )
10 selvascl.10 ( 𝜑𝑅 ∈ CRing )
11 selvascl.11 ( 𝜑𝐽𝐼 )
12 9 coeq1i ( 𝐷 ∘ ( 𝐴𝑋 ) ) = ( ( 𝐶 ∘ ( algSc ‘ 𝑈 ) ) ∘ ( 𝐴𝑋 ) )
13 coass ( ( 𝐶 ∘ ( algSc ‘ 𝑈 ) ) ∘ ( 𝐴𝑋 ) ) = ( 𝐶 ∘ ( ( algSc ‘ 𝑈 ) ∘ ( 𝐴𝑋 ) ) )
14 12 13 eqtri ( 𝐷 ∘ ( 𝐴𝑋 ) ) = ( 𝐶 ∘ ( ( algSc ‘ 𝑈 ) ∘ ( 𝐴𝑋 ) ) )
15 eqid ( 𝐼 mPoly 𝑈 ) = ( 𝐼 mPoly 𝑈 )
16 eqid ( algSc ‘ 𝑈 ) = ( algSc ‘ 𝑈 )
17 eqid ( algSc ‘ ( 𝐼 mPoly 𝑈 ) ) = ( algSc ‘ ( 𝐼 mPoly 𝑈 ) )
18 eqid { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } = { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin }
19 eqid { ∈ ( ℕ0m ( 𝐼𝐽 ) ) ∣ ( “ ℕ ) ∈ Fin } = { ∈ ( ℕ0m ( 𝐼𝐽 ) ) ∣ ( “ ℕ ) ∈ Fin }
20 difssd ( 𝜑 → ( 𝐼𝐽 ) ⊆ 𝐼 )
21 1 7 2 15 16 3 17 18 19 5 20 10 6 mplasclco ( 𝜑 → ( ( algSc ‘ 𝑈 ) ∘ ( 𝐴𝑋 ) ) = ( ( algSc ‘ ( 𝐼 mPoly 𝑈 ) ) ‘ ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ) )
22 21 coeq2d ( 𝜑 → ( 𝐶 ∘ ( ( algSc ‘ 𝑈 ) ∘ ( 𝐴𝑋 ) ) ) = ( 𝐶 ∘ ( ( algSc ‘ ( 𝐼 mPoly 𝑈 ) ) ‘ ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ) ) )
23 14 22 eqtrid ( 𝜑 → ( 𝐷 ∘ ( 𝐴𝑋 ) ) = ( 𝐶 ∘ ( ( algSc ‘ ( 𝐼 mPoly 𝑈 ) ) ‘ ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ) ) )
24 eqid ( Base ‘ 𝑈 ) = ( Base ‘ 𝑈 )
25 eqid ( 𝐼 mPoly 𝑇 ) = ( 𝐼 mPoly 𝑇 )
26 eqid ( algSc ‘ ( 𝐼 mPoly 𝑇 ) ) = ( algSc ‘ ( 𝐼 mPoly 𝑇 ) )
27 eqid { ∈ ( ℕ0m 𝐽 ) ∣ ( “ ℕ ) ∈ Fin } = { ∈ ( ℕ0m 𝐽 ) ∣ ( “ ℕ ) ∈ Fin }
28 5 difexd ( 𝜑 → ( 𝐼𝐽 ) ∈ V )
29 7 28 10 mplcrngd ( 𝜑𝑈 ∈ CRing )
30 eqid ( Scalar ‘ 𝑈 ) = ( Scalar ‘ 𝑈 )
31 10 crngringd ( 𝜑𝑅 ∈ Ring )
32 7 28 31 mplringd ( 𝜑𝑈 ∈ Ring )
33 7 28 31 mpllmodd ( 𝜑𝑈 ∈ LMod )
34 eqid ( Base ‘ ( Scalar ‘ 𝑈 ) ) = ( Base ‘ ( Scalar ‘ 𝑈 ) )
35 16 30 32 33 34 24 asclf ( 𝜑 → ( algSc ‘ 𝑈 ) : ( Base ‘ ( Scalar ‘ 𝑈 ) ) ⟶ ( Base ‘ 𝑈 ) )
36 7 28 31 mplsca ( 𝜑𝑅 = ( Scalar ‘ 𝑈 ) )
37 36 fveq2d ( 𝜑 → ( Base ‘ 𝑅 ) = ( Base ‘ ( Scalar ‘ 𝑈 ) ) )
38 1 37 eqtr2id ( 𝜑 → ( Base ‘ ( Scalar ‘ 𝑈 ) ) = 𝐵 )
39 6 38 eleqtrrd ( 𝜑𝑋 ∈ ( Base ‘ ( Scalar ‘ 𝑈 ) ) )
40 35 39 ffvelcdmd ( 𝜑 → ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ∈ ( Base ‘ 𝑈 ) )
41 24 8 15 25 4 17 26 18 27 5 11 29 40 mplasclco ( 𝜑 → ( 𝐶 ∘ ( ( algSc ‘ ( 𝐼 mPoly 𝑈 ) ) ‘ ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ) ) = ( ( algSc ‘ ( 𝐼 mPoly 𝑇 ) ) ‘ ( 𝐶 ‘ ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ) ) )
42 23 41 eqtrd ( 𝜑 → ( 𝐷 ∘ ( 𝐴𝑋 ) ) = ( ( algSc ‘ ( 𝐼 mPoly 𝑇 ) ) ‘ ( 𝐶 ‘ ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ) ) )
43 42 fveq2d ( 𝜑 → ( ( 𝐼 eval 𝑇 ) ‘ ( 𝐷 ∘ ( 𝐴𝑋 ) ) ) = ( ( 𝐼 eval 𝑇 ) ‘ ( ( algSc ‘ ( 𝐼 mPoly 𝑇 ) ) ‘ ( 𝐶 ‘ ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ) ) ) )
44 eqid ( 𝐼 eval 𝑇 ) = ( 𝐼 eval 𝑇 )
45 eqid ( Base ‘ 𝑇 ) = ( Base ‘ 𝑇 )
46 5 11 ssexd ( 𝜑𝐽 ∈ V )
47 8 46 29 mplcrngd ( 𝜑𝑇 ∈ CRing )
48 8 45 24 4 46 32 mplasclf ( 𝜑𝐶 : ( Base ‘ 𝑈 ) ⟶ ( Base ‘ 𝑇 ) )
49 48 40 ffvelcdmd ( 𝜑 → ( 𝐶 ‘ ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ) ∈ ( Base ‘ 𝑇 ) )
50 44 25 45 26 5 47 49 evlsca ( 𝜑 → ( ( 𝐼 eval 𝑇 ) ‘ ( ( algSc ‘ ( 𝐼 mPoly 𝑇 ) ) ‘ ( 𝐶 ‘ ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ) ) ) = ( ( ( Base ‘ 𝑇 ) ↑m 𝐼 ) × { ( 𝐶 ‘ ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ) } ) )
51 43 50 eqtrd ( 𝜑 → ( ( 𝐼 eval 𝑇 ) ‘ ( 𝐷 ∘ ( 𝐴𝑋 ) ) ) = ( ( ( Base ‘ 𝑇 ) ↑m 𝐼 ) × { ( 𝐶 ‘ ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ) } ) )
52 51 fveq1d ( 𝜑 → ( ( ( 𝐼 eval 𝑇 ) ‘ ( 𝐷 ∘ ( 𝐴𝑋 ) ) ) ‘ ( 𝑖𝐼 ↦ if ( 𝑖𝐽 , ( ( 𝐽 mVar 𝑈 ) ‘ 𝑖 ) , ( 𝐶 ‘ ( ( ( 𝐼𝐽 ) mVar 𝑅 ) ‘ 𝑖 ) ) ) ) ) = ( ( ( ( Base ‘ 𝑇 ) ↑m 𝐼 ) × { ( 𝐶 ‘ ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ) } ) ‘ ( 𝑖𝐼 ↦ if ( 𝑖𝐽 , ( ( 𝐽 mVar 𝑈 ) ‘ 𝑖 ) , ( 𝐶 ‘ ( ( ( 𝐼𝐽 ) mVar 𝑅 ) ‘ 𝑖 ) ) ) ) ) )
53 47 crngringd ( 𝜑𝑇 ∈ Ring )
54 45 subrgid ( 𝑇 ∈ Ring → ( Base ‘ 𝑇 ) ∈ ( SubRing ‘ 𝑇 ) )
55 53 54 syl ( 𝜑 → ( Base ‘ 𝑇 ) ∈ ( SubRing ‘ 𝑇 ) )
56 eqid ( 𝐽 mVar 𝑈 ) = ( 𝐽 mVar 𝑈 )
57 46 ad2antrr ( ( ( 𝜑𝑖𝐼 ) ∧ 𝑖𝐽 ) → 𝐽 ∈ V )
58 32 ad2antrr ( ( ( 𝜑𝑖𝐼 ) ∧ 𝑖𝐽 ) → 𝑈 ∈ Ring )
59 simpr ( ( ( 𝜑𝑖𝐼 ) ∧ 𝑖𝐽 ) → 𝑖𝐽 )
60 8 56 45 57 58 59 mvrcl ( ( ( 𝜑𝑖𝐼 ) ∧ 𝑖𝐽 ) → ( ( 𝐽 mVar 𝑈 ) ‘ 𝑖 ) ∈ ( Base ‘ 𝑇 ) )
61 48 ad2antrr ( ( ( 𝜑𝑖𝐼 ) ∧ ¬ 𝑖𝐽 ) → 𝐶 : ( Base ‘ 𝑈 ) ⟶ ( Base ‘ 𝑇 ) )
62 eqid ( ( 𝐼𝐽 ) mVar 𝑅 ) = ( ( 𝐼𝐽 ) mVar 𝑅 )
63 28 ad2antrr ( ( ( 𝜑𝑖𝐼 ) ∧ ¬ 𝑖𝐽 ) → ( 𝐼𝐽 ) ∈ V )
64 31 ad2antrr ( ( ( 𝜑𝑖𝐼 ) ∧ ¬ 𝑖𝐽 ) → 𝑅 ∈ Ring )
65 simplr ( ( ( 𝜑𝑖𝐼 ) ∧ ¬ 𝑖𝐽 ) → 𝑖𝐼 )
66 simpr ( ( ( 𝜑𝑖𝐼 ) ∧ ¬ 𝑖𝐽 ) → ¬ 𝑖𝐽 )
67 65 66 eldifd ( ( ( 𝜑𝑖𝐼 ) ∧ ¬ 𝑖𝐽 ) → 𝑖 ∈ ( 𝐼𝐽 ) )
68 7 62 24 63 64 67 mvrcl ( ( ( 𝜑𝑖𝐼 ) ∧ ¬ 𝑖𝐽 ) → ( ( ( 𝐼𝐽 ) mVar 𝑅 ) ‘ 𝑖 ) ∈ ( Base ‘ 𝑈 ) )
69 61 68 ffvelcdmd ( ( ( 𝜑𝑖𝐼 ) ∧ ¬ 𝑖𝐽 ) → ( 𝐶 ‘ ( ( ( 𝐼𝐽 ) mVar 𝑅 ) ‘ 𝑖 ) ) ∈ ( Base ‘ 𝑇 ) )
70 60 69 ifclda ( ( 𝜑𝑖𝐼 ) → if ( 𝑖𝐽 , ( ( 𝐽 mVar 𝑈 ) ‘ 𝑖 ) , ( 𝐶 ‘ ( ( ( 𝐼𝐽 ) mVar 𝑅 ) ‘ 𝑖 ) ) ) ∈ ( Base ‘ 𝑇 ) )
71 70 fmpttd ( 𝜑 → ( 𝑖𝐼 ↦ if ( 𝑖𝐽 , ( ( 𝐽 mVar 𝑈 ) ‘ 𝑖 ) , ( 𝐶 ‘ ( ( ( 𝐼𝐽 ) mVar 𝑅 ) ‘ 𝑖 ) ) ) ) : 𝐼 ⟶ ( Base ‘ 𝑇 ) )
72 55 5 71 elmapdd ( 𝜑 → ( 𝑖𝐼 ↦ if ( 𝑖𝐽 , ( ( 𝐽 mVar 𝑈 ) ‘ 𝑖 ) , ( 𝐶 ‘ ( ( ( 𝐼𝐽 ) mVar 𝑅 ) ‘ 𝑖 ) ) ) ) ∈ ( ( Base ‘ 𝑇 ) ↑m 𝐼 ) )
73 fvex ( 𝐶 ‘ ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ) ∈ V
74 73 fvconst2 ( ( 𝑖𝐼 ↦ if ( 𝑖𝐽 , ( ( 𝐽 mVar 𝑈 ) ‘ 𝑖 ) , ( 𝐶 ‘ ( ( ( 𝐼𝐽 ) mVar 𝑅 ) ‘ 𝑖 ) ) ) ) ∈ ( ( Base ‘ 𝑇 ) ↑m 𝐼 ) → ( ( ( ( Base ‘ 𝑇 ) ↑m 𝐼 ) × { ( 𝐶 ‘ ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ) } ) ‘ ( 𝑖𝐼 ↦ if ( 𝑖𝐽 , ( ( 𝐽 mVar 𝑈 ) ‘ 𝑖 ) , ( 𝐶 ‘ ( ( ( 𝐼𝐽 ) mVar 𝑅 ) ‘ 𝑖 ) ) ) ) ) = ( 𝐶 ‘ ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ) )
75 72 74 syl ( 𝜑 → ( ( ( ( Base ‘ 𝑇 ) ↑m 𝐼 ) × { ( 𝐶 ‘ ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ) } ) ‘ ( 𝑖𝐼 ↦ if ( 𝑖𝐽 , ( ( 𝐽 mVar 𝑈 ) ‘ 𝑖 ) , ( 𝐶 ‘ ( ( ( 𝐼𝐽 ) mVar 𝑅 ) ‘ 𝑖 ) ) ) ) ) = ( 𝐶 ‘ ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ) )
76 52 75 eqtrd ( 𝜑 → ( ( ( 𝐼 eval 𝑇 ) ‘ ( 𝐷 ∘ ( 𝐴𝑋 ) ) ) ‘ ( 𝑖𝐼 ↦ if ( 𝑖𝐽 , ( ( 𝐽 mVar 𝑈 ) ‘ 𝑖 ) , ( 𝐶 ‘ ( ( ( 𝐼𝐽 ) mVar 𝑅 ) ‘ 𝑖 ) ) ) ) ) = ( 𝐶 ‘ ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ) )
77 eqid ( Base ‘ 𝑃 ) = ( Base ‘ 𝑃 )
78 eqid ( Scalar ‘ 𝑃 ) = ( Scalar ‘ 𝑃 )
79 2 5 31 mplringd ( 𝜑𝑃 ∈ Ring )
80 2 5 31 mpllmodd ( 𝜑𝑃 ∈ LMod )
81 eqid ( Base ‘ ( Scalar ‘ 𝑃 ) ) = ( Base ‘ ( Scalar ‘ 𝑃 ) )
82 3 78 79 80 81 77 asclf ( 𝜑𝐴 : ( Base ‘ ( Scalar ‘ 𝑃 ) ) ⟶ ( Base ‘ 𝑃 ) )
83 2 5 31 mplsca ( 𝜑𝑅 = ( Scalar ‘ 𝑃 ) )
84 83 fveq2d ( 𝜑 → ( Base ‘ 𝑅 ) = ( Base ‘ ( Scalar ‘ 𝑃 ) ) )
85 1 84 eqtr2id ( 𝜑 → ( Base ‘ ( Scalar ‘ 𝑃 ) ) = 𝐵 )
86 6 85 eleqtrrd ( 𝜑𝑋 ∈ ( Base ‘ ( Scalar ‘ 𝑃 ) ) )
87 82 86 ffvelcdmd ( 𝜑 → ( 𝐴𝑋 ) ∈ ( Base ‘ 𝑃 ) )
88 2 77 7 8 4 9 10 11 87 selvval2 ( 𝜑 → ( ( ( 𝐼 selectVars 𝑅 ) ‘ 𝐽 ) ‘ ( 𝐴𝑋 ) ) = ( ( ( 𝐼 eval 𝑇 ) ‘ ( 𝐷 ∘ ( 𝐴𝑋 ) ) ) ‘ ( 𝑖𝐼 ↦ if ( 𝑖𝐽 , ( ( 𝐽 mVar 𝑈 ) ‘ 𝑖 ) , ( 𝐶 ‘ ( ( ( 𝐼𝐽 ) mVar 𝑅 ) ‘ 𝑖 ) ) ) ) ) )
89 35 ffund ( 𝜑 → Fun ( algSc ‘ 𝑈 ) )
90 35 fdmd ( 𝜑 → dom ( algSc ‘ 𝑈 ) = ( Base ‘ ( Scalar ‘ 𝑈 ) ) )
91 39 90 eleqtrrd ( 𝜑𝑋 ∈ dom ( algSc ‘ 𝑈 ) )
92 89 91 9 fvcod ( 𝜑 → ( 𝐷𝑋 ) = ( 𝐶 ‘ ( ( algSc ‘ 𝑈 ) ‘ 𝑋 ) ) )
93 76 88 92 3eqtr4d ( 𝜑 → ( ( ( 𝐼 selectVars 𝑅 ) ‘ 𝐽 ) ‘ ( 𝐴𝑋 ) ) = ( 𝐷𝑋 ) )