Metamath Proof Explorer


Theorem diag2f1o

Description: If D is terminal, the morphism part of a diagonal functor is bijective functions from hom-sets into sets of natural transformations. (Contributed by Zhi Wang, 21-Oct-2025)

Ref Expression
Hypotheses diag2f1o.l ⊢ L = C Δ func D
diag2f1o.a ⊢ A = Base C
diag2f1o.h ⊢ H = Hom ⁡ C
diag2f1o.x ⊢ φ → X ∈ A
diag2f1o.y ⊢ φ → Y ∈ A
diag2f1o.n ⊢ N = D Nat C
diag2f1o.d No typesetting found for |- ( ph -> D e. TermCat ) with typecode |-
diag2f1o.c ⊢ φ → C ∈ Cat
Assertion diag2f1o ⊢ φ → X 2 nd ⁡ L Y : X H Y ⟶ 1-1 onto 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y

Proof

Step Hyp Ref Expression
1 diag2f1o.l ⊢ L = C Δ func D
2 diag2f1o.a ⊢ A = Base C
3 diag2f1o.h ⊢ H = Hom ⁡ C
4 diag2f1o.x ⊢ φ → X ∈ A
5 diag2f1o.y ⊢ φ → Y ∈ A
6 diag2f1o.n ⊢ N = D Nat C
7 diag2f1o.d Could not format ( ph -> D e. TermCat ) : No typesetting found for |- ( ph -> D e. TermCat ) with typecode |-
8 diag2f1o.c ⊢ φ → C ∈ Cat
9 eqid ⊢ Base D = Base D
10 7 termccatd ⊢ φ → D ∈ Cat
11 9 istermc2 Could not format ( D e. TermCat <-> ( D e. ThinCat /\ E! z z e. ( Base ` D ) ) ) : No typesetting found for |- ( D e. TermCat <-> ( D e. ThinCat /\ E! z z e. ( Base ` D ) ) ) with typecode |-
12 7 11 sylib ⊢ φ → D ∈ ThinCat ∧ ∃! z z ∈ Base D
13 12 simprd ⊢ φ → ∃! z z ∈ Base D
14 euex ⊢ ∃! z z ∈ Base D → ∃ z z ∈ Base D
15 13 14 syl ⊢ φ → ∃ z z ∈ Base D
16 n0 ⊢ Base D ≠ ∅ ↔ ∃ z z ∈ Base D
17 15 16 sylibr ⊢ φ → Base D ≠ ∅
18 1 2 9 3 8 10 4 5 17 6 diag2f1 ⊢ φ → X 2 nd ⁡ L Y : X H Y ⟶ 1-1 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y
19 f1f ⊢ X 2 nd ⁡ L Y : X H Y ⟶ 1-1 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y → X 2 nd ⁡ L Y : X H Y ⟶ 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y
20 18 19 syl ⊢ φ → X 2 nd ⁡ L Y : X H Y ⟶ 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y
21 7 9 termcbas ⊢ φ → ∃ z Base D = z
22 21 adantr ⊢ φ ∧ m ∈ 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y → ∃ z Base D = z
23 fveq2 ⊢ f = m ⁡ z → X 2 nd ⁡ L Y ⁡ f = X 2 nd ⁡ L Y ⁡ m ⁡ z
24 23 eqeq2d ⊢ f = m ⁡ z → m = X 2 nd ⁡ L Y ⁡ f ↔ m = X 2 nd ⁡ L Y ⁡ m ⁡ z
25 4 ad2antrr ⊢ φ ∧ m ∈ 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y ∧ Base D = z → X ∈ A
26 5 ad2antrr ⊢ φ ∧ m ∈ 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y ∧ Base D = z → Y ∈ A
27 7 ad2antrr Could not format ( ( ( ph /\ m e. ( ( ( 1st ` L ) ` X ) N ( ( 1st ` L ) ` Y ) ) ) /\ ( Base ` D ) = { z } ) -> D e. TermCat ) : No typesetting found for |- ( ( ( ph /\ m e. ( ( ( 1st ` L ) ` X ) N ( ( 1st ` L ) ` Y ) ) ) /\ ( Base ` D ) = { z } ) -> D e. TermCat ) with typecode |-
28 simplr ⊢ φ ∧ m ∈ 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y ∧ Base D = z → m ∈ 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y
29 vsnid ⊢ z ∈ z
30 simpr ⊢ φ ∧ m ∈ 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y ∧ Base D = z → Base D = z
31 29 30 eleqtrrid ⊢ φ ∧ m ∈ 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y ∧ Base D = z → z ∈ Base D
32 eqid ⊢ m ⁡ z = m ⁡ z
33 1 2 3 25 26 6 27 28 9 31 32 diag2f1olem ⊢ φ ∧ m ∈ 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y ∧ Base D = z → m ⁡ z ∈ X H Y ∧ m = X 2 nd ⁡ L Y ⁡ m ⁡ z
34 33 simpld ⊢ φ ∧ m ∈ 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y ∧ Base D = z → m ⁡ z ∈ X H Y
35 33 simprd ⊢ φ ∧ m ∈ 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y ∧ Base D = z → m = X 2 nd ⁡ L Y ⁡ m ⁡ z
36 24 34 35 rspcedvdw ⊢ φ ∧ m ∈ 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y ∧ Base D = z → ∃ f ∈ X H Y m = X 2 nd ⁡ L Y ⁡ f
37 22 36 exlimddv ⊢ φ ∧ m ∈ 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y → ∃ f ∈ X H Y m = X 2 nd ⁡ L Y ⁡ f
38 37 ralrimiva ⊢ φ → ∀ m ∈ 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y ∃ f ∈ X H Y m = X 2 nd ⁡ L Y ⁡ f
39 dffo3 ⊢ X 2 nd ⁡ L Y : X H Y ⟶ onto 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y ↔ X 2 nd ⁡ L Y : X H Y ⟶ 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y ∧ ∀ m ∈ 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y ∃ f ∈ X H Y m = X 2 nd ⁡ L Y ⁡ f
40 20 38 39 sylanbrc ⊢ φ → X 2 nd ⁡ L Y : X H Y ⟶ onto 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y
41 df-f1o ⊢ X 2 nd ⁡ L Y : X H Y ⟶ 1-1 onto 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y ↔ X 2 nd ⁡ L Y : X H Y ⟶ 1-1 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y ∧ X 2 nd ⁡ L Y : X H Y ⟶ onto 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y
42 18 40 41 sylanbrc ⊢ φ → X 2 nd ⁡ L Y : X H Y ⟶ 1-1 onto 1 st ⁡ L ⁡ X N 1 st ⁡ L ⁡ Y