Metamath Proof Explorer


Theorem q1peqb

Description: Characterizing property of the polynomial quotient. (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𝑃 )
q1peqb.c 𝐶 = ( Unic1p𝑅 )
Assertion q1peqb ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) → ( ( 𝑋𝐵 ∧ ( 𝐷 ‘ ( 𝐹 ( 𝑋 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) ↔ ( 𝐹 𝑄 𝐺 ) = 𝑋 ) )

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 q1peqb.c 𝐶 = ( Unic1p𝑅 )
8 elex ( 𝑋𝐵𝑋 ∈ V )
9 8 adantr ( ( 𝑋𝐵 ∧ ( 𝐷 ‘ ( 𝐹 ( 𝑋 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) → 𝑋 ∈ V )
10 9 a1i ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) → ( ( 𝑋𝐵 ∧ ( 𝐷 ‘ ( 𝐹 ( 𝑋 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) → 𝑋 ∈ V ) )
11 ovex ( 𝐹 𝑄 𝐺 ) ∈ V
12 eleq1 ( ( 𝐹 𝑄 𝐺 ) = 𝑋 → ( ( 𝐹 𝑄 𝐺 ) ∈ V ↔ 𝑋 ∈ V ) )
13 11 12 mpbii ( ( 𝐹 𝑄 𝐺 ) = 𝑋𝑋 ∈ V )
14 13 a1i ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) → ( ( 𝐹 𝑄 𝐺 ) = 𝑋𝑋 ∈ V ) )
15 simpr ( ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) ∧ 𝑋 ∈ V ) → 𝑋 ∈ V )
16 eqid ( 0g𝑃 ) = ( 0g𝑃 )
17 simp1 ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) → 𝑅 ∈ Ring )
18 simp2 ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) → 𝐹𝐵 )
19 2 3 7 uc1pcl ( 𝐺𝐶𝐺𝐵 )
20 19 3ad2ant3 ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) → 𝐺𝐵 )
21 2 16 7 uc1pn0 ( 𝐺𝐶𝐺 ≠ ( 0g𝑃 ) )
22 21 3ad2ant3 ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) → 𝐺 ≠ ( 0g𝑃 ) )
23 eqid ( Unit ‘ 𝑅 ) = ( Unit ‘ 𝑅 )
24 4 23 7 uc1pldg ( 𝐺𝐶 → ( ( coe1𝐺 ) ‘ ( 𝐷𝐺 ) ) ∈ ( Unit ‘ 𝑅 ) )
25 24 3ad2ant3 ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) → ( ( coe1𝐺 ) ‘ ( 𝐷𝐺 ) ) ∈ ( Unit ‘ 𝑅 ) )
26 2 4 3 5 16 6 17 18 20 22 25 23 ply1divalg2 ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) → ∃! 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) )
27 df-reu ( ∃! 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ↔ ∃! 𝑞 ( 𝑞𝐵 ∧ ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) )
28 26 27 sylib ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) → ∃! 𝑞 ( 𝑞𝐵 ∧ ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) )
29 28 adantr ( ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) ∧ 𝑋 ∈ V ) → ∃! 𝑞 ( 𝑞𝐵 ∧ ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) )
30 eleq1 ( 𝑞 = 𝑋 → ( 𝑞𝐵𝑋𝐵 ) )
31 oveq1 ( 𝑞 = 𝑋 → ( 𝑞 · 𝐺 ) = ( 𝑋 · 𝐺 ) )
32 31 oveq2d ( 𝑞 = 𝑋 → ( 𝐹 ( 𝑞 · 𝐺 ) ) = ( 𝐹 ( 𝑋 · 𝐺 ) ) )
33 32 fveq2d ( 𝑞 = 𝑋 → ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) = ( 𝐷 ‘ ( 𝐹 ( 𝑋 · 𝐺 ) ) ) )
34 33 breq1d ( 𝑞 = 𝑋 → ( ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ↔ ( 𝐷 ‘ ( 𝐹 ( 𝑋 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) )
35 30 34 anbi12d ( 𝑞 = 𝑋 → ( ( 𝑞𝐵 ∧ ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) ↔ ( 𝑋𝐵 ∧ ( 𝐷 ‘ ( 𝐹 ( 𝑋 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) ) )
36 35 adantl ( ( ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) ∧ 𝑋 ∈ V ) ∧ 𝑞 = 𝑋 ) → ( ( 𝑞𝐵 ∧ ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) ↔ ( 𝑋𝐵 ∧ ( 𝐷 ‘ ( 𝐹 ( 𝑋 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) ) )
37 15 29 36 iota2d ( ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) ∧ 𝑋 ∈ V ) → ( ( 𝑋𝐵 ∧ ( 𝐷 ‘ ( 𝐹 ( 𝑋 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) ↔ ( ℩ 𝑞 ( 𝑞𝐵 ∧ ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) ) = 𝑋 ) )
38 1 2 3 4 5 6 q1pval ( ( 𝐹𝐵𝐺𝐵 ) → ( 𝐹 𝑄 𝐺 ) = ( 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) )
39 18 20 38 syl2anc ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) → ( 𝐹 𝑄 𝐺 ) = ( 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) )
40 df-riota ( 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) = ( ℩ 𝑞 ( 𝑞𝐵 ∧ ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) )
41 39 40 eqtrdi ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) → ( 𝐹 𝑄 𝐺 ) = ( ℩ 𝑞 ( 𝑞𝐵 ∧ ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) ) )
42 41 adantr ( ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) ∧ 𝑋 ∈ V ) → ( 𝐹 𝑄 𝐺 ) = ( ℩ 𝑞 ( 𝑞𝐵 ∧ ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) ) )
43 42 eqeq1d ( ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) ∧ 𝑋 ∈ V ) → ( ( 𝐹 𝑄 𝐺 ) = 𝑋 ↔ ( ℩ 𝑞 ( 𝑞𝐵 ∧ ( 𝐷 ‘ ( 𝐹 ( 𝑞 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) ) = 𝑋 ) )
44 37 43 bitr4d ( ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) ∧ 𝑋 ∈ V ) → ( ( 𝑋𝐵 ∧ ( 𝐷 ‘ ( 𝐹 ( 𝑋 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) ↔ ( 𝐹 𝑄 𝐺 ) = 𝑋 ) )
45 44 ex ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) → ( 𝑋 ∈ V → ( ( 𝑋𝐵 ∧ ( 𝐷 ‘ ( 𝐹 ( 𝑋 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) ↔ ( 𝐹 𝑄 𝐺 ) = 𝑋 ) ) )
46 10 14 45 pm5.21ndd ( ( 𝑅 ∈ Ring ∧ 𝐹𝐵𝐺𝐶 ) → ( ( 𝑋𝐵 ∧ ( 𝐷 ‘ ( 𝐹 ( 𝑋 · 𝐺 ) ) ) < ( 𝐷𝐺 ) ) ↔ ( 𝐹 𝑄 𝐺 ) = 𝑋 ) )