Metamath Proof Explorer


Theorem prmdvdsfmtnof1

Description: The mapping of a Fermat number to its smallest prime factor is a one-to-one function. (Contributed by AV, 4-Aug-2021)

Ref Expression
Hypothesis prmdvdsfmtnof.1
|- F = ( f e. ran FermatNo |-> inf ( { p e. Prime | p || f } , RR , < ) )
Assertion prmdvdsfmtnof1
|- F : ran FermatNo -1-1-> Prime

Proof

Step Hyp Ref Expression
1 prmdvdsfmtnof.1
 |-  F = ( f e. ran FermatNo |-> inf ( { p e. Prime | p || f } , RR , < ) )
2 1 prmdvdsfmtnof
 |-  F : ran FermatNo --> Prime
3 breq2
 |-  ( f = g -> ( p || f <-> p || g ) )
4 3 rabbidv
 |-  ( f = g -> { p e. Prime | p || f } = { p e. Prime | p || g } )
5 4 infeq1d
 |-  ( f = g -> inf ( { p e. Prime | p || f } , RR , < ) = inf ( { p e. Prime | p || g } , RR , < ) )
6 id
 |-  ( g e. ran FermatNo -> g e. ran FermatNo )
7 ltso
 |-  < Or RR
8 7 a1i
 |-  ( g e. ran FermatNo -> < Or RR )
9 8 infexd
 |-  ( g e. ran FermatNo -> inf ( { p e. Prime | p || g } , RR , < ) e. _V )
10 1 5 6 9 fvmptd3
 |-  ( g e. ran FermatNo -> ( F ` g ) = inf ( { p e. Prime | p || g } , RR , < ) )
11 breq2
 |-  ( f = h -> ( p || f <-> p || h ) )
12 11 rabbidv
 |-  ( f = h -> { p e. Prime | p || f } = { p e. Prime | p || h } )
13 12 infeq1d
 |-  ( f = h -> inf ( { p e. Prime | p || f } , RR , < ) = inf ( { p e. Prime | p || h } , RR , < ) )
14 id
 |-  ( h e. ran FermatNo -> h e. ran FermatNo )
15 7 a1i
 |-  ( h e. ran FermatNo -> < Or RR )
16 15 infexd
 |-  ( h e. ran FermatNo -> inf ( { p e. Prime | p || h } , RR , < ) e. _V )
17 1 13 14 16 fvmptd3
 |-  ( h e. ran FermatNo -> ( F ` h ) = inf ( { p e. Prime | p || h } , RR , < ) )
18 10 17 eqeqan12d
 |-  ( ( g e. ran FermatNo /\ h e. ran FermatNo ) -> ( ( F ` g ) = ( F ` h ) <-> inf ( { p e. Prime | p || g } , RR , < ) = inf ( { p e. Prime | p || h } , RR , < ) ) )
19 fmtnorn
 |-  ( g e. ran FermatNo <-> E. n e. NN0 ( FermatNo ` n ) = g )
20 fmtnoge3
 |-  ( n e. NN0 -> ( FermatNo ` n ) e. ( ZZ>= ` 3 ) )
21 uzuzle23
 |-  ( ( FermatNo ` n ) e. ( ZZ>= ` 3 ) -> ( FermatNo ` n ) e. ( ZZ>= ` 2 ) )
22 20 21 syl
 |-  ( n e. NN0 -> ( FermatNo ` n ) e. ( ZZ>= ` 2 ) )
23 22 adantr
 |-  ( ( n e. NN0 /\ ( FermatNo ` n ) = g ) -> ( FermatNo ` n ) e. ( ZZ>= ` 2 ) )
24 eleq1
 |-  ( ( FermatNo ` n ) = g -> ( ( FermatNo ` n ) e. ( ZZ>= ` 2 ) <-> g e. ( ZZ>= ` 2 ) ) )
25 24 adantl
 |-  ( ( n e. NN0 /\ ( FermatNo ` n ) = g ) -> ( ( FermatNo ` n ) e. ( ZZ>= ` 2 ) <-> g e. ( ZZ>= ` 2 ) ) )
26 23 25 mpbid
 |-  ( ( n e. NN0 /\ ( FermatNo ` n ) = g ) -> g e. ( ZZ>= ` 2 ) )
27 26 rexlimiva
 |-  ( E. n e. NN0 ( FermatNo ` n ) = g -> g e. ( ZZ>= ` 2 ) )
28 19 27 sylbi
 |-  ( g e. ran FermatNo -> g e. ( ZZ>= ` 2 ) )
29 fmtnorn
 |-  ( h e. ran FermatNo <-> E. n e. NN0 ( FermatNo ` n ) = h )
30 22 adantr
 |-  ( ( n e. NN0 /\ ( FermatNo ` n ) = h ) -> ( FermatNo ` n ) e. ( ZZ>= ` 2 ) )
31 eleq1
 |-  ( ( FermatNo ` n ) = h -> ( ( FermatNo ` n ) e. ( ZZ>= ` 2 ) <-> h e. ( ZZ>= ` 2 ) ) )
32 31 adantl
 |-  ( ( n e. NN0 /\ ( FermatNo ` n ) = h ) -> ( ( FermatNo ` n ) e. ( ZZ>= ` 2 ) <-> h e. ( ZZ>= ` 2 ) ) )
33 30 32 mpbid
 |-  ( ( n e. NN0 /\ ( FermatNo ` n ) = h ) -> h e. ( ZZ>= ` 2 ) )
34 33 rexlimiva
 |-  ( E. n e. NN0 ( FermatNo ` n ) = h -> h e. ( ZZ>= ` 2 ) )
35 29 34 sylbi
 |-  ( h e. ran FermatNo -> h e. ( ZZ>= ` 2 ) )
36 eqid
 |-  inf ( { p e. Prime | p || g } , RR , < ) = inf ( { p e. Prime | p || g } , RR , < )
37 eqid
 |-  inf ( { p e. Prime | p || h } , RR , < ) = inf ( { p e. Prime | p || h } , RR , < )
38 36 37 prmdvdsfmtnof1lem1
 |-  ( ( g e. ( ZZ>= ` 2 ) /\ h e. ( ZZ>= ` 2 ) ) -> ( inf ( { p e. Prime | p || g } , RR , < ) = inf ( { p e. Prime | p || h } , RR , < ) -> ( inf ( { p e. Prime | p || g } , RR , < ) e. Prime /\ inf ( { p e. Prime | p || g } , RR , < ) || g /\ inf ( { p e. Prime | p || g } , RR , < ) || h ) ) )
39 28 35 38 syl2an
 |-  ( ( g e. ran FermatNo /\ h e. ran FermatNo ) -> ( inf ( { p e. Prime | p || g } , RR , < ) = inf ( { p e. Prime | p || h } , RR , < ) -> ( inf ( { p e. Prime | p || g } , RR , < ) e. Prime /\ inf ( { p e. Prime | p || g } , RR , < ) || g /\ inf ( { p e. Prime | p || g } , RR , < ) || h ) ) )
40 prmdvdsfmtnof1lem2
 |-  ( ( g e. ran FermatNo /\ h e. ran FermatNo ) -> ( ( inf ( { p e. Prime | p || g } , RR , < ) e. Prime /\ inf ( { p e. Prime | p || g } , RR , < ) || g /\ inf ( { p e. Prime | p || g } , RR , < ) || h ) -> g = h ) )
41 39 40 syld
 |-  ( ( g e. ran FermatNo /\ h e. ran FermatNo ) -> ( inf ( { p e. Prime | p || g } , RR , < ) = inf ( { p e. Prime | p || h } , RR , < ) -> g = h ) )
42 18 41 sylbid
 |-  ( ( g e. ran FermatNo /\ h e. ran FermatNo ) -> ( ( F ` g ) = ( F ` h ) -> g = h ) )
43 42 rgen2
 |-  A. g e. ran FermatNo A. h e. ran FermatNo ( ( F ` g ) = ( F ` h ) -> g = h )
44 dff13
 |-  ( F : ran FermatNo -1-1-> Prime <-> ( F : ran FermatNo --> Prime /\ A. g e. ran FermatNo A. h e. ran FermatNo ( ( F ` g ) = ( F ` h ) -> g = h ) ) )
45 2 43 44 mpbir2an
 |-  F : ran FermatNo -1-1-> Prime