Metamath Proof Explorer


Theorem 2eu1

Description: Double existential uniqueness. This theorem shows a condition under which a "naive" definition matches the correct one. Usage of this theorem is discouraged because it depends on ax-13 . Use the weaker 2eu1v when possible. (Contributed by NM, 3-Dec-2001) (Proof shortened by Wolf Lammen, 23-Apr-2023) (New usage is discouraged.)

Ref Expression
Assertion 2eu1 ( ∀ 𝑥 ∃* 𝑦 𝜑 → ( ∃! 𝑥 ∃! 𝑦 𝜑 ↔ ( ∃! 𝑥𝑦 𝜑 ∧ ∃! 𝑦𝑥 𝜑 ) ) )

Proof

Step Hyp Ref Expression
1 2eu2ex ( ∃! 𝑥 ∃! 𝑦 𝜑 → ∃ 𝑥𝑦 𝜑 )
2 moeu ( ∃* 𝑦 𝜑 ↔ ( ∃ 𝑦 𝜑 → ∃! 𝑦 𝜑 ) )
3 2 albii ( ∀ 𝑥 ∃* 𝑦 𝜑 ↔ ∀ 𝑥 ( ∃ 𝑦 𝜑 → ∃! 𝑦 𝜑 ) )
4 euim ( ( ∃ 𝑥𝑦 𝜑 ∧ ∀ 𝑥 ( ∃ 𝑦 𝜑 → ∃! 𝑦 𝜑 ) ) → ( ∃! 𝑥 ∃! 𝑦 𝜑 → ∃! 𝑥𝑦 𝜑 ) )
5 3 4 sylan2b ( ( ∃ 𝑥𝑦 𝜑 ∧ ∀ 𝑥 ∃* 𝑦 𝜑 ) → ( ∃! 𝑥 ∃! 𝑦 𝜑 → ∃! 𝑥𝑦 𝜑 ) )
6 5 ex ( ∃ 𝑥𝑦 𝜑 → ( ∀ 𝑥 ∃* 𝑦 𝜑 → ( ∃! 𝑥 ∃! 𝑦 𝜑 → ∃! 𝑥𝑦 𝜑 ) ) )
7 1 6 syl ( ∃! 𝑥 ∃! 𝑦 𝜑 → ( ∀ 𝑥 ∃* 𝑦 𝜑 → ( ∃! 𝑥 ∃! 𝑦 𝜑 → ∃! 𝑥𝑦 𝜑 ) ) )
8 7 pm2.43b ( ∀ 𝑥 ∃* 𝑦 𝜑 → ( ∃! 𝑥 ∃! 𝑦 𝜑 → ∃! 𝑥𝑦 𝜑 ) )
9 2euswap ( ∀ 𝑥 ∃* 𝑦 𝜑 → ( ∃! 𝑥𝑦 𝜑 → ∃! 𝑦𝑥 𝜑 ) )
10 8 9 syld ( ∀ 𝑥 ∃* 𝑦 𝜑 → ( ∃! 𝑥 ∃! 𝑦 𝜑 → ∃! 𝑦𝑥 𝜑 ) )
11 8 10 jcad ( ∀ 𝑥 ∃* 𝑦 𝜑 → ( ∃! 𝑥 ∃! 𝑦 𝜑 → ( ∃! 𝑥𝑦 𝜑 ∧ ∃! 𝑦𝑥 𝜑 ) ) )
12 2exeu ( ( ∃! 𝑥𝑦 𝜑 ∧ ∃! 𝑦𝑥 𝜑 ) → ∃! 𝑥 ∃! 𝑦 𝜑 )
13 11 12 impbid1 ( ∀ 𝑥 ∃* 𝑦 𝜑 → ( ∃! 𝑥 ∃! 𝑦 𝜑 ↔ ( ∃! 𝑥𝑦 𝜑 ∧ ∃! 𝑦𝑥 𝜑 ) ) )