Metamath Proof Explorer


Theorem termcfuncval

Description: The value of a functor from a terminal category. (Contributed by Zhi Wang, 20-Oct-2025)

Ref Expression
Hypotheses diag1f1o.a ⊢ A = Base C
diag1f1o.d No typesetting found for |- ( ph -> D e. TermCat ) with typecode |-
termcfuncval.k ⊢ φ → K ∈ D Func C
termcfuncval.b ⊢ B = Base D
termcfuncval.y ⊢ φ → Y ∈ B
termcfuncval.x ⊢ X = 1 st ⁡ K ⁡ Y
termcfuncval.1 ⊢ 1 ˙ = Id ⁡ C
termcfuncval.i ⊢ I = Id ⁡ D
Assertion termcfuncval ⊢ φ → X ∈ A ∧ K = Y X Y Y I ⁡ Y 1 ˙ ⁡ X

Proof

Step Hyp Ref Expression
1 diag1f1o.a ⊢ A = Base C
2 diag1f1o.d Could not format ( ph -> D e. TermCat ) : No typesetting found for |- ( ph -> D e. TermCat ) with typecode |-
3 termcfuncval.k ⊢ φ → K ∈ D Func C
4 termcfuncval.b ⊢ B = Base D
5 termcfuncval.y ⊢ φ → Y ∈ B
6 termcfuncval.x ⊢ X = 1 st ⁡ K ⁡ Y
7 termcfuncval.1 ⊢ 1 ˙ = Id ⁡ C
8 termcfuncval.i ⊢ I = Id ⁡ D
9 3 func1st2nd ⊢ φ → 1 st ⁡ K D Func C 2 nd ⁡ K
10 4 1 9 funcf1 ⊢ φ → 1 st ⁡ K : B ⟶ A
11 10 5 ffvelcdmd ⊢ φ → 1 st ⁡ K ⁡ Y ∈ A
12 6 11 eqeltrid ⊢ φ → X ∈ A
13 relfunc ⊢ Rel ⁡ D Func C
14 1st2nd ⊢ Rel ⁡ D Func C ∧ K ∈ D Func C → K = 1 st ⁡ K 2 nd ⁡ K
15 13 3 14 sylancr ⊢ φ → K = 1 st ⁡ K 2 nd ⁡ K
16 2 4 5 termcbas2 ⊢ φ → B = Y
17 16 feq2d ⊢ φ → 1 st ⁡ K : B ⟶ A ↔ 1 st ⁡ K : Y ⟶ A
18 10 17 mpbid ⊢ φ → 1 st ⁡ K : Y ⟶ A
19 fsn2g ⊢ Y ∈ B → 1 st ⁡ K : Y ⟶ A ↔ 1 st ⁡ K ⁡ Y ∈ A ∧ 1 st ⁡ K = Y 1 st ⁡ K ⁡ Y
20 5 19 syl ⊢ φ → 1 st ⁡ K : Y ⟶ A ↔ 1 st ⁡ K ⁡ Y ∈ A ∧ 1 st ⁡ K = Y 1 st ⁡ K ⁡ Y
21 18 20 mpbid ⊢ φ → 1 st ⁡ K ⁡ Y ∈ A ∧ 1 st ⁡ K = Y 1 st ⁡ K ⁡ Y
22 21 simprd ⊢ φ → 1 st ⁡ K = Y 1 st ⁡ K ⁡ Y
23 6 opeq2i ⊢ Y X = Y 1 st ⁡ K ⁡ Y
24 23 sneqi ⊢ Y X = Y 1 st ⁡ K ⁡ Y
25 22 24 eqtr4di ⊢ φ → 1 st ⁡ K = Y X
26 4 9 funcfn2 ⊢ φ → 2 nd ⁡ K Fn B × B
27 16 sqxpeqd ⊢ φ → B × B = Y × Y
28 xpsng ⊢ Y ∈ B ∧ Y ∈ B → Y × Y = Y Y
29 5 5 28 syl2anc ⊢ φ → Y × Y = Y Y
30 27 29 eqtrd ⊢ φ → B × B = Y Y
31 30 fneq2d ⊢ φ → 2 nd ⁡ K Fn B × B ↔ 2 nd ⁡ K Fn Y Y
32 26 31 mpbid ⊢ φ → 2 nd ⁡ K Fn Y Y
33 opex ⊢ Y Y ∈ V
34 33 fnsnb ⊢ 2 nd ⁡ K Fn Y Y ↔ 2 nd ⁡ K = Y Y 2 nd ⁡ K ⁡ Y Y
35 32 34 sylib ⊢ φ → 2 nd ⁡ K = Y Y 2 nd ⁡ K ⁡ Y Y
36 df-ov ⊢ Y 2 nd ⁡ K Y = 2 nd ⁡ K ⁡ Y Y
37 eqid ⊢ Hom ⁡ D = Hom ⁡ D
38 eqid ⊢ Hom ⁡ C = Hom ⁡ C
39 4 37 38 9 5 5 funcf2 ⊢ φ → Y 2 nd ⁡ K Y : Y Hom ⁡ D Y ⟶ 1 st ⁡ K ⁡ Y Hom ⁡ C 1 st ⁡ K ⁡ Y
40 2 4 5 5 37 8 termchom ⊢ φ → Y Hom ⁡ D Y = I ⁡ Y
41 40 eqcomd ⊢ φ → I ⁡ Y = Y Hom ⁡ D Y
42 6 6 oveq12i ⊢ X Hom ⁡ C X = 1 st ⁡ K ⁡ Y Hom ⁡ C 1 st ⁡ K ⁡ Y
43 42 a1i ⊢ φ → X Hom ⁡ C X = 1 st ⁡ K ⁡ Y Hom ⁡ C 1 st ⁡ K ⁡ Y
44 41 43 feq23d ⊢ φ → Y 2 nd ⁡ K Y : I ⁡ Y ⟶ X Hom ⁡ C X ↔ Y 2 nd ⁡ K Y : Y Hom ⁡ D Y ⟶ 1 st ⁡ K ⁡ Y Hom ⁡ C 1 st ⁡ K ⁡ Y
45 39 44 mpbird ⊢ φ → Y 2 nd ⁡ K Y : I ⁡ Y ⟶ X Hom ⁡ C X
46 fvex ⊢ I ⁡ Y ∈ V
47 46 fsn2 ⊢ Y 2 nd ⁡ K Y : I ⁡ Y ⟶ X Hom ⁡ C X ↔ Y 2 nd ⁡ K Y ⁡ I ⁡ Y ∈ X Hom ⁡ C X ∧ Y 2 nd ⁡ K Y = I ⁡ Y Y 2 nd ⁡ K Y ⁡ I ⁡ Y
48 45 47 sylib ⊢ φ → Y 2 nd ⁡ K Y ⁡ I ⁡ Y ∈ X Hom ⁡ C X ∧ Y 2 nd ⁡ K Y = I ⁡ Y Y 2 nd ⁡ K Y ⁡ I ⁡ Y
49 48 simprd ⊢ φ → Y 2 nd ⁡ K Y = I ⁡ Y Y 2 nd ⁡ K Y ⁡ I ⁡ Y
50 4 8 7 9 5 funcid ⊢ φ → Y 2 nd ⁡ K Y ⁡ I ⁡ Y = 1 ˙ ⁡ 1 st ⁡ K ⁡ Y
51 6 fveq2i ⊢ 1 ˙ ⁡ X = 1 ˙ ⁡ 1 st ⁡ K ⁡ Y
52 50 51 eqtr4di ⊢ φ → Y 2 nd ⁡ K Y ⁡ I ⁡ Y = 1 ˙ ⁡ X
53 52 opeq2d ⊢ φ → I ⁡ Y Y 2 nd ⁡ K Y ⁡ I ⁡ Y = I ⁡ Y 1 ˙ ⁡ X
54 53 sneqd ⊢ φ → I ⁡ Y Y 2 nd ⁡ K Y ⁡ I ⁡ Y = I ⁡ Y 1 ˙ ⁡ X
55 49 54 eqtrd ⊢ φ → Y 2 nd ⁡ K Y = I ⁡ Y 1 ˙ ⁡ X
56 36 55 eqtr3id ⊢ φ → 2 nd ⁡ K ⁡ Y Y = I ⁡ Y 1 ˙ ⁡ X
57 56 opeq2d ⊢ φ → Y Y 2 nd ⁡ K ⁡ Y Y = Y Y I ⁡ Y 1 ˙ ⁡ X
58 57 sneqd ⊢ φ → Y Y 2 nd ⁡ K ⁡ Y Y = Y Y I ⁡ Y 1 ˙ ⁡ X
59 35 58 eqtrd ⊢ φ → 2 nd ⁡ K = Y Y I ⁡ Y 1 ˙ ⁡ X
60 25 59 opeq12d ⊢ φ → 1 st ⁡ K 2 nd ⁡ K = Y X Y Y I ⁡ Y 1 ˙ ⁡ X
61 15 60 eqtrd ⊢ φ → K = Y X Y Y I ⁡ Y 1 ˙ ⁡ X
62 12 61 jca ⊢ φ → X ∈ A ∧ K = Y X Y Y I ⁡ Y 1 ˙ ⁡ X