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

Theorem fvn0ssdmfun 6952
Description: If a class' function values for certain arguments is not the empty set, the arguments are contained in the domain of the class, and the class restricted to the arguments is a function, analogous to fvfundmfvn0 6812. (Contributed by AV, 27-Jan-2020.) (Proof shortened by Peter Mazsa, 2-Oct-2022.)
Assertion
Ref Expression
fvn0ssdmfun (∀𝑎𝐷 (𝐹𝑎) ≠ ∅ → (𝐷 ⊆ dom 𝐹 ∧ Fun (𝐹𝐷)))
Distinct variable groups:   𝐷,𝑎   𝐹,𝑎

Proof of Theorem fvn0ssdmfun
Dummy variables 𝑝 𝑥 𝑦 𝑧 𝑤 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 fvfundmfvn0 6812 . . 3 ((𝐹𝑎) ≠ ∅ → (𝑎 ∈ dom 𝐹 ∧ Fun (𝐹 ↾ {𝑎})))
21ralimi 3087 . 2 (∀𝑎𝐷 (𝐹𝑎) ≠ ∅ → ∀𝑎𝐷 (𝑎 ∈ dom 𝐹 ∧ Fun (𝐹 ↾ {𝑎})))
3 r19.26 3095 . . 3 (∀𝑎𝐷 (𝑎 ∈ dom 𝐹 ∧ Fun (𝐹 ↾ {𝑎})) ↔ (∀𝑎𝐷 𝑎 ∈ dom 𝐹 ∧ ∀𝑎𝐷 Fun (𝐹 ↾ {𝑎})))
4 eleq1w 2821 . . . . . 6 (𝑎 = 𝑝 → (𝑎 ∈ dom 𝐹𝑝 ∈ dom 𝐹))
54rspccv 3558 . . . . 5 (∀𝑎𝐷 𝑎 ∈ dom 𝐹 → (𝑝𝐷𝑝 ∈ dom 𝐹))
65ssrdv 3927 . . . 4 (∀𝑎𝐷 𝑎 ∈ dom 𝐹𝐷 ⊆ dom 𝐹)
7 funrel 6451 . . . . . . . 8 (Fun (𝐹 ↾ {𝑎}) → Rel (𝐹 ↾ {𝑎}))
87ralimi 3087 . . . . . . 7 (∀𝑎𝐷 Fun (𝐹 ↾ {𝑎}) → ∀𝑎𝐷 Rel (𝐹 ↾ {𝑎}))
9 reliun 5726 . . . . . . 7 (Rel 𝑎𝐷 (𝐹 ↾ {𝑎}) ↔ ∀𝑎𝐷 Rel (𝐹 ↾ {𝑎}))
108, 9sylibr 233 . . . . . 6 (∀𝑎𝐷 Fun (𝐹 ↾ {𝑎}) → Rel 𝑎𝐷 (𝐹 ↾ {𝑎}))
11 sneq 4571 . . . . . . . . . . . . . 14 (𝑎 = 𝑥 → {𝑎} = {𝑥})
1211reseq2d 5891 . . . . . . . . . . . . 13 (𝑎 = 𝑥 → (𝐹 ↾ {𝑎}) = (𝐹 ↾ {𝑥}))
1312funeqd 6456 . . . . . . . . . . . 12 (𝑎 = 𝑥 → (Fun (𝐹 ↾ {𝑎}) ↔ Fun (𝐹 ↾ {𝑥})))
1413rspcva 3559 . . . . . . . . . . 11 ((𝑥𝐷 ∧ ∀𝑎𝐷 Fun (𝐹 ↾ {𝑎})) → Fun (𝐹 ↾ {𝑥}))
15 dffun5 6447 . . . . . . . . . . . 12 (Fun (𝐹 ↾ {𝑥}) ↔ (Rel (𝐹 ↾ {𝑥}) ∧ ∀𝑤𝑦𝑧(⟨𝑤, 𝑧⟩ ∈ (𝐹 ↾ {𝑥}) → 𝑧 = 𝑦)))
16 vex 3436 . . . . . . . . . . . . . . . . . 18 𝑥 ∈ V
1716elsnres 5931 . . . . . . . . . . . . . . . . 17 (⟨𝑤, 𝑧⟩ ∈ (𝐹 ↾ {𝑥}) ↔ ∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹))
1817imbi1i 350 . . . . . . . . . . . . . . . 16 ((⟨𝑤, 𝑧⟩ ∈ (𝐹 ↾ {𝑥}) → 𝑧 = 𝑦) ↔ (∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹) → 𝑧 = 𝑦))
1918albii 1822 . . . . . . . . . . . . . . 15 (∀𝑧(⟨𝑤, 𝑧⟩ ∈ (𝐹 ↾ {𝑥}) → 𝑧 = 𝑦) ↔ ∀𝑧(∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹) → 𝑧 = 𝑦))
2019exbii 1850 . . . . . . . . . . . . . 14 (∃𝑦𝑧(⟨𝑤, 𝑧⟩ ∈ (𝐹 ↾ {𝑥}) → 𝑧 = 𝑦) ↔ ∃𝑦𝑧(∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹) → 𝑧 = 𝑦))
2120albii 1822 . . . . . . . . . . . . 13 (∀𝑤𝑦𝑧(⟨𝑤, 𝑧⟩ ∈ (𝐹 ↾ {𝑥}) → 𝑧 = 𝑦) ↔ ∀𝑤𝑦𝑧(∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹) → 𝑧 = 𝑦))
22 equcom 2021 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑎 = 𝑧𝑧 = 𝑎)
23 opeq12 4806 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝑤 = 𝑥𝑧 = 𝑎) → ⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩)
2423ex 413 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑤 = 𝑥 → (𝑧 = 𝑎 → ⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩))
2522, 24syl5bi 241 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑤 = 𝑥 → (𝑎 = 𝑧 → ⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩))
2625adantr 481 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑤 = 𝑥 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → (𝑎 = 𝑧 → ⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩))
2726impcom 408 . . . . . . . . . . . . . . . . . . . . 21 ((𝑎 = 𝑧 ∧ (𝑤 = 𝑥 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹)) → ⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩)
28 opeq2 4805 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑧 = 𝑎 → ⟨𝑥, 𝑧⟩ = ⟨𝑥, 𝑎⟩)
2928equcoms 2023 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑎 = 𝑧 → ⟨𝑥, 𝑧⟩ = ⟨𝑥, 𝑎⟩)
3029eleq1d 2823 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑎 = 𝑧 → (⟨𝑥, 𝑧⟩ ∈ 𝐹 ↔ ⟨𝑥, 𝑎⟩ ∈ 𝐹))
3130biimpcd 248 . . . . . . . . . . . . . . . . . . . . . . 23 (⟨𝑥, 𝑧⟩ ∈ 𝐹 → (𝑎 = 𝑧 → ⟨𝑥, 𝑎⟩ ∈ 𝐹))
3231adantl 482 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑤 = 𝑥 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → (𝑎 = 𝑧 → ⟨𝑥, 𝑎⟩ ∈ 𝐹))
3332impcom 408 . . . . . . . . . . . . . . . . . . . . 21 ((𝑎 = 𝑧 ∧ (𝑤 = 𝑥 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹)) → ⟨𝑥, 𝑎⟩ ∈ 𝐹)
3427, 33jca 512 . . . . . . . . . . . . . . . . . . . 20 ((𝑎 = 𝑧 ∧ (𝑤 = 𝑥 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹)) → (⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹))
3534ex 413 . . . . . . . . . . . . . . . . . . 19 (𝑎 = 𝑧 → ((𝑤 = 𝑥 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → (⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹)))
3635spimevw 1998 . . . . . . . . . . . . . . . . . 18 ((𝑤 = 𝑥 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → ∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹))
3736ex 413 . . . . . . . . . . . . . . . . 17 (𝑤 = 𝑥 → (⟨𝑥, 𝑧⟩ ∈ 𝐹 → ∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹)))
3837imim1d 82 . . . . . . . . . . . . . . . 16 (𝑤 = 𝑥 → ((∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹) → 𝑧 = 𝑦) → (⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
3938alimdv 1919 . . . . . . . . . . . . . . 15 (𝑤 = 𝑥 → (∀𝑧(∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹) → 𝑧 = 𝑦) → ∀𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
4039eximdv 1920 . . . . . . . . . . . . . 14 (𝑤 = 𝑥 → (∃𝑦𝑧(∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹) → 𝑧 = 𝑦) → ∃𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
4140spimvw 1999 . . . . . . . . . . . . 13 (∀𝑤𝑦𝑧(∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹) → 𝑧 = 𝑦) → ∃𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦))
4221, 41sylbi 216 . . . . . . . . . . . 12 (∀𝑤𝑦𝑧(⟨𝑤, 𝑧⟩ ∈ (𝐹 ↾ {𝑥}) → 𝑧 = 𝑦) → ∃𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦))
4315, 42simplbiim 505 . . . . . . . . . . 11 (Fun (𝐹 ↾ {𝑥}) → ∃𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦))
4414, 43syl 17 . . . . . . . . . 10 ((𝑥𝐷 ∧ ∀𝑎𝐷 Fun (𝐹 ↾ {𝑎})) → ∃𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦))
4544expcom 414 . . . . . . . . 9 (∀𝑎𝐷 Fun (𝐹 ↾ {𝑎}) → (𝑥𝐷 → ∃𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
46 impexp 451 . . . . . . . . . . . 12 (((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦) ↔ (𝑥𝐷 → (⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
4746albii 1822 . . . . . . . . . . 11 (∀𝑧((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦) ↔ ∀𝑧(𝑥𝐷 → (⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
4847exbii 1850 . . . . . . . . . 10 (∃𝑦𝑧((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦) ↔ ∃𝑦𝑧(𝑥𝐷 → (⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
49 19.21v 1942 . . . . . . . . . . 11 (∀𝑧(𝑥𝐷 → (⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)) ↔ (𝑥𝐷 → ∀𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
5049exbii 1850 . . . . . . . . . 10 (∃𝑦𝑧(𝑥𝐷 → (⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)) ↔ ∃𝑦(𝑥𝐷 → ∀𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
51 19.37v 1995 . . . . . . . . . 10 (∃𝑦(𝑥𝐷 → ∀𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)) ↔ (𝑥𝐷 → ∃𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
5248, 50, 513bitri 297 . . . . . . . . 9 (∃𝑦𝑧((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦) ↔ (𝑥𝐷 → ∃𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
5345, 52sylibr 233 . . . . . . . 8 (∀𝑎𝐷 Fun (𝐹 ↾ {𝑎}) → ∃𝑦𝑧((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦))
5453alrimiv 1930 . . . . . . 7 (∀𝑎𝐷 Fun (𝐹 ↾ {𝑎}) → ∀𝑥𝑦𝑧((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦))
55 resiun2 5912 . . . . . . . . . . . . . 14 (𝐹 𝑎𝐷 {𝑎}) = 𝑎𝐷 (𝐹 ↾ {𝑎})
5655eqcomi 2747 . . . . . . . . . . . . 13 𝑎𝐷 (𝐹 ↾ {𝑎}) = (𝐹 𝑎𝐷 {𝑎})
5756eleq2i 2830 . . . . . . . . . . . 12 (⟨𝑥, 𝑧⟩ ∈ 𝑎𝐷 (𝐹 ↾ {𝑎}) ↔ ⟨𝑥, 𝑧⟩ ∈ (𝐹 𝑎𝐷 {𝑎}))
58 iunid 4990 . . . . . . . . . . . . . 14 𝑎𝐷 {𝑎} = 𝐷
5958reseq2i 5888 . . . . . . . . . . . . 13 (𝐹 𝑎𝐷 {𝑎}) = (𝐹𝐷)
6059eleq2i 2830 . . . . . . . . . . . 12 (⟨𝑥, 𝑧⟩ ∈ (𝐹 𝑎𝐷 {𝑎}) ↔ ⟨𝑥, 𝑧⟩ ∈ (𝐹𝐷))
61 vex 3436 . . . . . . . . . . . . 13 𝑧 ∈ V
6261opelresi 5899 . . . . . . . . . . . 12 (⟨𝑥, 𝑧⟩ ∈ (𝐹𝐷) ↔ (𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹))
6357, 60, 623bitri 297 . . . . . . . . . . 11 (⟨𝑥, 𝑧⟩ ∈ 𝑎𝐷 (𝐹 ↾ {𝑎}) ↔ (𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹))
6463imbi1i 350 . . . . . . . . . 10 ((⟨𝑥, 𝑧⟩ ∈ 𝑎𝐷 (𝐹 ↾ {𝑎}) → 𝑧 = 𝑦) ↔ ((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦))
6564albii 1822 . . . . . . . . 9 (∀𝑧(⟨𝑥, 𝑧⟩ ∈ 𝑎𝐷 (𝐹 ↾ {𝑎}) → 𝑧 = 𝑦) ↔ ∀𝑧((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦))
6665exbii 1850 . . . . . . . 8 (∃𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝑎𝐷 (𝐹 ↾ {𝑎}) → 𝑧 = 𝑦) ↔ ∃𝑦𝑧((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦))
6766albii 1822 . . . . . . 7 (∀𝑥𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝑎𝐷 (𝐹 ↾ {𝑎}) → 𝑧 = 𝑦) ↔ ∀𝑥𝑦𝑧((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦))
6854, 67sylibr 233 . . . . . 6 (∀𝑎𝐷 Fun (𝐹 ↾ {𝑎}) → ∀𝑥𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝑎𝐷 (𝐹 ↾ {𝑎}) → 𝑧 = 𝑦))
69 dffun5 6447 . . . . . 6 (Fun 𝑎𝐷 (𝐹 ↾ {𝑎}) ↔ (Rel 𝑎𝐷 (𝐹 ↾ {𝑎}) ∧ ∀𝑥𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝑎𝐷 (𝐹 ↾ {𝑎}) → 𝑧 = 𝑦)))
7010, 68, 69sylanbrc 583 . . . . 5 (∀𝑎𝐷 Fun (𝐹 ↾ {𝑎}) → Fun 𝑎𝐷 (𝐹 ↾ {𝑎}))
7158eqcomi 2747 . . . . . . . 8 𝐷 = 𝑎𝐷 {𝑎}
7271reseq2i 5888 . . . . . . 7 (𝐹𝐷) = (𝐹 𝑎𝐷 {𝑎})
7372funeqi 6455 . . . . . 6 (Fun (𝐹𝐷) ↔ Fun (𝐹 𝑎𝐷 {𝑎}))
7455funeqi 6455 . . . . . 6 (Fun (𝐹 𝑎𝐷 {𝑎}) ↔ Fun 𝑎𝐷 (𝐹 ↾ {𝑎}))
7573, 74bitri 274 . . . . 5 (Fun (𝐹𝐷) ↔ Fun 𝑎𝐷 (𝐹 ↾ {𝑎}))
7670, 75sylibr 233 . . . 4 (∀𝑎𝐷 Fun (𝐹 ↾ {𝑎}) → Fun (𝐹𝐷))
776, 76anim12i 613 . . 3 ((∀𝑎𝐷 𝑎 ∈ dom 𝐹 ∧ ∀𝑎𝐷 Fun (𝐹 ↾ {𝑎})) → (𝐷 ⊆ dom 𝐹 ∧ Fun (𝐹𝐷)))
783, 77sylbi 216 . 2 (∀𝑎𝐷 (𝑎 ∈ dom 𝐹 ∧ Fun (𝐹 ↾ {𝑎})) → (𝐷 ⊆ dom 𝐹 ∧ Fun (𝐹𝐷)))
792, 78syl 17 1 (∀𝑎𝐷 (𝐹𝑎) ≠ ∅ → (𝐷 ⊆ dom 𝐹 ∧ Fun (𝐹𝐷)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 396  wal 1537   = wceq 1539  wex 1782  wcel 2106  wne 2943  wral 3064  wss 3887  c0 4256  {csn 4561  cop 4567   ciun 4924  dom cdm 5589  cres 5591  Rel wrel 5594  Fun wfun 6427  cfv 6433
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1798  ax-4 1812  ax-5 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2709  ax-sep 5223  ax-nul 5230  ax-pr 5352
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 845  df-3an 1088  df-tru 1542  df-fal 1552  df-ex 1783  df-nf 1787  df-sb 2068  df-mo 2540  df-eu 2569  df-clab 2716  df-cleq 2730  df-clel 2816  df-nfc 2889  df-ne 2944  df-ral 3069  df-rex 3070  df-rab 3073  df-v 3434  df-dif 3890  df-un 3892  df-in 3894  df-ss 3904  df-nul 4257  df-if 4460  df-sn 4562  df-pr 4564  df-op 4568  df-uni 4840  df-iun 4926  df-br 5075  df-opab 5137  df-id 5489  df-xp 5595  df-rel 5596  df-cnv 5597  df-co 5598  df-dm 5599  df-res 5601  df-iota 6391  df-fun 6435  df-fv 6441
This theorem is referenced by:  fveqressseq  6957  ovn0ssdmfun  45321
  Copyright terms: Public domain W3C validator