Metamath Proof Explorer


Theorem eqrabdioph

Description: Diophantine set builder for equality of polynomial expressions. Note that the two expressions need not be nonnegative; only variables are so constrained. (Contributed by Stefan O'Rear, 10-Oct-2014)

Ref Expression
Assertion eqrabdioph N 0 t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N t 0 1 N | A = B Dioph N

Proof

Step Hyp Ref Expression
1 nfmpt1 _ t t 1 N A
2 1 nfel1 t t 1 N A mzPoly 1 N
3 nfmpt1 _ t t 1 N B
4 3 nfel1 t t 1 N B mzPoly 1 N
5 2 4 nfan t t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N
6 mzpf t 1 N A mzPoly 1 N t 1 N A : 1 N
7 6 ad2antrr t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N t 0 1 N t 1 N A : 1 N
8 zex V
9 nn0ssz 0
10 mapss V 0 0 1 N 1 N
11 8 9 10 mp2an 0 1 N 1 N
12 11 sseli t 0 1 N t 1 N
13 12 adantl t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N t 0 1 N t 1 N
14 mptfcl t 1 N A : 1 N t 1 N A
15 7 13 14 sylc t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N t 0 1 N A
16 15 zcnd t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N t 0 1 N A
17 mzpf t 1 N B mzPoly 1 N t 1 N B : 1 N
18 17 ad2antlr t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N t 0 1 N t 1 N B : 1 N
19 mptfcl t 1 N B : 1 N t 1 N B
20 18 13 19 sylc t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N t 0 1 N B
21 20 zcnd t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N t 0 1 N B
22 16 21 subeq0ad t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N t 0 1 N A B = 0 A = B
23 22 bicomd t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N t 0 1 N A = B A B = 0
24 23 ex t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N t 0 1 N A = B A B = 0
25 5 24 ralrimi t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N t 0 1 N A = B A B = 0
26 rabbi t 0 1 N A = B A B = 0 t 0 1 N | A = B = t 0 1 N | A B = 0
27 25 26 sylib t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N t 0 1 N | A = B = t 0 1 N | A B = 0
28 27 3adant1 N 0 t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N t 0 1 N | A = B = t 0 1 N | A B = 0
29 simp1 N 0 t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N N 0
30 mzpsubmpt t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N t 1 N A B mzPoly 1 N
31 30 3adant1 N 0 t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N t 1 N A B mzPoly 1 N
32 eq0rabdioph N 0 t 1 N A B mzPoly 1 N t 0 1 N | A B = 0 Dioph N
33 29 31 32 syl2anc N 0 t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N t 0 1 N | A B = 0 Dioph N
34 28 33 eqeltrd N 0 t 1 N A mzPoly 1 N t 1 N B mzPoly 1 N t 0 1 N | A = B Dioph N