Step |
Hyp |
Ref |
Expression |
1 |
|
id |
|- ( n e. NN -> n e. NN ) |
2 |
|
eqid |
|- ( j e. NN |-> prod_ k e. ( 1 ... j ) ( ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ` k ) ) = ( j e. NN |-> prod_ k e. ( 1 ... j ) ( ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ` k ) ) |
3 |
|
fzfid |
|- ( j e. NN -> ( 1 ... j ) e. Fin ) |
4 |
|
eqidd |
|- ( ( j e. NN /\ k e. ( 1 ... j ) ) -> ( m e. NN |-> if ( m e. Prime , m , 1 ) ) = ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ) |
5 |
|
eleq1 |
|- ( m = k -> ( m e. Prime <-> k e. Prime ) ) |
6 |
|
id |
|- ( m = k -> m = k ) |
7 |
5 6
|
ifbieq1d |
|- ( m = k -> if ( m e. Prime , m , 1 ) = if ( k e. Prime , k , 1 ) ) |
8 |
7
|
adantl |
|- ( ( ( j e. NN /\ k e. ( 1 ... j ) ) /\ m = k ) -> if ( m e. Prime , m , 1 ) = if ( k e. Prime , k , 1 ) ) |
9 |
|
elfznn |
|- ( k e. ( 1 ... j ) -> k e. NN ) |
10 |
9
|
adantl |
|- ( ( j e. NN /\ k e. ( 1 ... j ) ) -> k e. NN ) |
11 |
|
1nn |
|- 1 e. NN |
12 |
11
|
a1i |
|- ( k e. ( 1 ... j ) -> 1 e. NN ) |
13 |
9 12
|
ifcld |
|- ( k e. ( 1 ... j ) -> if ( k e. Prime , k , 1 ) e. NN ) |
14 |
13
|
adantl |
|- ( ( j e. NN /\ k e. ( 1 ... j ) ) -> if ( k e. Prime , k , 1 ) e. NN ) |
15 |
4 8 10 14
|
fvmptd |
|- ( ( j e. NN /\ k e. ( 1 ... j ) ) -> ( ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ` k ) = if ( k e. Prime , k , 1 ) ) |
16 |
15 14
|
eqeltrd |
|- ( ( j e. NN /\ k e. ( 1 ... j ) ) -> ( ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ` k ) e. NN ) |
17 |
3 16
|
fprodnncl |
|- ( j e. NN -> prod_ k e. ( 1 ... j ) ( ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ` k ) e. NN ) |
18 |
2 17
|
fmpti |
|- ( j e. NN |-> prod_ k e. ( 1 ... j ) ( ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ` k ) ) : NN --> NN |
19 |
|
nnex |
|- NN e. _V |
20 |
19 19
|
elmap |
|- ( ( j e. NN |-> prod_ k e. ( 1 ... j ) ( ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ` k ) ) e. ( NN ^m NN ) <-> ( j e. NN |-> prod_ k e. ( 1 ... j ) ( ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ` k ) ) : NN --> NN ) |
21 |
18 20
|
mpbir |
|- ( j e. NN |-> prod_ k e. ( 1 ... j ) ( ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ` k ) ) e. ( NN ^m NN ) |
22 |
21
|
a1i |
|- ( n e. NN -> ( j e. NN |-> prod_ k e. ( 1 ... j ) ( ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ` k ) ) e. ( NN ^m NN ) ) |
23 |
|
prmgapprmolem |
|- ( ( n e. NN /\ i e. ( 2 ... n ) ) -> 1 < ( ( ( #p ` n ) + i ) gcd i ) ) |
24 |
|
eqidd |
|- ( ( ( ( n e. NN /\ i e. ( 2 ... n ) ) /\ j e. NN ) /\ k e. ( 1 ... j ) ) -> ( m e. NN |-> if ( m e. Prime , m , 1 ) ) = ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ) |
25 |
7
|
adantl |
|- ( ( ( ( ( n e. NN /\ i e. ( 2 ... n ) ) /\ j e. NN ) /\ k e. ( 1 ... j ) ) /\ m = k ) -> if ( m e. Prime , m , 1 ) = if ( k e. Prime , k , 1 ) ) |
26 |
9
|
adantl |
|- ( ( ( ( n e. NN /\ i e. ( 2 ... n ) ) /\ j e. NN ) /\ k e. ( 1 ... j ) ) -> k e. NN ) |
27 |
|
elfzelz |
|- ( k e. ( 1 ... j ) -> k e. ZZ ) |
28 |
|
1zzd |
|- ( k e. ( 1 ... j ) -> 1 e. ZZ ) |
29 |
27 28
|
ifcld |
|- ( k e. ( 1 ... j ) -> if ( k e. Prime , k , 1 ) e. ZZ ) |
30 |
29
|
adantl |
|- ( ( ( ( n e. NN /\ i e. ( 2 ... n ) ) /\ j e. NN ) /\ k e. ( 1 ... j ) ) -> if ( k e. Prime , k , 1 ) e. ZZ ) |
31 |
24 25 26 30
|
fvmptd |
|- ( ( ( ( n e. NN /\ i e. ( 2 ... n ) ) /\ j e. NN ) /\ k e. ( 1 ... j ) ) -> ( ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ` k ) = if ( k e. Prime , k , 1 ) ) |
32 |
31
|
prodeq2dv |
|- ( ( ( n e. NN /\ i e. ( 2 ... n ) ) /\ j e. NN ) -> prod_ k e. ( 1 ... j ) ( ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ` k ) = prod_ k e. ( 1 ... j ) if ( k e. Prime , k , 1 ) ) |
33 |
32
|
mpteq2dva |
|- ( ( n e. NN /\ i e. ( 2 ... n ) ) -> ( j e. NN |-> prod_ k e. ( 1 ... j ) ( ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ` k ) ) = ( j e. NN |-> prod_ k e. ( 1 ... j ) if ( k e. Prime , k , 1 ) ) ) |
34 |
|
oveq2 |
|- ( j = n -> ( 1 ... j ) = ( 1 ... n ) ) |
35 |
34
|
prodeq1d |
|- ( j = n -> prod_ k e. ( 1 ... j ) if ( k e. Prime , k , 1 ) = prod_ k e. ( 1 ... n ) if ( k e. Prime , k , 1 ) ) |
36 |
35
|
adantl |
|- ( ( ( n e. NN /\ i e. ( 2 ... n ) ) /\ j = n ) -> prod_ k e. ( 1 ... j ) if ( k e. Prime , k , 1 ) = prod_ k e. ( 1 ... n ) if ( k e. Prime , k , 1 ) ) |
37 |
|
simpl |
|- ( ( n e. NN /\ i e. ( 2 ... n ) ) -> n e. NN ) |
38 |
|
fzfid |
|- ( ( n e. NN /\ i e. ( 2 ... n ) ) -> ( 1 ... n ) e. Fin ) |
39 |
|
elfznn |
|- ( k e. ( 1 ... n ) -> k e. NN ) |
40 |
11
|
a1i |
|- ( k e. ( 1 ... n ) -> 1 e. NN ) |
41 |
39 40
|
ifcld |
|- ( k e. ( 1 ... n ) -> if ( k e. Prime , k , 1 ) e. NN ) |
42 |
41
|
adantl |
|- ( ( ( n e. NN /\ i e. ( 2 ... n ) ) /\ k e. ( 1 ... n ) ) -> if ( k e. Prime , k , 1 ) e. NN ) |
43 |
38 42
|
fprodnncl |
|- ( ( n e. NN /\ i e. ( 2 ... n ) ) -> prod_ k e. ( 1 ... n ) if ( k e. Prime , k , 1 ) e. NN ) |
44 |
33 36 37 43
|
fvmptd |
|- ( ( n e. NN /\ i e. ( 2 ... n ) ) -> ( ( j e. NN |-> prod_ k e. ( 1 ... j ) ( ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ` k ) ) ` n ) = prod_ k e. ( 1 ... n ) if ( k e. Prime , k , 1 ) ) |
45 |
|
nnnn0 |
|- ( n e. NN -> n e. NN0 ) |
46 |
|
prmoval |
|- ( n e. NN0 -> ( #p ` n ) = prod_ k e. ( 1 ... n ) if ( k e. Prime , k , 1 ) ) |
47 |
45 46
|
syl |
|- ( n e. NN -> ( #p ` n ) = prod_ k e. ( 1 ... n ) if ( k e. Prime , k , 1 ) ) |
48 |
47
|
eqcomd |
|- ( n e. NN -> prod_ k e. ( 1 ... n ) if ( k e. Prime , k , 1 ) = ( #p ` n ) ) |
49 |
48
|
adantr |
|- ( ( n e. NN /\ i e. ( 2 ... n ) ) -> prod_ k e. ( 1 ... n ) if ( k e. Prime , k , 1 ) = ( #p ` n ) ) |
50 |
44 49
|
eqtrd |
|- ( ( n e. NN /\ i e. ( 2 ... n ) ) -> ( ( j e. NN |-> prod_ k e. ( 1 ... j ) ( ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ` k ) ) ` n ) = ( #p ` n ) ) |
51 |
50
|
oveq1d |
|- ( ( n e. NN /\ i e. ( 2 ... n ) ) -> ( ( ( j e. NN |-> prod_ k e. ( 1 ... j ) ( ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ` k ) ) ` n ) + i ) = ( ( #p ` n ) + i ) ) |
52 |
51
|
oveq1d |
|- ( ( n e. NN /\ i e. ( 2 ... n ) ) -> ( ( ( ( j e. NN |-> prod_ k e. ( 1 ... j ) ( ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ` k ) ) ` n ) + i ) gcd i ) = ( ( ( #p ` n ) + i ) gcd i ) ) |
53 |
23 52
|
breqtrrd |
|- ( ( n e. NN /\ i e. ( 2 ... n ) ) -> 1 < ( ( ( ( j e. NN |-> prod_ k e. ( 1 ... j ) ( ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ` k ) ) ` n ) + i ) gcd i ) ) |
54 |
53
|
ralrimiva |
|- ( n e. NN -> A. i e. ( 2 ... n ) 1 < ( ( ( ( j e. NN |-> prod_ k e. ( 1 ... j ) ( ( m e. NN |-> if ( m e. Prime , m , 1 ) ) ` k ) ) ` n ) + i ) gcd i ) ) |
55 |
1 22 54
|
prmgaplem8 |
|- ( n e. NN -> E. p e. Prime E. q e. Prime ( n <_ ( q - p ) /\ A. z e. ( ( p + 1 ) ..^ q ) z e/ Prime ) ) |
56 |
55
|
rgen |
|- A. n e. NN E. p e. Prime E. q e. Prime ( n <_ ( q - p ) /\ A. z e. ( ( p + 1 ) ..^ q ) z e/ Prime ) |