Users' Mathboxes Mathbox for ML < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  mptsnunlem Structured version   Visualization version   GIF version

Theorem mptsnunlem 34622
Description: This is the core of the proof of mptsnun 34623, but to avoid the distinct variables on the definitions, we split this proof into two. (Contributed by ML, 16-Jul-2020.)
Hypotheses
Ref Expression
mptsnun.f 𝐹 = (𝑥𝐴 ↦ {𝑥})
mptsnun.r 𝑅 = {𝑢 ∣ ∃𝑥𝐴 𝑢 = {𝑥}}
Assertion
Ref Expression
mptsnunlem (𝐵𝐴𝐵 = (𝐹𝐵))
Distinct variable groups:   𝑢,𝐴,𝑥   𝑢,𝐵,𝑥   𝑥,𝐹
Allowed substitution hints:   𝑅(𝑥,𝑢)   𝐹(𝑢)

Proof of Theorem mptsnunlem
Dummy variable 𝑧 is distinct from all other variables.
StepHypRef Expression
1 df-ima 5568 . . . . . . 7 (𝐹𝐵) = ran (𝐹𝐵)
2 mptsnun.f . . . . . . . . . . 11 𝐹 = (𝑥𝐴 ↦ {𝑥})
32reseq1i 5849 . . . . . . . . . 10 (𝐹𝐵) = ((𝑥𝐴 ↦ {𝑥}) ↾ 𝐵)
4 resmpt 5905 . . . . . . . . . 10 (𝐵𝐴 → ((𝑥𝐴 ↦ {𝑥}) ↾ 𝐵) = (𝑥𝐵 ↦ {𝑥}))
53, 4syl5eq 2868 . . . . . . . . 9 (𝐵𝐴 → (𝐹𝐵) = (𝑥𝐵 ↦ {𝑥}))
65rneqd 5808 . . . . . . . 8 (𝐵𝐴 → ran (𝐹𝐵) = ran (𝑥𝐵 ↦ {𝑥}))
7 rnmptsn 34619 . . . . . . . 8 ran (𝑥𝐵 ↦ {𝑥}) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
86, 7syl6eq 2872 . . . . . . 7 (𝐵𝐴 → ran (𝐹𝐵) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
91, 8syl5eq 2868 . . . . . 6 (𝐵𝐴 → (𝐹𝐵) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
109unieqd 4852 . . . . 5 (𝐵𝐴 (𝐹𝐵) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
1110eleq2d 2898 . . . 4 (𝐵𝐴 → (𝑥 (𝐹𝐵) ↔ 𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
12 eleq1w 2895 . . . . . 6 (𝑧 = 𝑥 → (𝑧𝐵𝑥𝐵))
13 eluniab 4853 . . . . . . . . 9 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} ↔ ∃𝑢(𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}))
14 ancom 463 . . . . . . . . . . . . 13 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) ↔ (∃𝑥𝐵 𝑢 = {𝑥} ∧ 𝑧𝑢))
15 r19.41v 3347 . . . . . . . . . . . . 13 (∃𝑥𝐵 (𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ (∃𝑥𝐵 𝑢 = {𝑥} ∧ 𝑧𝑢))
16 df-rex 3144 . . . . . . . . . . . . 13 (∃𝑥𝐵 (𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)))
1714, 15, 163bitr2i 301 . . . . . . . . . . . 12 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) ↔ ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)))
18 eleq2 2901 . . . . . . . . . . . . . . . . 17 (𝑢 = {𝑥} → (𝑧𝑢𝑧 ∈ {𝑥}))
1918anbi2d 630 . . . . . . . . . . . . . . . 16 (𝑢 = {𝑥} → ((𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2019adantr 483 . . . . . . . . . . . . . . 15 ((𝑢 = {𝑥} ∧ 𝑧𝑢) → ((𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2120ibi 269 . . . . . . . . . . . . . 14 ((𝑢 = {𝑥} ∧ 𝑧𝑢) → (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥}))
2221anim2i 618 . . . . . . . . . . . . 13 ((𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)) → (𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2322eximi 1835 . . . . . . . . . . . 12 (∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)) → ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2417, 23sylbi 219 . . . . . . . . . . 11 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
25 an12 643 . . . . . . . . . . . . 13 ((𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})) ↔ (𝑢 = {𝑥} ∧ (𝑥𝐵𝑧 ∈ {𝑥})))
2625exbii 1848 . . . . . . . . . . . 12 (∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})) ↔ ∃𝑥(𝑢 = {𝑥} ∧ (𝑥𝐵𝑧 ∈ {𝑥})))
27 exsimpr 1870 . . . . . . . . . . . 12 (∃𝑥(𝑢 = {𝑥} ∧ (𝑥𝐵𝑧 ∈ {𝑥})) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
2826, 27sylbi 219 . . . . . . . . . . 11 (∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
2924, 28syl 17 . . . . . . . . . 10 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
3029exlimiv 1931 . . . . . . . . 9 (∃𝑢(𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
3113, 30sylbi 219 . . . . . . . 8 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
32 velsn 4583 . . . . . . . . . 10 (𝑧 ∈ {𝑥} ↔ 𝑧 = 𝑥)
3332anbi2i 624 . . . . . . . . 9 ((𝑥𝐵𝑧 ∈ {𝑥}) ↔ (𝑥𝐵𝑧 = 𝑥))
3433exbii 1848 . . . . . . . 8 (∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}) ↔ ∃𝑥(𝑥𝐵𝑧 = 𝑥))
3531, 34sylib 220 . . . . . . 7 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → ∃𝑥(𝑥𝐵𝑧 = 𝑥))
3612biimparc 482 . . . . . . . 8 ((𝑥𝐵𝑧 = 𝑥) → 𝑧𝐵)
3736exlimiv 1931 . . . . . . 7 (∃𝑥(𝑥𝐵𝑧 = 𝑥) → 𝑧𝐵)
3835, 37syl 17 . . . . . 6 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → 𝑧𝐵)
3912, 38vtoclga 3574 . . . . 5 (𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → 𝑥𝐵)
40 equid 2019 . . . . . 6 𝑥 = 𝑥
41 eqid 2821 . . . . . . . . . . . 12 {𝑥} = {𝑥}
42 snex 5332 . . . . . . . . . . . . . 14 {𝑥} ∈ V
43 sbcg 3847 . . . . . . . . . . . . . 14 ({𝑥} ∈ V → ([{𝑥} / 𝑢]𝑥𝐵𝑥𝐵))
4442, 43ax-mp 5 . . . . . . . . . . . . 13 ([{𝑥} / 𝑢]𝑥𝐵𝑥𝐵)
45 eqsbc3 3817 . . . . . . . . . . . . . 14 ({𝑥} ∈ V → ([{𝑥} / 𝑢]𝑢 = {𝑥} ↔ {𝑥} = {𝑥}))
4642, 45ax-mp 5 . . . . . . . . . . . . 13 ([{𝑥} / 𝑢]𝑢 = {𝑥} ↔ {𝑥} = {𝑥})
4718adantl 484 . . . . . . . . . . . . . . . . . 18 ((𝑥𝐵𝑢 = {𝑥}) → (𝑧𝑢𝑧 ∈ {𝑥}))
48 df-rex 3144 . . . . . . . . . . . . . . . . . . . 20 (∃𝑥𝐵 𝑢 = {𝑥} ↔ ∃𝑥(𝑥𝐵𝑢 = {𝑥}))
4913biimpri 230 . . . . . . . . . . . . . . . . . . . . . 22 (∃𝑢(𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
504919.23bi 2190 . . . . . . . . . . . . . . . . . . . . 21 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
5150expcom 416 . . . . . . . . . . . . . . . . . . . 20 (∃𝑥𝐵 𝑢 = {𝑥} → (𝑧𝑢𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
5248, 51sylbir 237 . . . . . . . . . . . . . . . . . . 19 (∃𝑥(𝑥𝐵𝑢 = {𝑥}) → (𝑧𝑢𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
535219.23bi 2190 . . . . . . . . . . . . . . . . . 18 ((𝑥𝐵𝑢 = {𝑥}) → (𝑧𝑢𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
5447, 53sylbird 262 . . . . . . . . . . . . . . . . 17 ((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
5554sbcth 3787 . . . . . . . . . . . . . . . 16 ({𝑥} ∈ V → [{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})))
5642, 55ax-mp 5 . . . . . . . . . . . . . . 15 [{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
57 sbcimg 3820 . . . . . . . . . . . . . . . 16 ({𝑥} ∈ V → ([{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})) ↔ ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) → [{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))))
5842, 57ax-mp 5 . . . . . . . . . . . . . . 15 ([{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})) ↔ ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) → [{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})))
5956, 58mpbi 232 . . . . . . . . . . . . . 14 ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) → [{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
60 sbcan 3821 . . . . . . . . . . . . . 14 ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) ↔ ([{𝑥} / 𝑢]𝑥𝐵[{𝑥} / 𝑢]𝑢 = {𝑥}))
61 nfv 1915 . . . . . . . . . . . . . . . 16 𝑢 𝑧 ∈ {𝑥}
62 nfab1 2979 . . . . . . . . . . . . . . . . . 18 𝑢{𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
6362nfuni 4845 . . . . . . . . . . . . . . . . 17 𝑢 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
6463nfcri 2971 . . . . . . . . . . . . . . . 16 𝑢 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
6561, 64nfim 1897 . . . . . . . . . . . . . . 15 𝑢(𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
6642, 65sbcgfi 3848 . . . . . . . . . . . . . 14 ([{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}) ↔ (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
6759, 60, 663imtr3i 293 . . . . . . . . . . . . 13 (([{𝑥} / 𝑢]𝑥𝐵[{𝑥} / 𝑢]𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
6844, 46, 67syl2anbr 600 . . . . . . . . . . . 12 ((𝑥𝐵 ∧ {𝑥} = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
6941, 68mpan2 689 . . . . . . . . . . 11 (𝑥𝐵 → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7032, 69syl5bir 245 . . . . . . . . . 10 (𝑥𝐵 → (𝑧 = 𝑥𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
71 eleq1w 2895 . . . . . . . . . 10 (𝑧 = 𝑥 → (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} ↔ 𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7270, 71mpbidi 243 . . . . . . . . 9 (𝑥𝐵 → (𝑧 = 𝑥𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7372com12 32 . . . . . . . 8 (𝑧 = 𝑥 → (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7473sbimi 2079 . . . . . . 7 ([𝑥 / 𝑧]𝑧 = 𝑥 → [𝑥 / 𝑧](𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
75 equsb3 2109 . . . . . . 7 ([𝑥 / 𝑧]𝑧 = 𝑥𝑥 = 𝑥)
76 sbv 2098 . . . . . . 7 ([𝑥 / 𝑧](𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}) ↔ (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7774, 75, 763imtr3i 293 . . . . . 6 (𝑥 = 𝑥 → (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7840, 77ax-mp 5 . . . . 5 (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
7939, 78impbii 211 . . . 4 (𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} ↔ 𝑥𝐵)
8011, 79syl6bb 289 . . 3 (𝐵𝐴 → (𝑥 (𝐹𝐵) ↔ 𝑥𝐵))
8180eqrdv 2819 . 2 (𝐵𝐴 (𝐹𝐵) = 𝐵)
8281eqcomd 2827 1 (𝐵𝐴𝐵 = (𝐹𝐵))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 208  wa 398   = wceq 1537  wex 1780  [wsb 2069  wcel 2114  {cab 2799  wrex 3139  Vcvv 3494  [wsbc 3772  wss 3936  {csn 4567   cuni 4838  cmpt 5146  ran crn 5556  cres 5557  cima 5558
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2116  ax-9 2124  ax-10 2145  ax-11 2161  ax-12 2177  ax-ext 2793  ax-sep 5203  ax-nul 5210  ax-pr 5330
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 844  df-3an 1085  df-tru 1540  df-ex 1781  df-nf 1785  df-sb 2070  df-mo 2622  df-eu 2654  df-clab 2800  df-cleq 2814  df-clel 2893  df-nfc 2963  df-ral 3143  df-rex 3144  df-rab 3147  df-v 3496  df-sbc 3773  df-dif 3939  df-un 3941  df-in 3943  df-ss 3952  df-nul 4292  df-if 4468  df-sn 4568  df-pr 4570  df-op 4574  df-uni 4839  df-br 5067  df-opab 5129  df-mpt 5147  df-xp 5561  df-rel 5562  df-cnv 5563  df-dm 5565  df-rn 5566  df-res 5567  df-ima 5568
This theorem is referenced by:  mptsnun  34623
  Copyright terms: Public domain W3C validator