Metamath Proof Explorer


Theorem homacd

Description: The codomain of an arrow with known domain and codomain. (Contributed by Mario Carneiro, 11-Jan-2017)

Ref Expression
Hypothesis homahom.h ⊢ 𝐻 = ( Homa ‘ 𝐶 )
Assertion homacd ( 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) → ( coda ‘ 𝐹 ) = 𝑌 )

Proof

Step Hyp Ref Expression
1 homahom.h ⊢ 𝐻 = ( Homa ‘ 𝐶 )
2 df-coda ⊢ coda = ( 2nd ∘ 1st )
3 2 fveq1i ⊢ ( coda ‘ 𝐹 ) = ( ( 2nd ∘ 1st ) ‘ 𝐹 )
4 fo1st ⊢ 1st : V –onto→ V
5 fof ⊢ ( 1st : V –onto→ V → 1st : V ⟶ V )
6 4 5 ax-mp ⊢ 1st : V ⟶ V
7 elex ⊢ ( 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) → 𝐹 ∈ V )
8 fvco3 ⊢ ( ( 1st : V ⟶ V ∧ 𝐹 ∈ V ) → ( ( 2nd ∘ 1st ) ‘ 𝐹 ) = ( 2nd ‘ ( 1st ‘ 𝐹 ) ) )
9 6 7 8 sylancr ⊢ ( 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) → ( ( 2nd ∘ 1st ) ‘ 𝐹 ) = ( 2nd ‘ ( 1st ‘ 𝐹 ) ) )
10 3 9 eqtrid ⊢ ( 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) → ( coda ‘ 𝐹 ) = ( 2nd ‘ ( 1st ‘ 𝐹 ) ) )
11 1 homarel ⊢ Rel ( 𝑋 𝐻 𝑌 )
12 1st2ndbr ⊢ ( ( Rel ( 𝑋 𝐻 𝑌 ) ∧ 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) ) → ( 1st ‘ 𝐹 ) ( 𝑋 𝐻 𝑌 ) ( 2nd ‘ 𝐹 ) )
13 11 12 mpan ⊢ ( 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) → ( 1st ‘ 𝐹 ) ( 𝑋 𝐻 𝑌 ) ( 2nd ‘ 𝐹 ) )
14 1 homa1 ⊢ ( ( 1st ‘ 𝐹 ) ( 𝑋 𝐻 𝑌 ) ( 2nd ‘ 𝐹 ) → ( 1st ‘ 𝐹 ) = ⟨ 𝑋 , 𝑌 ⟩ )
15 13 14 syl ⊢ ( 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) → ( 1st ‘ 𝐹 ) = ⟨ 𝑋 , 𝑌 ⟩ )
16 15 fveq2d ⊢ ( 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) → ( 2nd ‘ ( 1st ‘ 𝐹 ) ) = ( 2nd ‘ ⟨ 𝑋 , 𝑌 ⟩ ) )
17 eqid ⊢ ( Base ‘ 𝐶 ) = ( Base ‘ 𝐶 )
18 1 17 homarcl2 ⊢ ( 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) → ( 𝑋 ∈ ( Base ‘ 𝐶 ) ∧ 𝑌 ∈ ( Base ‘ 𝐶 ) ) )
19 op2ndg ⊢ ( ( 𝑋 ∈ ( Base ‘ 𝐶 ) ∧ 𝑌 ∈ ( Base ‘ 𝐶 ) ) → ( 2nd ‘ ⟨ 𝑋 , 𝑌 ⟩ ) = 𝑌 )
20 18 19 syl ⊢ ( 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) → ( 2nd ‘ ⟨ 𝑋 , 𝑌 ⟩ ) = 𝑌 )
21 10 16 20 3eqtrd ⊢ ( 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) → ( coda ‘ 𝐹 ) = 𝑌 )