Metamath Proof Explorer


Theorem imasubc3

Description: An image of a functor injective on objects is a subcategory. Remark 4.2(3) of Adamek p. 48. (Contributed by Zhi Wang, 7-Nov-2025)

Ref Expression
Hypotheses imasubc.s 𝑆 = ( 𝐹𝐴 )
imasubc.h 𝐻 = ( Hom ‘ 𝐷 )
imasubc.k 𝐾 = ( 𝑥𝑆 , 𝑦𝑆 𝑝 ∈ ( ( 𝐹 “ { 𝑥 } ) × ( 𝐹 “ { 𝑦 } ) ) ( ( 𝐺𝑝 ) “ ( 𝐻𝑝 ) ) )
imassc.f ( 𝜑𝐹 ( 𝐷 Func 𝐸 ) 𝐺 )
imasubc3.f ( 𝜑 → Fun 𝐹 )
Assertion imasubc3 ( 𝜑𝐾 ∈ ( Subcat ‘ 𝐸 ) )

Proof

Step Hyp Ref Expression
1 imasubc.s 𝑆 = ( 𝐹𝐴 )
2 imasubc.h 𝐻 = ( Hom ‘ 𝐷 )
3 imasubc.k 𝐾 = ( 𝑥𝑆 , 𝑦𝑆 𝑝 ∈ ( ( 𝐹 “ { 𝑥 } ) × ( 𝐹 “ { 𝑦 } ) ) ( ( 𝐺𝑝 ) “ ( 𝐻𝑝 ) ) )
4 imassc.f ( 𝜑𝐹 ( 𝐷 Func 𝐸 ) 𝐺 )
5 imasubc3.f ( 𝜑 → Fun 𝐹 )
6 eqid ( Homf𝐸 ) = ( Homf𝐸 )
7 1 2 3 4 6 imassc ( 𝜑𝐾cat ( Homf𝐸 ) )
8 4 adantr ( ( 𝜑𝑎𝑆 ) → 𝐹 ( 𝐷 Func 𝐸 ) 𝐺 )
9 eqid ( Id ‘ 𝐸 ) = ( Id ‘ 𝐸 )
10 simpr ( ( 𝜑𝑎𝑆 ) → 𝑎𝑆 )
11 1 2 3 8 9 10 imaid ( ( 𝜑𝑎𝑆 ) → ( ( Id ‘ 𝐸 ) ‘ 𝑎 ) ∈ ( 𝑎 𝐾 𝑎 ) )
12 4 ad3antrrr ( ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑏𝑆𝑐𝑆 ) ) ∧ ( 𝑓 ∈ ( 𝑎 𝐾 𝑏 ) ∧ 𝑔 ∈ ( 𝑏 𝐾 𝑐 ) ) ) → 𝐹 ( 𝐷 Func 𝐸 ) 𝐺 )
13 eqid ( Base ‘ 𝐷 ) = ( Base ‘ 𝐷 )
14 eqid ( Base ‘ 𝐸 ) = ( Base ‘ 𝐸 )
15 eqid ( comp ‘ 𝐸 ) = ( comp ‘ 𝐸 )
16 13 14 4 funcf1 ( 𝜑𝐹 : ( Base ‘ 𝐷 ) ⟶ ( Base ‘ 𝐸 ) )
17 df-f1 ( 𝐹 : ( Base ‘ 𝐷 ) –1-1→ ( Base ‘ 𝐸 ) ↔ ( 𝐹 : ( Base ‘ 𝐷 ) ⟶ ( Base ‘ 𝐸 ) ∧ Fun 𝐹 ) )
18 16 5 17 sylanbrc ( 𝜑𝐹 : ( Base ‘ 𝐷 ) –1-1→ ( Base ‘ 𝐸 ) )
19 18 ad3antrrr ( ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑏𝑆𝑐𝑆 ) ) ∧ ( 𝑓 ∈ ( 𝑎 𝐾 𝑏 ) ∧ 𝑔 ∈ ( 𝑏 𝐾 𝑐 ) ) ) → 𝐹 : ( Base ‘ 𝐷 ) –1-1→ ( Base ‘ 𝐸 ) )
20 simpllr ( ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑏𝑆𝑐𝑆 ) ) ∧ ( 𝑓 ∈ ( 𝑎 𝐾 𝑏 ) ∧ 𝑔 ∈ ( 𝑏 𝐾 𝑐 ) ) ) → 𝑎𝑆 )
21 simplrl ( ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑏𝑆𝑐𝑆 ) ) ∧ ( 𝑓 ∈ ( 𝑎 𝐾 𝑏 ) ∧ 𝑔 ∈ ( 𝑏 𝐾 𝑐 ) ) ) → 𝑏𝑆 )
22 simplrr ( ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑏𝑆𝑐𝑆 ) ) ∧ ( 𝑓 ∈ ( 𝑎 𝐾 𝑏 ) ∧ 𝑔 ∈ ( 𝑏 𝐾 𝑐 ) ) ) → 𝑐𝑆 )
23 simprl ( ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑏𝑆𝑐𝑆 ) ) ∧ ( 𝑓 ∈ ( 𝑎 𝐾 𝑏 ) ∧ 𝑔 ∈ ( 𝑏 𝐾 𝑐 ) ) ) → 𝑓 ∈ ( 𝑎 𝐾 𝑏 ) )
24 simprr ( ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑏𝑆𝑐𝑆 ) ) ∧ ( 𝑓 ∈ ( 𝑎 𝐾 𝑏 ) ∧ 𝑔 ∈ ( 𝑏 𝐾 𝑐 ) ) ) → 𝑔 ∈ ( 𝑏 𝐾 𝑐 ) )
25 1 2 3 12 13 14 15 19 20 21 22 23 24 imaf1co ( ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑏𝑆𝑐𝑆 ) ) ∧ ( 𝑓 ∈ ( 𝑎 𝐾 𝑏 ) ∧ 𝑔 ∈ ( 𝑏 𝐾 𝑐 ) ) ) → ( 𝑔 ( ⟨ 𝑎 , 𝑏 ⟩ ( comp ‘ 𝐸 ) 𝑐 ) 𝑓 ) ∈ ( 𝑎 𝐾 𝑐 ) )
26 25 ralrimivva ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑏𝑆𝑐𝑆 ) ) → ∀ 𝑓 ∈ ( 𝑎 𝐾 𝑏 ) ∀ 𝑔 ∈ ( 𝑏 𝐾 𝑐 ) ( 𝑔 ( ⟨ 𝑎 , 𝑏 ⟩ ( comp ‘ 𝐸 ) 𝑐 ) 𝑓 ) ∈ ( 𝑎 𝐾 𝑐 ) )
27 26 ralrimivva ( ( 𝜑𝑎𝑆 ) → ∀ 𝑏𝑆𝑐𝑆𝑓 ∈ ( 𝑎 𝐾 𝑏 ) ∀ 𝑔 ∈ ( 𝑏 𝐾 𝑐 ) ( 𝑔 ( ⟨ 𝑎 , 𝑏 ⟩ ( comp ‘ 𝐸 ) 𝑐 ) 𝑓 ) ∈ ( 𝑎 𝐾 𝑐 ) )
28 11 27 jca ( ( 𝜑𝑎𝑆 ) → ( ( ( Id ‘ 𝐸 ) ‘ 𝑎 ) ∈ ( 𝑎 𝐾 𝑎 ) ∧ ∀ 𝑏𝑆𝑐𝑆𝑓 ∈ ( 𝑎 𝐾 𝑏 ) ∀ 𝑔 ∈ ( 𝑏 𝐾 𝑐 ) ( 𝑔 ( ⟨ 𝑎 , 𝑏 ⟩ ( comp ‘ 𝐸 ) 𝑐 ) 𝑓 ) ∈ ( 𝑎 𝐾 𝑐 ) ) )
29 28 ralrimiva ( 𝜑 → ∀ 𝑎𝑆 ( ( ( Id ‘ 𝐸 ) ‘ 𝑎 ) ∈ ( 𝑎 𝐾 𝑎 ) ∧ ∀ 𝑏𝑆𝑐𝑆𝑓 ∈ ( 𝑎 𝐾 𝑏 ) ∀ 𝑔 ∈ ( 𝑏 𝐾 𝑐 ) ( 𝑔 ( ⟨ 𝑎 , 𝑏 ⟩ ( comp ‘ 𝐸 ) 𝑐 ) 𝑓 ) ∈ ( 𝑎 𝐾 𝑐 ) ) )
30 4 funcrcl3 ( 𝜑𝐸 ∈ Cat )
31 relfunc Rel ( 𝐷 Func 𝐸 )
32 31 brrelex1i ( 𝐹 ( 𝐷 Func 𝐸 ) 𝐺𝐹 ∈ V )
33 4 32 syl ( 𝜑𝐹 ∈ V )
34 33 33 3 imasubclem2 ( 𝜑𝐾 Fn ( 𝑆 × 𝑆 ) )
35 6 9 15 30 34 issubc2 ( 𝜑 → ( 𝐾 ∈ ( Subcat ‘ 𝐸 ) ↔ ( 𝐾cat ( Homf𝐸 ) ∧ ∀ 𝑎𝑆 ( ( ( Id ‘ 𝐸 ) ‘ 𝑎 ) ∈ ( 𝑎 𝐾 𝑎 ) ∧ ∀ 𝑏𝑆𝑐𝑆𝑓 ∈ ( 𝑎 𝐾 𝑏 ) ∀ 𝑔 ∈ ( 𝑏 𝐾 𝑐 ) ( 𝑔 ( ⟨ 𝑎 , 𝑏 ⟩ ( comp ‘ 𝐸 ) 𝑐 ) 𝑓 ) ∈ ( 𝑎 𝐾 𝑐 ) ) ) ) )
36 7 29 35 mpbir2and ( 𝜑𝐾 ∈ ( Subcat ‘ 𝐸 ) )