Metamath Proof Explorer


Definition df-dioph

Description: A Diophantine set is a set of positive integers which is a projection of the zero set of some polynomial. This definition somewhat awkwardly mixes ZZ (via mzPoly ) and NN0 (to define the zero sets); the former could be avoided by considering coincidence sets of NN0 polynomials at the cost of requiring two, and the second is driven by consistency with our mu-recursive functions and the requirements of the Davis-Putnam-Robinson-Matiyasevich proof. Both are avoidable at a complexity cost. In particular, it is a consequence of 4sq that implicitly restricting variables to NN0 adds no expressive power over allowing them to range over ZZ . While this definition stipulates a specific index set for the polynomials, there is actually flexibility here, see eldioph2b . (Contributed by Stefan O'Rear, 5-Oct-2014)

Ref Expression
Assertion df-dioph Dioph = ( 𝑛 ∈ ℕ0 ↦ ran ( 𝑘 ∈ ( ℤ𝑛 ) , 𝑝 ∈ ( mzPoly ‘ ( 1 ... 𝑘 ) ) ↦ { 𝑡 ∣ ∃ 𝑢 ∈ ( ℕ0m ( 1 ... 𝑘 ) ) ( 𝑡 = ( 𝑢 ↾ ( 1 ... 𝑛 ) ) ∧ ( 𝑝𝑢 ) = 0 ) } ) )

Detailed syntax breakdown

Step Hyp Ref Expression
0 cdioph Dioph
1 vn 𝑛
2 cn0 0
3 vk 𝑘
4 cuz
5 1 cv 𝑛
6 5 4 cfv ( ℤ𝑛 )
7 vp 𝑝
8 cmzp mzPoly
9 c1 1
10 cfz ...
11 3 cv 𝑘
12 9 11 10 co ( 1 ... 𝑘 )
13 12 8 cfv ( mzPoly ‘ ( 1 ... 𝑘 ) )
14 vt 𝑡
15 vu 𝑢
16 cmap m
17 2 12 16 co ( ℕ0m ( 1 ... 𝑘 ) )
18 14 cv 𝑡
19 15 cv 𝑢
20 9 5 10 co ( 1 ... 𝑛 )
21 19 20 cres ( 𝑢 ↾ ( 1 ... 𝑛 ) )
22 18 21 wceq 𝑡 = ( 𝑢 ↾ ( 1 ... 𝑛 ) )
23 7 cv 𝑝
24 19 23 cfv ( 𝑝𝑢 )
25 cc0 0
26 24 25 wceq ( 𝑝𝑢 ) = 0
27 22 26 wa ( 𝑡 = ( 𝑢 ↾ ( 1 ... 𝑛 ) ) ∧ ( 𝑝𝑢 ) = 0 )
28 27 15 17 wrex 𝑢 ∈ ( ℕ0m ( 1 ... 𝑘 ) ) ( 𝑡 = ( 𝑢 ↾ ( 1 ... 𝑛 ) ) ∧ ( 𝑝𝑢 ) = 0 )
29 28 14 cab { 𝑡 ∣ ∃ 𝑢 ∈ ( ℕ0m ( 1 ... 𝑘 ) ) ( 𝑡 = ( 𝑢 ↾ ( 1 ... 𝑛 ) ) ∧ ( 𝑝𝑢 ) = 0 ) }
30 3 7 6 13 29 cmpo ( 𝑘 ∈ ( ℤ𝑛 ) , 𝑝 ∈ ( mzPoly ‘ ( 1 ... 𝑘 ) ) ↦ { 𝑡 ∣ ∃ 𝑢 ∈ ( ℕ0m ( 1 ... 𝑘 ) ) ( 𝑡 = ( 𝑢 ↾ ( 1 ... 𝑛 ) ) ∧ ( 𝑝𝑢 ) = 0 ) } )
31 30 crn ran ( 𝑘 ∈ ( ℤ𝑛 ) , 𝑝 ∈ ( mzPoly ‘ ( 1 ... 𝑘 ) ) ↦ { 𝑡 ∣ ∃ 𝑢 ∈ ( ℕ0m ( 1 ... 𝑘 ) ) ( 𝑡 = ( 𝑢 ↾ ( 1 ... 𝑛 ) ) ∧ ( 𝑝𝑢 ) = 0 ) } )
32 1 2 31 cmpt ( 𝑛 ∈ ℕ0 ↦ ran ( 𝑘 ∈ ( ℤ𝑛 ) , 𝑝 ∈ ( mzPoly ‘ ( 1 ... 𝑘 ) ) ↦ { 𝑡 ∣ ∃ 𝑢 ∈ ( ℕ0m ( 1 ... 𝑘 ) ) ( 𝑡 = ( 𝑢 ↾ ( 1 ... 𝑛 ) ) ∧ ( 𝑝𝑢 ) = 0 ) } ) )
33 0 32 wceq Dioph = ( 𝑛 ∈ ℕ0 ↦ ran ( 𝑘 ∈ ( ℤ𝑛 ) , 𝑝 ∈ ( mzPoly ‘ ( 1 ... 𝑘 ) ) ↦ { 𝑡 ∣ ∃ 𝑢 ∈ ( ℕ0m ( 1 ... 𝑘 ) ) ( 𝑡 = ( 𝑢 ↾ ( 1 ... 𝑛 ) ) ∧ ( 𝑝𝑢 ) = 0 ) } ) )