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 N 0 t 1 N A mzPoly 1 N t 0 1 N | A = 0 Dioph N

Proof

Step Hyp Ref Expression
1 nfv t N 0
2 nfmpt1 _ t t 1 N A
3 2 nfel1 t t 1 N A mzPoly 1 N
4 1 3 nfan t N 0 t 1 N A mzPoly 1 N
5 zex V
6 nn0ssz 0
7 mapss V 0 0 1 N 1 N
8 5 6 7 mp2an 0 1 N 1 N
9 8 sseli t 0 1 N t 1 N
10 9 adantl N 0 t 1 N A mzPoly 1 N t 0 1 N t 1 N
11 mzpf t 1 N A mzPoly 1 N t 1 N A : 1 N
12 mptfcl t 1 N A : 1 N t 1 N A
13 12 imp t 1 N A : 1 N t 1 N A
14 11 9 13 syl2an t 1 N A mzPoly 1 N t 0 1 N A
15 14 adantll N 0 t 1 N A mzPoly 1 N t 0 1 N A
16 eqid t 1 N A = t 1 N A
17 16 fvmpt2 t 1 N A t 1 N A t = A
18 10 15 17 syl2anc N 0 t 1 N A mzPoly 1 N t 0 1 N t 1 N A t = A
19 18 eqcomd N 0 t 1 N A mzPoly 1 N t 0 1 N A = t 1 N A t
20 19 eqeq1d N 0 t 1 N A mzPoly 1 N t 0 1 N A = 0 t 1 N A t = 0
21 20 ex N 0 t 1 N A mzPoly 1 N t 0 1 N A = 0 t 1 N A t = 0
22 4 21 ralrimi N 0 t 1 N A mzPoly 1 N t 0 1 N A = 0 t 1 N A t = 0
23 rabbi t 0 1 N A = 0 t 1 N A t = 0 t 0 1 N | A = 0 = t 0 1 N | t 1 N A t = 0
24 22 23 sylib N 0 t 1 N A mzPoly 1 N t 0 1 N | A = 0 = t 0 1 N | t 1 N A t = 0
25 nfcv _ t 0 1 N
26 nfcv _ a 0 1 N
27 nfv a t 1 N A t = 0
28 nffvmpt1 _ t t 1 N A a
29 28 nfeq1 t t 1 N A a = 0
30 fveqeq2 t = a t 1 N A t = 0 t 1 N A a = 0
31 25 26 27 29 30 cbvrabw t 0 1 N | t 1 N A t = 0 = a 0 1 N | t 1 N A a = 0
32 24 31 eqtrdi N 0 t 1 N A mzPoly 1 N t 0 1 N | A = 0 = a 0 1 N | t 1 N A a = 0
33 df-rab a 0 1 N | t 1 N A a = 0 = a | a 0 1 N t 1 N A a = 0
34 32 33 eqtrdi N 0 t 1 N A mzPoly 1 N t 0 1 N | A = 0 = a | a 0 1 N t 1 N A a = 0
35 elmapi b 0 1 N b : 1 N 0
36 ffn b : 1 N 0 b Fn 1 N
37 fnresdm b Fn 1 N b 1 N = b
38 35 36 37 3syl b 0 1 N b 1 N = b
39 38 eqeq2d b 0 1 N a = b 1 N a = b
40 equcom a = b b = a
41 39 40 syl6bb b 0 1 N a = b 1 N b = a
42 41 anbi1d b 0 1 N a = b 1 N t 1 N A b = 0 b = a t 1 N A b = 0
43 42 rexbiia b 0 1 N a = b 1 N t 1 N A b = 0 b 0 1 N b = a t 1 N A b = 0
44 fveqeq2 b = a t 1 N A b = 0 t 1 N A a = 0
45 44 ceqsrexbv b 0 1 N b = a t 1 N A b = 0 a 0 1 N t 1 N A a = 0
46 43 45 bitr2i a 0 1 N t 1 N A a = 0 b 0 1 N a = b 1 N t 1 N A b = 0
47 46 abbii a | a 0 1 N t 1 N A a = 0 = a | b 0 1 N a = b 1 N t 1 N A b = 0
48 34 47 eqtrdi N 0 t 1 N A mzPoly 1 N t 0 1 N | A = 0 = a | b 0 1 N a = b 1 N t 1 N A b = 0
49 simpl N 0 t 1 N A mzPoly 1 N N 0
50 nn0z N 0 N
51 uzid N N N
52 50 51 syl N 0 N N
53 52 adantr N 0 t 1 N A mzPoly 1 N N N
54 simpr N 0 t 1 N A mzPoly 1 N t 1 N A mzPoly 1 N
55 eldioph N 0 N N t 1 N A mzPoly 1 N a | b 0 1 N a = b 1 N t 1 N A b = 0 Dioph N
56 49 53 54 55 syl3anc N 0 t 1 N A mzPoly 1 N a | b 0 1 N a = b 1 N t 1 N A b = 0 Dioph N
57 48 56 eqeltrd N 0 t 1 N A mzPoly 1 N t 0 1 N | A = 0 Dioph N