Graph models for the untyped λ-calculus Kelley van Evert July 5, 2013 Graph models for the untyped λ-calculus July 5, 2013 Deze presentatie − Onderwerp & vorm van mijn scriptie, persoonlijk motivatie. − Motivatie, context & geschiedenis, modellen en theorieën van de λ-calculus, centrale vragen, resultaten, misschien nog wat keiharde wiskunde. Kelley van Evert 2/11 Graph models for the untyped λ-calculus July 5, 2013 Vorm scriptie & persoonlijke motivatie − Wiskunde, literatuurstudie, een aantal papers begrijpen & vergelijken. − Twee distincte onderzoekjes rondom één soort wiskundig object (namelijk graph models): ⑴ Minimale graph theory; ⑵ Extensionele “graph-like” modellen. Kelley van Evert 3/11 Graph models for the untyped λ-calculus July 5, 2013 Vorm scriptie & persoonlijke motivatie − Wiskunde, literatuurstudie, een aantal papers begrijpen & vergelijken. − Twee distincte onderzoekjes rondom één soort wiskundig object (namelijk graph models): ⑴ Minimale graph theory; ⑵ Extensionele “graph-like” modellen. − λ-calculus is erg mooi (Semantiek & Correctheid) − Pragmatisch doel: ratio Kelley van Evert symbolen . ≥ , zeg, 50% 3/11 Graph models for the untyped λ-calculus July 5, 2013 Motivatie − λ-calculus is een theorie van? (functies, berekenbaarheid, …) Kelley van Evert 4/11 Graph models for the untyped λ-calculus July 5, 2013 Motivatie − λ-calculus is een theorie van? (functies, berekenbaarheid, …) − Een wiskundig model van de λ-calculus: interpreteren van termen naar “echte dingen”, wiskundige objecten Kelley van Evert 4/11 Graph models for the untyped λ-calculus July 5, 2013 Motivatie − λ-calculus is een theorie van? (functies, berekenbaarheid, …) − Een wiskundig model van de λ-calculus: interpreteren van termen naar “echte dingen”, wiskundige objecten (denk aan hoe we in S&C programmeertalen interpreteerden) Kelley van Evert 4/11 Graph models for the untyped λ-calculus July 5, 2013 Motivatie − λ-calculus is een theorie van? (functies, berekenbaarheid, …) − Een wiskundig model van de λ-calculus: interpreteren van termen naar “echte dingen”, wiskundige objecten (denk aan hoe we in S&C programmeertalen interpreteerden) − Heel veel modellen! Kelley van Evert 4/11 Graph models for the untyped λ-calculus July 5, 2013 Motivatie − λ-calculus is een theorie van? (functies, berekenbaarheid, …) − Een wiskundig model van de λ-calculus: interpreteren van termen naar “echte dingen”, wiskundige objecten (denk aan hoe we in S&C programmeertalen interpreteerden) − Heel veel modellen! (maar het duurde eerst wel een tijdje) Kelley van Evert 4/11 Graph models for the untyped λ-calculus July 5, 2013 Kort historisch overzichtje …in order to decrease the possible impression that we are doing zoology. (Berline) Kelley van Evert 5/11 Graph models for the untyped λ-calculus July 5, 2013 Kort historisch overzichtje …in order to decrease the possible impression that we are doing zoology. (Berline) Church 1936: λ-calculus Scott 1969: model D∞ Kelley van Evert 5/11 Graph models for the untyped λ-calculus July 5, 2013 Kort historisch overzichtje …in order to decrease the possible impression that we are doing zoology. (Berline) Church 1936: λ-calculus Scott 1969: model D∞ Scott / Plotkin 1970s: model Pω (“the” graph model) Kelley van Evert 5/11 Graph models for the untyped λ-calculus July 5, 2013 Kort historisch overzichtje …in order to decrease the possible impression that we are doing zoology. (Berline) Church 1936: λ-calculus Scott 1969: model D∞ Scott / Plotkin 1970s: model Pω (“the” graph model) Engeler 1981: model DA (ook een graph model) … Kelley van Evert 5/11 Graph models for the untyped λ-calculus July 5, 2013 Kort historisch overzichtje …in order to decrease the possible impression that we are doing zoology. (Berline) Church 1936: λ-calculus Scott 1969: model D∞ Scott / Plotkin 1970s: model Pω (“the” graph model) Plotkin 1972: model T∗C (Plotkin’s soort van graph model) Engeler 1981: model DA (ook een graph model) … Kelley van Evert 5/11 Graph models for the untyped λ-calculus July 5, 2013 Kort historisch overzichtje …in order to decrease the possible impression that we are doing zoology. (Berline) Church 1936: λ-calculus Scott 1969: model D∞ Scott / Plotkin 1970s: model Pω (“the” graph model) Plotkin 1972: model T∗C (Plotkin’s soort van graph model) Engeler 1981: model DA (ook een graph model) … Berline 2000: “webbed models” Kelley van Evert 5/11 Graph models for the untyped λ-calculus July 5, 2013 Wat is nu een model? − Interpreteert syntax − Geeft een betekenis aan syntactische constructies (Wat is applicatie/abstractie? Wat is een term überhaupt?) Kelley van Evert 6/11 Graph models for the untyped λ-calculus July 5, 2013 Wat is nu een model? − Interpreteert syntax − Geeft een betekenis aan syntactische constructies (Wat is applicatie/abstractie? Wat is een term überhaupt?) − Belangrijk obstakel voor functie interpretatie is dat er geen onderscheid is tussen functie en argument. Dit is natuurlijk juist de speerpunt van computers (remember III, compilers enz…) Kelley van Evert 6/11 Graph models for the untyped λ-calculus July 5, 2013 Wat is een theorie? − Welke termen zijn gelijk? − Al gezien (S&C): =β Kelley van Evert 7/11 Graph models for the untyped λ-calculus July 5, 2013 Wat is een theorie? − Welke termen zijn gelijk? − Al gezien (S&C): =β maar ook bijvoorbeeld: =βη − …en nog veel meer. Geïnspireerd door een visie op waar λ-calculus voor staat, of door een andere reductie strategie (bv. programmeertalen) Kelley van Evert 7/11 Graph models for the untyped λ-calculus July 5, 2013 Wat is een theorie? − Welke termen zijn gelijk? − Al gezien (S&C): =β maar ook bijvoorbeeld: =βη − …en nog veel meer. Geïnspireerd door een visie op waar λ-calculus voor staat, of door een andere reductie strategie (bv. programmeertalen) − Of: de theorie van een model, bv. − theorie van D∞ : extensioneel − theorie van DA or Pω : niet extensioneel, stelt wel alle “zinloze” termen aan elkaar gelijk. Kelley van Evert 7/11 Graph models for the untyped λ-calculus July 5, 2013 Vragen − Stel je hebt een klasse modellen, zoals bv. alle modellen in Scott’s continuous semantics, …en je bekijkt alle theorieën van al deze modellen, …wat voor theorieën zitten hier allemaal tussen? − =β ? =βη ? Een minimale theorie? Kelley van Evert H? (etc…) 8/11 Graph models for the untyped λ-calculus July 5, 2013 Vragen − Stel je hebt een klasse modellen, zoals bv. alle modellen in Scott’s continuous semantics, …en je bekijkt alle theorieën van al deze modellen, …wat voor theorieën zitten hier allemaal tussen? − =β ? =βη ? Een minimale theorie? H? (etc…) − Voor graph models: ⑴ géén extensionele modellen, ⑵ wél een minimale theorie, ⑶ maar helaas niet =β . Kelley van Evert 8/11 Graph models for the untyped λ-calculus July 5, 2013 Extensionele modellen − Extensionaliteit is een visie op termen (dingen die hetzelfde doen, zijn hetzelfde) − Ondanks dat graph models nooit extensioneel zijn, laten we ze toch maar extensioneel maken (definities aanpassen, of modellen behandelen). Kelley van Evert 9/11 Graph models for the untyped λ-calculus July 5, 2013 Extensionele modellen − Extensionaliteit is een visie op termen (dingen die hetzelfde doen, zijn hetzelfde) − Ondanks dat graph models nooit extensioneel zijn, laten we ze toch maar extensioneel maken (definities aanpassen, of modellen behandelen). Plotkin 1972: T∗C ⇝ T∗CE Kelley van Evert 9/11 Graph models for the untyped λ-calculus July 5, 2013 Extensionele modellen − Extensionaliteit is een visie op termen (dingen die hetzelfde doen, zijn hetzelfde) − Ondanks dat graph models nooit extensioneel zijn, laten we ze toch maar extensioneel maken (definities aanpassen, of modellen behandelen). Plotkin 1972: T∗C ⇝ T∗CE ? Bethke 1986 … Hoofman/Schellinx 1991: (willekeurig) graph model D ⇝ (D/≡) Kelley van Evert 9/11 Graph models for the untyped λ-calculus July 5, 2013 Extensionele modellen − Extensionaliteit is een visie op termen (dingen die hetzelfde doen, zijn hetzelfde) − Ondanks dat graph models nooit extensioneel zijn, laten we ze toch maar extensioneel maken (definities aanpassen, of modellen behandelen). Plotkin 1972: T∗C ⇝ T∗CE ? Bethke 1986 … Hoofman/Schellinx 1991: (willekeurig) graph model D ⇝ (D/≡) Krivine 1990 … Berline 2000: K-models Kelley van Evert 9/11 Graph models for the untyped λ-calculus July 5, 2013 Extensionele modellen − Extensionaliteit is een visie op termen (dingen die hetzelfde doen, zijn hetzelfde) − Ondanks dat graph models nooit extensioneel zijn, laten we ze toch maar extensioneel maken (definities aanpassen, of modellen behandelen). Plotkin 1972: T∗C ⇝ T∗CE ? Bethke 1986 … Hoofman/Schellinx 1991: (willekeurig) graph model D ⇝ (D/≡) Krivine 1990 … Berline 2000: K-models − Ik heb laten zien: T∗CE ≊ (D/≡) Kelley van Evert 9/11 Graph models for the untyped λ-calculus July 5, 2013 Extensionele modellen − Extensionaliteit is een visie op termen (dingen die hetzelfde doen, zijn hetzelfde) − Ondanks dat graph models nooit extensioneel zijn, laten we ze toch maar extensioneel maken (definities aanpassen, of modellen behandelen). Plotkin 1972: T∗C ⇝ T∗CE ? Bethke 1986 … Hoofman/Schellinx 1991: (willekeurig) graph model D ⇝ (D/≡) Krivine 1990 … Berline 2000: K-models − Ik heb laten zien: T∗CE ≊ (D/≡) . . . ≊ K-models Kelley van Evert 9/11 Graph models for the untyped λ-calculus July 5, 2013 Wiskunde? − Model is lastig, want in de λ-calculus is er geen onderscheid functie/argument. Stel X is een model. Betekent dit nu dat X ∼ X X ⁈ Kelley van Evert 10/11 Graph models for the untyped λ-calculus July 5, 2013 Wiskunde? − Model is lastig, want in de λ-calculus is er geen onderscheid functie/argument. Stel X is een model. Betekent dit nu dat X ∼ X X ⁈ − Scott: nee, X ∼ [X → X ] (waarbij X een “reflexive” CPO) Hoe vinden we zo’n X ? Lees: hoe encoderen we een continue functie f als een element x ∈ X ? Kelley van Evert 10/11 Graph models for the untyped λ-calculus July 5, 2013 Wiskunde? − Model is lastig, want in de λ-calculus is er geen onderscheid functie/argument. Stel X is een model. Betekent dit nu dat X ∼ X X ⁈ − Scott: nee, X ∼ [X → X ] (waarbij X een “reflexive” CPO) Hoe vinden we zo’n X ? Lees: hoe encoderen we een continue functie f als een element x ∈ X ? − Graph models: voor een verzameling B, neem X = PB , en gebruik continuiteit van f om te encoderen als verzameling eindige fragmenten van grafiek: bf ⊆ B<ω × B. Kelley van Evert 10/11 Graph models for the untyped λ-calculus July 5, 2013 Wiskunde? − Model is lastig, want in de λ-calculus is er geen onderscheid functie/argument. Stel X is een model. Betekent dit nu dat X ∼ X X ⁈ − Scott: nee, X ∼ [X → X ] (waarbij X een “reflexive” CPO) Hoe vinden we zo’n X ? Lees: hoe encoderen we een continue functie f als een element x ∈ X ? :) − Graph models: voor een verzameling B, neem X = PB , en gebruik continuiteit van f om te encoderen als verzameling eindige fragmenten van grafiek: bf ⊆ B<ω × B. Gegeven dat B<ω × B ≺ B, hebben we nu bf “∈” X. Kelley van Evert 10/11 Graph models for the untyped λ-calculus July 5, 2013 Vragen? Kelley van Evert 11/11