Metamath Proof Explorer


Theorem fpprwppr

Description: A Fermat pseudoprime to the base N is aweak pseudoprime (see Wikipedia "Fermat pseudoprime", 29-May-2023, https://en.wikipedia.org/wiki/Fermat_pseudoprime . (Contributed by AV, 31-May-2023)

Ref Expression
Assertion fpprwppr XFPPrNNXmodX=NmodX

Proof

Step Hyp Ref Expression
1 fpprbasnn XFPPrNN
2 fpprel NXFPPrNX4XNX1modX=1
3 nnz NN
4 eluz4nn X4X
5 nnm1nn0 XX10
6 4 5 syl X4X10
7 zexpcl NX10NX1
8 3 6 7 syl2an NX4NX1
9 8 zred NX4NX1
10 4 nnrpd X4X+
11 10 adantl NX4X+
12 9 11 modcld NX4NX1modX
13 12 recnd NX4NX1modX
14 1cnd NX41
15 nncn NN
16 15 adantr NX4N
17 nnne0 NN0
18 17 adantr NX4N0
19 13 14 16 18 mulcand NX4NNX1modX= N1NX1modX=1
20 oveq1 NNX1modX= N1NNX1modXmodX= N1modX
21 3 adantr NX4N
22 modmulmodr NNX1X+NNX1modXmodX=NNX1modX
23 21 9 11 22 syl3anc NX4NNX1modXmodX=NNX1modX
24 23 eqeq1d NX4NNX1modXmodX= N1modXNNX1modX= N1modX
25 8 zcnd NX4NX1
26 16 25 mulcomd NX4NNX1=NX1 N
27 expm1t NXNX=NX1 N
28 27 eqcomd NXNX1 N=NX
29 15 4 28 syl2an NX4NX1 N=NX
30 26 29 eqtrd NX4NNX1=NX
31 30 oveq1d NX4NNX1modX=NXmodX
32 15 mulid1d N N1=N
33 32 adantr NX4 N1=N
34 33 oveq1d NX4 N1modX=NmodX
35 31 34 eqeq12d NX4NNX1modX= N1modXNXmodX=NmodX
36 35 biimpd NX4NNX1modX= N1modXNXmodX=NmodX
37 24 36 sylbid NX4NNX1modXmodX= N1modXNXmodX=NmodX
38 20 37 syl5 NX4NNX1modX= N1NXmodX=NmodX
39 19 38 sylbird NX4NX1modX=1NXmodX=NmodX
40 39 a1d NX4XNX1modX=1NXmodX=NmodX
41 40 ex NX4XNX1modX=1NXmodX=NmodX
42 41 3impd NX4XNX1modX=1NXmodX=NmodX
43 2 42 sylbid NXFPPrNNXmodX=NmodX
44 1 43 mpcom XFPPrNNXmodX=NmodX