Metamath Proof Explorer


Theorem q1pval

Description: Value of the univariate polynomial quotient function. (Contributed by Stefan O'Rear, 28-Mar-2015)

Ref Expression
Hypotheses q1pval.q 𝑄 = ( quot1p𝑅 )
q1pval.p 𝑃 = ( Poly1𝑅 )
q1pval.b 𝐵 = ( Base ‘ 𝑃 )
q1pval.d 𝐷 = ( deg1𝑅 )
q1pval.m = ( -g𝑃 )
q1pval.t · = ( .r𝑃 )
Assertion q1pval ( ( 𝐹𝐵𝐺𝐵 ) → ( 𝐹 𝑄 𝐺 ) = ( 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) )

Proof

Step Hyp Ref Expression
1 q1pval.q 𝑄 = ( quot1p𝑅 )
2 q1pval.p 𝑃 = ( Poly1𝑅 )
3 q1pval.b 𝐵 = ( Base ‘ 𝑃 )
4 q1pval.d 𝐷 = ( deg1𝑅 )
5 q1pval.m = ( -g𝑃 )
6 q1pval.t · = ( .r𝑃 )
7 2 3 elbasfv ( 𝐺𝐵𝑅 ∈ V )
8 fveq2 ( 𝑟 = 𝑅 → ( Poly1𝑟 ) = ( Poly1𝑅 ) )
9 8 2 eqtr4di ( 𝑟 = 𝑅 → ( Poly1𝑟 ) = 𝑃 )
10 9 csbeq1d ( 𝑟 = 𝑅 ( Poly1𝑟 ) / 𝑝 ( Base ‘ 𝑝 ) / 𝑏 ( 𝑓𝑏 , 𝑔𝑏 ↦ ( 𝑞𝑏 ( ( deg1𝑟 ) ‘ ( 𝑓 ( -g𝑝 ) ( 𝑞 ( .r𝑝 ) 𝑔 ) ) ) < ( ( deg1𝑟 ) ‘ 𝑔 ) ) ) = 𝑃 / 𝑝 ( Base ‘ 𝑝 ) / 𝑏 ( 𝑓𝑏 , 𝑔𝑏 ↦ ( 𝑞𝑏 ( ( deg1𝑟 ) ‘ ( 𝑓 ( -g𝑝 ) ( 𝑞 ( .r𝑝 ) 𝑔 ) ) ) < ( ( deg1𝑟 ) ‘ 𝑔 ) ) ) )
11 2 fvexi 𝑃 ∈ V
12 11 a1i ( 𝑟 = 𝑅𝑃 ∈ V )
13 fveq2 ( 𝑝 = 𝑃 → ( Base ‘ 𝑝 ) = ( Base ‘ 𝑃 ) )
14 13 adantl ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) → ( Base ‘ 𝑝 ) = ( Base ‘ 𝑃 ) )
15 14 3 eqtr4di ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) → ( Base ‘ 𝑝 ) = 𝐵 )
16 15 csbeq1d ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) → ( Base ‘ 𝑝 ) / 𝑏 ( 𝑓𝑏 , 𝑔𝑏 ↦ ( 𝑞𝑏 ( ( deg1𝑟 ) ‘ ( 𝑓 ( -g𝑝 ) ( 𝑞 ( .r𝑝 ) 𝑔 ) ) ) < ( ( deg1𝑟 ) ‘ 𝑔 ) ) ) = 𝐵 / 𝑏 ( 𝑓𝑏 , 𝑔𝑏 ↦ ( 𝑞𝑏 ( ( deg1𝑟 ) ‘ ( 𝑓 ( -g𝑝 ) ( 𝑞 ( .r𝑝 ) 𝑔 ) ) ) < ( ( deg1𝑟 ) ‘ 𝑔 ) ) ) )
17 3 fvexi 𝐵 ∈ V
18 17 a1i ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) → 𝐵 ∈ V )
19 simpr ( ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) ∧ 𝑏 = 𝐵 ) → 𝑏 = 𝐵 )
20 fveq2 ( 𝑟 = 𝑅 → ( deg1𝑟 ) = ( deg1𝑅 ) )
21 20 ad2antrr ( ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) ∧ 𝑏 = 𝐵 ) → ( deg1𝑟 ) = ( deg1𝑅 ) )
22 21 4 eqtr4di ( ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) ∧ 𝑏 = 𝐵 ) → ( deg1𝑟 ) = 𝐷 )
23 fveq2 ( 𝑝 = 𝑃 → ( -g𝑝 ) = ( -g𝑃 ) )
24 23 ad2antlr ( ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) ∧ 𝑏 = 𝐵 ) → ( -g𝑝 ) = ( -g𝑃 ) )
25 24 5 eqtr4di ( ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) ∧ 𝑏 = 𝐵 ) → ( -g𝑝 ) = )
26 eqidd ( ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) ∧ 𝑏 = 𝐵 ) → 𝑓 = 𝑓 )
27 fveq2 ( 𝑝 = 𝑃 → ( .r𝑝 ) = ( .r𝑃 ) )
28 27 ad2antlr ( ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) ∧ 𝑏 = 𝐵 ) → ( .r𝑝 ) = ( .r𝑃 ) )
29 28 6 eqtr4di ( ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) ∧ 𝑏 = 𝐵 ) → ( .r𝑝 ) = · )
30 29 oveqd ( ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) ∧ 𝑏 = 𝐵 ) → ( 𝑞 ( .r𝑝 ) 𝑔 ) = ( 𝑞 · 𝑔 ) )
31 25 26 30 oveq123d ( ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) ∧ 𝑏 = 𝐵 ) → ( 𝑓 ( -g𝑝 ) ( 𝑞 ( .r𝑝 ) 𝑔 ) ) = ( 𝑓 ( 𝑞 · 𝑔 ) ) )
32 22 31 fveq12d ( ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) ∧ 𝑏 = 𝐵 ) → ( ( deg1𝑟 ) ‘ ( 𝑓 ( -g𝑝 ) ( 𝑞 ( .r𝑝 ) 𝑔 ) ) ) = ( 𝐷 ‘ ( 𝑓 ( 𝑞 · 𝑔 ) ) ) )
33 22 fveq1d ( ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) ∧ 𝑏 = 𝐵 ) → ( ( deg1𝑟 ) ‘ 𝑔 ) = ( 𝐷𝑔 ) )
34 32 33 breq12d ( ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) ∧ 𝑏 = 𝐵 ) → ( ( ( deg1𝑟 ) ‘ ( 𝑓 ( -g𝑝 ) ( 𝑞 ( .r𝑝 ) 𝑔 ) ) ) < ( ( deg1𝑟 ) ‘ 𝑔 ) ↔ ( 𝐷 ‘ ( 𝑓 ( 𝑞 · 𝑔 ) ) ) < ( 𝐷𝑔 ) ) )
35 19 34 riotaeqbidv ( ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) ∧ 𝑏 = 𝐵 ) → ( 𝑞𝑏 ( ( deg1𝑟 ) ‘ ( 𝑓 ( -g𝑝 ) ( 𝑞 ( .r𝑝 ) 𝑔 ) ) ) < ( ( deg1𝑟 ) ‘ 𝑔 ) ) = ( 𝑞𝐵 ( 𝐷 ‘ ( 𝑓 ( 𝑞 · 𝑔 ) ) ) < ( 𝐷𝑔 ) ) )
36 19 19 35 mpoeq123dv ( ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) ∧ 𝑏 = 𝐵 ) → ( 𝑓𝑏 , 𝑔𝑏 ↦ ( 𝑞𝑏 ( ( deg1𝑟 ) ‘ ( 𝑓 ( -g𝑝 ) ( 𝑞 ( .r𝑝 ) 𝑔 ) ) ) < ( ( deg1𝑟 ) ‘ 𝑔 ) ) ) = ( 𝑓𝐵 , 𝑔𝐵 ↦ ( 𝑞𝐵 ( 𝐷 ‘ ( 𝑓 ( 𝑞 · 𝑔 ) ) ) < ( 𝐷𝑔 ) ) ) )
37 18 36 csbied ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) → 𝐵 / 𝑏 ( 𝑓𝑏 , 𝑔𝑏 ↦ ( 𝑞𝑏 ( ( deg1𝑟 ) ‘ ( 𝑓 ( -g𝑝 ) ( 𝑞 ( .r𝑝 ) 𝑔 ) ) ) < ( ( deg1𝑟 ) ‘ 𝑔 ) ) ) = ( 𝑓𝐵 , 𝑔𝐵 ↦ ( 𝑞𝐵 ( 𝐷 ‘ ( 𝑓 ( 𝑞 · 𝑔 ) ) ) < ( 𝐷𝑔 ) ) ) )
38 16 37 eqtrd ( ( 𝑟 = 𝑅𝑝 = 𝑃 ) → ( Base ‘ 𝑝 ) / 𝑏 ( 𝑓𝑏 , 𝑔𝑏 ↦ ( 𝑞𝑏 ( ( deg1𝑟 ) ‘ ( 𝑓 ( -g𝑝 ) ( 𝑞 ( .r𝑝 ) 𝑔 ) ) ) < ( ( deg1𝑟 ) ‘ 𝑔 ) ) ) = ( 𝑓𝐵 , 𝑔𝐵 ↦ ( 𝑞𝐵 ( 𝐷 ‘ ( 𝑓 ( 𝑞 · 𝑔 ) ) ) < ( 𝐷𝑔 ) ) ) )
39 12 38 csbied ( 𝑟 = 𝑅 𝑃 / 𝑝 ( Base ‘ 𝑝 ) / 𝑏 ( 𝑓𝑏 , 𝑔𝑏 ↦ ( 𝑞𝑏 ( ( deg1𝑟 ) ‘ ( 𝑓 ( -g𝑝 ) ( 𝑞 ( .r𝑝 ) 𝑔 ) ) ) < ( ( deg1𝑟 ) ‘ 𝑔 ) ) ) = ( 𝑓𝐵 , 𝑔𝐵 ↦ ( 𝑞𝐵 ( 𝐷 ‘ ( 𝑓 ( 𝑞 · 𝑔 ) ) ) < ( 𝐷𝑔 ) ) ) )
40 10 39 eqtrd ( 𝑟 = 𝑅 ( Poly1𝑟 ) / 𝑝 ( Base ‘ 𝑝 ) / 𝑏 ( 𝑓𝑏 , 𝑔𝑏 ↦ ( 𝑞𝑏 ( ( deg1𝑟 ) ‘ ( 𝑓 ( -g𝑝 ) ( 𝑞 ( .r𝑝 ) 𝑔 ) ) ) < ( ( deg1𝑟 ) ‘ 𝑔 ) ) ) = ( 𝑓𝐵 , 𝑔𝐵 ↦ ( 𝑞𝐵 ( 𝐷 ‘ ( 𝑓 ( 𝑞 · 𝑔 ) ) ) < ( 𝐷𝑔 ) ) ) )
41 df-q1p quot1p = ( 𝑟 ∈ V ↦ ( Poly1𝑟 ) / 𝑝 ( Base ‘ 𝑝 ) / 𝑏 ( 𝑓𝑏 , 𝑔𝑏 ↦ ( 𝑞𝑏 ( ( deg1𝑟 ) ‘ ( 𝑓 ( -g𝑝 ) ( 𝑞 ( .r𝑝 ) 𝑔 ) ) ) < ( ( deg1𝑟 ) ‘ 𝑔 ) ) ) )
42 17 17 mpoex ( 𝑓𝐵 , 𝑔𝐵 ↦ ( 𝑞𝐵 ( 𝐷 ‘ ( 𝑓 ( 𝑞 · 𝑔 ) ) ) < ( 𝐷𝑔 ) ) ) ∈ V
43 40 41 42 fvmpt ( 𝑅 ∈ V → ( quot1p𝑅 ) = ( 𝑓𝐵 , 𝑔𝐵 ↦ ( 𝑞𝐵 ( 𝐷 ‘ ( 𝑓 ( 𝑞 · 𝑔 ) ) ) < ( 𝐷𝑔 ) ) ) )
44 1 43 eqtrid ( 𝑅 ∈ V → 𝑄 = ( 𝑓𝐵 , 𝑔𝐵 ↦ ( 𝑞𝐵 ( 𝐷 ‘ ( 𝑓 ( 𝑞 · 𝑔 ) ) ) < ( 𝐷𝑔 ) ) ) )
45 7 44 syl ( 𝐺𝐵𝑄 = ( 𝑓𝐵 , 𝑔𝐵 ↦ ( 𝑞𝐵 ( 𝐷 ‘ ( 𝑓 ( 𝑞 · 𝑔 ) ) ) < ( 𝐷𝑔 ) ) ) )
46 45 adantl ( ( 𝐹𝐵𝐺𝐵 ) → 𝑄 = ( 𝑓𝐵 , 𝑔𝐵 ↦ ( 𝑞𝐵 ( 𝐷 ‘ ( 𝑓 ( 𝑞 · 𝑔 ) ) ) < ( 𝐷𝑔 ) ) ) )
47 id ( 𝑓 = 𝐹𝑓 = 𝐹 )
48 oveq2 ( 𝑔 = 𝐺 → ( 𝑞 · 𝑔 ) = ( 𝑞 · 𝐺 ) )
49 47 48 oveqan12d ( ( 𝑓 = 𝐹𝑔 = 𝐺 ) → ( 𝑓 ( 𝑞 · 𝑔 ) ) = ( 𝐹 ( 𝑞 · 𝐺 ) ) )
50 49 fveq2d ( ( 𝑓 = 𝐹𝑔 = 𝐺 ) → ( 𝐷 ‘ ( 𝑓 ( 𝑞 · 𝑔 ) ) ) = ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) )
51 fveq2 ( 𝑔 = 𝐺 → ( 𝐷𝑔 ) = ( 𝐷𝐺 ) )
52 51 adantl ( ( 𝑓 = 𝐹𝑔 = 𝐺 ) → ( 𝐷𝑔 ) = ( 𝐷𝐺 ) )
53 50 52 breq12d ( ( 𝑓 = 𝐹𝑔 = 𝐺 ) → ( ( 𝐷 ‘ ( 𝑓 ( 𝑞 · 𝑔 ) ) ) < ( 𝐷𝑔 ) ↔ ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) )
54 53 riotabidv ( ( 𝑓 = 𝐹𝑔 = 𝐺 ) → ( 𝑞𝐵 ( 𝐷 ‘ ( 𝑓 ( 𝑞 · 𝑔 ) ) ) < ( 𝐷𝑔 ) ) = ( 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) )
55 54 adantl ( ( ( 𝐹𝐵𝐺𝐵 ) ∧ ( 𝑓 = 𝐹𝑔 = 𝐺 ) ) → ( 𝑞𝐵 ( 𝐷 ‘ ( 𝑓 ( 𝑞 · 𝑔 ) ) ) < ( 𝐷𝑔 ) ) = ( 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) )
56 simpl ( ( 𝐹𝐵𝐺𝐵 ) → 𝐹𝐵 )
57 simpr ( ( 𝐹𝐵𝐺𝐵 ) → 𝐺𝐵 )
58 riotaex ( 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) ∈ V
59 58 a1i ( ( 𝐹𝐵𝐺𝐵 ) → ( 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) ∈ V )
60 46 55 56 57 59 ovmpod ( ( 𝐹𝐵𝐺𝐵 ) → ( 𝐹 𝑄 𝐺 ) = ( 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) )