This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
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 | ⊢ ( 𝐴 ∈ { 𝑥 ∣ 𝜑 } ↔ ∃ 𝑥 ( 𝑥 = 𝐴 ∧ 𝜑 ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | elissetv | ⊢ ( 𝐴 ∈ { 𝑥 ∣ 𝜑 } → ∃ 𝑦 𝑦 = 𝐴 ) | |
| 2 | exsimpl | ⊢ ( ∃ 𝑥 ( 𝑥 = 𝐴 ∧ 𝜑 ) → ∃ 𝑥 𝑥 = 𝐴 ) | |
| 3 | iseqsetv-cleq | ⊢ ( ∃ 𝑥 𝑥 = 𝐴 ↔ ∃ 𝑦 𝑦 = 𝐴 ) | |
| 4 | 2 3 | sylib | ⊢ ( ∃ 𝑥 ( 𝑥 = 𝐴 ∧ 𝜑 ) → ∃ 𝑦 𝑦 = 𝐴 ) |
| 5 | eleq1 | ⊢ ( 𝑦 = 𝐴 → ( 𝑦 ∈ { 𝑥 ∣ 𝜑 } ↔ 𝐴 ∈ { 𝑥 ∣ 𝜑 } ) ) | |
| 6 | df-clab | ⊢ ( 𝑦 ∈ { 𝑥 ∣ 𝜑 } ↔ [ 𝑦 / 𝑥 ] 𝜑 ) | |
| 7 | sb5 | ⊢ ( [ 𝑦 / 𝑥 ] 𝜑 ↔ ∃ 𝑥 ( 𝑥 = 𝑦 ∧ 𝜑 ) ) | |
| 8 | 6 7 | bitri | ⊢ ( 𝑦 ∈ { 𝑥 ∣ 𝜑 } ↔ ∃ 𝑥 ( 𝑥 = 𝑦 ∧ 𝜑 ) ) |
| 9 | eqeq2 | ⊢ ( 𝑦 = 𝐴 → ( 𝑥 = 𝑦 ↔ 𝑥 = 𝐴 ) ) | |
| 10 | 9 | anbi1d | ⊢ ( 𝑦 = 𝐴 → ( ( 𝑥 = 𝑦 ∧ 𝜑 ) ↔ ( 𝑥 = 𝐴 ∧ 𝜑 ) ) ) |
| 11 | 10 | exbidv | ⊢ ( 𝑦 = 𝐴 → ( ∃ 𝑥 ( 𝑥 = 𝑦 ∧ 𝜑 ) ↔ ∃ 𝑥 ( 𝑥 = 𝐴 ∧ 𝜑 ) ) ) |
| 12 | 8 11 | bitrid | ⊢ ( 𝑦 = 𝐴 → ( 𝑦 ∈ { 𝑥 ∣ 𝜑 } ↔ ∃ 𝑥 ( 𝑥 = 𝐴 ∧ 𝜑 ) ) ) |
| 13 | 5 12 | bitr3d | ⊢ ( 𝑦 = 𝐴 → ( 𝐴 ∈ { 𝑥 ∣ 𝜑 } ↔ ∃ 𝑥 ( 𝑥 = 𝐴 ∧ 𝜑 ) ) ) |
| 14 | 13 | exlimiv | ⊢ ( ∃ 𝑦 𝑦 = 𝐴 → ( 𝐴 ∈ { 𝑥 ∣ 𝜑 } ↔ ∃ 𝑥 ( 𝑥 = 𝐴 ∧ 𝜑 ) ) ) |
| 15 | 1 4 14 | pm5.21nii | ⊢ ( 𝐴 ∈ { 𝑥 ∣ 𝜑 } ↔ ∃ 𝑥 ( 𝑥 = 𝐴 ∧ 𝜑 ) ) |