modules over monads their algebras
play

Modules over Monads & their Algebras og 1 , Nicolas Wu 2 , and - PowerPoint PPT Presentation

Modules over Monads & their Algebras og 1 , Nicolas Wu 2 , and Jeremy Gibbons 1 Maciej Pir 1 University of Oxford 2 University of Bristol CALCO2015, Nijmegen Part 1 (out of 3) Straight to the definition... Modules over monads Let M =


  1. Modules over Monads & their Algebras og 1 , Nicolas Wu 2 , and Jeremy Gibbons 1 Maciej Pir´ 1 University of Oxford 2 University of Bristol CALCO2015, Nijmegen

  2. Part 1 (out of 3) Straight to the definition...

  3. Modules over monads Let M = � M , η, µ � be a monad on a category C . A (right) module over M is a pair � S , − → µ � , where S : C → C is an endofunctor − → µ : SM → S is a natural transformation s.t.t.f.d.c. S µ S η SMM SM S SM id − → − → − → µ M µ µ − → µ SM S S

  4. Modules over monads S. Mac Lane (page 170) E. Dubuc (‘Kan Extensions in...’, 1970) J. Ad´ amek, S. Milius, J. Velebil (‘On Rational Monads and...’, 2002) or (using a slightly generalised definition) R. Street (‘The Formal Theory of...’, 1972) A. Hirschowitz and M. Maggesi (‘Modules over Monads and...’, 2007 & 2010)

  5. Examples Let M = � M , η, µ � be a monad on a category C . • ‘Right regular representation’: � M , µ : M → M � • For an endofunctor G : C → C : � GM , G µ : GMM → GM � • For a monad morphism m : M → T : µ T Tm � T , TM − − → TT − − → T � • In a CCC, over the state monad (– × V ) V for a fixed V : � – × V , eval A : ( A × V ) V × V → A × V �

  6. Part 2 (out of 3) General theory of modules

  7. Morphisms between modules For brevity, we denote a module � S , − → µ � over � M , η, µ � as � M , S � , leaving the natural transformations implicit. A morphism between � M , S � and � M ′ , S ′ � is a pair � m , s � , where m : M → M ′ is a monad morphism s : S → S ′ is a natural transformation s.t.t.f.d.c. − → µ SM S sm s − → µ ′ S ′ M ′ S ′

  8. Category of modules We define the category of modules as: • Objects: modules � M , S � • Morhpsims: module morphisms � m , s � We denote this category Mod .

  9. Algebras for modules An algebra for � M , S � is a triple � A , f , g � s.t. 1. f : MA → A is an Eilenberg–Moore M -algebra, 2. g : SA → A is an S -algebra, 3. t.f.d.c. Sf SMA SA − → g µ A g SA A A morphism between � A , f , g � and � B , f ′ , g ′ � is a morphism h : A → B that is both an S -algebra and an M -algebra homomorphism. The category of algebras for � M , S � is called ModAlg ( M , S )

  10. The forgetful functor U : ModAlg ( M , S ) → C U � A , f , g � = A Uh = h Theorem If S ∗ A = µ X . SX + A exists for all A (i.e. S admits an algebraically-free monad), then U has a left adjoint F . FA = � MS ∗ A , f , g � , where µ M f = MMS ∗ A S ∗ A → MS ∗ A − − − → − η M cons A g = SMS ∗ A µ S ∗ A → SS ∗ A → S ∗ A S ∗ A → MS ∗ A − − − − − − − − − Fh = MS ∗ h

  11. The induced monad The induced monad UF = MS ∗ can be seen as a generalisation of E. Moggi’s resumption monad M ( GM ) ∗ for an endofunctor G . (Recall from the examples that GM is a module over M .) Also: M. Hyland, G. Plotkin, and J. Power’s proof that Moggi’s monad is a monad works in this case as well.

  12. Theorem The adjunction F ⊣ U is strictly monadic. This entails that ModAlg ( M , S ) ∼ = Alg ( MS ∗ )

  13. The RRR functor We define the right regular representation functor ∆ : Mnd → Mod : ∆ M = � M , M � where − → µ = µ ∆ m = � m , m �

  14. The universal property The monad MS ∗ is the free object in Mnd generated by S with respect to ∆. More precisely: for a monad T , a module � M , S � , and a module morphism � m , f � : � M , S � → ∆ T , there exists a unique monad morphism k : MS ∗ → T s.t.t.f.d.c. M η S ∗ η M S ∗ emb MS ∗ S ∗ M S m k f T

  15. There’s more... • Modules and adjunctions • Distributive laws and liftings

  16. Part 3 (out of 3) Computations in context

  17. Running computations in context • In a CCC, over the state monad (– × V ) V for a fixed V : eval A : ( A × V ) V × V → A × V � � – × V , • In a CCC, over the reader monad – V for a fixed V : λ � f , x � . � fx , x � : A V × V → A × V � � – × V , • Adjoint monad–comonad situation � η, ε � : W ⊣ M : WM η W µ W ε W � WM , WM − − − → WMMW − − − − → WMW − − → W � • T. Uustalu: ‘Stateful runners are monad morphisms to the state monad.’ For a monad morphism m : M → T : µ T Tm � T , − − → TT − − → T � TM

  18. Combinators Let T X be the set of all SKI-terms with variables from X . Let N X be the set of all normalised SKI-terms. CBN �N + C {⊥} , N T + C {⊥} − − − → N + C {⊥} �

  19. Modules and adjoints Paraphrasing a result by Dubuc (1970): Let L : C → D and R : D → C be functors s.t. L ⊣ R , and let H : D → C be any functor. Then, HLRL H ε R � HL , − − − → HL � is a module over RL . Moreover, every module arises in this way.

  20. The continuation monad G C C ⇑ κ G Ran G G C Ran G G – right Kan extension along itself (Ran G G ) G – the codensity monad of G � G , κ : ( Ran G G ) G → G � – a left module over the codensity monad

  21. Conclusions

  22. Conclusions • Theory of modules is non-problematic. • The resumption monad M ( GM ) ∗ generalises to GS ∗ . • Running computations in context ??

  23. Thanks!

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