Database
SUPPLEMENTARY MATERIAL (USERS' MATHBOXES)
Mathbox for Thierry Arnoux
Euler's partition theorem
eulerpartlemgc
Next ⟩
eulerpartleme
Metamath Proof Explorer
Ascii
Unicode
Theorem
eulerpartlemgc
Description:
Lemma for
eulerpart
.
(Contributed by
Thierry Arnoux
, 9-Aug-2018)
Ref
Expression
Hypotheses
eulerpartlems.r
⊢
R
=
f
|
f
-1
ℕ
∈
Fin
eulerpartlems.s
⊢
S
=
f
∈
ℕ
0
ℕ
∩
R
⟼
∑
k
∈
ℕ
f
k
k
Assertion
eulerpartlemgc
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
2
n
t
≤
S
A
Proof
Step
Hyp
Ref
Expression
1
eulerpartlems.r
⊢
R
=
f
|
f
-1
ℕ
∈
Fin
2
eulerpartlems.s
⊢
S
=
f
∈
ℕ
0
ℕ
∩
R
⟼
∑
k
∈
ℕ
f
k
k
3
2re
⊢
2
∈
ℝ
4
3
a1i
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
2
∈
ℝ
5
bitsss
⊢
bits
A
t
⊆
ℕ
0
6
simprr
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
n
∈
bits
A
t
7
5
6
sselid
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
n
∈
ℕ
0
8
4
7
reexpcld
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
2
n
∈
ℝ
9
simprl
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
t
∈
ℕ
10
9
nnred
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
t
∈
ℝ
11
8
10
remulcld
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
2
n
t
∈
ℝ
12
1
2
eulerpartlemelr
⊢
A
∈
ℕ
0
ℕ
∩
R
→
A
:
ℕ
⟶
ℕ
0
∧
A
-1
ℕ
∈
Fin
13
12
simpld
⊢
A
∈
ℕ
0
ℕ
∩
R
→
A
:
ℕ
⟶
ℕ
0
14
13
ffvelcdmda
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
→
A
t
∈
ℕ
0
15
14
adantrr
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
A
t
∈
ℕ
0
16
15
nn0red
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
A
t
∈
ℝ
17
16
10
remulcld
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
A
t
t
∈
ℝ
18
1
2
eulerpartlemsf
⊢
S
:
ℕ
0
ℕ
∩
R
⟶
ℕ
0
19
18
ffvelcdmi
⊢
A
∈
ℕ
0
ℕ
∩
R
→
S
A
∈
ℕ
0
20
19
adantr
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
S
A
∈
ℕ
0
21
20
nn0red
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
S
A
∈
ℝ
22
14
nn0red
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
→
A
t
∈
ℝ
23
22
adantrr
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
A
t
∈
ℝ
24
9
nnrpd
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
t
∈
ℝ
+
25
24
rprege0d
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
t
∈
ℝ
∧
0
≤
t
26
bitsfi
⊢
A
t
∈
ℕ
0
→
bits
A
t
∈
Fin
27
15
26
syl
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
bits
A
t
∈
Fin
28
3
a1i
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
∧
i
∈
bits
A
t
→
2
∈
ℝ
29
5
a1i
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
bits
A
t
⊆
ℕ
0
30
29
sselda
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
∧
i
∈
bits
A
t
→
i
∈
ℕ
0
31
28
30
reexpcld
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
∧
i
∈
bits
A
t
→
2
i
∈
ℝ
32
0le2
⊢
0
≤
2
33
32
a1i
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
∧
i
∈
bits
A
t
→
0
≤
2
34
28
30
33
expge0d
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
∧
i
∈
bits
A
t
→
0
≤
2
i
35
6
snssd
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
n
⊆
bits
A
t
36
27
31
34
35
fsumless
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
∑
i
∈
n
2
i
≤
∑
i
∈
bits
A
t
2
i
37
8
recnd
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
2
n
∈
ℂ
38
oveq2
⊢
i
=
n
→
2
i
=
2
n
39
38
sumsn
⊢
n
∈
bits
A
t
∧
2
n
∈
ℂ
→
∑
i
∈
n
2
i
=
2
n
40
6
37
39
syl2anc
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
∑
i
∈
n
2
i
=
2
n
41
bitsinv1
⊢
A
t
∈
ℕ
0
→
∑
i
∈
bits
A
t
2
i
=
A
t
42
15
41
syl
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
∑
i
∈
bits
A
t
2
i
=
A
t
43
36
40
42
3brtr3d
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
2
n
≤
A
t
44
lemul1a
⊢
2
n
∈
ℝ
∧
A
t
∈
ℝ
∧
t
∈
ℝ
∧
0
≤
t
∧
2
n
≤
A
t
→
2
n
t
≤
A
t
t
45
8
23
25
43
44
syl31anc
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
2
n
t
≤
A
t
t
46
fzfid
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
1
…
S
A
→
1
…
S
A
∈
Fin
47
elfznn
⊢
k
∈
1
…
S
A
→
k
∈
ℕ
48
ffvelcdm
⊢
A
:
ℕ
⟶
ℕ
0
∧
k
∈
ℕ
→
A
k
∈
ℕ
0
49
13
47
48
syl2an
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
k
∈
1
…
S
A
→
A
k
∈
ℕ
0
50
49
nn0red
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
k
∈
1
…
S
A
→
A
k
∈
ℝ
51
47
adantl
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
k
∈
1
…
S
A
→
k
∈
ℕ
52
51
nnred
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
k
∈
1
…
S
A
→
k
∈
ℝ
53
50
52
remulcld
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
k
∈
1
…
S
A
→
A
k
k
∈
ℝ
54
53
adantlr
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
1
…
S
A
∧
k
∈
1
…
S
A
→
A
k
k
∈
ℝ
55
49
nn0ge0d
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
k
∈
1
…
S
A
→
0
≤
A
k
56
0red
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
k
∈
1
…
S
A
→
0
∈
ℝ
57
51
nngt0d
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
k
∈
1
…
S
A
→
0
<
k
58
56
52
57
ltled
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
k
∈
1
…
S
A
→
0
≤
k
59
50
52
55
58
mulge0d
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
k
∈
1
…
S
A
→
0
≤
A
k
k
60
59
adantlr
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
1
…
S
A
∧
k
∈
1
…
S
A
→
0
≤
A
k
k
61
fveq2
⊢
k
=
t
→
A
k
=
A
t
62
id
⊢
k
=
t
→
k
=
t
63
61
62
oveq12d
⊢
k
=
t
→
A
k
k
=
A
t
t
64
simpr
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
1
…
S
A
→
t
∈
1
…
S
A
65
46
54
60
63
64
fsumge1
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
1
…
S
A
→
A
t
t
≤
∑
k
=
1
S
A
A
k
k
66
65
adantlr
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
t
∈
1
…
S
A
→
A
t
t
≤
∑
k
=
1
S
A
A
k
k
67
eldif
⊢
t
∈
ℕ
∖
1
…
S
A
↔
t
∈
ℕ
∧
¬
t
∈
1
…
S
A
68
nndiffz1
⊢
S
A
∈
ℕ
0
→
ℕ
∖
1
…
S
A
=
ℤ
≥
S
A
+
1
69
68
eleq2d
⊢
S
A
∈
ℕ
0
→
t
∈
ℕ
∖
1
…
S
A
↔
t
∈
ℤ
≥
S
A
+
1
70
19
69
syl
⊢
A
∈
ℕ
0
ℕ
∩
R
→
t
∈
ℕ
∖
1
…
S
A
↔
t
∈
ℤ
≥
S
A
+
1
71
70
pm5.32i
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∖
1
…
S
A
↔
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℤ
≥
S
A
+
1
72
1
2
eulerpartlems
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℤ
≥
S
A
+
1
→
A
t
=
0
73
71
72
sylbi
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∖
1
…
S
A
→
A
t
=
0
74
73
oveq1d
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∖
1
…
S
A
→
A
t
t
=
0
⋅
t
75
simpr
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∖
1
…
S
A
→
t
∈
ℕ
∖
1
…
S
A
76
75
eldifad
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∖
1
…
S
A
→
t
∈
ℕ
77
76
nncnd
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∖
1
…
S
A
→
t
∈
ℂ
78
77
mul02d
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∖
1
…
S
A
→
0
⋅
t
=
0
79
74
78
eqtrd
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∖
1
…
S
A
→
A
t
t
=
0
80
fzfid
⊢
A
∈
ℕ
0
ℕ
∩
R
→
1
…
S
A
∈
Fin
81
80
53
59
fsumge0
⊢
A
∈
ℕ
0
ℕ
∩
R
→
0
≤
∑
k
=
1
S
A
A
k
k
82
81
adantr
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∖
1
…
S
A
→
0
≤
∑
k
=
1
S
A
A
k
k
83
79
82
eqbrtrd
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∖
1
…
S
A
→
A
t
t
≤
∑
k
=
1
S
A
A
k
k
84
67
83
sylan2br
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
¬
t
∈
1
…
S
A
→
A
t
t
≤
∑
k
=
1
S
A
A
k
k
85
84
anassrs
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
¬
t
∈
1
…
S
A
→
A
t
t
≤
∑
k
=
1
S
A
A
k
k
86
66
85
pm2.61dan
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
→
A
t
t
≤
∑
k
=
1
S
A
A
k
k
87
1
2
eulerpartlemsv3
⊢
A
∈
ℕ
0
ℕ
∩
R
→
S
A
=
∑
k
=
1
S
A
A
k
k
88
87
adantr
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
→
S
A
=
∑
k
=
1
S
A
A
k
k
89
86
88
breqtrrd
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
→
A
t
t
≤
S
A
90
89
adantrr
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
A
t
t
≤
S
A
91
11
17
21
45
90
letrd
⊢
A
∈
ℕ
0
ℕ
∩
R
∧
t
∈
ℕ
∧
n
∈
bits
A
t
→
2
n
t
≤
S
A