Mathbox for Alexander van der Vekens < Previous   Next > Nearby theorems Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  nn0sumshdiglemB Structured version   Visualization version   GIF version

Theorem nn0sumshdiglemB 45031
 Description: Lemma for nn0sumshdig 45034 (induction step, odd multiplier). (Contributed by AV, 7-Jun-2020.)
Assertion
Ref Expression
nn0sumshdiglemB (((𝑎 ∈ ℕ ∧ ((𝑎 − 1) / 2) ∈ ℕ0) ∧ 𝑦 ∈ ℕ) → (∀𝑥 ∈ ℕ0 ((#b𝑥) = 𝑦𝑥 = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)𝑥) · (2↑𝑘))) → ((#b𝑎) = (𝑦 + 1) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)))))
Distinct variable group:   𝑘,𝑎,𝑥,𝑦

Proof of Theorem nn0sumshdiglemB
Dummy variable 𝑖 is distinct from all other variables.
StepHypRef Expression
1 elnn1uz2 12317 . . 3 (𝑎 ∈ ℕ ↔ (𝑎 = 1 ∨ 𝑎 ∈ (ℤ‘2)))
2 1t1e1 11791 . . . . . . . . 9 (1 · 1) = 1
32eqcomi 2810 . . . . . . . 8 1 = (1 · 1)
4 simpl 486 . . . . . . . 8 ((𝑎 = 1 ∧ (#b𝑎) = (𝑦 + 1)) → 𝑎 = 1)
5 oveq2 7147 . . . . . . . . . . . 12 ((𝑦 + 1) = (#b𝑎) → (0..^(𝑦 + 1)) = (0..^(#b𝑎)))
65eqcoms 2809 . . . . . . . . . . 11 ((#b𝑎) = (𝑦 + 1) → (0..^(𝑦 + 1)) = (0..^(#b𝑎)))
7 fveq2 6649 . . . . . . . . . . . . . 14 (𝑎 = 1 → (#b𝑎) = (#b‘1))
8 blen1 44995 . . . . . . . . . . . . . 14 (#b‘1) = 1
97, 8eqtrdi 2852 . . . . . . . . . . . . 13 (𝑎 = 1 → (#b𝑎) = 1)
109oveq2d 7155 . . . . . . . . . . . 12 (𝑎 = 1 → (0..^(#b𝑎)) = (0..^1))
11 fzo01 13118 . . . . . . . . . . . 12 (0..^1) = {0}
1210, 11eqtrdi 2852 . . . . . . . . . . 11 (𝑎 = 1 → (0..^(#b𝑎)) = {0})
136, 12sylan9eqr 2858 . . . . . . . . . 10 ((𝑎 = 1 ∧ (#b𝑎) = (𝑦 + 1)) → (0..^(𝑦 + 1)) = {0})
1413sumeq1d 15054 . . . . . . . . 9 ((𝑎 = 1 ∧ (#b𝑎) = (𝑦 + 1)) → Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)) = Σ𝑘 ∈ {0} ((𝑘(digit‘2)𝑎) · (2↑𝑘)))
15 oveq2 7147 . . . . . . . . . . . . 13 (𝑎 = 1 → (𝑘(digit‘2)𝑎) = (𝑘(digit‘2)1))
1615oveq1d 7154 . . . . . . . . . . . 12 (𝑎 = 1 → ((𝑘(digit‘2)𝑎) · (2↑𝑘)) = ((𝑘(digit‘2)1) · (2↑𝑘)))
1716sumeq2sdv 15057 . . . . . . . . . . 11 (𝑎 = 1 → Σ𝑘 ∈ {0} ((𝑘(digit‘2)𝑎) · (2↑𝑘)) = Σ𝑘 ∈ {0} ((𝑘(digit‘2)1) · (2↑𝑘)))
18 c0ex 10628 . . . . . . . . . . . 12 0 ∈ V
19 ax-1cn 10588 . . . . . . . . . . . . 13 1 ∈ ℂ
2019, 19mulcli 10641 . . . . . . . . . . . 12 (1 · 1) ∈ ℂ
21 oveq1 7146 . . . . . . . . . . . . . . 15 (𝑘 = 0 → (𝑘(digit‘2)1) = (0(digit‘2)1))
22 1ex 10630 . . . . . . . . . . . . . . . . 17 1 ∈ V
2322prid2 4662 . . . . . . . . . . . . . . . 16 1 ∈ {0, 1}
24 0dig2pr01 45021 . . . . . . . . . . . . . . . 16 (1 ∈ {0, 1} → (0(digit‘2)1) = 1)
2523, 24ax-mp 5 . . . . . . . . . . . . . . 15 (0(digit‘2)1) = 1
2621, 25eqtrdi 2852 . . . . . . . . . . . . . 14 (𝑘 = 0 → (𝑘(digit‘2)1) = 1)
27 oveq2 7147 . . . . . . . . . . . . . . 15 (𝑘 = 0 → (2↑𝑘) = (2↑0))
28 2cn 11704 . . . . . . . . . . . . . . . 16 2 ∈ ℂ
29 exp0 13433 . . . . . . . . . . . . . . . 16 (2 ∈ ℂ → (2↑0) = 1)
3028, 29ax-mp 5 . . . . . . . . . . . . . . 15 (2↑0) = 1
3127, 30eqtrdi 2852 . . . . . . . . . . . . . 14 (𝑘 = 0 → (2↑𝑘) = 1)
3226, 31oveq12d 7157 . . . . . . . . . . . . 13 (𝑘 = 0 → ((𝑘(digit‘2)1) · (2↑𝑘)) = (1 · 1))
3332sumsn 15097 . . . . . . . . . . . 12 ((0 ∈ V ∧ (1 · 1) ∈ ℂ) → Σ𝑘 ∈ {0} ((𝑘(digit‘2)1) · (2↑𝑘)) = (1 · 1))
3418, 20, 33mp2an 691 . . . . . . . . . . 11 Σ𝑘 ∈ {0} ((𝑘(digit‘2)1) · (2↑𝑘)) = (1 · 1)
3517, 34eqtrdi 2852 . . . . . . . . . 10 (𝑎 = 1 → Σ𝑘 ∈ {0} ((𝑘(digit‘2)𝑎) · (2↑𝑘)) = (1 · 1))
3635adantr 484 . . . . . . . . 9 ((𝑎 = 1 ∧ (#b𝑎) = (𝑦 + 1)) → Σ𝑘 ∈ {0} ((𝑘(digit‘2)𝑎) · (2↑𝑘)) = (1 · 1))
3714, 36eqtrd 2836 . . . . . . . 8 ((𝑎 = 1 ∧ (#b𝑎) = (𝑦 + 1)) → Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)) = (1 · 1))
383, 4, 373eqtr4a 2862 . . . . . . 7 ((𝑎 = 1 ∧ (#b𝑎) = (𝑦 + 1)) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)))
3938ex 416 . . . . . 6 (𝑎 = 1 → ((#b𝑎) = (𝑦 + 1) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘))))
4039a1d 25 . . . . 5 (𝑎 = 1 → (∀𝑥 ∈ ℕ0 ((#b𝑥) = 𝑦𝑥 = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)𝑥) · (2↑𝑘))) → ((#b𝑎) = (𝑦 + 1) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)))))
41402a1d 26 . . . 4 (𝑎 = 1 → (((𝑎 − 1) / 2) ∈ ℕ0 → (𝑦 ∈ ℕ → (∀𝑥 ∈ ℕ0 ((#b𝑥) = 𝑦𝑥 = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)𝑥) · (2↑𝑘))) → ((#b𝑎) = (𝑦 + 1) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)))))))
42 eluzge2nn0 12279 . . . . . . . . 9 (𝑎 ∈ (ℤ‘2) → 𝑎 ∈ ℕ0)
43 nn0ob 15729 . . . . . . . . . 10 (𝑎 ∈ ℕ0 → (((𝑎 + 1) / 2) ∈ ℕ0 ↔ ((𝑎 − 1) / 2) ∈ ℕ0))
4443bicomd 226 . . . . . . . . 9 (𝑎 ∈ ℕ0 → (((𝑎 − 1) / 2) ∈ ℕ0 ↔ ((𝑎 + 1) / 2) ∈ ℕ0))
4542, 44syl 17 . . . . . . . 8 (𝑎 ∈ (ℤ‘2) → (((𝑎 − 1) / 2) ∈ ℕ0 ↔ ((𝑎 + 1) / 2) ∈ ℕ0))
46 blennngt2o2 45003 . . . . . . . . 9 ((𝑎 ∈ (ℤ‘2) ∧ ((𝑎 + 1) / 2) ∈ ℕ0) → (#b𝑎) = ((#b‘((𝑎 − 1) / 2)) + 1))
4746ex 416 . . . . . . . 8 (𝑎 ∈ (ℤ‘2) → (((𝑎 + 1) / 2) ∈ ℕ0 → (#b𝑎) = ((#b‘((𝑎 − 1) / 2)) + 1)))
4845, 47sylbid 243 . . . . . . 7 (𝑎 ∈ (ℤ‘2) → (((𝑎 − 1) / 2) ∈ ℕ0 → (#b𝑎) = ((#b‘((𝑎 − 1) / 2)) + 1)))
4948imp 410 . . . . . 6 ((𝑎 ∈ (ℤ‘2) ∧ ((𝑎 − 1) / 2) ∈ ℕ0) → (#b𝑎) = ((#b‘((𝑎 − 1) / 2)) + 1))
50 fveqeq2 6658 . . . . . . . . . . . . 13 (𝑥 = ((𝑎 − 1) / 2) → ((#b𝑥) = 𝑦 ↔ (#b‘((𝑎 − 1) / 2)) = 𝑦))
51 id 22 . . . . . . . . . . . . . 14 (𝑥 = ((𝑎 − 1) / 2) → 𝑥 = ((𝑎 − 1) / 2))
52 oveq2 7147 . . . . . . . . . . . . . . . 16 (𝑥 = ((𝑎 − 1) / 2) → (𝑘(digit‘2)𝑥) = (𝑘(digit‘2)((𝑎 − 1) / 2)))
5352oveq1d 7154 . . . . . . . . . . . . . . 15 (𝑥 = ((𝑎 − 1) / 2) → ((𝑘(digit‘2)𝑥) · (2↑𝑘)) = ((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)))
5453sumeq2sdv 15057 . . . . . . . . . . . . . 14 (𝑥 = ((𝑎 − 1) / 2) → Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)𝑥) · (2↑𝑘)) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)))
5551, 54eqeq12d 2817 . . . . . . . . . . . . 13 (𝑥 = ((𝑎 − 1) / 2) → (𝑥 = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)𝑥) · (2↑𝑘)) ↔ ((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘))))
5650, 55imbi12d 348 . . . . . . . . . . . 12 (𝑥 = ((𝑎 − 1) / 2) → (((#b𝑥) = 𝑦𝑥 = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)𝑥) · (2↑𝑘))) ↔ ((#b‘((𝑎 − 1) / 2)) = 𝑦 → ((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)))))
5756rspcva 3572 . . . . . . . . . . 11 ((((𝑎 − 1) / 2) ∈ ℕ0 ∧ ∀𝑥 ∈ ℕ0 ((#b𝑥) = 𝑦𝑥 = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)𝑥) · (2↑𝑘)))) → ((#b‘((𝑎 − 1) / 2)) = 𝑦 → ((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘))))
58 eqeq1 2805 . . . . . . . . . . . . . . . 16 ((#b𝑎) = (𝑦 + 1) → ((#b𝑎) = ((#b‘((𝑎 − 1) / 2)) + 1) ↔ (𝑦 + 1) = ((#b‘((𝑎 − 1) / 2)) + 1)))
59 nncn 11637 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 ∈ ℕ → 𝑦 ∈ ℂ)
6059ad2antll 728 . . . . . . . . . . . . . . . . . . . 20 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → 𝑦 ∈ ℂ)
61 blennn0elnn 44988 . . . . . . . . . . . . . . . . . . . . . . 23 (((𝑎 − 1) / 2) ∈ ℕ0 → (#b‘((𝑎 − 1) / 2)) ∈ ℕ)
6261nncnd 11645 . . . . . . . . . . . . . . . . . . . . . 22 (((𝑎 − 1) / 2) ∈ ℕ0 → (#b‘((𝑎 − 1) / 2)) ∈ ℂ)
6362adantr 484 . . . . . . . . . . . . . . . . . . . . 21 ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) → (#b‘((𝑎 − 1) / 2)) ∈ ℂ)
6463ad2antrl 727 . . . . . . . . . . . . . . . . . . . 20 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → (#b‘((𝑎 − 1) / 2)) ∈ ℂ)
65 1cnd 10629 . . . . . . . . . . . . . . . . . . . 20 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → 1 ∈ ℂ)
6660, 64, 65addcan2d 10837 . . . . . . . . . . . . . . . . . . 19 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → ((𝑦 + 1) = ((#b‘((𝑎 − 1) / 2)) + 1) ↔ 𝑦 = (#b‘((𝑎 − 1) / 2))))
67 eqcom 2808 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = (#b‘((𝑎 − 1) / 2)) ↔ (#b‘((𝑎 − 1) / 2)) = 𝑦)
68 nnz 11996 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (𝑦 ∈ ℕ → 𝑦 ∈ ℤ)
6968ad2antll 728 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → 𝑦 ∈ ℤ)
70 fzval3 13105 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (𝑦 ∈ ℤ → (0...𝑦) = (0..^(𝑦 + 1)))
7169, 70syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → (0...𝑦) = (0..^(𝑦 + 1)))
7271eqcomd 2807 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → (0..^(𝑦 + 1)) = (0...𝑦))
7372sumeq1d 15054 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)) = Σ𝑘 ∈ (0...𝑦)((𝑘(digit‘2)𝑎) · (2↑𝑘)))
74 nnnn0 11896 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (𝑦 ∈ ℕ → 𝑦 ∈ ℕ0)
75 elnn0uz 12275 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (𝑦 ∈ ℕ0𝑦 ∈ (ℤ‘0))
7674, 75sylib 221 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (𝑦 ∈ ℕ → 𝑦 ∈ (ℤ‘0))
7776ad2antll 728 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → 𝑦 ∈ (ℤ‘0))
78 2nn 11702 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2 ∈ ℕ
7978a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑘 ∈ (0...𝑦)) → 2 ∈ ℕ)
80 elfzelz 12906 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑘 ∈ (0...𝑦) → 𝑘 ∈ ℤ)
8180adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑘 ∈ (0...𝑦)) → 𝑘 ∈ ℤ)
82 nn0rp0 12837 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (𝑎 ∈ ℕ0𝑎 ∈ (0[,)+∞))
8342, 82syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (𝑎 ∈ (ℤ‘2) → 𝑎 ∈ (0[,)+∞))
8483adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) → 𝑎 ∈ (0[,)+∞))
8584adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑘 ∈ (0...𝑦)) → 𝑎 ∈ (0[,)+∞))
86 digvalnn0 45010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((2 ∈ ℕ ∧ 𝑘 ∈ ℤ ∧ 𝑎 ∈ (0[,)+∞)) → (𝑘(digit‘2)𝑎) ∈ ℕ0)
8779, 81, 85, 86syl3anc 1368 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑘 ∈ (0...𝑦)) → (𝑘(digit‘2)𝑎) ∈ ℕ0)
8887ex 416 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) → (𝑘 ∈ (0...𝑦) → (𝑘(digit‘2)𝑎) ∈ ℕ0))
8988ad2antrl 727 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → (𝑘 ∈ (0...𝑦) → (𝑘(digit‘2)𝑎) ∈ ℕ0))
9089imp 410 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑘 ∈ (0...𝑦)) → (𝑘(digit‘2)𝑎) ∈ ℕ0)
9190nn0cnd 11949 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑘 ∈ (0...𝑦)) → (𝑘(digit‘2)𝑎) ∈ ℂ)
92 2nn0 11906 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2 ∈ ℕ0
9392a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (𝑘 ∈ (0...𝑦) → 2 ∈ ℕ0)
94 elfznn0 12999 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (𝑘 ∈ (0...𝑦) → 𝑘 ∈ ℕ0)
9593, 94nn0expcld 13607 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (𝑘 ∈ (0...𝑦) → (2↑𝑘) ∈ ℕ0)
9695nn0cnd 11949 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (𝑘 ∈ (0...𝑦) → (2↑𝑘) ∈ ℂ)
9796adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑘 ∈ (0...𝑦)) → (2↑𝑘) ∈ ℂ)
9891, 97mulcld 10654 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑘 ∈ (0...𝑦)) → ((𝑘(digit‘2)𝑎) · (2↑𝑘)) ∈ ℂ)
99 oveq1 7146 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (𝑘 = 0 → (𝑘(digit‘2)𝑎) = (0(digit‘2)𝑎))
10099, 27oveq12d 7157 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (𝑘 = 0 → ((𝑘(digit‘2)𝑎) · (2↑𝑘)) = ((0(digit‘2)𝑎) · (2↑0)))
10130oveq2i 7150 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((0(digit‘2)𝑎) · (2↑0)) = ((0(digit‘2)𝑎) · 1)
102100, 101eqtrdi 2852 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (𝑘 = 0 → ((𝑘(digit‘2)𝑎) · (2↑𝑘)) = ((0(digit‘2)𝑎) · 1))
10377, 98, 102fsum1p 15104 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → Σ𝑘 ∈ (0...𝑦)((𝑘(digit‘2)𝑎) · (2↑𝑘)) = (((0(digit‘2)𝑎) · 1) + Σ𝑘 ∈ ((0 + 1)...𝑦)((𝑘(digit‘2)𝑎) · (2↑𝑘))))
10442adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) → 𝑎 ∈ ℕ0)
10542, 43syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (𝑎 ∈ (ℤ‘2) → (((𝑎 + 1) / 2) ∈ ℕ0 ↔ ((𝑎 − 1) / 2) ∈ ℕ0))
106105biimparc 483 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) → ((𝑎 + 1) / 2) ∈ ℕ0)
107 0dig2nn0o 45024 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((𝑎 ∈ ℕ0 ∧ ((𝑎 + 1) / 2) ∈ ℕ0) → (0(digit‘2)𝑎) = 1)
108104, 106, 107syl2anc 587 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) → (0(digit‘2)𝑎) = 1)
109108ad2antrl 727 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → (0(digit‘2)𝑎) = 1)
110109oveq1d 7154 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → ((0(digit‘2)𝑎) · 1) = (1 · 1))
111110, 2eqtrdi 2852 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → ((0(digit‘2)𝑎) · 1) = 1)
112 1z 12004 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1 ∈ ℤ
113112a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → 1 ∈ ℤ)
114 0p1e1 11751 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (0 + 1) = 1
115114, 112eqeltri 2889 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (0 + 1) ∈ ℤ
116115a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → (0 + 1) ∈ ℤ)
11778a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑎 ∈ (ℤ‘2) ∧ 𝑘 ∈ ((0 + 1)...𝑦)) → 2 ∈ ℕ)
118 elfzelz 12906 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (𝑘 ∈ ((0 + 1)...𝑦) → 𝑘 ∈ ℤ)
119118adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑎 ∈ (ℤ‘2) ∧ 𝑘 ∈ ((0 + 1)...𝑦)) → 𝑘 ∈ ℤ)
12042adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((𝑎 ∈ (ℤ‘2) ∧ 𝑘 ∈ ((0 + 1)...𝑦)) → 𝑎 ∈ ℕ0)
121120, 82syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑎 ∈ (ℤ‘2) ∧ 𝑘 ∈ ((0 + 1)...𝑦)) → 𝑎 ∈ (0[,)+∞))
122117, 119, 121, 86syl3anc 1368 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((𝑎 ∈ (ℤ‘2) ∧ 𝑘 ∈ ((0 + 1)...𝑦)) → (𝑘(digit‘2)𝑎) ∈ ℕ0)
123122ex 416 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑎 ∈ (ℤ‘2) → (𝑘 ∈ ((0 + 1)...𝑦) → (𝑘(digit‘2)𝑎) ∈ ℕ0))
124123adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) → (𝑘 ∈ ((0 + 1)...𝑦) → (𝑘(digit‘2)𝑎) ∈ ℕ0))
125124ad2antrl 727 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → (𝑘 ∈ ((0 + 1)...𝑦) → (𝑘(digit‘2)𝑎) ∈ ℕ0))
126125imp 410 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑘 ∈ ((0 + 1)...𝑦)) → (𝑘(digit‘2)𝑎) ∈ ℕ0)
127126nn0cnd 11949 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑘 ∈ ((0 + 1)...𝑦)) → (𝑘(digit‘2)𝑎) ∈ ℂ)
128 2cnd 11707 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (𝑘 ∈ ((0 + 1)...𝑦) → 2 ∈ ℂ)
129 elfznn 12935 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑘 ∈ (1...𝑦) → 𝑘 ∈ ℕ)
130129nnnn0d 11947 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (𝑘 ∈ (1...𝑦) → 𝑘 ∈ ℕ0)
131114oveq1i 7149 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((0 + 1)...𝑦) = (1...𝑦)
132130, 131eleq2s 2911 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (𝑘 ∈ ((0 + 1)...𝑦) → 𝑘 ∈ ℕ0)
133128, 132expcld 13510 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (𝑘 ∈ ((0 + 1)...𝑦) → (2↑𝑘) ∈ ℂ)
134133adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑘 ∈ ((0 + 1)...𝑦)) → (2↑𝑘) ∈ ℂ)
135127, 134mulcld 10654 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑘 ∈ ((0 + 1)...𝑦)) → ((𝑘(digit‘2)𝑎) · (2↑𝑘)) ∈ ℂ)
136 oveq1 7146 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (𝑘 = (𝑖 + 1) → (𝑘(digit‘2)𝑎) = ((𝑖 + 1)(digit‘2)𝑎))
137 oveq2 7147 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (𝑘 = (𝑖 + 1) → (2↑𝑘) = (2↑(𝑖 + 1)))
138136, 137oveq12d 7157 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (𝑘 = (𝑖 + 1) → ((𝑘(digit‘2)𝑎) · (2↑𝑘)) = (((𝑖 + 1)(digit‘2)𝑎) · (2↑(𝑖 + 1))))
139113, 116, 69, 135, 138fsumshftm 15132 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → Σ𝑘 ∈ ((0 + 1)...𝑦)((𝑘(digit‘2)𝑎) · (2↑𝑘)) = Σ𝑖 ∈ (((0 + 1) − 1)...(𝑦 − 1))(((𝑖 + 1)(digit‘2)𝑎) · (2↑(𝑖 + 1))))
140111, 139oveq12d 7157 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → (((0(digit‘2)𝑎) · 1) + Σ𝑘 ∈ ((0 + 1)...𝑦)((𝑘(digit‘2)𝑎) · (2↑𝑘))) = (1 + Σ𝑖 ∈ (((0 + 1) − 1)...(𝑦 − 1))(((𝑖 + 1)(digit‘2)𝑎) · (2↑(𝑖 + 1)))))
14173, 103, 1403eqtrd 2840 . . . . . . . . . . . . . . . . . . . . . . . . 25 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)) = (1 + Σ𝑖 ∈ (((0 + 1) − 1)...(𝑦 − 1))(((𝑖 + 1)(digit‘2)𝑎) · (2↑(𝑖 + 1)))))
142141adantl 485 . . . . . . . . . . . . . . . . . . . . . . . 24 ((((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) ∧ ((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ))) → Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)) = (1 + Σ𝑖 ∈ (((0 + 1) − 1)...(𝑦 − 1))(((𝑖 + 1)(digit‘2)𝑎) · (2↑(𝑖 + 1)))))
14378a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑖 ∈ (0..^𝑦)) → 2 ∈ ℕ)
144 elfzoelz 13037 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (𝑖 ∈ (0..^𝑦) → 𝑖 ∈ ℤ)
145144adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑖 ∈ (0..^𝑦)) → 𝑖 ∈ ℤ)
146 nn0rp0 12837 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (((𝑎 − 1) / 2) ∈ ℕ0 → ((𝑎 − 1) / 2) ∈ (0[,)+∞))
147146adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) → ((𝑎 − 1) / 2) ∈ (0[,)+∞))
148147adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑖 ∈ (0..^𝑦)) → ((𝑎 − 1) / 2) ∈ (0[,)+∞))
149 digvalnn0 45010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((2 ∈ ℕ ∧ 𝑖 ∈ ℤ ∧ ((𝑎 − 1) / 2) ∈ (0[,)+∞)) → (𝑖(digit‘2)((𝑎 − 1) / 2)) ∈ ℕ0)
150143, 145, 148, 149syl3anc 1368 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑖 ∈ (0..^𝑦)) → (𝑖(digit‘2)((𝑎 − 1) / 2)) ∈ ℕ0)
151150nn0cnd 11949 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑖 ∈ (0..^𝑦)) → (𝑖(digit‘2)((𝑎 − 1) / 2)) ∈ ℂ)
152151ex 416 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) → (𝑖 ∈ (0..^𝑦) → (𝑖(digit‘2)((𝑎 − 1) / 2)) ∈ ℂ))
153152ad2antrl 727 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → (𝑖 ∈ (0..^𝑦) → (𝑖(digit‘2)((𝑎 − 1) / 2)) ∈ ℂ))
154153imp 410 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑖 ∈ (0..^𝑦)) → (𝑖(digit‘2)((𝑎 − 1) / 2)) ∈ ℂ)
15592a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑖 ∈ (0..^𝑦) → 2 ∈ ℕ0)
156 elfzonn0 13081 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑖 ∈ (0..^𝑦) → 𝑖 ∈ ℕ0)
157155, 156nn0expcld 13607 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (𝑖 ∈ (0..^𝑦) → (2↑𝑖) ∈ ℕ0)
158157nn0cnd 11949 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (𝑖 ∈ (0..^𝑦) → (2↑𝑖) ∈ ℂ)
159158adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑖 ∈ (0..^𝑦)) → (2↑𝑖) ∈ ℂ)
160 2cnd 11707 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑖 ∈ (0..^𝑦)) → 2 ∈ ℂ)
161154, 159, 160mulassd 10657 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑖 ∈ (0..^𝑦)) → (((𝑖(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑖)) · 2) = ((𝑖(digit‘2)((𝑎 − 1) / 2)) · ((2↑𝑖) · 2)))
162161eqcomd 2807 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑖 ∈ (0..^𝑦)) → ((𝑖(digit‘2)((𝑎 − 1) / 2)) · ((2↑𝑖) · 2)) = (((𝑖(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑖)) · 2))
163162sumeq2dv 15056 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → Σ𝑖 ∈ (0..^𝑦)((𝑖(digit‘2)((𝑎 − 1) / 2)) · ((2↑𝑖) · 2)) = Σ𝑖 ∈ (0..^𝑦)(((𝑖(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑖)) · 2))
164163adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) ∧ ((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ))) → Σ𝑖 ∈ (0..^𝑦)((𝑖(digit‘2)((𝑎 − 1) / 2)) · ((2↑𝑖) · 2)) = Σ𝑖 ∈ (0..^𝑦)(((𝑖(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑖)) · 2))
165 0cn 10626 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 0 ∈ ℂ
166 pncan1 11057 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (0 ∈ ℂ → ((0 + 1) − 1) = 0)
167165, 166ax-mp 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((0 + 1) − 1) = 0
168167a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (𝑦 ∈ ℕ → ((0 + 1) − 1) = 0)
169168oveq1d 7154 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (𝑦 ∈ ℕ → (((0 + 1) − 1)...(𝑦 − 1)) = (0...(𝑦 − 1)))
170 fzoval 13038 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (𝑦 ∈ ℤ → (0..^𝑦) = (0...(𝑦 − 1)))
17168, 170syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (𝑦 ∈ ℕ → (0..^𝑦) = (0...(𝑦 − 1)))
172169, 171eqtr4d 2839 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (𝑦 ∈ ℕ → (((0 + 1) − 1)...(𝑦 − 1)) = (0..^𝑦))
173172ad2antll 728 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → (((0 + 1) − 1)...(𝑦 − 1)) = (0..^𝑦))
174 simprlr 779 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → 𝑎 ∈ (ℤ‘2))
175 elfznn0 12999 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (𝑖 ∈ (0...(𝑦 − 1)) → 𝑖 ∈ ℕ0)
176167oveq1i 7149 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (((0 + 1) − 1)...(𝑦 − 1)) = (0...(𝑦 − 1))
177175, 176eleq2s 2911 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (𝑖 ∈ (((0 + 1) − 1)...(𝑦 − 1)) → 𝑖 ∈ ℕ0)
178 dignn0flhalf 45029 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((𝑎 ∈ (ℤ‘2) ∧ 𝑖 ∈ ℕ0) → ((𝑖 + 1)(digit‘2)𝑎) = (𝑖(digit‘2)(⌊‘(𝑎 / 2))))
179174, 177, 178syl2an 598 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑖 ∈ (((0 + 1) − 1)...(𝑦 − 1))) → ((𝑖 + 1)(digit‘2)𝑎) = (𝑖(digit‘2)(⌊‘(𝑎 / 2))))
180 eluzelz 12245 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (𝑎 ∈ (ℤ‘2) → 𝑎 ∈ ℤ)
181180adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((𝑎 ∈ (ℤ‘2) ∧ ((𝑎 − 1) / 2) ∈ ℕ0) → 𝑎 ∈ ℤ)
182 nn0z 11997 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 (((𝑎 − 1) / 2) ∈ ℕ0 → ((𝑎 − 1) / 2) ∈ ℤ)
183 zob 15704 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 (𝑎 ∈ ℤ → (((𝑎 + 1) / 2) ∈ ℤ ↔ ((𝑎 − 1) / 2) ∈ ℤ))
184180, 183syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 (𝑎 ∈ (ℤ‘2) → (((𝑎 + 1) / 2) ∈ ℤ ↔ ((𝑎 − 1) / 2) ∈ ℤ))
185182, 184syl5ibr 249 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (𝑎 ∈ (ℤ‘2) → (((𝑎 − 1) / 2) ∈ ℕ0 → ((𝑎 + 1) / 2) ∈ ℤ))
186185imp 410 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((𝑎 ∈ (ℤ‘2) ∧ ((𝑎 − 1) / 2) ∈ ℕ0) → ((𝑎 + 1) / 2) ∈ ℤ)
187181, 186jca 515 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑎 ∈ (ℤ‘2) ∧ ((𝑎 − 1) / 2) ∈ ℕ0) → (𝑎 ∈ ℤ ∧ ((𝑎 + 1) / 2) ∈ ℤ))
188187ancoms 462 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) → (𝑎 ∈ ℤ ∧ ((𝑎 + 1) / 2) ∈ ℤ))
189188ad2antrl 727 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → (𝑎 ∈ ℤ ∧ ((𝑎 + 1) / 2) ∈ ℤ))
190189adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑖 ∈ (((0 + 1) − 1)...(𝑦 − 1))) → (𝑎 ∈ ℤ ∧ ((𝑎 + 1) / 2) ∈ ℤ))
191 zofldiv2 44942 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((𝑎 ∈ ℤ ∧ ((𝑎 + 1) / 2) ∈ ℤ) → (⌊‘(𝑎 / 2)) = ((𝑎 − 1) / 2))
192190, 191syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑖 ∈ (((0 + 1) − 1)...(𝑦 − 1))) → (⌊‘(𝑎 / 2)) = ((𝑎 − 1) / 2))
193192oveq2d 7155 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑖 ∈ (((0 + 1) − 1)...(𝑦 − 1))) → (𝑖(digit‘2)(⌊‘(𝑎 / 2))) = (𝑖(digit‘2)((𝑎 − 1) / 2)))
194179, 193eqtrd 2836 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑖 ∈ (((0 + 1) − 1)...(𝑦 − 1))) → ((𝑖 + 1)(digit‘2)𝑎) = (𝑖(digit‘2)((𝑎 − 1) / 2)))
195 2cnd 11707 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (𝑖 ∈ (((0 + 1) − 1)...(𝑦 − 1)) → 2 ∈ ℂ)
196195, 177expp1d 13511 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (𝑖 ∈ (((0 + 1) − 1)...(𝑦 − 1)) → (2↑(𝑖 + 1)) = ((2↑𝑖) · 2))
197196adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑖 ∈ (((0 + 1) − 1)...(𝑦 − 1))) → (2↑(𝑖 + 1)) = ((2↑𝑖) · 2))
198194, 197oveq12d 7157 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) ∧ 𝑖 ∈ (((0 + 1) − 1)...(𝑦 − 1))) → (((𝑖 + 1)(digit‘2)𝑎) · (2↑(𝑖 + 1))) = ((𝑖(digit‘2)((𝑎 − 1) / 2)) · ((2↑𝑖) · 2)))
199173, 198sumeq12dv 15059 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → Σ𝑖 ∈ (((0 + 1) − 1)...(𝑦 − 1))(((𝑖 + 1)(digit‘2)𝑎) · (2↑(𝑖 + 1))) = Σ𝑖 ∈ (0..^𝑦)((𝑖(digit‘2)((𝑎 − 1) / 2)) · ((2↑𝑖) · 2)))
200199adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) ∧ ((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ))) → Σ𝑖 ∈ (((0 + 1) − 1)...(𝑦 − 1))(((𝑖 + 1)(digit‘2)𝑎) · (2↑(𝑖 + 1))) = Σ𝑖 ∈ (0..^𝑦)((𝑖(digit‘2)((𝑎 − 1) / 2)) · ((2↑𝑖) · 2)))
201 oveq1 7146 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑘 = 𝑖 → (𝑘(digit‘2)((𝑎 − 1) / 2)) = (𝑖(digit‘2)((𝑎 − 1) / 2)))
202 oveq2 7147 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑘 = 𝑖 → (2↑𝑘) = (2↑𝑖))
203201, 202oveq12d 7157 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (𝑘 = 𝑖 → ((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) = ((𝑖(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑖)))
204203cbvsumv 15049 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) = Σ𝑖 ∈ (0..^𝑦)((𝑖(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑖))
205204eqeq2i 2814 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) ↔ ((𝑎 − 1) / 2) = Σ𝑖 ∈ (0..^𝑦)((𝑖(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑖)))
206205biimpi 219 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) → ((𝑎 − 1) / 2) = Σ𝑖 ∈ (0..^𝑦)((𝑖(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑖)))
207206adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) ∧ ((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ))) → ((𝑎 − 1) / 2) = Σ𝑖 ∈ (0..^𝑦)((𝑖(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑖)))
208207oveq1d 7154 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) ∧ ((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ))) → (((𝑎 − 1) / 2) · 2) = (Σ𝑖 ∈ (0..^𝑦)((𝑖(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑖)) · 2))
209 fzofi 13341 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (0..^𝑦) ∈ Fin
210209a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) ∧ ((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ))) → (0..^𝑦) ∈ Fin)
211 2cnd 11707 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) ∧ ((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ))) → 2 ∈ ℂ)
212158adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑖 ∈ (0..^𝑦)) → (2↑𝑖) ∈ ℂ)
213151, 212mulcld 10654 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑖 ∈ (0..^𝑦)) → ((𝑖(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑖)) ∈ ℂ)
214213ex 416 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) → (𝑖 ∈ (0..^𝑦) → ((𝑖(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑖)) ∈ ℂ))
215214adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ) → (𝑖 ∈ (0..^𝑦) → ((𝑖(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑖)) ∈ ℂ))
216215ad2antll 728 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) ∧ ((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ))) → (𝑖 ∈ (0..^𝑦) → ((𝑖(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑖)) ∈ ℂ))
217216imp 410 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (((((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) ∧ ((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ))) ∧ 𝑖 ∈ (0..^𝑦)) → ((𝑖(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑖)) ∈ ℂ)
218210, 211, 217fsummulc1 15136 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) ∧ ((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ))) → (Σ𝑖 ∈ (0..^𝑦)((𝑖(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑖)) · 2) = Σ𝑖 ∈ (0..^𝑦)(((𝑖(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑖)) · 2))
219208, 218eqtrd 2836 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) ∧ ((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ))) → (((𝑎 − 1) / 2) · 2) = Σ𝑖 ∈ (0..^𝑦)(((𝑖(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑖)) · 2))
220164, 200, 2193eqtr4d 2846 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) ∧ ((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ))) → Σ𝑖 ∈ (((0 + 1) − 1)...(𝑦 − 1))(((𝑖 + 1)(digit‘2)𝑎) · (2↑(𝑖 + 1))) = (((𝑎 − 1) / 2) · 2))
221220oveq2d 7155 . . . . . . . . . . . . . . . . . . . . . . . 24 ((((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) ∧ ((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ))) → (1 + Σ𝑖 ∈ (((0 + 1) − 1)...(𝑦 − 1))(((𝑖 + 1)(digit‘2)𝑎) · (2↑(𝑖 + 1)))) = (1 + (((𝑎 − 1) / 2) · 2)))
222 eluzelcn 12247 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (𝑎 ∈ (ℤ‘2) → 𝑎 ∈ ℂ)
223 peano2cnm 10945 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (𝑎 ∈ ℂ → (𝑎 − 1) ∈ ℂ)
224222, 223syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (𝑎 ∈ (ℤ‘2) → (𝑎 − 1) ∈ ℂ)
225 2cnd 11707 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (𝑎 ∈ (ℤ‘2) → 2 ∈ ℂ)
226 2ne0 11733 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2 ≠ 0
227226a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (𝑎 ∈ (ℤ‘2) → 2 ≠ 0)
228224, 225, 2273jca 1125 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (𝑎 ∈ (ℤ‘2) → ((𝑎 − 1) ∈ ℂ ∧ 2 ∈ ℂ ∧ 2 ≠ 0))
229228adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) → ((𝑎 − 1) ∈ ℂ ∧ 2 ∈ ℂ ∧ 2 ≠ 0))
230 divcan1 11300 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (((𝑎 − 1) ∈ ℂ ∧ 2 ∈ ℂ ∧ 2 ≠ 0) → (((𝑎 − 1) / 2) · 2) = (𝑎 − 1))
231229, 230syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) → (((𝑎 − 1) / 2) · 2) = (𝑎 − 1))
232231oveq2d 7155 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) → (1 + (((𝑎 − 1) / 2) · 2)) = (1 + (𝑎 − 1)))
233 1cnd 10629 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (𝑎 ∈ (ℤ‘2) → 1 ∈ ℂ)
234233, 222jca 515 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (𝑎 ∈ (ℤ‘2) → (1 ∈ ℂ ∧ 𝑎 ∈ ℂ))
235234adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) → (1 ∈ ℂ ∧ 𝑎 ∈ ℂ))
236 pncan3 10887 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((1 ∈ ℂ ∧ 𝑎 ∈ ℂ) → (1 + (𝑎 − 1)) = 𝑎)
237235, 236syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) → (1 + (𝑎 − 1)) = 𝑎)
238232, 237eqtrd 2836 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) → (1 + (((𝑎 − 1) / 2) · 2)) = 𝑎)
239238adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . 25 (((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ) → (1 + (((𝑎 − 1) / 2) · 2)) = 𝑎)
240239ad2antll 728 . . . . . . . . . . . . . . . . . . . . . . . 24 ((((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) ∧ ((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ))) → (1 + (((𝑎 − 1) / 2) · 2)) = 𝑎)
241142, 221, 2403eqtrrd 2841 . . . . . . . . . . . . . . . . . . . . . . 23 ((((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) ∧ ((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ))) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)))
242241ex 416 . . . . . . . . . . . . . . . . . . . . . 22 (((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘)) → (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘))))
243242imim2i 16 . . . . . . . . . . . . . . . . . . . . 21 (((#b‘((𝑎 − 1) / 2)) = 𝑦 → ((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘))) → ((#b‘((𝑎 − 1) / 2)) = 𝑦 → (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)))))
244243com13 88 . . . . . . . . . . . . . . . . . . . 20 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → ((#b‘((𝑎 − 1) / 2)) = 𝑦 → (((#b‘((𝑎 − 1) / 2)) = 𝑦 → ((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘))) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)))))
24567, 244syl5bi 245 . . . . . . . . . . . . . . . . . . 19 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → (𝑦 = (#b‘((𝑎 − 1) / 2)) → (((#b‘((𝑎 − 1) / 2)) = 𝑦 → ((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘))) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)))))
24666, 245sylbid 243 . . . . . . . . . . . . . . . . . 18 (((#b𝑎) = (𝑦 + 1) ∧ ((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ)) → ((𝑦 + 1) = ((#b‘((𝑎 − 1) / 2)) + 1) → (((#b‘((𝑎 − 1) / 2)) = 𝑦 → ((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘))) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)))))
247246ex 416 . . . . . . . . . . . . . . . . 17 ((#b𝑎) = (𝑦 + 1) → (((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ) → ((𝑦 + 1) = ((#b‘((𝑎 − 1) / 2)) + 1) → (((#b‘((𝑎 − 1) / 2)) = 𝑦 → ((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘))) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘))))))
248247com23 86 . . . . . . . . . . . . . . . 16 ((#b𝑎) = (𝑦 + 1) → ((𝑦 + 1) = ((#b‘((𝑎 − 1) / 2)) + 1) → (((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ) → (((#b‘((𝑎 − 1) / 2)) = 𝑦 → ((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘))) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘))))))
24958, 248sylbid 243 . . . . . . . . . . . . . . 15 ((#b𝑎) = (𝑦 + 1) → ((#b𝑎) = ((#b‘((𝑎 − 1) / 2)) + 1) → (((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ) → (((#b‘((𝑎 − 1) / 2)) = 𝑦 → ((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘))) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘))))))
250249com23 86 . . . . . . . . . . . . . 14 ((#b𝑎) = (𝑦 + 1) → (((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ) → ((#b𝑎) = ((#b‘((𝑎 − 1) / 2)) + 1) → (((#b‘((𝑎 − 1) / 2)) = 𝑦 → ((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘))) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘))))))
251250com14 96 . . . . . . . . . . . . 13 (((#b‘((𝑎 − 1) / 2)) = 𝑦 → ((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘))) → (((((𝑎 − 1) / 2) ∈ ℕ0𝑎 ∈ (ℤ‘2)) ∧ 𝑦 ∈ ℕ) → ((#b𝑎) = ((#b‘((𝑎 − 1) / 2)) + 1) → ((#b𝑎) = (𝑦 + 1) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘))))))
252251exp4c 436 . . . . . . . . . . . 12 (((#b‘((𝑎 − 1) / 2)) = 𝑦 → ((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘))) → (((𝑎 − 1) / 2) ∈ ℕ0 → (𝑎 ∈ (ℤ‘2) → (𝑦 ∈ ℕ → ((#b𝑎) = ((#b‘((𝑎 − 1) / 2)) + 1) → ((#b𝑎) = (𝑦 + 1) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘))))))))
253252com35 98 . . . . . . . . . . 11 (((#b‘((𝑎 − 1) / 2)) = 𝑦 → ((𝑎 − 1) / 2) = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)((𝑎 − 1) / 2)) · (2↑𝑘))) → (((𝑎 − 1) / 2) ∈ ℕ0 → ((#b𝑎) = ((#b‘((𝑎 − 1) / 2)) + 1) → (𝑦 ∈ ℕ → (𝑎 ∈ (ℤ‘2) → ((#b𝑎) = (𝑦 + 1) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘))))))))
25457, 253syl 17 . . . . . . . . . 10 ((((𝑎 − 1) / 2) ∈ ℕ0 ∧ ∀𝑥 ∈ ℕ0 ((#b𝑥) = 𝑦𝑥 = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)𝑥) · (2↑𝑘)))) → (((𝑎 − 1) / 2) ∈ ℕ0 → ((#b𝑎) = ((#b‘((𝑎 − 1) / 2)) + 1) → (𝑦 ∈ ℕ → (𝑎 ∈ (ℤ‘2) → ((#b𝑎) = (𝑦 + 1) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘))))))))
255254ex 416 . . . . . . . . 9 (((𝑎 − 1) / 2) ∈ ℕ0 → (∀𝑥 ∈ ℕ0 ((#b𝑥) = 𝑦𝑥 = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)𝑥) · (2↑𝑘))) → (((𝑎 − 1) / 2) ∈ ℕ0 → ((#b𝑎) = ((#b‘((𝑎 − 1) / 2)) + 1) → (𝑦 ∈ ℕ → (𝑎 ∈ (ℤ‘2) → ((#b𝑎) = (𝑦 + 1) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)))))))))
256255pm2.43a 54 . . . . . . . 8 (((𝑎 − 1) / 2) ∈ ℕ0 → (∀𝑥 ∈ ℕ0 ((#b𝑥) = 𝑦𝑥 = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)𝑥) · (2↑𝑘))) → ((#b𝑎) = ((#b‘((𝑎 − 1) / 2)) + 1) → (𝑦 ∈ ℕ → (𝑎 ∈ (ℤ‘2) → ((#b𝑎) = (𝑦 + 1) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘))))))))
257256com25 99 . . . . . . 7 (((𝑎 − 1) / 2) ∈ ℕ0 → (𝑎 ∈ (ℤ‘2) → ((#b𝑎) = ((#b‘((𝑎 − 1) / 2)) + 1) → (𝑦 ∈ ℕ → (∀𝑥 ∈ ℕ0 ((#b𝑥) = 𝑦𝑥 = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)𝑥) · (2↑𝑘))) → ((#b𝑎) = (𝑦 + 1) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘))))))))
258257impcom 411 . . . . . 6 ((𝑎 ∈ (ℤ‘2) ∧ ((𝑎 − 1) / 2) ∈ ℕ0) → ((#b𝑎) = ((#b‘((𝑎 − 1) / 2)) + 1) → (𝑦 ∈ ℕ → (∀𝑥 ∈ ℕ0 ((#b𝑥) = 𝑦𝑥 = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)𝑥) · (2↑𝑘))) → ((#b𝑎) = (𝑦 + 1) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)))))))
25949, 258mpd 15 . . . . 5 ((𝑎 ∈ (ℤ‘2) ∧ ((𝑎 − 1) / 2) ∈ ℕ0) → (𝑦 ∈ ℕ → (∀𝑥 ∈ ℕ0 ((#b𝑥) = 𝑦𝑥 = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)𝑥) · (2↑𝑘))) → ((#b𝑎) = (𝑦 + 1) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘))))))
260259ex 416 . . . 4 (𝑎 ∈ (ℤ‘2) → (((𝑎 − 1) / 2) ∈ ℕ0 → (𝑦 ∈ ℕ → (∀𝑥 ∈ ℕ0 ((#b𝑥) = 𝑦𝑥 = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)𝑥) · (2↑𝑘))) → ((#b𝑎) = (𝑦 + 1) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)))))))
26141, 260jaoi 854 . . 3 ((𝑎 = 1 ∨ 𝑎 ∈ (ℤ‘2)) → (((𝑎 − 1) / 2) ∈ ℕ0 → (𝑦 ∈ ℕ → (∀𝑥 ∈ ℕ0 ((#b𝑥) = 𝑦𝑥 = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)𝑥) · (2↑𝑘))) → ((#b𝑎) = (𝑦 + 1) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)))))))
2621, 261sylbi 220 . 2 (𝑎 ∈ ℕ → (((𝑎 − 1) / 2) ∈ ℕ0 → (𝑦 ∈ ℕ → (∀𝑥 ∈ ℕ0 ((#b𝑥) = 𝑦𝑥 = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)𝑥) · (2↑𝑘))) → ((#b𝑎) = (𝑦 + 1) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)))))))
263262imp31 421 1 (((𝑎 ∈ ℕ ∧ ((𝑎 − 1) / 2) ∈ ℕ0) ∧ 𝑦 ∈ ℕ) → (∀𝑥 ∈ ℕ0 ((#b𝑥) = 𝑦𝑥 = Σ𝑘 ∈ (0..^𝑦)((𝑘(digit‘2)𝑥) · (2↑𝑘))) → ((#b𝑎) = (𝑦 + 1) → 𝑎 = Σ𝑘 ∈ (0..^(𝑦 + 1))((𝑘(digit‘2)𝑎) · (2↑𝑘)))))
 Colors of variables: wff setvar class Syntax hints:   → wi 4   ↔ wb 209   ∧ wa 399   ∨ wo 844   ∧ w3a 1084   = wceq 1538   ∈ wcel 2112   ≠ wne 2990  ∀wral 3109  Vcvv 3444  {csn 4528  {cpr 4530  ‘cfv 6328  (class class class)co 7139  Fincfn 8496  ℂcc 10528  0cc0 10530  1c1 10531   + caddc 10533   · cmul 10535  +∞cpnf 10665   − cmin 10863   / cdiv 11290  ℕcn 11629  2c2 11684  ℕ0cn0 11889  ℤcz 11973  ℤ≥cuz 12235  [,)cico 12732  ...cfz 12889  ..^cfzo 13032  ⌊cfl 13159  ↑cexp 13429  Σcsu 15038  #bcblen 44980  digitcdig 45006 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2114  ax-9 2122  ax-10 2143  ax-11 2159  ax-12 2176  ax-ext 2773  ax-rep 5157  ax-sep 5170  ax-nul 5177  ax-pow 5234  ax-pr 5298  ax-un 7445  ax-inf2 9092  ax-cnex 10586  ax-resscn 10587  ax-1cn 10588  ax-icn 10589  ax-addcl 10590  ax-addrcl 10591  ax-mulcl 10592  ax-mulrcl 10593  ax-mulcom 10594  ax-addass 10595  ax-mulass 10596  ax-distr 10597  ax-i2m1 10598  ax-1ne0 10599  ax-1rid 10600  ax-rnegex 10601  ax-rrecex 10602  ax-cnre 10603  ax-pre-lttri 10604  ax-pre-lttrn 10605  ax-pre-ltadd 10606  ax-pre-mulgt0 10607  ax-pre-sup 10608  ax-addf 10609  ax-mulf 10610 This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-3or 1085  df-3an 1086  df-tru 1541  df-fal 1551  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2601  df-eu 2632  df-clab 2780  df-cleq 2794  df-clel 2873  df-nfc 2941  df-ne 2991  df-nel 3095  df-ral 3114  df-rex 3115  df-reu 3116  df-rmo 3117  df-rab 3118  df-v 3446  df-sbc 3724  df-csb 3832  df-dif 3887  df-un 3889  df-in 3891  df-ss 3901  df-pss 3903  df-nul 4247  df-if 4429  df-pw 4502  df-sn 4529  df-pr 4531  df-tp 4533  df-op 4535  df-uni 4804  df-int 4842  df-iun 4886  df-iin 4887  df-br 5034  df-opab 5096  df-mpt 5114  df-tr 5140  df-id 5428  df-eprel 5433  df-po 5442  df-so 5443  df-fr 5482  df-se 5483  df-we 5484  df-xp 5529  df-rel 5530  df-cnv 5531  df-co 5532  df-dm 5533  df-rn 5534  df-res 5535  df-ima 5536  df-pred 6120  df-ord 6166  df-on 6167  df-lim 6168  df-suc 6169  df-iota 6287  df-fun 6330  df-fn 6331  df-f 6332  df-f1 6333  df-fo 6334  df-f1o 6335  df-fv 6336  df-isom 6337  df-riota 7097  df-ov 7142  df-oprab 7143  df-mpo 7144  df-of 7393  df-om 7565  df-1st 7675  df-2nd 7676  df-supp 7818  df-wrecs 7934  df-recs 7995  df-rdg 8033  df-1o 8089  df-2o 8090  df-oadd 8093  df-er 8276  df-map 8395  df-pm 8396  df-ixp 8449  df-en 8497  df-dom 8498  df-sdom 8499  df-fin 8500  df-fsupp 8822  df-fi 8863  df-sup 8894  df-inf 8895  df-oi 8962  df-card 9356  df-pnf 10670  df-mnf 10671  df-xr 10672  df-ltxr 10673  df-le 10674  df-sub 10865  df-neg 10866  df-div 11291  df-nn 11630  df-2 11692  df-3 11693  df-4 11694  df-5 11695  df-6 11696  df-7 11697  df-8 11698  df-9 11699  df-n0 11890  df-z 11974  df-dec 12091  df-uz 12236  df-q 12341  df-rp 12382  df-xneg 12499  df-xadd 12500  df-xmul 12501  df-ioo 12734  df-ioc 12735  df-ico 12736  df-icc 12737  df-fz 12890  df-fzo 13033  df-fl 13161  df-mod 13237  df-seq 13369  df-exp 13430  df-fac 13634  df-bc 13663  df-hash 13691  df-shft 14422  df-cj 14454  df-re 14455  df-im 14456  df-sqrt 14590  df-abs 14591  df-limsup 14824  df-clim 14841  df-rlim 14842  df-sum 15039  df-ef 15417  df-sin 15419  df-cos 15420  df-pi 15422  df-dvds 15604  df-struct 16481  df-ndx 16482  df-slot 16483  df-base 16485  df-sets 16486  df-ress 16487  df-plusg 16574  df-mulr 16575  df-starv 16576  df-sca 16577  df-vsca 16578  df-ip 16579  df-tset 16580  df-ple 16581  df-ds 16583  df-unif 16584  df-hom 16585  df-cco 16586  df-rest 16692  df-topn 16693  df-0g 16711  df-gsum 16712  df-topgen 16713  df-pt 16714  df-prds 16717  df-xrs 16771  df-qtop 16776  df-imas 16777  df-xps 16779  df-mre 16853  df-mrc 16854  df-acs 16856  df-mgm 17848  df-sgrp 17897  df-mnd 17908  df-submnd 17953  df-mulg 18221  df-cntz 18443  df-cmn 18904  df-psmet 20087  df-xmet 20088  df-met 20089  df-bl 20090  df-mopn 20091  df-fbas 20092  df-fg 20093  df-cnfld 20096  df-top 21503  df-topon 21520  df-topsp 21542  df-bases 21555  df-cld 21628  df-ntr 21629  df-cls 21630  df-nei 21707  df-lp 21745  df-perf 21746  df-cn 21836  df-cnp 21837  df-haus 21924  df-tx 22171  df-hmeo 22364  df-fil 22455  df-fm 22547  df-flim 22548  df-flf 22549  df-xms 22931  df-ms 22932  df-tms 22933  df-cncf 23487  df-limc 24473  df-dv 24474  df-log 25152  df-cxp 25153  df-logb 25355  df-blen 44981  df-dig 45007 This theorem is referenced by:  nn0sumshdiglem1  45032
 Copyright terms: Public domain W3C validator