skew monoidal structures on categories of algebras
play

Skew monoidal structures on categories of algebras Marcelo Fiore - PowerPoint PPT Presentation

Skew monoidal structures on categories of algebras Marcelo Fiore and Philip Saville University of Cambridge Dept. of Computer Science 11th July 2018 1 / 26 Skew monoidal categories A version of monoidal categories: structural transformations


  1. List objects are initial algebras Definition An algebra for a functor F : → is a pair ( A , α : FA → A ). Lemma If ( , , ) is a monoidal category with finite coproducts (0 , +) and ω -colimits, both preserved by all ( − ) P for P ∈ , then the initial � � algebra of the functor + X ( − ) is a list object on X. Remark This result relies on a general theory of parametrised initial algebras. 12 / 26

  2. The story so far 13 / 26

  3. The story so far list objects 13 / 26

  4. The story so far list objects ◮ well-understood datatype 13 / 26

  5. The story so far list objects ◮ well-understood datatype ◮ are free monoids 13 / 26

  6. The story so far list objects ◮ well-understood datatype ◮ are free monoids ◮ described by A . ( I + XA ). 13 / 26

  7. Rest of this talk list objects T -list objects � (new work) ◮ well-understood datatype ◮ are free monoids ◮ extends datatype of lists ◮ described by A . ( I + XA ). ◮ are free T -monoids ◮ described by A . T ( I + XA ). 13 / 26

  8. Rest of this talk list objects T -list objects � (new work) ◮ well-understood datatype ◮ are free monoids ◮ extends datatype of lists ◮ described by A . ( I + XA ). ◮ are free T -monoids ◮ described by A . T ( I + XA ). ...and instantiate this for applications 13 / 26

  9. Compatible algebraic structure 14 / 26

  10. Compatible algebraic structure Definition A monad on a category is a functor T : → equipped with a multiplication µ : T 2 → T and a unit η : → T satisfying associativity and unit laws. 14 / 26

  11. Compatible algebraic structure Definition A monad on a category is a functor T : → equipped with a multiplication µ : T 2 → T and a unit η : → T satisfying associativity and unit laws. Definition An algebra for a monad ( T , µ, η ) is a pair ( A , α : TA → A ) satisfying unit and associativity laws. 14 / 26

  12. Compatible algebraic structure Definition A monad on a category is a functor T : → equipped with a multiplication µ : T 2 → T and a unit η : → T satisfying associativity and unit laws. Definition An algebra for a monad ( T , µ, η ) is a pair ( A , α : TA → A ) satisfying unit and associativity laws. Definition A strong monad T is a monad on a monoidal category ( , ) that is equipped with a natural transformation A , B : T ( A ) B → T ( AB ) satisfying coherence laws. 14 / 26

  13. List objects with algebraic structure 15 / 26

  14. T -list objects 15 / 26

  15. T -list objects Let ( , ) be a strong monad on a monoidal category ( , ). A -list object ( X ) on X consists of () () 15 / 26

  16. T -list objects Let ( , ) be a strong monad on a monoidal category ( , ). A -list object ( X ) on X consists of (()) () () 15 / 26

  17. T -list objects Let ( , ) be a strong monad on a monoidal category ( , ). A -list object ( X ) on X consists of (()) () () such that for every structure 15 / 26

  18. T -list objects Let ( , ) be a strong monad on a monoidal category ( , ). A -list object ( X ) on X consists of (()) () () such that for every structure there exists a unique mediating map ( , , ) : () → 15 / 26

  19. T -list objects such that () () ( ,, ) ∼ = ( ,, ) and (( ,, )) () , � � () (()) ( ,, ) () 16 / 26

  20. T -list objects Remark Every list object is a T -list object. If every ( − ) P has a right adjoint, the iterator ( , , ) is a T -algebra homomorphism. 16 / 26

  21. Natural numbers in Cpo , revisited Flat natural numbers, Lazy natural numbers, Strict natural A . (1 + A ): A . (1 + A ) ⊥ : numbers, A . A ⊥ : · · · · · · · · · 0 1 2 3 · · · s 2 ( ⊥ ) 1 1 ⊥ s ( ⊥ ) 0 0 ⊥ ⊥ 17 / 26

  22. Natural numbers in Cpo as T -list objects on the unit Flat natural numbers, Lazy natural numbers, Strict natural A . (1 + A ): A . (1 + A ) ⊥ : numbers, A . A ⊥ : · · · · · · · · · 0 1 2 3 · · · s 2 ( ⊥ ) 1 1 ⊥ s ( ⊥ ) 0 0 ⊥ ⊥ 17 / 26

  23. Natural numbers in Cpo as T -list objects on the unit Flat natural numbers, Lazy natural numbers, Strict natural A . (1 + A ): A . (1 + A ) ⊥ : numbers, A . A ⊥ : · · · · · · · · · 0 1 2 3 · · · s 2 ( ⊥ ) 1 1 ⊥ s ( ⊥ ) 0 0 ⊥ ⊥ T -list object with ( × , 1) structure and monad T = 17 / 26

  24. Natural numbers in Cpo as T -list objects on the unit Flat natural numbers, Lazy natural numbers, Strict natural A . (1 + A ): A . (1 + A ) ⊥ : numbers, A . A ⊥ : · · · · · · · · · 0 1 2 3 · · · s 2 ( ⊥ ) 1 1 ⊥ s ( ⊥ ) 0 0 ⊥ ⊥ T -list object with T -list object with ( × , 1) structure ( × , 1) structure and monad T = and T := ( − ) ⊥ the lifting monad 17 / 26

  25. Natural numbers in Cpo as T -list objects on the unit Flat natural numbers, Lazy natural numbers, Strict natural A . (1 + A ): A . (1 + A ) ⊥ : numbers, A . A ⊥ : · · · · · · · · · 0 1 2 3 · · · s 2 ( ⊥ ) 1 1 ⊥ s ( ⊥ ) 0 0 ⊥ ⊥ T -list object with T -list object with T -list object with ( × , 1) structure (+ , 0) structure ( × , 1) structure and monad T = and T := ( − ) ⊥ the and T := ( − ) ⊥ the lifting monad lifting monad 17 / 26

  26. Monoids with compatible algebraic structure 18 / 26

  27. T -monoids 18 / 26

  28. T -monoids Let ( , ) be a strong monad on on a monoidal category ( , ). A � � -monoid EM-monoid (Pir´ og) is a monoid 18 / 26

  29. T -monoids Let ( , ) be a strong monad on on a monoidal category ( , ). A � � -monoid EM-monoid (Pir´ og) is a monoid equipped with a T -algebra T τ 18 / 26

  30. T -monoids Let ( , ) be a strong monad on on a monoidal category ( , ). A � � -monoid EM-monoid (Pir´ og) is a monoid equipped with a T -algebra T τ compatible in the sense that () () , 18 / 26

  31. T -monoids Let ( , ) be a strong monad on on a monoidal category ( , ). A � � -monoid EM-monoid (Pir´ og) is a monoid equipped with a T -algebra T τ compatible in the sense that () () , Remark T -monoids generalise both monoids and T -algebras. 18 / 26

  32. T -monoids Remark In the context of abstract syntax, T is freely generated from some theory, and T -monoids are models of this theory. 19 / 26

  33. T -monoids Remark In the context of abstract syntax, T is freely generated from some theory, and T -monoids are models of this theory. Lemma For every monoid the endofunctor T := ( − ) is a monad, and �� T ≃ . 19 / 26

  34. T -monoids Remark In the context of abstract syntax, T is freely generated from some theory, and T -monoids are models of this theory. Lemma For every monoid the endofunctor T := ( − ) is a monad, and �� T ≃ . Example In particular, a T -monoid for the endofunctor T := S ( − ) is precisely an algebraic operation with signature S in the sense of Jaskelioff, and can be identified with a map S η ( S ) → interpreting S inside . 19 / 26

  35. T -monoids Remark In the context of abstract syntax, T is freely generated from some theory, and T -monoids are models of this theory. Lemma For every monoid the endofunctor T := ( − ) is a monad, and �� T ≃ . Example � , (1) , • � Thinking of a Lawvere theory as a monoid L in , we can identify Lawvere theories extending L with T -monoids for T := • ( − ). 19 / 26

  36. T -list objects are free T -monoids 20 / 26

  37. T -list objects are free T -monoids For a strong monad ( T , ) on a monoidal category ( , ), 20 / 26

  38. T -list objects are free T -monoids For a strong monad ( T , ) on a monoidal category ( , ), Lemma 1. Every T-list object ( X ) is a T-monoid. 20 / 26

  39. T -list objects are free T -monoids For a strong monad ( T , ) on a monoidal category ( , ), Lemma 1. Every T-list object ( X ) is a T-monoid. 2. This T -monoid is the free T -monoid on X , with universal map XXXX ( X )( X ) 20 / 26

  40. T -list objects are free T -monoids For a strong monad ( T , ) on a monoidal category ( , ), Lemma 1. Every T-list object ( X ) is a T-monoid. 2. This T -monoid is the free T -monoid on X , with universal map XXXX ( X )( X ) We can reason concretely about free T -monoids by reasoning about T -lists. 20 / 26

  41. T -list objects are initial algebras 21 / 26

  42. T -list objects are initial algebras For a strong monad ( T , ) on a monoidal category ( , ), Lemma If every ( − ) P preserves binary coproducts, and the initial algebra exists, then A . T ( I + XA ) is a T-list object on X. 21 / 26

  43. Theorem Let be a strong monad on a monoidal category ( , , ) with binary coproducts (+) . If 1. for every ∈ , the endofunctor ( − ) preserves binary coproducts, and 2. for every X ∈ , the initial algebra of T ( I + X − ) exists Then has all -list objects and, thereby, the free -monoid monad . 22 / 26

  44. Theorem Let be a strong monad on a monoidal category ( , , ) with binary coproducts (+) . If 1. for every ∈ , the endofunctor ( − ) preserves binary coproducts, and 2. for every X ∈ , the initial algebra of T ( I + X − ) exists Then has all -list objects and, thereby, the free -monoid monad . Remark Thinking in terms of T -list objects makes the proof straightforward! 22 / 26

  45. Technical contribution 23 / 26

  46. Technical contribution A . ( I + XA ) � list object � free monoid 23 / 26

  47. Technical contribution A . ( I + XA ) � list object � free monoid T -list object 23 / 26

  48. Technical contribution A . ( I + XA ) � list object � free monoid T -list object � free T -monoid 23 / 26

  49. Technical contribution A . ( I + XA ) � list object � free monoid A . T ( I + XA ) � T -list object � free T -monoid 23 / 26

  50. Technical contribution A . ( I + XA ) � list object � free monoid A . T ( I + XA ) � T -list object � free T -monoid Remark A natural extension: algebraic structure encapsulated by Lawvere theories or operads. This gives rise to a notion of near-semiring category, which underlies many of the applications. 23 / 26

  51. Applications 24 / 26

  52. Applications T -NNOs In a a monoidal category ( , ): NNO = list object on T -NNO = T -list object on In Cpo : gives rise to the flat- , lazy- and strict natural numbers. 24 / 26

  53. Applications Functional programming ◮ In the bicartesian closed setting: Jaskelioff’s monadic list transformer Lt ( T ) X := A . T (1 + X × A ) is just the free T -monoid monad. 24 / 26

  54. Applications Functional programming ◮ In the bicartesian closed setting: Jaskelioff’s monadic list transformer Lt ( T ) X := A . T (1 + X × A ) is just the free T -monoid monad. ◮ In the category of endofunctors over a cartesian category: the MonadPlus type class Mp ( F ) X := A . List ( X + FA ) of Rivas is a List -list object. 24 / 26

  55. Applications Functional programming ◮ In the bicartesian closed setting: Jaskelioff’s monadic list transformer Lt ( T ) X := A . T (1 + X × A ) is just the free T -monoid monad. ◮ In the category of endofunctors over a cartesian category: the MonadPlus type class Mp ( F ) X := A . List ( X + FA ) of Rivas is a List -list object. ◮ In the category of endofunctors over a cartesian category: the datatype Bun ( F ) X := A . (1 + X × A + F ( A ) × A + A × A ) is an instance of Spivey’s Bunch type class that is a T-list object for T the extension of the theory of monoids with a unary operator. 24 / 26

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