Metamath Proof Explorer


Theorem cbvopab1

Description: Change first bound variable in an ordered-pair class abstraction, using explicit substitution. (Contributed by NM, 6-Oct-2004) (Revised by Mario Carneiro, 14-Oct-2016) Add disjoint variable condition to avoid ax-13 . See cbvopab1g for a less restrictive version requiring more axioms. (Revised by GG, 17-Jan-2024)

Ref Expression
Hypotheses cbvopab1.1 ⊢ Ⅎ z φ
cbvopab1.2 ⊢ Ⅎ x ψ
cbvopab1.3 ⊢ x = z → φ ↔ ψ
Assertion cbvopab1 ⊢ x y | φ = z y | ψ

Proof

Step Hyp Ref Expression
1 cbvopab1.1 ⊢ Ⅎ z φ
2 cbvopab1.2 ⊢ Ⅎ x ψ
3 cbvopab1.3 ⊢ x = z → φ ↔ ψ
4 nfv ⊢ Ⅎ v ∃ y w = x y ∧ φ
5 nfv ⊢ Ⅎ x w = v y
6 nfs1v ⊢ Ⅎ x v x φ
7 5 6 nfan ⊢ Ⅎ x w = v y ∧ v x φ
8 7 nfex ⊢ Ⅎ x ∃ y w = v y ∧ v x φ
9 opeq1 ⊢ x = v → x y = v y
10 9 eqeq2d ⊢ x = v → w = x y ↔ w = v y
11 sbequ12 ⊢ x = v → φ ↔ v x φ
12 10 11 anbi12d ⊢ x = v → w = x y ∧ φ ↔ w = v y ∧ v x φ
13 12 exbidv ⊢ x = v → ∃ y w = x y ∧ φ ↔ ∃ y w = v y ∧ v x φ
14 4 8 13 cbvexv1 ⊢ ∃ x ∃ y w = x y ∧ φ ↔ ∃ v ∃ y w = v y ∧ v x φ
15 nfv ⊢ Ⅎ z w = v y
16 1 nfsbv ⊢ Ⅎ z v x φ
17 15 16 nfan ⊢ Ⅎ z w = v y ∧ v x φ
18 17 nfex ⊢ Ⅎ z ∃ y w = v y ∧ v x φ
19 nfv ⊢ Ⅎ v ∃ y w = z y ∧ ψ
20 opeq1 ⊢ v = z → v y = z y
21 20 eqeq2d ⊢ v = z → w = v y ↔ w = z y
22 2 3 sbhypf ⊢ v = z → v x φ ↔ ψ
23 21 22 anbi12d ⊢ v = z → w = v y ∧ v x φ ↔ w = z y ∧ ψ
24 23 exbidv ⊢ v = z → ∃ y w = v y ∧ v x φ ↔ ∃ y w = z y ∧ ψ
25 18 19 24 cbvexv1 ⊢ ∃ v ∃ y w = v y ∧ v x φ ↔ ∃ z ∃ y w = z y ∧ ψ
26 14 25 bitri ⊢ ∃ x ∃ y w = x y ∧ φ ↔ ∃ z ∃ y w = z y ∧ ψ
27 26 abbii ⊢ w | ∃ x ∃ y w = x y ∧ φ = w | ∃ z ∃ y w = z y ∧ ψ
28 df-opab ⊢ x y | φ = w | ∃ x ∃ y w = x y ∧ φ
29 df-opab ⊢ z y | ψ = w | ∃ z ∃ y w = z y ∧ ψ
30 27 28 29 3eqtr4i ⊢ x y | φ = z y | ψ