This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
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 ‘ 𝑊 ) 〉 ) ) |
| 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 ‘ 𝑊 ) 〉 ) ) |