Step |
Hyp |
Ref |
Expression |
1 |
|
pcge0 |
|- ( ( p e. Prime /\ A e. ZZ ) -> 0 <_ ( p pCnt A ) ) |
2 |
1
|
ancoms |
|- ( ( A e. ZZ /\ p e. Prime ) -> 0 <_ ( p pCnt A ) ) |
3 |
2
|
ralrimiva |
|- ( A e. ZZ -> A. p e. Prime 0 <_ ( p pCnt A ) ) |
4 |
|
elq |
|- ( A e. QQ <-> E. x e. ZZ E. y e. NN A = ( x / y ) ) |
5 |
|
nnz |
|- ( y e. NN -> y e. ZZ ) |
6 |
|
dvds0 |
|- ( y e. ZZ -> y || 0 ) |
7 |
5 6
|
syl |
|- ( y e. NN -> y || 0 ) |
8 |
7
|
ad2antlr |
|- ( ( ( x e. ZZ /\ y e. NN ) /\ x = 0 ) -> y || 0 ) |
9 |
|
simpr |
|- ( ( ( x e. ZZ /\ y e. NN ) /\ x = 0 ) -> x = 0 ) |
10 |
8 9
|
breqtrrd |
|- ( ( ( x e. ZZ /\ y e. NN ) /\ x = 0 ) -> y || x ) |
11 |
10
|
a1d |
|- ( ( ( x e. ZZ /\ y e. NN ) /\ x = 0 ) -> ( A. p e. Prime 0 <_ ( p pCnt ( x / y ) ) -> y || x ) ) |
12 |
|
simpr |
|- ( ( ( ( x e. ZZ /\ y e. NN ) /\ x =/= 0 ) /\ p e. Prime ) -> p e. Prime ) |
13 |
|
simplll |
|- ( ( ( ( x e. ZZ /\ y e. NN ) /\ x =/= 0 ) /\ p e. Prime ) -> x e. ZZ ) |
14 |
|
simplr |
|- ( ( ( ( x e. ZZ /\ y e. NN ) /\ x =/= 0 ) /\ p e. Prime ) -> x =/= 0 ) |
15 |
|
simpllr |
|- ( ( ( ( x e. ZZ /\ y e. NN ) /\ x =/= 0 ) /\ p e. Prime ) -> y e. NN ) |
16 |
|
pcdiv |
|- ( ( p e. Prime /\ ( x e. ZZ /\ x =/= 0 ) /\ y e. NN ) -> ( p pCnt ( x / y ) ) = ( ( p pCnt x ) - ( p pCnt y ) ) ) |
17 |
12 13 14 15 16
|
syl121anc |
|- ( ( ( ( x e. ZZ /\ y e. NN ) /\ x =/= 0 ) /\ p e. Prime ) -> ( p pCnt ( x / y ) ) = ( ( p pCnt x ) - ( p pCnt y ) ) ) |
18 |
17
|
breq2d |
|- ( ( ( ( x e. ZZ /\ y e. NN ) /\ x =/= 0 ) /\ p e. Prime ) -> ( 0 <_ ( p pCnt ( x / y ) ) <-> 0 <_ ( ( p pCnt x ) - ( p pCnt y ) ) ) ) |
19 |
|
pczcl |
|- ( ( p e. Prime /\ ( x e. ZZ /\ x =/= 0 ) ) -> ( p pCnt x ) e. NN0 ) |
20 |
12 13 14 19
|
syl12anc |
|- ( ( ( ( x e. ZZ /\ y e. NN ) /\ x =/= 0 ) /\ p e. Prime ) -> ( p pCnt x ) e. NN0 ) |
21 |
20
|
nn0red |
|- ( ( ( ( x e. ZZ /\ y e. NN ) /\ x =/= 0 ) /\ p e. Prime ) -> ( p pCnt x ) e. RR ) |
22 |
12 15
|
pccld |
|- ( ( ( ( x e. ZZ /\ y e. NN ) /\ x =/= 0 ) /\ p e. Prime ) -> ( p pCnt y ) e. NN0 ) |
23 |
22
|
nn0red |
|- ( ( ( ( x e. ZZ /\ y e. NN ) /\ x =/= 0 ) /\ p e. Prime ) -> ( p pCnt y ) e. RR ) |
24 |
21 23
|
subge0d |
|- ( ( ( ( x e. ZZ /\ y e. NN ) /\ x =/= 0 ) /\ p e. Prime ) -> ( 0 <_ ( ( p pCnt x ) - ( p pCnt y ) ) <-> ( p pCnt y ) <_ ( p pCnt x ) ) ) |
25 |
18 24
|
bitrd |
|- ( ( ( ( x e. ZZ /\ y e. NN ) /\ x =/= 0 ) /\ p e. Prime ) -> ( 0 <_ ( p pCnt ( x / y ) ) <-> ( p pCnt y ) <_ ( p pCnt x ) ) ) |
26 |
25
|
ralbidva |
|- ( ( ( x e. ZZ /\ y e. NN ) /\ x =/= 0 ) -> ( A. p e. Prime 0 <_ ( p pCnt ( x / y ) ) <-> A. p e. Prime ( p pCnt y ) <_ ( p pCnt x ) ) ) |
27 |
|
id |
|- ( x e. ZZ -> x e. ZZ ) |
28 |
|
pc2dvds |
|- ( ( y e. ZZ /\ x e. ZZ ) -> ( y || x <-> A. p e. Prime ( p pCnt y ) <_ ( p pCnt x ) ) ) |
29 |
5 27 28
|
syl2anr |
|- ( ( x e. ZZ /\ y e. NN ) -> ( y || x <-> A. p e. Prime ( p pCnt y ) <_ ( p pCnt x ) ) ) |
30 |
29
|
adantr |
|- ( ( ( x e. ZZ /\ y e. NN ) /\ x =/= 0 ) -> ( y || x <-> A. p e. Prime ( p pCnt y ) <_ ( p pCnt x ) ) ) |
31 |
26 30
|
bitr4d |
|- ( ( ( x e. ZZ /\ y e. NN ) /\ x =/= 0 ) -> ( A. p e. Prime 0 <_ ( p pCnt ( x / y ) ) <-> y || x ) ) |
32 |
31
|
biimpd |
|- ( ( ( x e. ZZ /\ y e. NN ) /\ x =/= 0 ) -> ( A. p e. Prime 0 <_ ( p pCnt ( x / y ) ) -> y || x ) ) |
33 |
11 32
|
pm2.61dane |
|- ( ( x e. ZZ /\ y e. NN ) -> ( A. p e. Prime 0 <_ ( p pCnt ( x / y ) ) -> y || x ) ) |
34 |
|
nnne0 |
|- ( y e. NN -> y =/= 0 ) |
35 |
|
simpl |
|- ( ( x e. ZZ /\ y e. NN ) -> x e. ZZ ) |
36 |
|
dvdsval2 |
|- ( ( y e. ZZ /\ y =/= 0 /\ x e. ZZ ) -> ( y || x <-> ( x / y ) e. ZZ ) ) |
37 |
5 34 35 36
|
syl2an23an |
|- ( ( x e. ZZ /\ y e. NN ) -> ( y || x <-> ( x / y ) e. ZZ ) ) |
38 |
33 37
|
sylibd |
|- ( ( x e. ZZ /\ y e. NN ) -> ( A. p e. Prime 0 <_ ( p pCnt ( x / y ) ) -> ( x / y ) e. ZZ ) ) |
39 |
|
oveq2 |
|- ( A = ( x / y ) -> ( p pCnt A ) = ( p pCnt ( x / y ) ) ) |
40 |
39
|
breq2d |
|- ( A = ( x / y ) -> ( 0 <_ ( p pCnt A ) <-> 0 <_ ( p pCnt ( x / y ) ) ) ) |
41 |
40
|
ralbidv |
|- ( A = ( x / y ) -> ( A. p e. Prime 0 <_ ( p pCnt A ) <-> A. p e. Prime 0 <_ ( p pCnt ( x / y ) ) ) ) |
42 |
|
eleq1 |
|- ( A = ( x / y ) -> ( A e. ZZ <-> ( x / y ) e. ZZ ) ) |
43 |
41 42
|
imbi12d |
|- ( A = ( x / y ) -> ( ( A. p e. Prime 0 <_ ( p pCnt A ) -> A e. ZZ ) <-> ( A. p e. Prime 0 <_ ( p pCnt ( x / y ) ) -> ( x / y ) e. ZZ ) ) ) |
44 |
38 43
|
syl5ibrcom |
|- ( ( x e. ZZ /\ y e. NN ) -> ( A = ( x / y ) -> ( A. p e. Prime 0 <_ ( p pCnt A ) -> A e. ZZ ) ) ) |
45 |
44
|
rexlimivv |
|- ( E. x e. ZZ E. y e. NN A = ( x / y ) -> ( A. p e. Prime 0 <_ ( p pCnt A ) -> A e. ZZ ) ) |
46 |
4 45
|
sylbi |
|- ( A e. QQ -> ( A. p e. Prime 0 <_ ( p pCnt A ) -> A e. ZZ ) ) |
47 |
3 46
|
impbid2 |
|- ( A e. QQ -> ( A e. ZZ <-> A. p e. Prime 0 <_ ( p pCnt A ) ) ) |