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 35436
Description: This is the core of the proof of mptsnun 35437, 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 5593 . . . . . . 7 (𝐹𝐵) = ran (𝐹𝐵)
2 mptsnun.f . . . . . . . . . . 11 𝐹 = (𝑥𝐴 ↦ {𝑥})
32reseq1i 5876 . . . . . . . . . 10 (𝐹𝐵) = ((𝑥𝐴 ↦ {𝑥}) ↾ 𝐵)
4 resmpt 5934 . . . . . . . . . 10 (𝐵𝐴 → ((𝑥𝐴 ↦ {𝑥}) ↾ 𝐵) = (𝑥𝐵 ↦ {𝑥}))
53, 4syl5eq 2791 . . . . . . . . 9 (𝐵𝐴 → (𝐹𝐵) = (𝑥𝐵 ↦ {𝑥}))
65rneqd 5836 . . . . . . . 8 (𝐵𝐴 → ran (𝐹𝐵) = ran (𝑥𝐵 ↦ {𝑥}))
7 rnmptsn 35433 . . . . . . . 8 ran (𝑥𝐵 ↦ {𝑥}) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
86, 7eqtrdi 2795 . . . . . . 7 (𝐵𝐴 → ran (𝐹𝐵) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
91, 8syl5eq 2791 . . . . . 6 (𝐵𝐴 → (𝐹𝐵) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
109unieqd 4850 . . . . 5 (𝐵𝐴 (𝐹𝐵) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
1110eleq2d 2824 . . . 4 (𝐵𝐴 → (𝑥 (𝐹𝐵) ↔ 𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
12 eleq1w 2821 . . . . . 6 (𝑧 = 𝑥 → (𝑧𝐵𝑥𝐵))
13 eluniab 4851 . . . . . . . . 9 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} ↔ ∃𝑢(𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}))
14 ancom 460 . . . . . . . . . . . . 13 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) ↔ (∃𝑥𝐵 𝑢 = {𝑥} ∧ 𝑧𝑢))
15 r19.41v 3273 . . . . . . . . . . . . 13 (∃𝑥𝐵 (𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ (∃𝑥𝐵 𝑢 = {𝑥} ∧ 𝑧𝑢))
16 df-rex 3069 . . . . . . . . . . . . 13 (∃𝑥𝐵 (𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)))
1714, 15, 163bitr2i 298 . . . . . . . . . . . 12 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) ↔ ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)))
18 eleq2 2827 . . . . . . . . . . . . . . . . 17 (𝑢 = {𝑥} → (𝑧𝑢𝑧 ∈ {𝑥}))
1918anbi2d 628 . . . . . . . . . . . . . . . 16 (𝑢 = {𝑥} → ((𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2019adantr 480 . . . . . . . . . . . . . . 15 ((𝑢 = {𝑥} ∧ 𝑧𝑢) → ((𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2120ibi 266 . . . . . . . . . . . . . 14 ((𝑢 = {𝑥} ∧ 𝑧𝑢) → (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥}))
2221anim2i 616 . . . . . . . . . . . . 13 ((𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)) → (𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2322eximi 1838 . . . . . . . . . . . 12 (∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)) → ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2417, 23sylbi 216 . . . . . . . . . . 11 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
25 an12 641 . . . . . . . . . . . . 13 ((𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})) ↔ (𝑢 = {𝑥} ∧ (𝑥𝐵𝑧 ∈ {𝑥})))
2625exbii 1851 . . . . . . . . . . . 12 (∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})) ↔ ∃𝑥(𝑢 = {𝑥} ∧ (𝑥𝐵𝑧 ∈ {𝑥})))
27 exsimpr 1873 . . . . . . . . . . . 12 (∃𝑥(𝑢 = {𝑥} ∧ (𝑥𝐵𝑧 ∈ {𝑥})) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
2826, 27sylbi 216 . . . . . . . . . . 11 (∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
2924, 28syl 17 . . . . . . . . . 10 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
3029exlimiv 1934 . . . . . . . . 9 (∃𝑢(𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
3113, 30sylbi 216 . . . . . . . 8 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
32 velsn 4574 . . . . . . . . . 10 (𝑧 ∈ {𝑥} ↔ 𝑧 = 𝑥)
3332anbi2i 622 . . . . . . . . 9 ((𝑥𝐵𝑧 ∈ {𝑥}) ↔ (𝑥𝐵𝑧 = 𝑥))
3433exbii 1851 . . . . . . . 8 (∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}) ↔ ∃𝑥(𝑥𝐵𝑧 = 𝑥))
3531, 34sylib 217 . . . . . . 7 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → ∃𝑥(𝑥𝐵𝑧 = 𝑥))
3612biimparc 479 . . . . . . . 8 ((𝑥𝐵𝑧 = 𝑥) → 𝑧𝐵)
3736exlimiv 1934 . . . . . . 7 (∃𝑥(𝑥𝐵𝑧 = 𝑥) → 𝑧𝐵)
3835, 37syl 17 . . . . . 6 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → 𝑧𝐵)
3912, 38vtoclga 3503 . . . . 5 (𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → 𝑥𝐵)
40 equid 2016 . . . . . 6 𝑥 = 𝑥
41 eqid 2738 . . . . . . . . . . . 12 {𝑥} = {𝑥}
42 snex 5349 . . . . . . . . . . . . . 14 {𝑥} ∈ V
43 sbcg 3791 . . . . . . . . . . . . . 14 ({𝑥} ∈ V → ([{𝑥} / 𝑢]𝑥𝐵𝑥𝐵))
4442, 43ax-mp 5 . . . . . . . . . . . . 13 ([{𝑥} / 𝑢]𝑥𝐵𝑥𝐵)
45 eqsbc1 3760 . . . . . . . . . . . . . 14 ({𝑥} ∈ V → ([{𝑥} / 𝑢]𝑢 = {𝑥} ↔ {𝑥} = {𝑥}))
4642, 45ax-mp 5 . . . . . . . . . . . . 13 ([{𝑥} / 𝑢]𝑢 = {𝑥} ↔ {𝑥} = {𝑥})
4718adantl 481 . . . . . . . . . . . . . . . . . 18 ((𝑥𝐵𝑢 = {𝑥}) → (𝑧𝑢𝑧 ∈ {𝑥}))
48 df-rex 3069 . . . . . . . . . . . . . . . . . . . 20 (∃𝑥𝐵 𝑢 = {𝑥} ↔ ∃𝑥(𝑥𝐵𝑢 = {𝑥}))
4913biimpri 227 . . . . . . . . . . . . . . . . . . . . . 22 (∃𝑢(𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
504919.23bi 2186 . . . . . . . . . . . . . . . . . . . . 21 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
5150expcom 413 . . . . . . . . . . . . . . . . . . . 20 (∃𝑥𝐵 𝑢 = {𝑥} → (𝑧𝑢𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
5248, 51sylbir 234 . . . . . . . . . . . . . . . . . . 19 (∃𝑥(𝑥𝐵𝑢 = {𝑥}) → (𝑧𝑢𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
535219.23bi 2186 . . . . . . . . . . . . . . . . . 18 ((𝑥𝐵𝑢 = {𝑥}) → (𝑧𝑢𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
5447, 53sylbird 259 . . . . . . . . . . . . . . . . 17 ((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
5554sbcth 3726 . . . . . . . . . . . . . . . 16 ({𝑥} ∈ V → [{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})))
5642, 55ax-mp 5 . . . . . . . . . . . . . . 15 [{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
57 sbcimg 3762 . . . . . . . . . . . . . . . 16 ({𝑥} ∈ V → ([{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})) ↔ ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) → [{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))))
5842, 57ax-mp 5 . . . . . . . . . . . . . . 15 ([{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})) ↔ ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) → [{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})))
5956, 58mpbi 229 . . . . . . . . . . . . . 14 ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) → [{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
60 sbcan 3763 . . . . . . . . . . . . . 14 ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) ↔ ([{𝑥} / 𝑢]𝑥𝐵[{𝑥} / 𝑢]𝑢 = {𝑥}))
61 nfv 1918 . . . . . . . . . . . . . . . 16 𝑢 𝑧 ∈ {𝑥}
62 nfab1 2908 . . . . . . . . . . . . . . . . . 18 𝑢{𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
6362nfuni 4843 . . . . . . . . . . . . . . . . 17 𝑢 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
6463nfcri 2893 . . . . . . . . . . . . . . . 16 𝑢 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
6561, 64nfim 1900 . . . . . . . . . . . . . . 15 𝑢(𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
6642, 65sbcgfi 3793 . . . . . . . . . . . . . 14 ([{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}) ↔ (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
6759, 60, 663imtr3i 290 . . . . . . . . . . . . 13 (([{𝑥} / 𝑢]𝑥𝐵[{𝑥} / 𝑢]𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
6844, 46, 67syl2anbr 598 . . . . . . . . . . . 12 ((𝑥𝐵 ∧ {𝑥} = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
6941, 68mpan2 687 . . . . . . . . . . 11 (𝑥𝐵 → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7032, 69syl5bir 242 . . . . . . . . . 10 (𝑥𝐵 → (𝑧 = 𝑥𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
71 eleq1w 2821 . . . . . . . . . 10 (𝑧 = 𝑥 → (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} ↔ 𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7270, 71mpbidi 240 . . . . . . . . 9 (𝑥𝐵 → (𝑧 = 𝑥𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7372com12 32 . . . . . . . 8 (𝑧 = 𝑥 → (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7473sbimi 2078 . . . . . . 7 ([𝑥 / 𝑧]𝑧 = 𝑥 → [𝑥 / 𝑧](𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
75 equsb3 2103 . . . . . . 7 ([𝑥 / 𝑧]𝑧 = 𝑥𝑥 = 𝑥)
76 sbv 2092 . . . . . . 7 ([𝑥 / 𝑧](𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}) ↔ (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7774, 75, 763imtr3i 290 . . . . . 6 (𝑥 = 𝑥 → (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7840, 77ax-mp 5 . . . . 5 (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
7939, 78impbii 208 . . . 4 (𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} ↔ 𝑥𝐵)
8011, 79bitrdi 286 . . 3 (𝐵𝐴 → (𝑥 (𝐹𝐵) ↔ 𝑥𝐵))
8180eqrdv 2736 . 2 (𝐵𝐴 (𝐹𝐵) = 𝐵)
8281eqcomd 2744 1 (𝐵𝐴𝐵 = (𝐹𝐵))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205  wa 395   = wceq 1539  wex 1783  [wsb 2068  wcel 2108  {cab 2715  wrex 3064  Vcvv 3422  [wsbc 3711  wss 3883  {csn 4558   cuni 4836  cmpt 5153  ran crn 5581  cres 5582  cima 5583
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1799  ax-4 1813  ax-5 1914  ax-6 1972  ax-7 2012  ax-8 2110  ax-9 2118  ax-10 2139  ax-11 2156  ax-12 2173  ax-ext 2709  ax-sep 5218  ax-nul 5225  ax-pr 5347
This theorem depends on definitions:  df-bi 206  df-an 396  df-or 844  df-3an 1087  df-tru 1542  df-fal 1552  df-ex 1784  df-nf 1788  df-sb 2069  df-mo 2540  df-eu 2569  df-clab 2716  df-cleq 2730  df-clel 2817  df-nfc 2888  df-ral 3068  df-rex 3069  df-rab 3072  df-v 3424  df-sbc 3712  df-dif 3886  df-un 3888  df-in 3890  df-ss 3900  df-nul 4254  df-if 4457  df-sn 4559  df-pr 4561  df-op 4565  df-uni 4837  df-br 5071  df-opab 5133  df-mpt 5154  df-xp 5586  df-rel 5587  df-cnv 5588  df-dm 5590  df-rn 5591  df-res 5592  df-ima 5593
This theorem is referenced by:  mptsnun  35437
  Copyright terms: Public domain W3C validator