Metamath Proof Explorer


Theorem eulerth

Description: Euler's theorem, a generalization of Fermat's little theorem. If A and N are coprime, then A ^ phi ( N ) == 1 (mod N ). This is Metamath 100 proof #10. Also called Euler-Fermat theorem, see theorem 5.17 in ApostolNT p. 113. (Contributed by Mario Carneiro, 28-Feb-2014)

Ref Expression
Assertion eulerth NAAgcdN=1AϕNmodN=1modN

Proof

Step Hyp Ref Expression
1 phicl NϕN
2 1 nnnn0d NϕN0
3 hashfz1 ϕN01ϕN=ϕN
4 2 3 syl N1ϕN=ϕN
5 dfphi2 NϕN=k0..^N|kgcdN=1
6 4 5 eqtrd N1ϕN=k0..^N|kgcdN=1
7 6 3ad2ant1 NAAgcdN=11ϕN=k0..^N|kgcdN=1
8 fzfi 1ϕNFin
9 fzofi 0..^NFin
10 ssrab2 k0..^N|kgcdN=10..^N
11 ssfi 0..^NFink0..^N|kgcdN=10..^Nk0..^N|kgcdN=1Fin
12 9 10 11 mp2an k0..^N|kgcdN=1Fin
13 hashen 1ϕNFink0..^N|kgcdN=1Fin1ϕN=k0..^N|kgcdN=11ϕNk0..^N|kgcdN=1
14 8 12 13 mp2an 1ϕN=k0..^N|kgcdN=11ϕNk0..^N|kgcdN=1
15 7 14 sylib NAAgcdN=11ϕNk0..^N|kgcdN=1
16 bren 1ϕNk0..^N|kgcdN=1ff:1ϕN1-1 ontok0..^N|kgcdN=1
17 15 16 sylib NAAgcdN=1ff:1ϕN1-1 ontok0..^N|kgcdN=1
18 simpl NAAgcdN=1f:1ϕN1-1 ontok0..^N|kgcdN=1NAAgcdN=1
19 oveq1 k=ykgcdN=ygcdN
20 19 eqeq1d k=ykgcdN=1ygcdN=1
21 20 cbvrabv k0..^N|kgcdN=1=y0..^N|ygcdN=1
22 eqid 1ϕN=1ϕN
23 simpr NAAgcdN=1f:1ϕN1-1 ontok0..^N|kgcdN=1f:1ϕN1-1 ontok0..^N|kgcdN=1
24 fveq2 k=xfk=fx
25 24 oveq2d k=xAfk=Afx
26 25 oveq1d k=xAfkmodN=AfxmodN
27 26 cbvmptv k1ϕNAfkmodN=x1ϕNAfxmodN
28 18 21 22 23 27 eulerthlem2 NAAgcdN=1f:1ϕN1-1 ontok0..^N|kgcdN=1AϕNmodN=1modN
29 17 28 exlimddv NAAgcdN=1AϕNmodN=1modN