Metamath Proof Explorer


Theorem uobeqterm

Description: Universal objects and terminal categories. (Contributed by Zhi Wang, 17-Nov-2025)

Ref Expression
Hypotheses uobeqterm.a 𝐴 = ( Base ‘ 𝐷 )
uobeqterm.b 𝐵 = ( Base ‘ 𝐸 )
uobeqterm.x ( 𝜑𝑋𝐴 )
uobeqterm.y ( 𝜑𝑌𝐵 )
uobeqterm.f ( 𝜑𝐹 ∈ ( 𝐶 Func 𝐷 ) )
uobeqterm.g ( 𝜑𝐺 ∈ ( 𝐶 Func 𝐸 ) )
uobeqterm.d ( 𝜑𝐷 ∈ TermCat )
uobeqterm.e ( 𝜑𝐸 ∈ TermCat )
Assertion uobeqterm ( 𝜑 → dom ( 𝐹 ( 𝐶 UP 𝐷 ) 𝑋 ) = dom ( 𝐺 ( 𝐶 UP 𝐸 ) 𝑌 ) )

Proof

Step Hyp Ref Expression
1 uobeqterm.a 𝐴 = ( Base ‘ 𝐷 )
2 uobeqterm.b 𝐵 = ( Base ‘ 𝐸 )
3 uobeqterm.x ( 𝜑𝑋𝐴 )
4 uobeqterm.y ( 𝜑𝑌𝐵 )
5 uobeqterm.f ( 𝜑𝐹 ∈ ( 𝐶 Func 𝐷 ) )
6 uobeqterm.g ( 𝜑𝐺 ∈ ( 𝐶 Func 𝐸 ) )
7 uobeqterm.d ( 𝜑𝐷 ∈ TermCat )
8 uobeqterm.e ( 𝜑𝐸 ∈ TermCat )
9 eqid ( CatCat ‘ { 𝐷 , 𝐸 } ) = ( CatCat ‘ { 𝐷 , 𝐸 } )
10 eqid ( Base ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) = ( Base ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) )
11 prid1g ( 𝐷 ∈ TermCat → 𝐷 ∈ { 𝐷 , 𝐸 } )
12 7 11 syl ( 𝜑𝐷 ∈ { 𝐷 , 𝐸 } )
13 7 termccd ( 𝜑𝐷 ∈ Cat )
14 12 13 elind ( 𝜑𝐷 ∈ ( { 𝐷 , 𝐸 } ∩ Cat ) )
15 prex { 𝐷 , 𝐸 } ∈ V
16 15 a1i ( 𝜑 → { 𝐷 , 𝐸 } ∈ V )
17 9 10 16 catcbas ( 𝜑 → ( Base ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) = ( { 𝐷 , 𝐸 } ∩ Cat ) )
18 14 17 eleqtrrd ( 𝜑𝐷 ∈ ( Base ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) )
19 prid2g ( 𝐸 ∈ TermCat → 𝐸 ∈ { 𝐷 , 𝐸 } )
20 8 19 syl ( 𝜑𝐸 ∈ { 𝐷 , 𝐸 } )
21 8 termccd ( 𝜑𝐸 ∈ Cat )
22 20 21 elind ( 𝜑𝐸 ∈ ( { 𝐷 , 𝐸 } ∩ Cat ) )
23 22 17 eleqtrrd ( 𝜑𝐸 ∈ ( Base ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) )
24 9 10 18 23 7 termcciso ( 𝜑 → ( 𝐸 ∈ TermCat ↔ 𝐷 ( ≃𝑐 ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) )
25 8 24 mpbid ( 𝜑𝐷 ( ≃𝑐 ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 )
26 eqid ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) = ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) )
27 9 catccat ( { 𝐷 , 𝐸 } ∈ V → ( CatCat ‘ { 𝐷 , 𝐸 } ) ∈ Cat )
28 16 27 syl ( 𝜑 → ( CatCat ‘ { 𝐷 , 𝐸 } ) ∈ Cat )
29 26 10 28 18 23 cic ( 𝜑 → ( 𝐷 ( ≃𝑐 ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ↔ ∃ 𝑘 𝑘 ∈ ( 𝐷 ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) ) )
30 25 29 mpbid ( 𝜑 → ∃ 𝑘 𝑘 ∈ ( 𝐷 ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) )
31 3 adantr ( ( 𝜑𝑘 ∈ ( 𝐷 ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) ) → 𝑋𝐴 )
32 5 adantr ( ( 𝜑𝑘 ∈ ( 𝐷 ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) ) → 𝐹 ∈ ( 𝐶 Func 𝐷 ) )
33 fullfunc ( 𝐷 Full 𝐸 ) ⊆ ( 𝐷 Func 𝐸 )
34 simpr ( ( 𝜑𝑘 ∈ ( 𝐷 ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) ) → 𝑘 ∈ ( 𝐷 ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) )
35 9 1 2 26 34 catcisoi ( ( 𝜑𝑘 ∈ ( 𝐷 ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) ) → ( 𝑘 ∈ ( ( 𝐷 Full 𝐸 ) ∩ ( 𝐷 Faith 𝐸 ) ) ∧ ( 1st𝑘 ) : 𝐴1-1-onto𝐵 ) )
36 35 simpld ( ( 𝜑𝑘 ∈ ( 𝐷 ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) ) → 𝑘 ∈ ( ( 𝐷 Full 𝐸 ) ∩ ( 𝐷 Faith 𝐸 ) ) )
37 36 elin1d ( ( 𝜑𝑘 ∈ ( 𝐷 ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) ) → 𝑘 ∈ ( 𝐷 Full 𝐸 ) )
38 33 37 sselid ( ( 𝜑𝑘 ∈ ( 𝐷 ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) ) → 𝑘 ∈ ( 𝐷 Func 𝐸 ) )
39 6 adantr ( ( 𝜑𝑘 ∈ ( 𝐷 ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) ) → 𝐺 ∈ ( 𝐶 Func 𝐸 ) )
40 8 adantr ( ( 𝜑𝑘 ∈ ( 𝐷 ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) ) → 𝐸 ∈ TermCat )
41 32 38 39 40 cofuterm ( ( 𝜑𝑘 ∈ ( 𝐷 ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) ) → ( 𝑘func 𝐹 ) = 𝐺 )
42 38 func1st2nd ( ( 𝜑𝑘 ∈ ( 𝐷 ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) ) → ( 1st𝑘 ) ( 𝐷 Func 𝐸 ) ( 2nd𝑘 ) )
43 1 2 42 funcf1 ( ( 𝜑𝑘 ∈ ( 𝐷 ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) ) → ( 1st𝑘 ) : 𝐴𝐵 )
44 43 31 ffvelcdmd ( ( 𝜑𝑘 ∈ ( 𝐷 ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) ) → ( ( 1st𝑘 ) ‘ 𝑋 ) ∈ 𝐵 )
45 4 adantr ( ( 𝜑𝑘 ∈ ( 𝐷 ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) ) → 𝑌𝐵 )
46 40 2 44 45 termcbasmo ( ( 𝜑𝑘 ∈ ( 𝐷 ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) ) → ( ( 1st𝑘 ) ‘ 𝑋 ) = 𝑌 )
47 1 31 32 41 46 9 26 34 uobeq3 ( ( 𝜑𝑘 ∈ ( 𝐷 ( Iso ‘ ( CatCat ‘ { 𝐷 , 𝐸 } ) ) 𝐸 ) ) → dom ( 𝐹 ( 𝐶 UP 𝐷 ) 𝑋 ) = dom ( 𝐺 ( 𝐶 UP 𝐸 ) 𝑌 ) )
48 30 47 exlimddv ( 𝜑 → dom ( 𝐹 ( 𝐶 UP 𝐷 ) 𝑋 ) = dom ( 𝐺 ( 𝐶 UP 𝐸 ) 𝑌 ) )