Metamath Proof Explorer


Theorem infsubc2

Description: The intersection of two subcategories is a subcategory. (Contributed by Zhi Wang, 31-Oct-2025)

Ref Expression
Assertion infsubc2 ( ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) ) → ( 𝑥 ∈ ( dom dom 𝐴 ∩ dom dom 𝐵 ) , 𝑦 ∈ ( dom dom 𝐴 ∩ dom dom 𝐵 ) ↦ ( ( 𝑥 𝐴 𝑦 ) ∩ ( 𝑥 𝐵 𝑦 ) ) ) ∈ ( Subcat ‘ 𝐶 ) )

Proof

Step Hyp Ref Expression
1 prnzg ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) → { 𝐴 , 𝐵 } ≠ ∅ )
2 1 adantr ( ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) ) → { 𝐴 , 𝐵 } ≠ ∅ )
3 simpll ( ( ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) ) ∧ 𝑤 ∈ { 𝐴 , 𝐵 } ) → 𝐴 ∈ ( Subcat ‘ 𝐶 ) )
4 eqid ( Homf𝐶 ) = ( Homf𝐶 )
5 3 4 subcssc ( ( ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) ) ∧ 𝑤 ∈ { 𝐴 , 𝐵 } ) → 𝐴cat ( Homf𝐶 ) )
6 breq1 ( 𝑤 = 𝐴 → ( 𝑤cat ( Homf𝐶 ) ↔ 𝐴cat ( Homf𝐶 ) ) )
7 5 6 syl5ibrcom ( ( ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) ) ∧ 𝑤 ∈ { 𝐴 , 𝐵 } ) → ( 𝑤 = 𝐴𝑤cat ( Homf𝐶 ) ) )
8 simplr ( ( ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) ) ∧ 𝑤 ∈ { 𝐴 , 𝐵 } ) → 𝐵 ∈ ( Subcat ‘ 𝐶 ) )
9 8 4 subcssc ( ( ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) ) ∧ 𝑤 ∈ { 𝐴 , 𝐵 } ) → 𝐵cat ( Homf𝐶 ) )
10 breq1 ( 𝑤 = 𝐵 → ( 𝑤cat ( Homf𝐶 ) ↔ 𝐵cat ( Homf𝐶 ) ) )
11 9 10 syl5ibrcom ( ( ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) ) ∧ 𝑤 ∈ { 𝐴 , 𝐵 } ) → ( 𝑤 = 𝐵𝑤cat ( Homf𝐶 ) ) )
12 elpri ( 𝑤 ∈ { 𝐴 , 𝐵 } → ( 𝑤 = 𝐴𝑤 = 𝐵 ) )
13 12 adantl ( ( ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) ) ∧ 𝑤 ∈ { 𝐴 , 𝐵 } ) → ( 𝑤 = 𝐴𝑤 = 𝐵 ) )
14 7 11 13 mpjaod ( ( ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) ) ∧ 𝑤 ∈ { 𝐴 , 𝐵 } ) → 𝑤cat ( Homf𝐶 ) )
15 iinfprg ( ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) ) → ( 𝑧 ∈ ( dom 𝐴 ∩ dom 𝐵 ) ↦ ( ( 𝐴𝑧 ) ∩ ( 𝐵𝑧 ) ) ) = ( 𝑧 𝑤 ∈ { 𝐴 , 𝐵 } dom 𝑤 𝑤 ∈ { 𝐴 , 𝐵 } ( 𝑤𝑧 ) ) )
16 eqidd ( ( ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) ) ∧ 𝑤 ∈ { 𝐴 , 𝐵 } ) → dom dom 𝑤 = dom dom 𝑤 )
17 nfv 𝑤 ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) )
18 2 14 15 16 17 iinfssclem1 ( ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) ) → ( 𝑧 ∈ ( dom 𝐴 ∩ dom 𝐵 ) ↦ ( ( 𝐴𝑧 ) ∩ ( 𝐵𝑧 ) ) ) = ( 𝑥 𝑤 ∈ { 𝐴 , 𝐵 } dom dom 𝑤 , 𝑦 𝑤 ∈ { 𝐴 , 𝐵 } dom dom 𝑤 𝑤 ∈ { 𝐴 , 𝐵 } ( 𝑥 𝑤 𝑦 ) ) )
19 dmeq ( 𝑤 = 𝐴 → dom 𝑤 = dom 𝐴 )
20 19 dmeqd ( 𝑤 = 𝐴 → dom dom 𝑤 = dom dom 𝐴 )
21 dmeq ( 𝑤 = 𝐵 → dom 𝑤 = dom 𝐵 )
22 21 dmeqd ( 𝑤 = 𝐵 → dom dom 𝑤 = dom dom 𝐵 )
23 20 22 iinxprg ( ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) ) → 𝑤 ∈ { 𝐴 , 𝐵 } dom dom 𝑤 = ( dom dom 𝐴 ∩ dom dom 𝐵 ) )
24 oveq ( 𝑤 = 𝐴 → ( 𝑥 𝑤 𝑦 ) = ( 𝑥 𝐴 𝑦 ) )
25 oveq ( 𝑤 = 𝐵 → ( 𝑥 𝑤 𝑦 ) = ( 𝑥 𝐵 𝑦 ) )
26 24 25 iinxprg ( ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) ) → 𝑤 ∈ { 𝐴 , 𝐵 } ( 𝑥 𝑤 𝑦 ) = ( ( 𝑥 𝐴 𝑦 ) ∩ ( 𝑥 𝐵 𝑦 ) ) )
27 23 23 26 mpoeq123dv ( ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) ) → ( 𝑥 𝑤 ∈ { 𝐴 , 𝐵 } dom dom 𝑤 , 𝑦 𝑤 ∈ { 𝐴 , 𝐵 } dom dom 𝑤 𝑤 ∈ { 𝐴 , 𝐵 } ( 𝑥 𝑤 𝑦 ) ) = ( 𝑥 ∈ ( dom dom 𝐴 ∩ dom dom 𝐵 ) , 𝑦 ∈ ( dom dom 𝐴 ∩ dom dom 𝐵 ) ↦ ( ( 𝑥 𝐴 𝑦 ) ∩ ( 𝑥 𝐵 𝑦 ) ) ) )
28 18 27 eqtrd ( ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) ) → ( 𝑧 ∈ ( dom 𝐴 ∩ dom 𝐵 ) ↦ ( ( 𝐴𝑧 ) ∩ ( 𝐵𝑧 ) ) ) = ( 𝑥 ∈ ( dom dom 𝐴 ∩ dom dom 𝐵 ) , 𝑦 ∈ ( dom dom 𝐴 ∩ dom dom 𝐵 ) ↦ ( ( 𝑥 𝐴 𝑦 ) ∩ ( 𝑥 𝐵 𝑦 ) ) ) )
29 infsubc ( ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) ) → ( 𝑧 ∈ ( dom 𝐴 ∩ dom 𝐵 ) ↦ ( ( 𝐴𝑧 ) ∩ ( 𝐵𝑧 ) ) ) ∈ ( Subcat ‘ 𝐶 ) )
30 28 29 eqeltrrd ( ( 𝐴 ∈ ( Subcat ‘ 𝐶 ) ∧ 𝐵 ∈ ( Subcat ‘ 𝐶 ) ) → ( 𝑥 ∈ ( dom dom 𝐴 ∩ dom dom 𝐵 ) , 𝑦 ∈ ( dom dom 𝐴 ∩ dom dom 𝐵 ) ↦ ( ( 𝑥 𝐴 𝑦 ) ∩ ( 𝑥 𝐵 𝑦 ) ) ) ∈ ( Subcat ‘ 𝐶 ) )