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

Theorem funopg 6574
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 6591, as relsnopg 5792 is to relop 5838. (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 4840 . . . . 5 (𝑢 = 𝐴 → ⟨𝑢, 𝑡⟩ = ⟨𝐴, 𝑡⟩)
21funeqd 6562 . . . 4 (𝑢 = 𝐴 → (Fun ⟨𝑢, 𝑡⟩ ↔ Fun ⟨𝐴, 𝑡⟩))
3 eqeq1 2769 . . . 4 (𝑢 = 𝐴 → (𝑢 = 𝑡𝐴 = 𝑡))
42, 3imbi12d 347 . . 3 (𝑢 = 𝐴 → ((Fun ⟨𝑢, 𝑡⟩ → 𝑢 = 𝑡) ↔ (Fun ⟨𝐴, 𝑡⟩ → 𝐴 = 𝑡)))
5 opeq2 4841 . . . . 5 (𝑡 = 𝐵 → ⟨𝐴, 𝑡⟩ = ⟨𝐴, 𝐵⟩)
65funeqd 6562 . . . 4 (𝑡 = 𝐵 → (Fun ⟨𝐴, 𝑡⟩ ↔ Fun ⟨𝐴, 𝐵⟩))
7 eqeq2 2777 . . . 4 (𝑡 = 𝐵 → (𝐴 = 𝑡𝐴 = 𝐵))
86, 7imbi12d 347 . . 3 (𝑡 = 𝐵 → ((Fun ⟨𝐴, 𝑡⟩ → 𝐴 = 𝑡) ↔ (Fun ⟨𝐴, 𝐵⟩ → 𝐴 = 𝐵)))
9 funrel 6557 . . . . 5 (Fun ⟨𝑢, 𝑡⟩ → Rel ⟨𝑢, 𝑡⟩)
10 vex 3461 . . . . . 6 𝑢 ∈ V
11 vex 3461 . . . . . 6 𝑡 ∈ V
1210, 11relop 5838 . . . . 5 (Rel ⟨𝑢, 𝑡⟩ ↔ ∃𝑥𝑦(𝑢 = {𝑥} ∧ 𝑡 = {𝑥, 𝑦}))
139, 12sylib 221 . . . 4 (Fun ⟨𝑢, 𝑡⟩ → ∃𝑥𝑦(𝑢 = {𝑥} ∧ 𝑡 = {𝑥, 𝑦}))
1410, 11opth 5460 . . . . . . . 8 (⟨𝑢, 𝑡⟩ = ⟨{𝑥}, {𝑥, 𝑦}⟩ ↔ (𝑢 = {𝑥} ∧ 𝑡 = {𝑥, 𝑦}))
15 vex 3461 . . . . . . . . . . . 12 𝑥 ∈ V
1615opid 4860 . . . . . . . . . . 11 𝑥, 𝑥⟩ = {{𝑥}}
1716preq1i 4704 . . . . . . . . . 10 {⟨𝑥, 𝑥⟩, {{𝑥}, {𝑥, 𝑦}}} = {{{𝑥}}, {{𝑥}, {𝑥, 𝑦}}}
18 vex 3461 . . . . . . . . . . . 12 𝑦 ∈ V
1915, 18dfop 4839 . . . . . . . . . . 11 𝑥, 𝑦⟩ = {{𝑥}, {𝑥, 𝑦}}
2019preq2i 4705 . . . . . . . . . 10 {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩} = {⟨𝑥, 𝑥⟩, {{𝑥}, {𝑥, 𝑦}}}
21 vsnex 5408 . . . . . . . . . . 11 {𝑥} ∈ V
22 zfpair2 5407 . . . . . . . . . . 11 {𝑥, 𝑦} ∈ V
2321, 22dfop 4839 . . . . . . . . . 10 ⟨{𝑥}, {𝑥, 𝑦}⟩ = {{{𝑥}}, {{𝑥}, {𝑥, 𝑦}}}
2417, 20, 233eqtr4ri 2799 . . . . . . . . 9 ⟨{𝑥}, {𝑥, 𝑦}⟩ = {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩}
2524eqeq2i 2778 . . . . . . . 8 (⟨𝑢, 𝑡⟩ = ⟨{𝑥}, {𝑥, 𝑦}⟩ ↔ ⟨𝑢, 𝑡⟩ = {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩})
2614, 25bitr3i 280 . . . . . . 7 ((𝑢 = {𝑥} ∧ 𝑡 = {𝑥, 𝑦}) ↔ ⟨𝑢, 𝑡⟩ = {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩})
27 dffun4 6553 . . . . . . . . 9 (Fun ⟨𝑢, 𝑡⟩ ↔ (Rel ⟨𝑢, 𝑡⟩ ∧ ∀𝑧𝑤𝑣((⟨𝑧, 𝑤⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑧, 𝑣⟩ ∈ ⟨𝑢, 𝑡⟩) → 𝑤 = 𝑣)))
2827simprbi 503 . . . . . . . 8 (Fun ⟨𝑢, 𝑡⟩ → ∀𝑧𝑤𝑣((⟨𝑧, 𝑤⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑧, 𝑣⟩ ∈ ⟨𝑢, 𝑡⟩) → 𝑤 = 𝑣))
29 opex 5447 . . . . . . . . . . 11 𝑥, 𝑥⟩ ∈ V
3029prid1 4730 . . . . . . . . . 10 𝑥, 𝑥⟩ ∈ {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩}
31 eleq2 2854 . . . . . . . . . 10 (⟨𝑢, 𝑡⟩ = {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩} → (⟨𝑥, 𝑥⟩ ∈ ⟨𝑢, 𝑡⟩ ↔ ⟨𝑥, 𝑥⟩ ∈ {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩}))
3230, 31mpbiri 261 . . . . . . . . 9 (⟨𝑢, 𝑡⟩ = {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩} → ⟨𝑥, 𝑥⟩ ∈ ⟨𝑢, 𝑡⟩)
33 opex 5447 . . . . . . . . . . 11 𝑥, 𝑦⟩ ∈ V
3433prid2 4731 . . . . . . . . . 10 𝑥, 𝑦⟩ ∈ {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩}
35 eleq2 2854 . . . . . . . . . 10 (⟨𝑢, 𝑡⟩ = {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩} → (⟨𝑥, 𝑦⟩ ∈ ⟨𝑢, 𝑡⟩ ↔ ⟨𝑥, 𝑦⟩ ∈ {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩}))
3634, 35mpbiri 261 . . . . . . . . 9 (⟨𝑢, 𝑡⟩ = {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩} → ⟨𝑥, 𝑦⟩ ∈ ⟨𝑢, 𝑡⟩)
3732, 36jca 521 . . . . . . . 8 (⟨𝑢, 𝑡⟩ = {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩} → (⟨𝑥, 𝑥⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑥, 𝑦⟩ ∈ ⟨𝑢, 𝑡⟩))
38 opeq12 4842 . . . . . . . . . . . . . 14 ((𝑧 = 𝑥𝑤 = 𝑥) → ⟨𝑧, 𝑤⟩ = ⟨𝑥, 𝑥⟩)
39383adant3 1150 . . . . . . . . . . . . 13 ((𝑧 = 𝑥𝑤 = 𝑥𝑣 = 𝑦) → ⟨𝑧, 𝑤⟩ = ⟨𝑥, 𝑥⟩)
4039eleq1d 2850 . . . . . . . . . . . 12 ((𝑧 = 𝑥𝑤 = 𝑥𝑣 = 𝑦) → (⟨𝑧, 𝑤⟩ ∈ ⟨𝑢, 𝑡⟩ ↔ ⟨𝑥, 𝑥⟩ ∈ ⟨𝑢, 𝑡⟩))
41 opeq12 4842 . . . . . . . . . . . . . 14 ((𝑧 = 𝑥𝑣 = 𝑦) → ⟨𝑧, 𝑣⟩ = ⟨𝑥, 𝑦⟩)
42413adant2 1149 . . . . . . . . . . . . 13 ((𝑧 = 𝑥𝑤 = 𝑥𝑣 = 𝑦) → ⟨𝑧, 𝑣⟩ = ⟨𝑥, 𝑦⟩)
4342eleq1d 2850 . . . . . . . . . . . 12 ((𝑧 = 𝑥𝑤 = 𝑥𝑣 = 𝑦) → (⟨𝑧, 𝑣⟩ ∈ ⟨𝑢, 𝑡⟩ ↔ ⟨𝑥, 𝑦⟩ ∈ ⟨𝑢, 𝑡⟩))
4440, 43anbi12d 644 . . . . . . . . . . 11 ((𝑧 = 𝑥𝑤 = 𝑥𝑣 = 𝑦) → ((⟨𝑧, 𝑤⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑧, 𝑣⟩ ∈ ⟨𝑢, 𝑡⟩) ↔ (⟨𝑥, 𝑥⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑥, 𝑦⟩ ∈ ⟨𝑢, 𝑡⟩)))
45 eqeq12 2782 . . . . . . . . . . . 12 ((𝑤 = 𝑥𝑣 = 𝑦) → (𝑤 = 𝑣𝑥 = 𝑦))
46453adant1 1148 . . . . . . . . . . 11 ((𝑧 = 𝑥𝑤 = 𝑥𝑣 = 𝑦) → (𝑤 = 𝑣𝑥 = 𝑦))
4744, 46imbi12d 347 . . . . . . . . . 10 ((𝑧 = 𝑥𝑤 = 𝑥𝑣 = 𝑦) → (((⟨𝑧, 𝑤⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑧, 𝑣⟩ ∈ ⟨𝑢, 𝑡⟩) → 𝑤 = 𝑣) ↔ ((⟨𝑥, 𝑥⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑥, 𝑦⟩ ∈ ⟨𝑢, 𝑡⟩) → 𝑥 = 𝑦)))
4847spc3gv 3565 . . . . . . . . 9 ((𝑥 ∈ V ∧ 𝑥 ∈ V ∧ 𝑦 ∈ V) → (∀𝑧𝑤𝑣((⟨𝑧, 𝑤⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑧, 𝑣⟩ ∈ ⟨𝑢, 𝑡⟩) → 𝑤 = 𝑣) → ((⟨𝑥, 𝑥⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑥, 𝑦⟩ ∈ ⟨𝑢, 𝑡⟩) → 𝑥 = 𝑦)))
4915, 15, 18, 48mp3an 1490 . . . . . . . 8 (∀𝑧𝑤𝑣((⟨𝑧, 𝑤⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑧, 𝑣⟩ ∈ ⟨𝑢, 𝑡⟩) → 𝑤 = 𝑣) → ((⟨𝑥, 𝑥⟩ ∈ ⟨𝑢, 𝑡⟩ ∧ ⟨𝑥, 𝑦⟩ ∈ ⟨𝑢, 𝑡⟩) → 𝑥 = 𝑦))
5028, 37, 49syl2im 41 . . . . . . 7 (Fun ⟨𝑢, 𝑡⟩ → (⟨𝑢, 𝑡⟩ = {⟨𝑥, 𝑥⟩, ⟨𝑥, 𝑦⟩} → 𝑥 = 𝑦))
5126, 50biimtrid 245 . . . . . 6 (Fun ⟨𝑢, 𝑡⟩ → ((𝑢 = {𝑥} ∧ 𝑡 = {𝑥, 𝑦}) → 𝑥 = 𝑦))
52 dfsn2 4604 . . . . . . . . . . 11 {𝑥} = {𝑥, 𝑥}
53 preq2 4702 . . . . . . . . . . 11 (𝑥 = 𝑦 → {𝑥, 𝑥} = {𝑥, 𝑦})
5452, 53eqtr2id 2813 . . . . . . . . . 10 (𝑥 = 𝑦 → {𝑥, 𝑦} = {𝑥})
5554eqeq2d 2776 . . . . . . . . 9 (𝑥 = 𝑦 → (𝑡 = {𝑥, 𝑦} ↔ 𝑡 = {𝑥}))
56 eqtr3 2787 . . . . . . . . . 10 ((𝑢 = {𝑥} ∧ 𝑡 = {𝑥}) → 𝑢 = 𝑡)
5756expcom 419 . . . . . . . . 9 (𝑡 = {𝑥} → (𝑢 = {𝑥} → 𝑢 = 𝑡))
5855, 57biimtrdi 256 . . . . . . . 8 (𝑥 = 𝑦 → (𝑡 = {𝑥, 𝑦} → (𝑢 = {𝑥} → 𝑢 = 𝑡)))
5958com13 89 . . . . . . 7 (𝑢 = {𝑥} → (𝑡 = {𝑥, 𝑦} → (𝑥 = 𝑦𝑢 = 𝑡)))
6059imp 412 . . . . . 6 ((𝑢 = {𝑥} ∧ 𝑡 = {𝑥, 𝑦}) → (𝑥 = 𝑦𝑢 = 𝑡))
6151, 60sylcom 31 . . . . 5 (Fun ⟨𝑢, 𝑡⟩ → ((𝑢 = {𝑥} ∧ 𝑡 = {𝑥, 𝑦}) → 𝑢 = 𝑡))
6261exlimdvv 1967 . . . 4 (Fun ⟨𝑢, 𝑡⟩ → (∃𝑥𝑦(𝑢 = {𝑥} ∧ 𝑡 = {𝑥, 𝑦}) → 𝑢 = 𝑡))
6313, 62mpd 16 . . 3 (Fun ⟨𝑢, 𝑡⟩ → 𝑢 = 𝑡)
644, 8, 63vtocl2g 3540 . 2 ((𝐴𝑉𝐵𝑊) → (Fun ⟨𝐴, 𝐵⟩ → 𝐴 = 𝐵))
65643impia 1135 1 ((𝐴𝑉𝐵𝑊 ∧ Fun ⟨𝐴, 𝐵⟩) → 𝐴 = 𝐵)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wb 209  wa 401  w3a 1103  wal 1568   = wceq 1570  wex 1812  wcel 2146  Vcvv 3457  {csn 4591  {cpr 4593  cop 4597  Rel wrel 5668  Fun wfun 6534
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2148  ax-9 2156  ax-ext 2737  ax-sep 5259  ax-pr 5406
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-sb 2100  df-clab 2744  df-cleq 2757  df-clel 2840  df-ne 2961  df-ral 3082  df-rex 3092  df-rab 3419  df-v 3459  df-dif 3909  df-un 3911  df-in 3913  df-ss 3923  df-nul 4287  df-if 4490  df-sn 4592  df-pr 4594  df-op 4598  df-br 5112  df-opab 5176  df-id 5558  df-xp 5669  df-rel 5670  df-cnv 5671  df-co 5672  df-fun 6542
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator