Metamath Proof Explorer


Theorem axcc4

Description: A version of axcc3 that uses wffs instead of classes. (Contributed by Mario Carneiro, 7-Apr-2013)

Ref Expression
Hypotheses axcc4.1
|- A e. _V
axcc4.2
|- N ~~ _om
axcc4.3
|- ( x = ( f ` n ) -> ( ph <-> ps ) )
Assertion axcc4
|- ( A. n e. N E. x e. A ph -> E. f ( f : N --> A /\ A. n e. N ps ) )

Proof

Step Hyp Ref Expression
1 axcc4.1
 |-  A e. _V
2 axcc4.2
 |-  N ~~ _om
3 axcc4.3
 |-  ( x = ( f ` n ) -> ( ph <-> ps ) )
4 1 rabex
 |-  { x e. A | ph } e. _V
5 4 2 axcc3
 |-  E. f ( f Fn N /\ A. n e. N ( { x e. A | ph } =/= (/) -> ( f ` n ) e. { x e. A | ph } ) )
6 rabn0
 |-  ( { x e. A | ph } =/= (/) <-> E. x e. A ph )
7 pm2.27
 |-  ( { x e. A | ph } =/= (/) -> ( ( { x e. A | ph } =/= (/) -> ( f ` n ) e. { x e. A | ph } ) -> ( f ` n ) e. { x e. A | ph } ) )
8 6 7 sylbir
 |-  ( E. x e. A ph -> ( ( { x e. A | ph } =/= (/) -> ( f ` n ) e. { x e. A | ph } ) -> ( f ` n ) e. { x e. A | ph } ) )
9 3 elrab
 |-  ( ( f ` n ) e. { x e. A | ph } <-> ( ( f ` n ) e. A /\ ps ) )
10 8 9 syl6ib
 |-  ( E. x e. A ph -> ( ( { x e. A | ph } =/= (/) -> ( f ` n ) e. { x e. A | ph } ) -> ( ( f ` n ) e. A /\ ps ) ) )
11 10 ral2imi
 |-  ( A. n e. N E. x e. A ph -> ( A. n e. N ( { x e. A | ph } =/= (/) -> ( f ` n ) e. { x e. A | ph } ) -> A. n e. N ( ( f ` n ) e. A /\ ps ) ) )
12 simpl
 |-  ( ( ( f ` n ) e. A /\ ps ) -> ( f ` n ) e. A )
13 12 ralimi
 |-  ( A. n e. N ( ( f ` n ) e. A /\ ps ) -> A. n e. N ( f ` n ) e. A )
14 11 13 syl6
 |-  ( A. n e. N E. x e. A ph -> ( A. n e. N ( { x e. A | ph } =/= (/) -> ( f ` n ) e. { x e. A | ph } ) -> A. n e. N ( f ` n ) e. A ) )
15 14 anim2d
 |-  ( A. n e. N E. x e. A ph -> ( ( f Fn N /\ A. n e. N ( { x e. A | ph } =/= (/) -> ( f ` n ) e. { x e. A | ph } ) ) -> ( f Fn N /\ A. n e. N ( f ` n ) e. A ) ) )
16 ffnfv
 |-  ( f : N --> A <-> ( f Fn N /\ A. n e. N ( f ` n ) e. A ) )
17 15 16 syl6ibr
 |-  ( A. n e. N E. x e. A ph -> ( ( f Fn N /\ A. n e. N ( { x e. A | ph } =/= (/) -> ( f ` n ) e. { x e. A | ph } ) ) -> f : N --> A ) )
18 simpr
 |-  ( ( ( f ` n ) e. A /\ ps ) -> ps )
19 18 ralimi
 |-  ( A. n e. N ( ( f ` n ) e. A /\ ps ) -> A. n e. N ps )
20 11 19 syl6
 |-  ( A. n e. N E. x e. A ph -> ( A. n e. N ( { x e. A | ph } =/= (/) -> ( f ` n ) e. { x e. A | ph } ) -> A. n e. N ps ) )
21 20 adantld
 |-  ( A. n e. N E. x e. A ph -> ( ( f Fn N /\ A. n e. N ( { x e. A | ph } =/= (/) -> ( f ` n ) e. { x e. A | ph } ) ) -> A. n e. N ps ) )
22 17 21 jcad
 |-  ( A. n e. N E. x e. A ph -> ( ( f Fn N /\ A. n e. N ( { x e. A | ph } =/= (/) -> ( f ` n ) e. { x e. A | ph } ) ) -> ( f : N --> A /\ A. n e. N ps ) ) )
23 22 eximdv
 |-  ( A. n e. N E. x e. A ph -> ( E. f ( f Fn N /\ A. n e. N ( { x e. A | ph } =/= (/) -> ( f ` n ) e. { x e. A | ph } ) ) -> E. f ( f : N --> A /\ A. n e. N ps ) ) )
24 5 23 mpi
 |-  ( A. n e. N E. x e. A ph -> E. f ( f : N --> A /\ A. n e. N ps ) )