Use this URL to cite or link to this record in EThOS:
Title: In search of effectful dependent types
Author: Vákár, Matthijs
Awarding Body: University of Oxford
Current Institution: University of Oxford
Date of Award: 2017
Availability of Full Text:
Access from EThOS:
Full text unavailable from EThOS. Please try the link below.
Access from Institution:
Real world programming languages crucially depend on the availability of computational effects to achieve programming convenience and expressive power as well as program efficiency. Logical frameworks rely on predicates, or dependent types, to express detailed logical properties about entities. According to the Curry-Howard correspondence, programming languages and logical frameworks should be very closely related. However, a language that has both good support for real programming and serious proving is still missing from the programming languages zoo. We believe this is due to a fundamental lack of understanding of how dependent types should interact with computational effects. In this thesis, we make a contribution towards such an understanding, with a focus on semantic methods. Our first line of work concerns a dependently typed version of linear logic (which can be seen as a calculus for commutative effects). We develop a dependently typed dual intuitionistic linear logic as well as a sound and complete categorical semantics using certain indexed monoidal categories satisfying a comprehension axiom. We present a range of models, based on monoidal families, commutative effects, a double gluing construction, domains and strict functions and coherence spaces. Our second line of work develops a game semantics for dependent type theory, which had so far been missing altogether. We show that, if we work with deterministic well-bracketed history-free winning strategies, the semantics satisfies a full and faithful completeness result with respect to call-by-name dependent type theory for a hierarchy of types built from certain finite inductive families. We show that by relaxing the notion of strategy, we can further model various effects rather than the pure type theory. Our final line of work explores a generalisation of Levy's call-by-push-value (CBPV) to encompass dependent types. We show that the syntax of CBPV naturally extends to a calculus we call dCBPV- in which types are allowed to depend on values but not computations. We show it has an elegant categorical semantics and a well-behaved operational semantics and that it admits a wide range of models arising from indexed monads on models of pure dependent type theory and from models of linear dependent type theory. By contrast with the simply typed situation, however, it does not suffice to encode call-by-value and call-by-name versions of dependent type theories with unrestricted effects. To obtain those, we need a richer calculus dCBPV+ with a Kleisli extension principle for dependent functions, which turns out to be less well-behaved from a semantic point of view.
Supervisor: Abramsky, Samson Sponsor: Clarendon Fund ; EPSRC
Qualification Name: Thesis (Ph.D.) Qualification Level: Doctoral
EThOS ID:  DOI: Not available