<<

A NEW TYPE OF WITHIN

COST is supported by the EU Framework Programme Horizon 2020 HTTPS://EUTYPES.CS.RU.NL/ A new type of theory within computer science

The EUTypes COST Action has been established with a view to develop understanding of type theory. This highly collaborative project includes researchers from 27 countries, and will ultimately lead to the development of improved computer systems and a robust methodology to reduce errors in software and hardware and in mathematical proofs

In both computer science and computer from 27 different countries. Groups (WGs). By managing the work in programming, a ‘type’ is a specific With the project now into its second year, this way, two main purposes are served. classification of data which explains to the participants work with the Firstly, the main streams of efforts in the the how the programmer of ‘type’ as the fundamental concept of field are reflected; and second, the results intends to use the data. The importance of computational thinking. Geuvers explains: of each contributor’s studies are activated. types is shown by the fact that almost all ‘Whenever we distinguish cats from dogs, programming languages include a notion or natural numbers from integers, we The community involved in the project of them. Indeed, a type defines a formal deal with types. It is sort of obvious that is strong in theoretical investigations, interface between software components mistaking elements of one type with another so WG1 focuses on foundations and and, in doing so, allows their connections may lead to undesirable consequences.’ theory, with many of the activities to be automatically verified. Thus, both the concentrated on the study of robustness and reliability of computations For example, if a negative number is between contemporary and and communications are greatly enhanced. allowed to form part of a computer program (expressed in terms of theory). in which positive numbers were essential, ‘Since Vladimir Voevodsky introduced As technology has advanced, type systems such as in computing the age of a living , researchers have have rapidly evolved, becoming increasingly human , a problem is likely to result come to understand that type theory is able to capture new aspects of the as humans only ever get older. Such the ideal language to express notions behaviour of computer programs, like incompatibility presents a real problem in from the abstract mathematical field of or memory consumption, and side effects. computer science and indeed in homotopy theory, and that type theory Alongside this more practical comes world too, which it often seeks to represent: provides the ideal language to reason the foundational study of type theory itself, ‘There are many examples of computer about in a more flexible, which is the study of how types interact malfunctions that were caused by a lack of yet very precise way,’ Geuvers says. It is with one another, and how they can be systematic control over types of acceptable exciting to see how and concepts organised into a consistent system of numbers,’ Geuvers notes. ‘For instance, from homotopy type theory feed back into constructing objects and reasoning about the spectacular explosion of the maiden type theory as a language for programs them. A development of type theory will, flight of Ariane 5 in 1996 was caused by a and proofs. This has already resulted in therefore, enable an improved computer mismatch between the types of numbers the important concept of `higher inductive manipulation of . that were used by different components types’. In the coming years we will see of the control system.’ Such errors occur better how this crossfertilization can THE NEED FOR IMPROVED SYSTEMS because of insufficient type checks. This result in improved programming and In response to these developments, a is one simple example where types would verification techniques. ‘The interaction COST Action has been established to have helped. Type theory is a field which with geometry will be more fruitful accentuate research into type theory and constantly seeks to invent new systems when there are good computer tools its many applications in computer science. that can prevent more subtle errors, so the that help in the development of formal Chaired by Professor Herman Geuvers potential applications for the findings of the mathematics,’ explains Geuvers. ‘This is of Radboud University Nijmegen in the project are vast. where WG2 comes in – it is focused on Netherlands, the highly collaborative, the development of type-based computer four-year ‘European research network on INTERDISCIPLINARY WORKING GROUPS tools.’ Such tools are an important means types for programming and verification’ In order to achieve the aims of EUTypes, the of demonstrating the strength of the (EUTypes) project involves participation action has been organised into four Working network’s approach to the outside world. For me personally, the biggest result of the past few months Project Insights has been the development and further understanding of a FUNDING computation rule that reflects one of the most important EU Framework Programme Horizon geometrical to cover in this area, namely, the 2020 COST Action CA15123 PARTICIPANT COUNTRIES behind the univalence Austria • Belgium • Bosnia and Herzegovina • Czech Republic • Denmark • Estonia • Finland • France • FYR Macedonia • Germany • Greece Groups WG3 and WG4 are centred on numbers obtained by adding one several • Hungary • Ireland • Israel • Italy • programming languages and software to zero, but are also defined as all Lithuania • Netherlands • Norway • verification. They deal with methods for numbers represented in decimal notation. Poland • Portugal • Romania • Serbia • the development of dependable software Slovenia • Spain • Sweden • Switzerland • systems, albeit from two different Throughout the course of the COST Action, United Kingdom directions. WG3: Types for Programming the researchers will employ innovative CONTACT focuses on the development of stronger methods in order to conduct their Herman Geuvers type systems and type-based programming investigations. Importantly, Geuvers and Action Chair methodologies that will guarantee the his colleagues try to formulate all of their absence of more and more complicated theoretical works by using a . T: +31 243652603 programming errors (thereby directing This ensures the results they obtain are far E: [email protected] the programmer in writing the correct more reliable, and practically eliminates W: https://eutypes.cs.ru.nl/ programs); WG4: Types for Verification, the possibility of human error. In addition, ACTION CHAIR BIO meanwhile, focuses on making the process this method enables the team to work Professor Herman Geuvers is a Professor of expression and proof easier and on complex theoretical models that are of Computer Science (Theoretical less time-consuming. So, while WG3 and far bigger than any other time in history. Computer Science) in the Software WG4 are methodologically different, both ‘Formally verifying your mathematical Science Section of the Institute for serve to complement one another. results is an innovation that can slowly Computing and Science be seen spreading throughout the field,’ (ICIS) of Radboud University Nijmegen in the Netherlands, and head of the THE PRESENT BODES WELL says Geuvers. ‘Proof assistant tools are Foundations group within this Section. FOR THE FUTURE improving and the acceptance of this Since 2015 he has been the Research Despite the fact that the project is only a technology is growing. I believe this is a Director of ICIS. Geuvers was previously quarter of the way through it has already technological revolution and we will see its the Director of Education for the produced some exciting results. ‘For me benefits in the near future.’ If the first year ICIS curricula at Radboud University personally, the biggest result of the past of EUTypes and the results that have been Nijmegen. He is also the Chair of the few months has been the development and obtained so far are anything to go by, the Types Steering Committee, responsible for organising the annual Types further understanding of a computation future might be nearer than we think. Conference. rule that reflects one of the most important geometrical principles to cover in this area,’ says Geuvers. ‘Namely, the principle behind the univalence axiom.’ In lay terms,

COST is supported by the EU Framework this principle states that types of the same Programme Horizon 2020 structure, such as isomorphic types, should be considered equal. While this can be thought of a natural conclusion to draw, it is actually rather difficult to frame, as two COST (European Cooperation in Science and types with the same structure can have Technology) is a pan-European intergovernmental framework. Its mission is to enable break-through considerably different descriptions. Perhaps scientific and technological developments leading to this is best shown through the fact that new concepts and products and thereby contribute to strengthening Europe’s research and innovation natural numbers can be thought of as all Proof checking in a proof assistant capacities. www.cost.eu Impact Objectives

• Promote the synergy between theoretical computer scientists, logicians and mathematicians to develop for type theory

• Support the joint development of type theoretic tools as proof assistants and integrated programming environments

• Foster the study of dependent types for programming and its deployment in

• Support the study of dependent types for verification and its deployment in software analysis and verification Improving techniques, methods and tools of automatic verification Professor Herman Geuvers is leading a project that seeks to provide a strong impetus to research on type theory. Here, he discusses the importance of the research involved, the benefits of collaboration and some of the challenges that have been faced in the project

You are the Chair theory and its many applications in is key to the success of this research in the of the COST Action computer science. long . ‘European research network on types In what ways does collaboration play an Who will benefit from this research? for programming important role in the success of and verification’ the network? The work in the project will not have an (EUTypes). Can you immediate impact on society, but we do talk a little about what you hope will Because of the sheer size of the problems expect that it will improve the way computer be achieved? involved, all of the research questions programs are written. In particular, require a joint effort. In addition, the open programs will be more robust and more The network wants to bring European network will generate new original insights secure. We have already seen that with past researchers in type theory together to and fresh ideas. A result in the form of a tool efforts of our community in the CompCert develop and use expressive type systems that actually helps in the development of C- and the seL4 as a basis for improved programming more dependable programs is a complicated – both systems fully verified using tools that techniques and for methods and tools to artefact, and is also a long-term enterprise emerged from studies on type theory. This implement computer artefacts and verify to develop it. It is far too complicated to means that these systems are free from them. Types are pervasive in programming conduct within one research team. programming errors. More achievements and information technology. A type defines of this will be possible with the a formal interface between software While large companies, such as Microsoft, help of tools and methods developed by components, allowing the automatic Google and Facebook can afford to invest in members of the EUTypes community. Also, verification of their connections, and greatly type theoretic research and develop proof the verification of mathematical proofs enhancing the robustness and reliability of assistant tools, it is a far too long-term will be enhanced considerably using the computations and communications. project for them to actually go through with proof assistant tools that are developed it. In the types community various proof by researchers in the project. We have Type systems have rapidly evolved over the assistant tools have been developed in the already seen some impressive examples of past years, becoming more sophisticated, past, and a range of new ideas have been that in the recent past: the formalisation capturing new aspects of the behaviour invented, tested and incorporated into of the proof of the four-colour , of programs and the dynamics of their their systems. All of this has come about and the formally checked proof of the execution. This COST action will give through an open exchange of ideas and Kepler conjecture. a strong impetus to research on type implementations. This cooperative attitude