Metamath Proof Explorer


Theorem eq0rabdioph

Description: This is the first of a number of theorems which allow sets to be proven Diophantine by syntactic induction, and models the correspondence between Diophantine sets and monotone existential first-order logic. This first theorem shows that the zero set of an implicit polynomial is Diophantine. (Contributed by Stefan O'Rear, 10-Oct-2014)

Ref Expression
Assertion eq0rabdioph N0t1NAmzPoly1Nt01N|A=0DiophN

Proof

Step Hyp Ref Expression
1 nfv tN0
2 nfmpt1 _tt1NA
3 2 nfel1 tt1NAmzPoly1N
4 1 3 nfan tN0t1NAmzPoly1N
5 zex V
6 nn0ssz 0
7 mapss V001N1N
8 5 6 7 mp2an 01N1N
9 8 sseli t01Nt1N
10 9 adantl N0t1NAmzPoly1Nt01Nt1N
11 mzpf t1NAmzPoly1Nt1NA:1N
12 mptfcl t1NA:1Nt1NA
13 12 imp t1NA:1Nt1NA
14 11 9 13 syl2an t1NAmzPoly1Nt01NA
15 14 adantll N0t1NAmzPoly1Nt01NA
16 eqid t1NA=t1NA
17 16 fvmpt2 t1NAt1NAt=A
18 10 15 17 syl2anc N0t1NAmzPoly1Nt01Nt1NAt=A
19 18 eqcomd N0t1NAmzPoly1Nt01NA=t1NAt
20 19 eqeq1d N0t1NAmzPoly1Nt01NA=0t1NAt=0
21 20 ex N0t1NAmzPoly1Nt01NA=0t1NAt=0
22 4 21 ralrimi N0t1NAmzPoly1Nt01NA=0t1NAt=0
23 rabbi t01NA=0t1NAt=0t01N|A=0=t01N|t1NAt=0
24 22 23 sylib N0t1NAmzPoly1Nt01N|A=0=t01N|t1NAt=0
25 nfcv _t01N
26 nfcv _a01N
27 nfv at1NAt=0
28 nffvmpt1 _tt1NAa
29 28 nfeq1 tt1NAa=0
30 fveqeq2 t=at1NAt=0t1NAa=0
31 25 26 27 29 30 cbvrabw t01N|t1NAt=0=a01N|t1NAa=0
32 24 31 eqtrdi N0t1NAmzPoly1Nt01N|A=0=a01N|t1NAa=0
33 df-rab a01N|t1NAa=0=a|a01Nt1NAa=0
34 32 33 eqtrdi N0t1NAmzPoly1Nt01N|A=0=a|a01Nt1NAa=0
35 elmapi b01Nb:1N0
36 ffn b:1N0bFn1N
37 fnresdm bFn1Nb1N=b
38 35 36 37 3syl b01Nb1N=b
39 38 eqeq2d b01Na=b1Na=b
40 equcom a=bb=a
41 39 40 bitrdi b01Na=b1Nb=a
42 41 anbi1d b01Na=b1Nt1NAb=0b=at1NAb=0
43 42 rexbiia b01Na=b1Nt1NAb=0b01Nb=at1NAb=0
44 fveqeq2 b=at1NAb=0t1NAa=0
45 44 ceqsrexbv b01Nb=at1NAb=0a01Nt1NAa=0
46 43 45 bitr2i a01Nt1NAa=0b01Na=b1Nt1NAb=0
47 46 abbii a|a01Nt1NAa=0=a|b01Na=b1Nt1NAb=0
48 34 47 eqtrdi N0t1NAmzPoly1Nt01N|A=0=a|b01Na=b1Nt1NAb=0
49 simpl N0t1NAmzPoly1NN0
50 nn0z N0N
51 uzid NNN
52 50 51 syl N0NN
53 52 adantr N0t1NAmzPoly1NNN
54 simpr N0t1NAmzPoly1Nt1NAmzPoly1N
55 eldioph N0NNt1NAmzPoly1Na|b01Na=b1Nt1NAb=0DiophN
56 49 53 54 55 syl3anc N0t1NAmzPoly1Na|b01Na=b1Nt1NAb=0DiophN
57 48 56 eqeltrd N0t1NAmzPoly1Nt01N|A=0DiophN