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 32608
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 5192 . 2 (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ↦ 𝐶) = {⟨𝑧, 𝑤⟩ ∣ (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ∧ 𝑤 = 𝐶)}
2 df-mpo 7395 . . 3 (𝑥𝐴, 𝑦𝐵𝐷) = {⟨⟨𝑥, 𝑦⟩, 𝑤⟩ ∣ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)}
3 eliunxp 5804 . . . . . . 7 (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ↔ ∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)))
43anbi1i 624 . . . . . 6 ((𝑧 𝑥𝐴 ({𝑥} × 𝐵) ∧ 𝑤 = 𝐶) ↔ (∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶))
5 mpomptxf.1 . . . . . . . . . 10 𝑦𝐶
65nfeq2 2910 . . . . . . . . 9 𝑦 𝑤 = 𝐶
7619.41 2236 . . . . . . . 8 (∃𝑦((𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ (∃𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶))
87exbii 1848 . . . . . . 7 (∃𝑥𝑦((𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ ∃𝑥(∃𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶))
9 mpomptxf.0 . . . . . . . . 9 𝑥𝐶
109nfeq2 2910 . . . . . . . 8 𝑥 𝑤 = 𝐶
111019.41 2236 . . . . . . 7 (∃𝑥(∃𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ (∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶))
128, 11bitri 275 . . . . . 6 (∃𝑥𝑦((𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ (∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶))
13 anass 468 . . . . . . . 8 (((𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ (𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐶)))
14 mpomptxf.2 . . . . . . . . . . 11 (𝑧 = ⟨𝑥, 𝑦⟩ → 𝐶 = 𝐷)
1514eqeq2d 2741 . . . . . . . . . 10 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝑤 = 𝐶𝑤 = 𝐷))
1615anbi2d 630 . . . . . . . . 9 (𝑧 = ⟨𝑥, 𝑦⟩ → (((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐶) ↔ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)))
1716pm5.32i 574 . . . . . . . 8 ((𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐶)) ↔ (𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)))
1813, 17bitri 275 . . . . . . 7 (((𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ (𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)))
19182exbii 1849 . . . . . 6 (∃𝑥𝑦((𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ ∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)))
204, 12, 193bitr2i 299 . . . . 5 ((𝑧 𝑥𝐴 ({𝑥} × 𝐵) ∧ 𝑤 = 𝐶) ↔ ∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)))
2120opabbii 5177 . . . 4 {⟨𝑧, 𝑤⟩ ∣ (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ∧ 𝑤 = 𝐶)} = {⟨𝑧, 𝑤⟩ ∣ ∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷))}
22 dfoprab2 7450 . . . 4 {⟨⟨𝑥, 𝑦⟩, 𝑤⟩ ∣ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)} = {⟨𝑧, 𝑤⟩ ∣ ∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷))}
2321, 22eqtr4i 2756 . . 3 {⟨𝑧, 𝑤⟩ ∣ (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ∧ 𝑤 = 𝐶)} = {⟨⟨𝑥, 𝑦⟩, 𝑤⟩ ∣ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)}
242, 23eqtr4i 2756 . 2 (𝑥𝐴, 𝑦𝐵𝐷) = {⟨𝑧, 𝑤⟩ ∣ (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ∧ 𝑤 = 𝐶)}
251, 24eqtr4i 2756 1 (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ↦ 𝐶) = (𝑥𝐴, 𝑦𝐵𝐷)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 395   = wceq 1540  wex 1779  wcel 2109  wnfc 2877  {csn 4592  cop 4598   ciun 4958  {copab 5172  cmpt 5191   × cxp 5639  {coprab 7391  cmpo 7392
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2702  ax-sep 5254  ax-nul 5264  ax-pr 5390
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-clab 2709  df-cleq 2722  df-clel 2804  df-nfc 2879  df-ral 3046  df-rex 3055  df-rab 3409  df-v 3452  df-sbc 3757  df-csb 3866  df-dif 3920  df-un 3922  df-ss 3934  df-nul 4300  df-if 4492  df-sn 4593  df-pr 4595  df-op 4599  df-iun 4960  df-opab 5173  df-mpt 5192  df-xp 5647  df-rel 5648  df-oprab 7394  df-mpo 7395
This theorem is referenced by:  gsummpt2co  32995
  Copyright terms: Public domain W3C validator