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 34755
Description: This is the core of the proof of mptsnun 34756, 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 5532 . . . . . . 7 (𝐹𝐵) = ran (𝐹𝐵)
2 mptsnun.f . . . . . . . . . . 11 𝐹 = (𝑥𝐴 ↦ {𝑥})
32reseq1i 5814 . . . . . . . . . 10 (𝐹𝐵) = ((𝑥𝐴 ↦ {𝑥}) ↾ 𝐵)
4 resmpt 5872 . . . . . . . . . 10 (𝐵𝐴 → ((𝑥𝐴 ↦ {𝑥}) ↾ 𝐵) = (𝑥𝐵 ↦ {𝑥}))
53, 4syl5eq 2845 . . . . . . . . 9 (𝐵𝐴 → (𝐹𝐵) = (𝑥𝐵 ↦ {𝑥}))
65rneqd 5772 . . . . . . . 8 (𝐵𝐴 → ran (𝐹𝐵) = ran (𝑥𝐵 ↦ {𝑥}))
7 rnmptsn 34752 . . . . . . . 8 ran (𝑥𝐵 ↦ {𝑥}) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
86, 7eqtrdi 2849 . . . . . . 7 (𝐵𝐴 → ran (𝐹𝐵) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
91, 8syl5eq 2845 . . . . . 6 (𝐵𝐴 → (𝐹𝐵) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
109unieqd 4814 . . . . 5 (𝐵𝐴 (𝐹𝐵) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
1110eleq2d 2875 . . . 4 (𝐵𝐴 → (𝑥 (𝐹𝐵) ↔ 𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
12 eleq1w 2872 . . . . . 6 (𝑧 = 𝑥 → (𝑧𝐵𝑥𝐵))
13 eluniab 4815 . . . . . . . . 9 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} ↔ ∃𝑢(𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}))
14 ancom 464 . . . . . . . . . . . . 13 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) ↔ (∃𝑥𝐵 𝑢 = {𝑥} ∧ 𝑧𝑢))
15 r19.41v 3300 . . . . . . . . . . . . 13 (∃𝑥𝐵 (𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ (∃𝑥𝐵 𝑢 = {𝑥} ∧ 𝑧𝑢))
16 df-rex 3112 . . . . . . . . . . . . 13 (∃𝑥𝐵 (𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)))
1714, 15, 163bitr2i 302 . . . . . . . . . . . 12 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) ↔ ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)))
18 eleq2 2878 . . . . . . . . . . . . . . . . 17 (𝑢 = {𝑥} → (𝑧𝑢𝑧 ∈ {𝑥}))
1918anbi2d 631 . . . . . . . . . . . . . . . 16 (𝑢 = {𝑥} → ((𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2019adantr 484 . . . . . . . . . . . . . . 15 ((𝑢 = {𝑥} ∧ 𝑧𝑢) → ((𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2120ibi 270 . . . . . . . . . . . . . 14 ((𝑢 = {𝑥} ∧ 𝑧𝑢) → (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥}))
2221anim2i 619 . . . . . . . . . . . . 13 ((𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)) → (𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2322eximi 1836 . . . . . . . . . . . 12 (∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)) → ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2417, 23sylbi 220 . . . . . . . . . . 11 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
25 an12 644 . . . . . . . . . . . . 13 ((𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})) ↔ (𝑢 = {𝑥} ∧ (𝑥𝐵𝑧 ∈ {𝑥})))
2625exbii 1849 . . . . . . . . . . . 12 (∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})) ↔ ∃𝑥(𝑢 = {𝑥} ∧ (𝑥𝐵𝑧 ∈ {𝑥})))
27 exsimpr 1870 . . . . . . . . . . . 12 (∃𝑥(𝑢 = {𝑥} ∧ (𝑥𝐵𝑧 ∈ {𝑥})) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
2826, 27sylbi 220 . . . . . . . . . . 11 (∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
2924, 28syl 17 . . . . . . . . . 10 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
3029exlimiv 1931 . . . . . . . . 9 (∃𝑢(𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
3113, 30sylbi 220 . . . . . . . 8 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
32 velsn 4541 . . . . . . . . . 10 (𝑧 ∈ {𝑥} ↔ 𝑧 = 𝑥)
3332anbi2i 625 . . . . . . . . 9 ((𝑥𝐵𝑧 ∈ {𝑥}) ↔ (𝑥𝐵𝑧 = 𝑥))
3433exbii 1849 . . . . . . . 8 (∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}) ↔ ∃𝑥(𝑥𝐵𝑧 = 𝑥))
3531, 34sylib 221 . . . . . . 7 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → ∃𝑥(𝑥𝐵𝑧 = 𝑥))
3612biimparc 483 . . . . . . . 8 ((𝑥𝐵𝑧 = 𝑥) → 𝑧𝐵)
3736exlimiv 1931 . . . . . . 7 (∃𝑥(𝑥𝐵𝑧 = 𝑥) → 𝑧𝐵)
3835, 37syl 17 . . . . . 6 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → 𝑧𝐵)
3912, 38vtoclga 3522 . . . . 5 (𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → 𝑥𝐵)
40 equid 2019 . . . . . 6 𝑥 = 𝑥
41 eqid 2798 . . . . . . . . . . . 12 {𝑥} = {𝑥}
42 snex 5297 . . . . . . . . . . . . . 14 {𝑥} ∈ V
43 sbcg 3793 . . . . . . . . . . . . . 14 ({𝑥} ∈ V → ([{𝑥} / 𝑢]𝑥𝐵𝑥𝐵))
4442, 43ax-mp 5 . . . . . . . . . . . . 13 ([{𝑥} / 𝑢]𝑥𝐵𝑥𝐵)
45 eqsbc3 3765 . . . . . . . . . . . . . 14 ({𝑥} ∈ V → ([{𝑥} / 𝑢]𝑢 = {𝑥} ↔ {𝑥} = {𝑥}))
4642, 45ax-mp 5 . . . . . . . . . . . . 13 ([{𝑥} / 𝑢]𝑢 = {𝑥} ↔ {𝑥} = {𝑥})
4718adantl 485 . . . . . . . . . . . . . . . . . 18 ((𝑥𝐵𝑢 = {𝑥}) → (𝑧𝑢𝑧 ∈ {𝑥}))
48 df-rex 3112 . . . . . . . . . . . . . . . . . . . 20 (∃𝑥𝐵 𝑢 = {𝑥} ↔ ∃𝑥(𝑥𝐵𝑢 = {𝑥}))
4913biimpri 231 . . . . . . . . . . . . . . . . . . . . . 22 (∃𝑢(𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
504919.23bi 2188 . . . . . . . . . . . . . . . . . . . . 21 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
5150expcom 417 . . . . . . . . . . . . . . . . . . . 20 (∃𝑥𝐵 𝑢 = {𝑥} → (𝑧𝑢𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
5248, 51sylbir 238 . . . . . . . . . . . . . . . . . . 19 (∃𝑥(𝑥𝐵𝑢 = {𝑥}) → (𝑧𝑢𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
535219.23bi 2188 . . . . . . . . . . . . . . . . . 18 ((𝑥𝐵𝑢 = {𝑥}) → (𝑧𝑢𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
5447, 53sylbird 263 . . . . . . . . . . . . . . . . 17 ((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
5554sbcth 3735 . . . . . . . . . . . . . . . 16 ({𝑥} ∈ V → [{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})))
5642, 55ax-mp 5 . . . . . . . . . . . . . . 15 [{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
57 sbcimg 3767 . . . . . . . . . . . . . . . 16 ({𝑥} ∈ V → ([{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})) ↔ ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) → [{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))))
5842, 57ax-mp 5 . . . . . . . . . . . . . . 15 ([{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})) ↔ ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) → [{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})))
5956, 58mpbi 233 . . . . . . . . . . . . . 14 ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) → [{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
60 sbcan 3768 . . . . . . . . . . . . . 14 ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) ↔ ([{𝑥} / 𝑢]𝑥𝐵[{𝑥} / 𝑢]𝑢 = {𝑥}))
61 nfv 1915 . . . . . . . . . . . . . . . 16 𝑢 𝑧 ∈ {𝑥}
62 nfab1 2957 . . . . . . . . . . . . . . . . . 18 𝑢{𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
6362nfuni 4807 . . . . . . . . . . . . . . . . 17 𝑢 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
6463nfcri 2943 . . . . . . . . . . . . . . . 16 𝑢 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
6561, 64nfim 1897 . . . . . . . . . . . . . . 15 𝑢(𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
6642, 65sbcgfi 3794 . . . . . . . . . . . . . 14 ([{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}) ↔ (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
6759, 60, 663imtr3i 294 . . . . . . . . . . . . 13 (([{𝑥} / 𝑢]𝑥𝐵[{𝑥} / 𝑢]𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
6844, 46, 67syl2anbr 601 . . . . . . . . . . . 12 ((𝑥𝐵 ∧ {𝑥} = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
6941, 68mpan2 690 . . . . . . . . . . 11 (𝑥𝐵 → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7032, 69syl5bir 246 . . . . . . . . . 10 (𝑥𝐵 → (𝑧 = 𝑥𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
71 eleq1w 2872 . . . . . . . . . 10 (𝑧 = 𝑥 → (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} ↔ 𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7270, 71mpbidi 244 . . . . . . . . 9 (𝑥𝐵 → (𝑧 = 𝑥𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7372com12 32 . . . . . . . 8 (𝑧 = 𝑥 → (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7473sbimi 2079 . . . . . . 7 ([𝑥 / 𝑧]𝑧 = 𝑥 → [𝑥 / 𝑧](𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
75 equsb3 2106 . . . . . . 7 ([𝑥 / 𝑧]𝑧 = 𝑥𝑥 = 𝑥)
76 sbv 2095 . . . . . . 7 ([𝑥 / 𝑧](𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}) ↔ (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7774, 75, 763imtr3i 294 . . . . . 6 (𝑥 = 𝑥 → (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7840, 77ax-mp 5 . . . . 5 (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
7939, 78impbii 212 . . . 4 (𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} ↔ 𝑥𝐵)
8011, 79syl6bb 290 . . 3 (𝐵𝐴 → (𝑥 (𝐹𝐵) ↔ 𝑥𝐵))
8180eqrdv 2796 . 2 (𝐵𝐴 (𝐹𝐵) = 𝐵)
8281eqcomd 2804 1 (𝐵𝐴𝐵 = (𝐹𝐵))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 399   = wceq 1538  wex 1781  [wsb 2069  wcel 2111  {cab 2776  wrex 3107  Vcvv 3441  [wsbc 3720  wss 3881  {csn 4525   cuni 4800  cmpt 5110  ran crn 5520  cres 5521  cima 5522
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-ral 3111  df-rex 3112  df-rab 3115  df-v 3443  df-sbc 3721  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-uni 4801  df-br 5031  df-opab 5093  df-mpt 5111  df-xp 5525  df-rel 5526  df-cnv 5527  df-dm 5529  df-rn 5530  df-res 5531  df-ima 5532
This theorem is referenced by:  mptsnun  34756
  Copyright terms: Public domain W3C validator