Metamath Proof Explorer


Theorem mpfsubrg

Description: Polynomial functions are a subring. (Contributed by Mario Carneiro, 19-Mar-2015) (Revised by Mario Carneiro, 6-May-2015) (Revised by AV, 19-Sep-2021)

Ref Expression
Hypothesis mpfsubrg.q 𝑄 = ran ( ( 𝐼 evalSub 𝑆 ) ‘ 𝑅 )
Assertion mpfsubrg ( ( 𝐼𝑉𝑆 ∈ CRing ∧ 𝑅 ∈ ( SubRing ‘ 𝑆 ) ) → 𝑄 ∈ ( SubRing ‘ ( 𝑆s ( ( Base ‘ 𝑆 ) ↑m 𝐼 ) ) ) )

Proof

Step Hyp Ref Expression
1 mpfsubrg.q 𝑄 = ran ( ( 𝐼 evalSub 𝑆 ) ‘ 𝑅 )
2 eqid ( ( 𝐼 evalSub 𝑆 ) ‘ 𝑅 ) = ( ( 𝐼 evalSub 𝑆 ) ‘ 𝑅 )
3 eqid ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) = ( 𝐼 mPoly ( 𝑆s 𝑅 ) )
4 eqid ( 𝑆s 𝑅 ) = ( 𝑆s 𝑅 )
5 eqid ( 𝑆s ( ( Base ‘ 𝑆 ) ↑m 𝐼 ) ) = ( 𝑆s ( ( Base ‘ 𝑆 ) ↑m 𝐼 ) )
6 eqid ( Base ‘ 𝑆 ) = ( Base ‘ 𝑆 )
7 2 3 4 5 6 evlsrhm ( ( 𝐼𝑉𝑆 ∈ CRing ∧ 𝑅 ∈ ( SubRing ‘ 𝑆 ) ) → ( ( 𝐼 evalSub 𝑆 ) ‘ 𝑅 ) ∈ ( ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) RingHom ( 𝑆s ( ( Base ‘ 𝑆 ) ↑m 𝐼 ) ) ) )
8 eqid ( Base ‘ ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ) = ( Base ‘ ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) )
9 eqid ( Base ‘ ( 𝑆s ( ( Base ‘ 𝑆 ) ↑m 𝐼 ) ) ) = ( Base ‘ ( 𝑆s ( ( Base ‘ 𝑆 ) ↑m 𝐼 ) ) )
10 8 9 rhmf ( ( ( 𝐼 evalSub 𝑆 ) ‘ 𝑅 ) ∈ ( ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) RingHom ( 𝑆s ( ( Base ‘ 𝑆 ) ↑m 𝐼 ) ) ) → ( ( 𝐼 evalSub 𝑆 ) ‘ 𝑅 ) : ( Base ‘ ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ) ⟶ ( Base ‘ ( 𝑆s ( ( Base ‘ 𝑆 ) ↑m 𝐼 ) ) ) )
11 ffn ( ( ( 𝐼 evalSub 𝑆 ) ‘ 𝑅 ) : ( Base ‘ ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ) ⟶ ( Base ‘ ( 𝑆s ( ( Base ‘ 𝑆 ) ↑m 𝐼 ) ) ) → ( ( 𝐼 evalSub 𝑆 ) ‘ 𝑅 ) Fn ( Base ‘ ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ) )
12 fnima ( ( ( 𝐼 evalSub 𝑆 ) ‘ 𝑅 ) Fn ( Base ‘ ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ) → ( ( ( 𝐼 evalSub 𝑆 ) ‘ 𝑅 ) “ ( Base ‘ ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ) ) = ran ( ( 𝐼 evalSub 𝑆 ) ‘ 𝑅 ) )
13 7 10 11 12 4syl ( ( 𝐼𝑉𝑆 ∈ CRing ∧ 𝑅 ∈ ( SubRing ‘ 𝑆 ) ) → ( ( ( 𝐼 evalSub 𝑆 ) ‘ 𝑅 ) “ ( Base ‘ ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ) ) = ran ( ( 𝐼 evalSub 𝑆 ) ‘ 𝑅 ) )
14 1 13 eqtr4id ( ( 𝐼𝑉𝑆 ∈ CRing ∧ 𝑅 ∈ ( SubRing ‘ 𝑆 ) ) → 𝑄 = ( ( ( 𝐼 evalSub 𝑆 ) ‘ 𝑅 ) “ ( Base ‘ ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ) ) )
15 4 subrgring ( 𝑅 ∈ ( SubRing ‘ 𝑆 ) → ( 𝑆s 𝑅 ) ∈ Ring )
16 3 mplring ( ( 𝐼𝑉 ∧ ( 𝑆s 𝑅 ) ∈ Ring ) → ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ∈ Ring )
17 15 16 sylan2 ( ( 𝐼𝑉𝑅 ∈ ( SubRing ‘ 𝑆 ) ) → ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ∈ Ring )
18 17 3adant2 ( ( 𝐼𝑉𝑆 ∈ CRing ∧ 𝑅 ∈ ( SubRing ‘ 𝑆 ) ) → ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ∈ Ring )
19 8 subrgid ( ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ∈ Ring → ( Base ‘ ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ) ∈ ( SubRing ‘ ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ) )
20 18 19 syl ( ( 𝐼𝑉𝑆 ∈ CRing ∧ 𝑅 ∈ ( SubRing ‘ 𝑆 ) ) → ( Base ‘ ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ) ∈ ( SubRing ‘ ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ) )
21 rhmima ( ( ( ( 𝐼 evalSub 𝑆 ) ‘ 𝑅 ) ∈ ( ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) RingHom ( 𝑆s ( ( Base ‘ 𝑆 ) ↑m 𝐼 ) ) ) ∧ ( Base ‘ ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ) ∈ ( SubRing ‘ ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ) ) → ( ( ( 𝐼 evalSub 𝑆 ) ‘ 𝑅 ) “ ( Base ‘ ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ) ) ∈ ( SubRing ‘ ( 𝑆s ( ( Base ‘ 𝑆 ) ↑m 𝐼 ) ) ) )
22 7 20 21 syl2anc ( ( 𝐼𝑉𝑆 ∈ CRing ∧ 𝑅 ∈ ( SubRing ‘ 𝑆 ) ) → ( ( ( 𝐼 evalSub 𝑆 ) ‘ 𝑅 ) “ ( Base ‘ ( 𝐼 mPoly ( 𝑆s 𝑅 ) ) ) ) ∈ ( SubRing ‘ ( 𝑆s ( ( Base ‘ 𝑆 ) ↑m 𝐼 ) ) ) )
23 14 22 eqeltrd ( ( 𝐼𝑉𝑆 ∈ CRing ∧ 𝑅 ∈ ( SubRing ‘ 𝑆 ) ) → 𝑄 ∈ ( SubRing ‘ ( 𝑆s ( ( Base ‘ 𝑆 ) ↑m 𝐼 ) ) ) )