Metamath Proof Explorer


Theorem reusv2lem3

Description: Lemma for reusv2 . (Contributed by NM, 14-Dec-2012) (Proof shortened by Mario Carneiro, 19-Nov-2016)

Ref Expression
Assertion reusv2lem3 ( ∀ 𝑦𝐴 𝐵 ∈ V → ( ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 ↔ ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 ) )

Proof

Step Hyp Ref Expression
1 simpr ( ( ∀ 𝑦𝐴 𝐵 ∈ V ∧ ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 ) → ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 )
2 nfv 𝑥𝑦𝐴 𝐵 ∈ V
3 nfeu1 𝑥 ∃! 𝑥𝑦𝐴 𝑥 = 𝐵
4 2 3 nfan 𝑥 ( ∀ 𝑦𝐴 𝐵 ∈ V ∧ ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 )
5 euex ( ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 → ∃ 𝑥𝑦𝐴 𝑥 = 𝐵 )
6 rexn0 ( ∃ 𝑦𝐴 𝑥 = 𝐵𝐴 ≠ ∅ )
7 6 exlimiv ( ∃ 𝑥𝑦𝐴 𝑥 = 𝐵𝐴 ≠ ∅ )
8 r19.2z ( ( 𝐴 ≠ ∅ ∧ ∀ 𝑦𝐴 𝑥 = 𝐵 ) → ∃ 𝑦𝐴 𝑥 = 𝐵 )
9 8 ex ( 𝐴 ≠ ∅ → ( ∀ 𝑦𝐴 𝑥 = 𝐵 → ∃ 𝑦𝐴 𝑥 = 𝐵 ) )
10 5 7 9 3syl ( ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 → ( ∀ 𝑦𝐴 𝑥 = 𝐵 → ∃ 𝑦𝐴 𝑥 = 𝐵 ) )
11 10 adantl ( ( ∀ 𝑦𝐴 𝐵 ∈ V ∧ ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 ) → ( ∀ 𝑦𝐴 𝑥 = 𝐵 → ∃ 𝑦𝐴 𝑥 = 𝐵 ) )
12 nfra1 𝑦𝑦𝐴 𝐵 ∈ V
13 nfre1 𝑦𝑦𝐴 𝑥 = 𝐵
14 13 nfeuw 𝑦 ∃! 𝑥𝑦𝐴 𝑥 = 𝐵
15 12 14 nfan 𝑦 ( ∀ 𝑦𝐴 𝐵 ∈ V ∧ ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 )
16 rsp ( ∀ 𝑦𝐴 𝐵 ∈ V → ( 𝑦𝐴𝐵 ∈ V ) )
17 16 impcom ( ( 𝑦𝐴 ∧ ∀ 𝑦𝐴 𝐵 ∈ V ) → 𝐵 ∈ V )
18 isset ( 𝐵 ∈ V ↔ ∃ 𝑥 𝑥 = 𝐵 )
19 17 18 sylib ( ( 𝑦𝐴 ∧ ∀ 𝑦𝐴 𝐵 ∈ V ) → ∃ 𝑥 𝑥 = 𝐵 )
20 19 adantrr ( ( 𝑦𝐴 ∧ ( ∀ 𝑦𝐴 𝐵 ∈ V ∧ ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 ) ) → ∃ 𝑥 𝑥 = 𝐵 )
21 rspe ( ( 𝑦𝐴𝑥 = 𝐵 ) → ∃ 𝑦𝐴 𝑥 = 𝐵 )
22 21 ex ( 𝑦𝐴 → ( 𝑥 = 𝐵 → ∃ 𝑦𝐴 𝑥 = 𝐵 ) )
23 22 ancrd ( 𝑦𝐴 → ( 𝑥 = 𝐵 → ( ∃ 𝑦𝐴 𝑥 = 𝐵𝑥 = 𝐵 ) ) )
24 23 eximdv ( 𝑦𝐴 → ( ∃ 𝑥 𝑥 = 𝐵 → ∃ 𝑥 ( ∃ 𝑦𝐴 𝑥 = 𝐵𝑥 = 𝐵 ) ) )
25 24 imp ( ( 𝑦𝐴 ∧ ∃ 𝑥 𝑥 = 𝐵 ) → ∃ 𝑥 ( ∃ 𝑦𝐴 𝑥 = 𝐵𝑥 = 𝐵 ) )
26 20 25 syldan ( ( 𝑦𝐴 ∧ ( ∀ 𝑦𝐴 𝐵 ∈ V ∧ ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 ) ) → ∃ 𝑥 ( ∃ 𝑦𝐴 𝑥 = 𝐵𝑥 = 𝐵 ) )
27 eupick ( ( ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 ∧ ∃ 𝑥 ( ∃ 𝑦𝐴 𝑥 = 𝐵𝑥 = 𝐵 ) ) → ( ∃ 𝑦𝐴 𝑥 = 𝐵𝑥 = 𝐵 ) )
28 1 26 27 syl2an2 ( ( 𝑦𝐴 ∧ ( ∀ 𝑦𝐴 𝐵 ∈ V ∧ ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 ) ) → ( ∃ 𝑦𝐴 𝑥 = 𝐵𝑥 = 𝐵 ) )
29 28 ex ( 𝑦𝐴 → ( ( ∀ 𝑦𝐴 𝐵 ∈ V ∧ ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 ) → ( ∃ 𝑦𝐴 𝑥 = 𝐵𝑥 = 𝐵 ) ) )
30 29 com3l ( ( ∀ 𝑦𝐴 𝐵 ∈ V ∧ ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 ) → ( ∃ 𝑦𝐴 𝑥 = 𝐵 → ( 𝑦𝐴𝑥 = 𝐵 ) ) )
31 15 13 30 ralrimd ( ( ∀ 𝑦𝐴 𝐵 ∈ V ∧ ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 ) → ( ∃ 𝑦𝐴 𝑥 = 𝐵 → ∀ 𝑦𝐴 𝑥 = 𝐵 ) )
32 11 31 impbid ( ( ∀ 𝑦𝐴 𝐵 ∈ V ∧ ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 ) → ( ∀ 𝑦𝐴 𝑥 = 𝐵 ↔ ∃ 𝑦𝐴 𝑥 = 𝐵 ) )
33 4 32 eubid ( ( ∀ 𝑦𝐴 𝐵 ∈ V ∧ ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 ) → ( ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 ↔ ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 ) )
34 1 33 mpbird ( ( ∀ 𝑦𝐴 𝐵 ∈ V ∧ ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 ) → ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 )
35 34 ex ( ∀ 𝑦𝐴 𝐵 ∈ V → ( ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 → ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 ) )
36 reusv2lem2 ( ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 → ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 )
37 35 36 impbid1 ( ∀ 𝑦𝐴 𝐵 ∈ V → ( ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 ↔ ∃! 𝑥𝑦𝐴 𝑥 = 𝐵 ) )