PolyBar · A new approach to polymorphism through bar recursion
Horizon 2020 — Marie Skłodowska-Curie Actions
- Duration
- 2018-06-01 → 2020-05-31
- EU contribution
- €185,076
- Participants
- 1
- Scheme
- MSCA-IF
Lines connect the coordinator with its partners.
Results in brief
A new approach to polymorphism through bar recursion
"Some computer programs are blind to the kind of input they are given. The program taking an object ""a"" and returning the pair ""(a,a)"" is such an example: its code is the same regardless of whether ""a"" is an integer, a real number, a vector or even another program. A programming language is polymorphic if it allows the writting of such programs. The aim of the PolyBar project is to define and study a computational translation from a polymorphic programming language into a non-polymorphic language extended with the bar recursion operator: an operator implementing recursion over well-founded trees. The concepts underlying polymorphism and bar recursion being very different, this translation will allow the study of polymorphism with new tools coming from recursion theory. There exists connections involving the programming languages System F and System TBR and the mathematical theories Z2 and PA-AC: there is a curry-Howard correspondence between System F and Z2, a logical translation from Z2 to PA-AC, and a realizability interpretation of PA-AC into System TBR. The experienced researcher (ER) recently gave the first translation from System F to System TBR by composing these connections within a single framework. The PolyBar project aims at defining a direct computational translation from System F to System TBR, and exploiting it to give a new recursion-theoretic proof of termination of System F and unveil a connection between impredicativity and Zorn's lemma. The PolyBar project gives new insights on polymorphic programming, paving the way for new tools for producing safer software. Proving properties about polymorphic programs is a particularly difficult task. Conversely, simply-typed programming languages often enjoy properties that allows for more straightforward proofs of correctness. This method is more flexible and direct than that of reducibility candidates and properties about simply-typed programs are often easier to obtain than in the polymorphic case. The PolyBar project allows the extension of combinatorial techniques used in simply-typed languages to the polymorphic world. This will bring a new range of techniques for proving properties about polymorphic programs and promote the use of polymorphic languages in environments where safety is important. Formal proofs of computer software often require that the programmer works in a constrained programming language, ruling out polymorphism. The PolyBar project improves the state-of-the-art by extending the use of well-known proof techniques to polymorphic programming languages: computer programmers will be able to use the sophisticated features of polymorphism and still prove correctness properties on their programs."
Data: CORDIS, © European Union
Project objective
Parametric polymorphism is an ubiquitous paradigm in programming. It permits writing generic algorithms that can be usedon several datatypes, thus reducing the duplication of code and producing safer software. System F is a very simplepolymorphic programming language suited to the theoretical study of polymorphism. From the point of view of mathematicallogic, System F corresponds to the theory of second-order Peano arithmetic (PA2), which in turn is a sub-theory of first-orderPeano arithmetic with the axiom of countable choice (PA-AC). On the other hand, PA-AC can be computationally interpretedusing the non-polymorphic programming language System T extended with the bar recursion operator (System TBR).The PolyBar project will turn the logical translation of PA2 to PA-AC into a computational translation from System F toSystem TBR. This translation will improve the state-of-the-art by extending the use of well-known proof techniques to polymorphic programming languages and promote the use of these languages in environments where safety is important, like medical software or autonomous car systems. Computer programmers will be able to use the sophisticated features of polymorphism and still prove correctness properties on their programs.The PolyBar project will be carried out by the experienced researcher who worked during his PhD thesis on computationalinterpretations of PA-AC using System TBR, and recently gave the first connections with PA2 and System F. Theexperienced researcher will collaborate with a supervisor who has a strong background in type theories (including System F)and in correspondences between various mathematical theories and programming languages. Working in France, whereSystem F was discovered and is still a subject of intense research by many experts in the field, the experienced researcherwill make the beneficiary benefit from his experience in the UK, which has a strong community on recursion theory and denotational semantics.
Original text from CORDIS.
Participants
- UNIVERSITE PARIS CITE · ParisCoordinatorFrance
Links
- View on CORDIS
- DOI: 10.3030/799557
- https://arquivo.pt/wayback/20200313093710/https://valentinblot.org/pro/
Data: CORDIS, © European Union
