Metamath Proof Explorer


Theorem dfopab2

Description: A way to define an ordered-pair class abstraction without using existential quantifiers. (Contributed by NM, 18-Aug-2006) (Revised by Mario Carneiro, 31-Aug-2015)

Ref Expression
Assertion dfopab2 xy|φ=zV×V|[˙1stz/x]˙[˙2ndz/y]˙φ

Proof

Step Hyp Ref Expression
1 nfsbc1v x[˙1stz/x]˙[˙2ndz/y]˙φ
2 1 19.41 xyz=xy[˙1stz/x]˙[˙2ndz/y]˙φxyz=xy[˙1stz/x]˙[˙2ndz/y]˙φ
3 sbcopeq1a z=xy[˙1stz/x]˙[˙2ndz/y]˙φφ
4 3 pm5.32i z=xy[˙1stz/x]˙[˙2ndz/y]˙φz=xyφ
5 4 exbii yz=xy[˙1stz/x]˙[˙2ndz/y]˙φyz=xyφ
6 nfcv _y1stz
7 nfsbc1v y[˙2ndz/y]˙φ
8 6 7 nfsbcw y[˙1stz/x]˙[˙2ndz/y]˙φ
9 8 19.41 yz=xy[˙1stz/x]˙[˙2ndz/y]˙φyz=xy[˙1stz/x]˙[˙2ndz/y]˙φ
10 5 9 bitr3i yz=xyφyz=xy[˙1stz/x]˙[˙2ndz/y]˙φ
11 10 exbii xyz=xyφxyz=xy[˙1stz/x]˙[˙2ndz/y]˙φ
12 elvv zV×Vxyz=xy
13 12 anbi1i zV×V[˙1stz/x]˙[˙2ndz/y]˙φxyz=xy[˙1stz/x]˙[˙2ndz/y]˙φ
14 2 11 13 3bitr4i xyz=xyφzV×V[˙1stz/x]˙[˙2ndz/y]˙φ
15 14 abbii z|xyz=xyφ=z|zV×V[˙1stz/x]˙[˙2ndz/y]˙φ
16 df-opab xy|φ=z|xyz=xyφ
17 df-rab zV×V|[˙1stz/x]˙[˙2ndz/y]˙φ=z|zV×V[˙1stz/x]˙[˙2ndz/y]˙φ
18 15 16 17 3eqtr4i xy|φ=zV×V|[˙1stz/x]˙[˙2ndz/y]˙φ