reynolds parametricity
play

Reynolds Parametricity Patricia Johann Appalachian State University - PowerPoint PPT Presentation

Reynolds Parametricity Patricia Johann Appalachian State University cs.appstate.edu/ johannp Based on joint work with Neil Ghani, Fredrik Nordvall Forsberg, Federico Orsanigo, and Tim Revell OPLSS 2016 Course Outline Topic:


  1. Reynolds’ Parametricity Patricia Johann Appalachian State University cs.appstate.edu/ ∼ johannp Based on joint work with Neil Ghani, Fredrik Nordvall Forsberg, Federico Orsanigo, and Tim Revell OPLSS 2016

  2. Course Outline Topic: Reynolds’ theory of parametric polymorphism for System F Goals: - extract the fibrational essence of Reynolds’ theory - generalize Reynolds’ construction to very general models • Lecture 1: Reynolds’ theory of parametricity for System F • Lecture 2: Introduction to fibrations • Lecture 3: A bifibrational view of parametricity • Lecture 4: Bifibrational parametric models for System F

  3. Course Outline Topic: Reynolds’ theory of parametric polymorphism for System F Goals: - extract the fibrational essence of Reynolds’ theory - generalize Reynolds’ construction to very general models • Lecture 1: Reynolds’ theory of parametricity for System F • Lecture 2: Introduction to fibrations • Lecture 3: A bifibrational view of parametricity • Lecture 4: Bifibrational parametric models for System F

  4. Where Were We? • Last time we set up all the infrastructure we need to give our bifibra- tional parametric model of System F

  5. Where Were We? • Last time we set up all the infrastructure we need to give our bifibra- tional parametric model of System F • Today we will use relations fibrations on categories other than Set that are both equality preserving arrow fibrations and ∀ -fibrations to interpret System F

  6. Where Were We? • Last time we set up all the infrastructure we need to give our bifibra- tional parametric model of System F • Today we will use relations fibrations on categories other than Set that are both equality preserving arrow fibrations and ∀ -fibrations to interpret System F – types as fibred functors

  7. Where Were We? • Last time we set up all the infrastructure we need to give our bifibra- tional parametric model of System F • Today we will use relations fibrations on categories other than Set that are both equality preserving arrow fibrations and ∀ -fibrations to interpret System F – types as fibred functors – terms as fibred natural transformations

  8. Where Were We? • Last time we set up all the infrastructure we need to give our bifibra- tional parametric model of System F • Today we will use relations fibrations on categories other than Set that are both equality preserving arrow fibrations and ∀ -fibrations to interpret System F – types as fibred functors – terms as fibred natural transformations • This gives very general parametric models for System F

  9. Where Were We? • Last time we set up all the infrastructure we need to give our bifibra- tional parametric model of System F • Today we will use relations fibrations on categories other than Set that are both equality preserving arrow fibrations and ∀ -fibrations to interpret System F – types as fibred functors – terms as fibred natural transformations • This gives very general parametric models for System F • Throughout, let Rel ( U ) be an equality preserving arrow fibration and ∀ -fibration

  10. Fibrational Semantics of Types • Define fibred functors ] : | Rel ( U ) | | ∆ | → Rel ( U ) [ [∆ ⊢ τ ] by

  11. Fibrational Semantics of Types • Define fibred functors ] : | Rel ( U ) | | ∆ | → Rel ( U ) [ [∆ ⊢ τ ] by – Type variables: [ [∆ ⊢ α i ] ] o X = X i and [ [∆ ⊢ α i ] ] r R = R i

  12. Fibrational Semantics of Types • Define fibred functors ] : | Rel ( U ) | | ∆ | → Rel ( U ) [ [∆ ⊢ τ ] by – Type variables: [ [∆ ⊢ α i ] ] o X = X i and [ [∆ ⊢ α i ] ] r R = R i – Arrow types: [ [∆ ⊢ τ 1 → τ 2 ] ] = [ [∆ ⊢ τ 1 ] ] ⇒ [ [∆ ⊢ τ 2 ] ]

  13. Fibrational Semantics of Types • Define fibred functors ] : | Rel ( U ) | | ∆ | → Rel ( U ) [ [∆ ⊢ τ ] by – Type variables: [ [∆ ⊢ α i ] ] o X = X i and [ [∆ ⊢ α i ] ] r R = R i – Arrow types: [ [∆ ⊢ τ 1 → τ 2 ] ] = [ [∆ ⊢ τ 1 ] ] ⇒ [ [∆ ⊢ τ 2 ] ] – Forall types: [ [∆ ⊢ ∀ α.τ ] ] = ∀ [ [∆ , α ⊢ τ ] ]

  14. Fibrational Semantics of Types • Define fibred functors ] : | Rel ( U ) | | ∆ | → Rel ( U ) [ [∆ ⊢ τ ] by – Type variables: [ [∆ ⊢ α i ] ] o X = X i and [ [∆ ⊢ α i ] ] r R = R i – Arrow types: [ [∆ ⊢ τ 1 → τ 2 ] ] = [ [∆ ⊢ τ 1 ] ] ⇒ [ [∆ ⊢ τ 2 ] ] – Forall types: [ [∆ ⊢ ∀ α.τ ] ] = ∀ [ [∆ , α ⊢ τ ] ] • No definition for [ [∆ ⊢ τ ] ] on morphisms is needed because the domain of [ [∆ ⊢ τ ] ] is discrete

  15. Type Interpretations are Equality Preserving • Proposition The interpretation of every System F type is an equality preserving fibred functor

  16. Type Interpretations are Equality Preserving • Proposition The interpretation of every System F type is an equality preserving fibred functor • Proof: By induction on the structure of τ

  17. Type Interpretations are Equality Preserving • Proposition The interpretation of every System F type is an equality preserving fibred functor • Proof: By induction on the structure of τ • If τ = ∀ α.τ ′ , then [ [∆ , α ⊢ τ ′ ] [∆ ⊢ τ ] ] = ∀ [ ] is an equality preserving [∆ , α ⊢ τ ′ ] fibred functor whenever [ ] is, just by the definition of ∀ : ( | Rel ( U ) | n +1 → Eq Rel ( U )) → ( | Rel ( U ) | n → Eq Rel ( U ))

  18. Type Interpretations are Equality Preserving • Proposition The interpretation of every System F type is an equality preserving fibred functor • Proof: By induction on the structure of τ • If τ = ∀ α.τ ′ , then [ [∆ , α ⊢ τ ′ ] [∆ ⊢ τ ] ] = ∀ [ ] is an equality preserving [∆ , α ⊢ τ ′ ] fibred functor whenever [ ] is, just by the definition of ∀ : ( | Rel ( U ) | n +1 → Eq Rel ( U )) → ( | Rel ( U ) | n → Eq Rel ( U )) • Indeed, the very existence of ∀ in a ∀ -fibration requires that if F is equality preserving then so is ∀ F

  19. Type Interpretations are Equality Preserving • Proposition The interpretation of every System F type is an equality preserving fibred functor • Proof: By induction on the structure of τ • If τ = ∀ α.τ ′ , then [ [∆ , α ⊢ τ ′ ] [∆ ⊢ τ ] ] = ∀ [ ] is an equality preserving [∆ , α ⊢ τ ′ ] fibred functor whenever [ ] is, just by the definition of ∀ : ( | Rel ( U ) | n +1 → Eq Rel ( U )) → ( | Rel ( U ) | n → Eq Rel ( U )) • Indeed, the very existence of ∀ in a ∀ -fibration requires that if F is equality preserving then so is ∀ F • In our model, the Identity Extension Lemma is “baked into” the inter- pretation of types, rather than something to be proved post facto

  20. Type Interpretations are Equality Preserving • Proposition The interpretation of every System F type is an equality preserving fibred functor • Proof: By induction on the structure of τ . • If τ = ∀ α.τ ′ , then [ [∆ , α ⊢ τ ′ ] [∆ ⊢ τ ] ] = ∀ [ ] is an equality preserving [∆ , α ⊢ τ ′ ] fibred functor whenever [ ] is, just by the definition of ∀ : ( | Rel ( U ) | n +1 → Eq Rel ( U )) → ( | Rel ( U ) | n → Eq Rel ( U )) • Indeed, the very existence of ∀ in a ∀ -fibration requires that if F is equality preserving then so is ∀ F • In our model, the Identity Extension Lemma is “baked into” the inter- pretation of types, rather than something to be proved post facto • If U is faithful, then the ∀ -fibration requirement can be reformulated in terms of more basic concepts using opfibrational structure of U

  21. Fibrational Semantics of Terms - The Set Up • In a CCC, for all X and Y , there is an object X ⇒ Y and a isomor- phism λ : Hom ( W × X, Y ) ∼ = Hom ( W, X ⇒ Y ) that is natural in W

  22. Fibrational Semantics of Terms - The Set Up • In a CCC, for all X and Y , there is an object X ⇒ Y and a isomor- phism λ : Hom ( W × X, Y ) ∼ = Hom ( W, X ⇒ Y ) that is natural in W • The unit of this adjunction is the evaluation map ev X,Y = λ − 1 ( id X ⇒ Y ) : ( X ⇒ Y ) × X → Y

  23. Fibrational Semantics of Terms - The Set Up • In a CCC, for all X and Y , there is an object X ⇒ Y and a isomor- phism λ : Hom ( W × X, Y ) ∼ = Hom ( W, X ⇒ Y ) that is natural in W • The unit of this adjunction is the evaluation map ev X,Y = λ − 1 ( id X ⇒ Y ) : ( X ⇒ Y ) × X → Y • In a ∀ -fibration, for every F and G , there is are isomorphisms ϕ n : Hom ( F ◦ π n , G ) ∼ = Hom ( F, ∀ n G ) that are natural in n

  24. Fibrational Semantics of Terms - term variables Define fibred natural transformations [ [∆; Γ ⊢ t : τ ] ] : [ [∆ ⊢ Γ] ] → [ [∆ ⊢ τ ] ] by

  25. Fibrational Semantics of Terms - term variables Define fibred natural transformations [ [∆; Γ ⊢ t : τ ] ] : [ [∆ ⊢ Γ] ] → [ [∆ ⊢ τ ] ] by • If ∆ ⊢ τ i x i : τ i ∈ Γ ∆; Γ ⊢ x i : τ i then [ [∆; Γ ⊢ x i : τ i ] ] = π i

  26. Fibrational Semantics of Terms - term variables Define fibred natural transformations [ [∆; Γ ⊢ t : τ ] ] : [ [∆ ⊢ Γ] ] → [ [∆ ⊢ τ ] ] by • If ∆ ⊢ τ i x i : τ i ∈ Γ ∆; Γ ⊢ x i : τ i then [ [∆; Γ ⊢ x i : τ i ] ] = π i • π i is the i th projection on both B and E

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