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 32817
Description: This is the core of the proof of mptsnun 32818, 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 5087 . . . . . . 7 (𝐹𝐵) = ran (𝐹𝐵)
2 mptsnun.f . . . . . . . . . . 11 𝐹 = (𝑥𝐴 ↦ {𝑥})
32reseq1i 5352 . . . . . . . . . 10 (𝐹𝐵) = ((𝑥𝐴 ↦ {𝑥}) ↾ 𝐵)
4 resmpt 5408 . . . . . . . . . 10 (𝐵𝐴 → ((𝑥𝐴 ↦ {𝑥}) ↾ 𝐵) = (𝑥𝐵 ↦ {𝑥}))
53, 4syl5eq 2667 . . . . . . . . 9 (𝐵𝐴 → (𝐹𝐵) = (𝑥𝐵 ↦ {𝑥}))
65rneqd 5313 . . . . . . . 8 (𝐵𝐴 → ran (𝐹𝐵) = ran (𝑥𝐵 ↦ {𝑥}))
7 rnmptsn 32814 . . . . . . . 8 ran (𝑥𝐵 ↦ {𝑥}) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
86, 7syl6eq 2671 . . . . . . 7 (𝐵𝐴 → ran (𝐹𝐵) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
91, 8syl5eq 2667 . . . . . 6 (𝐵𝐴 → (𝐹𝐵) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
109unieqd 4412 . . . . 5 (𝐵𝐴 (𝐹𝐵) = {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
1110eleq2d 2684 . . . 4 (𝐵𝐴 → (𝑥 (𝐹𝐵) ↔ 𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
12 eleq1 2686 . . . . . 6 (𝑧 = 𝑥 → (𝑧𝐵𝑥𝐵))
13 eluniab 4413 . . . . . . . . 9 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} ↔ ∃𝑢(𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}))
14 ancom 466 . . . . . . . . . . . . 13 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) ↔ (∃𝑥𝐵 𝑢 = {𝑥} ∧ 𝑧𝑢))
15 r19.41v 3081 . . . . . . . . . . . . 13 (∃𝑥𝐵 (𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ (∃𝑥𝐵 𝑢 = {𝑥} ∧ 𝑧𝑢))
16 df-rex 2913 . . . . . . . . . . . . 13 (∃𝑥𝐵 (𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)))
1714, 15, 163bitr2i 288 . . . . . . . . . . . 12 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) ↔ ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)))
18 eleq2 2687 . . . . . . . . . . . . . . . . 17 (𝑢 = {𝑥} → (𝑧𝑢𝑧 ∈ {𝑥}))
1918anbi2d 739 . . . . . . . . . . . . . . . 16 (𝑢 = {𝑥} → ((𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2019adantr 481 . . . . . . . . . . . . . . 15 ((𝑢 = {𝑥} ∧ 𝑧𝑢) → ((𝑢 = {𝑥} ∧ 𝑧𝑢) ↔ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2120ibi 256 . . . . . . . . . . . . . 14 ((𝑢 = {𝑥} ∧ 𝑧𝑢) → (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥}))
2221anim2i 592 . . . . . . . . . . . . 13 ((𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)) → (𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2322eximi 1759 . . . . . . . . . . . 12 (∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧𝑢)) → ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
2417, 23sylbi 207 . . . . . . . . . . 11 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → ∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})))
25 an12 837 . . . . . . . . . . . . 13 ((𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})) ↔ (𝑢 = {𝑥} ∧ (𝑥𝐵𝑧 ∈ {𝑥})))
2625exbii 1771 . . . . . . . . . . . 12 (∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})) ↔ ∃𝑥(𝑢 = {𝑥} ∧ (𝑥𝐵𝑧 ∈ {𝑥})))
27 exsimpr 1793 . . . . . . . . . . . 12 (∃𝑥(𝑢 = {𝑥} ∧ (𝑥𝐵𝑧 ∈ {𝑥})) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
2826, 27sylbi 207 . . . . . . . . . . 11 (∃𝑥(𝑥𝐵 ∧ (𝑢 = {𝑥} ∧ 𝑧 ∈ {𝑥})) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
2924, 28syl 17 . . . . . . . . . 10 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
3029exlimiv 1855 . . . . . . . . 9 (∃𝑢(𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
3113, 30sylbi 207 . . . . . . . 8 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → ∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}))
32 velsn 4164 . . . . . . . . . 10 (𝑧 ∈ {𝑥} ↔ 𝑧 = 𝑥)
3332anbi2i 729 . . . . . . . . 9 ((𝑥𝐵𝑧 ∈ {𝑥}) ↔ (𝑥𝐵𝑧 = 𝑥))
3433exbii 1771 . . . . . . . 8 (∃𝑥(𝑥𝐵𝑧 ∈ {𝑥}) ↔ ∃𝑥(𝑥𝐵𝑧 = 𝑥))
3531, 34sylib 208 . . . . . . 7 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → ∃𝑥(𝑥𝐵𝑧 = 𝑥))
3612biimparc 504 . . . . . . . 8 ((𝑥𝐵𝑧 = 𝑥) → 𝑧𝐵)
3736exlimiv 1855 . . . . . . 7 (∃𝑥(𝑥𝐵𝑧 = 𝑥) → 𝑧𝐵)
3835, 37syl 17 . . . . . 6 (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → 𝑧𝐵)
3912, 38vtoclga 3258 . . . . 5 (𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} → 𝑥𝐵)
40 equid 1936 . . . . . 6 𝑥 = 𝑥
41 eqid 2621 . . . . . . . . . . . 12 {𝑥} = {𝑥}
42 snex 4869 . . . . . . . . . . . . . 14 {𝑥} ∈ V
43 sbcg 3485 . . . . . . . . . . . . . 14 ({𝑥} ∈ V → ([{𝑥} / 𝑢]𝑥𝐵𝑥𝐵))
4442, 43ax-mp 5 . . . . . . . . . . . . 13 ([{𝑥} / 𝑢]𝑥𝐵𝑥𝐵)
45 eqsbc3 3457 . . . . . . . . . . . . . 14 ({𝑥} ∈ V → ([{𝑥} / 𝑢]𝑢 = {𝑥} ↔ {𝑥} = {𝑥}))
4642, 45ax-mp 5 . . . . . . . . . . . . 13 ([{𝑥} / 𝑢]𝑢 = {𝑥} ↔ {𝑥} = {𝑥})
4718adantl 482 . . . . . . . . . . . . . . . . . 18 ((𝑥𝐵𝑢 = {𝑥}) → (𝑧𝑢𝑧 ∈ {𝑥}))
48 df-rex 2913 . . . . . . . . . . . . . . . . . . . 20 (∃𝑥𝐵 𝑢 = {𝑥} ↔ ∃𝑥(𝑥𝐵𝑢 = {𝑥}))
4913biimpri 218 . . . . . . . . . . . . . . . . . . . . . 22 (∃𝑢(𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
504919.23bi 2059 . . . . . . . . . . . . . . . . . . . . 21 ((𝑧𝑢 ∧ ∃𝑥𝐵 𝑢 = {𝑥}) → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
5150expcom 451 . . . . . . . . . . . . . . . . . . . 20 (∃𝑥𝐵 𝑢 = {𝑥} → (𝑧𝑢𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
5248, 51sylbir 225 . . . . . . . . . . . . . . . . . . 19 (∃𝑥(𝑥𝐵𝑢 = {𝑥}) → (𝑧𝑢𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
535219.23bi 2059 . . . . . . . . . . . . . . . . . 18 ((𝑥𝐵𝑢 = {𝑥}) → (𝑧𝑢𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
5447, 53sylbird 250 . . . . . . . . . . . . . . . . 17 ((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
5554sbcth 3432 . . . . . . . . . . . . . . . 16 ({𝑥} ∈ V → [{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})))
5642, 55ax-mp 5 . . . . . . . . . . . . . . 15 [{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
57 sbcimg 3459 . . . . . . . . . . . . . . . 16 ({𝑥} ∈ V → ([{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})) ↔ ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) → [{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))))
5842, 57ax-mp 5 . . . . . . . . . . . . . . 15 ([{𝑥} / 𝑢]((𝑥𝐵𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})) ↔ ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) → [{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})))
5956, 58mpbi 220 . . . . . . . . . . . . . 14 ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) → [{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
60 sbcan 3460 . . . . . . . . . . . . . 14 ([{𝑥} / 𝑢](𝑥𝐵𝑢 = {𝑥}) ↔ ([{𝑥} / 𝑢]𝑥𝐵[{𝑥} / 𝑢]𝑢 = {𝑥}))
61 nfv 1840 . . . . . . . . . . . . . . . 16 𝑢 𝑧 ∈ {𝑥}
62 nfab1 2763 . . . . . . . . . . . . . . . . . 18 𝑢{𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
6362nfuni 4408 . . . . . . . . . . . . . . . . 17 𝑢 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
6463nfcri 2755 . . . . . . . . . . . . . . . 16 𝑢 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}
6561, 64nfim 1822 . . . . . . . . . . . . . . 15 𝑢(𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
66 sbctt 3482 . . . . . . . . . . . . . . 15 (({𝑥} ∈ V ∧ Ⅎ𝑢(𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})) → ([{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}) ↔ (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})))
6742, 65, 66mp2an 707 . . . . . . . . . . . . . 14 ([{𝑥} / 𝑢](𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}) ↔ (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
6859, 60, 673imtr3i 280 . . . . . . . . . . . . 13 (([{𝑥} / 𝑢]𝑥𝐵[{𝑥} / 𝑢]𝑢 = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
6944, 46, 68syl2anbr 497 . . . . . . . . . . . 12 ((𝑥𝐵 ∧ {𝑥} = {𝑥}) → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7041, 69mpan2 706 . . . . . . . . . . 11 (𝑥𝐵 → (𝑧 ∈ {𝑥} → 𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7132, 70syl5bir 233 . . . . . . . . . 10 (𝑥𝐵 → (𝑧 = 𝑥𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
72 eleq1 2686 . . . . . . . . . 10 (𝑧 = 𝑥 → (𝑧 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} ↔ 𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7371, 72mpbidi 231 . . . . . . . . 9 (𝑥𝐵 → (𝑧 = 𝑥𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7473com12 32 . . . . . . . 8 (𝑧 = 𝑥 → (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7574sbimi 1883 . . . . . . 7 ([𝑥 / 𝑧]𝑧 = 𝑥 → [𝑥 / 𝑧](𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
76 equsb3 2431 . . . . . . 7 ([𝑥 / 𝑧]𝑧 = 𝑥𝑥 = 𝑥)
77 nfv 1840 . . . . . . . 8 𝑧(𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
7877sbf 2379 . . . . . . 7 ([𝑥 / 𝑧](𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}) ↔ (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
7975, 76, 783imtr3i 280 . . . . . 6 (𝑥 = 𝑥 → (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}}))
8040, 79ax-mp 5 . . . . 5 (𝑥𝐵𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}})
8139, 80impbii 199 . . . 4 (𝑥 {𝑢 ∣ ∃𝑥𝐵 𝑢 = {𝑥}} ↔ 𝑥𝐵)
8211, 81syl6bb 276 . . 3 (𝐵𝐴 → (𝑥 (𝐹𝐵) ↔ 𝑥𝐵))
8382eqrdv 2619 . 2 (𝐵𝐴 (𝐹𝐵) = 𝐵)
8483eqcomd 2627 1 (𝐵𝐴𝐵 = (𝐹𝐵))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wa 384   = wceq 1480  wex 1701  wnf 1705  [wsb 1877  wcel 1987  {cab 2607  wrex 2908  Vcvv 3186  [wsbc 3417  wss 3555  {csn 4148   cuni 4402  cmpt 4673  ran crn 5075  cres 5076  cima 5077
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1719  ax-4 1734  ax-5 1836  ax-6 1885  ax-7 1932  ax-9 1996  ax-10 2016  ax-11 2031  ax-12 2044  ax-13 2245  ax-ext 2601  ax-sep 4741  ax-nul 4749  ax-pr 4867
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3an 1038  df-tru 1483  df-ex 1702  df-nf 1707  df-sb 1878  df-eu 2473  df-mo 2474  df-clab 2608  df-cleq 2614  df-clel 2617  df-nfc 2750  df-ral 2912  df-rex 2913  df-rab 2916  df-v 3188  df-sbc 3418  df-dif 3558  df-un 3560  df-in 3562  df-ss 3569  df-nul 3892  df-if 4059  df-sn 4149  df-pr 4151  df-op 4155  df-uni 4403  df-br 4614  df-opab 4674  df-mpt 4675  df-xp 5080  df-rel 5081  df-cnv 5082  df-dm 5084  df-rn 5085  df-res 5086  df-ima 5087
This theorem is referenced by:  mptsnun  32818
  Copyright terms: Public domain W3C validator