recursive program schemes with effects
play

Recursive Program Schemes with Effects Daniel Schwencke, 28th March - PowerPoint PPT Presentation

Recursive Program Schemes with Effects Daniel Schwencke, 28th March 2010 Outline 1 Introduction 2 Preliminaries and Definitions 3 A Solution Theorem 4 Future Work D. Schwencke: Recursive Program Schemes with Effects RPSs Idea: define new


  1. Recursive Program Schemes with Effects Daniel Schwencke, 28th March 2010

  2. Outline 1 Introduction 2 Preliminaries and Definitions 3 A Solution Theorem 4 Future Work D. Schwencke: Recursive Program Schemes with Effects

  3. RPSs Idea: define new operations using given operations and recursion Definition (RPS without effects, classical) disjoint finite sets F – given operation symbols Φ – new operation symbols X – variables φ ( x 1 , . . . , x n ) ≈ t φ ( x 1 , . . . , x n ) for all φ ∈ Φ n , t φ term in F ∪ Φ D. Schwencke: Recursive Program Schemes with Effects

  4. RPSs Idea: define new operations using given operations and recursion Definition (RPS without effects, classical) disjoint finite sets F – given operation symbols Φ – new operation symbols X – variables φ ( x 1 , . . . , x n ) ≈ t φ ( x 1 , . . . , x n ) for all φ ∈ Φ n , t φ term in F ∪ Φ Example ([Milius Moss 06]) φ ( x ) ≈ f ( x , φ ( gx )) ψ ( x ) ≈ f ( φ ( gx ) , ggx ) D. Schwencke: Recursive Program Schemes with Effects

  5. RPSs Idea: define new operations using given operations and recursion Definition (RPS without effects, classical) disjoint finite sets F – given operation symbols Φ – new operation symbols X – variables φ ( x 1 , . . . , x n ) ≈ t φ ( x 1 , . . . , x n ) for all φ ∈ Φ n , t φ term in F ∪ Φ Example ([Milius Moss 06]) φ ( x ) ≈ f ( x , φ ( gx )) ψ ( x ) ≈ f ( φ ( gx ) , ggx ) Generalising category-theoretic approach in [Ghani L¨ uth de Marchi 03, Milius Moss 06] D. Schwencke: Recursive Program Schemes with Effects

  6. ND-RPSs Idea: add non-deterministic choice on rhs of formal equations special binary operation symbol or �∈ F ∪ Φ terms t φ in F ∪ Φ ∪ { or } see [Arnold Nivat 77] D. Schwencke: Recursive Program Schemes with Effects

  7. ND-RPSs Idea: add non-deterministic choice on rhs of formal equations special binary operation symbol or �∈ F ∪ Φ terms t φ in F ∪ Φ ∪ { or } see [Arnold Nivat 77] Example pow ( x ) ≈ x or ( x · pow ( x )) D. Schwencke: Recursive Program Schemes with Effects

  8. ND-RPSs Idea: add non-deterministic choice on rhs of formal equations special binary operation symbol or �∈ F ∪ Φ terms t φ in F ∪ Φ ∪ { or } see [Arnold Nivat 77] Example pow ( x ) ≈ x or ( x · pow ( x )) More generally: RPSs with effects partiality non-determinism probabilism D. Schwencke: Recursive Program Schemes with Effects

  9. A Starting Point Assumptions ( M , η M , µ M ) monad on Set H, V finitary Set -functors distributive laws λ : HM → MH and ν : VM → MV ⇒ induced distributive law ρ : ( H + V ) M → M ( H + V ) D. Schwencke: Recursive Program Schemes with Effects

  10. A Starting Point Assumptions ( M , η M , µ M ) monad on Set H, V finitary Set -functors distributive laws λ : HM → MH and ν : VM → MV ⇒ induced distributive law ρ : ( H + V ) M → M ( H + V ) Meaning: M – effect, e. g. + 1, P , D H , V – “signatures” of given/new operations λ , ν , ρ – extension of operations to parameters with effects D. Schwencke: Recursive Program Schemes with Effects

  11. A First Lemma Notation: ( F G , η G , µ G ) free monad on G universal natural transformation κ G : G → F G T monad, σ : G → T . Then σ # : F G → T unique monad morphism such that σ # · κ G = σ D. Schwencke: Recursive Program Schemes with Effects

  12. A First Lemma Notation: ( F G , η G , µ G ) free monad on G universal natural transformation κ G : G → F G T monad, σ : G → T . Then σ # : F G → T unique monad morphism such that σ # · κ G = σ Lemma If G has free algebras, every distributive law δ : GM → MG induces a distributive law δ ′ : F G M → MF G . ⇒ composite monad ( MF G , η M F G · η G , ( µ M ∗ µ G ) · M δ ′ F G ) D. Schwencke: Recursive Program Schemes with Effects

  13. RPSs with Effects Definition M -RPS e : V → MF H + V e 0 → M ( HF H + V + Id ) ... → MF H + V guarded if e ≡ V − − (uninterpreted) solution of e e † : V → MF H such that e † = µ M F H · M [ η M F H · η H , e † ] # · e D. Schwencke: Recursive Program Schemes with Effects

  14. RPSs with Effects Definition M -RPS e : V → MF H + V e 0 → M ( HF H + V + Id ) ... → MF H + V guarded if e ≡ V − − (uninterpreted) solution of e e † : V → MF H such that e † = µ M F H · M [ η M F H · η H , e † ] # · e Example For pow ( x ) ≈ x or ( x · pow ( x )) take M = P , V = Id , H = Id 2 e X ( x ) = { x , x · pow ( x ) } guarded since x ∈ Id ( X ) and x · pow ( x ) ∈ HF H + V X e † X ( x ) = { x , x · x , x · ( x · x ) , x · ( x · ( x · x )) , . . . } is a solution D. Schwencke: Recursive Program Schemes with Effects

  15. What We Would Like to Prove. . . Question Does every guarded M-RPS have a (unique) solution? D. Schwencke: Recursive Program Schemes with Effects

  16. What We Would Like to Prove. . . Question Does every guarded M-RPS have a (unique) solution? From H , M , λ and ρ ′ we obtain a functor H = H · + Id on [ Set , Set ]; D. Schwencke: Recursive Program Schemes with Effects

  17. What We Would Like to Prove. . . Question Does every guarded M-RPS have a (unique) solution? From H , M , λ and ρ ′ we obtain a functor H = H · + Id on [ Set , Set ]; a monad M = ( M · , η M , µ M ) on [ Set , Set ]; D. Schwencke: Recursive Program Schemes with Effects

  18. What We Would Like to Prove. . . Question Does every guarded M-RPS have a (unique) solution? From H , M , λ and ρ ′ we obtain a functor H = H · + Id on [ Set , Set ]; a monad M = ( M · , η M , µ M ) on [ Set , Set ]; a distributive law Λ = [ M inl , M inr] · ( λ + η M ) : HM → MH ; D. Schwencke: Recursive Program Schemes with Effects

  19. What We Would Like to Prove. . . Question Does every guarded M-RPS have a (unique) solution? From H , M , λ and ρ ′ we obtain a functor H = H · + Id on [ Set , Set ]; a monad M = ( M · , η M , µ M ) on [ Set , Set ]; a distributive law Λ = [ M inl , M inr] · ( λ + η M ) : HM → MH ; equivalently, a lifting ¯ H of H to [ Set , Set ] M ; D. Schwencke: Recursive Program Schemes with Effects

  20. What We Would Like to Prove. . . Question Does every guarded M-RPS have a (unique) solution? From H , M , λ and ρ ′ we obtain a functor H = H · + Id on [ Set , Set ]; a monad M = ( M · , η M , µ M ) on [ Set , Set ]; a distributive law Λ = [ M inl , M inr] · ( λ + η M ) : HM → MH ; equivalently, a lifting ¯ H of H to [ Set , Set ] M ; the canonical functor J : [ Set , Set ] → [ Set , Set ] M ; D. Schwencke: Recursive Program Schemes with Effects

  21. What We Would Like to Prove. . . Question Does every guarded M-RPS have a (unique) solution? From H , M , λ and ρ ′ we obtain a functor H = H · + Id on [ Set , Set ]; a monad M = ( M · , η M , µ M ) on [ Set , Set ]; a distributive law Λ = [ M inl , M inr] · ( λ + η M ) : HM → MH ; equivalently, a lifting ¯ H of H to [ Set , Set ] M ; the canonical functor J : [ Set , Set ] → [ Set , Set ] M ; a monad H F H + V with distributive law over M . D. Schwencke: Recursive Program Schemes with Effects

  22. � � Second Order Substitution with Effects Definition [ J inl · H η H + V , e 0 ] � M ( HF H + V + Id ) For a guarded M -RPS e let H + V ¯ e be the unique monad mor- � � � � � κ H + V � phism such that the diagram � � ¯ � e � � � � � commutes: � F H + V D. Schwencke: Recursive Program Schemes with Effects

  23. � � Second Order Substitution with Effects Definition [ J inl · H η H + V , e 0 ] � M ( HF H + V + Id ) For a guarded M -RPS e let H + V ¯ e be the unique monad mor- � � � � � κ H + V � phism such that the diagram � � ¯ � e � � � � � commutes: � F H + V Remarks ¯ e performs second order substitution with effect handling e is an ¯ ¯ H -coalgebra D. Schwencke: Recursive Program Schemes with Effects

  24. Sufficient Conditions for a Solution Notation: φ H = µ H · κ H F H : HF H → F H D. Schwencke: Recursive Program Schemes with Effects

  25. Sufficient Conditions for a Solution Notation: φ H = µ H · κ H F H : HF H → F H Two facts: [ φ H , η H ] : H F H → F H is initial H -algebra. D. Schwencke: Recursive Program Schemes with Effects

  26. Sufficient Conditions for a Solution Notation: φ H = µ H · κ H F H : HF H → F H Two facts: [ φ H , η H ] : H F H → F H is initial H -algebra. If 1 J [ φ H , η H ] − 1 : F H → ¯ H F H is final ¯ H -coalgebra and H -coalgebra homomorphism h : F H + V → MF H 2 the unique ¯ e and J [ φ H , η H ] − 1 is a monad morphism between ¯ then h · κ H + V · inr : V → MF H is a solution of e . D. Schwencke: Recursive Program Schemes with Effects

  27. A Result for CPO-enriched Set M Assumptions Set M CPO-enriched with strict composition λ strict ¯ H locally continuous D. Schwencke: Recursive Program Schemes with Effects

  28. A Result for CPO-enriched Set M Assumptions Set M CPO-enriched with strict composition λ strict ¯ H locally continuous Theorem Under the above assumptions, every guarded M-RPS has a solution. D. Schwencke: Recursive Program Schemes with Effects

  29. A Result for CPO-enriched Set M (ctd.) Theorem Under the above assumptions, every guarded M-RPS has a solution. Proof. 1 J [ φ H , η H ] − 1 final ¯ H -coalgebra: use techniques of [Hasuo Jacobs Sokolova 07] D. Schwencke: Recursive Program Schemes with Effects

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