Objective
There has been a steady increase recently in research towards systems that can provide assistance with reasoning about a variety of problems. Examples of such systems include operational semantics, lambda calculi, and verification systems for the development of hardware and software.
Such systems must provide a user-friendly, problem-specific environment for the development of formal proofs because they must be usable by programmers and hardware designers who are not experts in logic. A key objective of the research is to understand the relationships among these systems.
The overall aim of the LF Action was to design a proof development environment that is logic-independent, accepting a specification of the logic to be used and yielding a proof development environment for that logic.
Research on logical systems for formal reasoning as programming systems was undertaken. Various formal systems relevant to computer science were designed, investigated and implemented. The formal systems are all centred around typed lambda calculi. The results should provide the software writer with programming environments that facilitate certification of software.
APPROACH AND METHODS
The task of implementing a proof development environment for a given logic is at first sight discouraging, and there is considerable duplication between implementations of different logics. The task can be eased, however, by developing a unifying theory of formal systems.
The "logical framework" is just such a unifying theory: it provides a concise notation and calculus for specifying logics, and will eliminate, to a large extent, the redundancy between implementations, so that systems for a variety of logics can be rapidly prototyped.
The participants experimented with various systems as frameworks in which to conduct formal proofs, including AUTOMATH-related type theories with variants of Church's higher-order logic, and a general system of operational semantics. The experience gainedin such endeavours is among the principal results of the collaboration.
Collaboration among the participants is enhanced by adopting one programming language in which most prototype software is written. This is ML, a functional programming language oriented toward symbolic computation.
PROGRESS AND RESULTS
It appears, on present evidence, that a basic component of a unifying framework is some form of typed lambda calculus. Furthermore, a common feature of implementations is their ability to provide the user with proof-search procedures. The progress made during the first year of the Action is fully reported in the proceedings of the First Workshop on Logical Frameworks, held at Antibes, France in May 1990 and which has now appeared as a book (see below).
The second workshop, held in May 1991 in Edinburgh, was noticeable for the high number of system implementations that were demonstrated. Major implementation efforts comprise LEGO at University of Edinburgh (Calculus of Extended Constructions), Isabelle at University of Cambridge, Coq at INRIA-Rocquencourt (Calculus of Inductive Constructions), and ALF at Gteborg University (Martin-Lf's framework). These four systems permit interactive developments of proofs with machine assistance. Coq contains a program extractor towards ML. The Paris VII group implemented an executable functional specification language PROPRE. The Sophia-Antipolis group uses CENTAUR to develop a generic interface to theorem provers.
POTENTIAL
In addition to scientific publications, the expected result is a demonstration of the feasibility and usefulness of "developing certified software-in-the-large".
Fields of science (EuroSciVoc)
CORDIS classifies projects with EuroSciVoc, a multilingual taxonomy of fields of science, through a semi-automatic process based on NLP techniques. See: The European Science Vocabulary.
CORDIS classifies projects with EuroSciVoc, a multilingual taxonomy of fields of science, through a semi-automatic process based on NLP techniques. See: The European Science Vocabulary.
You need to log in or register to use this function
Programme(s)
Multi-annual funding programmes that define the EU’s priorities for research and innovation.
Multi-annual funding programmes that define the EU’s priorities for research and innovation.
Topic(s)
Calls for proposals are divided into topics. A topic defines a specific subject or area for which applicants can submit proposals. The description of a topic comprises its specific scope and the expected impact of the funded project.
Data not available
Calls for proposals are divided into topics. A topic defines a specific subject or area for which applicants can submit proposals. The description of a topic comprises its specific scope and the expected impact of the funded project.
Call for proposal
Procedure for inviting applicants to submit project proposals, with the aim of receiving EU funding.
Data not available
Procedure for inviting applicants to submit project proposals, with the aim of receiving EU funding.
Funding Scheme
Funding scheme (or “Type of Action”) inside a programme with common features. It specifies: the scope of what is funded; the reimbursement rate; specific evaluation criteria to qualify for funding; and the use of simplified forms of costs like lump sums.
Funding scheme (or “Type of Action”) inside a programme with common features. It specifies: the scope of what is funded; the reimbursement rate; specific evaluation criteria to qualify for funding; and the use of simplified forms of costs like lump sums.
Data not available
Coordinator
78153 Le Chesnay
France
The total costs incurred by this organisation to participate in the project, including direct and indirect costs. This amount is a subset of the overall project budget.