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 32774
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 5157 . 2 (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ↦ 𝐶) = {⟨𝑧, 𝑤⟩ ∣ (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ∧ 𝑤 = 𝐶)}
2 df-mpo 7365 . . 3 (𝑥𝐴, 𝑦𝐵𝐷) = {⟨⟨𝑥, 𝑦⟩, 𝑤⟩ ∣ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)}
3 eliunxp 5782 . . . . . . 7 (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ↔ ∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)))
43anbi1i 631 . . . . . 6 ((𝑧 𝑥𝐴 ({𝑥} × 𝐵) ∧ 𝑤 = 𝐶) ↔ (∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶))
5 mpomptxf.1 . . . . . . . . . 10 𝑦𝐶
65nfeq2 2920 . . . . . . . . 9 𝑦 𝑤 = 𝐶
7619.41 2249 . . . . . . . 8 (∃𝑦((𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ (∃𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶))
87exbii 1856 . . . . . . 7 (∃𝑥𝑦((𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ ∃𝑥(∃𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶))
9 mpomptxf.0 . . . . . . . . 9 𝑥𝐶
109nfeq2 2920 . . . . . . . 8 𝑥 𝑤 = 𝐶
111019.41 2249 . . . . . . 7 (∃𝑥(∃𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ (∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶))
128, 11bitri 277 . . . . . 6 (∃𝑥𝑦((𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ (∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶))
13 anass 470 . . . . . . . 8 (((𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ (𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐶)))
14 mpomptxf.2 . . . . . . . . . . 11 (𝑧 = ⟨𝑥, 𝑦⟩ → 𝐶 = 𝐷)
1514eqeq2d 2752 . . . . . . . . . 10 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝑤 = 𝐶𝑤 = 𝐷))
1615anbi2d 637 . . . . . . . . 9 (𝑧 = ⟨𝑥, 𝑦⟩ → (((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐶) ↔ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)))
1716pm5.32i 580 . . . . . . . 8 ((𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐶)) ↔ (𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)))
1813, 17bitri 277 . . . . . . 7 (((𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ (𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)))
19182exbii 1857 . . . . . 6 (∃𝑥𝑦((𝑧 = ⟨𝑥, 𝑦⟩ ∧ (𝑥𝐴𝑦𝐵)) ∧ 𝑤 = 𝐶) ↔ ∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)))
204, 12, 193bitr2i 301 . . . . 5 ((𝑧 𝑥𝐴 ({𝑥} × 𝐵) ∧ 𝑤 = 𝐶) ↔ ∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)))
2120opabbii 5142 . . . 4 {⟨𝑧, 𝑤⟩ ∣ (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ∧ 𝑤 = 𝐶)} = {⟨𝑧, 𝑤⟩ ∣ ∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷))}
22 dfoprab2 7418 . . . 4 {⟨⟨𝑥, 𝑦⟩, 𝑤⟩ ∣ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)} = {⟨𝑧, 𝑤⟩ ∣ ∃𝑥𝑦(𝑧 = ⟨𝑥, 𝑦⟩ ∧ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷))}
2321, 22eqtr4i 2767 . . 3 {⟨𝑧, 𝑤⟩ ∣ (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ∧ 𝑤 = 𝐶)} = {⟨⟨𝑥, 𝑦⟩, 𝑤⟩ ∣ ((𝑥𝐴𝑦𝐵) ∧ 𝑤 = 𝐷)}
242, 23eqtr4i 2767 . 2 (𝑥𝐴, 𝑦𝐵𝐷) = {⟨𝑧, 𝑤⟩ ∣ (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ∧ 𝑤 = 𝐶)}
251, 24eqtr4i 2767 1 (𝑧 𝑥𝐴 ({𝑥} × 𝐵) ↦ 𝐶) = (𝑥𝐴, 𝑦𝐵𝐷)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 397   = wceq 1548  wex 1787  wcel 2121  wnfc 2888  {csn 4558  cop 4564   ciun 4924  {copab 5137  cmpt 5156   × cxp 5619  {coprab 7361  cmpo 7362
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1803  ax-4 1817  ax-5 1918  ax-6 1975  ax-7 2016  ax-8 2123  ax-9 2131  ax-10 2154  ax-11 2170  ax-12 2191  ax-ext 2713  ax-sep 5221  ax-pr 5365
This theorem depends on definitions:  df-bi 209  df-an 398  df-or 855  df-3an 1095  df-tru 1551  df-fal 1561  df-ex 1788  df-nf 1792  df-sb 2075  df-clab 2720  df-cleq 2733  df-clel 2816  df-nfc 2890  df-ral 3056  df-rex 3066  df-rab 3394  df-v 3435  df-sbc 3726  df-csb 3834  df-dif 3888  df-un 3890  df-in 3892  df-ss 3902  df-nul 4265  df-if 4458  df-sn 4559  df-pr 4561  df-op 4565  df-iun 4926  df-opab 5138  df-mpt 5157  df-xp 5627  df-rel 5628  df-oprab 7364  df-mpo 7365
This theorem is referenced by:  gsummpt2co  33133
  Copyright terms: Public domain W3C validator