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

Theorem funopg 6358
Description: A Kuratowski ordered pair of sets is a function only if its components are equal. (Contributed by NM, 5-Jun-2008.) (Revised by Mario Carneiro, 26-Apr-2015.) A function is a class of ordered pairs, so the fact that an ordered pair may sometimes be itself a function is an "accident" depending on the specific encoding of ordered pairs as classes (in set.mm, the Kuratowski encoding). A more meaningful statement is funsng 6375, as relsnopg 5640 is to relop 5685. (New usage is discouraged.)
Assertion
Ref Expression
funopg ((𝐴𝑉𝐵𝑊 ∧ Fun ⟨𝐴, 𝐵⟩) → 𝐴 = 𝐵)

Proof of Theorem funopg
Dummy variables 𝑢 𝑡 𝑣 𝑤 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 opeq1 4763 . . . . 5 (𝑢 = 𝐴 → ⟨𝑢, 𝑡⟩ = ⟨𝐴, 𝑡⟩)
21funeqd 6346 . . . 4 (𝑢 = 𝐴 → (Fun ⟨𝑢, 𝑡⟩ ↔ Fun ⟨𝐴, 𝑡⟩))
3 eqeq1 2802 . . . 4 (𝑢 = 𝐴 → (𝑢 = 𝑡𝐴 = 𝑡))
42, 3imbi12d 348 . . 3 (𝑢 = 𝐴 → ((Fun ⟨𝑢, 𝑡⟩ → 𝑢 = 𝑡) ↔ (Fun ⟨𝐴, 𝑡⟩ → 𝐴 = 𝑡)))
5 opeq2 4765 . . . . 5 (𝑡 = 𝐵 → ⟨𝐴, 𝑡⟩ = ⟨𝐴, 𝐵⟩)
65funeqd 6346 . . . 4 (𝑡 = 𝐵 → (Fun ⟨𝐴, 𝑡⟩ ↔ Fun ⟨𝐴, 𝐵⟩))
7 eqeq2 2810 . . . 4 (𝑡 = 𝐵 → (𝐴 = 𝑡𝐴 = 𝐵))
86, 7imbi12d 348 . . 3 (𝑡 = 𝐵 → ((Fun ⟨𝐴, 𝑡⟩ → 𝐴 = 𝑡) ↔ (Fun ⟨𝐴, 𝐵⟩ → 𝐴 = 𝐵)))
9 funrel 6341 . . . . 5 (Fun ⟨𝑢, 𝑡⟩ → Rel ⟨𝑢, 𝑡⟩)
10 vex 3444 . . . . . 6 𝑢 ∈ V
11 vex 3444 . . . . . 6 𝑡 ∈ V
1210, 11relop 5685 . . . . 5 (Rel ⟨𝑢, 𝑡⟩ ↔ ∃𝑥𝑦(𝑢 = {𝑥} ∧ 𝑡 = {𝑥, 𝑦}))
139, 12sylib 221 . . . 4 (Fun ⟨𝑢, 𝑡⟩ → ∃𝑥𝑦(𝑢 = {𝑥} ∧ 𝑡 = {𝑥, 𝑦}))
1410, 11opth 5333 . . . . . . . 8 (⟨𝑢, 𝑡⟩ = ⟨{𝑥}, {𝑥, 𝑦}⟩ ↔ (𝑢 = {𝑥} ∧ 𝑡 = {𝑥, 𝑦}))
15 vex 3444 . . . . . . . . . . . 12 𝑥 ∈ V
1615opid 4785 . . . . . . . . . . 11 𝑥, 𝑥⟩ = {{𝑥}}
1716preq1i 4632 . . . . . . . . . 10 {⟨𝑥, 𝑥⟩, {{𝑥}, {𝑥, 𝑦}}} = {{{𝑥}}, {{𝑥}, {𝑥, 𝑦}}}
18 vex 3444 . . . . . . . . . . . 12 𝑦 ∈ V
1915, 18dfop 4762 . . . . . . . . . . 11 𝑥, 𝑦⟩ = {{𝑥}, {𝑥, 𝑦}}
2019preq2i 4633 . . . . . . . . . 10 {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩} = {⟨𝑥, 𝑥⟩, {{𝑥}, {𝑥, 𝑦}}}
21 snex 5297 . . . . . . . . . . 11 {𝑥} ∈ V
22 zfpair2 5296 . . . . . . . . . . 11 {𝑥, 𝑦} ∈ V
2321, 22dfop 4762 . . . . . . . . . 10 ⟨{𝑥}, {𝑥, 𝑦}⟩ = {{{𝑥}}, {{𝑥}, {𝑥, 𝑦}}}
2417, 20, 233eqtr4ri 2832 . . . . . . . . 9 ⟨{𝑥}, {𝑥, 𝑦}⟩ = {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩}
2524eqeq2i 2811 . . . . . . . 8 (⟨𝑢, 𝑡⟩ = ⟨{𝑥}, {𝑥, 𝑦}⟩ ↔ ⟨𝑢, 𝑡⟩ = {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩})
2614, 25bitr3i 280 . . . . . . 7 ((𝑢 = {𝑥} ∧ 𝑡 = {𝑥, 𝑦}) ↔ ⟨𝑢, 𝑡⟩ = {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩})
27 dffun4 6336 . . . . . . . . 9 (Fun ⟨𝑢, 𝑡⟩ ↔ (Rel ⟨𝑢, 𝑡⟩ ∧ ∀𝑧𝑤𝑣((⟨𝑧, 𝑤⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑧, 𝑣⟩ ∈ ⟨𝑢, 𝑡⟩) → 𝑤 = 𝑣)))
2827simprbi 500 . . . . . . . 8 (Fun ⟨𝑢, 𝑡⟩ → ∀𝑧𝑤𝑣((⟨𝑧, 𝑤⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑧, 𝑣⟩ ∈ ⟨𝑢, 𝑡⟩) → 𝑤 = 𝑣))
29 opex 5321 . . . . . . . . . . 11 𝑥, 𝑥⟩ ∈ V
3029prid1 4658 . . . . . . . . . 10 𝑥, 𝑥⟩ ∈ {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩}
31 eleq2 2878 . . . . . . . . . 10 (⟨𝑢, 𝑡⟩ = {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩} → (⟨𝑥, 𝑥⟩ ∈ ⟨𝑢, 𝑡⟩ ↔ ⟨𝑥, 𝑥⟩ ∈ {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩}))
3230, 31mpbiri 261 . . . . . . . . 9 (⟨𝑢, 𝑡⟩ = {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩} → ⟨𝑥, 𝑥⟩ ∈ ⟨𝑢, 𝑡⟩)
33 opex 5321 . . . . . . . . . . 11 𝑥, 𝑦⟩ ∈ V
3433prid2 4659 . . . . . . . . . 10 𝑥, 𝑦⟩ ∈ {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩}
35 eleq2 2878 . . . . . . . . . 10 (⟨𝑢, 𝑡⟩ = {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩} → (⟨𝑥, 𝑦⟩ ∈ ⟨𝑢, 𝑡⟩ ↔ ⟨𝑥, 𝑦⟩ ∈ {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩}))
3634, 35mpbiri 261 . . . . . . . . 9 (⟨𝑢, 𝑡⟩ = {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩} → ⟨𝑥, 𝑦⟩ ∈ ⟨𝑢, 𝑡⟩)
3732, 36jca 515 . . . . . . . 8 (⟨𝑢, 𝑡⟩ = {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩} → (⟨𝑥, 𝑥⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑥, 𝑦⟩ ∈ ⟨𝑢, 𝑡⟩))
38 opeq12 4767 . . . . . . . . . . . . . 14 ((𝑧 = 𝑥𝑤 = 𝑥) → ⟨𝑧, 𝑤⟩ = ⟨𝑥, 𝑥⟩)
39383adant3 1129 . . . . . . . . . . . . 13 ((𝑧 = 𝑥𝑤 = 𝑥𝑣 = 𝑦) → ⟨𝑧, 𝑤⟩ = ⟨𝑥, 𝑥⟩)
4039eleq1d 2874 . . . . . . . . . . . 12 ((𝑧 = 𝑥𝑤 = 𝑥𝑣 = 𝑦) → (⟨𝑧, 𝑤⟩ ∈ ⟨𝑢, 𝑡⟩ ↔ ⟨𝑥, 𝑥⟩ ∈ ⟨𝑢, 𝑡⟩))
41 opeq12 4767 . . . . . . . . . . . . . 14 ((𝑧 = 𝑥𝑣 = 𝑦) → ⟨𝑧, 𝑣⟩ = ⟨𝑥, 𝑦⟩)
42413adant2 1128 . . . . . . . . . . . . 13 ((𝑧 = 𝑥𝑤 = 𝑥𝑣 = 𝑦) → ⟨𝑧, 𝑣⟩ = ⟨𝑥, 𝑦⟩)
4342eleq1d 2874 . . . . . . . . . . . 12 ((𝑧 = 𝑥𝑤 = 𝑥𝑣 = 𝑦) → (⟨𝑧, 𝑣⟩ ∈ ⟨𝑢, 𝑡⟩ ↔ ⟨𝑥, 𝑦⟩ ∈ ⟨𝑢, 𝑡⟩))
4440, 43anbi12d 633 . . . . . . . . . . 11 ((𝑧 = 𝑥𝑤 = 𝑥𝑣 = 𝑦) → ((⟨𝑧, 𝑤⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑧, 𝑣⟩ ∈ ⟨𝑢, 𝑡⟩) ↔ (⟨𝑥, 𝑥⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑥, 𝑦⟩ ∈ ⟨𝑢, 𝑡⟩)))
45 eqeq12 2812 . . . . . . . . . . . 12 ((𝑤 = 𝑥𝑣 = 𝑦) → (𝑤 = 𝑣𝑥 = 𝑦))
46453adant1 1127 . . . . . . . . . . 11 ((𝑧 = 𝑥𝑤 = 𝑥𝑣 = 𝑦) → (𝑤 = 𝑣𝑥 = 𝑦))
4744, 46imbi12d 348 . . . . . . . . . 10 ((𝑧 = 𝑥𝑤 = 𝑥𝑣 = 𝑦) → (((⟨𝑧, 𝑤⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑧, 𝑣⟩ ∈ ⟨𝑢, 𝑡⟩) → 𝑤 = 𝑣) ↔ ((⟨𝑥, 𝑥⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑥, 𝑦⟩ ∈ ⟨𝑢, 𝑡⟩) → 𝑥 = 𝑦)))
4847spc3gv 3553 . . . . . . . . 9 ((𝑥 ∈ V ∧ 𝑥 ∈ V ∧ 𝑦 ∈ V) → (∀𝑧𝑤𝑣((⟨𝑧, 𝑤⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑧, 𝑣⟩ ∈ ⟨𝑢, 𝑡⟩) → 𝑤 = 𝑣) → ((⟨𝑥, 𝑥⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑥, 𝑦⟩ ∈ ⟨𝑢, 𝑡⟩) → 𝑥 = 𝑦)))
4915, 15, 18, 48mp3an 1458 . . . . . . . 8 (∀𝑧𝑤𝑣((⟨𝑧, 𝑤⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑧, 𝑣⟩ ∈ ⟨𝑢, 𝑡⟩) → 𝑤 = 𝑣) → ((⟨𝑥, 𝑥⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑥, 𝑦⟩ ∈ ⟨𝑢, 𝑡⟩) → 𝑥 = 𝑦))
5028, 37, 49syl2im 40 . . . . . . 7 (Fun ⟨𝑢, 𝑡⟩ → (⟨𝑢, 𝑡⟩ = {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩} → 𝑥 = 𝑦))
5126, 50syl5bi 245 . . . . . 6 (Fun ⟨𝑢, 𝑡⟩ → ((𝑢 = {𝑥} ∧ 𝑡 = {𝑥, 𝑦}) → 𝑥 = 𝑦))
52 dfsn2 4538 . . . . . . . . . . 11 {𝑥} = {𝑥, 𝑥}
53 preq2 4630 . . . . . . . . . . 11 (𝑥 = 𝑦 → {𝑥, 𝑥} = {𝑥, 𝑦})
5452, 53syl5req 2846 . . . . . . . . . 10 (𝑥 = 𝑦 → {𝑥, 𝑦} = {𝑥})
5554eqeq2d 2809 . . . . . . . . 9 (𝑥 = 𝑦 → (𝑡 = {𝑥, 𝑦} ↔ 𝑡 = {𝑥}))
56 eqtr3 2820 . . . . . . . . . 10 ((𝑢 = {𝑥} ∧ 𝑡 = {𝑥}) → 𝑢 = 𝑡)
5756expcom 417 . . . . . . . . 9 (𝑡 = {𝑥} → (𝑢 = {𝑥} → 𝑢 = 𝑡))
5855, 57syl6bi 256 . . . . . . . 8 (𝑥 = 𝑦 → (𝑡 = {𝑥, 𝑦} → (𝑢 = {𝑥} → 𝑢 = 𝑡)))
5958com13 88 . . . . . . 7 (𝑢 = {𝑥} → (𝑡 = {𝑥, 𝑦} → (𝑥 = 𝑦𝑢 = 𝑡)))
6059imp 410 . . . . . 6 ((𝑢 = {𝑥} ∧ 𝑡 = {𝑥, 𝑦}) → (𝑥 = 𝑦𝑢 = 𝑡))
6151, 60sylcom 30 . . . . 5 (Fun ⟨𝑢, 𝑡⟩ → ((𝑢 = {𝑥} ∧ 𝑡 = {𝑥, 𝑦}) → 𝑢 = 𝑡))
6261exlimdvv 1935 . . . 4 (Fun ⟨𝑢, 𝑡⟩ → (∃𝑥𝑦(𝑢 = {𝑥} ∧ 𝑡 = {𝑥, 𝑦}) → 𝑢 = 𝑡))
6313, 62mpd 15 . . 3 (Fun ⟨𝑢, 𝑡⟩ → 𝑢 = 𝑡)
644, 8, 63vtocl2g 3520 . 2 ((𝐴𝑉𝐵𝑊) → (Fun ⟨𝐴, 𝐵⟩ → 𝐴 = 𝐵))
65643impia 1114 1 ((𝐴𝑉𝐵𝑊 ∧ Fun ⟨𝐴, 𝐵⟩) → 𝐴 = 𝐵)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 399  w3a 1084  wal 1536   = wceq 1538  wex 1781  wcel 2111  Vcvv 3441  {csn 4525  {cpr 4527  cop 4531  Rel wrel 5524  Fun wfun 6318
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2113  ax-9 2121  ax-10 2142  ax-11 2158  ax-12 2175  ax-ext 2770  ax-sep 5167  ax-nul 5174  ax-pr 5295
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-3an 1086  df-tru 1541  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2598  df-eu 2629  df-clab 2777  df-cleq 2791  df-clel 2870  df-nfc 2938  df-ne 2988  df-ral 3111  df-v 3443  df-dif 3884  df-un 3886  df-in 3888  df-ss 3898  df-nul 4244  df-if 4426  df-sn 4526  df-pr 4528  df-op 4532  df-br 5031  df-opab 5093  df-id 5425  df-xp 5525  df-rel 5526  df-cnv 5527  df-co 5528  df-fun 6326
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator