Metamath Proof Explorer


Theorem funressnfv

Description: A restriction to a singleton with a function value is a function under certain conditions. (Contributed by Alexander van der Vekens, 25-Jul-2017) (Proof shortened by Peter Mazsa, 2-Oct-2022)

Ref Expression
Assertion funressnfv ⊢ X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → Fun ⁡ F ↾ G ⁡ X

Proof

Step Hyp Ref Expression
1 relres ⊢ Rel ⁡ F ↾ G ⁡ X
2 1 a1i ⊢ X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → Rel ⁡ F ↾ G ⁡ X
3 dmfco ⊢ Fun ⁡ G ∧ X ∈ dom ⁡ G → X ∈ dom ⁡ F ∘ G ↔ G ⁡ X ∈ dom ⁡ F
4 3 biimpd ⊢ Fun ⁡ G ∧ X ∈ dom ⁡ G → X ∈ dom ⁡ F ∘ G → G ⁡ X ∈ dom ⁡ F
5 4 funfni ⊢ G Fn A ∧ X ∈ A → X ∈ dom ⁡ F ∘ G → G ⁡ X ∈ dom ⁡ F
6 dmressnsn ⊢ G ⁡ X ∈ dom ⁡ F → dom ⁡ F ↾ G ⁡ X = G ⁡ X
7 eleq2 ⊢ dom ⁡ F ↾ G ⁡ X = G ⁡ X → x ∈ dom ⁡ F ↾ G ⁡ X ↔ x ∈ G ⁡ X
8 velsn ⊢ x ∈ G ⁡ X ↔ x = G ⁡ X
9 dmressnsn ⊢ X ∈ dom ⁡ F ∘ G → dom ⁡ F ∘ G ↾ X = X
10 dffun7 ⊢ Fun ⁡ F ∘ G ↾ X ↔ Rel ⁡ F ∘ G ↾ X ∧ ∀ x ∈ dom ⁡ F ∘ G ↾ X ∃* y x F ∘ G ↾ X y
11 snidg ⊢ X ∈ dom ⁡ F ∘ G → X ∈ X
12 11 adantl ⊢ dom ⁡ F ∘ G ↾ X = X ∧ X ∈ dom ⁡ F ∘ G → X ∈ X
13 eleq2 ⊢ X = dom ⁡ F ∘ G ↾ X → X ∈ X ↔ X ∈ dom ⁡ F ∘ G ↾ X
14 13 eqcoms ⊢ dom ⁡ F ∘ G ↾ X = X → X ∈ X ↔ X ∈ dom ⁡ F ∘ G ↾ X
15 14 adantr ⊢ dom ⁡ F ∘ G ↾ X = X ∧ X ∈ dom ⁡ F ∘ G → X ∈ X ↔ X ∈ dom ⁡ F ∘ G ↾ X
16 12 15 mpbid ⊢ dom ⁡ F ∘ G ↾ X = X ∧ X ∈ dom ⁡ F ∘ G → X ∈ dom ⁡ F ∘ G ↾ X
17 fvex ⊢ G ⁡ X ∈ V
18 17 isseti ⊢ ∃ z z = G ⁡ X
19 eqcom ⊢ z = G ⁡ X ↔ G ⁡ X = z
20 fnbrfvb ⊢ G Fn A ∧ X ∈ A → G ⁡ X = z ↔ X G z
21 19 20 bitrid ⊢ G Fn A ∧ X ∈ A → z = G ⁡ X ↔ X G z
22 21 biimpd ⊢ G Fn A ∧ X ∈ A → z = G ⁡ X → X G z
23 breq1 ⊢ G ⁡ X = z → G ⁡ X F y ↔ z F y
24 23 eqcoms ⊢ z = G ⁡ X → G ⁡ X F y ↔ z F y
25 24 biimpcd ⊢ G ⁡ X F y → z = G ⁡ X → z F y
26 22 25 anim12ii ⊢ G Fn A ∧ X ∈ A ∧ G ⁡ X F y → z = G ⁡ X → X G z ∧ z F y
27 26 eximdv ⊢ G Fn A ∧ X ∈ A ∧ G ⁡ X F y → ∃ z z = G ⁡ X → ∃ z X G z ∧ z F y
28 18 27 mpi ⊢ G Fn A ∧ X ∈ A ∧ G ⁡ X F y → ∃ z X G z ∧ z F y
29 simpr ⊢ G Fn A ∧ X ∈ A → X ∈ A
30 vex ⊢ y ∈ V
31 brcog ⊢ X ∈ A ∧ y ∈ V → X F ∘ G y ↔ ∃ z X G z ∧ z F y
32 29 30 31 sylancl ⊢ G Fn A ∧ X ∈ A → X F ∘ G y ↔ ∃ z X G z ∧ z F y
33 32 adantr ⊢ G Fn A ∧ X ∈ A ∧ G ⁡ X F y → X F ∘ G y ↔ ∃ z X G z ∧ z F y
34 28 33 mpbird ⊢ G Fn A ∧ X ∈ A ∧ G ⁡ X F y → X F ∘ G y
35 30 brresi ⊢ X F ∘ G ↾ X y ↔ X ∈ X ∧ X F ∘ G y
36 snidg ⊢ X ∈ A → X ∈ X
37 36 biantrurd ⊢ X ∈ A → X F ∘ G y ↔ X ∈ X ∧ X F ∘ G y
38 35 37 bitr4id ⊢ X ∈ A → X F ∘ G ↾ X y ↔ X F ∘ G y
39 38 ad2antlr ⊢ G Fn A ∧ X ∈ A ∧ G ⁡ X F y → X F ∘ G ↾ X y ↔ X F ∘ G y
40 34 39 mpbird ⊢ G Fn A ∧ X ∈ A ∧ G ⁡ X F y → X F ∘ G ↾ X y
41 40 ex ⊢ G Fn A ∧ X ∈ A → G ⁡ X F y → X F ∘ G ↾ X y
42 41 adantl ⊢ dom ⁡ F ∘ G ↾ X = X ∧ X ∈ dom ⁡ F ∘ G ∧ x = X ∧ G Fn A ∧ X ∈ A → G ⁡ X F y → X F ∘ G ↾ X y
43 breq1 ⊢ X = x → X F ∘ G ↾ X y ↔ x F ∘ G ↾ X y
44 43 eqcoms ⊢ x = X → X F ∘ G ↾ X y ↔ x F ∘ G ↾ X y
45 44 ad2antlr ⊢ dom ⁡ F ∘ G ↾ X = X ∧ X ∈ dom ⁡ F ∘ G ∧ x = X ∧ G Fn A ∧ X ∈ A → X F ∘ G ↾ X y ↔ x F ∘ G ↾ X y
46 42 45 sylibd ⊢ dom ⁡ F ∘ G ↾ X = X ∧ X ∈ dom ⁡ F ∘ G ∧ x = X ∧ G Fn A ∧ X ∈ A → G ⁡ X F y → x F ∘ G ↾ X y
47 46 moimdv ⊢ dom ⁡ F ∘ G ↾ X = X ∧ X ∈ dom ⁡ F ∘ G ∧ x = X ∧ G Fn A ∧ X ∈ A → ∃* y x F ∘ G ↾ X y → ∃* y G ⁡ X F y
48 47 ex ⊢ dom ⁡ F ∘ G ↾ X = X ∧ X ∈ dom ⁡ F ∘ G ∧ x = X → G Fn A ∧ X ∈ A → ∃* y x F ∘ G ↾ X y → ∃* y G ⁡ X F y
49 48 com23 ⊢ dom ⁡ F ∘ G ↾ X = X ∧ X ∈ dom ⁡ F ∘ G ∧ x = X → ∃* y x F ∘ G ↾ X y → G Fn A ∧ X ∈ A → ∃* y G ⁡ X F y
50 16 49 rspcimdv ⊢ dom ⁡ F ∘ G ↾ X = X ∧ X ∈ dom ⁡ F ∘ G → ∀ x ∈ dom ⁡ F ∘ G ↾ X ∃* y x F ∘ G ↾ X y → G Fn A ∧ X ∈ A → ∃* y G ⁡ X F y
51 50 ex ⊢ dom ⁡ F ∘ G ↾ X = X → X ∈ dom ⁡ F ∘ G → ∀ x ∈ dom ⁡ F ∘ G ↾ X ∃* y x F ∘ G ↾ X y → G Fn A ∧ X ∈ A → ∃* y G ⁡ X F y
52 51 com13 ⊢ ∀ x ∈ dom ⁡ F ∘ G ↾ X ∃* y x F ∘ G ↾ X y → X ∈ dom ⁡ F ∘ G → dom ⁡ F ∘ G ↾ X = X → G Fn A ∧ X ∈ A → ∃* y G ⁡ X F y
53 10 52 simplbiim ⊢ Fun ⁡ F ∘ G ↾ X → X ∈ dom ⁡ F ∘ G → dom ⁡ F ∘ G ↾ X = X → G Fn A ∧ X ∈ A → ∃* y G ⁡ X F y
54 53 com13 ⊢ dom ⁡ F ∘ G ↾ X = X → X ∈ dom ⁡ F ∘ G → Fun ⁡ F ∘ G ↾ X → G Fn A ∧ X ∈ A → ∃* y G ⁡ X F y
55 9 54 mpcom ⊢ X ∈ dom ⁡ F ∘ G → Fun ⁡ F ∘ G ↾ X → G Fn A ∧ X ∈ A → ∃* y G ⁡ X F y
56 55 imp31 ⊢ X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → ∃* y G ⁡ X F y
57 17 snid ⊢ G ⁡ X ∈ G ⁡ X
58 57 biantrur ⊢ G ⁡ X F y ↔ G ⁡ X ∈ G ⁡ X ∧ G ⁡ X F y
59 58 a1i ⊢ X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → G ⁡ X F y ↔ G ⁡ X ∈ G ⁡ X ∧ G ⁡ X F y
60 59 mobidv ⊢ X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → ∃* y G ⁡ X F y ↔ ∃* y G ⁡ X ∈ G ⁡ X ∧ G ⁡ X F y
61 56 60 mpbid ⊢ X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → ∃* y G ⁡ X ∈ G ⁡ X ∧ G ⁡ X F y
62 61 adantl ⊢ x = G ⁡ X ∧ X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → ∃* y G ⁡ X ∈ G ⁡ X ∧ G ⁡ X F y
63 breq1 ⊢ x = G ⁡ X → x F ↾ G ⁡ X y ↔ G ⁡ X F ↾ G ⁡ X y
64 30 brresi ⊢ G ⁡ X F ↾ G ⁡ X y ↔ G ⁡ X ∈ G ⁡ X ∧ G ⁡ X F y
65 63 64 bitr2di ⊢ x = G ⁡ X → G ⁡ X ∈ G ⁡ X ∧ G ⁡ X F y ↔ x F ↾ G ⁡ X y
66 65 adantr ⊢ x = G ⁡ X ∧ X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → G ⁡ X ∈ G ⁡ X ∧ G ⁡ X F y ↔ x F ↾ G ⁡ X y
67 66 mobidv ⊢ x = G ⁡ X ∧ X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → ∃* y G ⁡ X ∈ G ⁡ X ∧ G ⁡ X F y ↔ ∃* y x F ↾ G ⁡ X y
68 62 67 mpbid ⊢ x = G ⁡ X ∧ X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → ∃* y x F ↾ G ⁡ X y
69 68 ex ⊢ x = G ⁡ X → X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → ∃* y x F ↾ G ⁡ X y
70 8 69 sylbi ⊢ x ∈ G ⁡ X → X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → ∃* y x F ↾ G ⁡ X y
71 7 70 biimtrdi ⊢ dom ⁡ F ↾ G ⁡ X = G ⁡ X → x ∈ dom ⁡ F ↾ G ⁡ X → X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → ∃* y x F ↾ G ⁡ X y
72 71 com23 ⊢ dom ⁡ F ↾ G ⁡ X = G ⁡ X → X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → x ∈ dom ⁡ F ↾ G ⁡ X → ∃* y x F ↾ G ⁡ X y
73 6 72 syl ⊢ G ⁡ X ∈ dom ⁡ F → X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → x ∈ dom ⁡ F ↾ G ⁡ X → ∃* y x F ↾ G ⁡ X y
74 5 73 syl6com ⊢ X ∈ dom ⁡ F ∘ G → G Fn A ∧ X ∈ A → X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → x ∈ dom ⁡ F ↾ G ⁡ X → ∃* y x F ↾ G ⁡ X y
75 74 a1d ⊢ X ∈ dom ⁡ F ∘ G → Fun ⁡ F ∘ G ↾ X → G Fn A ∧ X ∈ A → X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → x ∈ dom ⁡ F ↾ G ⁡ X → ∃* y x F ↾ G ⁡ X y
76 75 imp31 ⊢ X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → x ∈ dom ⁡ F ↾ G ⁡ X → ∃* y x F ↾ G ⁡ X y
77 76 pm2.43i ⊢ X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → x ∈ dom ⁡ F ↾ G ⁡ X → ∃* y x F ↾ G ⁡ X y
78 77 ralrimiv ⊢ X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → ∀ x ∈ dom ⁡ F ↾ G ⁡ X ∃* y x F ↾ G ⁡ X y
79 dffun7 ⊢ Fun ⁡ F ↾ G ⁡ X ↔ Rel ⁡ F ↾ G ⁡ X ∧ ∀ x ∈ dom ⁡ F ↾ G ⁡ X ∃* y x F ↾ G ⁡ X y
80 2 78 79 sylanbrc ⊢ X ∈ dom ⁡ F ∘ G ∧ Fun ⁡ F ∘ G ↾ X ∧ G Fn A ∧ X ∈ A → Fun ⁡ F ↾ G ⁡ X