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 ( ∀ 𝑥𝐴 ∃* 𝑦𝐵 𝜑 → ( ∃! 𝑥𝐴𝑦𝐵 𝜑 → ∃! 𝑦𝐵𝑥𝐴 𝜑 ) )

Proof

Step Hyp Ref Expression
1 df-rmo ( ∃* 𝑦𝐵 𝜑 ↔ ∃* 𝑦 ( 𝑦𝐵𝜑 ) )
2 1 ralbii ( ∀ 𝑥𝐴 ∃* 𝑦𝐵 𝜑 ↔ ∀ 𝑥𝐴 ∃* 𝑦 ( 𝑦𝐵𝜑 ) )
3 df-ral ( ∀ 𝑥𝐴 ∃* 𝑦 ( 𝑦𝐵𝜑 ) ↔ ∀ 𝑥 ( 𝑥𝐴 → ∃* 𝑦 ( 𝑦𝐵𝜑 ) ) )
4 moanimv ( ∃* 𝑦 ( 𝑥𝐴 ∧ ( 𝑦𝐵𝜑 ) ) ↔ ( 𝑥𝐴 → ∃* 𝑦 ( 𝑦𝐵𝜑 ) ) )
5 4 albii ( ∀ 𝑥 ∃* 𝑦 ( 𝑥𝐴 ∧ ( 𝑦𝐵𝜑 ) ) ↔ ∀ 𝑥 ( 𝑥𝐴 → ∃* 𝑦 ( 𝑦𝐵𝜑 ) ) )
6 3 5 bitr4i ( ∀ 𝑥𝐴 ∃* 𝑦 ( 𝑦𝐵𝜑 ) ↔ ∀ 𝑥 ∃* 𝑦 ( 𝑥𝐴 ∧ ( 𝑦𝐵𝜑 ) ) )
7 2euswapv ( ∀ 𝑥 ∃* 𝑦 ( 𝑥𝐴 ∧ ( 𝑦𝐵𝜑 ) ) → ( ∃! 𝑥𝑦 ( 𝑥𝐴 ∧ ( 𝑦𝐵𝜑 ) ) → ∃! 𝑦𝑥 ( 𝑥𝐴 ∧ ( 𝑦𝐵𝜑 ) ) ) )
8 df-reu ( ∃! 𝑥𝐴𝑦𝐵 𝜑 ↔ ∃! 𝑥 ( 𝑥𝐴 ∧ ∃ 𝑦𝐵 𝜑 ) )
9 r19.42v ( ∃ 𝑦𝐵 ( 𝑥𝐴𝜑 ) ↔ ( 𝑥𝐴 ∧ ∃ 𝑦𝐵 𝜑 ) )
10 df-rex ( ∃ 𝑦𝐵 ( 𝑥𝐴𝜑 ) ↔ ∃ 𝑦 ( 𝑦𝐵 ∧ ( 𝑥𝐴𝜑 ) ) )
11 9 10 bitr3i ( ( 𝑥𝐴 ∧ ∃ 𝑦𝐵 𝜑 ) ↔ ∃ 𝑦 ( 𝑦𝐵 ∧ ( 𝑥𝐴𝜑 ) ) )
12 an12 ( ( 𝑦𝐵 ∧ ( 𝑥𝐴𝜑 ) ) ↔ ( 𝑥𝐴 ∧ ( 𝑦𝐵𝜑 ) ) )
13 12 exbii ( ∃ 𝑦 ( 𝑦𝐵 ∧ ( 𝑥𝐴𝜑 ) ) ↔ ∃ 𝑦 ( 𝑥𝐴 ∧ ( 𝑦𝐵𝜑 ) ) )
14 11 13 bitri ( ( 𝑥𝐴 ∧ ∃ 𝑦𝐵 𝜑 ) ↔ ∃ 𝑦 ( 𝑥𝐴 ∧ ( 𝑦𝐵𝜑 ) ) )
15 14 eubii ( ∃! 𝑥 ( 𝑥𝐴 ∧ ∃ 𝑦𝐵 𝜑 ) ↔ ∃! 𝑥𝑦 ( 𝑥𝐴 ∧ ( 𝑦𝐵𝜑 ) ) )
16 8 15 bitri ( ∃! 𝑥𝐴𝑦𝐵 𝜑 ↔ ∃! 𝑥𝑦 ( 𝑥𝐴 ∧ ( 𝑦𝐵𝜑 ) ) )
17 df-reu ( ∃! 𝑦𝐵𝑥𝐴 𝜑 ↔ ∃! 𝑦 ( 𝑦𝐵 ∧ ∃ 𝑥𝐴 𝜑 ) )
18 r19.42v ( ∃ 𝑥𝐴 ( 𝑦𝐵𝜑 ) ↔ ( 𝑦𝐵 ∧ ∃ 𝑥𝐴 𝜑 ) )
19 df-rex ( ∃ 𝑥𝐴 ( 𝑦𝐵𝜑 ) ↔ ∃ 𝑥 ( 𝑥𝐴 ∧ ( 𝑦𝐵𝜑 ) ) )
20 18 19 bitr3i ( ( 𝑦𝐵 ∧ ∃ 𝑥𝐴 𝜑 ) ↔ ∃ 𝑥 ( 𝑥𝐴 ∧ ( 𝑦𝐵𝜑 ) ) )
21 20 eubii ( ∃! 𝑦 ( 𝑦𝐵 ∧ ∃ 𝑥𝐴 𝜑 ) ↔ ∃! 𝑦𝑥 ( 𝑥𝐴 ∧ ( 𝑦𝐵𝜑 ) ) )
22 17 21 bitri ( ∃! 𝑦𝐵𝑥𝐴 𝜑 ↔ ∃! 𝑦𝑥 ( 𝑥𝐴 ∧ ( 𝑦𝐵𝜑 ) ) )
23 7 16 22 3imtr4g ( ∀ 𝑥 ∃* 𝑦 ( 𝑥𝐴 ∧ ( 𝑦𝐵𝜑 ) ) → ( ∃! 𝑥𝐴𝑦𝐵 𝜑 → ∃! 𝑦𝐵𝑥𝐴 𝜑 ) )
24 6 23 sylbi ( ∀ 𝑥𝐴 ∃* 𝑦 ( 𝑦𝐵𝜑 ) → ( ∃! 𝑥𝐴𝑦𝐵 𝜑 → ∃! 𝑦𝐵𝑥𝐴 𝜑 ) )
25 2 24 sylbi ( ∀ 𝑥𝐴 ∃* 𝑦𝐵 𝜑 → ( ∃! 𝑥𝐴𝑦𝐵 𝜑 → ∃! 𝑦𝐵𝑥𝐴 𝜑 ) )