Metamath Proof Explorer


Theorem dfoprab3s

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

Ref Expression
Assertion dfoprab3s ⊢ x y z | φ = w z | w ∈ V × V ∧ [˙ 1 st ⁡ w / x]˙ [˙ 2 nd ⁡ w / y]˙ φ

Proof

Step Hyp Ref Expression
1 dfoprab2 ⊢ x y z | φ = w z | ∃ x ∃ y w = x y ∧ φ
2 nfsbc1v ⊢ Ⅎ x [˙ 1 st ⁡ w / x]˙ [˙ 2 nd ⁡ w / y]˙ φ
3 2 19.41 ⊢ ∃ x ∃ y w = x y ∧ [˙ 1 st ⁡ w / x]˙ [˙ 2 nd ⁡ w / y]˙ φ ↔ ∃ x ∃ y w = x y ∧ [˙ 1 st ⁡ w / x]˙ [˙ 2 nd ⁡ w / y]˙ φ
4 sbcopeq1a ⊢ w = x y → [˙ 1 st ⁡ w / x]˙ [˙ 2 nd ⁡ w / y]˙ φ ↔ φ
5 4 pm5.32i ⊢ w = x y ∧ [˙ 1 st ⁡ w / x]˙ [˙ 2 nd ⁡ w / y]˙ φ ↔ w = x y ∧ φ
6 5 exbii ⊢ ∃ y w = x y ∧ [˙ 1 st ⁡ w / x]˙ [˙ 2 nd ⁡ w / y]˙ φ ↔ ∃ y w = x y ∧ φ
7 nfcv ⊢ Ⅎ _ y 1 st ⁡ w
8 nfsbc1v ⊢ Ⅎ y [˙ 2 nd ⁡ w / y]˙ φ
9 7 8 nfsbcw ⊢ Ⅎ y [˙ 1 st ⁡ w / x]˙ [˙ 2 nd ⁡ w / y]˙ φ
10 9 19.41 ⊢ ∃ y w = x y ∧ [˙ 1 st ⁡ w / x]˙ [˙ 2 nd ⁡ w / y]˙ φ ↔ ∃ y w = x y ∧ [˙ 1 st ⁡ w / x]˙ [˙ 2 nd ⁡ w / y]˙ φ
11 6 10 bitr3i ⊢ ∃ y w = x y ∧ φ ↔ ∃ y w = x y ∧ [˙ 1 st ⁡ w / x]˙ [˙ 2 nd ⁡ w / y]˙ φ
12 11 exbii ⊢ ∃ x ∃ y w = x y ∧ φ ↔ ∃ x ∃ y w = x y ∧ [˙ 1 st ⁡ w / x]˙ [˙ 2 nd ⁡ w / y]˙ φ
13 elvv ⊢ w ∈ V × V ↔ ∃ x ∃ y w = x y
14 13 anbi1i ⊢ w ∈ V × V ∧ [˙ 1 st ⁡ w / x]˙ [˙ 2 nd ⁡ w / y]˙ φ ↔ ∃ x ∃ y w = x y ∧ [˙ 1 st ⁡ w / x]˙ [˙ 2 nd ⁡ w / y]˙ φ
15 3 12 14 3bitr4i ⊢ ∃ x ∃ y w = x y ∧ φ ↔ w ∈ V × V ∧ [˙ 1 st ⁡ w / x]˙ [˙ 2 nd ⁡ w / y]˙ φ
16 15 opabbii ⊢ w z | ∃ x ∃ y w = x y ∧ φ = w z | w ∈ V × V ∧ [˙ 1 st ⁡ w / x]˙ [˙ 2 nd ⁡ w / y]˙ φ
17 1 16 eqtri ⊢ x y z | φ = w z | w ∈ V × V ∧ [˙ 1 st ⁡ w / x]˙ [˙ 2 nd ⁡ w / y]˙ φ