Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save MarcelineVQ/ba8cf604628cc049cc03129b22e708a1 to your computer and use it in GitHub Desktop.

Select an option

Save MarcelineVQ/ba8cf604628cc049cc03129b22e708a1 to your computer and use it in GitHub Desktop.
<zeta_0> hello guys, i am currently learning category theory, i cannot find a good definition on what `covariant` and `contravariant` mean in terms of `category theory`, could you guys give my literal translations for `co`, `contra`, and `variant` and how they are used in category theory?
* heatsink_ ([email protected]) has joined
<pyan> zeta_0: “covariant” means “preserves the direction of the arrows”, and “contravariant” means “reverses the direction of the arrows”
* Saukk has quit (Remote host closed the connection)
<ski> "covariant" here means "varies in the same direction", while "contravariant" means "varies in the opposite direction"
* p0lyph3m has quit (Ping timeout: 250 seconds)
<ski> say `C',`D' are categories, `A',`B' are objects of `C', and `f : A >---> B' is a morphism of `C'
* heatsink has quit (Ping timeout: 264 seconds)
<ski> if `F' is a (covariant) functor from `C' to `D', then `F f : F A >---> F B'
* Jeanne-Kamikaze ([email protected]) has joined
<ski> if `F' is a contravariant functor from `C' to `D', then `F f : F B >---> F A', or, if you prefer, `F f : F A <---< F B'
<ski> so, if `F' is a covariant functor, then applying it to a morphism preserves the direction, in the sense that if the morphism (in `C') goes from `A' to `B', then applying the functor to the morphism will be a morphism (in `D') that goes from `F A' to `F B'
<ski> while if `F' is a contravariant functor, then applying it to a morphism reverses the direction, in the sense that if the morphism (in `C') goes from `A' to `B', then applying the functor to the morphism will be a morphism (in `D') that goes *to* `F A' *from* `F B'
* Cale has quit (Ping timeout: 276 seconds)
<ski> (btw, note that this use of "co-" is not directly related to the "co-" that is used in "coproduct","coequalizer","colimit","cocone","comonad","comonoid",&c. .. there is no "cofunctor")
* Disconnected (Connection reset by peer)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment