We formulated an infinitary rewriting semantics for type systems with higher-order inductive and coinductive types. In other words, we devised a programming formalism in which programs manipulating infinite objects may be written, and we provided a semantic infinitary rewriting interpretation for this formalism. The interpretation provides a natural and easy to understand correctness criterion which generalises the notion of productivity from term rewriting theory. We proved that well-typed programs in our system are correct in this sense. We devised practical algorithms to check the well-typedness of the programs and to infer minimal types.
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.