Periodic Reporting for period 1 - InfTy (Infinitary Rewriting for Type Systems)
Periodo di rendicontazione: 2016-08-01 al 2018-07-31
The objective of InfTy is to devise mathematical methods for reasoning about programs manipulating infinite objects, developing compositional typed formalisms and integrating them with infinitary rewriting techniques. Our methods are compositional and applicable to higher-order programs, while still adopting the operational perspective of rewriting. We devise an infinitary rewriting interpretation of coinductive types, i.e. of types of infinite objects. We thus provide a simple theory for type systems with infinite objects and unify previous type-based and rewriting-based work on productivity. We develop algorithms to check correctness of programs manipulating infinite objects.
Recently, a coinductive approach to infinitary rewriting has been proposed by Endrullis et al., and coinductive proofs for some results in infinitary rewriting have been developed. The coinductive approach simplifies investigations in infinitary rewriting and thus it is our chosen methodology. This approach, which we further develop, is by itself of high interest.
On a technical side, we further developed the coinductive proof methodology for infinitary rewriting. We formalised some results in infinitary lambda-calculus, clarifying their coinductive foundations. Our work on the formalisation and further development of coinductive foundations of infinitary rewriting also led to advances in automation in proof assistants and to a solution of a long-standing open problem in the field of term rewriting.
The results of the project have been disseminated through open-access journal publications (two publications currently under review for Logical Methods in Computer Science, one accepted to LIPIcs, vol. 97, open postproceedings of TYPES 2016), through conference publications (two publications at Formal Structures for Computation and Deduction, one at the Conference on Intelligent Computer Mathematics), invited talks (invited talk at the EUTYPES 2018 meeting, keynote address at the CoqPL 2018 workshop), and research visits.
In order to clarify and further develop the coinductive proof methodology we formalised some results in the Coq proof assistant, including a formalisation of the confluence of infinitary lambda-calculus. This is the largest formalisation of results in infinitary lambda-calculus carried out so far. The automation techniques developed as part of the formalisation process are of interest to a broader community. In particular, they are of high interest to the programming languages community, as evidenced by a keynote address at the Coq for Programming Languages (CoqPL) 2018 workshop.
Our work on confluence also led to a formal solution of a long-standing problem in the field of term rewriting.