Metamath Proof Explorer


Theorem axrep2

Description: Axiom of Replacement expressed with the fewest number of different variables and without any restrictions on ph . (Contributed by NM, 15-Aug-2003) Remove dependency on ax-13 . (Revised by BJ, 31-May-2019)

Ref Expression
Assertion axrep2
|- E. x ( E. y A. z ( ph -> z = y ) -> A. z ( z e. x <-> E. x ( x e. y /\ A. y ph ) ) )

Proof

Step Hyp Ref Expression
1 nfe1
 |-  F/ w E. w A. z ( A. y ph -> z = w )
2 nfv
 |-  F/ w A. z ( z e. x <-> E. x ( x e. y /\ A. y ph ) )
3 1 2 nfim
 |-  F/ w ( E. w A. z ( A. y ph -> z = w ) -> A. z ( z e. x <-> E. x ( x e. y /\ A. y ph ) ) )
4 3 nfex
 |-  F/ w E. x ( E. w A. z ( A. y ph -> z = w ) -> A. z ( z e. x <-> E. x ( x e. y /\ A. y ph ) ) )
5 axreplem
 |-  ( w = y -> ( E. x ( E. w A. z ( A. y ph -> z = w ) -> A. z ( z e. x <-> E. x ( x e. w /\ A. y ph ) ) ) <-> E. x ( E. w A. z ( A. y ph -> z = w ) -> A. z ( z e. x <-> E. x ( x e. y /\ A. y ph ) ) ) ) )
6 axrep1
 |-  E. x ( E. w A. z ( A. y ph -> z = w ) -> A. z ( z e. x <-> E. x ( x e. w /\ A. y ph ) ) )
7 4 5 6 chvarfv
 |-  E. x ( E. w A. z ( A. y ph -> z = w ) -> A. z ( z e. x <-> E. x ( x e. y /\ A. y ph ) ) )
8 sp
 |-  ( A. y ph -> ph )
9 8 imim1i
 |-  ( ( ph -> z = y ) -> ( A. y ph -> z = y ) )
10 9 alimi
 |-  ( A. z ( ph -> z = y ) -> A. z ( A. y ph -> z = y ) )
11 10 eximi
 |-  ( E. y A. z ( ph -> z = y ) -> E. y A. z ( A. y ph -> z = y ) )
12 nfv
 |-  F/ w A. z ( A. y ph -> z = y )
13 nfa1
 |-  F/ y A. y ph
14 nfv
 |-  F/ y z = w
15 13 14 nfim
 |-  F/ y ( A. y ph -> z = w )
16 15 nfal
 |-  F/ y A. z ( A. y ph -> z = w )
17 equequ2
 |-  ( y = w -> ( z = y <-> z = w ) )
18 17 imbi2d
 |-  ( y = w -> ( ( A. y ph -> z = y ) <-> ( A. y ph -> z = w ) ) )
19 18 albidv
 |-  ( y = w -> ( A. z ( A. y ph -> z = y ) <-> A. z ( A. y ph -> z = w ) ) )
20 12 16 19 cbvexv1
 |-  ( E. y A. z ( A. y ph -> z = y ) <-> E. w A. z ( A. y ph -> z = w ) )
21 11 20 sylib
 |-  ( E. y A. z ( ph -> z = y ) -> E. w A. z ( A. y ph -> z = w ) )
22 21 imim1i
 |-  ( ( E. w A. z ( A. y ph -> z = w ) -> A. z ( z e. x <-> E. x ( x e. y /\ A. y ph ) ) ) -> ( E. y A. z ( ph -> z = y ) -> A. z ( z e. x <-> E. x ( x e. y /\ A. y ph ) ) ) )
23 7 22 eximii
 |-  E. x ( E. y A. z ( ph -> z = y ) -> A. z ( z e. x <-> E. x ( x e. y /\ A. y ph ) ) )