Metamath Proof Explorer


Theorem sraval

Description: Lemma for srabase through sravsca . (Contributed by Mario Carneiro, 27-Nov-2014) (Revised by Thierry Arnoux, 16-Jun-2019)

Ref Expression
Assertion sraval ( ( 𝑊𝑉𝑆 ⊆ ( Base ‘ 𝑊 ) ) → ( ( subringAlg ‘ 𝑊 ) ‘ 𝑆 ) = ( ( ( 𝑊 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑊s 𝑆 ) ⟩ ) sSet ⟨ ( ·𝑠 ‘ ndx ) , ( .r𝑊 ) ⟩ ) sSet ⟨ ( ·𝑖 ‘ ndx ) , ( .r𝑊 ) ⟩ ) )

Proof

Step Hyp Ref Expression
1 elex ( 𝑊𝑉𝑊 ∈ V )
2 1 adantr ( ( 𝑊𝑉𝑆 ⊆ ( Base ‘ 𝑊 ) ) → 𝑊 ∈ V )
3 fveq2 ( 𝑤 = 𝑊 → ( Base ‘ 𝑤 ) = ( Base ‘ 𝑊 ) )
4 3 pweqd ( 𝑤 = 𝑊 → 𝒫 ( Base ‘ 𝑤 ) = 𝒫 ( Base ‘ 𝑊 ) )
5 id ( 𝑤 = 𝑊𝑤 = 𝑊 )
6 oveq1 ( 𝑤 = 𝑊 → ( 𝑤s 𝑠 ) = ( 𝑊s 𝑠 ) )
7 6 opeq2d ( 𝑤 = 𝑊 → ⟨ ( Scalar ‘ ndx ) , ( 𝑤s 𝑠 ) ⟩ = ⟨ ( Scalar ‘ ndx ) , ( 𝑊s 𝑠 ) ⟩ )
8 5 7 oveq12d ( 𝑤 = 𝑊 → ( 𝑤 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑤s 𝑠 ) ⟩ ) = ( 𝑊 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑊s 𝑠 ) ⟩ ) )
9 fveq2 ( 𝑤 = 𝑊 → ( .r𝑤 ) = ( .r𝑊 ) )
10 9 opeq2d ( 𝑤 = 𝑊 → ⟨ ( ·𝑠 ‘ ndx ) , ( .r𝑤 ) ⟩ = ⟨ ( ·𝑠 ‘ ndx ) , ( .r𝑊 ) ⟩ )
11 8 10 oveq12d ( 𝑤 = 𝑊 → ( ( 𝑤 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑤s 𝑠 ) ⟩ ) sSet ⟨ ( ·𝑠 ‘ ndx ) , ( .r𝑤 ) ⟩ ) = ( ( 𝑊 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑊s 𝑠 ) ⟩ ) sSet ⟨ ( ·𝑠 ‘ ndx ) , ( .r𝑊 ) ⟩ ) )
12 9 opeq2d ( 𝑤 = 𝑊 → ⟨ ( ·𝑖 ‘ ndx ) , ( .r𝑤 ) ⟩ = ⟨ ( ·𝑖 ‘ ndx ) , ( .r𝑊 ) ⟩ )
13 11 12 oveq12d ( 𝑤 = 𝑊 → ( ( ( 𝑤 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑤s 𝑠 ) ⟩ ) sSet ⟨ ( ·𝑠 ‘ ndx ) , ( .r𝑤 ) ⟩ ) sSet ⟨ ( ·𝑖 ‘ ndx ) , ( .r𝑤 ) ⟩ ) = ( ( ( 𝑊 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑊s 𝑠 ) ⟩ ) sSet ⟨ ( ·𝑠 ‘ ndx ) , ( .r𝑊 ) ⟩ ) sSet ⟨ ( ·𝑖 ‘ ndx ) , ( .r𝑊 ) ⟩ ) )
14 4 13 mpteq12dv ( 𝑤 = 𝑊 → ( 𝑠 ∈ 𝒫 ( Base ‘ 𝑤 ) ↦ ( ( ( 𝑤 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑤s 𝑠 ) ⟩ ) sSet ⟨ ( ·𝑠 ‘ ndx ) , ( .r𝑤 ) ⟩ ) sSet ⟨ ( ·𝑖 ‘ ndx ) , ( .r𝑤 ) ⟩ ) ) = ( 𝑠 ∈ 𝒫 ( Base ‘ 𝑊 ) ↦ ( ( ( 𝑊 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑊s 𝑠 ) ⟩ ) sSet ⟨ ( ·𝑠 ‘ ndx ) , ( .r𝑊 ) ⟩ ) sSet ⟨ ( ·𝑖 ‘ ndx ) , ( .r𝑊 ) ⟩ ) ) )
15 df-sra subringAlg = ( 𝑤 ∈ V ↦ ( 𝑠 ∈ 𝒫 ( Base ‘ 𝑤 ) ↦ ( ( ( 𝑤 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑤s 𝑠 ) ⟩ ) sSet ⟨ ( ·𝑠 ‘ ndx ) , ( .r𝑤 ) ⟩ ) sSet ⟨ ( ·𝑖 ‘ ndx ) , ( .r𝑤 ) ⟩ ) ) )
16 fvex ( Base ‘ 𝑊 ) ∈ V
17 16 pwex 𝒫 ( Base ‘ 𝑊 ) ∈ V
18 17 mptex ( 𝑠 ∈ 𝒫 ( Base ‘ 𝑊 ) ↦ ( ( ( 𝑊 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑊s 𝑠 ) ⟩ ) sSet ⟨ ( ·𝑠 ‘ ndx ) , ( .r𝑊 ) ⟩ ) sSet ⟨ ( ·𝑖 ‘ ndx ) , ( .r𝑊 ) ⟩ ) ) ∈ V
19 14 15 18 fvmpt ( 𝑊 ∈ V → ( subringAlg ‘ 𝑊 ) = ( 𝑠 ∈ 𝒫 ( Base ‘ 𝑊 ) ↦ ( ( ( 𝑊 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑊s 𝑠 ) ⟩ ) sSet ⟨ ( ·𝑠 ‘ ndx ) , ( .r𝑊 ) ⟩ ) sSet ⟨ ( ·𝑖 ‘ ndx ) , ( .r𝑊 ) ⟩ ) ) )
20 2 19 syl ( ( 𝑊𝑉𝑆 ⊆ ( Base ‘ 𝑊 ) ) → ( subringAlg ‘ 𝑊 ) = ( 𝑠 ∈ 𝒫 ( Base ‘ 𝑊 ) ↦ ( ( ( 𝑊 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑊s 𝑠 ) ⟩ ) sSet ⟨ ( ·𝑠 ‘ ndx ) , ( .r𝑊 ) ⟩ ) sSet ⟨ ( ·𝑖 ‘ ndx ) , ( .r𝑊 ) ⟩ ) ) )
21 simpr ( ( ( 𝑊𝑉𝑆 ⊆ ( Base ‘ 𝑊 ) ) ∧ 𝑠 = 𝑆 ) → 𝑠 = 𝑆 )
22 21 oveq2d ( ( ( 𝑊𝑉𝑆 ⊆ ( Base ‘ 𝑊 ) ) ∧ 𝑠 = 𝑆 ) → ( 𝑊s 𝑠 ) = ( 𝑊s 𝑆 ) )
23 22 opeq2d ( ( ( 𝑊𝑉𝑆 ⊆ ( Base ‘ 𝑊 ) ) ∧ 𝑠 = 𝑆 ) → ⟨ ( Scalar ‘ ndx ) , ( 𝑊s 𝑠 ) ⟩ = ⟨ ( Scalar ‘ ndx ) , ( 𝑊s 𝑆 ) ⟩ )
24 23 oveq2d ( ( ( 𝑊𝑉𝑆 ⊆ ( Base ‘ 𝑊 ) ) ∧ 𝑠 = 𝑆 ) → ( 𝑊 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑊s 𝑠 ) ⟩ ) = ( 𝑊 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑊s 𝑆 ) ⟩ ) )
25 24 oveq1d ( ( ( 𝑊𝑉𝑆 ⊆ ( Base ‘ 𝑊 ) ) ∧ 𝑠 = 𝑆 ) → ( ( 𝑊 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑊s 𝑠 ) ⟩ ) sSet ⟨ ( ·𝑠 ‘ ndx ) , ( .r𝑊 ) ⟩ ) = ( ( 𝑊 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑊s 𝑆 ) ⟩ ) sSet ⟨ ( ·𝑠 ‘ ndx ) , ( .r𝑊 ) ⟩ ) )
26 25 oveq1d ( ( ( 𝑊𝑉𝑆 ⊆ ( Base ‘ 𝑊 ) ) ∧ 𝑠 = 𝑆 ) → ( ( ( 𝑊 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑊s 𝑠 ) ⟩ ) sSet ⟨ ( ·𝑠 ‘ ndx ) , ( .r𝑊 ) ⟩ ) sSet ⟨ ( ·𝑖 ‘ ndx ) , ( .r𝑊 ) ⟩ ) = ( ( ( 𝑊 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑊s 𝑆 ) ⟩ ) sSet ⟨ ( ·𝑠 ‘ ndx ) , ( .r𝑊 ) ⟩ ) sSet ⟨ ( ·𝑖 ‘ ndx ) , ( .r𝑊 ) ⟩ ) )
27 simpr ( ( 𝑊𝑉𝑆 ⊆ ( Base ‘ 𝑊 ) ) → 𝑆 ⊆ ( Base ‘ 𝑊 ) )
28 16 elpw2 ( 𝑆 ∈ 𝒫 ( Base ‘ 𝑊 ) ↔ 𝑆 ⊆ ( Base ‘ 𝑊 ) )
29 27 28 sylibr ( ( 𝑊𝑉𝑆 ⊆ ( Base ‘ 𝑊 ) ) → 𝑆 ∈ 𝒫 ( Base ‘ 𝑊 ) )
30 ovexd ( ( 𝑊𝑉𝑆 ⊆ ( Base ‘ 𝑊 ) ) → ( ( ( 𝑊 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑊s 𝑆 ) ⟩ ) sSet ⟨ ( ·𝑠 ‘ ndx ) , ( .r𝑊 ) ⟩ ) sSet ⟨ ( ·𝑖 ‘ ndx ) , ( .r𝑊 ) ⟩ ) ∈ V )
31 20 26 29 30 fvmptd ( ( 𝑊𝑉𝑆 ⊆ ( Base ‘ 𝑊 ) ) → ( ( subringAlg ‘ 𝑊 ) ‘ 𝑆 ) = ( ( ( 𝑊 sSet ⟨ ( Scalar ‘ ndx ) , ( 𝑊s 𝑆 ) ⟩ ) sSet ⟨ ( ·𝑠 ‘ ndx ) , ( .r𝑊 ) ⟩ ) sSet ⟨ ( ·𝑖 ‘ ndx ) , ( .r𝑊 ) ⟩ ) )