Metamath Proof Explorer


Theorem cbvopab2

Description: Change second bound variable in an ordered-pair class abstraction, using explicit substitution. (Contributed by NM, 22-Aug-2013)

Ref Expression
Hypotheses cbvopab2.1 ⊢ Ⅎ 𝑧 𝜑
cbvopab2.2 ⊢ Ⅎ 𝑦 𝜓
cbvopab2.3 ⊢ ( 𝑦 = 𝑧 → ( 𝜑 ↔ 𝜓 ) )
Assertion cbvopab2 { ⟨ 𝑥 , 𝑦 ⟩ ∣ 𝜑 } = { ⟨ 𝑥 , 𝑧 ⟩ ∣ 𝜓 }

Proof

Step Hyp Ref Expression
1 cbvopab2.1 ⊢ Ⅎ 𝑧 𝜑
2 cbvopab2.2 ⊢ Ⅎ 𝑦 𝜓
3 cbvopab2.3 ⊢ ( 𝑦 = 𝑧 → ( 𝜑 ↔ 𝜓 ) )
4 nfv ⊢ Ⅎ 𝑧 𝑤 = ⟨ 𝑥 , 𝑦 ⟩
5 4 1 nfan ⊢ Ⅎ 𝑧 ( 𝑤 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 )
6 nfv ⊢ Ⅎ 𝑦 𝑤 = ⟨ 𝑥 , 𝑧 ⟩
7 6 2 nfan ⊢ Ⅎ 𝑦 ( 𝑤 = ⟨ 𝑥 , 𝑧 ⟩ ∧ 𝜓 )
8 opeq2 ⊢ ( 𝑦 = 𝑧 → ⟨ 𝑥 , 𝑦 ⟩ = ⟨ 𝑥 , 𝑧 ⟩ )
9 8 eqeq2d ⊢ ( 𝑦 = 𝑧 → ( 𝑤 = ⟨ 𝑥 , 𝑦 ⟩ ↔ 𝑤 = ⟨ 𝑥 , 𝑧 ⟩ ) )
10 9 3 anbi12d ⊢ ( 𝑦 = 𝑧 → ( ( 𝑤 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 ) ↔ ( 𝑤 = ⟨ 𝑥 , 𝑧 ⟩ ∧ 𝜓 ) ) )
11 5 7 10 cbvexv1 ⊢ ( ∃ 𝑦 ( 𝑤 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 ) ↔ ∃ 𝑧 ( 𝑤 = ⟨ 𝑥 , 𝑧 ⟩ ∧ 𝜓 ) )
12 11 exbii ⊢ ( ∃ 𝑥 ∃ 𝑦 ( 𝑤 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 ) ↔ ∃ 𝑥 ∃ 𝑧 ( 𝑤 = ⟨ 𝑥 , 𝑧 ⟩ ∧ 𝜓 ) )
13 12 abbii ⊢ { 𝑤 ∣ ∃ 𝑥 ∃ 𝑦 ( 𝑤 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 ) } = { 𝑤 ∣ ∃ 𝑥 ∃ 𝑧 ( 𝑤 = ⟨ 𝑥 , 𝑧 ⟩ ∧ 𝜓 ) }
14 df-opab ⊢ { ⟨ 𝑥 , 𝑦 ⟩ ∣ 𝜑 } = { 𝑤 ∣ ∃ 𝑥 ∃ 𝑦 ( 𝑤 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 ) }
15 df-opab ⊢ { ⟨ 𝑥 , 𝑧 ⟩ ∣ 𝜓 } = { 𝑤 ∣ ∃ 𝑥 ∃ 𝑧 ( 𝑤 = ⟨ 𝑥 , 𝑧 ⟩ ∧ 𝜓 ) }
16 13 14 15 3eqtr4i ⊢ { ⟨ 𝑥 , 𝑦 ⟩ ∣ 𝜑 } = { ⟨ 𝑥 , 𝑧 ⟩ ∣ 𝜓 }