| Step |
Hyp |
Ref |
Expression |
| 1 |
|
zcn |
|- ( A e. ZZ -> A e. CC ) |
| 2 |
1
|
3ad2ant2 |
|- ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) -> A e. CC ) |
| 3 |
|
1cnd |
|- ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) -> 1 e. CC ) |
| 4 |
|
zcn |
|- ( B e. ZZ -> B e. CC ) |
| 5 |
4
|
3ad2ant3 |
|- ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) -> B e. CC ) |
| 6 |
2 3 5
|
add32d |
|- ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) -> ( ( A + 1 ) + B ) = ( ( A + B ) + 1 ) ) |
| 7 |
6
|
fvoveq1d |
|- ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) -> ( W ` ( ( ( A + 1 ) + B ) mod L ) ) = ( W ` ( ( ( A + B ) + 1 ) mod L ) ) ) |
| 8 |
7
|
3ad2ant1 |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ A. i e. ( 0 ..^ ( L - 1 ) ) { ( W ` i ) , ( W ` ( i + 1 ) ) } e. R /\ { ( W ` ( L - 1 ) ) , ( W ` 0 ) } e. R ) -> ( W ` ( ( ( A + 1 ) + B ) mod L ) ) = ( W ` ( ( ( A + B ) + 1 ) mod L ) ) ) |
| 9 |
8
|
preq2d |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ A. i e. ( 0 ..^ ( L - 1 ) ) { ( W ` i ) , ( W ` ( i + 1 ) ) } e. R /\ { ( W ` ( L - 1 ) ) , ( W ` 0 ) } e. R ) -> { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + 1 ) + B ) mod L ) ) } = { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) + 1 ) mod L ) ) } ) |
| 10 |
|
zaddcl |
|- ( ( A e. ZZ /\ B e. ZZ ) -> ( A + B ) e. ZZ ) |
| 11 |
10
|
3adant1 |
|- ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) -> ( A + B ) e. ZZ ) |
| 12 |
|
eluz2nn |
|- ( L e. ( ZZ>= ` 2 ) -> L e. NN ) |
| 13 |
12
|
3ad2ant1 |
|- ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) -> L e. NN ) |
| 14 |
11 13
|
zmodcld |
|- ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) -> ( ( A + B ) mod L ) e. NN0 ) |
| 15 |
14
|
adantr |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( ( A + B ) mod L ) < ( L - 1 ) ) -> ( ( A + B ) mod L ) e. NN0 ) |
| 16 |
|
uz2m1nn |
|- ( L e. ( ZZ>= ` 2 ) -> ( L - 1 ) e. NN ) |
| 17 |
16
|
3ad2ant1 |
|- ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) -> ( L - 1 ) e. NN ) |
| 18 |
17
|
adantr |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( ( A + B ) mod L ) < ( L - 1 ) ) -> ( L - 1 ) e. NN ) |
| 19 |
|
simpr |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( ( A + B ) mod L ) < ( L - 1 ) ) -> ( ( A + B ) mod L ) < ( L - 1 ) ) |
| 20 |
|
elfzo0 |
|- ( ( ( A + B ) mod L ) e. ( 0 ..^ ( L - 1 ) ) <-> ( ( ( A + B ) mod L ) e. NN0 /\ ( L - 1 ) e. NN /\ ( ( A + B ) mod L ) < ( L - 1 ) ) ) |
| 21 |
15 18 19 20
|
syl3anbrc |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( ( A + B ) mod L ) < ( L - 1 ) ) -> ( ( A + B ) mod L ) e. ( 0 ..^ ( L - 1 ) ) ) |
| 22 |
|
fveq2 |
|- ( i = ( ( A + B ) mod L ) -> ( W ` i ) = ( W ` ( ( A + B ) mod L ) ) ) |
| 23 |
|
fvoveq1 |
|- ( i = ( ( A + B ) mod L ) -> ( W ` ( i + 1 ) ) = ( W ` ( ( ( A + B ) mod L ) + 1 ) ) ) |
| 24 |
22 23
|
preq12d |
|- ( i = ( ( A + B ) mod L ) -> { ( W ` i ) , ( W ` ( i + 1 ) ) } = { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) mod L ) + 1 ) ) } ) |
| 25 |
24
|
eleq1d |
|- ( i = ( ( A + B ) mod L ) -> ( { ( W ` i ) , ( W ` ( i + 1 ) ) } e. R <-> { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) mod L ) + 1 ) ) } e. R ) ) |
| 26 |
25
|
rspcv |
|- ( ( ( A + B ) mod L ) e. ( 0 ..^ ( L - 1 ) ) -> ( A. i e. ( 0 ..^ ( L - 1 ) ) { ( W ` i ) , ( W ` ( i + 1 ) ) } e. R -> { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) mod L ) + 1 ) ) } e. R ) ) |
| 27 |
21 26
|
syl |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( ( A + B ) mod L ) < ( L - 1 ) ) -> ( A. i e. ( 0 ..^ ( L - 1 ) ) { ( W ` i ) , ( W ` ( i + 1 ) ) } e. R -> { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) mod L ) + 1 ) ) } e. R ) ) |
| 28 |
10
|
zred |
|- ( ( A e. ZZ /\ B e. ZZ ) -> ( A + B ) e. RR ) |
| 29 |
28
|
3adant1 |
|- ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) -> ( A + B ) e. RR ) |
| 30 |
29
|
adantr |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( ( A + B ) mod L ) < ( L - 1 ) ) -> ( A + B ) e. RR ) |
| 31 |
12
|
nnrpd |
|- ( L e. ( ZZ>= ` 2 ) -> L e. RR+ ) |
| 32 |
31
|
3ad2ant1 |
|- ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) -> L e. RR+ ) |
| 33 |
32
|
adantr |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( ( A + B ) mod L ) < ( L - 1 ) ) -> L e. RR+ ) |
| 34 |
|
modltm1p1mod |
|- ( ( ( A + B ) e. RR /\ L e. RR+ /\ ( ( A + B ) mod L ) < ( L - 1 ) ) -> ( ( ( A + B ) + 1 ) mod L ) = ( ( ( A + B ) mod L ) + 1 ) ) |
| 35 |
30 33 19 34
|
syl3anc |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( ( A + B ) mod L ) < ( L - 1 ) ) -> ( ( ( A + B ) + 1 ) mod L ) = ( ( ( A + B ) mod L ) + 1 ) ) |
| 36 |
35
|
fveq2d |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( ( A + B ) mod L ) < ( L - 1 ) ) -> ( W ` ( ( ( A + B ) + 1 ) mod L ) ) = ( W ` ( ( ( A + B ) mod L ) + 1 ) ) ) |
| 37 |
36
|
preq2d |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( ( A + B ) mod L ) < ( L - 1 ) ) -> { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) + 1 ) mod L ) ) } = { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) mod L ) + 1 ) ) } ) |
| 38 |
37
|
eleq1d |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( ( A + B ) mod L ) < ( L - 1 ) ) -> ( { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) + 1 ) mod L ) ) } e. R <-> { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) mod L ) + 1 ) ) } e. R ) ) |
| 39 |
27 38
|
sylibrd |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( ( A + B ) mod L ) < ( L - 1 ) ) -> ( A. i e. ( 0 ..^ ( L - 1 ) ) { ( W ` i ) , ( W ` ( i + 1 ) ) } e. R -> { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) + 1 ) mod L ) ) } e. R ) ) |
| 40 |
39
|
impancom |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ A. i e. ( 0 ..^ ( L - 1 ) ) { ( W ` i ) , ( W ` ( i + 1 ) ) } e. R ) -> ( ( ( A + B ) mod L ) < ( L - 1 ) -> { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) + 1 ) mod L ) ) } e. R ) ) |
| 41 |
40
|
3adant3 |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ A. i e. ( 0 ..^ ( L - 1 ) ) { ( W ` i ) , ( W ` ( i + 1 ) ) } e. R /\ { ( W ` ( L - 1 ) ) , ( W ` 0 ) } e. R ) -> ( ( ( A + B ) mod L ) < ( L - 1 ) -> { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) + 1 ) mod L ) ) } e. R ) ) |
| 42 |
|
zmodfzo |
|- ( ( ( A + B ) e. ZZ /\ L e. NN ) -> ( ( A + B ) mod L ) e. ( 0 ..^ L ) ) |
| 43 |
11 13 42
|
syl2anc |
|- ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) -> ( ( A + B ) mod L ) e. ( 0 ..^ L ) ) |
| 44 |
|
elfzonlteqm1 |
|- ( ( ( ( A + B ) mod L ) e. ( 0 ..^ L ) /\ -. ( ( A + B ) mod L ) < ( L - 1 ) ) -> ( ( A + B ) mod L ) = ( L - 1 ) ) |
| 45 |
44
|
eqcomd |
|- ( ( ( ( A + B ) mod L ) e. ( 0 ..^ L ) /\ -. ( ( A + B ) mod L ) < ( L - 1 ) ) -> ( L - 1 ) = ( ( A + B ) mod L ) ) |
| 46 |
45
|
ex |
|- ( ( ( A + B ) mod L ) e. ( 0 ..^ L ) -> ( -. ( ( A + B ) mod L ) < ( L - 1 ) -> ( L - 1 ) = ( ( A + B ) mod L ) ) ) |
| 47 |
43 46
|
syl |
|- ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) -> ( -. ( ( A + B ) mod L ) < ( L - 1 ) -> ( L - 1 ) = ( ( A + B ) mod L ) ) ) |
| 48 |
|
fveq2 |
|- ( ( L - 1 ) = ( ( A + B ) mod L ) -> ( W ` ( L - 1 ) ) = ( W ` ( ( A + B ) mod L ) ) ) |
| 49 |
48
|
adantl |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( L - 1 ) = ( ( A + B ) mod L ) ) -> ( W ` ( L - 1 ) ) = ( W ` ( ( A + B ) mod L ) ) ) |
| 50 |
|
zre |
|- ( A e. ZZ -> A e. RR ) |
| 51 |
|
zre |
|- ( B e. ZZ -> B e. RR ) |
| 52 |
|
readdcl |
|- ( ( A e. RR /\ B e. RR ) -> ( A + B ) e. RR ) |
| 53 |
50 51 52
|
syl2an |
|- ( ( A e. ZZ /\ B e. ZZ ) -> ( A + B ) e. RR ) |
| 54 |
53
|
3adant1 |
|- ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) -> ( A + B ) e. RR ) |
| 55 |
54 32
|
jca |
|- ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) -> ( ( A + B ) e. RR /\ L e. RR+ ) ) |
| 56 |
55
|
adantr |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( L - 1 ) = ( ( A + B ) mod L ) ) -> ( ( A + B ) e. RR /\ L e. RR+ ) ) |
| 57 |
|
simpr |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( L - 1 ) = ( ( A + B ) mod L ) ) -> ( L - 1 ) = ( ( A + B ) mod L ) ) |
| 58 |
57
|
eqcomd |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( L - 1 ) = ( ( A + B ) mod L ) ) -> ( ( A + B ) mod L ) = ( L - 1 ) ) |
| 59 |
|
modm1p1mod0 |
|- ( ( ( A + B ) e. RR /\ L e. RR+ ) -> ( ( ( A + B ) mod L ) = ( L - 1 ) -> ( ( ( A + B ) + 1 ) mod L ) = 0 ) ) |
| 60 |
56 58 59
|
sylc |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( L - 1 ) = ( ( A + B ) mod L ) ) -> ( ( ( A + B ) + 1 ) mod L ) = 0 ) |
| 61 |
60
|
eqcomd |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( L - 1 ) = ( ( A + B ) mod L ) ) -> 0 = ( ( ( A + B ) + 1 ) mod L ) ) |
| 62 |
61
|
fveq2d |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( L - 1 ) = ( ( A + B ) mod L ) ) -> ( W ` 0 ) = ( W ` ( ( ( A + B ) + 1 ) mod L ) ) ) |
| 63 |
49 62
|
preq12d |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( L - 1 ) = ( ( A + B ) mod L ) ) -> { ( W ` ( L - 1 ) ) , ( W ` 0 ) } = { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) + 1 ) mod L ) ) } ) |
| 64 |
63
|
eleq1d |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( L - 1 ) = ( ( A + B ) mod L ) ) -> ( { ( W ` ( L - 1 ) ) , ( W ` 0 ) } e. R <-> { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) + 1 ) mod L ) ) } e. R ) ) |
| 65 |
64
|
biimpd |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ ( L - 1 ) = ( ( A + B ) mod L ) ) -> ( { ( W ` ( L - 1 ) ) , ( W ` 0 ) } e. R -> { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) + 1 ) mod L ) ) } e. R ) ) |
| 66 |
65
|
ex |
|- ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) -> ( ( L - 1 ) = ( ( A + B ) mod L ) -> ( { ( W ` ( L - 1 ) ) , ( W ` 0 ) } e. R -> { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) + 1 ) mod L ) ) } e. R ) ) ) |
| 67 |
47 66
|
syld |
|- ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) -> ( -. ( ( A + B ) mod L ) < ( L - 1 ) -> ( { ( W ` ( L - 1 ) ) , ( W ` 0 ) } e. R -> { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) + 1 ) mod L ) ) } e. R ) ) ) |
| 68 |
67
|
com23 |
|- ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) -> ( { ( W ` ( L - 1 ) ) , ( W ` 0 ) } e. R -> ( -. ( ( A + B ) mod L ) < ( L - 1 ) -> { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) + 1 ) mod L ) ) } e. R ) ) ) |
| 69 |
68
|
imp |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ { ( W ` ( L - 1 ) ) , ( W ` 0 ) } e. R ) -> ( -. ( ( A + B ) mod L ) < ( L - 1 ) -> { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) + 1 ) mod L ) ) } e. R ) ) |
| 70 |
69
|
3adant2 |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ A. i e. ( 0 ..^ ( L - 1 ) ) { ( W ` i ) , ( W ` ( i + 1 ) ) } e. R /\ { ( W ` ( L - 1 ) ) , ( W ` 0 ) } e. R ) -> ( -. ( ( A + B ) mod L ) < ( L - 1 ) -> { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) + 1 ) mod L ) ) } e. R ) ) |
| 71 |
41 70
|
pm2.61d |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ A. i e. ( 0 ..^ ( L - 1 ) ) { ( W ` i ) , ( W ` ( i + 1 ) ) } e. R /\ { ( W ` ( L - 1 ) ) , ( W ` 0 ) } e. R ) -> { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + B ) + 1 ) mod L ) ) } e. R ) |
| 72 |
9 71
|
eqeltrd |
|- ( ( ( L e. ( ZZ>= ` 2 ) /\ A e. ZZ /\ B e. ZZ ) /\ A. i e. ( 0 ..^ ( L - 1 ) ) { ( W ` i ) , ( W ` ( i + 1 ) ) } e. R /\ { ( W ` ( L - 1 ) ) , ( W ` 0 ) } e. R ) -> { ( W ` ( ( A + B ) mod L ) ) , ( W ` ( ( ( A + 1 ) + B ) mod L ) ) } e. R ) |