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

Theorem fvn0ssdmfun 7069
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 6921. (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 6921 . . 3 ((𝐹𝑎) ≠ ∅ → (𝑎 ∈ dom 𝐹 ∧ Fun (𝐹 ↾ {𝑎})))
21ralimi 3102 . 2 (∀𝑎𝐷 (𝐹𝑎) ≠ ∅ → ∀𝑎𝐷 (𝑎 ∈ dom 𝐹 ∧ Fun (𝐹 ↾ {𝑎})))
3 r19.26 3125 . . 3 (∀𝑎𝐷 (𝑎 ∈ dom 𝐹 ∧ Fun (𝐹 ↾ {𝑎})) ↔ (∀𝑎𝐷 𝑎 ∈ dom 𝐹 ∧ ∀𝑎𝐷 Fun (𝐹 ↾ {𝑎})))
4 eleq1w 2846 . . . . . 6 (𝑎 = 𝑝 → (𝑎 ∈ dom 𝐹𝑝 ∈ dom 𝐹))
54rspccv 3578 . . . . 5 (∀𝑎𝐷 𝑎 ∈ dom 𝐹 → (𝑝𝐷𝑝 ∈ dom 𝐹))
65ssrdv 3943 . . . 4 (∀𝑎𝐷 𝑎 ∈ dom 𝐹𝐷 ⊆ dom 𝐹)
7 funrel 6553 . . . . . . . 8 (Fun (𝐹 ↾ {𝑎}) → Rel (𝐹 ↾ {𝑎}))
87ralimi 3102 . . . . . . 7 (∀𝑎𝐷 Fun (𝐹 ↾ {𝑎}) → ∀𝑎𝐷 Rel (𝐹 ↾ {𝑎}))
9 reliun 5803 . . . . . . 7 (Rel 𝑎𝐷 (𝐹 ↾ {𝑎}) ↔ ∀𝑎𝐷 Rel (𝐹 ↾ {𝑎}))
108, 9sylibr 237 . . . . . 6 (∀𝑎𝐷 Fun (𝐹 ↾ {𝑎}) → Rel 𝑎𝐷 (𝐹 ↾ {𝑎}))
11 sneq 4599 . . . . . . . . . . . . . 14 (𝑎 = 𝑥 → {𝑎} = {𝑥})
1211reseq2d 5978 . . . . . . . . . . . . 13 (𝑎 = 𝑥 → (𝐹 ↾ {𝑎}) = (𝐹 ↾ {𝑥}))
1312funeqd 6558 . . . . . . . . . . . 12 (𝑎 = 𝑥 → (Fun (𝐹 ↾ {𝑎}) ↔ Fun (𝐹 ↾ {𝑥})))
1413rspcva 3579 . . . . . . . . . . 11 ((𝑥𝐷 ∧ ∀𝑎𝐷 Fun (𝐹 ↾ {𝑎})) → Fun (𝐹 ↾ {𝑥}))
15 dffun5 6550 . . . . . . . . . . . 12 (Fun (𝐹 ↾ {𝑥}) ↔ (Rel (𝐹 ↾ {𝑥}) ∧ ∀𝑤𝑦𝑧(⟨𝑤, 𝑧⟩ ∈ (𝐹 ↾ {𝑥}) → 𝑧 = 𝑦)))
16 vex 3459 . . . . . . . . . . . . . . . . . 18 𝑥 ∈ V
1716elsnres 6020 . . . . . . . . . . . . . . . . 17 (⟨𝑤, 𝑧⟩ ∈ (𝐹 ↾ {𝑥}) ↔ ∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹))
1817imbi1i 352 . . . . . . . . . . . . . . . 16 ((⟨𝑤, 𝑧⟩ ∈ (𝐹 ↾ {𝑥}) → 𝑧 = 𝑦) ↔ (∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹) → 𝑧 = 𝑦))
1918albii 1849 . . . . . . . . . . . . . . 15 (∀𝑧(⟨𝑤, 𝑧⟩ ∈ (𝐹 ↾ {𝑥}) → 𝑧 = 𝑦) ↔ ∀𝑧(∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹) → 𝑧 = 𝑦))
2019exbii 1878 . . . . . . . . . . . . . 14 (∃𝑦𝑧(⟨𝑤, 𝑧⟩ ∈ (𝐹 ↾ {𝑥}) → 𝑧 = 𝑦) ↔ ∃𝑦𝑧(∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹) → 𝑧 = 𝑦))
2120albii 1849 . . . . . . . . . . . . 13 (∀𝑤𝑦𝑧(⟨𝑤, 𝑧⟩ ∈ (𝐹 ↾ {𝑥}) → 𝑧 = 𝑦) ↔ ∀𝑤𝑦𝑧(∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹) → 𝑧 = 𝑦))
22 equcom 2048 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑎 = 𝑧𝑧 = 𝑎)
23 opeq12 4840 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝑤 = 𝑥𝑧 = 𝑎) → ⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩)
2423ex 417 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑤 = 𝑥 → (𝑧 = 𝑎 → ⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩))
2522, 24biimtrid 245 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑤 = 𝑥 → (𝑎 = 𝑧 → ⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩))
2625adantr 485 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑤 = 𝑥 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → (𝑎 = 𝑧 → ⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩))
2726impcom 412 . . . . . . . . . . . . . . . . . . . . 21 ((𝑎 = 𝑧 ∧ (𝑤 = 𝑥 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹)) → ⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩)
28 opeq2 4839 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑧 = 𝑎 → ⟨𝑥, 𝑧⟩ = ⟨𝑥, 𝑎⟩)
2928equcoms 2050 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑎 = 𝑧 → ⟨𝑥, 𝑧⟩ = ⟨𝑥, 𝑎⟩)
3029eleq1d 2848 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑎 = 𝑧 → (⟨𝑥, 𝑧⟩ ∈ 𝐹 ↔ ⟨𝑥, 𝑎⟩ ∈ 𝐹))
3130biimpcd 252 . . . . . . . . . . . . . . . . . . . . . . 23 (⟨𝑥, 𝑧⟩ ∈ 𝐹 → (𝑎 = 𝑧 → ⟨𝑥, 𝑎⟩ ∈ 𝐹))
3231adantl 486 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑤 = 𝑥 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → (𝑎 = 𝑧 → ⟨𝑥, 𝑎⟩ ∈ 𝐹))
3332impcom 412 . . . . . . . . . . . . . . . . . . . . 21 ((𝑎 = 𝑧 ∧ (𝑤 = 𝑥 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹)) → ⟨𝑥, 𝑎⟩ ∈ 𝐹)
3427, 33jca 520 . . . . . . . . . . . . . . . . . . . 20 ((𝑎 = 𝑧 ∧ (𝑤 = 𝑥 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹)) → (⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹))
3534ex 417 . . . . . . . . . . . . . . . . . . 19 (𝑎 = 𝑧 → ((𝑤 = 𝑥 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → (⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹)))
3635spimevw 2015 . . . . . . . . . . . . . . . . . 18 ((𝑤 = 𝑥 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → ∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹))
3736ex 417 . . . . . . . . . . . . . . . . 17 (𝑤 = 𝑥 → (⟨𝑥, 𝑧⟩ ∈ 𝐹 → ∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹)))
3837imim1d 83 . . . . . . . . . . . . . . . 16 (𝑤 = 𝑥 → ((∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹) → 𝑧 = 𝑦) → (⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
3938alimdv 1946 . . . . . . . . . . . . . . 15 (𝑤 = 𝑥 → (∀𝑧(∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹) → 𝑧 = 𝑦) → ∀𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
4039eximdv 1947 . . . . . . . . . . . . . 14 (𝑤 = 𝑥 → (∃𝑦𝑧(∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹) → 𝑧 = 𝑦) → ∃𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
4140spimvw 2016 . . . . . . . . . . . . 13 (∀𝑤𝑦𝑧(∃𝑎(⟨𝑤, 𝑧⟩ = ⟨𝑥, 𝑎⟩ ∧ ⟨𝑥, 𝑎⟩ ∈ 𝐹) → 𝑧 = 𝑦) → ∃𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦))
4221, 41sylbi 220 . . . . . . . . . . . 12 (∀𝑤𝑦𝑧(⟨𝑤, 𝑧⟩ ∈ (𝐹 ↾ {𝑥}) → 𝑧 = 𝑦) → ∃𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦))
4315, 42simplbiim 513 . . . . . . . . . . 11 (Fun (𝐹 ↾ {𝑥}) → ∃𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦))
4414, 43syl 18 . . . . . . . . . 10 ((𝑥𝐷 ∧ ∀𝑎𝐷 Fun (𝐹 ↾ {𝑎})) → ∃𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦))
4544expcom 418 . . . . . . . . 9 (∀𝑎𝐷 Fun (𝐹 ↾ {𝑎}) → (𝑥𝐷 → ∃𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
46 impexp 455 . . . . . . . . . . . 12 (((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦) ↔ (𝑥𝐷 → (⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
4746albii 1849 . . . . . . . . . . 11 (∀𝑧((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦) ↔ ∀𝑧(𝑥𝐷 → (⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
4847exbii 1878 . . . . . . . . . 10 (∃𝑦𝑧((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦) ↔ ∃𝑦𝑧(𝑥𝐷 → (⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
49 19.21v 1969 . . . . . . . . . . 11 (∀𝑧(𝑥𝐷 → (⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)) ↔ (𝑥𝐷 → ∀𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
5049exbii 1878 . . . . . . . . . 10 (∃𝑦𝑧(𝑥𝐷 → (⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)) ↔ ∃𝑦(𝑥𝐷 → ∀𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
51 19.37v 2027 . . . . . . . . . 10 (∃𝑦(𝑥𝐷 → ∀𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)) ↔ (𝑥𝐷 → ∃𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
5248, 50, 513bitri 300 . . . . . . . . 9 (∃𝑦𝑧((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦) ↔ (𝑥𝐷 → ∃𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝐹𝑧 = 𝑦)))
5345, 52sylibr 237 . . . . . . . 8 (∀𝑎𝐷 Fun (𝐹 ↾ {𝑎}) → ∃𝑦𝑧((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦))
5453alrimiv 1957 . . . . . . 7 (∀𝑎𝐷 Fun (𝐹 ↾ {𝑎}) → ∀𝑥𝑦𝑧((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦))
55 resiun2 5999 . . . . . . . . . . . . . 14 (𝐹 𝑎𝐷 {𝑎}) = 𝑎𝐷 (𝐹 ↾ {𝑎})
5655eqcomi 2772 . . . . . . . . . . . . 13 𝑎𝐷 (𝐹 ↾ {𝑎}) = (𝐹 𝑎𝐷 {𝑎})
5756eleq2i 2855 . . . . . . . . . . . 12 (⟨𝑥, 𝑧⟩ ∈ 𝑎𝐷 (𝐹 ↾ {𝑎}) ↔ ⟨𝑥, 𝑧⟩ ∈ (𝐹 𝑎𝐷 {𝑎}))
58 iunid 5025 . . . . . . . . . . . . . 14 𝑎𝐷 {𝑎} = 𝐷
5958reseq2i 5975 . . . . . . . . . . . . 13 (𝐹 𝑎𝐷 {𝑎}) = (𝐹𝐷)
6059eleq2i 2855 . . . . . . . . . . . 12 (⟨𝑥, 𝑧⟩ ∈ (𝐹 𝑎𝐷 {𝑎}) ↔ ⟨𝑥, 𝑧⟩ ∈ (𝐹𝐷))
61 vex 3459 . . . . . . . . . . . . 13 𝑧 ∈ V
6261opelresi 5986 . . . . . . . . . . . 12 (⟨𝑥, 𝑧⟩ ∈ (𝐹𝐷) ↔ (𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹))
6357, 60, 623bitri 300 . . . . . . . . . . 11 (⟨𝑥, 𝑧⟩ ∈ 𝑎𝐷 (𝐹 ↾ {𝑎}) ↔ (𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹))
6463imbi1i 352 . . . . . . . . . 10 ((⟨𝑥, 𝑧⟩ ∈ 𝑎𝐷 (𝐹 ↾ {𝑎}) → 𝑧 = 𝑦) ↔ ((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦))
6564albii 1849 . . . . . . . . 9 (∀𝑧(⟨𝑥, 𝑧⟩ ∈ 𝑎𝐷 (𝐹 ↾ {𝑎}) → 𝑧 = 𝑦) ↔ ∀𝑧((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦))
6665exbii 1878 . . . . . . . 8 (∃𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝑎𝐷 (𝐹 ↾ {𝑎}) → 𝑧 = 𝑦) ↔ ∃𝑦𝑧((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦))
6766albii 1849 . . . . . . 7 (∀𝑥𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝑎𝐷 (𝐹 ↾ {𝑎}) → 𝑧 = 𝑦) ↔ ∀𝑥𝑦𝑧((𝑥𝐷 ∧ ⟨𝑥, 𝑧⟩ ∈ 𝐹) → 𝑧 = 𝑦))
6854, 67sylibr 237 . . . . . 6 (∀𝑎𝐷 Fun (𝐹 ↾ {𝑎}) → ∀𝑥𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝑎𝐷 (𝐹 ↾ {𝑎}) → 𝑧 = 𝑦))
69 dffun5 6550 . . . . . 6 (Fun 𝑎𝐷 (𝐹 ↾ {𝑎}) ↔ (Rel 𝑎𝐷 (𝐹 ↾ {𝑎}) ∧ ∀𝑥𝑦𝑧(⟨𝑥, 𝑧⟩ ∈ 𝑎𝐷 (𝐹 ↾ {𝑎}) → 𝑧 = 𝑦)))
7010, 68, 69sylanbrc 594 . . . . 5 (∀𝑎𝐷 Fun (𝐹 ↾ {𝑎}) → Fun 𝑎𝐷 (𝐹 ↾ {𝑎}))
7158eqcomi 2772 . . . . . . . 8 𝐷 = 𝑎𝐷 {𝑎}
7271reseq2i 5975 . . . . . . 7 (𝐹𝐷) = (𝐹 𝑎𝐷 {𝑎})
7372funeqi 6557 . . . . . 6 (Fun (𝐹𝐷) ↔ Fun (𝐹 𝑎𝐷 {𝑎}))
7455funeqi 6557 . . . . . 6 (Fun (𝐹 𝑎𝐷 {𝑎}) ↔ Fun 𝑎𝐷 (𝐹 ↾ {𝑎}))
7573, 74bitri 278 . . . . 5 (Fun (𝐹𝐷) ↔ Fun 𝑎𝐷 (𝐹 ↾ {𝑎}))
7670, 75sylibr 237 . . . 4 (∀𝑎𝐷 Fun (𝐹 ↾ {𝑎}) → Fun (𝐹𝐷))
776, 76anim12i 624 . . 3 ((∀𝑎𝐷 𝑎 ∈ dom 𝐹 ∧ ∀𝑎𝐷 Fun (𝐹 ↾ {𝑎})) → (𝐷 ⊆ dom 𝐹 ∧ Fun (𝐹𝐷)))
783, 77sylbi 220 . 2 (∀𝑎𝐷 (𝑎 ∈ dom 𝐹 ∧ Fun (𝐹 ↾ {𝑎})) → (𝐷 ⊆ dom 𝐹 ∧ Fun (𝐹𝐷)))
792, 78syl 18 1 (∀𝑎𝐷 (𝐹𝑎) ≠ ∅ → (𝐷 ⊆ dom 𝐹 ∧ Fun (𝐹𝐷)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wa 400  wal 1568   = wceq 1570  wex 1809  wcel 2143  wne 2958  wral 3079  wss 3905  c0 4286  {csn 4589  cop 4595   ciun 4956  dom cdm 5661  cres 5663  Rel wrel 5666  Fun wfun 6530  cfv 6536
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1825  ax-4 1839  ax-5 1940  ax-6 1997  ax-7 2038  ax-8 2145  ax-9 2153  ax-11 2192  ax-ext 2735  ax-sep 5257  ax-nul 5269  ax-pr 5404
This proof depends on definitions:  df-bi 210  df-an 401  df-or 861  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1810  df-sb 2097  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2838  df-ne 2959  df-ral 3080  df-rex 3090  df-rab 3417  df-v 3457  df-dif 3908  df-un 3910  df-in 3912  df-ss 3922  df-nul 4287  df-if 4488  df-sn 4590  df-pr 4592  df-op 4596  df-uni 4873  df-iun 4958  df-br 5110  df-opab 5174  df-id 5556  df-xp 5667  df-rel 5668  df-cnv 5669  df-co 5670  df-dm 5671  df-res 5673  df-iota 6492  df-fun 6538  df-fv 6544
This theorem is used by:  fveqressseq  7074  ovn0ssdmfun  48952
  Copyright terms: Public domain W3C validator