This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Theorem to move a substitution in and out of a class abstraction. (Contributed by NM, 27-Sep-2003) (Revised by Mario Carneiro, 7-Oct-2016) (Proof shortened by Wolf Lammen, 28-Oct-2024)
| Ref | Expression | ||
|---|---|---|---|
| Hypothesis | sbabel.1 | ⊢ Ⅎ 𝑥 𝐴 | |
| Assertion | sbabel | ⊢ ( [ 𝑦 / 𝑥 ] { 𝑧 ∣ 𝜑 } ∈ 𝐴 ↔ { 𝑧 ∣ [ 𝑦 / 𝑥 ] 𝜑 } ∈ 𝐴 ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | sbabel.1 | ⊢ Ⅎ 𝑥 𝐴 | |
| 2 | clabel | ⊢ ( { 𝑧 ∣ 𝜑 } ∈ 𝐴 ↔ ∃ 𝑣 ( 𝑣 ∈ 𝐴 ∧ ∀ 𝑧 ( 𝑧 ∈ 𝑣 ↔ 𝜑 ) ) ) | |
| 3 | 2 | sbbii | ⊢ ( [ 𝑦 / 𝑥 ] { 𝑧 ∣ 𝜑 } ∈ 𝐴 ↔ [ 𝑦 / 𝑥 ] ∃ 𝑣 ( 𝑣 ∈ 𝐴 ∧ ∀ 𝑧 ( 𝑧 ∈ 𝑣 ↔ 𝜑 ) ) ) |
| 4 | sbex | ⊢ ( [ 𝑦 / 𝑥 ] ∃ 𝑣 ( 𝑣 ∈ 𝐴 ∧ ∀ 𝑧 ( 𝑧 ∈ 𝑣 ↔ 𝜑 ) ) ↔ ∃ 𝑣 [ 𝑦 / 𝑥 ] ( 𝑣 ∈ 𝐴 ∧ ∀ 𝑧 ( 𝑧 ∈ 𝑣 ↔ 𝜑 ) ) ) | |
| 5 | sban | ⊢ ( [ 𝑦 / 𝑥 ] ( 𝑣 ∈ 𝐴 ∧ ∀ 𝑧 ( 𝑧 ∈ 𝑣 ↔ 𝜑 ) ) ↔ ( [ 𝑦 / 𝑥 ] 𝑣 ∈ 𝐴 ∧ [ 𝑦 / 𝑥 ] ∀ 𝑧 ( 𝑧 ∈ 𝑣 ↔ 𝜑 ) ) ) | |
| 6 | 1 | nfcri | ⊢ Ⅎ 𝑥 𝑣 ∈ 𝐴 |
| 7 | 6 | sbf | ⊢ ( [ 𝑦 / 𝑥 ] 𝑣 ∈ 𝐴 ↔ 𝑣 ∈ 𝐴 ) |
| 8 | sbv | ⊢ ( [ 𝑦 / 𝑥 ] 𝑧 ∈ 𝑣 ↔ 𝑧 ∈ 𝑣 ) | |
| 9 | 8 | sbrbis | ⊢ ( [ 𝑦 / 𝑥 ] ( 𝑧 ∈ 𝑣 ↔ 𝜑 ) ↔ ( 𝑧 ∈ 𝑣 ↔ [ 𝑦 / 𝑥 ] 𝜑 ) ) |
| 10 | 9 | sbalv | ⊢ ( [ 𝑦 / 𝑥 ] ∀ 𝑧 ( 𝑧 ∈ 𝑣 ↔ 𝜑 ) ↔ ∀ 𝑧 ( 𝑧 ∈ 𝑣 ↔ [ 𝑦 / 𝑥 ] 𝜑 ) ) |
| 11 | 7 10 | anbi12i | ⊢ ( ( [ 𝑦 / 𝑥 ] 𝑣 ∈ 𝐴 ∧ [ 𝑦 / 𝑥 ] ∀ 𝑧 ( 𝑧 ∈ 𝑣 ↔ 𝜑 ) ) ↔ ( 𝑣 ∈ 𝐴 ∧ ∀ 𝑧 ( 𝑧 ∈ 𝑣 ↔ [ 𝑦 / 𝑥 ] 𝜑 ) ) ) |
| 12 | 5 11 | bitri | ⊢ ( [ 𝑦 / 𝑥 ] ( 𝑣 ∈ 𝐴 ∧ ∀ 𝑧 ( 𝑧 ∈ 𝑣 ↔ 𝜑 ) ) ↔ ( 𝑣 ∈ 𝐴 ∧ ∀ 𝑧 ( 𝑧 ∈ 𝑣 ↔ [ 𝑦 / 𝑥 ] 𝜑 ) ) ) |
| 13 | 12 | exbii | ⊢ ( ∃ 𝑣 [ 𝑦 / 𝑥 ] ( 𝑣 ∈ 𝐴 ∧ ∀ 𝑧 ( 𝑧 ∈ 𝑣 ↔ 𝜑 ) ) ↔ ∃ 𝑣 ( 𝑣 ∈ 𝐴 ∧ ∀ 𝑧 ( 𝑧 ∈ 𝑣 ↔ [ 𝑦 / 𝑥 ] 𝜑 ) ) ) |
| 14 | 3 4 13 | 3bitri | ⊢ ( [ 𝑦 / 𝑥 ] { 𝑧 ∣ 𝜑 } ∈ 𝐴 ↔ ∃ 𝑣 ( 𝑣 ∈ 𝐴 ∧ ∀ 𝑧 ( 𝑧 ∈ 𝑣 ↔ [ 𝑦 / 𝑥 ] 𝜑 ) ) ) |
| 15 | clabel | ⊢ ( { 𝑧 ∣ [ 𝑦 / 𝑥 ] 𝜑 } ∈ 𝐴 ↔ ∃ 𝑣 ( 𝑣 ∈ 𝐴 ∧ ∀ 𝑧 ( 𝑧 ∈ 𝑣 ↔ [ 𝑦 / 𝑥 ] 𝜑 ) ) ) | |
| 16 | 14 15 | bitr4i | ⊢ ( [ 𝑦 / 𝑥 ] { 𝑧 ∣ 𝜑 } ∈ 𝐴 ↔ { 𝑧 ∣ [ 𝑦 / 𝑥 ] 𝜑 } ∈ 𝐴 ) |