This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Value of the polynomial remainder function. (Contributed by Stefan O'Rear, 28-Mar-2015)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | r1pval.e | ⊢ 𝐸 = ( rem1p ‘ 𝑅 ) | |
| r1pval.p | ⊢ 𝑃 = ( Poly1 ‘ 𝑅 ) | ||
| r1pval.b | ⊢ 𝐵 = ( Base ‘ 𝑃 ) | ||
| r1pval.q | ⊢ 𝑄 = ( quot1p ‘ 𝑅 ) | ||
| r1pval.t | ⊢ · = ( .r ‘ 𝑃 ) | ||
| r1pval.m | ⊢ − = ( -g ‘ 𝑃 ) | ||
| Assertion | r1pval | ⊢ ( ( 𝐹 ∈ 𝐵 ∧ 𝐺 ∈ 𝐵 ) → ( 𝐹 𝐸 𝐺 ) = ( 𝐹 − ( ( 𝐹 𝑄 𝐺 ) · 𝐺 ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | r1pval.e | ⊢ 𝐸 = ( rem1p ‘ 𝑅 ) | |
| 2 | r1pval.p | ⊢ 𝑃 = ( Poly1 ‘ 𝑅 ) | |
| 3 | r1pval.b | ⊢ 𝐵 = ( Base ‘ 𝑃 ) | |
| 4 | r1pval.q | ⊢ 𝑄 = ( quot1p ‘ 𝑅 ) | |
| 5 | r1pval.t | ⊢ · = ( .r ‘ 𝑃 ) | |
| 6 | r1pval.m | ⊢ − = ( -g ‘ 𝑃 ) | |
| 7 | 2 3 | elbasfv | ⊢ ( 𝐹 ∈ 𝐵 → 𝑅 ∈ V ) |
| 8 | 7 | adantr | ⊢ ( ( 𝐹 ∈ 𝐵 ∧ 𝐺 ∈ 𝐵 ) → 𝑅 ∈ V ) |
| 9 | fveq2 | ⊢ ( 𝑟 = 𝑅 → ( Poly1 ‘ 𝑟 ) = ( Poly1 ‘ 𝑅 ) ) | |
| 10 | 9 2 | eqtr4di | ⊢ ( 𝑟 = 𝑅 → ( Poly1 ‘ 𝑟 ) = 𝑃 ) |
| 11 | 10 | fveq2d | ⊢ ( 𝑟 = 𝑅 → ( Base ‘ ( Poly1 ‘ 𝑟 ) ) = ( Base ‘ 𝑃 ) ) |
| 12 | 11 3 | eqtr4di | ⊢ ( 𝑟 = 𝑅 → ( Base ‘ ( Poly1 ‘ 𝑟 ) ) = 𝐵 ) |
| 13 | 12 | csbeq1d | ⊢ ( 𝑟 = 𝑅 → ⦋ ( Base ‘ ( Poly1 ‘ 𝑟 ) ) / 𝑏 ⦌ ( 𝑓 ∈ 𝑏 , 𝑔 ∈ 𝑏 ↦ ( 𝑓 ( -g ‘ ( Poly1 ‘ 𝑟 ) ) ( ( 𝑓 ( quot1p ‘ 𝑟 ) 𝑔 ) ( .r ‘ ( Poly1 ‘ 𝑟 ) ) 𝑔 ) ) ) = ⦋ 𝐵 / 𝑏 ⦌ ( 𝑓 ∈ 𝑏 , 𝑔 ∈ 𝑏 ↦ ( 𝑓 ( -g ‘ ( Poly1 ‘ 𝑟 ) ) ( ( 𝑓 ( quot1p ‘ 𝑟 ) 𝑔 ) ( .r ‘ ( Poly1 ‘ 𝑟 ) ) 𝑔 ) ) ) ) |
| 14 | 3 | fvexi | ⊢ 𝐵 ∈ V |
| 15 | 14 | a1i | ⊢ ( 𝑟 = 𝑅 → 𝐵 ∈ V ) |
| 16 | simpr | ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑏 = 𝐵 ) → 𝑏 = 𝐵 ) | |
| 17 | 10 | fveq2d | ⊢ ( 𝑟 = 𝑅 → ( -g ‘ ( Poly1 ‘ 𝑟 ) ) = ( -g ‘ 𝑃 ) ) |
| 18 | 17 6 | eqtr4di | ⊢ ( 𝑟 = 𝑅 → ( -g ‘ ( Poly1 ‘ 𝑟 ) ) = − ) |
| 19 | eqidd | ⊢ ( 𝑟 = 𝑅 → 𝑓 = 𝑓 ) | |
| 20 | 10 | fveq2d | ⊢ ( 𝑟 = 𝑅 → ( .r ‘ ( Poly1 ‘ 𝑟 ) ) = ( .r ‘ 𝑃 ) ) |
| 21 | 20 5 | eqtr4di | ⊢ ( 𝑟 = 𝑅 → ( .r ‘ ( Poly1 ‘ 𝑟 ) ) = · ) |
| 22 | fveq2 | ⊢ ( 𝑟 = 𝑅 → ( quot1p ‘ 𝑟 ) = ( quot1p ‘ 𝑅 ) ) | |
| 23 | 22 4 | eqtr4di | ⊢ ( 𝑟 = 𝑅 → ( quot1p ‘ 𝑟 ) = 𝑄 ) |
| 24 | 23 | oveqd | ⊢ ( 𝑟 = 𝑅 → ( 𝑓 ( quot1p ‘ 𝑟 ) 𝑔 ) = ( 𝑓 𝑄 𝑔 ) ) |
| 25 | eqidd | ⊢ ( 𝑟 = 𝑅 → 𝑔 = 𝑔 ) | |
| 26 | 21 24 25 | oveq123d | ⊢ ( 𝑟 = 𝑅 → ( ( 𝑓 ( quot1p ‘ 𝑟 ) 𝑔 ) ( .r ‘ ( Poly1 ‘ 𝑟 ) ) 𝑔 ) = ( ( 𝑓 𝑄 𝑔 ) · 𝑔 ) ) |
| 27 | 18 19 26 | oveq123d | ⊢ ( 𝑟 = 𝑅 → ( 𝑓 ( -g ‘ ( Poly1 ‘ 𝑟 ) ) ( ( 𝑓 ( quot1p ‘ 𝑟 ) 𝑔 ) ( .r ‘ ( Poly1 ‘ 𝑟 ) ) 𝑔 ) ) = ( 𝑓 − ( ( 𝑓 𝑄 𝑔 ) · 𝑔 ) ) ) |
| 28 | 27 | adantr | ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑏 = 𝐵 ) → ( 𝑓 ( -g ‘ ( Poly1 ‘ 𝑟 ) ) ( ( 𝑓 ( quot1p ‘ 𝑟 ) 𝑔 ) ( .r ‘ ( Poly1 ‘ 𝑟 ) ) 𝑔 ) ) = ( 𝑓 − ( ( 𝑓 𝑄 𝑔 ) · 𝑔 ) ) ) |
| 29 | 16 16 28 | mpoeq123dv | ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑏 = 𝐵 ) → ( 𝑓 ∈ 𝑏 , 𝑔 ∈ 𝑏 ↦ ( 𝑓 ( -g ‘ ( Poly1 ‘ 𝑟 ) ) ( ( 𝑓 ( quot1p ‘ 𝑟 ) 𝑔 ) ( .r ‘ ( Poly1 ‘ 𝑟 ) ) 𝑔 ) ) ) = ( 𝑓 ∈ 𝐵 , 𝑔 ∈ 𝐵 ↦ ( 𝑓 − ( ( 𝑓 𝑄 𝑔 ) · 𝑔 ) ) ) ) |
| 30 | 15 29 | csbied | ⊢ ( 𝑟 = 𝑅 → ⦋ 𝐵 / 𝑏 ⦌ ( 𝑓 ∈ 𝑏 , 𝑔 ∈ 𝑏 ↦ ( 𝑓 ( -g ‘ ( Poly1 ‘ 𝑟 ) ) ( ( 𝑓 ( quot1p ‘ 𝑟 ) 𝑔 ) ( .r ‘ ( Poly1 ‘ 𝑟 ) ) 𝑔 ) ) ) = ( 𝑓 ∈ 𝐵 , 𝑔 ∈ 𝐵 ↦ ( 𝑓 − ( ( 𝑓 𝑄 𝑔 ) · 𝑔 ) ) ) ) |
| 31 | 13 30 | eqtrd | ⊢ ( 𝑟 = 𝑅 → ⦋ ( Base ‘ ( Poly1 ‘ 𝑟 ) ) / 𝑏 ⦌ ( 𝑓 ∈ 𝑏 , 𝑔 ∈ 𝑏 ↦ ( 𝑓 ( -g ‘ ( Poly1 ‘ 𝑟 ) ) ( ( 𝑓 ( quot1p ‘ 𝑟 ) 𝑔 ) ( .r ‘ ( Poly1 ‘ 𝑟 ) ) 𝑔 ) ) ) = ( 𝑓 ∈ 𝐵 , 𝑔 ∈ 𝐵 ↦ ( 𝑓 − ( ( 𝑓 𝑄 𝑔 ) · 𝑔 ) ) ) ) |
| 32 | df-r1p | ⊢ rem1p = ( 𝑟 ∈ V ↦ ⦋ ( Base ‘ ( Poly1 ‘ 𝑟 ) ) / 𝑏 ⦌ ( 𝑓 ∈ 𝑏 , 𝑔 ∈ 𝑏 ↦ ( 𝑓 ( -g ‘ ( Poly1 ‘ 𝑟 ) ) ( ( 𝑓 ( quot1p ‘ 𝑟 ) 𝑔 ) ( .r ‘ ( Poly1 ‘ 𝑟 ) ) 𝑔 ) ) ) ) | |
| 33 | 14 14 | mpoex | ⊢ ( 𝑓 ∈ 𝐵 , 𝑔 ∈ 𝐵 ↦ ( 𝑓 − ( ( 𝑓 𝑄 𝑔 ) · 𝑔 ) ) ) ∈ V |
| 34 | 31 32 33 | fvmpt | ⊢ ( 𝑅 ∈ V → ( rem1p ‘ 𝑅 ) = ( 𝑓 ∈ 𝐵 , 𝑔 ∈ 𝐵 ↦ ( 𝑓 − ( ( 𝑓 𝑄 𝑔 ) · 𝑔 ) ) ) ) |
| 35 | 1 34 | eqtrid | ⊢ ( 𝑅 ∈ V → 𝐸 = ( 𝑓 ∈ 𝐵 , 𝑔 ∈ 𝐵 ↦ ( 𝑓 − ( ( 𝑓 𝑄 𝑔 ) · 𝑔 ) ) ) ) |
| 36 | 8 35 | syl | ⊢ ( ( 𝐹 ∈ 𝐵 ∧ 𝐺 ∈ 𝐵 ) → 𝐸 = ( 𝑓 ∈ 𝐵 , 𝑔 ∈ 𝐵 ↦ ( 𝑓 − ( ( 𝑓 𝑄 𝑔 ) · 𝑔 ) ) ) ) |
| 37 | simpl | ⊢ ( ( 𝑓 = 𝐹 ∧ 𝑔 = 𝐺 ) → 𝑓 = 𝐹 ) | |
| 38 | oveq12 | ⊢ ( ( 𝑓 = 𝐹 ∧ 𝑔 = 𝐺 ) → ( 𝑓 𝑄 𝑔 ) = ( 𝐹 𝑄 𝐺 ) ) | |
| 39 | simpr | ⊢ ( ( 𝑓 = 𝐹 ∧ 𝑔 = 𝐺 ) → 𝑔 = 𝐺 ) | |
| 40 | 38 39 | oveq12d | ⊢ ( ( 𝑓 = 𝐹 ∧ 𝑔 = 𝐺 ) → ( ( 𝑓 𝑄 𝑔 ) · 𝑔 ) = ( ( 𝐹 𝑄 𝐺 ) · 𝐺 ) ) |
| 41 | 37 40 | oveq12d | ⊢ ( ( 𝑓 = 𝐹 ∧ 𝑔 = 𝐺 ) → ( 𝑓 − ( ( 𝑓 𝑄 𝑔 ) · 𝑔 ) ) = ( 𝐹 − ( ( 𝐹 𝑄 𝐺 ) · 𝐺 ) ) ) |
| 42 | 41 | adantl | ⊢ ( ( ( 𝐹 ∈ 𝐵 ∧ 𝐺 ∈ 𝐵 ) ∧ ( 𝑓 = 𝐹 ∧ 𝑔 = 𝐺 ) ) → ( 𝑓 − ( ( 𝑓 𝑄 𝑔 ) · 𝑔 ) ) = ( 𝐹 − ( ( 𝐹 𝑄 𝐺 ) · 𝐺 ) ) ) |
| 43 | simpl | ⊢ ( ( 𝐹 ∈ 𝐵 ∧ 𝐺 ∈ 𝐵 ) → 𝐹 ∈ 𝐵 ) | |
| 44 | simpr | ⊢ ( ( 𝐹 ∈ 𝐵 ∧ 𝐺 ∈ 𝐵 ) → 𝐺 ∈ 𝐵 ) | |
| 45 | ovexd | ⊢ ( ( 𝐹 ∈ 𝐵 ∧ 𝐺 ∈ 𝐵 ) → ( 𝐹 − ( ( 𝐹 𝑄 𝐺 ) · 𝐺 ) ) ∈ V ) | |
| 46 | 36 42 43 44 45 | ovmpod | ⊢ ( ( 𝐹 ∈ 𝐵 ∧ 𝐺 ∈ 𝐵 ) → ( 𝐹 𝐸 𝐺 ) = ( 𝐹 − ( ( 𝐹 𝑄 𝐺 ) · 𝐺 ) ) ) |