MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  ssimaex Structured version   Visualization version   GIF version

Theorem ssimaex 6996
Description: The existence of a subimage. (Contributed by NM, 8-Apr-2007.)
Hypothesis
Ref Expression
ssimaex.1 𝐴 ∈ V
Assertion
Ref Expression
ssimaex ((Fun 𝐹 ∧ 𝐵 ⊆ (𝐹 “ 𝐴)) → ∃𝑥(𝑥 ⊆ 𝐴 ∧ 𝐵 = (𝐹 “ 𝑥)))
Distinct variable groups:   𝑥,𝐴   𝑥,𝐵   𝑥,𝐹

Proof of Theorem ssimaex
Dummy variables 𝑤 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 dmres 6016 . . . . 5 dom (𝐹 ↾ 𝐴) = (𝐴 ∩ dom 𝐹)
21imaeq2i 6063 . . . 4 (𝐹 “ dom (𝐹 ↾ 𝐴)) = (𝐹 “ (𝐴 ∩ dom 𝐹))
3 imadmres 6249 . . . 4 (𝐹 “ dom (𝐹 ↾ 𝐴)) = (𝐹 “ 𝐴)
42, 3eqtr3i 2788 . . 3 (𝐹 “ (𝐴 ∩ dom 𝐹)) = (𝐹 “ 𝐴)
54sseq2i 3942 . 2 (𝐵 ⊆ (𝐹 “ (𝐴 ∩ dom 𝐹)) ↔ 𝐵 ⊆ (𝐹 “ 𝐴))
6 ssrab2 4008 . . . 4 {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} ⊆ (𝐴 ∩ dom 𝐹)
7 ssel2 3908 . . . . . . . . 9 ((𝐵 ⊆ (𝐹 “ (𝐴 ∩ dom 𝐹)) ∧ 𝑧 ∈ 𝐵) → 𝑧 ∈ (𝐹 “ (𝐴 ∩ dom 𝐹)))
87adantll 727 . . . . . . . 8 (((Fun 𝐹 ∧ 𝐵 ⊆ (𝐹 “ (𝐴 ∩ dom 𝐹))) ∧ 𝑧 ∈ 𝐵) → 𝑧 ∈ (𝐹 “ (𝐴 ∩ dom 𝐹)))
9 fvelima 6976 . . . . . . . . . . . 12 ((Fun 𝐹 ∧ 𝑧 ∈ (𝐹 “ (𝐴 ∩ dom 𝐹))) → ∃𝑤 ∈ (𝐴 ∩ dom 𝐹)(𝐹‘𝑤) = 𝑧)
109ex 418 . . . . . . . . . . 11 (Fun 𝐹 → (𝑧 ∈ (𝐹 “ (𝐴 ∩ dom 𝐹)) → ∃𝑤 ∈ (𝐴 ∩ dom 𝐹)(𝐹‘𝑤) = 𝑧))
1110adantr 486 . . . . . . . . . 10 ((Fun 𝐹 ∧ 𝑧 ∈ 𝐵) → (𝑧 ∈ (𝐹 “ (𝐴 ∩ dom 𝐹)) → ∃𝑤 ∈ (𝐴 ∩ dom 𝐹)(𝐹‘𝑤) = 𝑧))
12 eleq1a 2859 . . . . . . . . . . . . . . . 16 (𝑧 ∈ 𝐵 → ((𝐹‘𝑤) = 𝑧 → (𝐹‘𝑤) ∈ 𝐵))
1312anim2d 624 . . . . . . . . . . . . . . 15 (𝑧 ∈ 𝐵 → ((𝑤 ∈ (𝐴 ∩ dom 𝐹) ∧ (𝐹‘𝑤) = 𝑧) → (𝑤 ∈ (𝐴 ∩ dom 𝐹) ∧ (𝐹‘𝑤) ∈ 𝐵)))
14 fveq2 6911 . . . . . . . . . . . . . . . . 17 (𝑦 = 𝑤 → (𝐹‘𝑦) = (𝐹‘𝑤))
1514eleq1d 2849 . . . . . . . . . . . . . . . 16 (𝑦 = 𝑤 → ((𝐹‘𝑦) ∈ 𝐵 ↔ (𝐹‘𝑤) ∈ 𝐵))
1615elrab 3648 . . . . . . . . . . . . . . 15 (𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} ↔ (𝑤 ∈ (𝐴 ∩ dom 𝐹) ∧ (𝐹‘𝑤) ∈ 𝐵))
1713, 16imbitrrdi 255 . . . . . . . . . . . . . 14 (𝑧 ∈ 𝐵 → ((𝑤 ∈ (𝐴 ∩ dom 𝐹) ∧ (𝐹‘𝑤) = 𝑧) → 𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵}))
18 simpr 490 . . . . . . . . . . . . . 14 ((𝑤 ∈ (𝐴 ∩ dom 𝐹) ∧ (𝐹‘𝑤) = 𝑧) → (𝐹‘𝑤) = 𝑧)
1917, 18jca2 523 . . . . . . . . . . . . 13 (𝑧 ∈ 𝐵 → ((𝑤 ∈ (𝐴 ∩ dom 𝐹) ∧ (𝐹‘𝑤) = 𝑧) → (𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} ∧ (𝐹‘𝑤) = 𝑧)))
2019reximdv2 3176 . . . . . . . . . . . 12 (𝑧 ∈ 𝐵 → (∃𝑤 ∈ (𝐴 ∩ dom 𝐹)(𝐹‘𝑤) = 𝑧 → ∃𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} (𝐹‘𝑤) = 𝑧))
2120adantl 487 . . . . . . . . . . 11 ((Fun 𝐹 ∧ 𝑧 ∈ 𝐵) → (∃𝑤 ∈ (𝐴 ∩ dom 𝐹)(𝐹‘𝑤) = 𝑧 → ∃𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} (𝐹‘𝑤) = 𝑧))
22 funfn 6593 . . . . . . . . . . . . 13 (Fun 𝐹 ↔ 𝐹 Fn dom 𝐹)
23 inss2 4137 . . . . . . . . . . . . . . 15 (𝐴 ∩ dom 𝐹) ⊆ dom 𝐹
246, 23sstri 3922 . . . . . . . . . . . . . 14 {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} ⊆ dom 𝐹
25 fvelimab 6983 . . . . . . . . . . . . . 14 ((𝐹 Fn dom 𝐹 ∧ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} ⊆ dom 𝐹) → (𝑧 ∈ (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵}) ↔ ∃𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} (𝐹‘𝑤) = 𝑧))
2624, 25mpan2 704 . . . . . . . . . . . . 13 (𝐹 Fn dom 𝐹 → (𝑧 ∈ (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵}) ↔ ∃𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} (𝐹‘𝑤) = 𝑧))
2722, 26sylbi 220 . . . . . . . . . . . 12 (Fun 𝐹 → (𝑧 ∈ (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵}) ↔ ∃𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} (𝐹‘𝑤) = 𝑧))
2827adantr 486 . . . . . . . . . . 11 ((Fun 𝐹 ∧ 𝑧 ∈ 𝐵) → (𝑧 ∈ (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵}) ↔ ∃𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} (𝐹‘𝑤) = 𝑧))
2921, 28sylibrd 262 . . . . . . . . . 10 ((Fun 𝐹 ∧ 𝑧 ∈ 𝐵) → (∃𝑤 ∈ (𝐴 ∩ dom 𝐹)(𝐹‘𝑤) = 𝑧 → 𝑧 ∈ (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵})))
3011, 29syld 48 . . . . . . . . 9 ((Fun 𝐹 ∧ 𝑧 ∈ 𝐵) → (𝑧 ∈ (𝐹 “ (𝐴 ∩ dom 𝐹)) → 𝑧 ∈ (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵})))
3130adantlr 728 . . . . . . . 8 (((Fun 𝐹 ∧ 𝐵 ⊆ (𝐹 “ (𝐴 ∩ dom 𝐹))) ∧ 𝑧 ∈ 𝐵) → (𝑧 ∈ (𝐹 “ (𝐴 ∩ dom 𝐹)) → 𝑧 ∈ (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵})))
328, 31mpd 16 . . . . . . 7 (((Fun 𝐹 ∧ 𝐵 ⊆ (𝐹 “ (𝐴 ∩ dom 𝐹))) ∧ 𝑧 ∈ 𝐵) → 𝑧 ∈ (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵}))
3332ex 418 . . . . . 6 ((Fun 𝐹 ∧ 𝐵 ⊆ (𝐹 “ (𝐴 ∩ dom 𝐹))) → (𝑧 ∈ 𝐵 → 𝑧 ∈ (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵})))
34 fvelima 6976 . . . . . . . . 9 ((Fun 𝐹 ∧ 𝑧 ∈ (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵})) → ∃𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} (𝐹‘𝑤) = 𝑧)
3534ex 418 . . . . . . . 8 (Fun 𝐹 → (𝑧 ∈ (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵}) → ∃𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} (𝐹‘𝑤) = 𝑧))
36 eleq1 2852 . . . . . . . . . . . 12 ((𝐹‘𝑤) = 𝑧 → ((𝐹‘𝑤) ∈ 𝐵 ↔ 𝑧 ∈ 𝐵))
3736biimpcd 252 . . . . . . . . . . 11 ((𝐹‘𝑤) ∈ 𝐵 → ((𝐹‘𝑤) = 𝑧 → 𝑧 ∈ 𝐵))
3837adantl 487 . . . . . . . . . 10 ((𝑤 ∈ (𝐴 ∩ dom 𝐹) ∧ (𝐹‘𝑤) ∈ 𝐵) → ((𝐹‘𝑤) = 𝑧 → 𝑧 ∈ 𝐵))
3916, 38sylbi 220 . . . . . . . . 9 (𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} → ((𝐹‘𝑤) = 𝑧 → 𝑧 ∈ 𝐵))
4039rexlimiv 3160 . . . . . . . 8 (∃𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} (𝐹‘𝑤) = 𝑧 → 𝑧 ∈ 𝐵)
4135, 40syl6 36 . . . . . . 7 (Fun 𝐹 → (𝑧 ∈ (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵}) → 𝑧 ∈ 𝐵))
4241adantr 486 . . . . . 6 ((Fun 𝐹 ∧ 𝐵 ⊆ (𝐹 “ (𝐴 ∩ dom 𝐹))) → (𝑧 ∈ (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵}) → 𝑧 ∈ 𝐵))
4333, 42impbid 215 . . . . 5 ((Fun 𝐹 ∧ 𝐵 ⊆ (𝐹 “ (𝐴 ∩ dom 𝐹))) → (𝑧 ∈ 𝐵 ↔ 𝑧 ∈ (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵})))
4443eqrdv 2761 . . . 4 ((Fun 𝐹 ∧ 𝐵 ⊆ (𝐹 “ (𝐴 ∩ dom 𝐹))) → 𝐵 = (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵}))
45 ssimaex.1 . . . . . . 7 𝐴 ∈ V
4645inex1 5282 . . . . . 6 (𝐴 ∩ dom 𝐹) ∈ V
4746rabex 5305 . . . . 5 {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} ∈ V
48 sseq1 3938 . . . . . 6 (𝑥 = {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} → (𝑥 ⊆ (𝐴 ∩ dom 𝐹) ↔ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} ⊆ (𝐴 ∩ dom 𝐹)))
49 imaeq2 6061 . . . . . . 7 (𝑥 = {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} → (𝐹 “ 𝑥) = (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵}))
5049eqeq2d 2774 . . . . . 6 (𝑥 = {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} → (𝐵 = (𝐹 “ 𝑥) ↔ 𝐵 = (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵})))
5148, 50anbi12d 644 . . . . 5 (𝑥 = {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} → ((𝑥 ⊆ (𝐴 ∩ dom 𝐹) ∧ 𝐵 = (𝐹 “ 𝑥)) ↔ ({𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} ⊆ (𝐴 ∩ dom 𝐹) ∧ 𝐵 = (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵}))))
5247, 51spcev 3564 . . . 4 (({𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} ⊆ (𝐴 ∩ dom 𝐹) ∧ 𝐵 = (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵})) → ∃𝑥(𝑥 ⊆ (𝐴 ∩ dom 𝐹) ∧ 𝐵 = (𝐹 “ 𝑥)))
536, 44, 52sylancr 599 . . 3 ((Fun 𝐹 ∧ 𝐵 ⊆ (𝐹 “ (𝐴 ∩ dom 𝐹))) → ∃𝑥(𝑥 ⊆ (𝐴 ∩ dom 𝐹) ∧ 𝐵 = (𝐹 “ 𝑥)))
54 inss1 4136 . . . . . 6 (𝐴 ∩ dom 𝐹) ⊆ 𝐴
55 sstr 3921 . . . . . 6 ((𝑥 ⊆ (𝐴 ∩ dom 𝐹) ∧ (𝐴 ∩ dom 𝐹) ⊆ 𝐴) → 𝑥 ⊆ 𝐴)
5654, 55mpan2 704 . . . . 5 (𝑥 ⊆ (𝐴 ∩ dom 𝐹) → 𝑥 ⊆ 𝐴)
5756anim1i 627 . . . 4 ((𝑥 ⊆ (𝐴 ∩ dom 𝐹) ∧ 𝐵 = (𝐹 “ 𝑥)) → (𝑥 ⊆ 𝐴 ∧ 𝐵 = (𝐹 “ 𝑥)))
5857eximi 1868 . . 3 (∃𝑥(𝑥 ⊆ (𝐴 ∩ dom 𝐹) ∧ 𝐵 = (𝐹 “ 𝑥)) → ∃𝑥(𝑥 ⊆ 𝐴 ∧ 𝐵 = (𝐹 “ 𝑥)))
5953, 58syl 18 . 2 ((Fun 𝐹 ∧ 𝐵 ⊆ (𝐹 “ (𝐴 ∩ dom 𝐹))) → ∃𝑥(𝑥 ⊆ 𝐴 ∧ 𝐵 = (𝐹 “ 𝑥)))
605, 59sylan2br 607 1 ((Fun 𝐹 ∧ 𝐵 ⊆ (𝐹 “ 𝐴)) → ∃𝑥(𝑥 ⊆ 𝐴 ∧ 𝐵 = (𝐹 “ 𝑥)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401   = wceq 1570  ∃wex 1812   ∈ wcel 2147  ∃wrex 3090  {crab 3416  Vcvv 3454   ⊆ wss 3900   ∩ cin 4092  dom cdm 5656   ↾ cres 5658   “ cima 5659  Fun wfun 6555   Fn wfn 6556  ‘cfv 6561
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-12 2216  ax-ext 2735  ax-sep 5253  ax-nul 5264  ax-pr 5396
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-ne 2960  df-ral 3081  df-rex 3091  df-rab 3417  df-v 3456  df-ss 3901  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-pw 4562  df-sn 4589  df-pr 4591  df-op 4839  df-uni 4871  df-br 5107  df-opab 5172  df-id 5551  df-xp 5662  df-rel 5663  df-cnv 5664  df-co 5665  df-dm 5666  df-rn 5667  df-res 5668  df-ima 5669  df-iota 6515  df-fun 6563  df-fn 6564  df-fv 6569
This theorem is used by:  ssimaexg  6997
  Copyright terms: Public domain W3C validator