Step | Hyp | Ref
| Expression |
1 | | smumullem.n |
. 2
|
2 | | oveq2 6304 |
. . . . . . . . . 10
|
3 | | fzo0 11849 |
. . . . . . . . . 10
|
4 | 2, 3 | syl6eq 2514 |
. . . . . . . . 9
|
5 | 4 | ineq2d 3699 |
. . . . . . . 8
|
6 | | in0 3811 |
. . . . . . . 8
|
7 | 5, 6 | syl6eq 2514 |
. . . . . . 7
|
8 | 7 | oveq1d 6311 |
. . . . . 6
|
9 | | bitsss 14076 |
. . . . . . 7
|
10 | | smu02 14137 |
. . . . . . 7
|
11 | 9, 10 | ax-mp 5 |
. . . . . 6
|
12 | 8, 11 | syl6eq 2514 |
. . . . 5
|
13 | | oveq2 6304 |
. . . . . . . . 9
|
14 | | 2cn 10631 |
. . . . . . . . . 10
|
15 | | exp0 12170 |
. . . . . . . . . 10
|
16 | 14, 15 | ax-mp 5 |
. . . . . . . . 9
|
17 | 13, 16 | syl6eq 2514 |
. . . . . . . 8
|
18 | 17 | oveq2d 6312 |
. . . . . . 7
|
19 | 18 | oveq1d 6311 |
. . . . . 6
|
20 | 19 | fveq2d 5875 |
. . . . 5
|
21 | 12, 20 | eqeq12d 2479 |
. . . 4
|
22 | 21 | imbi2d 316 |
. . 3
|
23 | | oveq2 6304 |
. . . . . . 7
|
24 | 23 | ineq2d 3699 |
. . . . . 6
|
25 | 24 | oveq1d 6311 |
. . . . 5
|
26 | | oveq2 6304 |
. . . . . . . 8
|
27 | 26 | oveq2d 6312 |
. . . . . . 7
|
28 | 27 | oveq1d 6311 |
. . . . . 6
|
29 | 28 | fveq2d 5875 |
. . . . 5
|
30 | 25, 29 | eqeq12d 2479 |
. . . 4
|
31 | 30 | imbi2d 316 |
. . 3
|
32 | | oveq2 6304 |
. . . . . . 7
|
33 | 32 | ineq2d 3699 |
. . . . . 6
|
34 | 33 | oveq1d 6311 |
. . . . 5
|
35 | | oveq2 6304 |
. . . . . . . 8
|
36 | 35 | oveq2d 6312 |
. . . . . . 7
|
37 | 36 | oveq1d 6311 |
. . . . . 6
|
38 | 37 | fveq2d 5875 |
. . . . 5
|
39 | 34, 38 | eqeq12d 2479 |
. . . 4
|
40 | 39 | imbi2d 316 |
. . 3
|
41 | | oveq2 6304 |
. . . . . . 7
|
42 | 41 | ineq2d 3699 |
. . . . . 6
|
43 | 42 | oveq1d 6311 |
. . . . 5
|
44 | | oveq2 6304 |
. . . . . . . 8
|
45 | 44 | oveq2d 6312 |
. . . . . . 7
|
46 | 45 | oveq1d 6311 |
. . . . . 6
|
47 | 46 | fveq2d 5875 |
. . . . 5
|
48 | 43, 47 | eqeq12d 2479 |
. . . 4
|
49 | 48 | imbi2d 316 |
. . 3
|
50 | | smumullem.a |
. . . . . . . 8
|
51 | | zmod10 12012 |
. . . . . . . 8
|
52 | 50, 51 | syl 16 |
. . . . . . 7
|
53 | 52 | oveq1d 6311 |
. . . . . 6
|
54 | | smumullem.b |
. . . . . . . 8
|
55 | 54 | zcnd 10995 |
. . . . . . 7
|
56 | 55 | mul02d 9799 |
. . . . . 6
|
57 | 53, 56 | eqtrd 2498 |
. . . . 5
|
58 | 57 | fveq2d 5875 |
. . . 4
|
59 | | 0bits 14089 |
. . . 4
|
60 | 58, 59 | syl6req 2515 |
. . 3
|
61 | | oveq1 6303 |
. . . . . 6
|
62 | | bitsss 14076 |
. . . . . . . . 9
|
63 | 62 | a1i 11 |
. . . . . . . 8
|
64 | 9 | a1i 11 |
. . . . . . . 8
|
65 | | simpr 461 |
. . . . . . . 8
|
66 | 63, 64, 65 | smup1 14139 |
. . . . . . 7
|
67 | | bitsinv1lem 14091 |
. . . . . . . . . . . 12
|
68 | 50, 67 | sylan 471 |
. . . . . . . . . . 11
|
69 | 68 | oveq1d 6311 |
. . . . . . . . . 10
|
70 | 50 | adantr 465 |
. . . . . . . . . . . . 13
|
71 | | 2nn 10718 |
. . . . . . . . . . . . . . 15
|
72 | 71 | a1i 11 |
. . . . . . . . . . . . . 14
|
73 | 72, 65 | nnexpcld 12331 |
. . . . . . . . . . . . 13
|
74 | 70, 73 | zmodcld 12016 |
. . . . . . . . . . . 12
|
75 | 74 | nn0cnd 10879 |
. . . . . . . . . . 11
|
76 | 73 | nnnn0d 10877 |
. . . . . . . . . . . . 13
|
77 | | 0nn0 10835 |
. . . . . . . . . . . . 13
|
78 | | ifcl 3983 |
. . . . . . . . . . . . 13
|
79 | 76, 77, 78 | sylancl 662 |
. . . . . . . . . . . 12
|
80 | 79 | nn0cnd 10879 |
. . . . . . . . . . 11
|
81 | 55 | adantr 465 |
. . . . . . . . . . 11
|
82 | 75, 80, 81 | adddird 9642 |
. . . . . . . . . 10
|
83 | 80, 81 | mulcomd 9638 |
. . . . . . . . . . 11
|
84 | 83 | oveq2d 6312 |
. . . . . . . . . 10
|
85 | 69, 82, 84 | 3eqtrd 2502 |
. . . . . . . . 9
|
86 | 85 | fveq2d 5875 |
. . . . . . . 8
|
87 | 74 | nn0zd 10992 |
. . . . . . . . . 10
|
88 | 54 | adantr 465 |
. . . . . . . . . 10
|
89 | 87, 88 | zmulcld 11000 |
. . . . . . . . 9
|
90 | 79 | nn0zd 10992 |
. . . . . . . . . 10
|
91 | 88, 90 | zmulcld 11000 |
. . . . . . . . 9
|
92 | | sadadd 14117 |
. . . . . . . . 9
|
93 | 89, 91, 92 | syl2anc 661 |
. . . . . . . 8
|
94 | | oveq2 6304 |
. . . . . . . . . . . 12
|
95 | 94 | fveq2d 5875 |
. . . . . . . . . . 11
|
96 | 95 | eqeq1d 2459 |
. . . . . . . . . 10
|
97 | | oveq2 6304 |
. . . . . . . . . . . 12
|
98 | 97 | fveq2d 5875 |
. . . . . . . . . . 11
|
99 | 98 | eqeq1d 2459 |
. . . . . . . . . 10
|
100 | | bitsshft 14125 |
. . . . . . . . . . . 12
|
101 | 54, 100 | sylan 471 |
. . . . . . . . . . 11
|
102 | | ibar 504 |
. . . . . . . . . . . 12
|
103 | 102 | rabbidv 3101 |
. . . . . . . . . . 11
|
104 | 101, 103 | sylan9req 2519 |
. . . . . . . . . 10
|
105 | 81 | adantr 465 |
. . . . . . . . . . . . 13
|
106 | 105 | mul01d 9800 |
. . . . . . . . . . . 12
|
107 | 106 | fveq2d 5875 |
. . . . . . . . . . 11
|
108 | | simpr 461 |
. . . . . . . . . . . . . 14
|
109 | 108 | intnanrd 917 |
. . . . . . . . . . . . 13
|
110 | 109 | ralrimivw 2872 |
. . . . . . . . . . . 12
|
111 | | rabeq0 3807 |
. . . . . . . . . . . 12
|
112 | 110, 111 | sylibr 212 |
. . . . . . . . . . 11
|
113 | 59, 107, 112 | 3eqtr4a 2524 |
. . . . . . . . . 10
|
114 | 96, 99, 104, 113 | ifbothda 3976 |
. . . . . . . . 9
|
115 | 114 | oveq2d 6312 |
. . . . . . . 8
|
116 | 86, 93, 115 | 3eqtr2d 2504 |
. . . . . . 7
|
117 | 66, 116 | eqeq12d 2479 |
. . . . . 6
|
118 | 61, 117 | syl5ibr 221 |
. . . . 5
|
119 | 118 | expcom 435 |
. . . 4
|
120 | 119 | a2d 26 |
. . 3
|
121 | 22, 31, 40, 49, 60, 120 | nn0ind 10984 |
. 2
|
122 | 1, 121 | mpcom 36 |
1
|