Metamath Proof Explorer


Theorem cbvopab1s

Description: Change first bound variable in an ordered-pair class abstraction, using explicit substitution. (Contributed by NM, 31-Jul-2003)

Ref Expression
Assertion cbvopab1s { ⟨ 𝑥 , 𝑦 ⟩ ∣ 𝜑 } = { ⟨ 𝑧 , 𝑦 ⟩ ∣ [ 𝑧 / 𝑥 ] 𝜑 }

Proof

Step Hyp Ref Expression
1 nfv 𝑧𝑦 ( 𝑤 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 )
2 nfv 𝑥 𝑤 = ⟨ 𝑧 , 𝑦
3 nfs1v 𝑥 [ 𝑧 / 𝑥 ] 𝜑
4 2 3 nfan 𝑥 ( 𝑤 = ⟨ 𝑧 , 𝑦 ⟩ ∧ [ 𝑧 / 𝑥 ] 𝜑 )
5 4 nfex 𝑥𝑦 ( 𝑤 = ⟨ 𝑧 , 𝑦 ⟩ ∧ [ 𝑧 / 𝑥 ] 𝜑 )
6 opeq1 ( 𝑥 = 𝑧 → ⟨ 𝑥 , 𝑦 ⟩ = ⟨ 𝑧 , 𝑦 ⟩ )
7 6 eqeq2d ( 𝑥 = 𝑧 → ( 𝑤 = ⟨ 𝑥 , 𝑦 ⟩ ↔ 𝑤 = ⟨ 𝑧 , 𝑦 ⟩ ) )
8 sbequ12 ( 𝑥 = 𝑧 → ( 𝜑 ↔ [ 𝑧 / 𝑥 ] 𝜑 ) )
9 7 8 anbi12d ( 𝑥 = 𝑧 → ( ( 𝑤 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 ) ↔ ( 𝑤 = ⟨ 𝑧 , 𝑦 ⟩ ∧ [ 𝑧 / 𝑥 ] 𝜑 ) ) )
10 9 exbidv ( 𝑥 = 𝑧 → ( ∃ 𝑦 ( 𝑤 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 ) ↔ ∃ 𝑦 ( 𝑤 = ⟨ 𝑧 , 𝑦 ⟩ ∧ [ 𝑧 / 𝑥 ] 𝜑 ) ) )
11 1 5 10 cbvexv1 ( ∃ 𝑥𝑦 ( 𝑤 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 ) ↔ ∃ 𝑧𝑦 ( 𝑤 = ⟨ 𝑧 , 𝑦 ⟩ ∧ [ 𝑧 / 𝑥 ] 𝜑 ) )
12 11 abbii { 𝑤 ∣ ∃ 𝑥𝑦 ( 𝑤 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 ) } = { 𝑤 ∣ ∃ 𝑧𝑦 ( 𝑤 = ⟨ 𝑧 , 𝑦 ⟩ ∧ [ 𝑧 / 𝑥 ] 𝜑 ) }
13 df-opab { ⟨ 𝑥 , 𝑦 ⟩ ∣ 𝜑 } = { 𝑤 ∣ ∃ 𝑥𝑦 ( 𝑤 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 ) }
14 df-opab { ⟨ 𝑧 , 𝑦 ⟩ ∣ [ 𝑧 / 𝑥 ] 𝜑 } = { 𝑤 ∣ ∃ 𝑧𝑦 ( 𝑤 = ⟨ 𝑧 , 𝑦 ⟩ ∧ [ 𝑧 / 𝑥 ] 𝜑 ) }
15 12 13 14 3eqtr4i { ⟨ 𝑥 , 𝑦 ⟩ ∣ 𝜑 } = { ⟨ 𝑧 , 𝑦 ⟩ ∣ [ 𝑧 / 𝑥 ] 𝜑 }