Step |
Hyp |
Ref |
Expression |
1 |
|
modexp2m1d.a |
โข ( ๐ โ ๐ด โ โค ) |
2 |
|
modexp2m1d.e |
โข ( ๐ โ ๐ธ โ โ+ ) |
3 |
|
modexp2m1d.g |
โข ( ๐ โ 1 < ๐ธ ) |
4 |
|
modexp2m1d.m |
โข ( ๐ โ ( ๐ด mod ๐ธ ) = ( - 1 mod ๐ธ ) ) |
5 |
1
|
zcnd |
โข ( ๐ โ ๐ด โ โ ) |
6 |
5
|
sqvald |
โข ( ๐ โ ( ๐ด โ 2 ) = ( ๐ด ยท ๐ด ) ) |
7 |
6
|
oveq1d |
โข ( ๐ โ ( ( ๐ด โ 2 ) mod ๐ธ ) = ( ( ๐ด ยท ๐ด ) mod ๐ธ ) ) |
8 |
|
neg1z |
โข - 1 โ โค |
9 |
8
|
a1i |
โข ( ๐ โ - 1 โ โค ) |
10 |
1 9 1 9 2 4 4
|
modmul12d |
โข ( ๐ โ ( ( ๐ด ยท ๐ด ) mod ๐ธ ) = ( ( - 1 ยท - 1 ) mod ๐ธ ) ) |
11 |
7 10
|
eqtrd |
โข ( ๐ โ ( ( ๐ด โ 2 ) mod ๐ธ ) = ( ( - 1 ยท - 1 ) mod ๐ธ ) ) |
12 |
|
neg1mulneg1e1 |
โข ( - 1 ยท - 1 ) = 1 |
13 |
12
|
a1i |
โข ( ๐ โ ( - 1 ยท - 1 ) = 1 ) |
14 |
13
|
oveq1d |
โข ( ๐ โ ( ( - 1 ยท - 1 ) mod ๐ธ ) = ( 1 mod ๐ธ ) ) |
15 |
2
|
rpred |
โข ( ๐ โ ๐ธ โ โ ) |
16 |
|
1mod |
โข ( ( ๐ธ โ โ โง 1 < ๐ธ ) โ ( 1 mod ๐ธ ) = 1 ) |
17 |
15 3 16
|
syl2anc |
โข ( ๐ โ ( 1 mod ๐ธ ) = 1 ) |
18 |
14 17
|
eqtrd |
โข ( ๐ โ ( ( - 1 ยท - 1 ) mod ๐ธ ) = 1 ) |
19 |
11 18
|
eqtrd |
โข ( ๐ โ ( ( ๐ด โ 2 ) mod ๐ธ ) = 1 ) |