Metamath Proof Explorer


Theorem parmapfunc

Description: A map fixing the identity value and preserving the parallel-arrow class induces an endofunctor fixing every object. Category membership and the hom construction suffice: every composable pair contains an identity. (Contributed by Zhi Wang, 14-Sep-2026) (Revised by Zhi Wang, 17-Sep-2026)

Ref Expression
Hypotheses parmapfunc.b ⊢ B = Base C
parmapfunc.h ⊢ H = Hom ⁡ C
parmapfunc.c ⊢ C ∈ Cat
parmapfunc.hv ⊢ H = r ∈ B , s ∈ B ⟼ if r = s J if r = X ∧ s = Y S ∅
parmapfunc.l ⊢ L = u ∈ B , v ∈ B ⟼ a ∈ u H v ⟼ A ⁡ a
parmapfunc.ai ⊢ A ⁡ J = J
parmapfunc.as ⊢ ∀ t ∈ S A ⁡ t ∈ S
Assertion parmapfunc ⊢ I ↾ B C Func C L

Proof

Step Hyp Ref Expression
1 parmapfunc.b ⊢ B = Base C
2 parmapfunc.h ⊢ H = Hom ⁡ C
3 parmapfunc.c ⊢ C ∈ Cat
4 parmapfunc.hv ⊢ H = r ∈ B , s ∈ B ⟼ if r = s J if r = X ∧ s = Y S ∅
5 parmapfunc.l ⊢ L = u ∈ B , v ∈ B ⟼ a ∈ u H v ⟼ A ⁡ a
6 parmapfunc.ai ⊢ A ⁡ J = J
7 parmapfunc.as ⊢ ∀ t ∈ S A ⁡ t ∈ S
8 eqid ⊢ Id ⁡ C = Id ⁡ C
9 eqid ⊢ comp ⁡ C = comp ⁡ C
10 3 a1i ⊢ ⊤ → C ∈ Cat
11 f1oi ⊢ I ↾ B : B ⟶ 1-1 onto B
12 f1of ⊢ I ↾ B : B ⟶ 1-1 onto B → I ↾ B : B ⟶ B
13 11 12 mp1i ⊢ ⊤ → I ↾ B : B ⟶ B
14 5 fnmpompt ⊢ L Fn B × B
15 14 a1i ⊢ ⊤ → L Fn B × B
16 simprl ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B → x ∈ B
17 simprr ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B → y ∈ B
18 5 16 17 ovmpomptd ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B → x L y = a ∈ x H y ⟼ A ⁡ a
19 simpr ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ a ∈ x H y → a ∈ x H y
20 6 a1i ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ a ∈ x H y → A ⁡ J = J
21 fveq2 ⊢ t = a → A ⁡ t = A ⁡ a
22 21 eleq1d ⊢ t = a → A ⁡ t ∈ S ↔ A ⁡ a ∈ S
23 22 7 vtoclri ⊢ a ∈ S → A ⁡ a ∈ S
24 23 adantl ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ a ∈ x H y ∧ a ∈ S → A ⁡ a ∈ S
25 4 19 20 24 parmapcl ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ a ∈ x H y → A ⁡ a ∈ x H y
26 18 25 fmpt3d ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B → x L y : x H y ⟶ x H y
27 fvresi ⊢ x ∈ B → I ↾ B ⁡ x = x
28 16 27 syl ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B → I ↾ B ⁡ x = x
29 fvresi ⊢ y ∈ B → I ↾ B ⁡ y = y
30 17 29 syl ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B → I ↾ B ⁡ y = y
31 28 30 oveq12d ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B → I ↾ B ⁡ x H I ↾ B ⁡ y = x H y
32 31 feq3d ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B → x L y : x H y ⟶ I ↾ B ⁡ x H I ↾ B ⁡ y ↔ x L y : x H y ⟶ x H y
33 26 32 mpbird ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B → x L y : x H y ⟶ I ↾ B ⁡ x H I ↾ B ⁡ y
34 3 a1i ⊢ ⊤ ∧ x ∈ B → C ∈ Cat
35 simpr ⊢ ⊤ ∧ x ∈ B → x ∈ B
36 1 2 4 34 35 paridval ⊢ ⊤ ∧ x ∈ B → Id ⁡ C ⁡ x = J
37 36 fveq2d ⊢ ⊤ ∧ x ∈ B → x L x ⁡ Id ⁡ C ⁡ x = x L x ⁡ J
38 6 eqcomi ⊢ J = A ⁡ J
39 38 fvexi ⊢ J ∈ V
40 4 39 35 parhomid ⊢ ⊤ ∧ x ∈ B → J ∈ x H x
41 5 35 35 40 fvmpomptd ⊢ ⊤ ∧ x ∈ B → x L x ⁡ J = A ⁡ J
42 37 41 eqtrd ⊢ ⊤ ∧ x ∈ B → x L x ⁡ Id ⁡ C ⁡ x = A ⁡ J
43 27 adantl ⊢ ⊤ ∧ x ∈ B → I ↾ B ⁡ x = x
44 43 fveq2d ⊢ ⊤ ∧ x ∈ B → Id ⁡ C ⁡ I ↾ B ⁡ x = Id ⁡ C ⁡ x
45 44 36 eqtrd ⊢ ⊤ ∧ x ∈ B → Id ⁡ C ⁡ I ↾ B ⁡ x = J
46 6 42 45 3eqtr4a ⊢ ⊤ ∧ x ∈ B → x L x ⁡ Id ⁡ C ⁡ x = Id ⁡ C ⁡ I ↾ B ⁡ x
47 fvif ⊢ A ⁡ if x = y n m = if x = y A ⁡ n A ⁡ m
48 3 a1i ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → C ∈ Cat
49 simp3l ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → m ∈ x H y
50 simp3r ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → n ∈ y H z
51 1 2 4 48 9 49 50 parcoval2 ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → n x y comp ⁡ C z m = if x = y n m
52 51 fveq2d ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → x L z ⁡ n x y comp ⁡ C z m = x L z ⁡ if x = y n m
53 simp21 ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → x ∈ B
54 simp23 ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → z ∈ B
55 simp22 ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → y ∈ B
56 1 2 9 48 53 55 54 49 50 catcocl ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → n x y comp ⁡ C z m ∈ x H z
57 51 56 eqeltrrd ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → if x = y n m ∈ x H z
58 5 53 54 57 fvmpomptd ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → x L z ⁡ if x = y n m = A ⁡ if x = y n m
59 52 58 eqtrd ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → x L z ⁡ n x y comp ⁡ C z m = A ⁡ if x = y n m
60 53 27 syl ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → I ↾ B ⁡ x = x
61 55 29 syl ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → I ↾ B ⁡ y = y
62 60 61 opeq12d ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → I ↾ B ⁡ x I ↾ B ⁡ y = x y
63 fvresi ⊢ z ∈ B → I ↾ B ⁡ z = z
64 54 63 syl ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → I ↾ B ⁡ z = z
65 62 64 oveq12d ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → I ↾ B ⁡ x I ↾ B ⁡ y comp ⁡ C I ↾ B ⁡ z = x y comp ⁡ C z
66 5 55 54 50 fvmpomptd ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → y L z ⁡ n = A ⁡ n
67 5 53 55 49 fvmpomptd ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → x L y ⁡ m = A ⁡ m
68 65 66 67 oveq123d ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → y L z ⁡ n I ↾ B ⁡ x I ↾ B ⁡ y comp ⁡ C I ↾ B ⁡ z x L y ⁡ m = A ⁡ n x y comp ⁡ C z A ⁡ m
69 6 a1i ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → A ⁡ J = J
70 fveq2 ⊢ t = m → A ⁡ t = A ⁡ m
71 70 eleq1d ⊢ t = m → A ⁡ t ∈ S ↔ A ⁡ m ∈ S
72 71 7 vtoclri ⊢ m ∈ S → A ⁡ m ∈ S
73 72 adantl ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z ∧ m ∈ S → A ⁡ m ∈ S
74 4 49 69 73 parmapcl ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → A ⁡ m ∈ x H y
75 fveq2 ⊢ t = n → A ⁡ t = A ⁡ n
76 75 eleq1d ⊢ t = n → A ⁡ t ∈ S ↔ A ⁡ n ∈ S
77 76 7 vtoclri ⊢ n ∈ S → A ⁡ n ∈ S
78 77 adantl ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z ∧ n ∈ S → A ⁡ n ∈ S
79 4 50 69 78 parmapcl ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → A ⁡ n ∈ y H z
80 1 2 4 48 9 74 79 parcoval2 ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → A ⁡ n x y comp ⁡ C z A ⁡ m = if x = y A ⁡ n A ⁡ m
81 68 80 eqtrd ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → y L z ⁡ n I ↾ B ⁡ x I ↾ B ⁡ y comp ⁡ C I ↾ B ⁡ z x L y ⁡ m = if x = y A ⁡ n A ⁡ m
82 47 59 81 3eqtr4a ⊢ ⊤ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → x L z ⁡ n x y comp ⁡ C z m = y L z ⁡ n I ↾ B ⁡ x I ↾ B ⁡ y comp ⁡ C I ↾ B ⁡ z x L y ⁡ m
83 1 1 2 2 8 8 9 9 10 10 13 15 33 46 82 isfuncd ⊢ ⊤ → I ↾ B C Func C L
84 83 mptru ⊢ I ↾ B C Func C L