Towards an Interactive Mathematical Proof (original) (raw)
Related papers
2015
Interactive theorem proving is a technology of fundamental importance for mathematics and computer science. It is based on expressive logical foundations and implemented in a highly trustable way. Applications include very large mathematical proofs and semi-automated verifications of complex soft-and hardware systems. The architecture of contemporary interactive provers such as Coq, Isabelle, or the HOL family goes back to the influential LCF system from 1979, which has pioneered key principles like correctness by construction for primitive inferences and definitions, free programmability in userspace via SML, and toplevel command interaction. The Isabelle System developed into one of the top 5 systems for the logically consistent development of formal theories. In particular the instance of the Isabelle system with higher-order logic called Isabelle/HOL is therefore a natural choice as a formal methods tool as required by the Common Criteria on the higher assurance levels EAL5 to EAL7. The purpose of this paper is to give a brief introduction into the system, an overview over the methodology and its tool support, and high-level mandatory guidelines for evaluators of certifications using Isabelle. This paper is intended to be a complement of a similar text by French certification authorities [Jae08].
Towards an Interactive Mathematical Proof Mode
Applied Logic Series, 2003
Formalizing mathematical proofs has as aim to represent arbitrary mathematical notions and proofs on a computer in order to construct a database of certified results useful to learn and develop the subject. At present it is mathematically not appealing to construct formal proofs. To make formalzing more mathematician-friendly one should have a good interface for proofs, definitions and computations. The proof-assistant Mizar does have a good interface for proofs, but not for making computations. Other assistants, like Coq based on type theory, does have a good interface for computations, but not for proofs. This paper sketches ways in which proofs are represented in a mathematical way. Although the underlying formalized statements come from the system Coq, this is not essential. Mainly the paper has as aim to convince implementers of mathematical assistants to make systems in such a way that formalizing proofs becomes natural. Much further developed is the work on Isar providing a mathematical proof language for the assistant Isabelle. The approach in this paper is to approximate a proof language by writing proof-sketches, a notion by Wiedijk, with the aim that they should eventually be verifiable by a proof-checker. Nederpelt [2002] has a different approach: there the emphasis is on the ease of providing formalizations of mathematical definitions.
Beginners’ Quest to Formalize Mathematics: A Feasibility Study in Isabelle
Lecture Notes in Computer Science, 2019
How difficult are interactive theorem provers to use? We respond by reviewing the formalization of Hilbert's tenth problem in Isabelle/HOL carried out by an undergraduate research group at Jacobs University Bremen. We argue that, as demonstrated by our example, proof assistants are feasible for beginners to formalize mathematics. With the aim to make the field more accessible, we also survey hurdles that arise when learning an interactive theorem prover. Broadly, we advocate for an increased adoption of interactive theorem provers in mathematical research and curricula.
A Generic Wiki for formal mathematics: Document-oriented abstraction
cs.ru.nl
Creating a generic Wiki for formal mathematics (supported by a theorem prover) is complicated by the diversity of the ways the systems interact with the material, and the difference in expectations of the users of such a Wiki. Instead of focusing purely on the functionality provided by the theorem provers, we approach the problem from two sides: abstracting over the functionality common to the theorem provers, and identifying the requirements for users. These two sides meet at their interface point: a proof document. In this paper we identify the properties of a proof document, which should not be seen as a file, but as the collection of functionalities that enable the interaction through a Wiki between a user and a proof assistant. An initial prototype along these lines has been implemented for the Coq theorem prover, and then extended to support Isabelle without having to change either the document design or the layers using it. This generic approach seems promising: we claim that the Mizar theorem prover can be included with relatively little effort.
Isabelle: the next 700 theorem provers
The theorem prover Isabelle is described briefly and informally. Its historical development is traced from Edinburgh LCF to the present day. The main issues are unification, quantifiers, and the representation of inference rules. The Edinburgh Logical Framework is also described, for a comparison with Isabelle. An appendix presents several Isabelle logics, including set theory and Constructive Type Theory, with examples of theorems.
Taclets: A new paradigm for constructing interactive theorem provers
2004
Frameworks for interactive theorem proving give the user explicit control over the construction of proofs based on meta languages that contain dedicated control structures for describing proof construction. Such languages are not easy to master and thus contribute to the already long list of skills required by prospective users of interactive theorem provers. Most users, however, only need a convenient formalism that allows to introduce new rules with minimal overhead. On the the other hand, rules of calculi have not only purely logical content, but contain restrictions on the expected context of rule applications and heuristic information. We suggest a new and minimalist concept for implementing interactive theorem provers called taclet. Their usage can be mastered in a matter of hours, and they are efficiently compiled into the GUI of a prover. We implemented the KeY system, an interactive theorem prover for the full JAVA CARD language based on taclets.
Beyond Linear Arithmetic: Automatic Proof Procedures for the Reals
2005
Lawrence C. Paulson is Professor of Computational Logic at the University of Cambridge, where he has held established posts since 1983. Paulson's early work on LCF contributed much (both code and concepts) to HOL. Paulson introduced Isabelle in 1986 and has been building upon it ever since. Isabelle is a generic proof tool that supports higher-order logic (HOL), Zermelo-Fraenkel set theory (ZF) and other formalisms. Isabelle is widely used in research. Many developments are due to Prof.