Step | Hyp | Ref
| Expression |
1 | | 2nn 12282 |
. . . . . . . . 9
β’ 2 β
β |
2 | 1 | a1i 11 |
. . . . . . . 8
β’ (π β 2 β
β) |
3 | | sadcp1.n |
. . . . . . . 8
β’ (π β π β
β0) |
4 | 2, 3 | nnexpcld 14205 |
. . . . . . 7
β’ (π β (2βπ) β β) |
5 | 4 | nnzd 12582 |
. . . . . 6
β’ (π β (2βπ) β β€) |
6 | | iddvds 16210 |
. . . . . 6
β’
((2βπ) β
β€ β (2βπ)
β₯ (2βπ)) |
7 | 5, 6 | syl 17 |
. . . . 5
β’ (π β (2βπ) β₯ (2βπ)) |
8 | | dvds0 16212 |
. . . . . 6
β’
((2βπ) β
β€ β (2βπ)
β₯ 0) |
9 | 5, 8 | syl 17 |
. . . . 5
β’ (π β (2βπ) β₯ 0) |
10 | | breq2 5152 |
. . . . . 6
β’
((2βπ) =
if(β
β (πΆβπ), (2βπ), 0) β ((2βπ) β₯ (2βπ) β (2βπ) β₯ if(β
β (πΆβπ), (2βπ), 0))) |
11 | | breq2 5152 |
. . . . . 6
β’ (0 =
if(β
β (πΆβπ), (2βπ), 0) β ((2βπ) β₯ 0 β (2βπ) β₯ if(β
β (πΆβπ), (2βπ), 0))) |
12 | 10, 11 | ifboth 4567 |
. . . . 5
β’
(((2βπ) β₯
(2βπ) β§
(2βπ) β₯ 0)
β (2βπ) β₯
if(β
β (πΆβπ), (2βπ), 0)) |
13 | 7, 9, 12 | syl2anc 585 |
. . . 4
β’ (π β (2βπ) β₯ if(β
β (πΆβπ), (2βπ), 0)) |
14 | | inss1 4228 |
. . . . . . . . 9
β’ ((π΄ sadd π΅) β© (0..^π)) β (π΄ sadd π΅) |
15 | | sadval.a |
. . . . . . . . . . 11
β’ (π β π΄ β
β0) |
16 | | sadval.b |
. . . . . . . . . . 11
β’ (π β π΅ β
β0) |
17 | | sadval.c |
. . . . . . . . . . 11
β’ πΆ = seq0((π β 2o, π β β0 β¦
if(cadd(π β π΄, π β π΅, β
β π), 1o, β
)), (π β β0
β¦ if(π = 0, β
,
(π β
1)))) |
18 | 15, 16, 17 | sadfval 16390 |
. . . . . . . . . 10
β’ (π β (π΄ sadd π΅) = {π β β0 β£
hadd(π β π΄, π β π΅, β
β (πΆβπ))}) |
19 | | ssrab2 4077 |
. . . . . . . . . 10
β’ {π β β0
β£ hadd(π β π΄, π β π΅, β
β (πΆβπ))} β
β0 |
20 | 18, 19 | eqsstrdi 4036 |
. . . . . . . . 9
β’ (π β (π΄ sadd π΅) β
β0) |
21 | 14, 20 | sstrid 3993 |
. . . . . . . 8
β’ (π β ((π΄ sadd π΅) β© (0..^π)) β
β0) |
22 | | fzofi 13936 |
. . . . . . . . . 10
β’
(0..^π) β
Fin |
23 | 22 | a1i 11 |
. . . . . . . . 9
β’ (π β (0..^π) β Fin) |
24 | | inss2 4229 |
. . . . . . . . 9
β’ ((π΄ sadd π΅) β© (0..^π)) β (0..^π) |
25 | | ssfi 9170 |
. . . . . . . . 9
β’
(((0..^π) β Fin
β§ ((π΄ sadd π΅) β© (0..^π)) β (0..^π)) β ((π΄ sadd π΅) β© (0..^π)) β Fin) |
26 | 23, 24, 25 | sylancl 587 |
. . . . . . . 8
β’ (π β ((π΄ sadd π΅) β© (0..^π)) β Fin) |
27 | | elfpw 9351 |
. . . . . . . 8
β’ (((π΄ sadd π΅) β© (0..^π)) β (π« β0
β© Fin) β (((π΄ sadd
π΅) β© (0..^π)) β β0
β§ ((π΄ sadd π΅) β© (0..^π)) β Fin)) |
28 | 21, 26, 27 | sylanbrc 584 |
. . . . . . 7
β’ (π β ((π΄ sadd π΅) β© (0..^π)) β (π« β0
β© Fin)) |
29 | | bitsf1o 16383 |
. . . . . . . . . 10
β’ (bits
βΎ β0):β0β1-1-ontoβ(π« β0 β©
Fin) |
30 | | f1ocnv 6843 |
. . . . . . . . . 10
β’ ((bits
βΎ β0):β0β1-1-ontoβ(π« β0 β© Fin)
β β‘(bits βΎ
β0):(π« β0 β© Fin)β1-1-ontoββ0) |
31 | | f1of 6831 |
. . . . . . . . . 10
β’ (β‘(bits βΎ
β0):(π« β0 β© Fin)β1-1-ontoββ0 β β‘(bits βΎ
β0):(π« β0 β©
Fin)βΆβ0) |
32 | 29, 30, 31 | mp2b 10 |
. . . . . . . . 9
β’ β‘(bits βΎ
β0):(π« β0 β©
Fin)βΆβ0 |
33 | | sadcadd.k |
. . . . . . . . . 10
β’ πΎ = β‘(bits βΎ
β0) |
34 | 33 | feq1i 6706 |
. . . . . . . . 9
β’ (πΎ:(π« β0
β© Fin)βΆβ0 β β‘(bits βΎ
β0):(π« β0 β©
Fin)βΆβ0) |
35 | 32, 34 | mpbir 230 |
. . . . . . . 8
β’ πΎ:(π« β0
β© Fin)βΆβ0 |
36 | 35 | ffvelcdmi 7083 |
. . . . . . 7
β’ (((π΄ sadd π΅) β© (0..^π)) β (π« β0
β© Fin) β (πΎβ((π΄ sadd π΅) β© (0..^π))) β
β0) |
37 | 28, 36 | syl 17 |
. . . . . 6
β’ (π β (πΎβ((π΄ sadd π΅) β© (0..^π))) β
β0) |
38 | 37 | nn0cnd 12531 |
. . . . 5
β’ (π β (πΎβ((π΄ sadd π΅) β© (0..^π))) β β) |
39 | 4 | nncnd 12225 |
. . . . . 6
β’ (π β (2βπ) β β) |
40 | | 0cn 11203 |
. . . . . 6
β’ 0 β
β |
41 | | ifcl 4573 |
. . . . . 6
β’
(((2βπ) β
β β§ 0 β β) β if(β
β (πΆβπ), (2βπ), 0) β β) |
42 | 39, 40, 41 | sylancl 587 |
. . . . 5
β’ (π β if(β
β (πΆβπ), (2βπ), 0) β β) |
43 | 38, 42 | pncan2d 11570 |
. . . 4
β’ (π β (((πΎβ((π΄ sadd π΅) β© (0..^π))) + if(β
β (πΆβπ), (2βπ), 0)) β (πΎβ((π΄ sadd π΅) β© (0..^π)))) = if(β
β (πΆβπ), (2βπ), 0)) |
44 | 13, 43 | breqtrrd 5176 |
. . 3
β’ (π β (2βπ) β₯ (((πΎβ((π΄ sadd π΅) β© (0..^π))) + if(β
β (πΆβπ), (2βπ), 0)) β (πΎβ((π΄ sadd π΅) β© (0..^π))))) |
45 | 37 | nn0zd 12581 |
. . . . 5
β’ (π β (πΎβ((π΄ sadd π΅) β© (0..^π))) β β€) |
46 | 5 | adantr 482 |
. . . . . 6
β’ ((π β§ β
β (πΆβπ)) β (2βπ) β β€) |
47 | | 0zd 12567 |
. . . . . 6
β’ ((π β§ Β¬ β
β (πΆβπ)) β 0 β β€) |
48 | 46, 47 | ifclda 4563 |
. . . . 5
β’ (π β if(β
β (πΆβπ), (2βπ), 0) β β€) |
49 | 45, 48 | zaddcld 12667 |
. . . 4
β’ (π β ((πΎβ((π΄ sadd π΅) β© (0..^π))) + if(β
β (πΆβπ), (2βπ), 0)) β β€) |
50 | | moddvds 16205 |
. . . 4
β’
(((2βπ) β
β β§ ((πΎβ((π΄ sadd π΅) β© (0..^π))) + if(β
β (πΆβπ), (2βπ), 0)) β β€ β§ (πΎβ((π΄ sadd π΅) β© (0..^π))) β β€) β ((((πΎβ((π΄ sadd π΅) β© (0..^π))) + if(β
β (πΆβπ), (2βπ), 0)) mod (2βπ)) = ((πΎβ((π΄ sadd π΅) β© (0..^π))) mod (2βπ)) β (2βπ) β₯ (((πΎβ((π΄ sadd π΅) β© (0..^π))) + if(β
β (πΆβπ), (2βπ), 0)) β (πΎβ((π΄ sadd π΅) β© (0..^π)))))) |
51 | 4, 49, 45, 50 | syl3anc 1372 |
. . 3
β’ (π β ((((πΎβ((π΄ sadd π΅) β© (0..^π))) + if(β
β (πΆβπ), (2βπ), 0)) mod (2βπ)) = ((πΎβ((π΄ sadd π΅) β© (0..^π))) mod (2βπ)) β (2βπ) β₯ (((πΎβ((π΄ sadd π΅) β© (0..^π))) + if(β
β (πΆβπ), (2βπ), 0)) β (πΎβ((π΄ sadd π΅) β© (0..^π)))))) |
52 | 44, 51 | mpbird 257 |
. 2
β’ (π β (((πΎβ((π΄ sadd π΅) β© (0..^π))) + if(β
β (πΆβπ), (2βπ), 0)) mod (2βπ)) = ((πΎβ((π΄ sadd π΅) β© (0..^π))) mod (2βπ))) |
53 | 15, 16, 17, 3, 33 | sadadd2 16398 |
. . 3
β’ (π β ((πΎβ((π΄ sadd π΅) β© (0..^π))) + if(β
β (πΆβπ), (2βπ), 0)) = ((πΎβ(π΄ β© (0..^π))) + (πΎβ(π΅ β© (0..^π))))) |
54 | 53 | oveq1d 7421 |
. 2
β’ (π β (((πΎβ((π΄ sadd π΅) β© (0..^π))) + if(β
β (πΆβπ), (2βπ), 0)) mod (2βπ)) = (((πΎβ(π΄ β© (0..^π))) + (πΎβ(π΅ β© (0..^π)))) mod (2βπ))) |
55 | 52, 54 | eqtr3d 2775 |
1
β’ (π β ((πΎβ((π΄ sadd π΅) β© (0..^π))) mod (2βπ)) = (((πΎβ(π΄ β© (0..^π))) + (πΎβ(π΅ β© (0..^π)))) mod (2βπ))) |