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 34501
Description: This is the core of the proof of mptsnun 34502, 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 5561 . . . . . . 7 (𝐹𝐵) = ran (𝐹𝐵)
2 mptsnun.f . . . . . . . . . . 11 𝐹 = (𝑥𝐴 ↦ {𝑥})
32reseq1i 5842 . . . . . . . . . 10 (𝐹𝐵) = ((𝑥𝐴 ↦ {𝑥}) ↾ 𝐵)
4 resmpt 5898 . . . . . . . . . 10 (𝐵𝐴 → ((𝑥𝐴 ↦ {𝑥}) ↾ 𝐵) = (𝑥𝐵 ↦ {𝑥}))
53, 4syl5eq 2865 . . . . . . . . 9 (𝐵𝐴 → (𝐹𝐵) = (𝑥𝐵 ↦ {𝑥}))
65rneqd 5801 . . . . . . . 8 (𝐵𝐴 → ran (𝐹𝐵) = ran (𝑥𝐵 ↦ {𝑥}))
7 rnmptsn 34498 . . . . . . . 8 ran (𝑥𝐵 ↦ {𝑥}) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
86, 7syl6eq 2869 . . . . . . 7 (𝐵𝐴 → ran (𝐹𝐵) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
91, 8syl5eq 2865 . . . . . 6 (𝐵𝐴 → (𝐹𝐵) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
109unieqd 4840 . . . . 5 (𝐵𝐴 (𝐹𝐵) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
1110eleq2d 2895 . . . 4 (𝐵𝐴 → (𝑥 (𝐹𝐵) ↔ 𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
12 eleq1w 2892 . . . . . 6 (𝑧 = 𝑥 → (𝑧𝐵𝑥𝐵))
13 eluniab 4841 . . . . . . . . 9 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} ↔ ∃𝑢(𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}))
14 ancom 461 . . . . . . . . . . . . 13 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) ↔ (∃𝑥𝐵 𝑢 = {𝑥} ∧ 𝑧𝑢))
15 r19.41v 3344 . . . . . . . . . . . . 13 (∃𝑥𝐵 (𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ (∃𝑥𝐵 𝑢 = {𝑥} ∧ 𝑧𝑢))
16 df-rex 3141 . . . . . . . . . . . . 13 (∃𝑥𝐵 (𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)))
1714, 15, 163bitr2i 300 . . . . . . . . . . . 12 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) ↔ ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)))
18 eleq2 2898 . . . . . . . . . . . . . . . . 17 (𝑢 = {𝑥} → (𝑧𝑢𝑧 ∈ {𝑥}))
1918anbi2d 628 . . . . . . . . . . . . . . . 16 (𝑢 = {𝑥} → ((𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2019adantr 481 . . . . . . . . . . . . . . 15 ((𝑢 = {𝑥} ∧ 𝑧𝑢) → ((𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2120ibi 268 . . . . . . . . . . . . . 14 ((𝑢 = {𝑥} ∧ 𝑧𝑢) → (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥}))
2221anim2i 616 . . . . . . . . . . . . 13 ((𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)) → (𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2322eximi 1826 . . . . . . . . . . . 12 (∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)) → ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2417, 23sylbi 218 . . . . . . . . . . 11 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
25 an12 641 . . . . . . . . . . . . 13 ((𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})) ↔ (𝑢 = {𝑥} ∧ (𝑥𝐵𝑧 ∈ {𝑥})))
2625exbii 1839 . . . . . . . . . . . 12 (∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})) ↔ ∃𝑥(𝑢 = {𝑥} ∧ (𝑥𝐵𝑧 ∈ {𝑥})))
27 exsimpr 1861 . . . . . . . . . . . 12 (∃𝑥(𝑢 = {𝑥} ∧ (𝑥𝐵𝑧 ∈ {𝑥})) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
2826, 27sylbi 218 . . . . . . . . . . 11 (∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
2924, 28syl 17 . . . . . . . . . 10 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
3029exlimiv 1922 . . . . . . . . 9 (∃𝑢(𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
3113, 30sylbi 218 . . . . . . . 8 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
32 velsn 4573 . . . . . . . . . 10 (𝑧 ∈ {𝑥} ↔ 𝑧 = 𝑥)
3332anbi2i 622 . . . . . . . . 9 ((𝑥𝐵𝑧 ∈ {𝑥}) ↔ (𝑥𝐵𝑧 = 𝑥))
3433exbii 1839 . . . . . . . 8 (∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}) ↔ ∃𝑥(𝑥𝐵𝑧 = 𝑥))
3531, 34sylib 219 . . . . . . 7 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → ∃𝑥(𝑥𝐵𝑧 = 𝑥))
3612biimparc 480 . . . . . . . 8 ((𝑥𝐵𝑧 = 𝑥) → 𝑧𝐵)
3736exlimiv 1922 . . . . . . 7 (∃𝑥(𝑥𝐵𝑧 = 𝑥) → 𝑧𝐵)
3835, 37syl 17 . . . . . 6 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → 𝑧𝐵)
3912, 38vtoclga 3571 . . . . 5 (𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → 𝑥𝐵)
40 equid 2010 . . . . . 6 𝑥 = 𝑥
41 eqid 2818 . . . . . . . . . . . 12 {𝑥} = {𝑥}
42 snex 5322 . . . . . . . . . . . . . 14 {𝑥} ∈ V
43 sbcg 3844 . . . . . . . . . . . . . 14 ({𝑥} ∈ V → ([{𝑥} / 𝑢]𝑥𝐵𝑥𝐵))
4442, 43ax-mp 5 . . . . . . . . . . . . 13 ([{𝑥} / 𝑢]𝑥𝐵𝑥𝐵)
45 eqsbc3 3814 . . . . . . . . . . . . . 14 ({𝑥} ∈ V → ([{𝑥} / 𝑢]𝑢 = {𝑥} ↔ {𝑥} = {𝑥}))
4642, 45ax-mp 5 . . . . . . . . . . . . 13 ([{𝑥} / 𝑢]𝑢 = {𝑥} ↔ {𝑥} = {𝑥})
4718adantl 482 . . . . . . . . . . . . . . . . . 18 ((𝑥𝐵𝑢 = {𝑥}) → (𝑧𝑢𝑧 ∈ {𝑥}))
48 df-rex 3141 . . . . . . . . . . . . . . . . . . . 20 (∃𝑥𝐵 𝑢 = {𝑥} ↔ ∃𝑥(𝑥𝐵𝑢 = {𝑥}))
4913biimpri 229 . . . . . . . . . . . . . . . . . . . . . 22 (∃𝑢(𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
504919.23bi 2180 . . . . . . . . . . . . . . . . . . . . 21 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
5150expcom 414 . . . . . . . . . . . . . . . . . . . 20 (∃𝑥𝐵 𝑢 = {𝑥} → (𝑧𝑢𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
5248, 51sylbir 236 . . . . . . . . . . . . . . . . . . 19 (∃𝑥(𝑥𝐵𝑢 = {𝑥}) → (𝑧𝑢𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
535219.23bi 2180 . . . . . . . . . . . . . . . . . 18 ((𝑥𝐵𝑢 = {𝑥}) → (𝑧𝑢𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
5447, 53sylbird 261 . . . . . . . . . . . . . . . . 17 ((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
5554sbcth 3784 . . . . . . . . . . . . . . . 16 ({𝑥} ∈ V → [{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})))
5642, 55ax-mp 5 . . . . . . . . . . . . . . 15 [{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
57 sbcimg 3817 . . . . . . . . . . . . . . . 16 ({𝑥} ∈ V → ([{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})) ↔ ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) → [{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))))
5842, 57ax-mp 5 . . . . . . . . . . . . . . 15 ([{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})) ↔ ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) → [{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})))
5956, 58mpbi 231 . . . . . . . . . . . . . 14 ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) → [{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
60 sbcan 3818 . . . . . . . . . . . . . 14 ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) ↔ ([{𝑥} / 𝑢]𝑥𝐵[{𝑥} / 𝑢]𝑢 = {𝑥}))
61 nfv 1906 . . . . . . . . . . . . . . . 16 𝑢 𝑧 ∈ {𝑥}
62 nfab1 2976 . . . . . . . . . . . . . . . . . 18 𝑢{𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
6362nfuni 4837 . . . . . . . . . . . . . . . . 17 𝑢 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
6463nfcri 2968 . . . . . . . . . . . . . . . 16 𝑢 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
6561, 64nfim 1888 . . . . . . . . . . . . . . 15 𝑢(𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
6642, 65sbcgfi 3845 . . . . . . . . . . . . . 14 ([{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}) ↔ (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
6759, 60, 663imtr3i 292 . . . . . . . . . . . . 13 (([{𝑥} / 𝑢]𝑥𝐵[{𝑥} / 𝑢]𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
6844, 46, 67syl2anbr 598 . . . . . . . . . . . 12 ((𝑥𝐵 ∧ {𝑥} = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
6941, 68mpan2 687 . . . . . . . . . . 11 (𝑥𝐵 → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7032, 69syl5bir 244 . . . . . . . . . 10 (𝑥𝐵 → (𝑧 = 𝑥𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
71 eleq1w 2892 . . . . . . . . . 10 (𝑧 = 𝑥 → (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} ↔ 𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7270, 71mpbidi 242 . . . . . . . . 9 (𝑥𝐵 → (𝑧 = 𝑥𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7372com12 32 . . . . . . . 8 (𝑧 = 𝑥 → (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7473sbimi 2070 . . . . . . 7 ([𝑥 / 𝑧]𝑧 = 𝑥 → [𝑥 / 𝑧](𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
75 equsb3 2100 . . . . . . 7 ([𝑥 / 𝑧]𝑧 = 𝑥𝑥 = 𝑥)
76 sbv 2089 . . . . . . 7 ([𝑥 / 𝑧](𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}) ↔ (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7774, 75, 763imtr3i 292 . . . . . 6 (𝑥 = 𝑥 → (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7840, 77ax-mp 5 . . . . 5 (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
7939, 78impbii 210 . . . 4 (𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} ↔ 𝑥𝐵)
8011, 79syl6bb 288 . . 3 (𝐵𝐴 → (𝑥 (𝐹𝐵) ↔ 𝑥𝐵))
8180eqrdv 2816 . 2 (𝐵𝐴 (𝐹𝐵) = 𝐵)
8281eqcomd 2824 1 (𝐵𝐴𝐵 = (𝐹𝐵))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 207  wa 396   = wceq 1528  wex 1771  [wsb 2060  wcel 2105  {cab 2796  wrex 3136  Vcvv 3492  [wsbc 3769  wss 3933  {csn 4557   cuni 4830  cmpt 5137  ran crn 5549  cres 5550  cima 5551
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1787  ax-4 1801  ax-5 1902  ax-6 1961  ax-7 2006  ax-8 2107  ax-9 2115  ax-10 2136  ax-11 2151  ax-12 2167  ax-ext 2790  ax-sep 5194  ax-nul 5201  ax-pr 5320
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 842  df-3an 1081  df-tru 1531  df-ex 1772  df-nf 1776  df-sb 2061  df-mo 2615  df-eu 2647  df-clab 2797  df-cleq 2811  df-clel 2890  df-nfc 2960  df-ral 3140  df-rex 3141  df-rab 3144  df-v 3494  df-sbc 3770  df-dif 3936  df-un 3938  df-in 3940  df-ss 3949  df-nul 4289  df-if 4464  df-sn 4558  df-pr 4560  df-op 4564  df-uni 4831  df-br 5058  df-opab 5120  df-mpt 5138  df-xp 5554  df-rel 5555  df-cnv 5556  df-dm 5558  df-rn 5559  df-res 5560  df-ima 5561
This theorem is referenced by:  mptsnun  34502
  Copyright terms: Public domain W3C validator