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

Theorem xpsff1o 17450
Description: The function appearing in xpsval 17453 is a bijection from the cartesian product to the indexed cartesian product indexed on the pair 2o = {∅, 1o}. (Contributed by Mario Carneiro, 15-Aug-2015.)
Hypothesis
Ref Expression
xpsff1o.f 𝐹 = (𝑥𝐴, 𝑦𝐵 ↦ {⟨∅, 𝑥⟩, ⟨1o, 𝑦⟩})
Assertion
Ref Expression
xpsff1o 𝐹:(𝐴 × 𝐵)–1-1-ontoX𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵)
Distinct variable groups:   𝐴,𝑘,𝑥,𝑦   𝐵,𝑘,𝑥,𝑦
Allowed substitution hints:   𝐹(𝑥,𝑦,𝑘)

Proof of Theorem xpsff1o
Dummy variables 𝑎 𝑏 𝑧 𝑤 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 xpsfrnel2 17447 . . . . . 6 ({⟨∅, 𝑥⟩, ⟨1o, 𝑦⟩} ∈ X𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵) ↔ (𝑥𝐴𝑦𝐵))
21biimpri 227 . . . . 5 ((𝑥𝐴𝑦𝐵) → {⟨∅, 𝑥⟩, ⟨1o, 𝑦⟩} ∈ X𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵))
32rgen2 3195 . . . 4 𝑥𝐴𝑦𝐵 {⟨∅, 𝑥⟩, ⟨1o, 𝑦⟩} ∈ X𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵)
4 xpsff1o.f . . . . 5 𝐹 = (𝑥𝐴, 𝑦𝐵 ↦ {⟨∅, 𝑥⟩, ⟨1o, 𝑦⟩})
54fmpo 8001 . . . 4 (∀𝑥𝐴𝑦𝐵 {⟨∅, 𝑥⟩, ⟨1o, 𝑦⟩} ∈ X𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵) ↔ 𝐹:(𝐴 × 𝐵)⟶X𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵))
63, 5mpbi 229 . . 3 𝐹:(𝐴 × 𝐵)⟶X𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵)
7 1st2nd2 7961 . . . . . . . 8 (𝑧 ∈ (𝐴 × 𝐵) → 𝑧 = ⟨(1st𝑧), (2nd𝑧)⟩)
87fveq2d 6847 . . . . . . 7 (𝑧 ∈ (𝐴 × 𝐵) → (𝐹𝑧) = (𝐹‘⟨(1st𝑧), (2nd𝑧)⟩))
9 df-ov 7361 . . . . . . . 8 ((1st𝑧)𝐹(2nd𝑧)) = (𝐹‘⟨(1st𝑧), (2nd𝑧)⟩)
10 xp1st 7954 . . . . . . . . 9 (𝑧 ∈ (𝐴 × 𝐵) → (1st𝑧) ∈ 𝐴)
11 xp2nd 7955 . . . . . . . . 9 (𝑧 ∈ (𝐴 × 𝐵) → (2nd𝑧) ∈ 𝐵)
124xpsfval 17449 . . . . . . . . 9 (((1st𝑧) ∈ 𝐴 ∧ (2nd𝑧) ∈ 𝐵) → ((1st𝑧)𝐹(2nd𝑧)) = {⟨∅, (1st𝑧)⟩, ⟨1o, (2nd𝑧)⟩})
1310, 11, 12syl2anc 585 . . . . . . . 8 (𝑧 ∈ (𝐴 × 𝐵) → ((1st𝑧)𝐹(2nd𝑧)) = {⟨∅, (1st𝑧)⟩, ⟨1o, (2nd𝑧)⟩})
149, 13eqtr3id 2791 . . . . . . 7 (𝑧 ∈ (𝐴 × 𝐵) → (𝐹‘⟨(1st𝑧), (2nd𝑧)⟩) = {⟨∅, (1st𝑧)⟩, ⟨1o, (2nd𝑧)⟩})
158, 14eqtrd 2777 . . . . . 6 (𝑧 ∈ (𝐴 × 𝐵) → (𝐹𝑧) = {⟨∅, (1st𝑧)⟩, ⟨1o, (2nd𝑧)⟩})
16 1st2nd2 7961 . . . . . . . 8 (𝑤 ∈ (𝐴 × 𝐵) → 𝑤 = ⟨(1st𝑤), (2nd𝑤)⟩)
1716fveq2d 6847 . . . . . . 7 (𝑤 ∈ (𝐴 × 𝐵) → (𝐹𝑤) = (𝐹‘⟨(1st𝑤), (2nd𝑤)⟩))
18 df-ov 7361 . . . . . . . 8 ((1st𝑤)𝐹(2nd𝑤)) = (𝐹‘⟨(1st𝑤), (2nd𝑤)⟩)
19 xp1st 7954 . . . . . . . . 9 (𝑤 ∈ (𝐴 × 𝐵) → (1st𝑤) ∈ 𝐴)
20 xp2nd 7955 . . . . . . . . 9 (𝑤 ∈ (𝐴 × 𝐵) → (2nd𝑤) ∈ 𝐵)
214xpsfval 17449 . . . . . . . . 9 (((1st𝑤) ∈ 𝐴 ∧ (2nd𝑤) ∈ 𝐵) → ((1st𝑤)𝐹(2nd𝑤)) = {⟨∅, (1st𝑤)⟩, ⟨1o, (2nd𝑤)⟩})
2219, 20, 21syl2anc 585 . . . . . . . 8 (𝑤 ∈ (𝐴 × 𝐵) → ((1st𝑤)𝐹(2nd𝑤)) = {⟨∅, (1st𝑤)⟩, ⟨1o, (2nd𝑤)⟩})
2318, 22eqtr3id 2791 . . . . . . 7 (𝑤 ∈ (𝐴 × 𝐵) → (𝐹‘⟨(1st𝑤), (2nd𝑤)⟩) = {⟨∅, (1st𝑤)⟩, ⟨1o, (2nd𝑤)⟩})
2417, 23eqtrd 2777 . . . . . 6 (𝑤 ∈ (𝐴 × 𝐵) → (𝐹𝑤) = {⟨∅, (1st𝑤)⟩, ⟨1o, (2nd𝑤)⟩})
2515, 24eqeqan12d 2751 . . . . 5 ((𝑧 ∈ (𝐴 × 𝐵) ∧ 𝑤 ∈ (𝐴 × 𝐵)) → ((𝐹𝑧) = (𝐹𝑤) ↔ {⟨∅, (1st𝑧)⟩, ⟨1o, (2nd𝑧)⟩} = {⟨∅, (1st𝑤)⟩, ⟨1o, (2nd𝑤)⟩}))
26 fveq1 6842 . . . . . . . 8 ({⟨∅, (1st𝑧)⟩, ⟨1o, (2nd𝑧)⟩} = {⟨∅, (1st𝑤)⟩, ⟨1o, (2nd𝑤)⟩} → ({⟨∅, (1st𝑧)⟩, ⟨1o, (2nd𝑧)⟩}‘∅) = ({⟨∅, (1st𝑤)⟩, ⟨1o, (2nd𝑤)⟩}‘∅))
27 fvex 6856 . . . . . . . . 9 (1st𝑧) ∈ V
28 fvpr0o 17442 . . . . . . . . 9 ((1st𝑧) ∈ V → ({⟨∅, (1st𝑧)⟩, ⟨1o, (2nd𝑧)⟩}‘∅) = (1st𝑧))
2927, 28ax-mp 5 . . . . . . . 8 ({⟨∅, (1st𝑧)⟩, ⟨1o, (2nd𝑧)⟩}‘∅) = (1st𝑧)
30 fvex 6856 . . . . . . . . 9 (1st𝑤) ∈ V
31 fvpr0o 17442 . . . . . . . . 9 ((1st𝑤) ∈ V → ({⟨∅, (1st𝑤)⟩, ⟨1o, (2nd𝑤)⟩}‘∅) = (1st𝑤))
3230, 31ax-mp 5 . . . . . . . 8 ({⟨∅, (1st𝑤)⟩, ⟨1o, (2nd𝑤)⟩}‘∅) = (1st𝑤)
3326, 29, 323eqtr3g 2800 . . . . . . 7 ({⟨∅, (1st𝑧)⟩, ⟨1o, (2nd𝑧)⟩} = {⟨∅, (1st𝑤)⟩, ⟨1o, (2nd𝑤)⟩} → (1st𝑧) = (1st𝑤))
34 fveq1 6842 . . . . . . . 8 ({⟨∅, (1st𝑧)⟩, ⟨1o, (2nd𝑧)⟩} = {⟨∅, (1st𝑤)⟩, ⟨1o, (2nd𝑤)⟩} → ({⟨∅, (1st𝑧)⟩, ⟨1o, (2nd𝑧)⟩}‘1o) = ({⟨∅, (1st𝑤)⟩, ⟨1o, (2nd𝑤)⟩}‘1o))
35 fvex 6856 . . . . . . . . 9 (2nd𝑧) ∈ V
36 fvpr1o 17443 . . . . . . . . 9 ((2nd𝑧) ∈ V → ({⟨∅, (1st𝑧)⟩, ⟨1o, (2nd𝑧)⟩}‘1o) = (2nd𝑧))
3735, 36ax-mp 5 . . . . . . . 8 ({⟨∅, (1st𝑧)⟩, ⟨1o, (2nd𝑧)⟩}‘1o) = (2nd𝑧)
38 fvex 6856 . . . . . . . . 9 (2nd𝑤) ∈ V
39 fvpr1o 17443 . . . . . . . . 9 ((2nd𝑤) ∈ V → ({⟨∅, (1st𝑤)⟩, ⟨1o, (2nd𝑤)⟩}‘1o) = (2nd𝑤))
4038, 39ax-mp 5 . . . . . . . 8 ({⟨∅, (1st𝑤)⟩, ⟨1o, (2nd𝑤)⟩}‘1o) = (2nd𝑤)
4134, 37, 403eqtr3g 2800 . . . . . . 7 ({⟨∅, (1st𝑧)⟩, ⟨1o, (2nd𝑧)⟩} = {⟨∅, (1st𝑤)⟩, ⟨1o, (2nd𝑤)⟩} → (2nd𝑧) = (2nd𝑤))
4233, 41opeq12d 4839 . . . . . 6 ({⟨∅, (1st𝑧)⟩, ⟨1o, (2nd𝑧)⟩} = {⟨∅, (1st𝑤)⟩, ⟨1o, (2nd𝑤)⟩} → ⟨(1st𝑧), (2nd𝑧)⟩ = ⟨(1st𝑤), (2nd𝑤)⟩)
437, 16eqeqan12d 2751 . . . . . 6 ((𝑧 ∈ (𝐴 × 𝐵) ∧ 𝑤 ∈ (𝐴 × 𝐵)) → (𝑧 = 𝑤 ↔ ⟨(1st𝑧), (2nd𝑧)⟩ = ⟨(1st𝑤), (2nd𝑤)⟩))
4442, 43syl5ibr 246 . . . . 5 ((𝑧 ∈ (𝐴 × 𝐵) ∧ 𝑤 ∈ (𝐴 × 𝐵)) → ({⟨∅, (1st𝑧)⟩, ⟨1o, (2nd𝑧)⟩} = {⟨∅, (1st𝑤)⟩, ⟨1o, (2nd𝑤)⟩} → 𝑧 = 𝑤))
4525, 44sylbid 239 . . . 4 ((𝑧 ∈ (𝐴 × 𝐵) ∧ 𝑤 ∈ (𝐴 × 𝐵)) → ((𝐹𝑧) = (𝐹𝑤) → 𝑧 = 𝑤))
4645rgen2 3195 . . 3 𝑧 ∈ (𝐴 × 𝐵)∀𝑤 ∈ (𝐴 × 𝐵)((𝐹𝑧) = (𝐹𝑤) → 𝑧 = 𝑤)
47 dff13 7203 . . 3 (𝐹:(𝐴 × 𝐵)–1-1X𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵) ↔ (𝐹:(𝐴 × 𝐵)⟶X𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵) ∧ ∀𝑧 ∈ (𝐴 × 𝐵)∀𝑤 ∈ (𝐴 × 𝐵)((𝐹𝑧) = (𝐹𝑤) → 𝑧 = 𝑤)))
486, 46, 47mpbir2an 710 . 2 𝐹:(𝐴 × 𝐵)–1-1X𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵)
49 xpsfrnel 17445 . . . . . 6 (𝑧X𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵) ↔ (𝑧 Fn 2o ∧ (𝑧‘∅) ∈ 𝐴 ∧ (𝑧‘1o) ∈ 𝐵))
5049simp2bi 1147 . . . . 5 (𝑧X𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵) → (𝑧‘∅) ∈ 𝐴)
5149simp3bi 1148 . . . . 5 (𝑧X𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵) → (𝑧‘1o) ∈ 𝐵)
524xpsfval 17449 . . . . . . 7 (((𝑧‘∅) ∈ 𝐴 ∧ (𝑧‘1o) ∈ 𝐵) → ((𝑧‘∅)𝐹(𝑧‘1o)) = {⟨∅, (𝑧‘∅)⟩, ⟨1o, (𝑧‘1o)⟩})
5350, 51, 52syl2anc 585 . . . . . 6 (𝑧X𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵) → ((𝑧‘∅)𝐹(𝑧‘1o)) = {⟨∅, (𝑧‘∅)⟩, ⟨1o, (𝑧‘1o)⟩})
54 ixpfn 8842 . . . . . . 7 (𝑧X𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵) → 𝑧 Fn 2o)
55 xpsfeq 17446 . . . . . . 7 (𝑧 Fn 2o → {⟨∅, (𝑧‘∅)⟩, ⟨1o, (𝑧‘1o)⟩} = 𝑧)
5654, 55syl 17 . . . . . 6 (𝑧X𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵) → {⟨∅, (𝑧‘∅)⟩, ⟨1o, (𝑧‘1o)⟩} = 𝑧)
5753, 56eqtr2d 2778 . . . . 5 (𝑧X𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵) → 𝑧 = ((𝑧‘∅)𝐹(𝑧‘1o)))
58 rspceov 7405 . . . . 5 (((𝑧‘∅) ∈ 𝐴 ∧ (𝑧‘1o) ∈ 𝐵𝑧 = ((𝑧‘∅)𝐹(𝑧‘1o))) → ∃𝑎𝐴𝑏𝐵 𝑧 = (𝑎𝐹𝑏))
5950, 51, 57, 58syl3anc 1372 . . . 4 (𝑧X𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵) → ∃𝑎𝐴𝑏𝐵 𝑧 = (𝑎𝐹𝑏))
6059rgen 3067 . . 3 𝑧X 𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵)∃𝑎𝐴𝑏𝐵 𝑧 = (𝑎𝐹𝑏)
61 foov 7529 . . 3 (𝐹:(𝐴 × 𝐵)–ontoX𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵) ↔ (𝐹:(𝐴 × 𝐵)⟶X𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵) ∧ ∀𝑧X 𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵)∃𝑎𝐴𝑏𝐵 𝑧 = (𝑎𝐹𝑏)))
626, 60, 61mpbir2an 710 . 2 𝐹:(𝐴 × 𝐵)–ontoX𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵)
63 df-f1o 6504 . 2 (𝐹:(𝐴 × 𝐵)–1-1-ontoX𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵) ↔ (𝐹:(𝐴 × 𝐵)–1-1X𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵) ∧ 𝐹:(𝐴 × 𝐵)–ontoX𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵)))
6448, 62, 63mpbir2an 710 1 𝐹:(𝐴 × 𝐵)–1-1-ontoX𝑘 ∈ 2o if(𝑘 = ∅, 𝐴, 𝐵)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 397   = wceq 1542  wcel 2107  wral 3065  wrex 3074  Vcvv 3446  c0 4283  ifcif 4487  {cpr 4589  cop 4593   × cxp 5632   Fn wfn 6492  wf 6493  1-1wf1 6494  ontowfo 6495  1-1-ontowf1o 6496  cfv 6497  (class class class)co 7358  cmpo 7360  1st c1st 7920  2nd c2nd 7921  1oc1o 8406  2oc2o 8407  Xcixp 8836
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1798  ax-4 1812  ax-5 1914  ax-6 1972  ax-7 2012  ax-8 2109  ax-9 2117  ax-10 2138  ax-11 2155  ax-12 2172  ax-ext 2708  ax-sep 5257  ax-nul 5264  ax-pr 5385  ax-un 7673
This theorem depends on definitions:  df-bi 206  df-an 398  df-or 847  df-3or 1089  df-3an 1090  df-tru 1545  df-fal 1555  df-ex 1783  df-nf 1787  df-sb 2069  df-mo 2539  df-eu 2568  df-clab 2715  df-cleq 2729  df-clel 2815  df-nfc 2890  df-ne 2945  df-ral 3066  df-rex 3075  df-reu 3355  df-rab 3409  df-v 3448  df-sbc 3741  df-csb 3857  df-dif 3914  df-un 3916  df-in 3918  df-ss 3928  df-pss 3930  df-nul 4284  df-if 4488  df-pw 4563  df-sn 4588  df-pr 4590  df-op 4594  df-uni 4867  df-iun 4957  df-br 5107  df-opab 5169  df-mpt 5190  df-tr 5224  df-id 5532  df-eprel 5538  df-po 5546  df-so 5547  df-fr 5589  df-we 5591  df-xp 5640  df-rel 5641  df-cnv 5642  df-co 5643  df-dm 5644  df-rn 5645  df-res 5646  df-ima 5647  df-ord 6321  df-on 6322  df-lim 6323  df-suc 6324  df-iota 6449  df-fun 6499  df-fn 6500  df-f 6501  df-f1 6502  df-fo 6503  df-f1o 6504  df-fv 6505  df-ov 7361  df-oprab 7362  df-mpo 7363  df-om 7804  df-1st 7922  df-2nd 7923  df-1o 8413  df-2o 8414  df-ixp 8837  df-en 8885  df-fin 8888
This theorem is referenced by:  xpsfrn  17451  xpsff1o2  17452
  Copyright terms: Public domain W3C validator