Metamath Proof Explorer


Theorem fvn0ssdmfun

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 . (Contributed by AV, 27-Jan-2020) (Proof shortened by Peter Mazsa, 2-Oct-2022)

Ref Expression
Assertion fvn0ssdmfun ⊢ ∀ a ∈ D F ⁡ a ≠ ∅ → D ⊆ dom ⁡ F ∧ Fun ⁡ F ↾ D

Proof

Step Hyp Ref Expression
1 fvfundmfvn0 ⊢ F ⁡ a ≠ ∅ → a ∈ dom ⁡ F ∧ Fun ⁡ F ↾ a
2 1 ralimi ⊢ ∀ a ∈ D F ⁡ a ≠ ∅ → ∀ a ∈ D a ∈ dom ⁡ F ∧ Fun ⁡ F ↾ a
3 r19.26 ⊢ ∀ a ∈ D a ∈ dom ⁡ F ∧ Fun ⁡ F ↾ a ↔ ∀ a ∈ D a ∈ dom ⁡ F ∧ ∀ a ∈ D Fun ⁡ F ↾ a
4 eleq1w ⊢ a = p → a ∈ dom ⁡ F ↔ p ∈ dom ⁡ F
5 4 rspccv ⊢ ∀ a ∈ D a ∈ dom ⁡ F → p ∈ D → p ∈ dom ⁡ F
6 5 ssrdv ⊢ ∀ a ∈ D a ∈ dom ⁡ F → D ⊆ dom ⁡ F
7 funrel ⊢ Fun ⁡ F ↾ a → Rel ⁡ F ↾ a
8 7 ralimi ⊢ ∀ a ∈ D Fun ⁡ F ↾ a → ∀ a ∈ D Rel ⁡ F ↾ a
9 reliun ⊢ Rel ⁡ ⋃ a ∈ D F ↾ a ↔ ∀ a ∈ D Rel ⁡ F ↾ a
10 8 9 sylibr ⊢ ∀ a ∈ D Fun ⁡ F ↾ a → Rel ⁡ ⋃ a ∈ D F ↾ a
11 sneq ⊢ a = x → a = x
12 11 reseq2d ⊢ a = x → F ↾ a = F ↾ x
13 12 funeqd ⊢ a = x → Fun ⁡ F ↾ a ↔ Fun ⁡ F ↾ x
14 13 rspcva ⊢ x ∈ D ∧ ∀ a ∈ D Fun ⁡ F ↾ a → Fun ⁡ F ↾ x
15 dffun5 ⊢ Fun ⁡ F ↾ x ↔ Rel ⁡ F ↾ x ∧ ∀ w ∃ y ∀ z w z ∈ F ↾ x → z = y
16 vex ⊢ x ∈ V
17 16 elsnres ⊢ w z ∈ F ↾ x ↔ ∃ a w z = x a ∧ x a ∈ F
18 17 imbi1i ⊢ w z ∈ F ↾ x → z = y ↔ ∃ a w z = x a ∧ x a ∈ F → z = y
19 18 albii ⊢ ∀ z w z ∈ F ↾ x → z = y ↔ ∀ z ∃ a w z = x a ∧ x a ∈ F → z = y
20 19 exbii ⊢ ∃ y ∀ z w z ∈ F ↾ x → z = y ↔ ∃ y ∀ z ∃ a w z = x a ∧ x a ∈ F → z = y
21 20 albii ⊢ ∀ w ∃ y ∀ z w z ∈ F ↾ x → z = y ↔ ∀ w ∃ y ∀ z ∃ a w z = x a ∧ x a ∈ F → z = y
22 equcom ⊢ a = z ↔ z = a
23 opeq12 ⊢ w = x ∧ z = a → w z = x a
24 23 ex ⊢ w = x → z = a → w z = x a
25 22 24 biimtrid ⊢ w = x → a = z → w z = x a
26 25 adantr ⊢ w = x ∧ x z ∈ F → a = z → w z = x a
27 26 impcom ⊢ a = z ∧ w = x ∧ x z ∈ F → w z = x a
28 opeq2 ⊢ z = a → x z = x a
29 28 equcoms ⊢ a = z → x z = x a
30 29 eleq1d ⊢ a = z → x z ∈ F ↔ x a ∈ F
31 30 biimpcd ⊢ x z ∈ F → a = z → x a ∈ F
32 31 adantl ⊢ w = x ∧ x z ∈ F → a = z → x a ∈ F
33 32 impcom ⊢ a = z ∧ w = x ∧ x z ∈ F → x a ∈ F
34 27 33 jca ⊢ a = z ∧ w = x ∧ x z ∈ F → w z = x a ∧ x a ∈ F
35 34 ex ⊢ a = z → w = x ∧ x z ∈ F → w z = x a ∧ x a ∈ F
36 35 spimevw ⊢ w = x ∧ x z ∈ F → ∃ a w z = x a ∧ x a ∈ F
37 36 ex ⊢ w = x → x z ∈ F → ∃ a w z = x a ∧ x a ∈ F
38 37 imim1d ⊢ w = x → ∃ a w z = x a ∧ x a ∈ F → z = y → x z ∈ F → z = y
39 38 alimdv ⊢ w = x → ∀ z ∃ a w z = x a ∧ x a ∈ F → z = y → ∀ z x z ∈ F → z = y
40 39 eximdv ⊢ w = x → ∃ y ∀ z ∃ a w z = x a ∧ x a ∈ F → z = y → ∃ y ∀ z x z ∈ F → z = y
41 40 spimvw ⊢ ∀ w ∃ y ∀ z ∃ a w z = x a ∧ x a ∈ F → z = y → ∃ y ∀ z x z ∈ F → z = y
42 21 41 sylbi ⊢ ∀ w ∃ y ∀ z w z ∈ F ↾ x → z = y → ∃ y ∀ z x z ∈ F → z = y
43 15 42 simplbiim ⊢ Fun ⁡ F ↾ x → ∃ y ∀ z x z ∈ F → z = y
44 14 43 syl ⊢ x ∈ D ∧ ∀ a ∈ D Fun ⁡ F ↾ a → ∃ y ∀ z x z ∈ F → z = y
45 44 expcom ⊢ ∀ a ∈ D Fun ⁡ F ↾ a → x ∈ D → ∃ y ∀ z x z ∈ F → z = y
46 impexp ⊢ x ∈ D ∧ x z ∈ F → z = y ↔ x ∈ D → x z ∈ F → z = y
47 46 albii ⊢ ∀ z x ∈ D ∧ x z ∈ F → z = y ↔ ∀ z x ∈ D → x z ∈ F → z = y
48 47 exbii ⊢ ∃ y ∀ z x ∈ D ∧ x z ∈ F → z = y ↔ ∃ y ∀ z x ∈ D → x z ∈ F → z = y
49 19.21v ⊢ ∀ z x ∈ D → x z ∈ F → z = y ↔ x ∈ D → ∀ z x z ∈ F → z = y
50 49 exbii ⊢ ∃ y ∀ z x ∈ D → x z ∈ F → z = y ↔ ∃ y x ∈ D → ∀ z x z ∈ F → z = y
51 19.37v ⊢ ∃ y x ∈ D → ∀ z x z ∈ F → z = y ↔ x ∈ D → ∃ y ∀ z x z ∈ F → z = y
52 48 50 51 3bitri ⊢ ∃ y ∀ z x ∈ D ∧ x z ∈ F → z = y ↔ x ∈ D → ∃ y ∀ z x z ∈ F → z = y
53 45 52 sylibr ⊢ ∀ a ∈ D Fun ⁡ F ↾ a → ∃ y ∀ z x ∈ D ∧ x z ∈ F → z = y
54 53 alrimiv ⊢ ∀ a ∈ D Fun ⁡ F ↾ a → ∀ x ∃ y ∀ z x ∈ D ∧ x z ∈ F → z = y
55 resiun2 ⊢ F ↾ ⋃ a ∈ D a = ⋃ a ∈ D F ↾ a
56 55 eqcomi ⊢ ⋃ a ∈ D F ↾ a = F ↾ ⋃ a ∈ D a
57 56 eleq2i ⊢ x z ∈ ⋃ a ∈ D F ↾ a ↔ x z ∈ F ↾ ⋃ a ∈ D a
58 iunid ⊢ ⋃ a ∈ D a = D
59 58 reseq2i ⊢ F ↾ ⋃ a ∈ D a = F ↾ D
60 59 eleq2i ⊢ x z ∈ F ↾ ⋃ a ∈ D a ↔ x z ∈ F ↾ D
61 vex ⊢ z ∈ V
62 61 opelresi ⊢ x z ∈ F ↾ D ↔ x ∈ D ∧ x z ∈ F
63 57 60 62 3bitri ⊢ x z ∈ ⋃ a ∈ D F ↾ a ↔ x ∈ D ∧ x z ∈ F
64 63 imbi1i ⊢ x z ∈ ⋃ a ∈ D F ↾ a → z = y ↔ x ∈ D ∧ x z ∈ F → z = y
65 64 albii ⊢ ∀ z x z ∈ ⋃ a ∈ D F ↾ a → z = y ↔ ∀ z x ∈ D ∧ x z ∈ F → z = y
66 65 exbii ⊢ ∃ y ∀ z x z ∈ ⋃ a ∈ D F ↾ a → z = y ↔ ∃ y ∀ z x ∈ D ∧ x z ∈ F → z = y
67 66 albii ⊢ ∀ x ∃ y ∀ z x z ∈ ⋃ a ∈ D F ↾ a → z = y ↔ ∀ x ∃ y ∀ z x ∈ D ∧ x z ∈ F → z = y
68 54 67 sylibr ⊢ ∀ a ∈ D Fun ⁡ F ↾ a → ∀ x ∃ y ∀ z x z ∈ ⋃ a ∈ D F ↾ a → z = y
69 dffun5 ⊢ Fun ⁡ ⋃ a ∈ D F ↾ a ↔ Rel ⁡ ⋃ a ∈ D F ↾ a ∧ ∀ x ∃ y ∀ z x z ∈ ⋃ a ∈ D F ↾ a → z = y
70 10 68 69 sylanbrc ⊢ ∀ a ∈ D Fun ⁡ F ↾ a → Fun ⁡ ⋃ a ∈ D F ↾ a
71 58 eqcomi ⊢ D = ⋃ a ∈ D a
72 71 reseq2i ⊢ F ↾ D = F ↾ ⋃ a ∈ D a
73 72 funeqi ⊢ Fun ⁡ F ↾ D ↔ Fun ⁡ F ↾ ⋃ a ∈ D a
74 55 funeqi ⊢ Fun ⁡ F ↾ ⋃ a ∈ D a ↔ Fun ⁡ ⋃ a ∈ D F ↾ a
75 73 74 bitri ⊢ Fun ⁡ F ↾ D ↔ Fun ⁡ ⋃ a ∈ D F ↾ a
76 70 75 sylibr ⊢ ∀ a ∈ D Fun ⁡ F ↾ a → Fun ⁡ F ↾ D
77 6 76 anim12i ⊢ ∀ a ∈ D a ∈ dom ⁡ F ∧ ∀ a ∈ D Fun ⁡ F ↾ a → D ⊆ dom ⁡ F ∧ Fun ⁡ F ↾ D
78 3 77 sylbi ⊢ ∀ a ∈ D a ∈ dom ⁡ F ∧ Fun ⁡ F ↾ a → D ⊆ dom ⁡ F ∧ Fun ⁡ F ↾ D
79 2 78 syl ⊢ ∀ a ∈ D F ⁡ a ≠ ∅ → D ⊆ dom ⁡ F ∧ Fun ⁡ F ↾ D