Metamath Proof Explorer


Theorem setcepi

Description: An epimorphism of sets is a surjection. (Contributed by Mario Carneiro, 3-Jan-2017)

Ref Expression
Hypotheses setcmon.c ⊢ C = SetCat ⁡ U
setcmon.u ⊢ φ → U ∈ V
setcmon.x ⊢ φ → X ∈ U
setcmon.y ⊢ φ → Y ∈ U
setcepi.h ⊢ E = Epi ⁡ C
setcepi.2 ⊢ φ → 2 𝑜 ∈ U
Assertion setcepi ⊢ φ → F ∈ X E Y ↔ F : X ⟶ onto Y

Proof

Step Hyp Ref Expression
1 setcmon.c ⊢ C = SetCat ⁡ U
2 setcmon.u ⊢ φ → U ∈ V
3 setcmon.x ⊢ φ → X ∈ U
4 setcmon.y ⊢ φ → Y ∈ U
5 setcepi.h ⊢ E = Epi ⁡ C
6 setcepi.2 ⊢ φ → 2 𝑜 ∈ U
7 eqid ⊢ Base C = Base C
8 eqid ⊢ Hom ⁡ C = Hom ⁡ C
9 eqid ⊢ comp ⁡ C = comp ⁡ C
10 1 setccat ⊢ U ∈ V → C ∈ Cat
11 2 10 syl ⊢ φ → C ∈ Cat
12 1 2 setcbas ⊢ φ → U = Base C
13 3 12 eleqtrd ⊢ φ → X ∈ Base C
14 4 12 eleqtrd ⊢ φ → Y ∈ Base C
15 7 8 9 5 11 13 14 epihom ⊢ φ → X E Y ⊆ X Hom ⁡ C Y
16 15 sselda ⊢ φ ∧ F ∈ X E Y → F ∈ X Hom ⁡ C Y
17 1 2 8 3 4 elsetchom ⊢ φ → F ∈ X Hom ⁡ C Y ↔ F : X ⟶ Y
18 17 biimpa ⊢ φ ∧ F ∈ X Hom ⁡ C Y → F : X ⟶ Y
19 16 18 syldan ⊢ φ ∧ F ∈ X E Y → F : X ⟶ Y
20 19 frnd ⊢ φ ∧ F ∈ X E Y → ran ⁡ F ⊆ Y
21 19 ffnd ⊢ φ ∧ F ∈ X E Y → F Fn X
22 fnfvelrn ⊢ F Fn X ∧ x ∈ X → F ⁡ x ∈ ran ⁡ F
23 21 22 sylan ⊢ φ ∧ F ∈ X E Y ∧ x ∈ X → F ⁡ x ∈ ran ⁡ F
24 23 iftrued ⊢ φ ∧ F ∈ X E Y ∧ x ∈ X → if F ⁡ x ∈ ran ⁡ F 1 𝑜 ∅ = 1 𝑜
25 24 mpteq2dva ⊢ φ ∧ F ∈ X E Y → x ∈ X ⟼ if F ⁡ x ∈ ran ⁡ F 1 𝑜 ∅ = x ∈ X ⟼ 1 𝑜
26 19 ffvelcdmda ⊢ φ ∧ F ∈ X E Y ∧ x ∈ X → F ⁡ x ∈ Y
27 19 feqmptd ⊢ φ ∧ F ∈ X E Y → F = x ∈ X ⟼ F ⁡ x
28 eqidd ⊢ φ ∧ F ∈ X E Y → a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅ = a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅
29 eleq1 ⊢ a = F ⁡ x → a ∈ ran ⁡ F ↔ F ⁡ x ∈ ran ⁡ F
30 29 ifbid ⊢ a = F ⁡ x → if a ∈ ran ⁡ F 1 𝑜 ∅ = if F ⁡ x ∈ ran ⁡ F 1 𝑜 ∅
31 26 27 28 30 fmptco ⊢ φ ∧ F ∈ X E Y → a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅ ∘ F = x ∈ X ⟼ if F ⁡ x ∈ ran ⁡ F 1 𝑜 ∅
32 fconstmpt ⊢ Y × 1 𝑜 = a ∈ Y ⟼ 1 𝑜
33 32 a1i ⊢ φ ∧ F ∈ X E Y → Y × 1 𝑜 = a ∈ Y ⟼ 1 𝑜
34 eqidd ⊢ a = F ⁡ x → 1 𝑜 = 1 𝑜
35 26 27 33 34 fmptco ⊢ φ ∧ F ∈ X E Y → Y × 1 𝑜 ∘ F = x ∈ X ⟼ 1 𝑜
36 25 31 35 3eqtr4d ⊢ φ ∧ F ∈ X E Y → a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅ ∘ F = Y × 1 𝑜 ∘ F
37 2 adantr ⊢ φ ∧ F ∈ X E Y → U ∈ V
38 3 adantr ⊢ φ ∧ F ∈ X E Y → X ∈ U
39 4 adantr ⊢ φ ∧ F ∈ X E Y → Y ∈ U
40 6 adantr ⊢ φ ∧ F ∈ X E Y → 2 𝑜 ∈ U
41 eqid ⊢ a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅ = a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅
42 1oelpr ⊢ 1 𝑜 ∈ ∅ 1 𝑜
43 df2o3 ⊢ 2 𝑜 = ∅ 1 𝑜
44 42 43 eleqtrri ⊢ 1 𝑜 ∈ 2 𝑜
45 0ex ⊢ ∅ ∈ V
46 45 prid1 ⊢ ∅ ∈ ∅ 1 𝑜
47 46 43 eleqtrri ⊢ ∅ ∈ 2 𝑜
48 44 47 ifcli ⊢ if a ∈ ran ⁡ F 1 𝑜 ∅ ∈ 2 𝑜
49 48 a1i ⊢ a ∈ Y → if a ∈ ran ⁡ F 1 𝑜 ∅ ∈ 2 𝑜
50 41 49 fmpti ⊢ a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅ : Y ⟶ 2 𝑜
51 50 a1i ⊢ φ ∧ F ∈ X E Y → a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅ : Y ⟶ 2 𝑜
52 1 37 9 38 39 40 19 51 setcco ⊢ φ ∧ F ∈ X E Y → a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅ X Y comp ⁡ C 2 𝑜 F = a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅ ∘ F
53 fconst6g ⊢ 1 𝑜 ∈ 2 𝑜 → Y × 1 𝑜 : Y ⟶ 2 𝑜
54 44 53 mp1i ⊢ φ ∧ F ∈ X E Y → Y × 1 𝑜 : Y ⟶ 2 𝑜
55 1 37 9 38 39 40 19 54 setcco ⊢ φ ∧ F ∈ X E Y → Y × 1 𝑜 X Y comp ⁡ C 2 𝑜 F = Y × 1 𝑜 ∘ F
56 36 52 55 3eqtr4d ⊢ φ ∧ F ∈ X E Y → a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅ X Y comp ⁡ C 2 𝑜 F = Y × 1 𝑜 X Y comp ⁡ C 2 𝑜 F
57 11 adantr ⊢ φ ∧ F ∈ X E Y → C ∈ Cat
58 13 adantr ⊢ φ ∧ F ∈ X E Y → X ∈ Base C
59 14 adantr ⊢ φ ∧ F ∈ X E Y → Y ∈ Base C
60 6 12 eleqtrd ⊢ φ → 2 𝑜 ∈ Base C
61 60 adantr ⊢ φ ∧ F ∈ X E Y → 2 𝑜 ∈ Base C
62 simpr ⊢ φ ∧ F ∈ X E Y → F ∈ X E Y
63 1 37 8 39 40 elsetchom ⊢ φ ∧ F ∈ X E Y → a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅ ∈ Y Hom ⁡ C 2 𝑜 ↔ a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅ : Y ⟶ 2 𝑜
64 51 63 mpbird ⊢ φ ∧ F ∈ X E Y → a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅ ∈ Y Hom ⁡ C 2 𝑜
65 1 37 8 39 40 elsetchom ⊢ φ ∧ F ∈ X E Y → Y × 1 𝑜 ∈ Y Hom ⁡ C 2 𝑜 ↔ Y × 1 𝑜 : Y ⟶ 2 𝑜
66 54 65 mpbird ⊢ φ ∧ F ∈ X E Y → Y × 1 𝑜 ∈ Y Hom ⁡ C 2 𝑜
67 7 8 9 5 57 58 59 61 62 64 66 epii ⊢ φ ∧ F ∈ X E Y → a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅ X Y comp ⁡ C 2 𝑜 F = Y × 1 𝑜 X Y comp ⁡ C 2 𝑜 F ↔ a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅ = Y × 1 𝑜
68 56 67 mpbid ⊢ φ ∧ F ∈ X E Y → a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅ = Y × 1 𝑜
69 68 32 eqtrdi ⊢ φ ∧ F ∈ X E Y → a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅ = a ∈ Y ⟼ 1 𝑜
70 48 rgenw ⊢ ∀ a ∈ Y if a ∈ ran ⁡ F 1 𝑜 ∅ ∈ 2 𝑜
71 mpteqb ⊢ ∀ a ∈ Y if a ∈ ran ⁡ F 1 𝑜 ∅ ∈ 2 𝑜 → a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅ = a ∈ Y ⟼ 1 𝑜 ↔ ∀ a ∈ Y if a ∈ ran ⁡ F 1 𝑜 ∅ = 1 𝑜
72 70 71 ax-mp ⊢ a ∈ Y ⟼ if a ∈ ran ⁡ F 1 𝑜 ∅ = a ∈ Y ⟼ 1 𝑜 ↔ ∀ a ∈ Y if a ∈ ran ⁡ F 1 𝑜 ∅ = 1 𝑜
73 69 72 sylib ⊢ φ ∧ F ∈ X E Y → ∀ a ∈ Y if a ∈ ran ⁡ F 1 𝑜 ∅ = 1 𝑜
74 1n0 ⊢ 1 𝑜 ≠ ∅
75 74 nesymi ⊢ ¬ ∅ = 1 𝑜
76 iffalse ⊢ ¬ a ∈ ran ⁡ F → if a ∈ ran ⁡ F 1 𝑜 ∅ = ∅
77 76 eqeq1d ⊢ ¬ a ∈ ran ⁡ F → if a ∈ ran ⁡ F 1 𝑜 ∅ = 1 𝑜 ↔ ∅ = 1 𝑜
78 75 77 mtbiri ⊢ ¬ a ∈ ran ⁡ F → ¬ if a ∈ ran ⁡ F 1 𝑜 ∅ = 1 𝑜
79 78 con4i ⊢ if a ∈ ran ⁡ F 1 𝑜 ∅ = 1 𝑜 → a ∈ ran ⁡ F
80 79 ralimi ⊢ ∀ a ∈ Y if a ∈ ran ⁡ F 1 𝑜 ∅ = 1 𝑜 → ∀ a ∈ Y a ∈ ran ⁡ F
81 73 80 syl ⊢ φ ∧ F ∈ X E Y → ∀ a ∈ Y a ∈ ran ⁡ F
82 dfss3 ⊢ Y ⊆ ran ⁡ F ↔ ∀ a ∈ Y a ∈ ran ⁡ F
83 81 82 sylibr ⊢ φ ∧ F ∈ X E Y → Y ⊆ ran ⁡ F
84 20 83 eqssd ⊢ φ ∧ F ∈ X E Y → ran ⁡ F = Y
85 dffo2 ⊢ F : X ⟶ onto Y ↔ F : X ⟶ Y ∧ ran ⁡ F = Y
86 19 84 85 sylanbrc ⊢ φ ∧ F ∈ X E Y → F : X ⟶ onto Y
87 fof ⊢ F : X ⟶ onto Y → F : X ⟶ Y
88 87 adantl ⊢ φ ∧ F : X ⟶ onto Y → F : X ⟶ Y
89 17 biimpar ⊢ φ ∧ F : X ⟶ Y → F ∈ X Hom ⁡ C Y
90 88 89 syldan ⊢ φ ∧ F : X ⟶ onto Y → F ∈ X Hom ⁡ C Y
91 12 adantr ⊢ φ ∧ F : X ⟶ onto Y → U = Base C
92 91 eleq2d ⊢ φ ∧ F : X ⟶ onto Y → z ∈ U ↔ z ∈ Base C
93 2 ad2antrr ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → U ∈ V
94 3 ad2antrr ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → X ∈ U
95 4 ad2antrr ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → Y ∈ U
96 simprl ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → z ∈ U
97 88 adantr ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → F : X ⟶ Y
98 simprrl ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → g ∈ Y Hom ⁡ C z
99 1 93 8 95 96 elsetchom ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → g ∈ Y Hom ⁡ C z ↔ g : Y ⟶ z
100 98 99 mpbid ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → g : Y ⟶ z
101 1 93 9 94 95 96 97 100 setcco ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → g X Y comp ⁡ C z F = g ∘ F
102 simprrr ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → h ∈ Y Hom ⁡ C z
103 1 93 8 95 96 elsetchom ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → h ∈ Y Hom ⁡ C z ↔ h : Y ⟶ z
104 102 103 mpbid ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → h : Y ⟶ z
105 1 93 9 94 95 96 97 104 setcco ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → h X Y comp ⁡ C z F = h ∘ F
106 101 105 eqeq12d ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → g X Y comp ⁡ C z F = h X Y comp ⁡ C z F ↔ g ∘ F = h ∘ F
107 simplr ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → F : X ⟶ onto Y
108 100 ffnd ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → g Fn Y
109 104 ffnd ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → h Fn Y
110 cocan2 ⊢ F : X ⟶ onto Y ∧ g Fn Y ∧ h Fn Y → g ∘ F = h ∘ F ↔ g = h
111 107 108 109 110 syl3anc ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → g ∘ F = h ∘ F ↔ g = h
112 111 biimpd ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → g ∘ F = h ∘ F → g = h
113 106 112 sylbid ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → g X Y comp ⁡ C z F = h X Y comp ⁡ C z F → g = h
114 113 anassrs ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U ∧ g ∈ Y Hom ⁡ C z ∧ h ∈ Y Hom ⁡ C z → g X Y comp ⁡ C z F = h X Y comp ⁡ C z F → g = h
115 114 ralrimivva ⊢ φ ∧ F : X ⟶ onto Y ∧ z ∈ U → ∀ g ∈ Y Hom ⁡ C z ∀ h ∈ Y Hom ⁡ C z g X Y comp ⁡ C z F = h X Y comp ⁡ C z F → g = h
116 115 ex ⊢ φ ∧ F : X ⟶ onto Y → z ∈ U → ∀ g ∈ Y Hom ⁡ C z ∀ h ∈ Y Hom ⁡ C z g X Y comp ⁡ C z F = h X Y comp ⁡ C z F → g = h
117 92 116 sylbird ⊢ φ ∧ F : X ⟶ onto Y → z ∈ Base C → ∀ g ∈ Y Hom ⁡ C z ∀ h ∈ Y Hom ⁡ C z g X Y comp ⁡ C z F = h X Y comp ⁡ C z F → g = h
118 117 ralrimiv ⊢ φ ∧ F : X ⟶ onto Y → ∀ z ∈ Base C ∀ g ∈ Y Hom ⁡ C z ∀ h ∈ Y Hom ⁡ C z g X Y comp ⁡ C z F = h X Y comp ⁡ C z F → g = h
119 7 8 9 5 11 13 14 isepi2 ⊢ φ → F ∈ X E Y ↔ F ∈ X Hom ⁡ C Y ∧ ∀ z ∈ Base C ∀ g ∈ Y Hom ⁡ C z ∀ h ∈ Y Hom ⁡ C z g X Y comp ⁡ C z F = h X Y comp ⁡ C z F → g = h
120 119 adantr ⊢ φ ∧ F : X ⟶ onto Y → F ∈ X E Y ↔ F ∈ X Hom ⁡ C Y ∧ ∀ z ∈ Base C ∀ g ∈ Y Hom ⁡ C z ∀ h ∈ Y Hom ⁡ C z g X Y comp ⁡ C z F = h X Y comp ⁡ C z F → g = h
121 90 118 120 mpbir2and ⊢ φ ∧ F : X ⟶ onto Y → F ∈ X E Y
122 86 121 impbida ⊢ φ → F ∈ X E Y ↔ F : X ⟶ onto Y