| 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 ) |