Metamath Proof Explorer


Theorem eufunc

Description: If there exists a unique functor from a non-empty category, then the base of the target category is a singleton. (Contributed by Zhi Wang, 19-Oct-2025)

Ref Expression
Hypotheses eufunc.f ( 𝜑 → ∃! 𝑓 𝑓 ∈ ( 𝐶 Func 𝐷 ) )
eufunc.a 𝐴 = ( Base ‘ 𝐶 )
eufunc.0 ( 𝜑𝐴 ≠ ∅ )
eufunc.b 𝐵 = ( Base ‘ 𝐷 )
Assertion eufunc ( 𝜑 → ∃! 𝑥 𝑥𝐵 )

Proof

Step Hyp Ref Expression
1 eufunc.f ( 𝜑 → ∃! 𝑓 𝑓 ∈ ( 𝐶 Func 𝐷 ) )
2 eufunc.a 𝐴 = ( Base ‘ 𝐶 )
3 eufunc.0 ( 𝜑𝐴 ≠ ∅ )
4 eufunc.b 𝐵 = ( Base ‘ 𝐷 )
5 euex ( ∃! 𝑓 𝑓 ∈ ( 𝐶 Func 𝐷 ) → ∃ 𝑓 𝑓 ∈ ( 𝐶 Func 𝐷 ) )
6 simpr ( ( 𝑓 ∈ ( 𝐶 Func 𝐷 ) ∧ 𝐵 = ∅ ) → 𝐵 = ∅ )
7 simpl ( ( 𝑓 ∈ ( 𝐶 Func 𝐷 ) ∧ 𝐵 = ∅ ) → 𝑓 ∈ ( 𝐶 Func 𝐷 ) )
8 2 4 6 7 func0g2 ( ( 𝑓 ∈ ( 𝐶 Func 𝐷 ) ∧ 𝐵 = ∅ ) → 𝐴 = ∅ )
9 8 ex ( 𝑓 ∈ ( 𝐶 Func 𝐷 ) → ( 𝐵 = ∅ → 𝐴 = ∅ ) )
10 9 exlimiv ( ∃ 𝑓 𝑓 ∈ ( 𝐶 Func 𝐷 ) → ( 𝐵 = ∅ → 𝐴 = ∅ ) )
11 1 5 10 3syl ( 𝜑 → ( 𝐵 = ∅ → 𝐴 = ∅ ) )
12 11 imp ( ( 𝜑𝐵 = ∅ ) → 𝐴 = ∅ )
13 3 12 mteqand ( 𝜑𝐵 ≠ ∅ )
14 n0 ( 𝐵 ≠ ∅ ↔ ∃ 𝑥 𝑥𝐵 )
15 13 14 sylib ( 𝜑 → ∃ 𝑥 𝑥𝐵 )
16 1 2 3 4 eufunclem ( 𝜑𝐵 ≼ 1o )
17 modom2 ( ∃* 𝑥 𝑥𝐵𝐵 ≼ 1o )
18 16 17 sylibr ( 𝜑 → ∃* 𝑥 𝑥𝐵 )
19 df-eu ( ∃! 𝑥 𝑥𝐵 ↔ ( ∃ 𝑥 𝑥𝐵 ∧ ∃* 𝑥 𝑥𝐵 ) )
20 15 18 19 sylanbrc ( 𝜑 → ∃! 𝑥 𝑥𝐵 )