Metamath Proof Explorer


Theorem diagffth

Description: The diagonal functor is a fully faithful functor from a category C to the category of functors from a terminal category to C . (Contributed by Zhi Wang, 21-Oct-2025)

Ref Expression
Hypotheses diagffth.c ( 𝜑𝐶 ∈ Cat )
diagffth.d ( 𝜑𝐷 ∈ TermCat )
diagffth.q 𝑄 = ( 𝐷 FuncCat 𝐶 )
diagffth.l 𝐿 = ( 𝐶 Δfunc 𝐷 )
Assertion diagffth ( 𝜑𝐿 ∈ ( ( 𝐶 Full 𝑄 ) ∩ ( 𝐶 Faith 𝑄 ) ) )

Proof

Step Hyp Ref Expression
1 diagffth.c ( 𝜑𝐶 ∈ Cat )
2 diagffth.d ( 𝜑𝐷 ∈ TermCat )
3 diagffth.q 𝑄 = ( 𝐷 FuncCat 𝐶 )
4 diagffth.l 𝐿 = ( 𝐶 Δfunc 𝐷 )
5 relfunc Rel ( 𝐶 Func 𝑄 )
6 2 termccd ( 𝜑𝐷 ∈ Cat )
7 4 1 6 3 diagcl ( 𝜑𝐿 ∈ ( 𝐶 Func 𝑄 ) )
8 1st2nd ( ( Rel ( 𝐶 Func 𝑄 ) ∧ 𝐿 ∈ ( 𝐶 Func 𝑄 ) ) → 𝐿 = ⟨ ( 1st𝐿 ) , ( 2nd𝐿 ) ⟩ )
9 5 7 8 sylancr ( 𝜑𝐿 = ⟨ ( 1st𝐿 ) , ( 2nd𝐿 ) ⟩ )
10 7 func1st2nd ( 𝜑 → ( 1st𝐿 ) ( 𝐶 Func 𝑄 ) ( 2nd𝐿 ) )
11 eqid ( Base ‘ 𝐶 ) = ( Base ‘ 𝐶 )
12 eqid ( Hom ‘ 𝐶 ) = ( Hom ‘ 𝐶 )
13 simprl ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → 𝑥 ∈ ( Base ‘ 𝐶 ) )
14 simprr ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → 𝑦 ∈ ( Base ‘ 𝐶 ) )
15 eqid ( 𝐷 Nat 𝐶 ) = ( 𝐷 Nat 𝐶 )
16 2 adantr ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → 𝐷 ∈ TermCat )
17 1 adantr ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → 𝐶 ∈ Cat )
18 4 11 12 13 14 15 16 17 diag2f1o ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → ( 𝑥 ( 2nd𝐿 ) 𝑦 ) : ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) –1-1-onto→ ( ( ( 1st𝐿 ) ‘ 𝑥 ) ( 𝐷 Nat 𝐶 ) ( ( 1st𝐿 ) ‘ 𝑦 ) ) )
19 18 ralrimivva ( 𝜑 → ∀ 𝑥 ∈ ( Base ‘ 𝐶 ) ∀ 𝑦 ∈ ( Base ‘ 𝐶 ) ( 𝑥 ( 2nd𝐿 ) 𝑦 ) : ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) –1-1-onto→ ( ( ( 1st𝐿 ) ‘ 𝑥 ) ( 𝐷 Nat 𝐶 ) ( ( 1st𝐿 ) ‘ 𝑦 ) ) )
20 3 15 fuchom ( 𝐷 Nat 𝐶 ) = ( Hom ‘ 𝑄 )
21 11 12 20 isffth2 ( ( 1st𝐿 ) ( ( 𝐶 Full 𝑄 ) ∩ ( 𝐶 Faith 𝑄 ) ) ( 2nd𝐿 ) ↔ ( ( 1st𝐿 ) ( 𝐶 Func 𝑄 ) ( 2nd𝐿 ) ∧ ∀ 𝑥 ∈ ( Base ‘ 𝐶 ) ∀ 𝑦 ∈ ( Base ‘ 𝐶 ) ( 𝑥 ( 2nd𝐿 ) 𝑦 ) : ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) –1-1-onto→ ( ( ( 1st𝐿 ) ‘ 𝑥 ) ( 𝐷 Nat 𝐶 ) ( ( 1st𝐿 ) ‘ 𝑦 ) ) ) )
22 10 19 21 sylanbrc ( 𝜑 → ( 1st𝐿 ) ( ( 𝐶 Full 𝑄 ) ∩ ( 𝐶 Faith 𝑄 ) ) ( 2nd𝐿 ) )
23 df-br ( ( 1st𝐿 ) ( ( 𝐶 Full 𝑄 ) ∩ ( 𝐶 Faith 𝑄 ) ) ( 2nd𝐿 ) ↔ ⟨ ( 1st𝐿 ) , ( 2nd𝐿 ) ⟩ ∈ ( ( 𝐶 Full 𝑄 ) ∩ ( 𝐶 Faith 𝑄 ) ) )
24 22 23 sylib ( 𝜑 → ⟨ ( 1st𝐿 ) , ( 2nd𝐿 ) ⟩ ∈ ( ( 𝐶 Full 𝑄 ) ∩ ( 𝐶 Faith 𝑄 ) ) )
25 9 24 eqeltrd ( 𝜑𝐿 ∈ ( ( 𝐶 Full 𝑄 ) ∩ ( 𝐶 Faith 𝑄 ) ) )