Metamath Proof Explorer


Theorem reu3

Description: A way to express restricted uniqueness. (Contributed by NM, 24-Oct-2006)

Ref Expression
Assertion reu3 ⊢ ∃! x ∈ A φ ↔ ∃ x ∈ A φ ∧ ∃ y ∈ A ∀ x ∈ A φ → x = y

Proof

Step Hyp Ref Expression
1 reurex ⊢ ∃! x ∈ A φ → ∃ x ∈ A φ
2 reu6 ⊢ ∃! x ∈ A φ ↔ ∃ y ∈ A ∀ x ∈ A φ ↔ x = y
3 biimp ⊢ φ ↔ x = y → φ → x = y
4 3 ralimi ⊢ ∀ x ∈ A φ ↔ x = y → ∀ x ∈ A φ → x = y
5 4 reximi ⊢ ∃ y ∈ A ∀ x ∈ A φ ↔ x = y → ∃ y ∈ A ∀ x ∈ A φ → x = y
6 2 5 sylbi ⊢ ∃! x ∈ A φ → ∃ y ∈ A ∀ x ∈ A φ → x = y
7 1 6 jca ⊢ ∃! x ∈ A φ → ∃ x ∈ A φ ∧ ∃ y ∈ A ∀ x ∈ A φ → x = y
8 rexex ⊢ ∃ y ∈ A ∀ x ∈ A φ → x = y → ∃ y ∀ x ∈ A φ → x = y
9 8 anim2i ⊢ ∃ x ∈ A φ ∧ ∃ y ∈ A ∀ x ∈ A φ → x = y → ∃ x ∈ A φ ∧ ∃ y ∀ x ∈ A φ → x = y
10 eu3v ⊢ ∃! x x ∈ A ∧ φ ↔ ∃ x x ∈ A ∧ φ ∧ ∃ y ∀ x x ∈ A ∧ φ → x = y
11 df-reu ⊢ ∃! x ∈ A φ ↔ ∃! x x ∈ A ∧ φ
12 df-rex ⊢ ∃ x ∈ A φ ↔ ∃ x x ∈ A ∧ φ
13 df-ral ⊢ ∀ x ∈ A φ → x = y ↔ ∀ x x ∈ A → φ → x = y
14 impexp ⊢ x ∈ A ∧ φ → x = y ↔ x ∈ A → φ → x = y
15 14 albii ⊢ ∀ x x ∈ A ∧ φ → x = y ↔ ∀ x x ∈ A → φ → x = y
16 13 15 bitr4i ⊢ ∀ x ∈ A φ → x = y ↔ ∀ x x ∈ A ∧ φ → x = y
17 16 exbii ⊢ ∃ y ∀ x ∈ A φ → x = y ↔ ∃ y ∀ x x ∈ A ∧ φ → x = y
18 12 17 anbi12i ⊢ ∃ x ∈ A φ ∧ ∃ y ∀ x ∈ A φ → x = y ↔ ∃ x x ∈ A ∧ φ ∧ ∃ y ∀ x x ∈ A ∧ φ → x = y
19 10 11 18 3bitr4i ⊢ ∃! x ∈ A φ ↔ ∃ x ∈ A φ ∧ ∃ y ∀ x ∈ A φ → x = y
20 9 19 sylibr ⊢ ∃ x ∈ A φ ∧ ∃ y ∈ A ∀ x ∈ A φ → x = y → ∃! x ∈ A φ
21 7 20 impbii ⊢ ∃! x ∈ A φ ↔ ∃ x ∈ A φ ∧ ∃ y ∈ A ∀ x ∈ A φ → x = y