Database
ELEMENTARY NUMBER THEORY
Elementary prime number theory
Euler's theorem
prmdiveq
Next ⟩
prmdivdiv
Metamath Proof Explorer
Ascii
Unicode
Theorem
prmdiveq
Description:
The modular inverse of
A mod P
is unique.
(Contributed by
Mario Carneiro
, 24-Jan-2015)
Ref
Expression
Hypothesis
prmdiv.1
⊢
R
=
A
P
−
2
mod
P
Assertion
prmdiveq
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
→
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
↔
S
=
R
Proof
Step
Hyp
Ref
Expression
1
prmdiv.1
⊢
R
=
A
P
−
2
mod
P
2
simpl1
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
P
∈
ℙ
3
prmz
⊢
P
∈
ℙ
→
P
∈
ℤ
4
2
3
syl
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
P
∈
ℤ
5
simpl2
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
A
∈
ℤ
6
elfzelz
⊢
S
∈
0
…
P
−
1
→
S
∈
ℤ
7
6
ad2antrl
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
S
∈
ℤ
8
5
7
zmulcld
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
A
S
∈
ℤ
9
1z
⊢
1
∈
ℤ
10
zsubcl
⊢
A
S
∈
ℤ
∧
1
∈
ℤ
→
A
S
−
1
∈
ℤ
11
8
9
10
sylancl
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
A
S
−
1
∈
ℤ
12
1
prmdiv
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
→
R
∈
1
…
P
−
1
∧
P
∥
A
R
−
1
13
12
adantr
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
R
∈
1
…
P
−
1
∧
P
∥
A
R
−
1
14
13
simpld
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
R
∈
1
…
P
−
1
15
elfzelz
⊢
R
∈
1
…
P
−
1
→
R
∈
ℤ
16
14
15
syl
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
R
∈
ℤ
17
5
16
zmulcld
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
A
R
∈
ℤ
18
zsubcl
⊢
A
R
∈
ℤ
∧
1
∈
ℤ
→
A
R
−
1
∈
ℤ
19
17
9
18
sylancl
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
A
R
−
1
∈
ℤ
20
simprr
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
P
∥
A
S
−
1
21
13
simprd
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
P
∥
A
R
−
1
22
4
11
19
20
21
dvds2subd
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
P
∥
A
S
-
1
-
A
R
−
1
23
8
zcnd
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
A
S
∈
ℂ
24
17
zcnd
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
A
R
∈
ℂ
25
1cnd
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
1
∈
ℂ
26
23
24
25
nnncan2d
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
A
S
-
1
-
A
R
−
1
=
A
S
−
A
R
27
5
zcnd
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
A
∈
ℂ
28
elfznn0
⊢
S
∈
0
…
P
−
1
→
S
∈
ℕ
0
29
28
ad2antrl
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
S
∈
ℕ
0
30
29
nn0red
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
S
∈
ℝ
31
30
recnd
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
S
∈
ℂ
32
16
zcnd
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
R
∈
ℂ
33
27
31
32
subdid
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
A
S
−
R
=
A
S
−
A
R
34
26
33
eqtr4d
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
A
S
-
1
-
A
R
−
1
=
A
S
−
R
35
22
34
breqtrd
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
P
∥
A
S
−
R
36
simpl3
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
¬
P
∥
A
37
coprm
⊢
P
∈
ℙ
∧
A
∈
ℤ
→
¬
P
∥
A
↔
P
gcd
A
=
1
38
2
5
37
syl2anc
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
¬
P
∥
A
↔
P
gcd
A
=
1
39
36
38
mpbid
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
P
gcd
A
=
1
40
7
16
zsubcld
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
S
−
R
∈
ℤ
41
coprmdvds
⊢
P
∈
ℤ
∧
A
∈
ℤ
∧
S
−
R
∈
ℤ
→
P
∥
A
S
−
R
∧
P
gcd
A
=
1
→
P
∥
S
−
R
42
4
5
40
41
syl3anc
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
P
∥
A
S
−
R
∧
P
gcd
A
=
1
→
P
∥
S
−
R
43
35
39
42
mp2and
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
P
∥
S
−
R
44
prmnn
⊢
P
∈
ℙ
→
P
∈
ℕ
45
2
44
syl
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
P
∈
ℕ
46
moddvds
⊢
P
∈
ℕ
∧
S
∈
ℤ
∧
R
∈
ℤ
→
S
mod
P
=
R
mod
P
↔
P
∥
S
−
R
47
45
7
16
46
syl3anc
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
S
mod
P
=
R
mod
P
↔
P
∥
S
−
R
48
43
47
mpbird
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
S
mod
P
=
R
mod
P
49
45
nnrpd
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
P
∈
ℝ
+
50
elfzle1
⊢
S
∈
0
…
P
−
1
→
0
≤
S
51
50
ad2antrl
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
0
≤
S
52
elfzle2
⊢
S
∈
0
…
P
−
1
→
S
≤
P
−
1
53
52
ad2antrl
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
S
≤
P
−
1
54
zltlem1
⊢
S
∈
ℤ
∧
P
∈
ℤ
→
S
<
P
↔
S
≤
P
−
1
55
7
4
54
syl2anc
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
S
<
P
↔
S
≤
P
−
1
56
53
55
mpbird
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
S
<
P
57
modid
⊢
S
∈
ℝ
∧
P
∈
ℝ
+
∧
0
≤
S
∧
S
<
P
→
S
mod
P
=
S
58
30
49
51
56
57
syl22anc
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
S
mod
P
=
S
59
prmuz2
⊢
P
∈
ℙ
→
P
∈
ℤ
≥
2
60
uznn0sub
⊢
P
∈
ℤ
≥
2
→
P
−
2
∈
ℕ
0
61
2
59
60
3syl
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
P
−
2
∈
ℕ
0
62
zexpcl
⊢
A
∈
ℤ
∧
P
−
2
∈
ℕ
0
→
A
P
−
2
∈
ℤ
63
5
61
62
syl2anc
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
A
P
−
2
∈
ℤ
64
63
zred
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
A
P
−
2
∈
ℝ
65
modabs2
⊢
A
P
−
2
∈
ℝ
∧
P
∈
ℝ
+
→
A
P
−
2
mod
P
mod
P
=
A
P
−
2
mod
P
66
64
49
65
syl2anc
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
A
P
−
2
mod
P
mod
P
=
A
P
−
2
mod
P
67
1
oveq1i
⊢
R
mod
P
=
A
P
−
2
mod
P
mod
P
68
66
67
1
3eqtr4g
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
R
mod
P
=
R
69
48
58
68
3eqtr3d
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
∧
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
S
=
R
70
69
ex
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
→
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
→
S
=
R
71
fz1ssfz0
⊢
1
…
P
−
1
⊆
0
…
P
−
1
72
71
sseli
⊢
R
∈
1
…
P
−
1
→
R
∈
0
…
P
−
1
73
eleq1
⊢
S
=
R
→
S
∈
0
…
P
−
1
↔
R
∈
0
…
P
−
1
74
72
73
imbitrrid
⊢
S
=
R
→
R
∈
1
…
P
−
1
→
S
∈
0
…
P
−
1
75
oveq2
⊢
S
=
R
→
A
S
=
A
R
76
75
oveq1d
⊢
S
=
R
→
A
S
−
1
=
A
R
−
1
77
76
breq2d
⊢
S
=
R
→
P
∥
A
S
−
1
↔
P
∥
A
R
−
1
78
77
biimprd
⊢
S
=
R
→
P
∥
A
R
−
1
→
P
∥
A
S
−
1
79
74
78
anim12d
⊢
S
=
R
→
R
∈
1
…
P
−
1
∧
P
∥
A
R
−
1
→
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
80
12
79
syl5com
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
→
S
=
R
→
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
81
70
80
impbid
⊢
P
∈
ℙ
∧
A
∈
ℤ
∧
¬
P
∥
A
→
S
∈
0
…
P
−
1
∧
P
∥
A
S
−
1
↔
S
=
R