category theory
play

Category Theory Roy L. Crole University of Leicester, UK April - PowerPoint PPT Presentation

Category Theory Roy L. Crole University of Leicester, UK April 2015 MGS 2015, 7-11 April, University of Sheffield, UK 1/39 Introductory Remarks Category Theory is a theory of abstraction (of algebraic structure). It had its origins in


  1. Category Theory Roy L. Crole University of Leicester, UK April 2015 MGS 2015, 7-11 April, University of Sheffield, UK 1/39

  2. Introductory Remarks ◮ Category Theory is a theory of abstraction (of algebraic structure). ◮ It had its origins in Algebraic Topology with the work of Eilenberg and Mac Lane (1942-45). ◮ It provides tools and techniques which allow the formulation and analysis of common features amongst apparently different mathematical/computational theories. ◮ We can discover new relationships between things that are seemingly unconnected. ◮ Category theory concentrates on how things behave and not on internal details. ◮ As such, category theory can clarify and simplify our ideas—and indeed lead to new ideas and new results. MGS 2015, 7-11 April, University of Sheffield, UK 2/39

  3. Introductory Remarks ◮ Connections with Computer Science were first made in the 1980s, and the subject has played a central role ever since. ◮ Some contributions (chosen by me . . . there are many many more) are ◮ Cartesian closed categories as models of pure functional languages. ◮ The use of strong monads to model notions of computation (well incorporated into Haskell). ◮ Precise correspondences between categorical structures and type theories (as internal languages). ◮ The categorical solution of domain equations as models of recursive types. ◮ Categories for concurrent computation. ◮ Nominal categories as models of variable binding. MGS 2015, 7-11 April, University of Sheffield, UK 2/39

  4. Seminar Outline Categories Functors Natural Transformations Isomorphisms, Products, Coproducts Algebras Case Study: Modelling (Haskell) Algebraic Datatypes Adjunctions Colimits and Applications to Initial Algebras MGS 2015, 7-11 April, University of Sheffield, UK 3/39

  5. Examples of Categories ◮ The collection of all sets and all functions ◮ Each set has an identity function; functions compose; composition is associative. ◮ The collection of all elements of a preorder and all instances of the order relation (relationships) ≤ ◮ Each element has an identity relationship (reflexivity); relationships compose (transitivity); composition is associative. ◮ The collection of all elements of a singleton { ∗ } (!) and any collection of algebraic terms with just one variable x 0 ◮ ∗ has an identity term x 0 ; terms compose (substitution); composition is associative. MGS 2015, 7-11 April, University of Sheffield, UK 4/39

  6. Definition of A Category A category C is specified by the following data: ◮ A collection ob C of entities called objects . An object will often be denoted by a capital letter such as A , B , C . . . ◮ For any two objects A and B , a collection C ( A , B ) of entities called morphisms . A morphism in C ( A , B ) will often be denoted by a small letter such as f , g , h . . . . ◮ If f ∈ C ( A , B ) then A is called the source of f , and B is the target of f and we write (equivalently) f : A → B . MGS 2015, 7-11 April, University of Sheffield, UK 5/39

  7. Definition of A Category A category C is specified by the following data (continued): ◮ There is an operation assigning to each object A of C an identity morphism id A : A → A . ◮ There is an operation C ( B , C ) × C ( A , B ) − → C ( A , C ) assigning to each pair of morphisms f : A → B and g : B → C their composition which is a morphism denoted by g ◦ f : A → C or just g f : A → C . ◮ Such morphisms f and g , with a common source and target B , are said to be composable . MGS 2015, 7-11 April, University of Sheffield, UK 5/39

  8. Definition of A Category A category C is specified by the following data (continued): ◮ These operations are unitary id B ◦ f f : A → B = f ◦ id A f : A → B = ◮ and associative , that is given morphisms f : A → B , g : B → C and h : C → D then ( h ◦ g ) ◦ f = h ◦ ( g ◦ f ) . If we say “ f is a morphism” we implicitly assume that the source and target are recoverable, that is, we can work out f ∈ C ( A , B ) for some A and B . MGS 2015, 7-11 April, University of Sheffield, UK 5/39

  9. More Examples ◮ The category P art with ob P art all sets and morphisms P art ( A , B ) the partial functions A → B . ◮ The identity function id A is a partial function! ◮ Given f : A → B , g : B → C , then for each element a of A , ( g ◦ f )( a ) is defined with value g ( f ( a )) if and only if both f ( a ) and g ( f ( a )) are defined. ◮ Given a category C , the opposite category C op has = ob C and C op ( A , B ) = { f op | f ∈ C ( B , A ) } . ◮ ob C op def ◮ The identity on an object A in C op is defined to be id op A . ◮ If f op : A → B and g op : B → C are morphisms in C op , then f : B → A and g : C → B are composable morphisms in C . We define g op ◦ f op def = ( f ◦ g ) op : A → C . MGS 2015, 7-11 April, University of Sheffield, UK 6/39

  10. More Examples ◮ A discrete category is one for which the only morphisms are identities. ◮ A semigroup ( S , b ) is a set S together with an associative binary operation b : S × S → S , ( s , s ′ ) �→ s · s ′ . An identity element for a semigroup S is some (necessarily unique) element e of S such that for all s ∈ S we have e · s = s · e = s . A monoid ( M , b , e ) is a semigroup ( M , b ) with identity element e . Any monoid is a single object def category C with C ( ∗ , ∗ ) = M . Concrete examples are ◮ Addition on the natural numbers, ( N , + , 0 ) . ◮ Concatenation of finite lists over a set A , ( list ( A ) , ++ , [ ]) . MGS 2015, 7-11 April, University of Sheffield, UK 6/39

  11. More Examples ◮ M on has objects monoids and morphisms monoid homomorphisms: h : M → M ′ is a homomorphism if h ( e ) = e and h ( m 1 · m 2 ) = h ( m 1 ) · h ( m 2 ) for all m i ∈ M . ◮ P re S et has objects preorders and morphisms the monotone functions; and P ar S et has objects partially ordered sets and morphisms the monotone functions. ◮ The category of relations R el has objects sets and morphisms binary relations on sets; composition is relation-composition. ◮ The category of lattices L at has objects lattices and morphisms the lattice homomorphisms. ◮ The category CL at has objects the complete lattices and morphisms the complete lattice homomorphisms. ◮ The category G rp of groups and homomorphisms. MGS 2015, 7-11 April, University of Sheffield, UK 6/39

  12. Examples of Functors ◮ Let C be a category. The identity functor id C : C → C is def def defined by id C ( A ) = A on objects and id C ( f ) = f on morphisms; so f : A → B = ⇒ id C ( f ) : id C ( A ) → id C ( B ) . ◮ Let ( X , ≤ X ) and ( Y , ≤ Y ) be categories and m : X → Y a monotone function. Then m gives rise to a functor M : ( X , ≤ X ) → ( Y , ≤ Y ) def = m ( x ) on objects x ∈ X and by defined by M ( x ) M ( ≤ X ) = ≤ Y on morphisms; since m is monotone, ≤ X : x → x ′ = ⇒ M ( ≤ X ) : M ( x ) → M ( x ′ ) . MGS 2015, 7-11 April, University of Sheffield, UK 7/39

  13. Examples of Functors def ◮ We may define a functor F : S et → M on by FA = list ( A ) def = map ( f ) , where map ( f ) : list ( A ) → list ( B ) is and F f defined by def map ( f )([]) = [] def map ( f )([ a 1 , . . . , a n ]) = [ f ( a 1 ) , . . . , f ( a n )] It is easy to see that map ( f ) is a homomorphism of monoids. ◮ Note that F ( id A ) = id FA def F ( id A )([ a 1 , . . . , a n ]) = map ( id A )([ a 1 , . . . , a n ]) = id list ( A ) ([ a 1 , . . . , a n ]) def = id FA ([ a 1 , . . . , a n ]) MGS 2015, 7-11 April, University of Sheffield, UK 7/39

  14. Examples of Functors ◮ . . . and note that F ( g ◦ f ) = Fg ◦ F f def F ( g ◦ f )([ a 1 , . . . , a n ]) map ( g ◦ f )([ a 1 , . . . , a n ]) = [( g ◦ f )( a 1 ) , . . . , ( g ◦ f )( a n )] = = [ g ( f ( a 1 )) , . . . , g ( f ( a n ))] = map ( g )([ f ( a 1 ) , . . . , f ( a n )]) = map ( g )( map ( f )([ a 1 , . . . , a n ])) = ( Fg ◦ F f )([ a 1 , . . . , a n ]) . MGS 2015, 7-11 April, University of Sheffield, UK 7/39

  15. Definition of a Functor A functor F : C → D is specified by ◮ an operation taking objects A in C to objects FA in D , and ◮ an operation sending morphisms f : A → B in C to morphisms F f : FA → FB in D , such that ◮ F ( id A ) = id FA , and ◮ F ( g ◦ f ) = Fg ◦ F f provided g ◦ f is defined. MGS 2015, 7-11 April, University of Sheffield, UK 8/39

  16. More Functor Examples ◮ Given a set A , recall that the powerset P ( A ) is the set of subsets of A . We can define the covariant powerset functor P : S et → S et which is given by f : A → B �→ P ( f ) ≡ f ∗ : P ( A ) → P ( B ) , where f : A → B is a function and f ∗ is defined by = { f ( a ′ ) | a ′ ∈ A ′ } where A ′ ∈ P ( A ) . def f ∗ ( A ′ ) ◮ f ∗ is sometimes called the direct image of f . MGS 2015, 7-11 April, University of Sheffield, UK 9/39

  17. More Functor Examples ◮ We can define a contravariant powerset functor P : S et op → S et by setting f op : B → A f − 1 : P ( B ) → P ( A ) , �→ where f : A → B is a function in S et , and the function f − 1 is def defined by f − 1 ( B ′ ) = { a ∈ A | f ( a ) ∈ B ′ } where B ′ ∈ P ( B ) . ◮ f ∗ is sometimes called the inverse image of f . MGS 2015, 7-11 April, University of Sheffield, UK 9/39

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend