Metamath Proof Explorer


Theorem bitscmp

Description: The bit complement of N is -u N - 1 . (Thus, by bitsfi , all negative numbers have cofinite bits representations.) (Contributed by Mario Carneiro, 5-Sep-2016)

Ref Expression
Assertion bitscmp ⊢ N ∈ ℤ → ℕ 0 ∖ bits ⁡ N = bits ⁡ - N - 1

Proof

Step Hyp Ref Expression
1 bitsval2 ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → m ∈ bits ⁡ N ↔ ¬ 2 ∥ N 2 m
2 2z ⊢ 2 ∈ ℤ
3 2 a1i ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → 2 ∈ ℤ
4 simpl ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → N ∈ ℤ
5 4 zred ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → N ∈ ℝ
6 2nn ⊢ 2 ∈ ℕ
7 6 a1i ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → 2 ∈ ℕ
8 simpr ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → m ∈ ℕ 0
9 7 8 nnexpcld ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → 2 m ∈ ℕ
10 5 9 nndivred ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → N 2 m ∈ ℝ
11 10 flcld ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → N 2 m ∈ ℤ
12 dvdsnegb ⊢ 2 ∈ ℤ ∧ N 2 m ∈ ℤ → 2 ∥ N 2 m ↔ 2 ∥ − N 2 m
13 3 11 12 syl2anc ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → 2 ∥ N 2 m ↔ 2 ∥ − N 2 m
14 13 notbid ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → ¬ 2 ∥ N 2 m ↔ ¬ 2 ∥ − N 2 m
15 11 znegcld ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → − N 2 m ∈ ℤ
16 oddm1even ⊢ − N 2 m ∈ ℤ → ¬ 2 ∥ − N 2 m ↔ 2 ∥ - N 2 m - 1
17 15 16 syl ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → ¬ 2 ∥ − N 2 m ↔ 2 ∥ - N 2 m - 1
18 flltp1 ⊢ N 2 m ∈ ℝ → N 2 m < N 2 m + 1
19 10 18 syl ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → N 2 m < N 2 m + 1
20 11 zred ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → N 2 m ∈ ℝ
21 1red ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → 1 ∈ ℝ
22 20 21 readdcld ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → N 2 m + 1 ∈ ℝ
23 10 22 ltnegd ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → N 2 m < N 2 m + 1 ↔ − N 2 m + 1 < − N 2 m
24 19 23 mpbid ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → − N 2 m + 1 < − N 2 m
25 20 recnd ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → N 2 m ∈ ℂ
26 21 recnd ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → 1 ∈ ℂ
27 25 26 negdi2d ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → − N 2 m + 1 = - N 2 m - 1
28 5 recnd ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → N ∈ ℂ
29 9 nncnd ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → 2 m ∈ ℂ
30 9 nnne0d ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → 2 m ≠ 0
31 28 29 30 divnegd ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → − N 2 m = − N 2 m
32 24 27 31 3brtr3d ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → - N 2 m - 1 < − N 2 m
33 1zzd ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → 1 ∈ ℤ
34 15 33 zsubcld ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → - N 2 m - 1 ∈ ℤ
35 34 zred ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → - N 2 m - 1 ∈ ℝ
36 5 renegcld ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → − N ∈ ℝ
37 9 nnrpd ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → 2 m ∈ ℝ +
38 35 36 37 ltmuldivd ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → - N 2 m - 1 ⁢ 2 m < − N ↔ - N 2 m - 1 < − N 2 m
39 32 38 mpbird ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → - N 2 m - 1 ⁢ 2 m < − N
40 9 nnzd ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → 2 m ∈ ℤ
41 34 40 zmulcld ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → - N 2 m - 1 ⁢ 2 m ∈ ℤ
42 4 znegcld ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → − N ∈ ℤ
43 zltlem1 ⊢ - N 2 m - 1 ⁢ 2 m ∈ ℤ ∧ − N ∈ ℤ → - N 2 m - 1 ⁢ 2 m < − N ↔ - N 2 m - 1 ⁢ 2 m ≤ - N - 1
44 41 42 43 syl2anc ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → - N 2 m - 1 ⁢ 2 m < − N ↔ - N 2 m - 1 ⁢ 2 m ≤ - N - 1
45 39 44 mpbid ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → - N 2 m - 1 ⁢ 2 m ≤ - N - 1
46 36 21 resubcld ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → - N - 1 ∈ ℝ
47 35 46 37 lemuldivd ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → - N 2 m - 1 ⁢ 2 m ≤ - N - 1 ↔ - N 2 m - 1 ≤ - N - 1 2 m
48 45 47 mpbid ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → - N 2 m - 1 ≤ - N - 1 2 m
49 flle ⊢ N 2 m ∈ ℝ → N 2 m ≤ N 2 m
50 10 49 syl ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → N 2 m ≤ N 2 m
51 20 10 lenegd ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → N 2 m ≤ N 2 m ↔ − N 2 m ≤ − N 2 m
52 50 51 mpbid ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → − N 2 m ≤ − N 2 m
53 31 52 eqbrtrrd ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → − N 2 m ≤ − N 2 m
54 20 renegcld ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → − N 2 m ∈ ℝ
55 36 54 37 ledivmuld ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → − N 2 m ≤ − N 2 m ↔ − N ≤ 2 m ⁢ − N 2 m
56 53 55 mpbid ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → − N ≤ 2 m ⁢ − N 2 m
57 40 15 zmulcld ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → 2 m ⁢ − N 2 m ∈ ℤ
58 zlem1lt ⊢ − N ∈ ℤ ∧ 2 m ⁢ − N 2 m ∈ ℤ → − N ≤ 2 m ⁢ − N 2 m ↔ - N - 1 < 2 m ⁢ − N 2 m
59 42 57 58 syl2anc ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → − N ≤ 2 m ⁢ − N 2 m ↔ - N - 1 < 2 m ⁢ − N 2 m
60 56 59 mpbid ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → - N - 1 < 2 m ⁢ − N 2 m
61 46 54 37 ltdivmuld ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → - N - 1 2 m < − N 2 m ↔ - N - 1 < 2 m ⁢ − N 2 m
62 60 61 mpbird ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → - N - 1 2 m < − N 2 m
63 25 negcld ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → − N 2 m ∈ ℂ
64 63 26 npcand ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → − N 2 m - 1 + 1 = − N 2 m
65 62 64 breqtrrd ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → - N - 1 2 m < − N 2 m - 1 + 1
66 46 9 nndivred ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → - N - 1 2 m ∈ ℝ
67 flbi ⊢ - N - 1 2 m ∈ ℝ ∧ - N 2 m - 1 ∈ ℤ → - N - 1 2 m = - N 2 m - 1 ↔ - N 2 m - 1 ≤ - N - 1 2 m ∧ - N - 1 2 m < − N 2 m - 1 + 1
68 66 34 67 syl2anc ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → - N - 1 2 m = - N 2 m - 1 ↔ - N 2 m - 1 ≤ - N - 1 2 m ∧ - N - 1 2 m < − N 2 m - 1 + 1
69 48 65 68 mpbir2and ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → - N - 1 2 m = - N 2 m - 1
70 69 breq2d ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → 2 ∥ - N - 1 2 m ↔ 2 ∥ - N 2 m - 1
71 17 70 bitr4d ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → ¬ 2 ∥ − N 2 m ↔ 2 ∥ - N - 1 2 m
72 1 14 71 3bitrd ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → m ∈ bits ⁡ N ↔ 2 ∥ - N - 1 2 m
73 72 notbid ⊢ N ∈ ℤ ∧ m ∈ ℕ 0 → ¬ m ∈ bits ⁡ N ↔ ¬ 2 ∥ - N - 1 2 m
74 73 pm5.32da ⊢ N ∈ ℤ → m ∈ ℕ 0 ∧ ¬ m ∈ bits ⁡ N ↔ m ∈ ℕ 0 ∧ ¬ 2 ∥ - N - 1 2 m
75 znegcl ⊢ N ∈ ℤ → − N ∈ ℤ
76 1zzd ⊢ N ∈ ℤ → 1 ∈ ℤ
77 75 76 zsubcld ⊢ N ∈ ℤ → - N - 1 ∈ ℤ
78 77 biantrurd ⊢ N ∈ ℤ → m ∈ ℕ 0 ∧ ¬ 2 ∥ - N - 1 2 m ↔ - N - 1 ∈ ℤ ∧ m ∈ ℕ 0 ∧ ¬ 2 ∥ - N - 1 2 m
79 74 78 bitrd ⊢ N ∈ ℤ → m ∈ ℕ 0 ∧ ¬ m ∈ bits ⁡ N ↔ - N - 1 ∈ ℤ ∧ m ∈ ℕ 0 ∧ ¬ 2 ∥ - N - 1 2 m
80 eldif ⊢ m ∈ ℕ 0 ∖ bits ⁡ N ↔ m ∈ ℕ 0 ∧ ¬ m ∈ bits ⁡ N
81 bitsval ⊢ m ∈ bits ⁡ - N - 1 ↔ - N - 1 ∈ ℤ ∧ m ∈ ℕ 0 ∧ ¬ 2 ∥ - N - 1 2 m
82 3anass ⊢ - N - 1 ∈ ℤ ∧ m ∈ ℕ 0 ∧ ¬ 2 ∥ - N - 1 2 m ↔ - N - 1 ∈ ℤ ∧ m ∈ ℕ 0 ∧ ¬ 2 ∥ - N - 1 2 m
83 81 82 bitri ⊢ m ∈ bits ⁡ - N - 1 ↔ - N - 1 ∈ ℤ ∧ m ∈ ℕ 0 ∧ ¬ 2 ∥ - N - 1 2 m
84 79 80 83 3bitr4g ⊢ N ∈ ℤ → m ∈ ℕ 0 ∖ bits ⁡ N ↔ m ∈ bits ⁡ - N - 1
85 84 eqrdv ⊢ N ∈ ℤ → ℕ 0 ∖ bits ⁡ N = bits ⁡ - N - 1