Metamath Proof Explorer


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