Metamath Proof Explorer


Theorem termfucterm

Description: All functors between two terminal categories are isomorphisms. (Contributed by Zhi Wang, 17-Nov-2025)

Ref Expression
Hypotheses termfucterm.c 𝐶 = ( CatCat ‘ 𝑈 )
termfucterm.b 𝐵 = ( Base ‘ 𝐶 )
termfucterm.i 𝐼 = ( Iso ‘ 𝐶 )
termfucterm.x ( 𝜑𝑋𝐵 )
termfucterm.xt ( 𝜑𝑋 ∈ TermCat )
termfucterm.y ( 𝜑𝑌𝐵 )
termfucterm.yt ( 𝜑𝑌 ∈ TermCat )
Assertion termfucterm ( 𝜑 → ( 𝑋 Func 𝑌 ) = ( 𝑋 𝐼 𝑌 ) )

Proof

Step Hyp Ref Expression
1 termfucterm.c 𝐶 = ( CatCat ‘ 𝑈 )
2 termfucterm.b 𝐵 = ( Base ‘ 𝐶 )
3 termfucterm.i 𝐼 = ( Iso ‘ 𝐶 )
4 termfucterm.x ( 𝜑𝑋𝐵 )
5 termfucterm.xt ( 𝜑𝑋 ∈ TermCat )
6 termfucterm.y ( 𝜑𝑌𝐵 )
7 termfucterm.yt ( 𝜑𝑌 ∈ TermCat )
8 1 2 4 6 5 termcciso ( 𝜑 → ( 𝑌 ∈ TermCat ↔ 𝑋 ( ≃𝑐𝐶 ) 𝑌 ) )
9 7 8 mpbid ( 𝜑𝑋 ( ≃𝑐𝐶 ) 𝑌 )
10 cicrcl2 ( 𝑋 ( ≃𝑐𝐶 ) 𝑌𝐶 ∈ Cat )
11 9 10 syl ( 𝜑𝐶 ∈ Cat )
12 3 2 11 4 6 cic ( 𝜑 → ( 𝑋 ( ≃𝑐𝐶 ) 𝑌 ↔ ∃ 𝑔 𝑔 ∈ ( 𝑋 𝐼 𝑌 ) ) )
13 9 12 mpbid ( 𝜑 → ∃ 𝑔 𝑔 ∈ ( 𝑋 𝐼 𝑌 ) )
14 13 adantr ( ( 𝜑𝑓 ∈ ( 𝑋 Func 𝑌 ) ) → ∃ 𝑔 𝑔 ∈ ( 𝑋 𝐼 𝑌 ) )
15 eqid ( 𝑋 FuncCat 𝑌 ) = ( 𝑋 FuncCat 𝑌 )
16 5 termccd ( 𝜑𝑋 ∈ Cat )
17 15 16 7 fucterm ( 𝜑 → ( 𝑋 FuncCat 𝑌 ) ∈ TermCat )
18 17 ad2antrr ( ( ( 𝜑𝑓 ∈ ( 𝑋 Func 𝑌 ) ) ∧ 𝑔 ∈ ( 𝑋 𝐼 𝑌 ) ) → ( 𝑋 FuncCat 𝑌 ) ∈ TermCat )
19 15 fucbas ( 𝑋 Func 𝑌 ) = ( Base ‘ ( 𝑋 FuncCat 𝑌 ) )
20 simplr ( ( ( 𝜑𝑓 ∈ ( 𝑋 Func 𝑌 ) ) ∧ 𝑔 ∈ ( 𝑋 𝐼 𝑌 ) ) → 𝑓 ∈ ( 𝑋 Func 𝑌 ) )
21 fullfunc ( 𝑋 Full 𝑌 ) ⊆ ( 𝑋 Func 𝑌 )
22 eqid ( Base ‘ 𝑋 ) = ( Base ‘ 𝑋 )
23 eqid ( Base ‘ 𝑌 ) = ( Base ‘ 𝑌 )
24 simpr ( ( ( 𝜑𝑓 ∈ ( 𝑋 Func 𝑌 ) ) ∧ 𝑔 ∈ ( 𝑋 𝐼 𝑌 ) ) → 𝑔 ∈ ( 𝑋 𝐼 𝑌 ) )
25 1 22 23 3 24 catcisoi ( ( ( 𝜑𝑓 ∈ ( 𝑋 Func 𝑌 ) ) ∧ 𝑔 ∈ ( 𝑋 𝐼 𝑌 ) ) → ( 𝑔 ∈ ( ( 𝑋 Full 𝑌 ) ∩ ( 𝑋 Faith 𝑌 ) ) ∧ ( 1st𝑔 ) : ( Base ‘ 𝑋 ) –1-1-onto→ ( Base ‘ 𝑌 ) ) )
26 25 simpld ( ( ( 𝜑𝑓 ∈ ( 𝑋 Func 𝑌 ) ) ∧ 𝑔 ∈ ( 𝑋 𝐼 𝑌 ) ) → 𝑔 ∈ ( ( 𝑋 Full 𝑌 ) ∩ ( 𝑋 Faith 𝑌 ) ) )
27 26 elin1d ( ( ( 𝜑𝑓 ∈ ( 𝑋 Func 𝑌 ) ) ∧ 𝑔 ∈ ( 𝑋 𝐼 𝑌 ) ) → 𝑔 ∈ ( 𝑋 Full 𝑌 ) )
28 21 27 sselid ( ( ( 𝜑𝑓 ∈ ( 𝑋 Func 𝑌 ) ) ∧ 𝑔 ∈ ( 𝑋 𝐼 𝑌 ) ) → 𝑔 ∈ ( 𝑋 Func 𝑌 ) )
29 18 19 20 28 termcbasmo ( ( ( 𝜑𝑓 ∈ ( 𝑋 Func 𝑌 ) ) ∧ 𝑔 ∈ ( 𝑋 𝐼 𝑌 ) ) → 𝑓 = 𝑔 )
30 29 24 eqeltrd ( ( ( 𝜑𝑓 ∈ ( 𝑋 Func 𝑌 ) ) ∧ 𝑔 ∈ ( 𝑋 𝐼 𝑌 ) ) → 𝑓 ∈ ( 𝑋 𝐼 𝑌 ) )
31 14 30 exlimddv ( ( 𝜑𝑓 ∈ ( 𝑋 Func 𝑌 ) ) → 𝑓 ∈ ( 𝑋 𝐼 𝑌 ) )
32 simpr ( ( 𝜑𝑓 ∈ ( 𝑋 𝐼 𝑌 ) ) → 𝑓 ∈ ( 𝑋 𝐼 𝑌 ) )
33 1 22 23 3 32 catcisoi ( ( 𝜑𝑓 ∈ ( 𝑋 𝐼 𝑌 ) ) → ( 𝑓 ∈ ( ( 𝑋 Full 𝑌 ) ∩ ( 𝑋 Faith 𝑌 ) ) ∧ ( 1st𝑓 ) : ( Base ‘ 𝑋 ) –1-1-onto→ ( Base ‘ 𝑌 ) ) )
34 33 simpld ( ( 𝜑𝑓 ∈ ( 𝑋 𝐼 𝑌 ) ) → 𝑓 ∈ ( ( 𝑋 Full 𝑌 ) ∩ ( 𝑋 Faith 𝑌 ) ) )
35 34 elin1d ( ( 𝜑𝑓 ∈ ( 𝑋 𝐼 𝑌 ) ) → 𝑓 ∈ ( 𝑋 Full 𝑌 ) )
36 21 35 sselid ( ( 𝜑𝑓 ∈ ( 𝑋 𝐼 𝑌 ) ) → 𝑓 ∈ ( 𝑋 Func 𝑌 ) )
37 31 36 impbida ( 𝜑 → ( 𝑓 ∈ ( 𝑋 Func 𝑌 ) ↔ 𝑓 ∈ ( 𝑋 𝐼 𝑌 ) ) )
38 37 eqrdv ( 𝜑 → ( 𝑋 Func 𝑌 ) = ( 𝑋 𝐼 𝑌 ) )