Metamath Proof Explorer


Theorem uptr2a

Description: Universal property and fully faithful functor surjective on objects. (Contributed by Zhi Wang, 25-Nov-2025)

Ref Expression
Hypotheses uptr2a.a 𝐴 = ( Base ‘ 𝐶 )
uptr2a.b 𝐵 = ( Base ‘ 𝐷 )
uptr2a.y ( 𝜑𝑌 = ( ( 1st𝐾 ) ‘ 𝑋 ) )
uptr2a.f ( 𝜑 → ( 𝐺func 𝐾 ) = 𝐹 )
uptr2a.x ( 𝜑𝑋𝐴 )
uptr2a.g ( 𝜑𝐺 ∈ ( 𝐷 Func 𝐸 ) )
uptr2a.k ( 𝜑𝐾 ∈ ( ( 𝐶 Full 𝐷 ) ∩ ( 𝐶 Faith 𝐷 ) ) )
uptr2a.1 ( 𝜑 → ( 1st𝐾 ) : 𝐴onto𝐵 )
Assertion uptr2a ( 𝜑 → ( 𝑋 ( 𝐹 ( 𝐶 UP 𝐸 ) 𝑍 ) 𝑀𝑌 ( 𝐺 ( 𝐷 UP 𝐸 ) 𝑍 ) 𝑀 ) )

Proof

Step Hyp Ref Expression
1 uptr2a.a 𝐴 = ( Base ‘ 𝐶 )
2 uptr2a.b 𝐵 = ( Base ‘ 𝐷 )
3 uptr2a.y ( 𝜑𝑌 = ( ( 1st𝐾 ) ‘ 𝑋 ) )
4 uptr2a.f ( 𝜑 → ( 𝐺func 𝐾 ) = 𝐹 )
5 uptr2a.x ( 𝜑𝑋𝐴 )
6 uptr2a.g ( 𝜑𝐺 ∈ ( 𝐷 Func 𝐸 ) )
7 uptr2a.k ( 𝜑𝐾 ∈ ( ( 𝐶 Full 𝐷 ) ∩ ( 𝐶 Faith 𝐷 ) ) )
8 uptr2a.1 ( 𝜑 → ( 1st𝐾 ) : 𝐴onto𝐵 )
9 relfull Rel ( 𝐶 Full 𝐷 )
10 relin1 ( Rel ( 𝐶 Full 𝐷 ) → Rel ( ( 𝐶 Full 𝐷 ) ∩ ( 𝐶 Faith 𝐷 ) ) )
11 9 10 ax-mp Rel ( ( 𝐶 Full 𝐷 ) ∩ ( 𝐶 Faith 𝐷 ) )
12 1st2ndbr ( ( Rel ( ( 𝐶 Full 𝐷 ) ∩ ( 𝐶 Faith 𝐷 ) ) ∧ 𝐾 ∈ ( ( 𝐶 Full 𝐷 ) ∩ ( 𝐶 Faith 𝐷 ) ) ) → ( 1st𝐾 ) ( ( 𝐶 Full 𝐷 ) ∩ ( 𝐶 Faith 𝐷 ) ) ( 2nd𝐾 ) )
13 11 7 12 sylancr ( 𝜑 → ( 1st𝐾 ) ( ( 𝐶 Full 𝐷 ) ∩ ( 𝐶 Faith 𝐷 ) ) ( 2nd𝐾 ) )
14 inss1 ( ( 𝐶 Full 𝐷 ) ∩ ( 𝐶 Faith 𝐷 ) ) ⊆ ( 𝐶 Full 𝐷 )
15 fullfunc ( 𝐶 Full 𝐷 ) ⊆ ( 𝐶 Func 𝐷 )
16 14 15 sstri ( ( 𝐶 Full 𝐷 ) ∩ ( 𝐶 Faith 𝐷 ) ) ⊆ ( 𝐶 Func 𝐷 )
17 16 7 sselid ( 𝜑𝐾 ∈ ( 𝐶 Func 𝐷 ) )
18 17 6 cofu1st2nd ( 𝜑 → ( 𝐺func 𝐾 ) = ( ⟨ ( 1st𝐺 ) , ( 2nd𝐺 ) ⟩ ∘func ⟨ ( 1st𝐾 ) , ( 2nd𝐾 ) ⟩ ) )
19 relfunc Rel ( 𝐶 Func 𝐸 )
20 17 6 cofucl ( 𝜑 → ( 𝐺func 𝐾 ) ∈ ( 𝐶 Func 𝐸 ) )
21 4 20 eqeltrrd ( 𝜑𝐹 ∈ ( 𝐶 Func 𝐸 ) )
22 1st2nd ( ( Rel ( 𝐶 Func 𝐸 ) ∧ 𝐹 ∈ ( 𝐶 Func 𝐸 ) ) → 𝐹 = ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ )
23 19 21 22 sylancr ( 𝜑𝐹 = ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ )
24 4 18 23 3eqtr3d ( 𝜑 → ( ⟨ ( 1st𝐺 ) , ( 2nd𝐺 ) ⟩ ∘func ⟨ ( 1st𝐾 ) , ( 2nd𝐾 ) ⟩ ) = ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ )
25 6 func1st2nd ( 𝜑 → ( 1st𝐺 ) ( 𝐷 Func 𝐸 ) ( 2nd𝐺 ) )
26 1 2 3 8 13 24 5 25 uptr2 ( 𝜑 → ( 𝑋 ( ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ ( 𝐶 UP 𝐸 ) 𝑍 ) 𝑀𝑌 ( ⟨ ( 1st𝐺 ) , ( 2nd𝐺 ) ⟩ ( 𝐷 UP 𝐸 ) 𝑍 ) 𝑀 ) )
27 21 up1st2ndb ( 𝜑 → ( 𝑋 ( 𝐹 ( 𝐶 UP 𝐸 ) 𝑍 ) 𝑀𝑋 ( ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ ( 𝐶 UP 𝐸 ) 𝑍 ) 𝑀 ) )
28 6 up1st2ndb ( 𝜑 → ( 𝑌 ( 𝐺 ( 𝐷 UP 𝐸 ) 𝑍 ) 𝑀𝑌 ( ⟨ ( 1st𝐺 ) , ( 2nd𝐺 ) ⟩ ( 𝐷 UP 𝐸 ) 𝑍 ) 𝑀 ) )
29 26 27 28 3bitr4d ( 𝜑 → ( 𝑋 ( 𝐹 ( 𝐶 UP 𝐸 ) 𝑍 ) 𝑀𝑌 ( 𝐺 ( 𝐷 UP 𝐸 ) 𝑍 ) 𝑀 ) )