Metamath Proof Explorer


Theorem cbvoprab3

Description: Rule used to change the third bound variable in an operation abstraction, using implicit substitution. (Contributed by NM, 22-Aug-2013)

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

Proof

Step Hyp Ref Expression
1 cbvoprab3.1 𝑤 𝜑
2 cbvoprab3.2 𝑧 𝜓
3 cbvoprab3.3 ( 𝑧 = 𝑤 → ( 𝜑𝜓 ) )
4 nfv 𝑤 𝑣 = ⟨ 𝑥 , 𝑦
5 4 1 nfan 𝑤 ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 )
6 5 nfex 𝑤𝑦 ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 )
7 6 nfex 𝑤𝑥𝑦 ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 )
8 nfv 𝑧 𝑣 = ⟨ 𝑥 , 𝑦
9 8 2 nfan 𝑧 ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜓 )
10 9 nfex 𝑧𝑦 ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜓 )
11 10 nfex 𝑧𝑥𝑦 ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜓 )
12 3 anbi2d ( 𝑧 = 𝑤 → ( ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 ) ↔ ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜓 ) ) )
13 12 2exbidv ( 𝑧 = 𝑤 → ( ∃ 𝑥𝑦 ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 ) ↔ ∃ 𝑥𝑦 ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜓 ) ) )
14 7 11 13 cbvopab2 { ⟨ 𝑣 , 𝑧 ⟩ ∣ ∃ 𝑥𝑦 ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 ) } = { ⟨ 𝑣 , 𝑤 ⟩ ∣ ∃ 𝑥𝑦 ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜓 ) }
15 dfoprab2 { ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑧 ⟩ ∣ 𝜑 } = { ⟨ 𝑣 , 𝑧 ⟩ ∣ ∃ 𝑥𝑦 ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜑 ) }
16 dfoprab2 { ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑤 ⟩ ∣ 𝜓 } = { ⟨ 𝑣 , 𝑤 ⟩ ∣ ∃ 𝑥𝑦 ( 𝑣 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝜓 ) }
17 14 15 16 3eqtr4i { ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑧 ⟩ ∣ 𝜑 } = { ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑤 ⟩ ∣ 𝜓 }