Metamath Proof Explorer


Theorem eldiophss

Description: Diophantine sets are sets of tuples of nonnegative integers. (Contributed by Stefan O'Rear, 10-Oct-2014) (Revised by Stefan O'Rear, 6-May-2015)

Ref Expression
Assertion eldiophss ⊢ A ∈ Dioph ⁡ B → A ⊆ ℕ 0 1 … B

Proof

Step Hyp Ref Expression
1 eldioph3b ⊢ A ∈ Dioph ⁡ B ↔ B ∈ ℕ 0 ∧ ∃ a ∈ mzPoly ⁡ ℕ A = b | ∃ c ∈ ℕ 0 ℕ b = c ↾ 1 … B ∧ a ⁡ c = 0
2 simpr ⊢ B ∈ ℕ 0 ∧ a ∈ mzPoly ⁡ ℕ ∧ A = b | ∃ c ∈ ℕ 0 ℕ b = c ↾ 1 … B ∧ a ⁡ c = 0 → A = b | ∃ c ∈ ℕ 0 ℕ b = c ↾ 1 … B ∧ a ⁡ c = 0
3 vex ⊢ d ∈ V
4 eqeq1 ⊢ b = d → b = c ↾ 1 … B ↔ d = c ↾ 1 … B
5 4 anbi1d ⊢ b = d → b = c ↾ 1 … B ∧ a ⁡ c = 0 ↔ d = c ↾ 1 … B ∧ a ⁡ c = 0
6 5 rexbidv ⊢ b = d → ∃ c ∈ ℕ 0 ℕ b = c ↾ 1 … B ∧ a ⁡ c = 0 ↔ ∃ c ∈ ℕ 0 ℕ d = c ↾ 1 … B ∧ a ⁡ c = 0
7 3 6 elab ⊢ d ∈ b | ∃ c ∈ ℕ 0 ℕ b = c ↾ 1 … B ∧ a ⁡ c = 0 ↔ ∃ c ∈ ℕ 0 ℕ d = c ↾ 1 … B ∧ a ⁡ c = 0
8 simpr ⊢ B ∈ ℕ 0 ∧ a ∈ mzPoly ⁡ ℕ ∧ c ∈ ℕ 0 ℕ ∧ d = c ↾ 1 … B → d = c ↾ 1 … B
9 elfznn ⊢ a ∈ 1 … B → a ∈ ℕ
10 9 ssriv ⊢ 1 … B ⊆ ℕ
11 elmapssres ⊢ c ∈ ℕ 0 ℕ ∧ 1 … B ⊆ ℕ → c ↾ 1 … B ∈ ℕ 0 1 … B
12 10 11 mpan2 ⊢ c ∈ ℕ 0 ℕ → c ↾ 1 … B ∈ ℕ 0 1 … B
13 12 ad2antlr ⊢ B ∈ ℕ 0 ∧ a ∈ mzPoly ⁡ ℕ ∧ c ∈ ℕ 0 ℕ ∧ d = c ↾ 1 … B → c ↾ 1 … B ∈ ℕ 0 1 … B
14 8 13 eqeltrd ⊢ B ∈ ℕ 0 ∧ a ∈ mzPoly ⁡ ℕ ∧ c ∈ ℕ 0 ℕ ∧ d = c ↾ 1 … B → d ∈ ℕ 0 1 … B
15 14 ex ⊢ B ∈ ℕ 0 ∧ a ∈ mzPoly ⁡ ℕ ∧ c ∈ ℕ 0 ℕ → d = c ↾ 1 … B → d ∈ ℕ 0 1 … B
16 15 adantrd ⊢ B ∈ ℕ 0 ∧ a ∈ mzPoly ⁡ ℕ ∧ c ∈ ℕ 0 ℕ → d = c ↾ 1 … B ∧ a ⁡ c = 0 → d ∈ ℕ 0 1 … B
17 16 rexlimdva ⊢ B ∈ ℕ 0 ∧ a ∈ mzPoly ⁡ ℕ → ∃ c ∈ ℕ 0 ℕ d = c ↾ 1 … B ∧ a ⁡ c = 0 → d ∈ ℕ 0 1 … B
18 7 17 biimtrid ⊢ B ∈ ℕ 0 ∧ a ∈ mzPoly ⁡ ℕ → d ∈ b | ∃ c ∈ ℕ 0 ℕ b = c ↾ 1 … B ∧ a ⁡ c = 0 → d ∈ ℕ 0 1 … B
19 18 ssrdv ⊢ B ∈ ℕ 0 ∧ a ∈ mzPoly ⁡ ℕ → b | ∃ c ∈ ℕ 0 ℕ b = c ↾ 1 … B ∧ a ⁡ c = 0 ⊆ ℕ 0 1 … B
20 19 adantr ⊢ B ∈ ℕ 0 ∧ a ∈ mzPoly ⁡ ℕ ∧ A = b | ∃ c ∈ ℕ 0 ℕ b = c ↾ 1 … B ∧ a ⁡ c = 0 → b | ∃ c ∈ ℕ 0 ℕ b = c ↾ 1 … B ∧ a ⁡ c = 0 ⊆ ℕ 0 1 … B
21 2 20 eqsstrd ⊢ B ∈ ℕ 0 ∧ a ∈ mzPoly ⁡ ℕ ∧ A = b | ∃ c ∈ ℕ 0 ℕ b = c ↾ 1 … B ∧ a ⁡ c = 0 → A ⊆ ℕ 0 1 … B
22 21 r19.29an ⊢ B ∈ ℕ 0 ∧ ∃ a ∈ mzPoly ⁡ ℕ A = b | ∃ c ∈ ℕ 0 ℕ b = c ↾ 1 … B ∧ a ⁡ c = 0 → A ⊆ ℕ 0 1 … B
23 1 22 sylbi ⊢ A ∈ Dioph ⁡ B → A ⊆ ℕ 0 1 … B