Metamath Proof Explorer


Theorem cbvoprab12v

Description: Rule used to change first two bound variables in an operation abstraction, using implicit substitution. (Contributed by NM, 8-Oct-2004)

Ref Expression
Hypothesis cbvoprab12v.1 ( ( 𝑥 = 𝑤𝑦 = 𝑣 ) → ( 𝜑𝜓 ) )
Assertion cbvoprab12v { ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑧 ⟩ ∣ 𝜑 } = { ⟨ ⟨ 𝑤 , 𝑣 ⟩ , 𝑧 ⟩ ∣ 𝜓 }

Proof

Step Hyp Ref Expression
1 cbvoprab12v.1 ( ( 𝑥 = 𝑤𝑦 = 𝑣 ) → ( 𝜑𝜓 ) )
2 opeq12 ( ( 𝑥 = 𝑤𝑦 = 𝑣 ) → ⟨ 𝑥 , 𝑦 ⟩ = ⟨ 𝑤 , 𝑣 ⟩ )
3 2 opeq1d ( ( 𝑥 = 𝑤𝑦 = 𝑣 ) → ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑧 ⟩ = ⟨ ⟨ 𝑤 , 𝑣 ⟩ , 𝑧 ⟩ )
4 3 eqeq2d ( ( 𝑥 = 𝑤𝑦 = 𝑣 ) → ( 𝑢 = ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑧 ⟩ ↔ 𝑢 = ⟨ ⟨ 𝑤 , 𝑣 ⟩ , 𝑧 ⟩ ) )
5 4 1 anbi12d ( ( 𝑥 = 𝑤𝑦 = 𝑣 ) → ( ( 𝑢 = ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑧 ⟩ ∧ 𝜑 ) ↔ ( 𝑢 = ⟨ ⟨ 𝑤 , 𝑣 ⟩ , 𝑧 ⟩ ∧ 𝜓 ) ) )
6 5 exbidv ( ( 𝑥 = 𝑤𝑦 = 𝑣 ) → ( ∃ 𝑧 ( 𝑢 = ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑧 ⟩ ∧ 𝜑 ) ↔ ∃ 𝑧 ( 𝑢 = ⟨ ⟨ 𝑤 , 𝑣 ⟩ , 𝑧 ⟩ ∧ 𝜓 ) ) )
7 6 cbvex2vw ( ∃ 𝑥𝑦𝑧 ( 𝑢 = ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑧 ⟩ ∧ 𝜑 ) ↔ ∃ 𝑤𝑣𝑧 ( 𝑢 = ⟨ ⟨ 𝑤 , 𝑣 ⟩ , 𝑧 ⟩ ∧ 𝜓 ) )
8 7 abbii { 𝑢 ∣ ∃ 𝑥𝑦𝑧 ( 𝑢 = ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑧 ⟩ ∧ 𝜑 ) } = { 𝑢 ∣ ∃ 𝑤𝑣𝑧 ( 𝑢 = ⟨ ⟨ 𝑤 , 𝑣 ⟩ , 𝑧 ⟩ ∧ 𝜓 ) }
9 df-oprab { ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑧 ⟩ ∣ 𝜑 } = { 𝑢 ∣ ∃ 𝑥𝑦𝑧 ( 𝑢 = ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑧 ⟩ ∧ 𝜑 ) }
10 df-oprab { ⟨ ⟨ 𝑤 , 𝑣 ⟩ , 𝑧 ⟩ ∣ 𝜓 } = { 𝑢 ∣ ∃ 𝑤𝑣𝑧 ( 𝑢 = ⟨ ⟨ 𝑤 , 𝑣 ⟩ , 𝑧 ⟩ ∧ 𝜓 ) }
11 8 9 10 3eqtr4i { ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑧 ⟩ ∣ 𝜑 } = { ⟨ ⟨ 𝑤 , 𝑣 ⟩ , 𝑧 ⟩ ∣ 𝜓 }