Metamath Proof Explorer


Theorem 2reuswap

Description: A condition allowing swap of uniqueness and existential quantifiers. (Contributed by Thierry Arnoux, 7-Apr-2017) (Revised by NM, 16-Jun-2017)

Ref Expression
Assertion 2reuswap
|- ( A. x e. A E* y e. B ph -> ( E! x e. A E. y e. B ph -> E! y e. B E. x e. A ph ) )

Proof

Step Hyp Ref Expression
1 df-rmo
 |-  ( E* y e. B ph <-> E* y ( y e. B /\ ph ) )
2 1 ralbii
 |-  ( A. x e. A E* y e. B ph <-> A. x e. A E* y ( y e. B /\ ph ) )
3 df-ral
 |-  ( A. x e. A E* y ( y e. B /\ ph ) <-> A. x ( x e. A -> E* y ( y e. B /\ ph ) ) )
4 moanimv
 |-  ( E* y ( x e. A /\ ( y e. B /\ ph ) ) <-> ( x e. A -> E* y ( y e. B /\ ph ) ) )
5 4 albii
 |-  ( A. x E* y ( x e. A /\ ( y e. B /\ ph ) ) <-> A. x ( x e. A -> E* y ( y e. B /\ ph ) ) )
6 3 5 bitr4i
 |-  ( A. x e. A E* y ( y e. B /\ ph ) <-> A. x E* y ( x e. A /\ ( y e. B /\ ph ) ) )
7 2euswapv
 |-  ( A. x E* y ( x e. A /\ ( y e. B /\ ph ) ) -> ( E! x E. y ( x e. A /\ ( y e. B /\ ph ) ) -> E! y E. x ( x e. A /\ ( y e. B /\ ph ) ) ) )
8 df-reu
 |-  ( E! x e. A E. y e. B ph <-> E! x ( x e. A /\ E. y e. B ph ) )
9 r19.42v
 |-  ( E. y e. B ( x e. A /\ ph ) <-> ( x e. A /\ E. y e. B ph ) )
10 df-rex
 |-  ( E. y e. B ( x e. A /\ ph ) <-> E. y ( y e. B /\ ( x e. A /\ ph ) ) )
11 9 10 bitr3i
 |-  ( ( x e. A /\ E. y e. B ph ) <-> E. y ( y e. B /\ ( x e. A /\ ph ) ) )
12 an12
 |-  ( ( y e. B /\ ( x e. A /\ ph ) ) <-> ( x e. A /\ ( y e. B /\ ph ) ) )
13 12 exbii
 |-  ( E. y ( y e. B /\ ( x e. A /\ ph ) ) <-> E. y ( x e. A /\ ( y e. B /\ ph ) ) )
14 11 13 bitri
 |-  ( ( x e. A /\ E. y e. B ph ) <-> E. y ( x e. A /\ ( y e. B /\ ph ) ) )
15 14 eubii
 |-  ( E! x ( x e. A /\ E. y e. B ph ) <-> E! x E. y ( x e. A /\ ( y e. B /\ ph ) ) )
16 8 15 bitri
 |-  ( E! x e. A E. y e. B ph <-> E! x E. y ( x e. A /\ ( y e. B /\ ph ) ) )
17 df-reu
 |-  ( E! y e. B E. x e. A ph <-> E! y ( y e. B /\ E. x e. A ph ) )
18 r19.42v
 |-  ( E. x e. A ( y e. B /\ ph ) <-> ( y e. B /\ E. x e. A ph ) )
19 df-rex
 |-  ( E. x e. A ( y e. B /\ ph ) <-> E. x ( x e. A /\ ( y e. B /\ ph ) ) )
20 18 19 bitr3i
 |-  ( ( y e. B /\ E. x e. A ph ) <-> E. x ( x e. A /\ ( y e. B /\ ph ) ) )
21 20 eubii
 |-  ( E! y ( y e. B /\ E. x e. A ph ) <-> E! y E. x ( x e. A /\ ( y e. B /\ ph ) ) )
22 17 21 bitri
 |-  ( E! y e. B E. x e. A ph <-> E! y E. x ( x e. A /\ ( y e. B /\ ph ) ) )
23 7 16 22 3imtr4g
 |-  ( A. x E* y ( x e. A /\ ( y e. B /\ ph ) ) -> ( E! x e. A E. y e. B ph -> E! y e. B E. x e. A ph ) )
24 6 23 sylbi
 |-  ( A. x e. A E* y ( y e. B /\ ph ) -> ( E! x e. A E. y e. B ph -> E! y e. B E. x e. A ph ) )
25 2 24 sylbi
 |-  ( A. x e. A E* y e. B ph -> ( E! x e. A E. y e. B ph -> E! y e. B E. x e. A ph ) )