Metamath Proof Explorer


Theorem initc

Description: Sets with empty base are the only initial objects in the category of small categories. Example 7.2(3) of Adamek p. 101. (Contributed by Zhi Wang, 15-Nov-2025)

Ref Expression
Assertion initc ( ( 𝐶 ∈ V ∧ ∅ = ( Base ‘ 𝐶 ) ) ↔ ∀ 𝑑 ∈ Cat ∃! 𝑓 𝑓 ∈ ( 𝐶 Func 𝑑 ) )

Proof

Step Hyp Ref Expression
1 simpll ( ( ( 𝐶 ∈ V ∧ ∅ = ( Base ‘ 𝐶 ) ) ∧ 𝑑 ∈ Cat ) → 𝐶 ∈ V )
2 simplr ( ( ( 𝐶 ∈ V ∧ ∅ = ( Base ‘ 𝐶 ) ) ∧ 𝑑 ∈ Cat ) → ∅ = ( Base ‘ 𝐶 ) )
3 simpr ( ( ( 𝐶 ∈ V ∧ ∅ = ( Base ‘ 𝐶 ) ) ∧ 𝑑 ∈ Cat ) → 𝑑 ∈ Cat )
4 1 2 3 0funcg ( ( ( 𝐶 ∈ V ∧ ∅ = ( Base ‘ 𝐶 ) ) ∧ 𝑑 ∈ Cat ) → ( 𝐶 Func 𝑑 ) = { ⟨ ∅ , ∅ ⟩ } )
5 opex ⟨ ∅ , ∅ ⟩ ∈ V
6 sneq ( 𝑓 = ⟨ ∅ , ∅ ⟩ → { 𝑓 } = { ⟨ ∅ , ∅ ⟩ } )
7 6 eqeq2d ( 𝑓 = ⟨ ∅ , ∅ ⟩ → ( ( 𝐶 Func 𝑑 ) = { 𝑓 } ↔ ( 𝐶 Func 𝑑 ) = { ⟨ ∅ , ∅ ⟩ } ) )
8 5 7 spcev ( ( 𝐶 Func 𝑑 ) = { ⟨ ∅ , ∅ ⟩ } → ∃ 𝑓 ( 𝐶 Func 𝑑 ) = { 𝑓 } )
9 4 8 syl ( ( ( 𝐶 ∈ V ∧ ∅ = ( Base ‘ 𝐶 ) ) ∧ 𝑑 ∈ Cat ) → ∃ 𝑓 ( 𝐶 Func 𝑑 ) = { 𝑓 } )
10 eusn ( ∃! 𝑓 𝑓 ∈ ( 𝐶 Func 𝑑 ) ↔ ∃ 𝑓 ( 𝐶 Func 𝑑 ) = { 𝑓 } )
11 9 10 sylibr ( ( ( 𝐶 ∈ V ∧ ∅ = ( Base ‘ 𝐶 ) ) ∧ 𝑑 ∈ Cat ) → ∃! 𝑓 𝑓 ∈ ( 𝐶 Func 𝑑 ) )
12 11 ralrimiva ( ( 𝐶 ∈ V ∧ ∅ = ( Base ‘ 𝐶 ) ) → ∀ 𝑑 ∈ Cat ∃! 𝑓 𝑓 ∈ ( 𝐶 Func 𝑑 ) )
13 0cat ∅ ∈ Cat
14 oveq2 ( 𝑑 = ∅ → ( 𝐶 Func 𝑑 ) = ( 𝐶 Func ∅ ) )
15 14 eleq2d ( 𝑑 = ∅ → ( 𝑓 ∈ ( 𝐶 Func 𝑑 ) ↔ 𝑓 ∈ ( 𝐶 Func ∅ ) ) )
16 15 eubidv ( 𝑑 = ∅ → ( ∃! 𝑓 𝑓 ∈ ( 𝐶 Func 𝑑 ) ↔ ∃! 𝑓 𝑓 ∈ ( 𝐶 Func ∅ ) ) )
17 16 rspcv ( ∅ ∈ Cat → ( ∀ 𝑑 ∈ Cat ∃! 𝑓 𝑓 ∈ ( 𝐶 Func 𝑑 ) → ∃! 𝑓 𝑓 ∈ ( 𝐶 Func ∅ ) ) )
18 13 17 ax-mp ( ∀ 𝑑 ∈ Cat ∃! 𝑓 𝑓 ∈ ( 𝐶 Func 𝑑 ) → ∃! 𝑓 𝑓 ∈ ( 𝐶 Func ∅ ) )
19 euex ( ∃! 𝑓 𝑓 ∈ ( 𝐶 Func ∅ ) → ∃ 𝑓 𝑓 ∈ ( 𝐶 Func ∅ ) )
20 funcrcl ( 𝑓 ∈ ( 𝐶 Func ∅ ) → ( 𝐶 ∈ Cat ∧ ∅ ∈ Cat ) )
21 20 simpld ( 𝑓 ∈ ( 𝐶 Func ∅ ) → 𝐶 ∈ Cat )
22 21 elexd ( 𝑓 ∈ ( 𝐶 Func ∅ ) → 𝐶 ∈ V )
23 eqid ( Base ‘ 𝐶 ) = ( Base ‘ 𝐶 )
24 base0 ∅ = ( Base ‘ ∅ )
25 eqidd ( 𝑓 ∈ ( 𝐶 Func ∅ ) → ∅ = ∅ )
26 id ( 𝑓 ∈ ( 𝐶 Func ∅ ) → 𝑓 ∈ ( 𝐶 Func ∅ ) )
27 23 24 25 26 func0g2 ( 𝑓 ∈ ( 𝐶 Func ∅ ) → ( Base ‘ 𝐶 ) = ∅ )
28 27 eqcomd ( 𝑓 ∈ ( 𝐶 Func ∅ ) → ∅ = ( Base ‘ 𝐶 ) )
29 22 28 jca ( 𝑓 ∈ ( 𝐶 Func ∅ ) → ( 𝐶 ∈ V ∧ ∅ = ( Base ‘ 𝐶 ) ) )
30 29 exlimiv ( ∃ 𝑓 𝑓 ∈ ( 𝐶 Func ∅ ) → ( 𝐶 ∈ V ∧ ∅ = ( Base ‘ 𝐶 ) ) )
31 18 19 30 3syl ( ∀ 𝑑 ∈ Cat ∃! 𝑓 𝑓 ∈ ( 𝐶 Func 𝑑 ) → ( 𝐶 ∈ V ∧ ∅ = ( Base ‘ 𝐶 ) ) )
32 12 31 impbii ( ( 𝐶 ∈ V ∧ ∅ = ( Base ‘ 𝐶 ) ) ↔ ∀ 𝑑 ∈ Cat ∃! 𝑓 𝑓 ∈ ( 𝐶 Func 𝑑 ) )