Metamath Proof Explorer


Theorem elz2

Description: Membership in the set of integers. Commonly used in constructions of the integers as equivalence classes under subtraction of the positive integers. (Contributed by Mario Carneiro, 16-May-2014)

Ref Expression
Assertion elz2 ⊢ N ∈ ℤ ↔ ∃ x ∈ ℕ ∃ y ∈ ℕ N = x − y

Proof

Step Hyp Ref Expression
1 elznn0 ⊢ N ∈ ℤ ↔ N ∈ ℝ ∧ N ∈ ℕ 0 ∨ − N ∈ ℕ 0
2 nn0p1nn ⊢ N ∈ ℕ 0 → N + 1 ∈ ℕ
3 2 adantl ⊢ N ∈ ℝ ∧ N ∈ ℕ 0 → N + 1 ∈ ℕ
4 1nn ⊢ 1 ∈ ℕ
5 4 a1i ⊢ N ∈ ℝ ∧ N ∈ ℕ 0 → 1 ∈ ℕ
6 recn ⊢ N ∈ ℝ → N ∈ ℂ
7 6 adantr ⊢ N ∈ ℝ ∧ N ∈ ℕ 0 → N ∈ ℂ
8 ax-1cn ⊢ 1 ∈ ℂ
9 pncan ⊢ N ∈ ℂ ∧ 1 ∈ ℂ → N + 1 - 1 = N
10 7 8 9 sylancl ⊢ N ∈ ℝ ∧ N ∈ ℕ 0 → N + 1 - 1 = N
11 10 eqcomd ⊢ N ∈ ℝ ∧ N ∈ ℕ 0 → N = N + 1 - 1
12 rspceov ⊢ N + 1 ∈ ℕ ∧ 1 ∈ ℕ ∧ N = N + 1 - 1 → ∃ x ∈ ℕ ∃ y ∈ ℕ N = x − y
13 3 5 11 12 syl3anc ⊢ N ∈ ℝ ∧ N ∈ ℕ 0 → ∃ x ∈ ℕ ∃ y ∈ ℕ N = x − y
14 4 a1i ⊢ N ∈ ℝ ∧ − N ∈ ℕ 0 → 1 ∈ ℕ
15 6 adantr ⊢ N ∈ ℝ ∧ − N ∈ ℕ 0 → N ∈ ℂ
16 negsub ⊢ 1 ∈ ℂ ∧ N ∈ ℂ → 1 + -N = 1 − N
17 8 15 16 sylancr ⊢ N ∈ ℝ ∧ − N ∈ ℕ 0 → 1 + -N = 1 − N
18 simpr ⊢ N ∈ ℝ ∧ − N ∈ ℕ 0 → − N ∈ ℕ 0
19 nnnn0addcl ⊢ 1 ∈ ℕ ∧ − N ∈ ℕ 0 → 1 + -N ∈ ℕ
20 4 18 19 sylancr ⊢ N ∈ ℝ ∧ − N ∈ ℕ 0 → 1 + -N ∈ ℕ
21 17 20 eqeltrrd ⊢ N ∈ ℝ ∧ − N ∈ ℕ 0 → 1 − N ∈ ℕ
22 nncan ⊢ 1 ∈ ℂ ∧ N ∈ ℂ → 1 − 1 − N = N
23 8 15 22 sylancr ⊢ N ∈ ℝ ∧ − N ∈ ℕ 0 → 1 − 1 − N = N
24 23 eqcomd ⊢ N ∈ ℝ ∧ − N ∈ ℕ 0 → N = 1 − 1 − N
25 rspceov ⊢ 1 ∈ ℕ ∧ 1 − N ∈ ℕ ∧ N = 1 − 1 − N → ∃ x ∈ ℕ ∃ y ∈ ℕ N = x − y
26 14 21 24 25 syl3anc ⊢ N ∈ ℝ ∧ − N ∈ ℕ 0 → ∃ x ∈ ℕ ∃ y ∈ ℕ N = x − y
27 13 26 jaodan ⊢ N ∈ ℝ ∧ N ∈ ℕ 0 ∨ − N ∈ ℕ 0 → ∃ x ∈ ℕ ∃ y ∈ ℕ N = x − y
28 nnre ⊢ x ∈ ℕ → x ∈ ℝ
29 nnre ⊢ y ∈ ℕ → y ∈ ℝ
30 resubcl ⊢ x ∈ ℝ ∧ y ∈ ℝ → x − y ∈ ℝ
31 28 29 30 syl2an ⊢ x ∈ ℕ ∧ y ∈ ℕ → x − y ∈ ℝ
32 letric ⊢ y ∈ ℝ ∧ x ∈ ℝ → y ≤ x ∨ x ≤ y
33 29 28 32 syl2anr ⊢ x ∈ ℕ ∧ y ∈ ℕ → y ≤ x ∨ x ≤ y
34 nnnn0 ⊢ y ∈ ℕ → y ∈ ℕ 0
35 nnnn0 ⊢ x ∈ ℕ → x ∈ ℕ 0
36 nn0sub ⊢ y ∈ ℕ 0 ∧ x ∈ ℕ 0 → y ≤ x ↔ x − y ∈ ℕ 0
37 34 35 36 syl2anr ⊢ x ∈ ℕ ∧ y ∈ ℕ → y ≤ x ↔ x − y ∈ ℕ 0
38 nn0sub ⊢ x ∈ ℕ 0 ∧ y ∈ ℕ 0 → x ≤ y ↔ y − x ∈ ℕ 0
39 35 34 38 syl2an ⊢ x ∈ ℕ ∧ y ∈ ℕ → x ≤ y ↔ y − x ∈ ℕ 0
40 nncn ⊢ x ∈ ℕ → x ∈ ℂ
41 nncn ⊢ y ∈ ℕ → y ∈ ℂ
42 negsubdi2 ⊢ x ∈ ℂ ∧ y ∈ ℂ → − x − y = y − x
43 40 41 42 syl2an ⊢ x ∈ ℕ ∧ y ∈ ℕ → − x − y = y − x
44 43 eleq1d ⊢ x ∈ ℕ ∧ y ∈ ℕ → − x − y ∈ ℕ 0 ↔ y − x ∈ ℕ 0
45 39 44 bitr4d ⊢ x ∈ ℕ ∧ y ∈ ℕ → x ≤ y ↔ − x − y ∈ ℕ 0
46 37 45 orbi12d ⊢ x ∈ ℕ ∧ y ∈ ℕ → y ≤ x ∨ x ≤ y ↔ x − y ∈ ℕ 0 ∨ − x − y ∈ ℕ 0
47 33 46 mpbid ⊢ x ∈ ℕ ∧ y ∈ ℕ → x − y ∈ ℕ 0 ∨ − x − y ∈ ℕ 0
48 31 47 jca ⊢ x ∈ ℕ ∧ y ∈ ℕ → x − y ∈ ℝ ∧ x − y ∈ ℕ 0 ∨ − x − y ∈ ℕ 0
49 eleq1 ⊢ N = x − y → N ∈ ℝ ↔ x − y ∈ ℝ
50 eleq1 ⊢ N = x − y → N ∈ ℕ 0 ↔ x − y ∈ ℕ 0
51 negeq ⊢ N = x − y → − N = − x − y
52 51 eleq1d ⊢ N = x − y → − N ∈ ℕ 0 ↔ − x − y ∈ ℕ 0
53 50 52 orbi12d ⊢ N = x − y → N ∈ ℕ 0 ∨ − N ∈ ℕ 0 ↔ x − y ∈ ℕ 0 ∨ − x − y ∈ ℕ 0
54 49 53 anbi12d ⊢ N = x − y → N ∈ ℝ ∧ N ∈ ℕ 0 ∨ − N ∈ ℕ 0 ↔ x − y ∈ ℝ ∧ x − y ∈ ℕ 0 ∨ − x − y ∈ ℕ 0
55 48 54 syl5ibrcom ⊢ x ∈ ℕ ∧ y ∈ ℕ → N = x − y → N ∈ ℝ ∧ N ∈ ℕ 0 ∨ − N ∈ ℕ 0
56 55 rexlimivv ⊢ ∃ x ∈ ℕ ∃ y ∈ ℕ N = x − y → N ∈ ℝ ∧ N ∈ ℕ 0 ∨ − N ∈ ℕ 0
57 27 56 impbii ⊢ N ∈ ℝ ∧ N ∈ ℕ 0 ∨ − N ∈ ℕ 0 ↔ ∃ x ∈ ℕ ∃ y ∈ ℕ N = x − y
58 1 57 bitri ⊢ N ∈ ℤ ↔ ∃ x ∈ ℕ ∃ y ∈ ℕ N = x − y