Metamath Proof Explorer


Theorem clelab

Description: Membership of a class variable in a class abstraction. (Contributed by NM, 23-Dec-1993) (Proof shortened by Wolf Lammen, 16-Nov-2019) Avoid ax-11 , see sbc5ALT for more details. (Revised by SN, 2-Sep-2024)

Ref Expression
Assertion clelab ( 𝐴 ∈ { 𝑥𝜑 } ↔ ∃ 𝑥 ( 𝑥 = 𝐴𝜑 ) )

Proof

Step Hyp Ref Expression
1 elisset ( 𝐴 ∈ { 𝑥𝜑 } → ∃ 𝑦 𝑦 = 𝐴 )
2 exsimpl ( ∃ 𝑥 ( 𝑥 = 𝐴𝜑 ) → ∃ 𝑥 𝑥 = 𝐴 )
3 eqeq1 ( 𝑥 = 𝑦 → ( 𝑥 = 𝐴𝑦 = 𝐴 ) )
4 3 cbvexvw ( ∃ 𝑥 𝑥 = 𝐴 ↔ ∃ 𝑦 𝑦 = 𝐴 )
5 2 4 sylib ( ∃ 𝑥 ( 𝑥 = 𝐴𝜑 ) → ∃ 𝑦 𝑦 = 𝐴 )
6 df-clab ( 𝑦 ∈ { 𝑥𝜑 } ↔ [ 𝑦 / 𝑥 ] 𝜑 )
7 sb5 ( [ 𝑦 / 𝑥 ] 𝜑 ↔ ∃ 𝑥 ( 𝑥 = 𝑦𝜑 ) )
8 6 7 bitri ( 𝑦 ∈ { 𝑥𝜑 } ↔ ∃ 𝑥 ( 𝑥 = 𝑦𝜑 ) )
9 eleq1 ( 𝑦 = 𝐴 → ( 𝑦 ∈ { 𝑥𝜑 } ↔ 𝐴 ∈ { 𝑥𝜑 } ) )
10 eqeq2 ( 𝑦 = 𝐴 → ( 𝑥 = 𝑦𝑥 = 𝐴 ) )
11 10 anbi1d ( 𝑦 = 𝐴 → ( ( 𝑥 = 𝑦𝜑 ) ↔ ( 𝑥 = 𝐴𝜑 ) ) )
12 11 exbidv ( 𝑦 = 𝐴 → ( ∃ 𝑥 ( 𝑥 = 𝑦𝜑 ) ↔ ∃ 𝑥 ( 𝑥 = 𝐴𝜑 ) ) )
13 9 12 bibi12d ( 𝑦 = 𝐴 → ( ( 𝑦 ∈ { 𝑥𝜑 } ↔ ∃ 𝑥 ( 𝑥 = 𝑦𝜑 ) ) ↔ ( 𝐴 ∈ { 𝑥𝜑 } ↔ ∃ 𝑥 ( 𝑥 = 𝐴𝜑 ) ) ) )
14 8 13 mpbii ( 𝑦 = 𝐴 → ( 𝐴 ∈ { 𝑥𝜑 } ↔ ∃ 𝑥 ( 𝑥 = 𝐴𝜑 ) ) )
15 14 exlimiv ( ∃ 𝑦 𝑦 = 𝐴 → ( 𝐴 ∈ { 𝑥𝜑 } ↔ ∃ 𝑥 ( 𝑥 = 𝐴𝜑 ) ) )
16 1 5 15 pm5.21nii ( 𝐴 ∈ { 𝑥𝜑 } ↔ ∃ 𝑥 ( 𝑥 = 𝐴𝜑 ) )