MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  dfopab2 Structured version   Visualization version   GIF version

Theorem dfopab2 7994
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.)
Assertion
Ref Expression
dfopab2 {⟨𝑥, 𝑦⟩ ∣ 𝜑} = {𝑧 ∈ (V × V) ∣ [(1st𝑧) / 𝑥][(2nd𝑧) / 𝑦]𝜑}
Distinct variable groups:   𝜑,𝑧   𝑥,𝑦,𝑧
Allowed substitution hints:   𝜑(𝑥,𝑦)

Proof of Theorem dfopab2
StepHypRef Expression
1 nfsbc1v 3743 . . . . 5 𝑥[(1st𝑧) / 𝑥][(2nd𝑧) / 𝑦]𝜑
2119.41 2247 . . . 4 (∃𝑥(∃𝑦 𝑧 = ⟨𝑥, 𝑦⟩ ∧ [(1st𝑧) / 𝑥][(2nd𝑧) / 𝑦]𝜑) ↔ (∃𝑥𝑦 𝑧 = ⟨𝑥, 𝑦⟩ ∧ [(1st𝑧) / 𝑥][(2nd𝑧) / 𝑦]𝜑))
3 sbcopeq1a 7991 . . . . . . . 8 (𝑧 = ⟨𝑥, 𝑦⟩ → ([(1st𝑧) / 𝑥][(2nd𝑧) / 𝑦]𝜑𝜑))
43pm5.32i 579 . . . . . . 7 ((𝑧 = ⟨𝑥, 𝑦⟩ ∧ [(1st𝑧) / 𝑥][(2nd𝑧) / 𝑦]𝜑) ↔ (𝑧 = ⟨𝑥, 𝑦⟩ ∧ 𝜑))
54exbii 1855 . . . . . 6 (∃𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ [(1st𝑧) / 𝑥][(2nd𝑧) / 𝑦]𝜑) ↔ ∃𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ 𝜑))
6 nfcv 2901 . . . . . . . 8 𝑦(1st𝑧)
7 nfsbc1v 3743 . . . . . . . 8 𝑦[(2nd𝑧) / 𝑦]𝜑
86, 7nfsbcw 3745 . . . . . . 7 𝑦[(1st𝑧) / 𝑥][(2nd𝑧) / 𝑦]𝜑
9819.41 2247 . . . . . 6 (∃𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ [(1st𝑧) / 𝑥][(2nd𝑧) / 𝑦]𝜑) ↔ (∃𝑦 𝑧 = ⟨𝑥, 𝑦⟩ ∧ [(1st𝑧) / 𝑥][(2nd𝑧) / 𝑦]𝜑))
105, 9bitr3i 278 . . . . 5 (∃𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ 𝜑) ↔ (∃𝑦 𝑧 = ⟨𝑥, 𝑦⟩ ∧ [(1st𝑧) / 𝑥][(2nd𝑧) / 𝑦]𝜑))
1110exbii 1855 . . . 4 (∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ 𝜑) ↔ ∃𝑥(∃𝑦 𝑧 = ⟨𝑥, 𝑦⟩ ∧ [(1st𝑧) / 𝑥][(2nd𝑧) / 𝑦]𝜑))
12 elvv 5693 . . . . 5 (𝑧 ∈ (V × V) ↔ ∃𝑥𝑦 𝑧 = ⟨𝑥, 𝑦⟩)
1312anbi1i 630 . . . 4 ((𝑧 ∈ (V × V) ∧ [(1st𝑧) / 𝑥][(2nd𝑧) / 𝑦]𝜑) ↔ (∃𝑥𝑦 𝑧 = ⟨𝑥, 𝑦⟩ ∧ [(1st𝑧) / 𝑥][(2nd𝑧) / 𝑦]𝜑))
142, 11, 133bitr4i 304 . . 3 (∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ 𝜑) ↔ (𝑧 ∈ (V × V) ∧ [(1st𝑧) / 𝑥][(2nd𝑧) / 𝑦]𝜑))
1514abbii 2806 . 2 {𝑧 ∣ ∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ 𝜑)} = {𝑧 ∣ (𝑧 ∈ (V × V) ∧ [(1st𝑧) / 𝑥][(2nd𝑧) / 𝑦]𝜑)}
16 df-opab 5135 . 2 {⟨𝑥, 𝑦⟩ ∣ 𝜑} = {𝑧 ∣ ∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ 𝜑)}
17 df-rab 3392 . 2 {𝑧 ∈ (V × V) ∣ [(1st𝑧) / 𝑥][(2nd𝑧) / 𝑦]𝜑} = {𝑧 ∣ (𝑧 ∈ (V × V) ∧ [(1st𝑧) / 𝑥][(2nd𝑧) / 𝑦]𝜑)}
1815, 16, 173eqtr4i 2772 1 {⟨𝑥, 𝑦⟩ ∣ 𝜑} = {𝑧 ∈ (V × V) ∣ [(1st𝑧) / 𝑥][(2nd𝑧) / 𝑦]𝜑}
Colors of variables: wff setvar class
Syntax hints:  wa 396   = wceq 1547  wex 1786  wcel 2119  {cab 2717  {crab 3391  Vcvv 3431  [wsbc 3723  cop 4561  {copab 5134   × cxp 5616  cfv 6485  1st c1st 7929  2nd c2nd 7930
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1802  ax-4 1816  ax-5 1917  ax-6 1974  ax-7 2015  ax-8 2121  ax-9 2129  ax-10 2152  ax-11 2168  ax-12 2189  ax-ext 2711  ax-sep 5218  ax-nul 5228  ax-pr 5362  ax-un 7678
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 854  df-3an 1094  df-tru 1550  df-fal 1560  df-ex 1787  df-nf 1791  df-sb 2074  df-mo 2543  df-eu 2573  df-clab 2718  df-cleq 2731  df-clel 2814  df-nfc 2888  df-ne 2935  df-ral 3054  df-rex 3064  df-rab 3392  df-v 3433  df-sbc 3724  df-dif 3886  df-un 3888  df-in 3890  df-ss 3900  df-nul 4262  df-if 4455  df-sn 4556  df-pr 4558  df-op 4562  df-uni 4839  df-br 5073  df-opab 5135  df-mpt 5154  df-id 5513  df-xp 5624  df-rel 5625  df-cnv 5626  df-co 5627  df-dm 5628  df-rn 5629  df-iota 6441  df-fun 6487  df-fv 6493  df-1st 7931  df-2nd 7932
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator