Step |
Hyp |
Ref |
Expression |
1 |
|
sqff1o.1 |
|- S = { x e. NN | ( ( mmu ` x ) =/= 0 /\ x || N ) } |
2 |
|
sqff1o.2 |
|- F = ( n e. S |-> { p e. Prime | p || n } ) |
3 |
|
sqff1o.3 |
|- G = ( n e. NN |-> ( p e. Prime |-> ( p pCnt n ) ) ) |
4 |
|
fveq2 |
|- ( x = n -> ( mmu ` x ) = ( mmu ` n ) ) |
5 |
4
|
neeq1d |
|- ( x = n -> ( ( mmu ` x ) =/= 0 <-> ( mmu ` n ) =/= 0 ) ) |
6 |
|
breq1 |
|- ( x = n -> ( x || N <-> n || N ) ) |
7 |
5 6
|
anbi12d |
|- ( x = n -> ( ( ( mmu ` x ) =/= 0 /\ x || N ) <-> ( ( mmu ` n ) =/= 0 /\ n || N ) ) ) |
8 |
7 1
|
elrab2 |
|- ( n e. S <-> ( n e. NN /\ ( ( mmu ` n ) =/= 0 /\ n || N ) ) ) |
9 |
8
|
simprbi |
|- ( n e. S -> ( ( mmu ` n ) =/= 0 /\ n || N ) ) |
10 |
9
|
simprd |
|- ( n e. S -> n || N ) |
11 |
10
|
ad2antlr |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> n || N ) |
12 |
|
prmz |
|- ( p e. Prime -> p e. ZZ ) |
13 |
12
|
adantl |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> p e. ZZ ) |
14 |
|
simplr |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> n e. S ) |
15 |
14 8
|
sylib |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> ( n e. NN /\ ( ( mmu ` n ) =/= 0 /\ n || N ) ) ) |
16 |
15
|
simpld |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> n e. NN ) |
17 |
16
|
nnzd |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> n e. ZZ ) |
18 |
|
nnz |
|- ( N e. NN -> N e. ZZ ) |
19 |
18
|
ad2antrr |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> N e. ZZ ) |
20 |
|
dvdstr |
|- ( ( p e. ZZ /\ n e. ZZ /\ N e. ZZ ) -> ( ( p || n /\ n || N ) -> p || N ) ) |
21 |
13 17 19 20
|
syl3anc |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> ( ( p || n /\ n || N ) -> p || N ) ) |
22 |
11 21
|
mpan2d |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> ( p || n -> p || N ) ) |
23 |
22
|
ss2rabdv |
|- ( ( N e. NN /\ n e. S ) -> { p e. Prime | p || n } C_ { p e. Prime | p || N } ) |
24 |
|
prmex |
|- Prime e. _V |
25 |
24
|
rabex |
|- { p e. Prime | p || n } e. _V |
26 |
25
|
elpw |
|- ( { p e. Prime | p || n } e. ~P { p e. Prime | p || N } <-> { p e. Prime | p || n } C_ { p e. Prime | p || N } ) |
27 |
23 26
|
sylibr |
|- ( ( N e. NN /\ n e. S ) -> { p e. Prime | p || n } e. ~P { p e. Prime | p || N } ) |
28 |
|
cnveq |
|- ( y = ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) -> `' y = `' ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) |
29 |
28
|
imaeq1d |
|- ( y = ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) -> ( `' y " NN ) = ( `' ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) " NN ) ) |
30 |
29
|
eleq1d |
|- ( y = ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) -> ( ( `' y " NN ) e. Fin <-> ( `' ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) " NN ) e. Fin ) ) |
31 |
|
1nn0 |
|- 1 e. NN0 |
32 |
|
0nn0 |
|- 0 e. NN0 |
33 |
31 32
|
ifcli |
|- if ( k e. z , 1 , 0 ) e. NN0 |
34 |
33
|
rgenw |
|- A. k e. Prime if ( k e. z , 1 , 0 ) e. NN0 |
35 |
|
eqid |
|- ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) = ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) |
36 |
35
|
fmpt |
|- ( A. k e. Prime if ( k e. z , 1 , 0 ) e. NN0 <-> ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) : Prime --> NN0 ) |
37 |
34 36
|
mpbi |
|- ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) : Prime --> NN0 |
38 |
37
|
a1i |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) : Prime --> NN0 ) |
39 |
|
nn0ex |
|- NN0 e. _V |
40 |
39 24
|
elmap |
|- ( ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) e. ( NN0 ^m Prime ) <-> ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) : Prime --> NN0 ) |
41 |
38 40
|
sylibr |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) e. ( NN0 ^m Prime ) ) |
42 |
|
fzfi |
|- ( 1 ... N ) e. Fin |
43 |
|
ffn |
|- ( ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) : Prime --> NN0 -> ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) Fn Prime ) |
44 |
|
elpreima |
|- ( ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) Fn Prime -> ( x e. ( `' ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) " NN ) <-> ( x e. Prime /\ ( ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ` x ) e. NN ) ) ) |
45 |
37 43 44
|
mp2b |
|- ( x e. ( `' ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) " NN ) <-> ( x e. Prime /\ ( ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ` x ) e. NN ) ) |
46 |
|
elequ1 |
|- ( k = x -> ( k e. z <-> x e. z ) ) |
47 |
46
|
ifbid |
|- ( k = x -> if ( k e. z , 1 , 0 ) = if ( x e. z , 1 , 0 ) ) |
48 |
31 32
|
ifcli |
|- if ( x e. z , 1 , 0 ) e. NN0 |
49 |
48
|
elexi |
|- if ( x e. z , 1 , 0 ) e. _V |
50 |
47 35 49
|
fvmpt |
|- ( x e. Prime -> ( ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ` x ) = if ( x e. z , 1 , 0 ) ) |
51 |
50
|
eleq1d |
|- ( x e. Prime -> ( ( ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ` x ) e. NN <-> if ( x e. z , 1 , 0 ) e. NN ) ) |
52 |
51
|
biimpa |
|- ( ( x e. Prime /\ ( ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ` x ) e. NN ) -> if ( x e. z , 1 , 0 ) e. NN ) |
53 |
45 52
|
sylbi |
|- ( x e. ( `' ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) " NN ) -> if ( x e. z , 1 , 0 ) e. NN ) |
54 |
|
0nnn |
|- -. 0 e. NN |
55 |
|
iffalse |
|- ( -. x e. z -> if ( x e. z , 1 , 0 ) = 0 ) |
56 |
55
|
eleq1d |
|- ( -. x e. z -> ( if ( x e. z , 1 , 0 ) e. NN <-> 0 e. NN ) ) |
57 |
54 56
|
mtbiri |
|- ( -. x e. z -> -. if ( x e. z , 1 , 0 ) e. NN ) |
58 |
57
|
con4i |
|- ( if ( x e. z , 1 , 0 ) e. NN -> x e. z ) |
59 |
53 58
|
syl |
|- ( x e. ( `' ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) " NN ) -> x e. z ) |
60 |
59
|
ssriv |
|- ( `' ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) " NN ) C_ z |
61 |
|
elpwi |
|- ( z e. ~P { p e. Prime | p || N } -> z C_ { p e. Prime | p || N } ) |
62 |
61
|
adantl |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> z C_ { p e. Prime | p || N } ) |
63 |
|
prmssnn |
|- Prime C_ NN |
64 |
|
rabss2 |
|- ( Prime C_ NN -> { p e. Prime | p || N } C_ { p e. NN | p || N } ) |
65 |
63 64
|
ax-mp |
|- { p e. Prime | p || N } C_ { p e. NN | p || N } |
66 |
|
dvdsssfz1 |
|- ( N e. NN -> { p e. NN | p || N } C_ ( 1 ... N ) ) |
67 |
66
|
adantr |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> { p e. NN | p || N } C_ ( 1 ... N ) ) |
68 |
65 67
|
sstrid |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> { p e. Prime | p || N } C_ ( 1 ... N ) ) |
69 |
62 68
|
sstrd |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> z C_ ( 1 ... N ) ) |
70 |
60 69
|
sstrid |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> ( `' ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) " NN ) C_ ( 1 ... N ) ) |
71 |
|
ssfi |
|- ( ( ( 1 ... N ) e. Fin /\ ( `' ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) " NN ) C_ ( 1 ... N ) ) -> ( `' ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) " NN ) e. Fin ) |
72 |
42 70 71
|
sylancr |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> ( `' ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) " NN ) e. Fin ) |
73 |
30 41 72
|
elrabd |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) e. { y e. ( NN0 ^m Prime ) | ( `' y " NN ) e. Fin } ) |
74 |
|
eqid |
|- { y e. ( NN0 ^m Prime ) | ( `' y " NN ) e. Fin } = { y e. ( NN0 ^m Prime ) | ( `' y " NN ) e. Fin } |
75 |
3 74
|
1arith |
|- G : NN -1-1-onto-> { y e. ( NN0 ^m Prime ) | ( `' y " NN ) e. Fin } |
76 |
|
f1ocnv |
|- ( G : NN -1-1-onto-> { y e. ( NN0 ^m Prime ) | ( `' y " NN ) e. Fin } -> `' G : { y e. ( NN0 ^m Prime ) | ( `' y " NN ) e. Fin } -1-1-onto-> NN ) |
77 |
|
f1of |
|- ( `' G : { y e. ( NN0 ^m Prime ) | ( `' y " NN ) e. Fin } -1-1-onto-> NN -> `' G : { y e. ( NN0 ^m Prime ) | ( `' y " NN ) e. Fin } --> NN ) |
78 |
75 76 77
|
mp2b |
|- `' G : { y e. ( NN0 ^m Prime ) | ( `' y " NN ) e. Fin } --> NN |
79 |
78
|
ffvelrni |
|- ( ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) e. { y e. ( NN0 ^m Prime ) | ( `' y " NN ) e. Fin } -> ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) e. NN ) |
80 |
73 79
|
syl |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) e. NN ) |
81 |
|
f1ocnvfv2 |
|- ( ( G : NN -1-1-onto-> { y e. ( NN0 ^m Prime ) | ( `' y " NN ) e. Fin } /\ ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) e. { y e. ( NN0 ^m Prime ) | ( `' y " NN ) e. Fin } ) -> ( G ` ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) = ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) |
82 |
75 73 81
|
sylancr |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> ( G ` ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) = ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) |
83 |
3
|
1arithlem1 |
|- ( ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) e. NN -> ( G ` ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) = ( p e. Prime |-> ( p pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) ) ) |
84 |
80 83
|
syl |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> ( G ` ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) = ( p e. Prime |-> ( p pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) ) ) |
85 |
82 84
|
eqtr3d |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) = ( p e. Prime |-> ( p pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) ) ) |
86 |
85
|
fveq1d |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> ( ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ` q ) = ( ( p e. Prime |-> ( p pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) ) ` q ) ) |
87 |
|
elequ1 |
|- ( k = q -> ( k e. z <-> q e. z ) ) |
88 |
87
|
ifbid |
|- ( k = q -> if ( k e. z , 1 , 0 ) = if ( q e. z , 1 , 0 ) ) |
89 |
31 32
|
ifcli |
|- if ( q e. z , 1 , 0 ) e. NN0 |
90 |
89
|
elexi |
|- if ( q e. z , 1 , 0 ) e. _V |
91 |
88 35 90
|
fvmpt |
|- ( q e. Prime -> ( ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ` q ) = if ( q e. z , 1 , 0 ) ) |
92 |
86 91
|
sylan9req |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. Prime ) -> ( ( p e. Prime |-> ( p pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) ) ` q ) = if ( q e. z , 1 , 0 ) ) |
93 |
|
oveq1 |
|- ( p = q -> ( p pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) = ( q pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) ) |
94 |
|
eqid |
|- ( p e. Prime |-> ( p pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) ) = ( p e. Prime |-> ( p pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) ) |
95 |
|
ovex |
|- ( q pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) e. _V |
96 |
93 94 95
|
fvmpt |
|- ( q e. Prime -> ( ( p e. Prime |-> ( p pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) ) ` q ) = ( q pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) ) |
97 |
96
|
adantl |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. Prime ) -> ( ( p e. Prime |-> ( p pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) ) ` q ) = ( q pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) ) |
98 |
92 97
|
eqtr3d |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. Prime ) -> if ( q e. z , 1 , 0 ) = ( q pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) ) |
99 |
|
breq1 |
|- ( 1 = if ( q e. z , 1 , 0 ) -> ( 1 <_ 1 <-> if ( q e. z , 1 , 0 ) <_ 1 ) ) |
100 |
|
breq1 |
|- ( 0 = if ( q e. z , 1 , 0 ) -> ( 0 <_ 1 <-> if ( q e. z , 1 , 0 ) <_ 1 ) ) |
101 |
|
1le1 |
|- 1 <_ 1 |
102 |
|
0le1 |
|- 0 <_ 1 |
103 |
99 100 101 102
|
keephyp |
|- if ( q e. z , 1 , 0 ) <_ 1 |
104 |
98 103
|
eqbrtrrdi |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. Prime ) -> ( q pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) <_ 1 ) |
105 |
104
|
ralrimiva |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> A. q e. Prime ( q pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) <_ 1 ) |
106 |
|
issqf |
|- ( ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) e. NN -> ( ( mmu ` ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) =/= 0 <-> A. q e. Prime ( q pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) <_ 1 ) ) |
107 |
80 106
|
syl |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> ( ( mmu ` ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) =/= 0 <-> A. q e. Prime ( q pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) <_ 1 ) ) |
108 |
105 107
|
mpbird |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> ( mmu ` ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) =/= 0 ) |
109 |
|
iftrue |
|- ( q e. z -> if ( q e. z , 1 , 0 ) = 1 ) |
110 |
109
|
adantl |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. z ) -> if ( q e. z , 1 , 0 ) = 1 ) |
111 |
62
|
sselda |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. z ) -> q e. { p e. Prime | p || N } ) |
112 |
|
breq1 |
|- ( p = q -> ( p || N <-> q || N ) ) |
113 |
112
|
elrab |
|- ( q e. { p e. Prime | p || N } <-> ( q e. Prime /\ q || N ) ) |
114 |
111 113
|
sylib |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. z ) -> ( q e. Prime /\ q || N ) ) |
115 |
114
|
simprd |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. z ) -> q || N ) |
116 |
114
|
simpld |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. z ) -> q e. Prime ) |
117 |
|
simpll |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. z ) -> N e. NN ) |
118 |
|
pcelnn |
|- ( ( q e. Prime /\ N e. NN ) -> ( ( q pCnt N ) e. NN <-> q || N ) ) |
119 |
116 117 118
|
syl2anc |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. z ) -> ( ( q pCnt N ) e. NN <-> q || N ) ) |
120 |
115 119
|
mpbird |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. z ) -> ( q pCnt N ) e. NN ) |
121 |
120
|
nnge1d |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. z ) -> 1 <_ ( q pCnt N ) ) |
122 |
110 121
|
eqbrtrd |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. z ) -> if ( q e. z , 1 , 0 ) <_ ( q pCnt N ) ) |
123 |
122
|
ex |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> ( q e. z -> if ( q e. z , 1 , 0 ) <_ ( q pCnt N ) ) ) |
124 |
123
|
adantr |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. Prime ) -> ( q e. z -> if ( q e. z , 1 , 0 ) <_ ( q pCnt N ) ) ) |
125 |
|
simpr |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. Prime ) -> q e. Prime ) |
126 |
18
|
ad2antrr |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. Prime ) -> N e. ZZ ) |
127 |
|
pcge0 |
|- ( ( q e. Prime /\ N e. ZZ ) -> 0 <_ ( q pCnt N ) ) |
128 |
125 126 127
|
syl2anc |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. Prime ) -> 0 <_ ( q pCnt N ) ) |
129 |
|
iffalse |
|- ( -. q e. z -> if ( q e. z , 1 , 0 ) = 0 ) |
130 |
129
|
breq1d |
|- ( -. q e. z -> ( if ( q e. z , 1 , 0 ) <_ ( q pCnt N ) <-> 0 <_ ( q pCnt N ) ) ) |
131 |
128 130
|
syl5ibrcom |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. Prime ) -> ( -. q e. z -> if ( q e. z , 1 , 0 ) <_ ( q pCnt N ) ) ) |
132 |
124 131
|
pm2.61d |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. Prime ) -> if ( q e. z , 1 , 0 ) <_ ( q pCnt N ) ) |
133 |
98 132
|
eqbrtrrd |
|- ( ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) /\ q e. Prime ) -> ( q pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) <_ ( q pCnt N ) ) |
134 |
133
|
ralrimiva |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> A. q e. Prime ( q pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) <_ ( q pCnt N ) ) |
135 |
80
|
nnzd |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) e. ZZ ) |
136 |
18
|
adantr |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> N e. ZZ ) |
137 |
|
pc2dvds |
|- ( ( ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) e. ZZ /\ N e. ZZ ) -> ( ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) || N <-> A. q e. Prime ( q pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) <_ ( q pCnt N ) ) ) |
138 |
135 136 137
|
syl2anc |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> ( ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) || N <-> A. q e. Prime ( q pCnt ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) <_ ( q pCnt N ) ) ) |
139 |
134 138
|
mpbird |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) || N ) |
140 |
108 139
|
jca |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> ( ( mmu ` ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) =/= 0 /\ ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) || N ) ) |
141 |
|
fveq2 |
|- ( x = ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) -> ( mmu ` x ) = ( mmu ` ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) ) |
142 |
141
|
neeq1d |
|- ( x = ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) -> ( ( mmu ` x ) =/= 0 <-> ( mmu ` ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) =/= 0 ) ) |
143 |
|
breq1 |
|- ( x = ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) -> ( x || N <-> ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) || N ) ) |
144 |
142 143
|
anbi12d |
|- ( x = ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) -> ( ( ( mmu ` x ) =/= 0 /\ x || N ) <-> ( ( mmu ` ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) =/= 0 /\ ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) || N ) ) ) |
145 |
144 1
|
elrab2 |
|- ( ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) e. S <-> ( ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) e. NN /\ ( ( mmu ` ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) =/= 0 /\ ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) || N ) ) ) |
146 |
80 140 145
|
sylanbrc |
|- ( ( N e. NN /\ z e. ~P { p e. Prime | p || N } ) -> ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) e. S ) |
147 |
|
eqcom |
|- ( n = ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) <-> ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) = n ) |
148 |
8
|
simplbi |
|- ( n e. S -> n e. NN ) |
149 |
148
|
ad2antrl |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> n e. NN ) |
150 |
24
|
mptex |
|- ( p e. Prime |-> ( p pCnt n ) ) e. _V |
151 |
3
|
fvmpt2 |
|- ( ( n e. NN /\ ( p e. Prime |-> ( p pCnt n ) ) e. _V ) -> ( G ` n ) = ( p e. Prime |-> ( p pCnt n ) ) ) |
152 |
149 150 151
|
sylancl |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> ( G ` n ) = ( p e. Prime |-> ( p pCnt n ) ) ) |
153 |
152
|
eqeq1d |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> ( ( G ` n ) = ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) <-> ( p e. Prime |-> ( p pCnt n ) ) = ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) |
154 |
75
|
a1i |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> G : NN -1-1-onto-> { y e. ( NN0 ^m Prime ) | ( `' y " NN ) e. Fin } ) |
155 |
73
|
adantrl |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) e. { y e. ( NN0 ^m Prime ) | ( `' y " NN ) e. Fin } ) |
156 |
|
f1ocnvfvb |
|- ( ( G : NN -1-1-onto-> { y e. ( NN0 ^m Prime ) | ( `' y " NN ) e. Fin } /\ n e. NN /\ ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) e. { y e. ( NN0 ^m Prime ) | ( `' y " NN ) e. Fin } ) -> ( ( G ` n ) = ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) <-> ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) = n ) ) |
157 |
154 149 155 156
|
syl3anc |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> ( ( G ` n ) = ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) <-> ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) = n ) ) |
158 |
24
|
a1i |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> Prime e. _V ) |
159 |
|
0cnd |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> 0 e. CC ) |
160 |
|
1cnd |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> 1 e. CC ) |
161 |
|
0ne1 |
|- 0 =/= 1 |
162 |
161
|
a1i |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> 0 =/= 1 ) |
163 |
158 159 160 162
|
pw2f1olem |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> ( ( z e. ~P Prime /\ ( p e. Prime |-> ( p pCnt n ) ) = ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) <-> ( ( p e. Prime |-> ( p pCnt n ) ) e. ( { 0 , 1 } ^m Prime ) /\ z = ( `' ( p e. Prime |-> ( p pCnt n ) ) " { 1 } ) ) ) ) |
164 |
|
ssrab2 |
|- { p e. Prime | p || N } C_ Prime |
165 |
164
|
sspwi |
|- ~P { p e. Prime | p || N } C_ ~P Prime |
166 |
|
simprr |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> z e. ~P { p e. Prime | p || N } ) |
167 |
165 166
|
sselid |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> z e. ~P Prime ) |
168 |
167
|
biantrurd |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> ( ( p e. Prime |-> ( p pCnt n ) ) = ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) <-> ( z e. ~P Prime /\ ( p e. Prime |-> ( p pCnt n ) ) = ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) ) ) |
169 |
|
id |
|- ( p e. Prime -> p e. Prime ) |
170 |
148
|
adantl |
|- ( ( N e. NN /\ n e. S ) -> n e. NN ) |
171 |
|
pccl |
|- ( ( p e. Prime /\ n e. NN ) -> ( p pCnt n ) e. NN0 ) |
172 |
169 170 171
|
syl2anr |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> ( p pCnt n ) e. NN0 ) |
173 |
|
elnn0 |
|- ( ( p pCnt n ) e. NN0 <-> ( ( p pCnt n ) e. NN \/ ( p pCnt n ) = 0 ) ) |
174 |
172 173
|
sylib |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> ( ( p pCnt n ) e. NN \/ ( p pCnt n ) = 0 ) ) |
175 |
174
|
orcomd |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> ( ( p pCnt n ) = 0 \/ ( p pCnt n ) e. NN ) ) |
176 |
9
|
simpld |
|- ( n e. S -> ( mmu ` n ) =/= 0 ) |
177 |
176
|
adantl |
|- ( ( N e. NN /\ n e. S ) -> ( mmu ` n ) =/= 0 ) |
178 |
|
issqf |
|- ( n e. NN -> ( ( mmu ` n ) =/= 0 <-> A. p e. Prime ( p pCnt n ) <_ 1 ) ) |
179 |
170 178
|
syl |
|- ( ( N e. NN /\ n e. S ) -> ( ( mmu ` n ) =/= 0 <-> A. p e. Prime ( p pCnt n ) <_ 1 ) ) |
180 |
177 179
|
mpbid |
|- ( ( N e. NN /\ n e. S ) -> A. p e. Prime ( p pCnt n ) <_ 1 ) |
181 |
180
|
r19.21bi |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> ( p pCnt n ) <_ 1 ) |
182 |
|
nnle1eq1 |
|- ( ( p pCnt n ) e. NN -> ( ( p pCnt n ) <_ 1 <-> ( p pCnt n ) = 1 ) ) |
183 |
181 182
|
syl5ibcom |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> ( ( p pCnt n ) e. NN -> ( p pCnt n ) = 1 ) ) |
184 |
183
|
orim2d |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> ( ( ( p pCnt n ) = 0 \/ ( p pCnt n ) e. NN ) -> ( ( p pCnt n ) = 0 \/ ( p pCnt n ) = 1 ) ) ) |
185 |
175 184
|
mpd |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> ( ( p pCnt n ) = 0 \/ ( p pCnt n ) = 1 ) ) |
186 |
|
ovex |
|- ( p pCnt n ) e. _V |
187 |
186
|
elpr |
|- ( ( p pCnt n ) e. { 0 , 1 } <-> ( ( p pCnt n ) = 0 \/ ( p pCnt n ) = 1 ) ) |
188 |
185 187
|
sylibr |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> ( p pCnt n ) e. { 0 , 1 } ) |
189 |
188
|
fmpttd |
|- ( ( N e. NN /\ n e. S ) -> ( p e. Prime |-> ( p pCnt n ) ) : Prime --> { 0 , 1 } ) |
190 |
189
|
adantrr |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> ( p e. Prime |-> ( p pCnt n ) ) : Prime --> { 0 , 1 } ) |
191 |
|
prex |
|- { 0 , 1 } e. _V |
192 |
191 24
|
elmap |
|- ( ( p e. Prime |-> ( p pCnt n ) ) e. ( { 0 , 1 } ^m Prime ) <-> ( p e. Prime |-> ( p pCnt n ) ) : Prime --> { 0 , 1 } ) |
193 |
190 192
|
sylibr |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> ( p e. Prime |-> ( p pCnt n ) ) e. ( { 0 , 1 } ^m Prime ) ) |
194 |
193
|
biantrurd |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> ( z = ( `' ( p e. Prime |-> ( p pCnt n ) ) " { 1 } ) <-> ( ( p e. Prime |-> ( p pCnt n ) ) e. ( { 0 , 1 } ^m Prime ) /\ z = ( `' ( p e. Prime |-> ( p pCnt n ) ) " { 1 } ) ) ) ) |
195 |
163 168 194
|
3bitr4d |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> ( ( p e. Prime |-> ( p pCnt n ) ) = ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) <-> z = ( `' ( p e. Prime |-> ( p pCnt n ) ) " { 1 } ) ) ) |
196 |
|
eqid |
|- ( p e. Prime |-> ( p pCnt n ) ) = ( p e. Prime |-> ( p pCnt n ) ) |
197 |
196
|
mptiniseg |
|- ( 1 e. NN0 -> ( `' ( p e. Prime |-> ( p pCnt n ) ) " { 1 } ) = { p e. Prime | ( p pCnt n ) = 1 } ) |
198 |
31 197
|
ax-mp |
|- ( `' ( p e. Prime |-> ( p pCnt n ) ) " { 1 } ) = { p e. Prime | ( p pCnt n ) = 1 } |
199 |
|
id |
|- ( ( p pCnt n ) = 1 -> ( p pCnt n ) = 1 ) |
200 |
|
1nn |
|- 1 e. NN |
201 |
199 200
|
eqeltrdi |
|- ( ( p pCnt n ) = 1 -> ( p pCnt n ) e. NN ) |
202 |
201 183
|
impbid2 |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> ( ( p pCnt n ) = 1 <-> ( p pCnt n ) e. NN ) ) |
203 |
|
simpr |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> p e. Prime ) |
204 |
|
pcelnn |
|- ( ( p e. Prime /\ n e. NN ) -> ( ( p pCnt n ) e. NN <-> p || n ) ) |
205 |
203 16 204
|
syl2anc |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> ( ( p pCnt n ) e. NN <-> p || n ) ) |
206 |
202 205
|
bitrd |
|- ( ( ( N e. NN /\ n e. S ) /\ p e. Prime ) -> ( ( p pCnt n ) = 1 <-> p || n ) ) |
207 |
206
|
rabbidva |
|- ( ( N e. NN /\ n e. S ) -> { p e. Prime | ( p pCnt n ) = 1 } = { p e. Prime | p || n } ) |
208 |
207
|
adantrr |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> { p e. Prime | ( p pCnt n ) = 1 } = { p e. Prime | p || n } ) |
209 |
198 208
|
eqtrid |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> ( `' ( p e. Prime |-> ( p pCnt n ) ) " { 1 } ) = { p e. Prime | p || n } ) |
210 |
209
|
eqeq2d |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> ( z = ( `' ( p e. Prime |-> ( p pCnt n ) ) " { 1 } ) <-> z = { p e. Prime | p || n } ) ) |
211 |
195 210
|
bitrd |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> ( ( p e. Prime |-> ( p pCnt n ) ) = ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) <-> z = { p e. Prime | p || n } ) ) |
212 |
153 157 211
|
3bitr3d |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> ( ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) = n <-> z = { p e. Prime | p || n } ) ) |
213 |
147 212
|
syl5bb |
|- ( ( N e. NN /\ ( n e. S /\ z e. ~P { p e. Prime | p || N } ) ) -> ( n = ( `' G ` ( k e. Prime |-> if ( k e. z , 1 , 0 ) ) ) <-> z = { p e. Prime | p || n } ) ) |
214 |
2 27 146 213
|
f1o2d |
|- ( N e. NN -> F : S -1-1-onto-> ~P { p e. Prime | p || N } ) |