This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Polynomial evaluation builder for multiplication of polynomials. (Contributed by Mario Carneiro, 4-Jul-2015)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | evl1addd.q | ⊢ 𝑂 = ( eval1 ‘ 𝑅 ) | |
| evl1addd.p | ⊢ 𝑃 = ( Poly1 ‘ 𝑅 ) | ||
| evl1addd.b | ⊢ 𝐵 = ( Base ‘ 𝑅 ) | ||
| evl1addd.u | ⊢ 𝑈 = ( Base ‘ 𝑃 ) | ||
| evl1addd.1 | ⊢ ( 𝜑 → 𝑅 ∈ CRing ) | ||
| evl1addd.2 | ⊢ ( 𝜑 → 𝑌 ∈ 𝐵 ) | ||
| evl1addd.3 | ⊢ ( 𝜑 → ( 𝑀 ∈ 𝑈 ∧ ( ( 𝑂 ‘ 𝑀 ) ‘ 𝑌 ) = 𝑉 ) ) | ||
| evl1addd.4 | ⊢ ( 𝜑 → ( 𝑁 ∈ 𝑈 ∧ ( ( 𝑂 ‘ 𝑁 ) ‘ 𝑌 ) = 𝑊 ) ) | ||
| evl1muld.t | ⊢ ∙ = ( .r ‘ 𝑃 ) | ||
| evl1muld.s | ⊢ · = ( .r ‘ 𝑅 ) | ||
| Assertion | evl1muld | ⊢ ( 𝜑 → ( ( 𝑀 ∙ 𝑁 ) ∈ 𝑈 ∧ ( ( 𝑂 ‘ ( 𝑀 ∙ 𝑁 ) ) ‘ 𝑌 ) = ( 𝑉 · 𝑊 ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | evl1addd.q | ⊢ 𝑂 = ( eval1 ‘ 𝑅 ) | |
| 2 | evl1addd.p | ⊢ 𝑃 = ( Poly1 ‘ 𝑅 ) | |
| 3 | evl1addd.b | ⊢ 𝐵 = ( Base ‘ 𝑅 ) | |
| 4 | evl1addd.u | ⊢ 𝑈 = ( Base ‘ 𝑃 ) | |
| 5 | evl1addd.1 | ⊢ ( 𝜑 → 𝑅 ∈ CRing ) | |
| 6 | evl1addd.2 | ⊢ ( 𝜑 → 𝑌 ∈ 𝐵 ) | |
| 7 | evl1addd.3 | ⊢ ( 𝜑 → ( 𝑀 ∈ 𝑈 ∧ ( ( 𝑂 ‘ 𝑀 ) ‘ 𝑌 ) = 𝑉 ) ) | |
| 8 | evl1addd.4 | ⊢ ( 𝜑 → ( 𝑁 ∈ 𝑈 ∧ ( ( 𝑂 ‘ 𝑁 ) ‘ 𝑌 ) = 𝑊 ) ) | |
| 9 | evl1muld.t | ⊢ ∙ = ( .r ‘ 𝑃 ) | |
| 10 | evl1muld.s | ⊢ · = ( .r ‘ 𝑅 ) | |
| 11 | eqid | ⊢ ( 𝑅 ↑s 𝐵 ) = ( 𝑅 ↑s 𝐵 ) | |
| 12 | 1 2 11 3 | evl1rhm | ⊢ ( 𝑅 ∈ CRing → 𝑂 ∈ ( 𝑃 RingHom ( 𝑅 ↑s 𝐵 ) ) ) |
| 13 | 5 12 | syl | ⊢ ( 𝜑 → 𝑂 ∈ ( 𝑃 RingHom ( 𝑅 ↑s 𝐵 ) ) ) |
| 14 | rhmrcl1 | ⊢ ( 𝑂 ∈ ( 𝑃 RingHom ( 𝑅 ↑s 𝐵 ) ) → 𝑃 ∈ Ring ) | |
| 15 | 13 14 | syl | ⊢ ( 𝜑 → 𝑃 ∈ Ring ) |
| 16 | 7 | simpld | ⊢ ( 𝜑 → 𝑀 ∈ 𝑈 ) |
| 17 | 8 | simpld | ⊢ ( 𝜑 → 𝑁 ∈ 𝑈 ) |
| 18 | 4 9 | ringcl | ⊢ ( ( 𝑃 ∈ Ring ∧ 𝑀 ∈ 𝑈 ∧ 𝑁 ∈ 𝑈 ) → ( 𝑀 ∙ 𝑁 ) ∈ 𝑈 ) |
| 19 | 15 16 17 18 | syl3anc | ⊢ ( 𝜑 → ( 𝑀 ∙ 𝑁 ) ∈ 𝑈 ) |
| 20 | eqid | ⊢ ( .r ‘ ( 𝑅 ↑s 𝐵 ) ) = ( .r ‘ ( 𝑅 ↑s 𝐵 ) ) | |
| 21 | 4 9 20 | rhmmul | ⊢ ( ( 𝑂 ∈ ( 𝑃 RingHom ( 𝑅 ↑s 𝐵 ) ) ∧ 𝑀 ∈ 𝑈 ∧ 𝑁 ∈ 𝑈 ) → ( 𝑂 ‘ ( 𝑀 ∙ 𝑁 ) ) = ( ( 𝑂 ‘ 𝑀 ) ( .r ‘ ( 𝑅 ↑s 𝐵 ) ) ( 𝑂 ‘ 𝑁 ) ) ) |
| 22 | 13 16 17 21 | syl3anc | ⊢ ( 𝜑 → ( 𝑂 ‘ ( 𝑀 ∙ 𝑁 ) ) = ( ( 𝑂 ‘ 𝑀 ) ( .r ‘ ( 𝑅 ↑s 𝐵 ) ) ( 𝑂 ‘ 𝑁 ) ) ) |
| 23 | eqid | ⊢ ( Base ‘ ( 𝑅 ↑s 𝐵 ) ) = ( Base ‘ ( 𝑅 ↑s 𝐵 ) ) | |
| 24 | 3 | fvexi | ⊢ 𝐵 ∈ V |
| 25 | 24 | a1i | ⊢ ( 𝜑 → 𝐵 ∈ V ) |
| 26 | 4 23 | rhmf | ⊢ ( 𝑂 ∈ ( 𝑃 RingHom ( 𝑅 ↑s 𝐵 ) ) → 𝑂 : 𝑈 ⟶ ( Base ‘ ( 𝑅 ↑s 𝐵 ) ) ) |
| 27 | 13 26 | syl | ⊢ ( 𝜑 → 𝑂 : 𝑈 ⟶ ( Base ‘ ( 𝑅 ↑s 𝐵 ) ) ) |
| 28 | 27 16 | ffvelcdmd | ⊢ ( 𝜑 → ( 𝑂 ‘ 𝑀 ) ∈ ( Base ‘ ( 𝑅 ↑s 𝐵 ) ) ) |
| 29 | 27 17 | ffvelcdmd | ⊢ ( 𝜑 → ( 𝑂 ‘ 𝑁 ) ∈ ( Base ‘ ( 𝑅 ↑s 𝐵 ) ) ) |
| 30 | 11 23 5 25 28 29 10 20 | pwsmulrval | ⊢ ( 𝜑 → ( ( 𝑂 ‘ 𝑀 ) ( .r ‘ ( 𝑅 ↑s 𝐵 ) ) ( 𝑂 ‘ 𝑁 ) ) = ( ( 𝑂 ‘ 𝑀 ) ∘f · ( 𝑂 ‘ 𝑁 ) ) ) |
| 31 | 22 30 | eqtrd | ⊢ ( 𝜑 → ( 𝑂 ‘ ( 𝑀 ∙ 𝑁 ) ) = ( ( 𝑂 ‘ 𝑀 ) ∘f · ( 𝑂 ‘ 𝑁 ) ) ) |
| 32 | 31 | fveq1d | ⊢ ( 𝜑 → ( ( 𝑂 ‘ ( 𝑀 ∙ 𝑁 ) ) ‘ 𝑌 ) = ( ( ( 𝑂 ‘ 𝑀 ) ∘f · ( 𝑂 ‘ 𝑁 ) ) ‘ 𝑌 ) ) |
| 33 | 11 3 23 5 25 28 | pwselbas | ⊢ ( 𝜑 → ( 𝑂 ‘ 𝑀 ) : 𝐵 ⟶ 𝐵 ) |
| 34 | 33 | ffnd | ⊢ ( 𝜑 → ( 𝑂 ‘ 𝑀 ) Fn 𝐵 ) |
| 35 | 11 3 23 5 25 29 | pwselbas | ⊢ ( 𝜑 → ( 𝑂 ‘ 𝑁 ) : 𝐵 ⟶ 𝐵 ) |
| 36 | 35 | ffnd | ⊢ ( 𝜑 → ( 𝑂 ‘ 𝑁 ) Fn 𝐵 ) |
| 37 | fnfvof | ⊢ ( ( ( ( 𝑂 ‘ 𝑀 ) Fn 𝐵 ∧ ( 𝑂 ‘ 𝑁 ) Fn 𝐵 ) ∧ ( 𝐵 ∈ V ∧ 𝑌 ∈ 𝐵 ) ) → ( ( ( 𝑂 ‘ 𝑀 ) ∘f · ( 𝑂 ‘ 𝑁 ) ) ‘ 𝑌 ) = ( ( ( 𝑂 ‘ 𝑀 ) ‘ 𝑌 ) · ( ( 𝑂 ‘ 𝑁 ) ‘ 𝑌 ) ) ) | |
| 38 | 34 36 25 6 37 | syl22anc | ⊢ ( 𝜑 → ( ( ( 𝑂 ‘ 𝑀 ) ∘f · ( 𝑂 ‘ 𝑁 ) ) ‘ 𝑌 ) = ( ( ( 𝑂 ‘ 𝑀 ) ‘ 𝑌 ) · ( ( 𝑂 ‘ 𝑁 ) ‘ 𝑌 ) ) ) |
| 39 | 7 | simprd | ⊢ ( 𝜑 → ( ( 𝑂 ‘ 𝑀 ) ‘ 𝑌 ) = 𝑉 ) |
| 40 | 8 | simprd | ⊢ ( 𝜑 → ( ( 𝑂 ‘ 𝑁 ) ‘ 𝑌 ) = 𝑊 ) |
| 41 | 39 40 | oveq12d | ⊢ ( 𝜑 → ( ( ( 𝑂 ‘ 𝑀 ) ‘ 𝑌 ) · ( ( 𝑂 ‘ 𝑁 ) ‘ 𝑌 ) ) = ( 𝑉 · 𝑊 ) ) |
| 42 | 32 38 41 | 3eqtrd | ⊢ ( 𝜑 → ( ( 𝑂 ‘ ( 𝑀 ∙ 𝑁 ) ) ‘ 𝑌 ) = ( 𝑉 · 𝑊 ) ) |
| 43 | 19 42 | jca | ⊢ ( 𝜑 → ( ( 𝑀 ∙ 𝑁 ) ∈ 𝑈 ∧ ( ( 𝑂 ‘ ( 𝑀 ∙ 𝑁 ) ) ‘ 𝑌 ) = ( 𝑉 · 𝑊 ) ) ) |