The aim of TYPES is to enhance the proof assistant systems ALF, Coq, Isabelle, Lego and PROPRE and produce libraries of theories in selected areas of mathematics and computer science. The structuring of these theories and questions of commonality for different proof systems will be topics for investigation, along with the foundations of proof systems, variants of type theory, and logical frameworks.
APPROACH AND METHODS
The Logical Frameworks of LF action (3245) developed four general proof assistants and a more specialised system (Propre). Three of the proof assistants are based on type theory, the fourth, Isabelle, uses the idea of logical frameworks, and has been used to implement types calculi. The type theory systems use the "Propositions as Types" paradigm in the form of Martin-Loef Type Theory (ALF) or Calculus of Constructions (Coq, Lego). The design of such systems raises both basic questions and pragmatic ones concerning algorithms and implementation: for example, how to define inductive data types, what unification algorithms to use, how to delay the binding of "logical variable", and what is a good form of user interface.
Given such a system, TYPES will build basic theories for mathematical systems such as natural numbers, integers and reals, and sets, as well as for theories of more interest to computer scientists such as lists, trees, regular expressions and finite state machines. The project will also consider the appication of such proof assistants to the formal validation of software.
The consortium also intends to try out tools on specific computer science applications such as protocol verification, and on mathematical applications such as analysis.
The development of these proof assistants and associated bodies of formalised and machine checked theories in mathematics and computer science will enable the tackling of problems involved in the correctness proofs for software and hardware systems. They will also provide specification languages with clear formal semantics and machine support.
412 96 Goteborg
6500 HK Nijmegen
5656 AA Eindhoven
CB2 3RF Cambridge
EH8 9LW Edinburgh
M13 9PL Manchester