Database
ELEMENTARY NUMBER THEORY
Elementary properties of divisibility
Bit sequences
bitsinv1lem
Next ⟩
bitsinv1
Metamath Proof Explorer
Ascii
Unicode
Theorem
bitsinv1lem
Description:
Lemma for
bitsinv1
.
(Contributed by
Mario Carneiro
, 22-Sep-2016)
Ref
Expression
Assertion
bitsinv1lem
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
=
N
mod
2
M
+
if
M
∈
bits
N
2
M
0
Proof
Step
Hyp
Ref
Expression
1
oveq2
⊢
2
M
=
if
M
∈
bits
N
2
M
0
→
N
mod
2
M
+
2
M
=
N
mod
2
M
+
if
M
∈
bits
N
2
M
0
2
1
eqeq2d
⊢
2
M
=
if
M
∈
bits
N
2
M
0
→
N
mod
2
M
+
1
=
N
mod
2
M
+
2
M
↔
N
mod
2
M
+
1
=
N
mod
2
M
+
if
M
∈
bits
N
2
M
0
3
oveq2
⊢
0
=
if
M
∈
bits
N
2
M
0
→
N
mod
2
M
+
0
=
N
mod
2
M
+
if
M
∈
bits
N
2
M
0
4
3
eqeq2d
⊢
0
=
if
M
∈
bits
N
2
M
0
→
N
mod
2
M
+
1
=
N
mod
2
M
+
0
↔
N
mod
2
M
+
1
=
N
mod
2
M
+
if
M
∈
bits
N
2
M
0
5
simpl
⊢
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
zmodcld
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
∈
ℕ
0
11
10
nn0cnd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
∈
ℂ
12
11
adantr
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
M
∈
bits
N
→
N
mod
2
M
∈
ℂ
13
1nn0
⊢
1
∈
ℕ
0
14
13
a1i
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
1
∈
ℕ
0
15
8
14
nn0addcld
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
M
+
1
∈
ℕ
0
16
7
15
nnexpcld
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
M
+
1
∈
ℕ
17
5
16
zmodcld
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
∈
ℕ
0
18
17
nn0cnd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
∈
ℂ
19
18
adantr
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
M
∈
bits
N
→
N
mod
2
M
+
1
∈
ℂ
20
12
19
pncan3d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
M
∈
bits
N
→
N
mod
2
M
+
N
mod
2
M
+
1
-
N
mod
2
M
=
N
mod
2
M
+
1
21
18
11
subcld
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
−
N
mod
2
M
∈
ℂ
22
21
adantr
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
M
∈
bits
N
→
N
mod
2
M
+
1
−
N
mod
2
M
∈
ℂ
23
6
a1i
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
M
∈
bits
N
→
2
∈
ℕ
24
simplr
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
M
∈
bits
N
→
M
∈
ℕ
0
25
23
24
nnexpcld
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
M
∈
bits
N
→
2
M
∈
ℕ
26
25
nncnd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
M
∈
bits
N
→
2
M
∈
ℂ
27
2cnd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
∈
ℂ
28
2ne0
⊢
2
≠
0
29
28
a1i
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
≠
0
30
8
nn0zd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
M
∈
ℤ
31
27
29
30
expne0d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
M
≠
0
32
31
adantr
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
M
∈
bits
N
→
2
M
≠
0
33
z0even
⊢
2
∥
0
34
id
⊢
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
0
→
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
0
35
33
34
breqtrrid
⊢
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
0
→
2
∥
N
mod
2
M
+
1
−
N
mod
2
M
2
M
36
bitsval2
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
M
∈
bits
N
↔
¬
2
∥
N
2
M
37
5
zred
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
∈
ℝ
38
9
nnrpd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
M
∈
ℝ
+
39
moddiffl
⊢
N
∈
ℝ
∧
2
M
∈
ℝ
+
→
N
−
N
mod
2
M
2
M
=
N
2
M
40
37
38
39
syl2anc
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
−
N
mod
2
M
2
M
=
N
2
M
41
40
breq2d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
∥
N
−
N
mod
2
M
2
M
↔
2
∥
N
2
M
42
2z
⊢
2
∈
ℤ
43
42
a1i
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
∈
ℤ
44
moddifz
⊢
N
∈
ℝ
∧
2
M
∈
ℝ
+
→
N
−
N
mod
2
M
2
M
∈
ℤ
45
37
38
44
syl2anc
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
−
N
mod
2
M
2
M
∈
ℤ
46
5
zcnd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
∈
ℂ
47
46
11
18
nnncan1d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
-
N
mod
2
M
-
N
−
N
mod
2
M
+
1
=
N
mod
2
M
+
1
−
N
mod
2
M
48
47
oveq1d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
-
N
mod
2
M
-
N
−
N
mod
2
M
+
1
2
M
=
N
mod
2
M
+
1
−
N
mod
2
M
2
M
49
46
11
subcld
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
−
N
mod
2
M
∈
ℂ
50
46
18
subcld
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
−
N
mod
2
M
+
1
∈
ℂ
51
9
nncnd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
M
∈
ℂ
52
49
50
51
31
divsubdird
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
-
N
mod
2
M
-
N
−
N
mod
2
M
+
1
2
M
=
N
−
N
mod
2
M
2
M
−
N
−
N
mod
2
M
+
1
2
M
53
48
52
eqtr3d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
N
−
N
mod
2
M
2
M
−
N
−
N
mod
2
M
+
1
2
M
54
27
50
mulcomd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
N
−
N
mod
2
M
+
1
=
N
−
N
mod
2
M
+
1
⋅
2
55
27
51
mulcomd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
2
M
=
2
M
⋅
2
56
27
8
expp1d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
M
+
1
=
2
M
⋅
2
57
55
56
eqtr4d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
2
M
=
2
M
+
1
58
54
57
oveq12d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
N
−
N
mod
2
M
+
1
2
2
M
=
N
−
N
mod
2
M
+
1
⋅
2
2
M
+
1
59
50
51
27
31
29
divcan5d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
N
−
N
mod
2
M
+
1
2
2
M
=
N
−
N
mod
2
M
+
1
2
M
60
16
nncnd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
M
+
1
∈
ℂ
61
30
peano2zd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
M
+
1
∈
ℤ
62
27
29
61
expne0d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
M
+
1
≠
0
63
50
27
60
62
div23d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
−
N
mod
2
M
+
1
⋅
2
2
M
+
1
=
N
−
N
mod
2
M
+
1
2
M
+
1
⋅
2
64
58
59
63
3eqtr3d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
−
N
mod
2
M
+
1
2
M
=
N
−
N
mod
2
M
+
1
2
M
+
1
⋅
2
65
16
nnrpd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
M
+
1
∈
ℝ
+
66
moddifz
⊢
N
∈
ℝ
∧
2
M
+
1
∈
ℝ
+
→
N
−
N
mod
2
M
+
1
2
M
+
1
∈
ℤ
67
37
65
66
syl2anc
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
−
N
mod
2
M
+
1
2
M
+
1
∈
ℤ
68
67
43
zmulcld
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
−
N
mod
2
M
+
1
2
M
+
1
⋅
2
∈
ℤ
69
64
68
eqeltrd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
−
N
mod
2
M
+
1
2
M
∈
ℤ
70
45
69
zsubcld
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
−
N
mod
2
M
2
M
−
N
−
N
mod
2
M
+
1
2
M
∈
ℤ
71
53
70
eqeltrd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
−
N
mod
2
M
2
M
∈
ℤ
72
dvdsmul2
⊢
N
−
N
mod
2
M
+
1
2
M
+
1
∈
ℤ
∧
2
∈
ℤ
→
2
∥
N
−
N
mod
2
M
+
1
2
M
+
1
⋅
2
73
67
43
72
syl2anc
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
∥
N
−
N
mod
2
M
+
1
2
M
+
1
⋅
2
74
46
18
11
nnncan2d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
-
N
mod
2
M
-
N
mod
2
M
+
1
−
N
mod
2
M
=
N
−
N
mod
2
M
+
1
75
74
oveq1d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
-
N
mod
2
M
-
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
N
−
N
mod
2
M
+
1
2
M
76
49
21
51
31
divsubdird
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
-
N
mod
2
M
-
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
N
−
N
mod
2
M
2
M
−
N
mod
2
M
+
1
−
N
mod
2
M
2
M
77
75
76
64
3eqtr3d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
−
N
mod
2
M
2
M
−
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
N
−
N
mod
2
M
+
1
2
M
+
1
⋅
2
78
73
77
breqtrrd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
∥
N
−
N
mod
2
M
2
M
−
N
mod
2
M
+
1
−
N
mod
2
M
2
M
79
dvdssub2
⊢
2
∈
ℤ
∧
N
−
N
mod
2
M
2
M
∈
ℤ
∧
N
mod
2
M
+
1
−
N
mod
2
M
2
M
∈
ℤ
∧
2
∥
N
−
N
mod
2
M
2
M
−
N
mod
2
M
+
1
−
N
mod
2
M
2
M
→
2
∥
N
−
N
mod
2
M
2
M
↔
2
∥
N
mod
2
M
+
1
−
N
mod
2
M
2
M
80
43
45
71
78
79
syl31anc
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
∥
N
−
N
mod
2
M
2
M
↔
2
∥
N
mod
2
M
+
1
−
N
mod
2
M
2
M
81
41
80
bitr3d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
∥
N
2
M
↔
2
∥
N
mod
2
M
+
1
−
N
mod
2
M
2
M
82
81
notbid
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
¬
2
∥
N
2
M
↔
¬
2
∥
N
mod
2
M
+
1
−
N
mod
2
M
2
M
83
36
82
bitrd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
M
∈
bits
N
↔
¬
2
∥
N
mod
2
M
+
1
−
N
mod
2
M
2
M
84
83
con2bid
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
∥
N
mod
2
M
+
1
−
N
mod
2
M
2
M
↔
¬
M
∈
bits
N
85
35
84
imbitrid
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
0
→
¬
M
∈
bits
N
86
85
con2d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
M
∈
bits
N
→
¬
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
0
87
df-neg
⊢
−
1
=
0
−
1
88
51
mulm1d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
-1
2
M
=
−
2
M
89
9
nnred
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
M
∈
ℝ
90
89
renegcld
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
−
2
M
∈
ℝ
91
37
38
modcld
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
∈
ℝ
92
91
renegcld
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
−
N
mod
2
M
∈
ℝ
93
37
65
modcld
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
∈
ℝ
94
93
91
resubcld
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
−
N
mod
2
M
∈
ℝ
95
modlt
⊢
N
∈
ℝ
∧
2
M
∈
ℝ
+
→
N
mod
2
M
<
2
M
96
37
38
95
syl2anc
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
<
2
M
97
91
89
ltnegd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
<
2
M
↔
−
2
M
<
−
N
mod
2
M
98
96
97
mpbid
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
−
2
M
<
−
N
mod
2
M
99
df-neg
⊢
−
N
mod
2
M
=
0
−
N
mod
2
M
100
0red
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
0
∈
ℝ
101
modge0
⊢
N
∈
ℝ
∧
2
M
+
1
∈
ℝ
+
→
0
≤
N
mod
2
M
+
1
102
37
65
101
syl2anc
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
0
≤
N
mod
2
M
+
1
103
100
93
91
102
lesub1dd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
0
−
N
mod
2
M
≤
N
mod
2
M
+
1
−
N
mod
2
M
104
99
103
eqbrtrid
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
−
N
mod
2
M
≤
N
mod
2
M
+
1
−
N
mod
2
M
105
90
92
94
98
104
ltletrd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
−
2
M
<
N
mod
2
M
+
1
−
N
mod
2
M
106
88
105
eqbrtrd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
-1
2
M
<
N
mod
2
M
+
1
−
N
mod
2
M
107
1red
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
1
∈
ℝ
108
107
renegcld
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
−
1
∈
ℝ
109
108
94
38
ltmuldivd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
-1
2
M
<
N
mod
2
M
+
1
−
N
mod
2
M
↔
−
1
<
N
mod
2
M
+
1
−
N
mod
2
M
2
M
110
106
109
mpbid
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
−
1
<
N
mod
2
M
+
1
−
N
mod
2
M
2
M
111
87
110
eqbrtrrid
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
0
−
1
<
N
mod
2
M
+
1
−
N
mod
2
M
2
M
112
0zd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
0
∈
ℤ
113
zlem1lt
⊢
0
∈
ℤ
∧
N
mod
2
M
+
1
−
N
mod
2
M
2
M
∈
ℤ
→
0
≤
N
mod
2
M
+
1
−
N
mod
2
M
2
M
↔
0
−
1
<
N
mod
2
M
+
1
−
N
mod
2
M
2
M
114
112
71
113
syl2anc
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
0
≤
N
mod
2
M
+
1
−
N
mod
2
M
2
M
↔
0
−
1
<
N
mod
2
M
+
1
−
N
mod
2
M
2
M
115
111
114
mpbird
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
0
≤
N
mod
2
M
+
1
−
N
mod
2
M
2
M
116
elnn0z
⊢
N
mod
2
M
+
1
−
N
mod
2
M
2
M
∈
ℕ
0
↔
N
mod
2
M
+
1
−
N
mod
2
M
2
M
∈
ℤ
∧
0
≤
N
mod
2
M
+
1
−
N
mod
2
M
2
M
117
71
115
116
sylanbrc
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
−
N
mod
2
M
2
M
∈
ℕ
0
118
nn0uz
⊢
ℕ
0
=
ℤ
≥
0
119
117
118
eleqtrdi
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
−
N
mod
2
M
2
M
∈
ℤ
≥
0
120
16
nnred
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
M
+
1
∈
ℝ
121
modge0
⊢
N
∈
ℝ
∧
2
M
∈
ℝ
+
→
0
≤
N
mod
2
M
122
37
38
121
syl2anc
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
0
≤
N
mod
2
M
123
93
91
subge02d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
0
≤
N
mod
2
M
↔
N
mod
2
M
+
1
−
N
mod
2
M
≤
N
mod
2
M
+
1
124
122
123
mpbid
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
−
N
mod
2
M
≤
N
mod
2
M
+
1
125
modlt
⊢
N
∈
ℝ
∧
2
M
+
1
∈
ℝ
+
→
N
mod
2
M
+
1
<
2
M
+
1
126
37
65
125
syl2anc
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
<
2
M
+
1
127
94
93
120
124
126
lelttrd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
−
N
mod
2
M
<
2
M
+
1
128
127
56
breqtrd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
−
N
mod
2
M
<
2
M
⋅
2
129
7
nnred
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
2
∈
ℝ
130
94
129
38
ltdivmuld
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
−
N
mod
2
M
2
M
<
2
↔
N
mod
2
M
+
1
−
N
mod
2
M
<
2
M
⋅
2
131
128
130
mpbird
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
−
N
mod
2
M
2
M
<
2
132
elfzo2
⊢
N
mod
2
M
+
1
−
N
mod
2
M
2
M
∈
0
..^
2
↔
N
mod
2
M
+
1
−
N
mod
2
M
2
M
∈
ℤ
≥
0
∧
2
∈
ℤ
∧
N
mod
2
M
+
1
−
N
mod
2
M
2
M
<
2
133
119
43
131
132
syl3anbrc
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
−
N
mod
2
M
2
M
∈
0
..^
2
134
fzo0to2pr
⊢
0
..^
2
=
0
1
135
133
134
eleqtrdi
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
−
N
mod
2
M
2
M
∈
0
1
136
elpri
⊢
N
mod
2
M
+
1
−
N
mod
2
M
2
M
∈
0
1
→
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
0
∨
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
1
137
135
136
syl
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
0
∨
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
1
138
137
ord
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
¬
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
0
→
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
1
139
86
138
syld
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
M
∈
bits
N
→
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
1
140
139
imp
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
M
∈
bits
N
→
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
1
141
22
26
32
140
diveq1d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
M
∈
bits
N
→
N
mod
2
M
+
1
−
N
mod
2
M
=
2
M
142
141
oveq2d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
M
∈
bits
N
→
N
mod
2
M
+
N
mod
2
M
+
1
-
N
mod
2
M
=
N
mod
2
M
+
2
M
143
20
142
eqtr3d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
M
∈
bits
N
→
N
mod
2
M
+
1
=
N
mod
2
M
+
2
M
144
18
adantr
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
¬
M
∈
bits
N
→
N
mod
2
M
+
1
∈
ℂ
145
11
adantr
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
¬
M
∈
bits
N
→
N
mod
2
M
∈
ℂ
146
21
adantr
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
¬
M
∈
bits
N
→
N
mod
2
M
+
1
−
N
mod
2
M
∈
ℂ
147
51
adantr
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
¬
M
∈
bits
N
→
2
M
∈
ℂ
148
31
adantr
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
¬
M
∈
bits
N
→
2
M
≠
0
149
n2dvds1
⊢
¬
2
∥
1
150
breq2
⊢
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
1
→
2
∥
N
mod
2
M
+
1
−
N
mod
2
M
2
M
↔
2
∥
1
151
149
150
mtbiri
⊢
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
1
→
¬
2
∥
N
mod
2
M
+
1
−
N
mod
2
M
2
M
152
138
151
syl6
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
¬
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
0
→
¬
2
∥
N
mod
2
M
+
1
−
N
mod
2
M
2
M
153
152
83
sylibrd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
¬
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
0
→
M
∈
bits
N
154
153
con1d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
¬
M
∈
bits
N
→
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
0
155
154
imp
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
¬
M
∈
bits
N
→
N
mod
2
M
+
1
−
N
mod
2
M
2
M
=
0
156
146
147
148
155
diveq0d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
¬
M
∈
bits
N
→
N
mod
2
M
+
1
−
N
mod
2
M
=
0
157
144
145
156
subeq0d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
¬
M
∈
bits
N
→
N
mod
2
M
+
1
=
N
mod
2
M
158
145
addridd
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
¬
M
∈
bits
N
→
N
mod
2
M
+
0
=
N
mod
2
M
159
157
158
eqtr4d
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
∧
¬
M
∈
bits
N
→
N
mod
2
M
+
1
=
N
mod
2
M
+
0
160
2
4
143
159
ifbothda
⊢
N
∈
ℤ
∧
M
∈
ℕ
0
→
N
mod
2
M
+
1
=
N
mod
2
M
+
if
M
∈
bits
N
2
M
0