Database
ELEMENTARY NUMBER THEORY
Elementary properties of divisibility
Bit sequences
sadadd2lem
Next ⟩
sadadd2
Metamath Proof Explorer
Ascii
Unicode
Theorem
sadadd2lem
Description:
Lemma for
sadadd2
.
(Contributed by
Mario Carneiro
, 9-Sep-2016)
Ref
Expression
Hypotheses
sadval.a
⊢
φ
→
A
⊆
ℕ
0
sadval.b
⊢
φ
→
B
⊆
ℕ
0
sadval.c
⊢
C
=
seq
0
c
∈
2
𝑜
,
m
∈
ℕ
0
⟼
if
cadd
m
∈
A
m
∈
B
∅
∈
c
1
𝑜
∅
n
∈
ℕ
0
⟼
if
n
=
0
∅
n
−
1
sadcp1.n
⊢
φ
→
N
∈
ℕ
0
sadcadd.k
⊢
K
=
bits
↾
ℕ
0
-1
sadadd2lem.1
⊢
φ
→
K
A
sadd
B
∩
0
..^
N
+
if
∅
∈
C
N
2
N
0
=
K
A
∩
0
..^
N
+
K
B
∩
0
..^
N
Assertion
sadadd2lem
⊢
φ
→
K
A
sadd
B
∩
0
..^
N
+
1
+
if
∅
∈
C
N
+
1
2
N
+
1
0
=
K
A
∩
0
..^
N
+
1
+
K
B
∩
0
..^
N
+
1
Proof
Step
Hyp
Ref
Expression
1
sadval.a
⊢
φ
→
A
⊆
ℕ
0
2
sadval.b
⊢
φ
→
B
⊆
ℕ
0
3
sadval.c
⊢
C
=
seq
0
c
∈
2
𝑜
,
m
∈
ℕ
0
⟼
if
cadd
m
∈
A
m
∈
B
∅
∈
c
1
𝑜
∅
n
∈
ℕ
0
⟼
if
n
=
0
∅
n
−
1
4
sadcp1.n
⊢
φ
→
N
∈
ℕ
0
5
sadcadd.k
⊢
K
=
bits
↾
ℕ
0
-1
6
sadadd2lem.1
⊢
φ
→
K
A
sadd
B
∩
0
..^
N
+
if
∅
∈
C
N
2
N
0
=
K
A
∩
0
..^
N
+
K
B
∩
0
..^
N
7
inss1
⊢
A
sadd
B
∩
0
..^
N
⊆
A
sadd
B
8
1
2
3
sadfval
⊢
φ
→
A
sadd
B
=
k
∈
ℕ
0
|
hadd
k
∈
A
k
∈
B
∅
∈
C
k
9
ssrab2
⊢
k
∈
ℕ
0
|
hadd
k
∈
A
k
∈
B
∅
∈
C
k
⊆
ℕ
0
10
8
9
eqsstrdi
⊢
φ
→
A
sadd
B
⊆
ℕ
0
11
7
10
sstrid
⊢
φ
→
A
sadd
B
∩
0
..^
N
⊆
ℕ
0
12
fzofi
⊢
0
..^
N
∈
Fin
13
12
a1i
⊢
φ
→
0
..^
N
∈
Fin
14
inss2
⊢
A
sadd
B
∩
0
..^
N
⊆
0
..^
N
15
ssfi
⊢
0
..^
N
∈
Fin
∧
A
sadd
B
∩
0
..^
N
⊆
0
..^
N
→
A
sadd
B
∩
0
..^
N
∈
Fin
16
13
14
15
sylancl
⊢
φ
→
A
sadd
B
∩
0
..^
N
∈
Fin
17
elfpw
⊢
A
sadd
B
∩
0
..^
N
∈
𝒫
ℕ
0
∩
Fin
↔
A
sadd
B
∩
0
..^
N
⊆
ℕ
0
∧
A
sadd
B
∩
0
..^
N
∈
Fin
18
11
16
17
sylanbrc
⊢
φ
→
A
sadd
B
∩
0
..^
N
∈
𝒫
ℕ
0
∩
Fin
19
bitsf1o
⊢
bits
↾
ℕ
0
:
ℕ
0
⟶
1-1 onto
𝒫
ℕ
0
∩
Fin
20
f1ocnv
⊢
bits
↾
ℕ
0
:
ℕ
0
⟶
1-1 onto
𝒫
ℕ
0
∩
Fin
→
bits
↾
ℕ
0
-1
:
𝒫
ℕ
0
∩
Fin
⟶
1-1 onto
ℕ
0
21
f1of
⊢
bits
↾
ℕ
0
-1
:
𝒫
ℕ
0
∩
Fin
⟶
1-1 onto
ℕ
0
→
bits
↾
ℕ
0
-1
:
𝒫
ℕ
0
∩
Fin
⟶
ℕ
0
22
19
20
21
mp2b
⊢
bits
↾
ℕ
0
-1
:
𝒫
ℕ
0
∩
Fin
⟶
ℕ
0
23
5
feq1i
⊢
K
:
𝒫
ℕ
0
∩
Fin
⟶
ℕ
0
↔
bits
↾
ℕ
0
-1
:
𝒫
ℕ
0
∩
Fin
⟶
ℕ
0
24
22
23
mpbir
⊢
K
:
𝒫
ℕ
0
∩
Fin
⟶
ℕ
0
25
24
ffvelcdmi
⊢
A
sadd
B
∩
0
..^
N
∈
𝒫
ℕ
0
∩
Fin
→
K
A
sadd
B
∩
0
..^
N
∈
ℕ
0
26
18
25
syl
⊢
φ
→
K
A
sadd
B
∩
0
..^
N
∈
ℕ
0
27
26
nn0cnd
⊢
φ
→
K
A
sadd
B
∩
0
..^
N
∈
ℂ
28
2nn0
⊢
2
∈
ℕ
0
29
28
a1i
⊢
φ
→
2
∈
ℕ
0
30
29
4
nn0expcld
⊢
φ
→
2
N
∈
ℕ
0
31
0nn0
⊢
0
∈
ℕ
0
32
ifcl
⊢
2
N
∈
ℕ
0
∧
0
∈
ℕ
0
→
if
N
∈
A
sadd
B
2
N
0
∈
ℕ
0
33
30
31
32
sylancl
⊢
φ
→
if
N
∈
A
sadd
B
2
N
0
∈
ℕ
0
34
33
nn0cnd
⊢
φ
→
if
N
∈
A
sadd
B
2
N
0
∈
ℂ
35
1nn0
⊢
1
∈
ℕ
0
36
35
a1i
⊢
φ
→
1
∈
ℕ
0
37
4
36
nn0addcld
⊢
φ
→
N
+
1
∈
ℕ
0
38
29
37
nn0expcld
⊢
φ
→
2
N
+
1
∈
ℕ
0
39
ifcl
⊢
2
N
+
1
∈
ℕ
0
∧
0
∈
ℕ
0
→
if
∅
∈
C
N
+
1
2
N
+
1
0
∈
ℕ
0
40
38
31
39
sylancl
⊢
φ
→
if
∅
∈
C
N
+
1
2
N
+
1
0
∈
ℕ
0
41
40
nn0cnd
⊢
φ
→
if
∅
∈
C
N
+
1
2
N
+
1
0
∈
ℂ
42
34
41
addcld
⊢
φ
→
if
N
∈
A
sadd
B
2
N
0
+
if
∅
∈
C
N
+
1
2
N
+
1
0
∈
ℂ
43
27
42
addcld
⊢
φ
→
K
A
sadd
B
∩
0
..^
N
+
if
N
∈
A
sadd
B
2
N
0
+
if
∅
∈
C
N
+
1
2
N
+
1
0
∈
ℂ
44
inss1
⊢
A
∩
0
..^
N
⊆
A
45
44
1
sstrid
⊢
φ
→
A
∩
0
..^
N
⊆
ℕ
0
46
inss2
⊢
A
∩
0
..^
N
⊆
0
..^
N
47
ssfi
⊢
0
..^
N
∈
Fin
∧
A
∩
0
..^
N
⊆
0
..^
N
→
A
∩
0
..^
N
∈
Fin
48
13
46
47
sylancl
⊢
φ
→
A
∩
0
..^
N
∈
Fin
49
elfpw
⊢
A
∩
0
..^
N
∈
𝒫
ℕ
0
∩
Fin
↔
A
∩
0
..^
N
⊆
ℕ
0
∧
A
∩
0
..^
N
∈
Fin
50
45
48
49
sylanbrc
⊢
φ
→
A
∩
0
..^
N
∈
𝒫
ℕ
0
∩
Fin
51
24
ffvelcdmi
⊢
A
∩
0
..^
N
∈
𝒫
ℕ
0
∩
Fin
→
K
A
∩
0
..^
N
∈
ℕ
0
52
50
51
syl
⊢
φ
→
K
A
∩
0
..^
N
∈
ℕ
0
53
52
nn0cnd
⊢
φ
→
K
A
∩
0
..^
N
∈
ℂ
54
inss1
⊢
B
∩
0
..^
N
⊆
B
55
54
2
sstrid
⊢
φ
→
B
∩
0
..^
N
⊆
ℕ
0
56
inss2
⊢
B
∩
0
..^
N
⊆
0
..^
N
57
ssfi
⊢
0
..^
N
∈
Fin
∧
B
∩
0
..^
N
⊆
0
..^
N
→
B
∩
0
..^
N
∈
Fin
58
13
56
57
sylancl
⊢
φ
→
B
∩
0
..^
N
∈
Fin
59
elfpw
⊢
B
∩
0
..^
N
∈
𝒫
ℕ
0
∩
Fin
↔
B
∩
0
..^
N
⊆
ℕ
0
∧
B
∩
0
..^
N
∈
Fin
60
55
58
59
sylanbrc
⊢
φ
→
B
∩
0
..^
N
∈
𝒫
ℕ
0
∩
Fin
61
24
ffvelcdmi
⊢
B
∩
0
..^
N
∈
𝒫
ℕ
0
∩
Fin
→
K
B
∩
0
..^
N
∈
ℕ
0
62
60
61
syl
⊢
φ
→
K
B
∩
0
..^
N
∈
ℕ
0
63
62
nn0cnd
⊢
φ
→
K
B
∩
0
..^
N
∈
ℂ
64
53
63
addcld
⊢
φ
→
K
A
∩
0
..^
N
+
K
B
∩
0
..^
N
∈
ℂ
65
ifcl
⊢
2
N
∈
ℕ
0
∧
0
∈
ℕ
0
→
if
N
∈
A
2
N
0
∈
ℕ
0
66
30
31
65
sylancl
⊢
φ
→
if
N
∈
A
2
N
0
∈
ℕ
0
67
66
nn0cnd
⊢
φ
→
if
N
∈
A
2
N
0
∈
ℂ
68
ifcl
⊢
2
N
∈
ℕ
0
∧
0
∈
ℕ
0
→
if
N
∈
B
2
N
0
∈
ℕ
0
69
30
31
68
sylancl
⊢
φ
→
if
N
∈
B
2
N
0
∈
ℕ
0
70
69
nn0cnd
⊢
φ
→
if
N
∈
B
2
N
0
∈
ℂ
71
67
70
addcld
⊢
φ
→
if
N
∈
A
2
N
0
+
if
N
∈
B
2
N
0
∈
ℂ
72
64
71
addcld
⊢
φ
→
K
A
∩
0
..^
N
+
K
B
∩
0
..^
N
+
if
N
∈
A
2
N
0
+
if
N
∈
B
2
N
0
∈
ℂ
73
30
nn0cnd
⊢
φ
→
2
N
∈
ℂ
74
73
adantr
⊢
φ
∧
∅
∈
C
N
→
2
N
∈
ℂ
75
0cnd
⊢
φ
∧
¬
∅
∈
C
N
→
0
∈
ℂ
76
74
75
ifclda
⊢
φ
→
if
∅
∈
C
N
2
N
0
∈
ℂ
77
1
2
3
4
sadval
⊢
φ
→
N
∈
A
sadd
B
↔
hadd
N
∈
A
N
∈
B
∅
∈
C
N
78
77
ifbid
⊢
φ
→
if
N
∈
A
sadd
B
2
N
0
=
if
hadd
N
∈
A
N
∈
B
∅
∈
C
N
2
N
0
79
1
2
3
4
sadcp1
⊢
φ
→
∅
∈
C
N
+
1
↔
cadd
N
∈
A
N
∈
B
∅
∈
C
N
80
29
nn0cnd
⊢
φ
→
2
∈
ℂ
81
80
4
expp1d
⊢
φ
→
2
N
+
1
=
2
N
⋅
2
82
73
80
mulcomd
⊢
φ
→
2
N
⋅
2
=
2
2
N
83
81
82
eqtrd
⊢
φ
→
2
N
+
1
=
2
2
N
84
79
83
ifbieq1d
⊢
φ
→
if
∅
∈
C
N
+
1
2
N
+
1
0
=
if
cadd
N
∈
A
N
∈
B
∅
∈
C
N
2
2
N
0
85
78
84
oveq12d
⊢
φ
→
if
N
∈
A
sadd
B
2
N
0
+
if
∅
∈
C
N
+
1
2
N
+
1
0
=
if
hadd
N
∈
A
N
∈
B
∅
∈
C
N
2
N
0
+
if
cadd
N
∈
A
N
∈
B
∅
∈
C
N
2
2
N
0
86
sadadd2lem2
⊢
2
N
∈
ℂ
→
if
hadd
N
∈
A
N
∈
B
∅
∈
C
N
2
N
0
+
if
cadd
N
∈
A
N
∈
B
∅
∈
C
N
2
2
N
0
=
if
N
∈
A
2
N
0
+
if
N
∈
B
2
N
0
+
if
∅
∈
C
N
2
N
0
87
73
86
syl
⊢
φ
→
if
hadd
N
∈
A
N
∈
B
∅
∈
C
N
2
N
0
+
if
cadd
N
∈
A
N
∈
B
∅
∈
C
N
2
2
N
0
=
if
N
∈
A
2
N
0
+
if
N
∈
B
2
N
0
+
if
∅
∈
C
N
2
N
0
88
85
87
eqtrd
⊢
φ
→
if
N
∈
A
sadd
B
2
N
0
+
if
∅
∈
C
N
+
1
2
N
+
1
0
=
if
N
∈
A
2
N
0
+
if
N
∈
B
2
N
0
+
if
∅
∈
C
N
2
N
0
89
6
88
oveq12d
⊢
φ
→
K
A
sadd
B
∩
0
..^
N
+
if
∅
∈
C
N
2
N
0
+
if
N
∈
A
sadd
B
2
N
0
+
if
∅
∈
C
N
+
1
2
N
+
1
0
=
K
A
∩
0
..^
N
+
K
B
∩
0
..^
N
+
if
N
∈
A
2
N
0
+
if
N
∈
B
2
N
0
+
if
∅
∈
C
N
2
N
0
90
27
42
76
add32d
⊢
φ
→
K
A
sadd
B
∩
0
..^
N
+
if
N
∈
A
sadd
B
2
N
0
+
if
∅
∈
C
N
+
1
2
N
+
1
0
+
if
∅
∈
C
N
2
N
0
=
K
A
sadd
B
∩
0
..^
N
+
if
∅
∈
C
N
2
N
0
+
if
N
∈
A
sadd
B
2
N
0
+
if
∅
∈
C
N
+
1
2
N
+
1
0
91
64
71
76
addassd
⊢
φ
→
K
A
∩
0
..^
N
+
K
B
∩
0
..^
N
+
if
N
∈
A
2
N
0
+
if
N
∈
B
2
N
0
+
if
∅
∈
C
N
2
N
0
=
K
A
∩
0
..^
N
+
K
B
∩
0
..^
N
+
if
N
∈
A
2
N
0
+
if
N
∈
B
2
N
0
+
if
∅
∈
C
N
2
N
0
92
89
90
91
3eqtr4d
⊢
φ
→
K
A
sadd
B
∩
0
..^
N
+
if
N
∈
A
sadd
B
2
N
0
+
if
∅
∈
C
N
+
1
2
N
+
1
0
+
if
∅
∈
C
N
2
N
0
=
K
A
∩
0
..^
N
+
K
B
∩
0
..^
N
+
if
N
∈
A
2
N
0
+
if
N
∈
B
2
N
0
+
if
∅
∈
C
N
2
N
0
93
43
72
76
92
addcan2ad
⊢
φ
→
K
A
sadd
B
∩
0
..^
N
+
if
N
∈
A
sadd
B
2
N
0
+
if
∅
∈
C
N
+
1
2
N
+
1
0
=
K
A
∩
0
..^
N
+
K
B
∩
0
..^
N
+
if
N
∈
A
2
N
0
+
if
N
∈
B
2
N
0
94
27
34
41
addassd
⊢
φ
→
K
A
sadd
B
∩
0
..^
N
+
if
N
∈
A
sadd
B
2
N
0
+
if
∅
∈
C
N
+
1
2
N
+
1
0
=
K
A
sadd
B
∩
0
..^
N
+
if
N
∈
A
sadd
B
2
N
0
+
if
∅
∈
C
N
+
1
2
N
+
1
0
95
53
67
63
70
add4d
⊢
φ
→
K
A
∩
0
..^
N
+
if
N
∈
A
2
N
0
+
K
B
∩
0
..^
N
+
if
N
∈
B
2
N
0
=
K
A
∩
0
..^
N
+
K
B
∩
0
..^
N
+
if
N
∈
A
2
N
0
+
if
N
∈
B
2
N
0
96
93
94
95
3eqtr4d
⊢
φ
→
K
A
sadd
B
∩
0
..^
N
+
if
N
∈
A
sadd
B
2
N
0
+
if
∅
∈
C
N
+
1
2
N
+
1
0
=
K
A
∩
0
..^
N
+
if
N
∈
A
2
N
0
+
K
B
∩
0
..^
N
+
if
N
∈
B
2
N
0
97
5
bitsinvp1
⊢
A
sadd
B
⊆
ℕ
0
∧
N
∈
ℕ
0
→
K
A
sadd
B
∩
0
..^
N
+
1
=
K
A
sadd
B
∩
0
..^
N
+
if
N
∈
A
sadd
B
2
N
0
98
10
4
97
syl2anc
⊢
φ
→
K
A
sadd
B
∩
0
..^
N
+
1
=
K
A
sadd
B
∩
0
..^
N
+
if
N
∈
A
sadd
B
2
N
0
99
98
oveq1d
⊢
φ
→
K
A
sadd
B
∩
0
..^
N
+
1
+
if
∅
∈
C
N
+
1
2
N
+
1
0
=
K
A
sadd
B
∩
0
..^
N
+
if
N
∈
A
sadd
B
2
N
0
+
if
∅
∈
C
N
+
1
2
N
+
1
0
100
5
bitsinvp1
⊢
A
⊆
ℕ
0
∧
N
∈
ℕ
0
→
K
A
∩
0
..^
N
+
1
=
K
A
∩
0
..^
N
+
if
N
∈
A
2
N
0
101
1
4
100
syl2anc
⊢
φ
→
K
A
∩
0
..^
N
+
1
=
K
A
∩
0
..^
N
+
if
N
∈
A
2
N
0
102
5
bitsinvp1
⊢
B
⊆
ℕ
0
∧
N
∈
ℕ
0
→
K
B
∩
0
..^
N
+
1
=
K
B
∩
0
..^
N
+
if
N
∈
B
2
N
0
103
2
4
102
syl2anc
⊢
φ
→
K
B
∩
0
..^
N
+
1
=
K
B
∩
0
..^
N
+
if
N
∈
B
2
N
0
104
101
103
oveq12d
⊢
φ
→
K
A
∩
0
..^
N
+
1
+
K
B
∩
0
..^
N
+
1
=
K
A
∩
0
..^
N
+
if
N
∈
A
2
N
0
+
K
B
∩
0
..^
N
+
if
N
∈
B
2
N
0
105
96
99
104
3eqtr4d
⊢
φ
→
K
A
sadd
B
∩
0
..^
N
+
1
+
if
∅
∈
C
N
+
1
2
N
+
1
0
=
K
A
∩
0
..^
N
+
1
+
K
B
∩
0
..^
N
+
1