[[Functor]]
# Hom-functor

The **Hom-functor** $\cat C : \op{\cat C} \times \cat C \to \Set$ is a [[Multifunctor|bifunctor]], [[Contravariant functor|contravariant]] in its first argument and [[Functor|covariant]] in its second, for a [[locally small category]] $\cat C$.

On objects, it maps $(C,C') \in \Ob(\op{\cat C} \times \cat C)$ to the **Hom-set** of morphisms with domain $C$ and codomain $C'$.

The morphism map for **fixed domain** $C \in \Ob \cat C$ is the **covariant** [[Pushforward and pullback of morphisms|pushforward]]

<p align="center"><img align="center" src="https://i.upmath.me/svg/%0A%5Cusetikzlibrary%7Bcalc%7D%0A%5Cusetikzlibrary%7Bdecorations.pathmorphing%7D%0A%5Ctikzset%7Bcurve%2F.style%3D%7Bsettings%3D%7B%231%7D%2Cto%20path%3D%7B(%5Ctikztostart)%0A%20%20%20%20..%20controls%20(%24(%5Ctikztostart)!%5Cpv%7Bpos%7D!(%5Ctikztotarget)!%5Cpv%7Bheight%7D!270%3A(%5Ctikztotarget)%24)%0A%20%20%20%20and%20(%24(%5Ctikztostart)!1-%5Cpv%7Bpos%7D!(%5Ctikztotarget)!%5Cpv%7Bheight%7D!270%3A(%5Ctikztotarget)%24)%0A%20%20%20%20..%20(%5Ctikztotarget)%5Ctikztonodes%7D%7D%2C%0A%20%20%20%20settings%2F.code%3D%7B%5Ctikzset%7Bquiver%2F.cd%2C%231%7D%0A%20%20%20%20%20%20%20%20%5Cdef%5Cpv%23%231%7B%5Cpgfkeysvalueof%7B%2Ftikz%2Fquiver%2F%23%231%7D%7D%7D%2C%0A%20%20%20%20quiver%2F.cd%2Cpos%2F.initial%3D0.35%2Cheight%2F.initial%3D0%7D%0A%25%20TikZ%20arrowhead%2Ftail%20styles.%0A%5Ctikzset%7Btail%20reversed%2F.code%3D%7B%5Cpgfsetarrowsstart%7Btikzcd%20to%7D%7D%7D%0A%5Ctikzset%7B2tail%2F.code%3D%7B%5Cpgfsetarrowsstart%7BImplies%5Breversed%5D%7D%7D%7D%0A%5Ctikzset%7B2tail%20reversed%2F.code%3D%7B%5Cpgfsetarrowsstart%7BImplies%7D%7D%7D%0A%25%20TikZ%20arrow%20styles.%0A%5Ctikzset%7Bno%20body%2F.style%3D%7B%2Ftikz%2Fdash%20pattern%3Don%200%20off%201mm%7D%7D%0A%25%20https%3A%2F%2Fq.uiver.app%2F%23q%3DWzAsNSxbMiwyLCJCIl0sWzIsMCwiQSJdLFs0LDAsIlxcbWF0aHNme0N9KEMsQSkiXSxbNCwyLCJcXG1hdGhzZiBDKEMsQikiXSxbMCwwLCJDIl0sWzEsMCwiZiIsMl0sWzIsMywiXFxtYXRoc2YgQyhDLGYpID0gZl8qIl0sWzQsMCwiZl8qIGciLDJdLFs0LDEsImciXV0%3D%0A%5C%5B%5Cbegin%7Btikzcd%7D%0A%09C%20%26%26%20A%20%26%26%20%7B%5Cmathsf%7BC%7D(C%2CA)%7D%20%5C%5C%0A%09%5C%5C%0A%09%26%26%20B%20%26%26%20%7B%5Cmathsf%20C(C%2CB)%7D%0A%09%5Carrow%5B%22g%22%2C%20from%3D1-1%2C%20to%3D1-3%5D%0A%09%5Carrow%5B%22%7Bf_*%20g%7D%22'%2C%20from%3D1-1%2C%20to%3D3-3%5D%0A%09%5Carrow%5B%22f%22'%2C%20from%3D1-3%2C%20to%3D3-3%5D%0A%09%5Carrow%5B%22%7B%5Cmathsf%20C(C%2Cf)%20%3D%20f_*%7D%22%2C%20from%3D1-5%2C%20to%3D3-5%5D%0A%5Cend%7Btikzcd%7D%5C%5D%0A#invert" alt="https://q.uiver.app/#q=WzAsNSxbMiwyLCJCIl0sWzIsMCwiQSJdLFs0LDAsIlxcbWF0aHNme0N9KEMsQSkiXSxbNCwyLCJcXG1hdGhzZiBDKEMsQikiXSxbMCwwLCJDIl0sWzEsMCwiZiIsMl0sWzIsMywiXFxtYXRoc2YgQyhDLGYpID0gZl8qIl0sWzQsMCwiZl8qIGciLDJdLFs0LDEsImciXV0=" /></p>

while the morphism map for **fixed codomain** is the **contravariant** [[Pushforward and pullback of morphisms|pullback]]

<p align="center"><img align="center" src="https://i.upmath.me/svg/%0A%5Cusetikzlibrary%7Bcalc%7D%0A%5Cusetikzlibrary%7Bdecorations.pathmorphing%7D%0A%5Ctikzset%7Bcurve%2F.style%3D%7Bsettings%3D%7B%231%7D%2Cto%20path%3D%7B(%5Ctikztostart)%0A%20%20%20%20..%20controls%20(%24(%5Ctikztostart)!%5Cpv%7Bpos%7D!(%5Ctikztotarget)!%5Cpv%7Bheight%7D!270%3A(%5Ctikztotarget)%24)%0A%20%20%20%20and%20(%24(%5Ctikztostart)!1-%5Cpv%7Bpos%7D!(%5Ctikztotarget)!%5Cpv%7Bheight%7D!270%3A(%5Ctikztotarget)%24)%0A%20%20%20%20..%20(%5Ctikztotarget)%5Ctikztonodes%7D%7D%2C%0A%20%20%20%20settings%2F.code%3D%7B%5Ctikzset%7Bquiver%2F.cd%2C%231%7D%0A%20%20%20%20%20%20%20%20%5Cdef%5Cpv%23%231%7B%5Cpgfkeysvalueof%7B%2Ftikz%2Fquiver%2F%23%231%7D%7D%7D%2C%0A%20%20%20%20quiver%2F.cd%2Cpos%2F.initial%3D0.35%2Cheight%2F.initial%3D0%7D%0A%25%20TikZ%20arrowhead%2Ftail%20styles.%0A%5Ctikzset%7Btail%20reversed%2F.code%3D%7B%5Cpgfsetarrowsstart%7Btikzcd%20to%7D%7D%7D%0A%5Ctikzset%7B2tail%2F.code%3D%7B%5Cpgfsetarrowsstart%7BImplies%5Breversed%5D%7D%7D%7D%0A%5Ctikzset%7B2tail%20reversed%2F.code%3D%7B%5Cpgfsetarrowsstart%7BImplies%7D%7D%7D%0A%25%20TikZ%20arrow%20styles.%0A%5Ctikzset%7Bno%20body%2F.style%3D%7B%2Ftikz%2Fdash%20pattern%3Don%200%20off%201mm%7D%7D%0A%25%20https%3A%2F%2Fq.uiver.app%2F%23q%3DWzAsNSxbMiwyLCJCIl0sWzIsMCwiQSJdLFs0LDAsIlxcbWF0aHNme0N9KEEsQycpIl0sWzQsMiwiXFxtYXRoc2YgQyhCLEMnKSJdLFswLDAsIkMnIl0sWzEsMCwiZiIsMl0sWzMsMiwiXFxtYXRoc2YgQyhmLEMpID0gZl4qIiwyXSxbMCw0LCJnIl0sWzEsNCwiZl4qIGciLDJdXQ%3D%3D%0A%5C%5B%5Cbegin%7Btikzcd%7D%0A%09%7BC'%7D%20%26%26%20A%20%26%26%20%7B%5Cmathsf%7BC%7D(A%2CC')%7D%20%5C%5C%0A%09%5C%5C%0A%09%26%26%20B%20%26%26%20%7B%5Cmathsf%20C(B%2CC')%7D%0A%09%5Carrow%5B%22%7Bf%5E*%20g%7D%22'%2C%20from%3D1-3%2C%20to%3D1-1%5D%0A%09%5Carrow%5B%22f%22'%2C%20from%3D1-3%2C%20to%3D3-3%5D%0A%09%5Carrow%5B%22g%22%2C%20from%3D3-3%2C%20to%3D1-1%5D%0A%09%5Carrow%5B%22%7B%5Cmathsf%20C(f%2CC)%20%3D%20f%5E*%7D%22'%2C%20from%3D3-5%2C%20to%3D1-5%5D%0A%5Cend%7Btikzcd%7D%5C%5D%0A#invert" alt="https://q.uiver.app/#q=WzAsNSxbMiwyLCJCIl0sWzIsMCwiQSJdLFs0LDAsIlxcbWF0aHNme0N9KEEsQycpIl0sWzQsMiwiXFxtYXRoc2YgQyhCLEMnKSJdLFswLDAsIkMnIl0sWzEsMCwiZiIsMl0sWzMsMiwiXFxtYXRoc2YgQyhmLEMpID0gZl4qIiwyXSxbMCw0LCJnIl0sWzEsNCwiZl4qIGciLDJdXQ==" /></p>

Since the following diagram commutes

<p align="center"><img align="center" src="https://i.upmath.me/svg/%0A%5Cusetikzlibrary%7Bcalc%7D%0A%5Cusetikzlibrary%7Bdecorations.pathmorphing%7D%0A%5Ctikzset%7Bcurve%2F.style%3D%7Bsettings%3D%7B%231%7D%2Cto%20path%3D%7B(%5Ctikztostart)%0A%20%20%20%20..%20controls%20(%24(%5Ctikztostart)!%5Cpv%7Bpos%7D!(%5Ctikztotarget)!%5Cpv%7Bheight%7D!270%3A(%5Ctikztotarget)%24)%0A%20%20%20%20and%20(%24(%5Ctikztostart)!1-%5Cpv%7Bpos%7D!(%5Ctikztotarget)!%5Cpv%7Bheight%7D!270%3A(%5Ctikztotarget)%24)%0A%20%20%20%20..%20(%5Ctikztotarget)%5Ctikztonodes%7D%7D%2C%0A%20%20%20%20settings%2F.code%3D%7B%5Ctikzset%7Bquiver%2F.cd%2C%231%7D%0A%20%20%20%20%20%20%20%20%5Cdef%5Cpv%23%231%7B%5Cpgfkeysvalueof%7B%2Ftikz%2Fquiver%2F%23%231%7D%7D%7D%2C%0A%20%20%20%20quiver%2F.cd%2Cpos%2F.initial%3D0.35%2Cheight%2F.initial%3D0%7D%0A%25%20TikZ%20arrowhead%2Ftail%20styles.%0A%5Ctikzset%7Btail%20reversed%2F.code%3D%7B%5Cpgfsetarrowsstart%7Btikzcd%20to%7D%7D%7D%0A%5Ctikzset%7B2tail%2F.code%3D%7B%5Cpgfsetarrowsstart%7BImplies%5Breversed%5D%7D%7D%7D%0A%5Ctikzset%7B2tail%20reversed%2F.code%3D%7B%5Cpgfsetarrowsstart%7BImplies%7D%7D%7D%0A%25%20TikZ%20arrow%20styles.%0A%5Ctikzset%7Bno%20body%2F.style%3D%7B%2Ftikz%2Fdash%20pattern%3Don%200%20off%201mm%7D%7D%0A%25%20https%3A%2F%2Fq.uiver.app%2F%23q%3DWzAsOCxbNCwwLCJcXG1hdGhzZiBDKFgsWSkiXSxbNCwyLCJcXG1hdGhzZiBDKFgsWScpIl0sWzYsMCwiXFxtYXRoc2YgQyhYJyxZKSJdLFs2LDIsIlxcbWF0aHNmIEMoWCcsWScpIl0sWzAsMCwiWCJdLFsyLDAsIlgnIl0sWzAsMiwiWSJdLFsyLDIsIlknIl0sWzAsMiwieF4qIl0sWzAsMSwieV8qIiwyXSxbMSwzLCJ4XioiLDJdLFsyLDMsInlfKiJdLFswLDMsIlxcbWF0aHNmIEMoeCx5KSIsMSx7InN0eWxlIjp7ImJvZHkiOnsibmFtZSI6ImRhc2hlZCJ9fX1dLFs0LDUsIngiXSxbNiw3LCJ5Il0sWzQsNiwiZiIsMix7InN0eWxlIjp7ImJvZHkiOnsibmFtZSI6ImRhc2hlZCJ9fX1dLFs1LDcsInlfKnheKiBmID0geF4qIHlfKiBmIiwxXV0%3D%0A%5C%5B%5Cbegin%7Btikzcd%7D%0A%09X%20%26%26%20%7BX'%7D%20%26%26%20%7B%5Cmathsf%20C(X%2CY)%7D%20%26%26%20%7B%5Cmathsf%20C(X'%2CY)%7D%20%5C%5C%0A%09%5C%5C%0A%09Y%20%26%26%20%7BY'%7D%20%26%26%20%7B%5Cmathsf%20C(X%2CY')%7D%20%26%26%20%7B%5Cmathsf%20C(X'%2CY')%7D%0A%09%5Carrow%5B%22x%22%2C%20from%3D1-1%2C%20to%3D1-3%5D%0A%09%5Carrow%5B%22f%22'%2C%20dashed%2C%20from%3D1-1%2C%20to%3D3-1%5D%0A%09%5Carrow%5B%22%7By_*x%5E*%20f%20%3D%20x%5E*%20y_*%20f%7D%22%7Bdescription%7D%2C%20from%3D1-3%2C%20to%3D3-3%5D%0A%09%5Carrow%5B%22%7Bx%5E*%7D%22%2C%20from%3D1-5%2C%20to%3D1-7%5D%0A%09%5Carrow%5B%22%7By_*%7D%22'%2C%20from%3D1-5%2C%20to%3D3-5%5D%0A%09%5Carrow%5B%22%7B%5Cmathsf%20C(x%2Cy)%7D%22%7Bdescription%7D%2C%20dashed%2C%20from%3D1-5%2C%20to%3D3-7%5D%0A%09%5Carrow%5B%22%7By_*%7D%22%2C%20from%3D1-7%2C%20to%3D3-7%5D%0A%09%5Carrow%5B%22y%22%2C%20from%3D3-1%2C%20to%3D3-3%5D%0A%09%5Carrow%5B%22%7Bx%5E*%7D%22'%2C%20from%3D3-5%2C%20to%3D3-7%5D%0A%5Cend%7Btikzcd%7D%5C%5D%0A#invert" alt="https://q.uiver.app/#q=WzAsOCxbNCwwLCJcXG1hdGhzZiBDKFgsWSkiXSxbNCwyLCJcXG1hdGhzZiBDKFgsWScpIl0sWzYsMCwiXFxtYXRoc2YgQyhYJyxZKSJdLFs2LDIsIlxcbWF0aHNmIEMoWCcsWScpIl0sWzAsMCwiWCJdLFsyLDAsIlgnIl0sWzAsMiwiWSJdLFsyLDIsIlknIl0sWzAsMiwieF4qIl0sWzAsMSwieV8qIiwyXSxbMSwzLCJ4XioiLDJdLFsyLDMsInlfKiJdLFswLDMsIlxcbWF0aHNmIEMoeCx5KSIsMSx7InN0eWxlIjp7ImJvZHkiOnsibmFtZSI6ImRhc2hlZCJ9fX1dLFs0LDUsIngiXSxbNiw3LCJ5Il0sWzQsNiwiZiIsMix7InN0eWxlIjp7ImJvZHkiOnsibmFtZSI6ImRhc2hlZCJ9fX1dLFs1LDcsInlfKnheKiBmID0geF4qIHlfKiBmIiwxXV0=" /></p>

this indeed forms a [[Multifunctor|bifunctor]].

#
---
#state/tidy| #lang/en | #SemBr