Metamath Proof Explorer


Theorem funcf2

Description: The morphism part of a functor is a function on homsets. (Contributed by Mario Carneiro, 2-Jan-2017)

Ref Expression
Hypotheses funcixp.b 𝐵 = ( Base ‘ 𝐷 )
funcixp.h 𝐻 = ( Hom ‘ 𝐷 )
funcixp.j 𝐽 = ( Hom ‘ 𝐸 )
funcixp.f ( 𝜑𝐹 ( 𝐷 Func 𝐸 ) 𝐺 )
funcf2.x ( 𝜑𝑋𝐵 )
funcf2.y ( 𝜑𝑌𝐵 )
Assertion funcf2 ( 𝜑 → ( 𝑋 𝐺 𝑌 ) : ( 𝑋 𝐻 𝑌 ) ⟶ ( ( 𝐹𝑋 ) 𝐽 ( 𝐹𝑌 ) ) )

Proof

Step Hyp Ref Expression
1 funcixp.b 𝐵 = ( Base ‘ 𝐷 )
2 funcixp.h 𝐻 = ( Hom ‘ 𝐷 )
3 funcixp.j 𝐽 = ( Hom ‘ 𝐸 )
4 funcixp.f ( 𝜑𝐹 ( 𝐷 Func 𝐸 ) 𝐺 )
5 funcf2.x ( 𝜑𝑋𝐵 )
6 funcf2.y ( 𝜑𝑌𝐵 )
7 df-ov ( 𝑋 𝐺 𝑌 ) = ( 𝐺 ‘ ⟨ 𝑋 , 𝑌 ⟩ )
8 1 2 3 4 funcixp ( 𝜑𝐺X 𝑧 ∈ ( 𝐵 × 𝐵 ) ( ( ( 𝐹 ‘ ( 1st𝑧 ) ) 𝐽 ( 𝐹 ‘ ( 2nd𝑧 ) ) ) ↑m ( 𝐻𝑧 ) ) )
9 5 6 opelxpd ( 𝜑 → ⟨ 𝑋 , 𝑌 ⟩ ∈ ( 𝐵 × 𝐵 ) )
10 2fveq3 ( 𝑧 = ⟨ 𝑋 , 𝑌 ⟩ → ( 𝐹 ‘ ( 1st𝑧 ) ) = ( 𝐹 ‘ ( 1st ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) )
11 2fveq3 ( 𝑧 = ⟨ 𝑋 , 𝑌 ⟩ → ( 𝐹 ‘ ( 2nd𝑧 ) ) = ( 𝐹 ‘ ( 2nd ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) )
12 10 11 oveq12d ( 𝑧 = ⟨ 𝑋 , 𝑌 ⟩ → ( ( 𝐹 ‘ ( 1st𝑧 ) ) 𝐽 ( 𝐹 ‘ ( 2nd𝑧 ) ) ) = ( ( 𝐹 ‘ ( 1st ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) 𝐽 ( 𝐹 ‘ ( 2nd ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) ) )
13 fveq2 ( 𝑧 = ⟨ 𝑋 , 𝑌 ⟩ → ( 𝐻𝑧 ) = ( 𝐻 ‘ ⟨ 𝑋 , 𝑌 ⟩ ) )
14 df-ov ( 𝑋 𝐻 𝑌 ) = ( 𝐻 ‘ ⟨ 𝑋 , 𝑌 ⟩ )
15 13 14 eqtr4di ( 𝑧 = ⟨ 𝑋 , 𝑌 ⟩ → ( 𝐻𝑧 ) = ( 𝑋 𝐻 𝑌 ) )
16 12 15 oveq12d ( 𝑧 = ⟨ 𝑋 , 𝑌 ⟩ → ( ( ( 𝐹 ‘ ( 1st𝑧 ) ) 𝐽 ( 𝐹 ‘ ( 2nd𝑧 ) ) ) ↑m ( 𝐻𝑧 ) ) = ( ( ( 𝐹 ‘ ( 1st ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) 𝐽 ( 𝐹 ‘ ( 2nd ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) ) ↑m ( 𝑋 𝐻 𝑌 ) ) )
17 16 fvixp ( ( 𝐺X 𝑧 ∈ ( 𝐵 × 𝐵 ) ( ( ( 𝐹 ‘ ( 1st𝑧 ) ) 𝐽 ( 𝐹 ‘ ( 2nd𝑧 ) ) ) ↑m ( 𝐻𝑧 ) ) ∧ ⟨ 𝑋 , 𝑌 ⟩ ∈ ( 𝐵 × 𝐵 ) ) → ( 𝐺 ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ∈ ( ( ( 𝐹 ‘ ( 1st ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) 𝐽 ( 𝐹 ‘ ( 2nd ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) ) ↑m ( 𝑋 𝐻 𝑌 ) ) )
18 8 9 17 syl2anc ( 𝜑 → ( 𝐺 ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ∈ ( ( ( 𝐹 ‘ ( 1st ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) 𝐽 ( 𝐹 ‘ ( 2nd ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) ) ↑m ( 𝑋 𝐻 𝑌 ) ) )
19 7 18 eqeltrid ( 𝜑 → ( 𝑋 𝐺 𝑌 ) ∈ ( ( ( 𝐹 ‘ ( 1st ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) 𝐽 ( 𝐹 ‘ ( 2nd ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) ) ↑m ( 𝑋 𝐻 𝑌 ) ) )
20 op1stg ( ( 𝑋𝐵𝑌𝐵 ) → ( 1st ‘ ⟨ 𝑋 , 𝑌 ⟩ ) = 𝑋 )
21 20 fveq2d ( ( 𝑋𝐵𝑌𝐵 ) → ( 𝐹 ‘ ( 1st ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) = ( 𝐹𝑋 ) )
22 op2ndg ( ( 𝑋𝐵𝑌𝐵 ) → ( 2nd ‘ ⟨ 𝑋 , 𝑌 ⟩ ) = 𝑌 )
23 22 fveq2d ( ( 𝑋𝐵𝑌𝐵 ) → ( 𝐹 ‘ ( 2nd ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) = ( 𝐹𝑌 ) )
24 21 23 oveq12d ( ( 𝑋𝐵𝑌𝐵 ) → ( ( 𝐹 ‘ ( 1st ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) 𝐽 ( 𝐹 ‘ ( 2nd ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) ) = ( ( 𝐹𝑋 ) 𝐽 ( 𝐹𝑌 ) ) )
25 5 6 24 syl2anc ( 𝜑 → ( ( 𝐹 ‘ ( 1st ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) 𝐽 ( 𝐹 ‘ ( 2nd ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) ) = ( ( 𝐹𝑋 ) 𝐽 ( 𝐹𝑌 ) ) )
26 25 oveq1d ( 𝜑 → ( ( ( 𝐹 ‘ ( 1st ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) 𝐽 ( 𝐹 ‘ ( 2nd ‘ ⟨ 𝑋 , 𝑌 ⟩ ) ) ) ↑m ( 𝑋 𝐻 𝑌 ) ) = ( ( ( 𝐹𝑋 ) 𝐽 ( 𝐹𝑌 ) ) ↑m ( 𝑋 𝐻 𝑌 ) ) )
27 19 26 eleqtrd ( 𝜑 → ( 𝑋 𝐺 𝑌 ) ∈ ( ( ( 𝐹𝑋 ) 𝐽 ( 𝐹𝑌 ) ) ↑m ( 𝑋 𝐻 𝑌 ) ) )
28 elmapi ( ( 𝑋 𝐺 𝑌 ) ∈ ( ( ( 𝐹𝑋 ) 𝐽 ( 𝐹𝑌 ) ) ↑m ( 𝑋 𝐻 𝑌 ) ) → ( 𝑋 𝐺 𝑌 ) : ( 𝑋 𝐻 𝑌 ) ⟶ ( ( 𝐹𝑋 ) 𝐽 ( 𝐹𝑌 ) ) )
29 27 28 syl ( 𝜑 → ( 𝑋 𝐺 𝑌 ) : ( 𝑋 𝐻 𝑌 ) ⟶ ( ( 𝐹𝑋 ) 𝐽 ( 𝐹𝑌 ) ) )