Metamath Proof Explorer


Theorem eusvobj2

Description: Specify the same property in two ways when class B ( y ) is single-valued. (Contributed by NM, 1-Nov-2010) (Proof shortened by Mario Carneiro, 24-Dec-2016)

Ref Expression
Hypothesis eusvobj1.1 ⊢ B ∈ V
Assertion eusvobj2 ⊢ ∃! x ∃ y ∈ A x = B → ∃ y ∈ A x = B ↔ ∀ y ∈ A x = B

Proof

Step Hyp Ref Expression
1 eusvobj1.1 ⊢ B ∈ V
2 euabsn2 ⊢ ∃! x ∃ y ∈ A x = B ↔ ∃ z x | ∃ y ∈ A x = B = z
3 eleq2 ⊢ x | ∃ y ∈ A x = B = z → x ∈ x | ∃ y ∈ A x = B ↔ x ∈ z
4 abid ⊢ x ∈ x | ∃ y ∈ A x = B ↔ ∃ y ∈ A x = B
5 velsn ⊢ x ∈ z ↔ x = z
6 3 4 5 3bitr3g ⊢ x | ∃ y ∈ A x = B = z → ∃ y ∈ A x = B ↔ x = z
7 nfre1 ⊢ Ⅎ y ∃ y ∈ A x = B
8 7 nfab ⊢ Ⅎ _ y x | ∃ y ∈ A x = B
9 8 nfeq1 ⊢ Ⅎ y x | ∃ y ∈ A x = B = z
10 1 elabrex ⊢ y ∈ A → B ∈ x | ∃ y ∈ A x = B
11 eleq2 ⊢ x | ∃ y ∈ A x = B = z → B ∈ x | ∃ y ∈ A x = B ↔ B ∈ z
12 1 elsn ⊢ B ∈ z ↔ B = z
13 eqcom ⊢ B = z ↔ z = B
14 12 13 bitri ⊢ B ∈ z ↔ z = B
15 11 14 bitrdi ⊢ x | ∃ y ∈ A x = B = z → B ∈ x | ∃ y ∈ A x = B ↔ z = B
16 10 15 imbitrid ⊢ x | ∃ y ∈ A x = B = z → y ∈ A → z = B
17 9 16 ralrimi ⊢ x | ∃ y ∈ A x = B = z → ∀ y ∈ A z = B
18 eqeq1 ⊢ x = z → x = B ↔ z = B
19 18 ralbidv ⊢ x = z → ∀ y ∈ A x = B ↔ ∀ y ∈ A z = B
20 17 19 syl5ibrcom ⊢ x | ∃ y ∈ A x = B = z → x = z → ∀ y ∈ A x = B
21 6 20 sylbid ⊢ x | ∃ y ∈ A x = B = z → ∃ y ∈ A x = B → ∀ y ∈ A x = B
22 21 exlimiv ⊢ ∃ z x | ∃ y ∈ A x = B = z → ∃ y ∈ A x = B → ∀ y ∈ A x = B
23 2 22 sylbi ⊢ ∃! x ∃ y ∈ A x = B → ∃ y ∈ A x = B → ∀ y ∈ A x = B
24 euex ⊢ ∃! x ∃ y ∈ A x = B → ∃ x ∃ y ∈ A x = B
25 rexn0 ⊢ ∃ y ∈ A x = B → A ≠ ∅
26 25 exlimiv ⊢ ∃ x ∃ y ∈ A x = B → A ≠ ∅
27 r19.2z ⊢ A ≠ ∅ ∧ ∀ y ∈ A x = B → ∃ y ∈ A x = B
28 27 ex ⊢ A ≠ ∅ → ∀ y ∈ A x = B → ∃ y ∈ A x = B
29 24 26 28 3syl ⊢ ∃! x ∃ y ∈ A x = B → ∀ y ∈ A x = B → ∃ y ∈ A x = B
30 23 29 impbid ⊢ ∃! x ∃ y ∈ A x = B → ∃ y ∈ A x = B ↔ ∀ y ∈ A x = B