Metamath Proof Explorer


Theorem cbvopab

Description: Rule used to change bound variables in an ordered-pair class abstraction, using implicit substitution. (Contributed by NM, 14-Sep-2003)

Ref Expression
Hypotheses cbvopab.1 𝑧 𝜑
cbvopab.2 𝑤 𝜑
cbvopab.3 𝑥 𝜓
cbvopab.4 𝑦 𝜓
cbvopab.5 ( ( 𝑥 = 𝑧𝑦 = 𝑤 ) → ( 𝜑𝜓 ) )
Assertion cbvopab { ⟨ 𝑥 , 𝑦 ⟩ ∣ 𝜑 } = { ⟨ 𝑧 , 𝑤 ⟩ ∣ 𝜓 }

Proof

Step Hyp Ref Expression
1 cbvopab.1 𝑧 𝜑
2 cbvopab.2 𝑤 𝜑
3 cbvopab.3 𝑥 𝜓
4 cbvopab.4 𝑦 𝜓
5 cbvopab.5 ( ( 𝑥 = 𝑧𝑦 = 𝑤 ) → ( 𝜑𝜓 ) )
6 nfv 𝑧 𝑣 = ⟨ 𝑥 , 𝑦
7 6 1 nfan 𝑧 ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 )
8 nfv 𝑤 𝑣 = ⟨ 𝑥 , 𝑦
9 8 2 nfan 𝑤 ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 )
10 nfv 𝑥 𝑣 = ⟨ 𝑧 , 𝑤
11 10 3 nfan 𝑥 ( 𝑣 = ⟨ 𝑧 , 𝑤 ⟩ ∧ 𝜓 )
12 nfv 𝑦 𝑣 = ⟨ 𝑧 , 𝑤
13 12 4 nfan 𝑦 ( 𝑣 = ⟨ 𝑧 , 𝑤 ⟩ ∧ 𝜓 )
14 opeq12 ( ( 𝑥 = 𝑧𝑦 = 𝑤 ) → ⟨ 𝑥 , 𝑦 ⟩ = ⟨ 𝑧 , 𝑤 ⟩ )
15 14 eqeq2d ( ( 𝑥 = 𝑧𝑦 = 𝑤 ) → ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ↔ 𝑣 = ⟨ 𝑧 , 𝑤 ⟩ ) )
16 15 5 anbi12d ( ( 𝑥 = 𝑧𝑦 = 𝑤 ) → ( ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 ) ↔ ( 𝑣 = ⟨ 𝑧 , 𝑤 ⟩ ∧ 𝜓 ) ) )
17 7 9 11 13 16 cbvex2v ( ∃ 𝑥𝑦 ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 ) ↔ ∃ 𝑧𝑤 ( 𝑣 = ⟨ 𝑧 , 𝑤 ⟩ ∧ 𝜓 ) )
18 17 abbii { 𝑣 ∣ ∃ 𝑥𝑦 ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 ) } = { 𝑣 ∣ ∃ 𝑧𝑤 ( 𝑣 = ⟨ 𝑧 , 𝑤 ⟩ ∧ 𝜓 ) }
19 df-opab { ⟨ 𝑥 , 𝑦 ⟩ ∣ 𝜑 } = { 𝑣 ∣ ∃ 𝑥𝑦 ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 ) }
20 df-opab { ⟨ 𝑧 , 𝑤 ⟩ ∣ 𝜓 } = { 𝑣 ∣ ∃ 𝑧𝑤 ( 𝑣 = ⟨ 𝑧 , 𝑤 ⟩ ∧ 𝜓 ) }
21 18 19 20 3eqtr4i { ⟨ 𝑥 , 𝑦 ⟩ ∣ 𝜑 } = { ⟨ 𝑧 , 𝑤 ⟩ ∣ 𝜓 }