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

Theorem ssimaex 6962
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 6003 . . . . 5 dom (𝐹 ↾ 𝐴) = (𝐴 ∩ dom 𝐹)
21imaeq2i 6052 . . . 4 (𝐹 “ dom (𝐹 ↾ 𝐴)) = (𝐹 “ (𝐴 ∩ dom 𝐹))
3 imadmres 6228 . . . 4 (𝐹 “ dom (𝐹 ↾ 𝐴)) = (𝐹 “ 𝐴)
42, 3eqtr3i 2786 . . 3 (𝐹 “ (𝐴 ∩ dom 𝐹)) = (𝐹 “ 𝐴)
54sseq2i 3960 . 2 (𝐵 ⊆ (𝐹 “ (𝐴 ∩ dom 𝐹)) ↔ 𝐵 ⊆ (𝐹 “ 𝐴))
6 ssrab2 4028 . . . 4 {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} ⊆ (𝐴 ∩ dom 𝐹)
7 ssel2 3926 . . . . . . . . 9 ((𝐵 ⊆ (𝐹 “ (𝐴 ∩ dom 𝐹)) ∧ 𝑧 ∈ 𝐵) → 𝑧 ∈ (𝐹 “ (𝐴 ∩ dom 𝐹)))
87adantll 727 . . . . . . . 8 (((Fun 𝐹 ∧ 𝐵 ⊆ (𝐹 “ (𝐴 ∩ dom 𝐹))) ∧ 𝑧 ∈ 𝐵) → 𝑧 ∈ (𝐹 “ (𝐴 ∩ dom 𝐹)))
9 fvelima 6942 . . . . . . . . . . . 12 ((Fun 𝐹 ∧ 𝑧 ∈ (𝐹 “ (𝐴 ∩ dom 𝐹))) → ∃𝑤 ∈ (𝐴 ∩ dom 𝐹)(𝐹‘𝑤) = 𝑧)
109ex 418 . . . . . . . . . . 11 (Fun 𝐹 → (𝑧 ∈ (𝐹 “ (𝐴 ∩ dom 𝐹)) → ∃𝑤 ∈ (𝐴 ∩ dom 𝐹)(𝐹‘𝑤) = 𝑧))
1110adantr 486 . . . . . . . . . 10 ((Fun 𝐹 ∧ 𝑧 ∈ 𝐵) → (𝑧 ∈ (𝐹 “ (𝐴 ∩ dom 𝐹)) → ∃𝑤 ∈ (𝐴 ∩ dom 𝐹)(𝐹‘𝑤) = 𝑧))
12 eleq1a 2856 . . . . . . . . . . . . . . . 16 (𝑧 ∈ 𝐵 → ((𝐹‘𝑤) = 𝑧 → (𝐹‘𝑤) ∈ 𝐵))
1312anim2d 624 . . . . . . . . . . . . . . 15 (𝑧 ∈ 𝐵 → ((𝑤 ∈ (𝐴 ∩ dom 𝐹) ∧ (𝐹‘𝑤) = 𝑧) → (𝑤 ∈ (𝐴 ∩ dom 𝐹) ∧ (𝐹‘𝑤) ∈ 𝐵)))
14 fveq2 6877 . . . . . . . . . . . . . . . . 17 (𝑦 = 𝑤 → (𝐹‘𝑦) = (𝐹‘𝑤))
1514eleq1d 2846 . . . . . . . . . . . . . . . 16 (𝑦 = 𝑤 → ((𝐹‘𝑦) ∈ 𝐵 ↔ (𝐹‘𝑤) ∈ 𝐵))
1615elrab 3645 . . . . . . . . . . . . . . 15 (𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} ↔ (𝑤 ∈ (𝐴 ∩ dom 𝐹) ∧ (𝐹‘𝑤) ∈ 𝐵))
1713, 16imbitrrdi 255 . . . . . . . . . . . . . 14 (𝑧 ∈ 𝐵 → ((𝑤 ∈ (𝐴 ∩ dom 𝐹) ∧ (𝐹‘𝑤) = 𝑧) → 𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵}))
18 simpr 490 . . . . . . . . . . . . . 14 ((𝑤 ∈ (𝐴 ∩ dom 𝐹) ∧ (𝐹‘𝑤) = 𝑧) → (𝐹‘𝑤) = 𝑧)
1917, 18jca2 523 . . . . . . . . . . . . 13 (𝑧 ∈ 𝐵 → ((𝑤 ∈ (𝐴 ∩ dom 𝐹) ∧ (𝐹‘𝑤) = 𝑧) → (𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} ∧ (𝐹‘𝑤) = 𝑧)))
2019reximdv2 3173 . . . . . . . . . . . 12 (𝑧 ∈ 𝐵 → (∃𝑤 ∈ (𝐴 ∩ dom 𝐹)(𝐹‘𝑤) = 𝑧 → ∃𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} (𝐹‘𝑤) = 𝑧))
2120adantl 487 . . . . . . . . . . 11 ((Fun 𝐹 ∧ 𝑧 ∈ 𝐵) → (∃𝑤 ∈ (𝐴 ∩ dom 𝐹)(𝐹‘𝑤) = 𝑧 → ∃𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} (𝐹‘𝑤) = 𝑧))
22 funfn 6562 . . . . . . . . . . . . 13 (Fun 𝐹 ↔ 𝐹 Fn dom 𝐹)
23 inss2 4183 . . . . . . . . . . . . . . 15 (𝐴 ∩ dom 𝐹) ⊆ dom 𝐹
246, 23sstri 3940 . . . . . . . . . . . . . 14 {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} ⊆ dom 𝐹
25 fvelimab 6949 . . . . . . . . . . . . . 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 6942 . . . . . . . . 9 ((Fun 𝐹 ∧ 𝑧 ∈ (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵})) → ∃𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} (𝐹‘𝑤) = 𝑧)
3534ex 418 . . . . . . . 8 (Fun 𝐹 → (𝑧 ∈ (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵}) → ∃𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} (𝐹‘𝑤) = 𝑧))
36 eleq1 2849 . . . . . . . . . . . 12 ((𝐹‘𝑤) = 𝑧 → ((𝐹‘𝑤) ∈ 𝐵 ↔ 𝑧 ∈ 𝐵))
3736biimpcd 252 . . . . . . . . . . 11 ((𝐹‘𝑤) ∈ 𝐵 → ((𝐹‘𝑤) = 𝑧 → 𝑧 ∈ 𝐵))
3837adantl 487 . . . . . . . . . 10 ((𝑤 ∈ (𝐴 ∩ dom 𝐹) ∧ (𝐹‘𝑤) ∈ 𝐵) → ((𝐹‘𝑤) = 𝑧 → 𝑧 ∈ 𝐵))
3916, 38sylbi 220 . . . . . . . . 9 (𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} → ((𝐹‘𝑤) = 𝑧 → 𝑧 ∈ 𝐵))
4039rexlimiv 3157 . . . . . . . 8 (∃𝑤 ∈ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} (𝐹‘𝑤) = 𝑧 → 𝑧 ∈ 𝐵)
4135, 40syl6 36 . . . . . . 7 (Fun 𝐹 → (𝑧 ∈ (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵}) → 𝑧 ∈ 𝐵))
4241adantr 486 . . . . . 6 ((Fun 𝐹 ∧ 𝐵 ⊆ (𝐹 “ (𝐴 ∩ dom 𝐹))) → (𝑧 ∈ (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵}) → 𝑧 ∈ 𝐵))
4333, 42impbid 215 . . . . 5 ((Fun 𝐹 ∧ 𝐵 ⊆ (𝐹 “ (𝐴 ∩ dom 𝐹))) → (𝑧 ∈ 𝐵 ↔ 𝑧 ∈ (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵})))
4443eqrdv 2759 . . . 4 ((Fun 𝐹 ∧ 𝐵 ⊆ (𝐹 “ (𝐴 ∩ dom 𝐹))) → 𝐵 = (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵}))
45 ssimaex.1 . . . . . . 7 𝐴 ∈ V
4645inex1 5277 . . . . . 6 (𝐴 ∩ dom 𝐹) ∈ V
4746rabex 5300 . . . . 5 {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} ∈ V
48 sseq1 3956 . . . . . 6 (𝑥 = {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} → (𝑥 ⊆ (𝐴 ∩ dom 𝐹) ↔ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} ⊆ (𝐴 ∩ dom 𝐹)))
49 imaeq2 6050 . . . . . . 7 (𝑥 = {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} → (𝐹 “ 𝑥) = (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵}))
5049eqeq2d 2772 . . . . . 6 (𝑥 = {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} → (𝐵 = (𝐹 “ 𝑥) ↔ 𝐵 = (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵})))
5148, 50anbi12d 644 . . . . 5 (𝑥 = {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} → ((𝑥 ⊆ (𝐴 ∩ dom 𝐹) ∧ 𝐵 = (𝐹 “ 𝑥)) ↔ ({𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} ⊆ (𝐴 ∩ dom 𝐹) ∧ 𝐵 = (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵}))))
5247, 51spcev 3561 . . . 4 (({𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵} ⊆ (𝐴 ∩ dom 𝐹) ∧ 𝐵 = (𝐹 “ {𝑦 ∈ (𝐴 ∩ dom 𝐹) ∣ (𝐹‘𝑦) ∈ 𝐵})) → ∃𝑥(𝑥 ⊆ (𝐴 ∩ dom 𝐹) ∧ 𝐵 = (𝐹 “ 𝑥)))
536, 44, 52sylancr 599 . . 3 ((Fun 𝐹 ∧ 𝐵 ⊆ (𝐹 “ (𝐴 ∩ dom 𝐹))) → ∃𝑥(𝑥 ⊆ (𝐴 ∩ dom 𝐹) ∧ 𝐵 = (𝐹 “ 𝑥)))
54 inss1 4182 . . . . . 6 (𝐴 ∩ dom 𝐹) ⊆ 𝐴
55 sstr 3939 . . . . . 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 2145  ∃wrex 3087  {crab 3413  Vcvv 3451   ∩ cin 3898   ⊆ wss 3899  dom cdm 5651   ↾ cres 5653   “ cima 5654  Fun wfun 6525   Fn wfn 6526  ‘cfv 6531
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 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-12 2213  ax-ext 2733  ax-sep 5249  ax-nul 5260  ax-pr 5391
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 2100  df-mo 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-ne 2957  df-ral 3078  df-rex 3088  df-rab 3414  df-v 3453  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-br 5104  df-opab 5168  df-id 5546  df-xp 5657  df-rel 5658  df-cnv 5659  df-co 5660  df-dm 5661  df-rn 5662  df-res 5663  df-ima 5664  df-iota 6487  df-fun 6533  df-fn 6534  df-fv 6539
This theorem is used by:  ssimaexg  6963
  Copyright terms: Public domain W3C validator