Category theory/Natural transformation

(Difference between revisions)
 Revision as of 13:17, 3 October 2006 (edit)m (→Remarks: Link to source code)← Previous diff Revision as of 13:18, 3 October 2006 (edit) (undo) (Fix broken link)Next diff → Line 135: Line 135: * even has a more general type (Integral a => a -> Bool) than described here * even has a more general type (Integral a => a -> Bool) than described here * Words “side”, “horizontal”, “vertical”, “left”, “right” serve here only to point to the discussed parts of a diagram, thus, they are not part of the scientific terminology. * Words “side”, “horizontal”, “vertical”, “left”, “right” serve here only to point to the discussed parts of a diagram, thus, they are not part of the scientific terminology. - * If You want to modifiy the [[#Commutative diagram]], see its [[Media:Natural_transfomramtion.tex|source code]] (in LaTeX using amscd). + * If You want to modifiy the [[#Commutative diagram]], see its [[Media:Natural_transformation.tex|source code]] (in LaTeX using amscd). === External links === === External links === * [http://haskell.org/hawiki/CategoryTheory_2fNaturalTransformation?action=highlight&value=natural+transformation The corresponding HaWiki article] is not migrated here yet, so You can see it for more information. * [http://haskell.org/hawiki/CategoryTheory_2fNaturalTransformation?action=highlight&value=natural+transformation The corresponding HaWiki article] is not migrated here yet, so You can see it for more information. * Wikipedia's [http://en.wikipedia.org/wiki/Natural_transformation Natural transformation] article * Wikipedia's [http://en.wikipedia.org/wiki/Natural_transformation Natural transformation] article

1 Example: maybeToList

map even $maybeToList$ Just 5

yields the same as

maybeToList $fmap even$ Just 5

yields: both yield

[False]

1.1 Commutative diagram

Let $\mathcal C$, $\mathcal D$ denote categories. Let $\Phi, \Psi : \mathcal C \to \mathcal D$ be functors. Let us define the $\eta : \Phi \to \Psi$ natural transformation.

............

1.2 Vertical arrows: sides of objects

… showing how the natural transformation works.

$\eta : \Phi \to \Psi$
maybeToList :: Maybe a -> [a]

1.2.1 Left: side of X object

 maybeToList :: Maybe Int -> [Int] Nothing [] Just 0 [0] Just 1 [1]

1.2.2 Right: side of Y object

 maybeToList :: Maybe Bool -> [Bool] Nothing [] Just True [True] Just False [False]

1.3 Horizontal arrows: sides of functors

$f : X \to Y$
even :: Int -> Bool

1.3.1 Side of Φ functor

 fmap even:: Maybe Int -> Maybe Bool Nothing Nothing Just 0 Just True Just 1 Just False

1.3.2 Side of Ψ functor

 map even:: [Int] -> [Bool] [] [] [0] [True] [1] [False]

1.4 Commutativity of the diagram

$\Psi(f) \cdot \eta_X = \eta_Y \cdot \Phi(f)$

both paths span between

$\Phi(X) \to \Psi(Y)$
 Maybe Int -> [Bool] map even . maybeToList maybeToList . fmap even Nothing [] [] Just 0 [True] [True] Just 1 [False] [False]

1.5 Remarks

• even
has a more general type (
Integral a => a -> Bool
) than described here
• Words “side”, “horizontal”, “vertical”, “left”, “right” serve here only to point to the discussed parts of a diagram, thus, they are not part of the scientific terminology.
• If You want to modifiy the #Commutative diagram, see its source code (in LaTeX using amscd).