Metamath Proof Explorer


Theorem m1modmmod

Description: An integer decreased by 1 modulo a positive integer minus the integer modulo the same modulus is either -1 or the modulus minus 1. (Contributed by AV, 7-Jun-2020)

Ref Expression
Assertion m1modmmod A N A 1 mod N A mod N = if A mod N = 0 N 1 1

Proof

Step Hyp Ref Expression
1 oveq2 A mod N = 0 A 1 mod N A mod N = A 1 mod N 0
2 1 adantl A N A mod N = 0 A 1 mod N A mod N = A 1 mod N 0
3 peano2zm A A 1
4 3 zred A A 1
5 4 adantr A N A 1
6 nnrp N N +
7 6 adantl A N N +
8 5 7 modcld A N A 1 mod N
9 8 recnd A N A 1 mod N
10 9 subid1d A N A 1 mod N 0 = A 1 mod N
11 10 adantr A N A mod N = 0 A 1 mod N 0 = A 1 mod N
12 mod0mul A N A mod N = 0 x A = x N
13 12 imp A N A mod N = 0 x A = x N
14 oveq1 A = x N A 1 = x N 1
15 14 oveq1d A = x N A 1 mod N = x N 1 mod N
16 zcn x x
17 nncn N N
18 17 adantl A N N
19 mulcl x N x N
20 16 18 19 syl2anr A N x x N
21 18 adantr A N x N
22 20 21 npcand A N x x N - N + N = x N
23 22 eqcomd A N x x N = x N - N + N
24 16 adantl A N x x
25 24 21 mulsubfacd A N x x N N = x 1 N
26 25 oveq1d A N x x N - N + N = x 1 N + N
27 23 26 eqtrd A N x x N = x 1 N + N
28 27 oveq1d A N x x N 1 = x 1 N + N - 1
29 peano2zm x x 1
30 29 zcnd x x 1
31 mulcl x 1 N x 1 N
32 30 18 31 syl2anr A N x x 1 N
33 1cnd A N x 1
34 32 21 33 addsubassd A N x x 1 N + N - 1 = x 1 N + N - 1
35 28 34 eqtrd A N x x N 1 = x 1 N + N - 1
36 35 oveq1d A N x x N 1 mod N = x 1 N + N - 1 mod N
37 nnre N N
38 peano2rem N N 1
39 37 38 syl N N 1
40 39 recnd N N 1
41 40 adantl A N N 1
42 41 adantr A N x N 1
43 32 42 addcomd A N x x 1 N + N - 1 = N - 1 + x 1 N
44 43 oveq1d A N x x 1 N + N - 1 mod N = N - 1 + x 1 N mod N
45 39 adantl A N N 1
46 45 adantr A N x N 1
47 7 adantr A N x N +
48 29 adantl A N x x 1
49 modcyc N 1 N + x 1 N - 1 + x 1 N mod N = N 1 mod N
50 46 47 48 49 syl3anc A N x N - 1 + x 1 N mod N = N 1 mod N
51 39 6 jca N N 1 N +
52 51 adantl A N N 1 N +
53 52 adantr A N x N 1 N +
54 nnm1ge0 N 0 N 1
55 54 adantl A N 0 N 1
56 55 adantr A N x 0 N 1
57 37 ltm1d N N 1 < N
58 57 adantl A N N 1 < N
59 58 adantr A N x N 1 < N
60 modid N 1 N + 0 N 1 N 1 < N N 1 mod N = N 1
61 53 56 59 60 syl12anc A N x N 1 mod N = N 1
62 50 61 eqtrd A N x N - 1 + x 1 N mod N = N 1
63 36 44 62 3eqtrd A N x x N 1 mod N = N 1
64 15 63 sylan9eqr A N x A = x N A 1 mod N = N 1
65 64 rexlimdva2 A N x A = x N A 1 mod N = N 1
66 65 adantr A N A mod N = 0 x A = x N A 1 mod N = N 1
67 13 66 mpd A N A mod N = 0 A 1 mod N = N 1
68 2 11 67 3eqtrrd A N A mod N = 0 N 1 = A 1 mod N A mod N
69 df-ne A mod N 0 ¬ A mod N = 0
70 modn0mul A N A mod N 0 x y 1 ..^ N A = x N + y
71 oveq1 A = x N + y A 1 = x N + y - 1
72 71 oveq1d A = x N + y A 1 mod N = x N + y - 1 mod N
73 oveq1 A = x N + y A mod N = x N + y mod N
74 72 73 oveq12d A = x N + y A 1 mod N A mod N = x N + y - 1 mod N x N + y mod N
75 16 adantr x y 1 ..^ N x
76 75 18 19 syl2anr A N x y 1 ..^ N x N
77 elfzoelz y 1 ..^ N y
78 77 zcnd y 1 ..^ N y
79 78 adantl x y 1 ..^ N y
80 79 adantl A N x y 1 ..^ N y
81 1cnd A N x y 1 ..^ N 1
82 76 80 81 addsubassd A N x y 1 ..^ N x N + y - 1 = x N + y - 1
83 peano2zm y y 1
84 77 83 syl y 1 ..^ N y 1
85 84 zcnd y 1 ..^ N y 1
86 85 adantl x y 1 ..^ N y 1
87 86 adantl A N x y 1 ..^ N y 1
88 76 87 addcomd A N x y 1 ..^ N x N + y - 1 = y - 1 + x N
89 82 88 eqtrd A N x y 1 ..^ N x N + y - 1 = y - 1 + x N
90 89 oveq1d A N x y 1 ..^ N x N + y - 1 mod N = y - 1 + x N mod N
91 84 zred y 1 ..^ N y 1
92 91 adantl x y 1 ..^ N y 1
93 92 adantl A N x y 1 ..^ N y 1
94 7 adantr A N x y 1 ..^ N N +
95 simprl A N x y 1 ..^ N x
96 modcyc y 1 N + x y - 1 + x N mod N = y 1 mod N
97 93 94 95 96 syl3anc A N x y 1 ..^ N y - 1 + x N mod N = y 1 mod N
98 90 97 eqtrd A N x y 1 ..^ N x N + y - 1 mod N = y 1 mod N
99 76 80 addcomd A N x y 1 ..^ N x N + y = y + x N
100 99 oveq1d A N x y 1 ..^ N x N + y mod N = y + x N mod N
101 77 zred y 1 ..^ N y
102 101 adantl x y 1 ..^ N y
103 102 adantl A N x y 1 ..^ N y
104 modcyc y N + x y + x N mod N = y mod N
105 103 94 95 104 syl3anc A N x y 1 ..^ N y + x N mod N = y mod N
106 7 102 anim12ci A N x y 1 ..^ N y N +
107 elfzole1 y 1 ..^ N 1 y
108 0lt1 0 < 1
109 0red y 1 ..^ N 0
110 1red y 1 ..^ N 1
111 ltleletr 0 1 y 0 < 1 1 y 0 y
112 109 110 101 111 syl3anc y 1 ..^ N 0 < 1 1 y 0 y
113 108 112 mpani y 1 ..^ N 1 y 0 y
114 107 113 mpd y 1 ..^ N 0 y
115 elfzolt2 y 1 ..^ N y < N
116 114 115 jca y 1 ..^ N 0 y y < N
117 116 adantl x y 1 ..^ N 0 y y < N
118 117 adantl A N x y 1 ..^ N 0 y y < N
119 106 118 jca A N x y 1 ..^ N y N + 0 y y < N
120 modid y N + 0 y y < N y mod N = y
121 119 120 syl A N x y 1 ..^ N y mod N = y
122 100 105 121 3eqtrd A N x y 1 ..^ N x N + y mod N = y
123 98 122 oveq12d A N x y 1 ..^ N x N + y - 1 mod N x N + y mod N = y 1 mod N y
124 74 123 sylan9eqr A N x y 1 ..^ N A = x N + y A 1 mod N A mod N = y 1 mod N y
125 7 92 anim12ci A N x y 1 ..^ N y 1 N +
126 elfzo2 y 1 ..^ N y 1 N y < N
127 eluz2 y 1 1 y 1 y
128 zre y y
129 zre 1 1
130 subge0 y 1 0 y 1 1 y
131 128 129 130 syl2anr 1 y 0 y 1 1 y
132 131 biimp3ar 1 y 1 y 0 y 1
133 127 132 sylbi y 1 0 y 1
134 133 3ad2ant1 y 1 N y < N 0 y 1
135 126 134 sylbi y 1 ..^ N 0 y 1
136 135 adantl x y 1 ..^ N 0 y 1
137 136 adantl A N x y 1 ..^ N 0 y 1
138 eluzelz y 1 y
139 138 zred y 1 y
140 zre N N
141 ltle y N y < N y N
142 139 140 141 syl2an y 1 N y < N y N
143 142 3impia y 1 N y < N y N
144 138 anim1i y 1 N y N
145 144 3adant3 y 1 N y < N y N
146 zlem1lt y N y N y 1 < N
147 145 146 syl y 1 N y < N y N y 1 < N
148 143 147 mpbid y 1 N y < N y 1 < N
149 148 a1d y 1 N y < N A N y 1 < N
150 126 149 sylbi y 1 ..^ N A N y 1 < N
151 150 adantl x y 1 ..^ N A N y 1 < N
152 151 impcom A N x y 1 ..^ N y 1 < N
153 modid y 1 N + 0 y 1 y 1 < N y 1 mod N = y 1
154 125 137 152 153 syl12anc A N x y 1 ..^ N y 1 mod N = y 1
155 154 oveq1d A N x y 1 ..^ N y 1 mod N y = y - 1 - y
156 1cnd y 1 ..^ N 1
157 78 156 78 sub32d y 1 ..^ N y - 1 - y = y - y - 1
158 78 subidd y 1 ..^ N y y = 0
159 158 oveq1d y 1 ..^ N y - y - 1 = 0 1
160 157 159 eqtrd y 1 ..^ N y - 1 - y = 0 1
161 160 adantl x y 1 ..^ N y - 1 - y = 0 1
162 161 adantl A N x y 1 ..^ N y - 1 - y = 0 1
163 df-neg 1 = 0 1
164 162 163 eqtr4di A N x y 1 ..^ N y - 1 - y = 1
165 155 164 eqtrd A N x y 1 ..^ N y 1 mod N y = 1
166 165 adantr A N x y 1 ..^ N A = x N + y y 1 mod N y = 1
167 124 166 eqtrd A N x y 1 ..^ N A = x N + y A 1 mod N A mod N = 1
168 167 eqcomd A N x y 1 ..^ N A = x N + y 1 = A 1 mod N A mod N
169 168 ex A N x y 1 ..^ N A = x N + y 1 = A 1 mod N A mod N
170 169 rexlimdvva A N x y 1 ..^ N A = x N + y 1 = A 1 mod N A mod N
171 70 170 syld A N A mod N 0 1 = A 1 mod N A mod N
172 69 171 syl5bir A N ¬ A mod N = 0 1 = A 1 mod N A mod N
173 172 imp A N ¬ A mod N = 0 1 = A 1 mod N A mod N
174 68 173 ifeqda A N if A mod N = 0 N 1 1 = A 1 mod N A mod N
175 174 eqcomd A N A 1 mod N A mod N = if A mod N = 0 N 1 1