Users' Mathboxes Mathbox for Thierry Arnoux < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  mpomptxf Structured version   Visualization version   GIF version

Theorem mpomptxf 30918
Description: Express a two-argument function as a one-argument function, or vice-versa. In this version 𝐵(𝑥) is not assumed to be constant w.r.t 𝑥. (Contributed by Mario Carneiro, 29-Dec-2014.) (Revised by Thierry Arnoux, 31-Mar-2018.)
Hypotheses
Ref Expression
mpomptxf.0 𝑥𝐶
mpomptxf.1 𝑦𝐶
mpomptxf.2 (𝑧 = ⟨𝑥, 𝑦⟩ → 𝐶 = 𝐷)
Assertion
Ref Expression
mpomptxf (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ↦ 𝐶) = (𝑥𝐴, 𝑦𝐵𝐷)
Distinct variable groups:   𝑥,𝑦,𝑧,𝐴   𝑦,𝐵,𝑧   𝑧,𝐷
Allowed substitution hints:   𝐵(𝑥)   𝐶(𝑥,𝑦,𝑧)   𝐷(𝑥,𝑦)

Proof of Theorem mpomptxf
Dummy variable 𝑤 is distinct from all other variables.
StepHypRef Expression
1 df-mpt 5154 . 2 (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ↦ 𝐶) = {⟨𝑧, 𝑤⟩ ∣ (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ∧ 𝑤 = 𝐶)}
2 df-mpo 7260 . . 3 (𝑥𝐴, 𝑦𝐵𝐷) = {⟨⟨𝑥, 𝑦⟩, 𝑤⟩ ∣ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)}
3 eliunxp 5735 . . . . . . 7 (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ↔ ∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)))
43anbi1i 623 . . . . . 6 ((𝑧 𝑥𝐴 ({𝑥} × 𝐵) ∧ 𝑤 = 𝐶) ↔ (∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶))
5 mpomptxf.1 . . . . . . . . . 10 𝑦𝐶
65nfeq2 2923 . . . . . . . . 9 𝑦 𝑤 = 𝐶
7619.41 2231 . . . . . . . 8 (∃𝑦((𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ (∃𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶))
87exbii 1851 . . . . . . 7 (∃𝑥𝑦((𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ ∃𝑥(∃𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶))
9 mpomptxf.0 . . . . . . . . 9 𝑥𝐶
109nfeq2 2923 . . . . . . . 8 𝑥 𝑤 = 𝐶
111019.41 2231 . . . . . . 7 (∃𝑥(∃𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ (∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶))
128, 11bitri 274 . . . . . 6 (∃𝑥𝑦((𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ (∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶))
13 anass 468 . . . . . . . 8 (((𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ (𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐶)))
14 mpomptxf.2 . . . . . . . . . . 11 (𝑧 = ⟨𝑥, 𝑦⟩ → 𝐶 = 𝐷)
1514eqeq2d 2749 . . . . . . . . . 10 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝑤 = 𝐶𝑤 = 𝐷))
1615anbi2d 628 . . . . . . . . 9 (𝑧 = ⟨𝑥, 𝑦⟩ → (((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐶) ↔ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)))
1716pm5.32i 574 . . . . . . . 8 ((𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐶)) ↔ (𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)))
1813, 17bitri 274 . . . . . . 7 (((𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ (𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)))
19182exbii 1852 . . . . . 6 (∃𝑥𝑦((𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ ∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)))
204, 12, 193bitr2i 298 . . . . 5 ((𝑧 𝑥𝐴 ({𝑥} × 𝐵) ∧ 𝑤 = 𝐶) ↔ ∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)))
2120opabbii 5137 . . . 4 {⟨𝑧, 𝑤⟩ ∣ (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ∧ 𝑤 = 𝐶)} = {⟨𝑧, 𝑤⟩ ∣ ∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷))}
22 dfoprab2 7311 . . . 4 {⟨⟨𝑥, 𝑦⟩, 𝑤⟩ ∣ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)} = {⟨𝑧, 𝑤⟩ ∣ ∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷))}
2321, 22eqtr4i 2769 . . 3 {⟨𝑧, 𝑤⟩ ∣ (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ∧ 𝑤 = 𝐶)} = {⟨⟨𝑥, 𝑦⟩, 𝑤⟩ ∣ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)}
242, 23eqtr4i 2769 . 2 (𝑥𝐴, 𝑦𝐵𝐷) = {⟨𝑧, 𝑤⟩ ∣ (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ∧ 𝑤 = 𝐶)}
251, 24eqtr4i 2769 1 (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ↦ 𝐶) = (𝑥𝐴, 𝑦𝐵𝐷)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 395   = wceq 1539  wex 1783  wcel 2108  wnfc 2886  {csn 4558  cop 4564   ciun 4921  {copab 5132  cmpt 5153   × cxp 5578  {coprab 7256  cmpo 7257
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1799  ax-4 1813  ax-5 1914  ax-6 1972  ax-7 2012  ax-8 2110  ax-9 2118  ax-10 2139  ax-11 2156  ax-12 2173  ax-ext 2709  ax-sep 5218  ax-nul 5225  ax-pr 5347
This theorem depends on definitions:  df-bi 206  df-an 396  df-or 844  df-3an 1087  df-tru 1542  df-fal 1552  df-ex 1784  df-nf 1788  df-sb 2069  df-clab 2716  df-cleq 2730  df-clel 2817  df-nfc 2888  df-ral 3068  df-rex 3069  df-rab 3072  df-v 3424  df-sbc 3712  df-csb 3829  df-dif 3886  df-un 3888  df-in 3890  df-ss 3900  df-nul 4254  df-if 4457  df-sn 4559  df-pr 4561  df-op 4565  df-iun 4923  df-opab 5133  df-mpt 5154  df-xp 5586  df-rel 5587  df-oprab 7259  df-mpo 7260
This theorem is referenced by:  gsummpt2co  31210
  Copyright terms: Public domain W3C validator