Step | Hyp | Ref
| Expression |
1 | | smumullem.n |
. 2
β’ (π β π β
β0) |
2 | | oveq2 7414 |
. . . . . . . . . 10
β’ (π₯ = 0 β (0..^π₯) = (0..^0)) |
3 | | fzo0 13653 |
. . . . . . . . . 10
β’ (0..^0) =
β
|
4 | 2, 3 | eqtrdi 2789 |
. . . . . . . . 9
β’ (π₯ = 0 β (0..^π₯) = β
) |
5 | 4 | ineq2d 4212 |
. . . . . . . 8
β’ (π₯ = 0 β ((bitsβπ΄) β© (0..^π₯)) = ((bitsβπ΄) β© β
)) |
6 | | in0 4391 |
. . . . . . . 8
β’
((bitsβπ΄)
β© β
) = β
|
7 | 5, 6 | eqtrdi 2789 |
. . . . . . 7
β’ (π₯ = 0 β ((bitsβπ΄) β© (0..^π₯)) = β
) |
8 | 7 | oveq1d 7421 |
. . . . . 6
β’ (π₯ = 0 β (((bitsβπ΄) β© (0..^π₯)) smul (bitsβπ΅)) = (β
smul (bitsβπ΅))) |
9 | | bitsss 16364 |
. . . . . . 7
β’
(bitsβπ΅)
β β0 |
10 | | smu02 16425 |
. . . . . . 7
β’
((bitsβπ΅)
β β0 β (β
smul (bitsβπ΅)) = β
) |
11 | 9, 10 | ax-mp 5 |
. . . . . 6
β’ (β
smul (bitsβπ΅)) =
β
|
12 | 8, 11 | eqtrdi 2789 |
. . . . 5
β’ (π₯ = 0 β (((bitsβπ΄) β© (0..^π₯)) smul (bitsβπ΅)) = β
) |
13 | | oveq2 7414 |
. . . . . . . 8
β’ (π₯ = 0 β (2βπ₯) = (2β0)) |
14 | | 2cn 12284 |
. . . . . . . . 9
β’ 2 β
β |
15 | | exp0 14028 |
. . . . . . . . 9
β’ (2 β
β β (2β0) = 1) |
16 | 14, 15 | ax-mp 5 |
. . . . . . . 8
β’
(2β0) = 1 |
17 | 13, 16 | eqtrdi 2789 |
. . . . . . 7
β’ (π₯ = 0 β (2βπ₯) = 1) |
18 | 17 | oveq2d 7422 |
. . . . . 6
β’ (π₯ = 0 β (π΄ mod (2βπ₯)) = (π΄ mod 1)) |
19 | 18 | fvoveq1d 7428 |
. . . . 5
β’ (π₯ = 0 β (bitsβ((π΄ mod (2βπ₯)) Β· π΅)) = (bitsβ((π΄ mod 1) Β· π΅))) |
20 | 12, 19 | eqeq12d 2749 |
. . . 4
β’ (π₯ = 0 β ((((bitsβπ΄) β© (0..^π₯)) smul (bitsβπ΅)) = (bitsβ((π΄ mod (2βπ₯)) Β· π΅)) β β
= (bitsβ((π΄ mod 1) Β· π΅)))) |
21 | 20 | imbi2d 341 |
. . 3
β’ (π₯ = 0 β ((π β (((bitsβπ΄) β© (0..^π₯)) smul (bitsβπ΅)) = (bitsβ((π΄ mod (2βπ₯)) Β· π΅))) β (π β β
= (bitsβ((π΄ mod 1) Β· π΅))))) |
22 | | oveq2 7414 |
. . . . . . 7
β’ (π₯ = π β (0..^π₯) = (0..^π)) |
23 | 22 | ineq2d 4212 |
. . . . . 6
β’ (π₯ = π β ((bitsβπ΄) β© (0..^π₯)) = ((bitsβπ΄) β© (0..^π))) |
24 | 23 | oveq1d 7421 |
. . . . 5
β’ (π₯ = π β (((bitsβπ΄) β© (0..^π₯)) smul (bitsβπ΅)) = (((bitsβπ΄) β© (0..^π)) smul (bitsβπ΅))) |
25 | | oveq2 7414 |
. . . . . . 7
β’ (π₯ = π β (2βπ₯) = (2βπ)) |
26 | 25 | oveq2d 7422 |
. . . . . 6
β’ (π₯ = π β (π΄ mod (2βπ₯)) = (π΄ mod (2βπ))) |
27 | 26 | fvoveq1d 7428 |
. . . . 5
β’ (π₯ = π β (bitsβ((π΄ mod (2βπ₯)) Β· π΅)) = (bitsβ((π΄ mod (2βπ)) Β· π΅))) |
28 | 24, 27 | eqeq12d 2749 |
. . . 4
β’ (π₯ = π β ((((bitsβπ΄) β© (0..^π₯)) smul (bitsβπ΅)) = (bitsβ((π΄ mod (2βπ₯)) Β· π΅)) β (((bitsβπ΄) β© (0..^π)) smul (bitsβπ΅)) = (bitsβ((π΄ mod (2βπ)) Β· π΅)))) |
29 | 28 | imbi2d 341 |
. . 3
β’ (π₯ = π β ((π β (((bitsβπ΄) β© (0..^π₯)) smul (bitsβπ΅)) = (bitsβ((π΄ mod (2βπ₯)) Β· π΅))) β (π β (((bitsβπ΄) β© (0..^π)) smul (bitsβπ΅)) = (bitsβ((π΄ mod (2βπ)) Β· π΅))))) |
30 | | oveq2 7414 |
. . . . . . 7
β’ (π₯ = (π + 1) β (0..^π₯) = (0..^(π + 1))) |
31 | 30 | ineq2d 4212 |
. . . . . 6
β’ (π₯ = (π + 1) β ((bitsβπ΄) β© (0..^π₯)) = ((bitsβπ΄) β© (0..^(π + 1)))) |
32 | 31 | oveq1d 7421 |
. . . . 5
β’ (π₯ = (π + 1) β (((bitsβπ΄) β© (0..^π₯)) smul (bitsβπ΅)) = (((bitsβπ΄) β© (0..^(π + 1))) smul (bitsβπ΅))) |
33 | | oveq2 7414 |
. . . . . . 7
β’ (π₯ = (π + 1) β (2βπ₯) = (2β(π + 1))) |
34 | 33 | oveq2d 7422 |
. . . . . 6
β’ (π₯ = (π + 1) β (π΄ mod (2βπ₯)) = (π΄ mod (2β(π + 1)))) |
35 | 34 | fvoveq1d 7428 |
. . . . 5
β’ (π₯ = (π + 1) β (bitsβ((π΄ mod (2βπ₯)) Β· π΅)) = (bitsβ((π΄ mod (2β(π + 1))) Β· π΅))) |
36 | 32, 35 | eqeq12d 2749 |
. . . 4
β’ (π₯ = (π + 1) β ((((bitsβπ΄) β© (0..^π₯)) smul (bitsβπ΅)) = (bitsβ((π΄ mod (2βπ₯)) Β· π΅)) β (((bitsβπ΄) β© (0..^(π + 1))) smul (bitsβπ΅)) = (bitsβ((π΄ mod (2β(π + 1))) Β· π΅)))) |
37 | 36 | imbi2d 341 |
. . 3
β’ (π₯ = (π + 1) β ((π β (((bitsβπ΄) β© (0..^π₯)) smul (bitsβπ΅)) = (bitsβ((π΄ mod (2βπ₯)) Β· π΅))) β (π β (((bitsβπ΄) β© (0..^(π + 1))) smul (bitsβπ΅)) = (bitsβ((π΄ mod (2β(π + 1))) Β· π΅))))) |
38 | | oveq2 7414 |
. . . . . . 7
β’ (π₯ = π β (0..^π₯) = (0..^π)) |
39 | 38 | ineq2d 4212 |
. . . . . 6
β’ (π₯ = π β ((bitsβπ΄) β© (0..^π₯)) = ((bitsβπ΄) β© (0..^π))) |
40 | 39 | oveq1d 7421 |
. . . . 5
β’ (π₯ = π β (((bitsβπ΄) β© (0..^π₯)) smul (bitsβπ΅)) = (((bitsβπ΄) β© (0..^π)) smul (bitsβπ΅))) |
41 | | oveq2 7414 |
. . . . . . 7
β’ (π₯ = π β (2βπ₯) = (2βπ)) |
42 | 41 | oveq2d 7422 |
. . . . . 6
β’ (π₯ = π β (π΄ mod (2βπ₯)) = (π΄ mod (2βπ))) |
43 | 42 | fvoveq1d 7428 |
. . . . 5
β’ (π₯ = π β (bitsβ((π΄ mod (2βπ₯)) Β· π΅)) = (bitsβ((π΄ mod (2βπ)) Β· π΅))) |
44 | 40, 43 | eqeq12d 2749 |
. . . 4
β’ (π₯ = π β ((((bitsβπ΄) β© (0..^π₯)) smul (bitsβπ΅)) = (bitsβ((π΄ mod (2βπ₯)) Β· π΅)) β (((bitsβπ΄) β© (0..^π)) smul (bitsβπ΅)) = (bitsβ((π΄ mod (2βπ)) Β· π΅)))) |
45 | 44 | imbi2d 341 |
. . 3
β’ (π₯ = π β ((π β (((bitsβπ΄) β© (0..^π₯)) smul (bitsβπ΅)) = (bitsβ((π΄ mod (2βπ₯)) Β· π΅))) β (π β (((bitsβπ΄) β© (0..^π)) smul (bitsβπ΅)) = (bitsβ((π΄ mod (2βπ)) Β· π΅))))) |
46 | | smumullem.a |
. . . . . . . 8
β’ (π β π΄ β β€) |
47 | | zmod10 13849 |
. . . . . . . 8
β’ (π΄ β β€ β (π΄ mod 1) = 0) |
48 | 46, 47 | syl 17 |
. . . . . . 7
β’ (π β (π΄ mod 1) = 0) |
49 | 48 | oveq1d 7421 |
. . . . . 6
β’ (π β ((π΄ mod 1) Β· π΅) = (0 Β· π΅)) |
50 | | smumullem.b |
. . . . . . . 8
β’ (π β π΅ β β€) |
51 | 50 | zcnd 12664 |
. . . . . . 7
β’ (π β π΅ β β) |
52 | 51 | mul02d 11409 |
. . . . . 6
β’ (π β (0 Β· π΅) = 0) |
53 | 49, 52 | eqtrd 2773 |
. . . . 5
β’ (π β ((π΄ mod 1) Β· π΅) = 0) |
54 | 53 | fveq2d 6893 |
. . . 4
β’ (π β (bitsβ((π΄ mod 1) Β· π΅)) =
(bitsβ0)) |
55 | | 0bits 16377 |
. . . 4
β’
(bitsβ0) = β
|
56 | 54, 55 | eqtr2di 2790 |
. . 3
β’ (π β β
=
(bitsβ((π΄ mod 1)
Β· π΅))) |
57 | | oveq1 7413 |
. . . . . 6
β’
((((bitsβπ΄)
β© (0..^π)) smul
(bitsβπ΅)) =
(bitsβ((π΄ mod
(2βπ)) Β· π΅)) β ((((bitsβπ΄) β© (0..^π)) smul (bitsβπ΅)) sadd {π β β0 β£ (π β (bitsβπ΄) β§ (π β π) β (bitsβπ΅))}) = ((bitsβ((π΄ mod (2βπ)) Β· π΅)) sadd {π β β0 β£ (π β (bitsβπ΄) β§ (π β π) β (bitsβπ΅))})) |
58 | | bitsss 16364 |
. . . . . . . . 9
β’
(bitsβπ΄)
β β0 |
59 | 58 | a1i 11 |
. . . . . . . 8
β’ ((π β§ π β β0) β
(bitsβπ΄) β
β0) |
60 | 9 | a1i 11 |
. . . . . . . 8
β’ ((π β§ π β β0) β
(bitsβπ΅) β
β0) |
61 | | simpr 486 |
. . . . . . . 8
β’ ((π β§ π β β0) β π β
β0) |
62 | 59, 60, 61 | smup1 16427 |
. . . . . . 7
β’ ((π β§ π β β0) β
(((bitsβπ΄) β©
(0..^(π + 1))) smul
(bitsβπ΅)) =
((((bitsβπ΄) β©
(0..^π)) smul
(bitsβπ΅)) sadd {π β β0
β£ (π β
(bitsβπ΄) β§ (π β π) β (bitsβπ΅))})) |
63 | | bitsinv1lem 16379 |
. . . . . . . . . . . 12
β’ ((π΄ β β€ β§ π β β0)
β (π΄ mod
(2β(π + 1))) = ((π΄ mod (2βπ)) + if(π β (bitsβπ΄), (2βπ), 0))) |
64 | 46, 63 | sylan 581 |
. . . . . . . . . . 11
β’ ((π β§ π β β0) β (π΄ mod (2β(π + 1))) = ((π΄ mod (2βπ)) + if(π β (bitsβπ΄), (2βπ), 0))) |
65 | 64 | oveq1d 7421 |
. . . . . . . . . 10
β’ ((π β§ π β β0) β ((π΄ mod (2β(π + 1))) Β· π΅) = (((π΄ mod (2βπ)) + if(π β (bitsβπ΄), (2βπ), 0)) Β· π΅)) |
66 | 46 | adantr 482 |
. . . . . . . . . . . . 13
β’ ((π β§ π β β0) β π΄ β
β€) |
67 | | 2nn 12282 |
. . . . . . . . . . . . . . 15
β’ 2 β
β |
68 | 67 | a1i 11 |
. . . . . . . . . . . . . 14
β’ ((π β§ π β β0) β 2 β
β) |
69 | 68, 61 | nnexpcld 14205 |
. . . . . . . . . . . . 13
β’ ((π β§ π β β0) β
(2βπ) β
β) |
70 | 66, 69 | zmodcld 13854 |
. . . . . . . . . . . 12
β’ ((π β§ π β β0) β (π΄ mod (2βπ)) β
β0) |
71 | 70 | nn0cnd 12531 |
. . . . . . . . . . 11
β’ ((π β§ π β β0) β (π΄ mod (2βπ)) β β) |
72 | 69 | nnnn0d 12529 |
. . . . . . . . . . . . 13
β’ ((π β§ π β β0) β
(2βπ) β
β0) |
73 | | 0nn0 12484 |
. . . . . . . . . . . . 13
β’ 0 β
β0 |
74 | | ifcl 4573 |
. . . . . . . . . . . . 13
β’
(((2βπ) β
β0 β§ 0 β β0) β if(π β (bitsβπ΄), (2βπ), 0) β
β0) |
75 | 72, 73, 74 | sylancl 587 |
. . . . . . . . . . . 12
β’ ((π β§ π β β0) β if(π β (bitsβπ΄), (2βπ), 0) β
β0) |
76 | 75 | nn0cnd 12531 |
. . . . . . . . . . 11
β’ ((π β§ π β β0) β if(π β (bitsβπ΄), (2βπ), 0) β β) |
77 | 51 | adantr 482 |
. . . . . . . . . . 11
β’ ((π β§ π β β0) β π΅ β
β) |
78 | 71, 76, 77 | adddird 11236 |
. . . . . . . . . 10
β’ ((π β§ π β β0) β (((π΄ mod (2βπ)) + if(π β (bitsβπ΄), (2βπ), 0)) Β· π΅) = (((π΄ mod (2βπ)) Β· π΅) + (if(π β (bitsβπ΄), (2βπ), 0) Β· π΅))) |
79 | 76, 77 | mulcomd 11232 |
. . . . . . . . . . 11
β’ ((π β§ π β β0) β (if(π β (bitsβπ΄), (2βπ), 0) Β· π΅) = (π΅ Β· if(π β (bitsβπ΄), (2βπ), 0))) |
80 | 79 | oveq2d 7422 |
. . . . . . . . . 10
β’ ((π β§ π β β0) β (((π΄ mod (2βπ)) Β· π΅) + (if(π β (bitsβπ΄), (2βπ), 0) Β· π΅)) = (((π΄ mod (2βπ)) Β· π΅) + (π΅ Β· if(π β (bitsβπ΄), (2βπ), 0)))) |
81 | 65, 78, 80 | 3eqtrd 2777 |
. . . . . . . . 9
β’ ((π β§ π β β0) β ((π΄ mod (2β(π + 1))) Β· π΅) = (((π΄ mod (2βπ)) Β· π΅) + (π΅ Β· if(π β (bitsβπ΄), (2βπ), 0)))) |
82 | 81 | fveq2d 6893 |
. . . . . . . 8
β’ ((π β§ π β β0) β
(bitsβ((π΄ mod
(2β(π + 1))) Β·
π΅)) = (bitsβ(((π΄ mod (2βπ)) Β· π΅) + (π΅ Β· if(π β (bitsβπ΄), (2βπ), 0))))) |
83 | 70 | nn0zd 12581 |
. . . . . . . . . 10
β’ ((π β§ π β β0) β (π΄ mod (2βπ)) β β€) |
84 | 50 | adantr 482 |
. . . . . . . . . 10
β’ ((π β§ π β β0) β π΅ β
β€) |
85 | 83, 84 | zmulcld 12669 |
. . . . . . . . 9
β’ ((π β§ π β β0) β ((π΄ mod (2βπ)) Β· π΅) β β€) |
86 | 75 | nn0zd 12581 |
. . . . . . . . . 10
β’ ((π β§ π β β0) β if(π β (bitsβπ΄), (2βπ), 0) β β€) |
87 | 84, 86 | zmulcld 12669 |
. . . . . . . . 9
β’ ((π β§ π β β0) β (π΅ Β· if(π β (bitsβπ΄), (2βπ), 0)) β β€) |
88 | | sadadd 16405 |
. . . . . . . . 9
β’ ((((π΄ mod (2βπ)) Β· π΅) β β€ β§ (π΅ Β· if(π β (bitsβπ΄), (2βπ), 0)) β β€) β
((bitsβ((π΄ mod
(2βπ)) Β· π΅)) sadd (bitsβ(π΅ Β· if(π β (bitsβπ΄), (2βπ), 0)))) = (bitsβ(((π΄ mod (2βπ)) Β· π΅) + (π΅ Β· if(π β (bitsβπ΄), (2βπ), 0))))) |
89 | 85, 87, 88 | syl2anc 585 |
. . . . . . . 8
β’ ((π β§ π β β0) β
((bitsβ((π΄ mod
(2βπ)) Β· π΅)) sadd (bitsβ(π΅ Β· if(π β (bitsβπ΄), (2βπ), 0)))) = (bitsβ(((π΄ mod (2βπ)) Β· π΅) + (π΅ Β· if(π β (bitsβπ΄), (2βπ), 0))))) |
90 | | oveq2 7414 |
. . . . . . . . . . 11
β’
((2βπ) =
if(π β
(bitsβπ΄),
(2βπ), 0) β
(π΅ Β· (2βπ)) = (π΅ Β· if(π β (bitsβπ΄), (2βπ), 0))) |
91 | 90 | fveqeq2d 6897 |
. . . . . . . . . 10
β’
((2βπ) =
if(π β
(bitsβπ΄),
(2βπ), 0) β
((bitsβ(π΅ Β·
(2βπ))) = {π β β0
β£ (π β
(bitsβπ΄) β§ (π β π) β (bitsβπ΅))} β (bitsβ(π΅ Β· if(π β (bitsβπ΄), (2βπ), 0))) = {π β β0 β£ (π β (bitsβπ΄) β§ (π β π) β (bitsβπ΅))})) |
92 | | oveq2 7414 |
. . . . . . . . . . 11
β’ (0 =
if(π β
(bitsβπ΄),
(2βπ), 0) β
(π΅ Β· 0) = (π΅ Β· if(π β (bitsβπ΄), (2βπ), 0))) |
93 | 92 | fveqeq2d 6897 |
. . . . . . . . . 10
β’ (0 =
if(π β
(bitsβπ΄),
(2βπ), 0) β
((bitsβ(π΅ Β·
0)) = {π β
β0 β£ (π β (bitsβπ΄) β§ (π β π) β (bitsβπ΅))} β (bitsβ(π΅ Β· if(π β (bitsβπ΄), (2βπ), 0))) = {π β β0 β£ (π β (bitsβπ΄) β§ (π β π) β (bitsβπ΅))})) |
94 | | bitsshft 16413 |
. . . . . . . . . . . 12
β’ ((π΅ β β€ β§ π β β0)
β {π β
β0 β£ (π β π) β (bitsβπ΅)} = (bitsβ(π΅ Β· (2βπ)))) |
95 | 50, 94 | sylan 581 |
. . . . . . . . . . 11
β’ ((π β§ π β β0) β {π β β0
β£ (π β π) β (bitsβπ΅)} = (bitsβ(π΅ Β· (2βπ)))) |
96 | | ibar 530 |
. . . . . . . . . . . 12
β’ (π β (bitsβπ΄) β ((π β π) β (bitsβπ΅) β (π β (bitsβπ΄) β§ (π β π) β (bitsβπ΅)))) |
97 | 96 | rabbidv 3441 |
. . . . . . . . . . 11
β’ (π β (bitsβπ΄) β {π β β0 β£ (π β π) β (bitsβπ΅)} = {π β β0 β£ (π β (bitsβπ΄) β§ (π β π) β (bitsβπ΅))}) |
98 | 95, 97 | sylan9req 2794 |
. . . . . . . . . 10
β’ (((π β§ π β β0) β§ π β (bitsβπ΄)) β (bitsβ(π΅ Β· (2βπ))) = {π β β0 β£ (π β (bitsβπ΄) β§ (π β π) β (bitsβπ΅))}) |
99 | 77 | adantr 482 |
. . . . . . . . . . . . 13
β’ (((π β§ π β β0) β§ Β¬
π β (bitsβπ΄)) β π΅ β β) |
100 | 99 | mul01d 11410 |
. . . . . . . . . . . 12
β’ (((π β§ π β β0) β§ Β¬
π β (bitsβπ΄)) β (π΅ Β· 0) = 0) |
101 | 100 | fveq2d 6893 |
. . . . . . . . . . 11
β’ (((π β§ π β β0) β§ Β¬
π β (bitsβπ΄)) β (bitsβ(π΅ Β· 0)) =
(bitsβ0)) |
102 | | simpr 486 |
. . . . . . . . . . . . . 14
β’ (((π β§ π β β0) β§ Β¬
π β (bitsβπ΄)) β Β¬ π β (bitsβπ΄)) |
103 | 102 | intnanrd 491 |
. . . . . . . . . . . . 13
β’ (((π β§ π β β0) β§ Β¬
π β (bitsβπ΄)) β Β¬ (π β (bitsβπ΄) β§ (π β π) β (bitsβπ΅))) |
104 | 103 | ralrimivw 3151 |
. . . . . . . . . . . 12
β’ (((π β§ π β β0) β§ Β¬
π β (bitsβπ΄)) β βπ β β0
Β¬ (π β
(bitsβπ΄) β§ (π β π) β (bitsβπ΅))) |
105 | | rabeq0 4384 |
. . . . . . . . . . . 12
β’ ({π β β0
β£ (π β
(bitsβπ΄) β§ (π β π) β (bitsβπ΅))} = β
β βπ β β0
Β¬ (π β
(bitsβπ΄) β§ (π β π) β (bitsβπ΅))) |
106 | 104, 105 | sylibr 233 |
. . . . . . . . . . 11
β’ (((π β§ π β β0) β§ Β¬
π β (bitsβπ΄)) β {π β β0 β£ (π β (bitsβπ΄) β§ (π β π) β (bitsβπ΅))} = β
) |
107 | 55, 101, 106 | 3eqtr4a 2799 |
. . . . . . . . . 10
β’ (((π β§ π β β0) β§ Β¬
π β (bitsβπ΄)) β (bitsβ(π΅ Β· 0)) = {π β β0
β£ (π β
(bitsβπ΄) β§ (π β π) β (bitsβπ΅))}) |
108 | 91, 93, 98, 107 | ifbothda 4566 |
. . . . . . . . 9
β’ ((π β§ π β β0) β
(bitsβ(π΅ Β·
if(π β
(bitsβπ΄),
(2βπ), 0))) = {π β β0
β£ (π β
(bitsβπ΄) β§ (π β π) β (bitsβπ΅))}) |
109 | 108 | oveq2d 7422 |
. . . . . . . 8
β’ ((π β§ π β β0) β
((bitsβ((π΄ mod
(2βπ)) Β· π΅)) sadd (bitsβ(π΅ Β· if(π β (bitsβπ΄), (2βπ), 0)))) = ((bitsβ((π΄ mod (2βπ)) Β· π΅)) sadd {π β β0 β£ (π β (bitsβπ΄) β§ (π β π) β (bitsβπ΅))})) |
110 | 82, 89, 109 | 3eqtr2d 2779 |
. . . . . . 7
β’ ((π β§ π β β0) β
(bitsβ((π΄ mod
(2β(π + 1))) Β·
π΅)) = ((bitsβ((π΄ mod (2βπ)) Β· π΅)) sadd {π β β0 β£ (π β (bitsβπ΄) β§ (π β π) β (bitsβπ΅))})) |
111 | 62, 110 | eqeq12d 2749 |
. . . . . 6
β’ ((π β§ π β β0) β
((((bitsβπ΄) β©
(0..^(π + 1))) smul
(bitsβπ΅)) =
(bitsβ((π΄ mod
(2β(π + 1))) Β·
π΅)) β
((((bitsβπ΄) β©
(0..^π)) smul
(bitsβπ΅)) sadd {π β β0
β£ (π β
(bitsβπ΄) β§ (π β π) β (bitsβπ΅))}) = ((bitsβ((π΄ mod (2βπ)) Β· π΅)) sadd {π β β0 β£ (π β (bitsβπ΄) β§ (π β π) β (bitsβπ΅))}))) |
112 | 57, 111 | imbitrrid 245 |
. . . . 5
β’ ((π β§ π β β0) β
((((bitsβπ΄) β©
(0..^π)) smul
(bitsβπ΅)) =
(bitsβ((π΄ mod
(2βπ)) Β· π΅)) β (((bitsβπ΄) β© (0..^(π + 1))) smul (bitsβπ΅)) = (bitsβ((π΄ mod (2β(π + 1))) Β· π΅)))) |
113 | 112 | expcom 415 |
. . . 4
β’ (π β β0
β (π β
((((bitsβπ΄) β©
(0..^π)) smul
(bitsβπ΅)) =
(bitsβ((π΄ mod
(2βπ)) Β· π΅)) β (((bitsβπ΄) β© (0..^(π + 1))) smul (bitsβπ΅)) = (bitsβ((π΄ mod (2β(π + 1))) Β· π΅))))) |
114 | 113 | a2d 29 |
. . 3
β’ (π β β0
β ((π β
(((bitsβπ΄) β©
(0..^π)) smul
(bitsβπ΅)) =
(bitsβ((π΄ mod
(2βπ)) Β· π΅))) β (π β (((bitsβπ΄) β© (0..^(π + 1))) smul (bitsβπ΅)) = (bitsβ((π΄ mod (2β(π + 1))) Β· π΅))))) |
115 | 21, 29, 37, 45, 56, 114 | nn0ind 12654 |
. 2
β’ (π β β0
β (π β
(((bitsβπ΄) β©
(0..^π)) smul
(bitsβπ΅)) =
(bitsβ((π΄ mod
(2βπ)) Β· π΅)))) |
116 | 1, 115 | mpcom 38 |
1
β’ (π β (((bitsβπ΄) β© (0..^π)) smul (bitsβπ΅)) = (bitsβ((π΄ mod (2βπ)) Β· π΅))) |