13 research outputs found
Isabelle/DOF. User and Implementation Manual
The software for which this is the manual is available via the DOI in this recordIsabelle/DOF provides an implementation of DOF on top of Isabelle/HOL. DOF itself is a
novel framework for defining ontologies and enforcing them during document development
and document evolution. Isabelle/DOF targets use-cases such as mathematical texts referring to a theory development or technical reports requiring a particular structure. A major
application of DOF is the integrated development of formal certification documents (e.g.,
for Common Criteria or CENELEC 50128) that require consistency across both formal and
informal arguments.
Isabelle/DOF is integrated into Isabelle’s IDE, which allows for smooth ontology development as well as immediate ontological feedback during the editing of a document. Its checking
facilities leverage the collaborative development of documents required to be consistent with
an underlying ontological structure.
In this user-manual, we give an in-depth presentation of the design concepts of DOF’s Ontology Definition Language (ODL) and describe comprehensively its major commands. Many
examples show typical best-practice applications of the system. Isabelle/DOF is the first ontology language supporting machine-checked links between the formal and informal parts in
an LCF-style interactive theorem proving environment.IRT System
Isabelle/SACM: Computer-Assisted Assurance Cases with Integrated Formal Methods
Assurance cases (ACs) are often required to certify critical systems. The use of integrated formal methods (FMs) in assurance can improve automation, increase confidence, and overcome errant reasoning. However, ACs can rarely be fully formalised, as the use of FMs is contingent on models that are validated by informal processes. Consequently, assurance techniques should support both formal and informal artifacts, with explicated inferential links between them. In this paper, we contribute a formal machine-checked interactive language for the computer-assisted construction of ACs called Isabelle/SACM. The framework guarantees well-formedness, consistency, and traceability of ACs, and allows a tight integration of formal and informal evidence of various provenance. To validate Isabelle/SACM, we present a novel formalisation of the Tokeneer benchmark, verify its security requirements, and form a mechanised AC that combines the resulting formal and informal artifacts
Integration of Formal Proof into Unified Assurance Cases with Isabelle/SACM
Assurance cases are often required to certify critical systems. The use of formal methods in assurance can improve automation, increase confidence, and overcome errant reasoning. However, assurance cases can never be fully formalised, as the use of formal methods is contingent on models that are validated by informal processes. Consequently, assurance techniques should support both formal and informal artifacts, with explicated inferential links between them. In this paper, we contribute a formal machine-checked interactive language, called Isabelle/SACM, supporting the computer-assisted construction of assurance cases compliant with the OMG Structured Assurance Case Meta-Model. The use of Isabelle/SACM guarantees well-formedness, consistency, and traceability of assurance cases, and allows a tight integration of formal and informal evidence of various provenance. In particular, Isabelle brings a diverse range of automated verification techniques that can provide evidence. To validate our approach, we present a substantial case study based on the Tokeneer secure entry system benchmark. We embed its functional specification into Isabelle, verify its security requirements, and form a modular security case in Isabelle/SACM that combines the heterogeneous artifacts. We thus show that Isabelle is a suitable platform for critical systems assurance
Recommended from our members
A Tool for Producing Verified, Explainable Proofs
Mathematicians are reluctant to use interactive theorem provers. In this thesis I argue that this is because proof assistants don't emphasise explanations of proofs; and that in order to produce good explanations, the system must create proofs in a manner that mimics how humans would create proofs. My research goals are to determine what constitutes a human-like proof and to represent human-like reasoning within an interactive theorem prover to create formalised, understandable proofs. Another goal is to produce a framework to visualise the goal states of this system.
To demonstrate this, I present HumanProof: a piece of software built for the Lean 3 theorem prover. It is used for interactively creating proofs that resemble how human mathematicians reason. The system provides a visual, hierarchical representation of the goal and a system for suggesting available inference rules. The system produces output in the form of both natural language and formal proof terms which are checked by Lean's kernel. This is made possible with the use of a structured goal state system which interfaces with Lean's tactic system which is detailed in Chapter 3.
In Chapter 4, I present the subtasks automation planning subsystem, which is used to produce equality proofs in a human-like fashion. The basic strategy of the subtasks system is break a given equality problem in to a hierarchy of tasks and then maintain a stack of these tasks in order to determine the order in which to apply equational rewriting moves. This process produces equality chains for simple problems without having to resort to brute force or specialised procedures such as normalisation. This makes proofs more human-like by breaking the problem into a hierarchical set of tasks in the same way that a human would.
To produce the interface for this software, I also created the ProofWidgets system for Lean 3. This system is detailed in Chapter 5. The ProofWidgets system uses Lean's metaprogramming framework to allow users to write their own interactive, web-based user interfaces to display within the VSCode editor and in an online web-editor. The entire tactic state is available to the rendering engine, and hence expression structure and types of subexpressions can be explored interactively. The ProofWidgets system also allows the user interface to interactively edit the proof document, enabling a truly interactive modality for creating proofs; human-like or not.
In Chapter 6, the system is evaluated by asking real mathematicians about the output of the system, and what it means for a proof to be understandable to them. The user group study asks participants to rank and comment on proofs created by HumanProof alongside natural language and pure Lean proofs. The study finds that participants generally prefer the HumanProof format over the Lean format. The verbal responses collected during the study indicate that providing intuition and signposting are the most important properties of a proof that aid understanding.EPSR
Capturing proof process
PhD ThesisProof automation is a common bottleneck for industrial adoption of formal methods.
Heuristic search techniques fail to discharge every proof obligation (PO), and
significant effort is spent on proving the remaining ones interactively. Luckily,
they usually fall into several proof families, where a single idea is required to discharge
all similar POs. However, interactive formal proof requires expertise and
is expensive: repeating the ideas over multiple proofs adds up to significant costs.
The AI4FM research project aims to alleviate the repetitive effort by “learning”
from an expert doing interactive proof. The expert’s proof attempts can give rise
to reusable strategies, which capture the ideas necessary to discharge similar POs.
Automatic replay of these strategies would complete the remaining proof tasks
within the same family, enabling the expert to focus on novel proof ideas.
This thesis presents an architecture to capture the expert’s proof ideas as a highlevel
proof process. Expert insight is not reflected in low-level proof scripts, therefore
a generic ProofProcess framework is developed to capture high-level proof information,
such as proof intent and important proof features of the proof steps taken.
The framework accommodates branching to represent the actual proof structure
as well as layers of abstraction to accommodate different granularities. The full
history of how the proof was discovered is recorded, including multiple attempts
to capture alternative, failed or unfinished versions.
A prototype implementation of the ProofProcess framework is available, including
integrations with Isabelle and Z/EVES theorem provers. Two case studies illustrate
how the ProofProcess systems are used to capture high-level proof processes
in examples from industrial-style formal developments. Reuse of the captured
information to discharge similar proofs within the examples is also explored.
The captured high-level information facilitates extraction of reusable proof
strategies. Furthermore, the data could be used for proof maintenance, training,
proof metrics, and other use cases
Automated Deduction – CADE 28
This open access book constitutes the proceeding of the 28th International Conference on Automated Deduction, CADE 28, held virtually in July 2021. The 29 full papers and 7 system descriptions presented together with 2 invited papers were carefully reviewed and selected from 76 submissions. CADE is the major forum for the presentation of research in all aspects of automated deduction, including foundations, applications, implementations, and practical experience. The papers are organized in the following topics: Logical foundations; theory and principles; implementation and application; ATP and AI; and system descriptions