Results 1  10
of
62
Automated reasoning in higherorder logic using the TPTP THF infrastructure
 J. of Formalized Reasoning
, 2010
"... Articulate Software The Thousands of Problems for Theorem Provers (TPTP) problem library is the basis of a well known and well established infrastructure that supports research, development, and deployment of Automated Theorem Proving (ATP) systems. The extension of the TPTP from firstorder form (F ..."
Abstract

Cited by 34 (14 self)
 Add to MetaCart
(Show Context)
Articulate Software The Thousands of Problems for Theorem Provers (TPTP) problem library is the basis of a well known and well established infrastructure that supports research, development, and deployment of Automated Theorem Proving (ATP) systems. The extension of the TPTP from firstorder form (FOF) logic to typed higherorder form (THF) logic has provided a basis for new development and application of ATP systems for higherorder logic. Key developments have been the specification of the THF language, the addition of higherorder problems to the TPTP, the development of the TPTP THF infrastructure, several ATP systems for higherorder logic, and the use of higherorder ATP in a range of domains. This paper surveys these developments. 1.
The Matita Interactive Theorem Prover
 Proceedings of the 23rd International Conference on Automated Deduction (CADE2011), volume 6803 of Lecture Notes in Computer Science
, 2011
"... Abstract. Matita is an interactive theorem prover being developed by the Helm team at the University of Bologna. Its stable version 0.5.x may be downloaded at http://matita.cs.unibo.it. The tool originated in the European project MoWGLI as a set of XMLbased tools aimed to provide a mathematicianf ..."
Abstract

Cited by 22 (10 self)
 Add to MetaCart
(Show Context)
Abstract. Matita is an interactive theorem prover being developed by the Helm team at the University of Bologna. Its stable version 0.5.x may be downloaded at http://matita.cs.unibo.it. The tool originated in the European project MoWGLI as a set of XMLbased tools aimed to provide a mathematicianfriendly webinterface to repositories of formal mathematical knoweldge, supporting advanced contentbased functionalities for querying, searching and browsing the library. It has since then evolved into a light but fully fledged ITP, particularly suited for the assessment of innovative ideas, both at foundational and logical level. In this paper, we give an account of the whole system, its peculiarities and its main applications.
Asynchronous Proof Processing with Isabelle/Scala and Isabelle/jEdit
 UITP 2010
, 2010
"... After several decades, most proof assistants are still centered around TTYbased interaction in a tight readevalprint loop. Even wellknown Emacs modes for such provers follow this synchronous model based on single commands with immediate response, meaning that the editor waits for the prover afte ..."
Abstract

Cited by 18 (7 self)
 Add to MetaCart
After several decades, most proof assistants are still centered around TTYbased interaction in a tight readevalprint loop. Even wellknown Emacs modes for such provers follow this synchronous model based on single commands with immediate response, meaning that the editor waits for the prover after each command. There have been some attempts to reimplement prover interfaces in big IDE frameworks, while keeping the old interaction model. Can we do better than that? Ten years ago, the Isabelle/Isar proof language already emphasized the idea of proof document (structured text) instead of proof script (sequence of commands), although the implementation was still emulating TTY interaction in order to be able to work with the then emerging Proof General interface. After some recent reworking of Isabelle internals, to support parallel processing of theories and proofs, the original idea of structured document processing has surfaced again. Isabelle versions from 2009 or later already provide some support for interactive proof documents with asynchronous checking, which awaits to be connected to a suitable editor framework or fullscale IDE. The remaining problem is how to do that systematically, without having to specify and implement complex protocols for prover interaction.
Isabelle as Documentoriented Proof Assistant
 CONFERENCE ON INTELLIGENT COMPUTER MATHEMATICS / MATHEMATICAL KNOWLEDGE MANAGEMENT (CICM/MKM 2011), LNAI 6824, SPRINGER. AVAILABLE AT HTTP://DX.DOI.ORG/10.1007/ 9783642226731_17. M. WENZEL 15
"... Proof assistants in the LCF tradition, such as Coq, Isabelle, and the HOL family, are notorious for oldfashioned commandline interaction with input and output of plain text. Established prover interfaces like Proof General merely add a thin layer on top of the readevalprint loop in the backgroun ..."
Abstract

Cited by 13 (8 self)
 Add to MetaCart
Proof assistants in the LCF tradition, such as Coq, Isabelle, and the HOL family, are notorious for oldfashioned commandline interaction with input and output of plain text. Established prover interfaces like Proof General merely add a thin layer on top of the readevalprint loop in the background. More sophisticated mathematical editors, Webservices, Wikiservers for mathematical content do exist, but any project that aims at fully formal proofchecking struggles with recurrent problems posed by ancient prover engines. Taking the perspective of Isabelle, we discuss common problems and solutions that have emerged in the past few years, to fit the prover smoothly into a documentoriented environment with rich semantic annotations for formal sources. For example, this enables a conventional editor framework to present formal content provided by the prover, without having to understand logic itself (or reimplement a prover). This can be achieved with minimal changes on the editor and prover side, but the combination is able to support the usual metaphors of squiggly underline, tooltips, popups etc. that are now commonplace in browsers or IDEs. Many of these documentoriented traits of current Isabelle are sufficiently general to be transferred to other provers. If such principles are becoming routinely available in LCFstyle provers, building combined mathematical assistants should become more feasible.
Type classes for efficient exact real arithmetic
 IN COQ. CORR ABS/1106.3448
, 2011
"... Floating point operations are fast, but require continuous effort by the user to ensure correctness. This burden can be shifted to the machine by providing a library of exact analysis in which the computer handles the error estimates. Previously, we provided a fast implementation of the exact real ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
(Show Context)
Floating point operations are fast, but require continuous effort by the user to ensure correctness. This burden can be shifted to the machine by providing a library of exact analysis in which the computer handles the error estimates. Previously, we provided a fast implementation of the exact real numbers in the Coq proof assistant. This implementation incorporates various optimizations to speed up the basic operations of O’Connor’s implementation by a 100 times. We implemented these optimizations in a modular way using type classes to define an abstract specification of the underlying dense set from which the real numbers are built. This abstraction does not hurt the efficiency. This article is a substantially expanded version of (Krebbers/Spitters, Calculemus 2011) in which the implementation is extended in the various ways. First, we implement and verify the sine and cosine function. Secondly, we create an additional implementation of the dense set based on Coq’s fast rational numbers. Thirdly, we extend the hierarchy to capture order on undecidable structures, while it was limited to decidable structures before. This hierarchy, based on type classes, allows us to share theory on the naturals, integers, rationals, dyadics, and reals in a convenient way. Finally, we obtain another dramatic speedup by avoiding evaluation of termination proofs at runtime.
A constructive and formal proof of Lebesgue's Dominated Convergence Theorem in the interactive theorem prover Matita
, 2008
"... We present a formalisation of a constructive proof of Lebesgue’s Dominated Convergence Theorem given by Sacerdoti Coen and Zoli in [SZ]. The proof is done in the abstract setting of ordered uniformities, also introduced by the two authors as a simplification of Weber’s lattice uniformities given in ..."
Abstract

Cited by 9 (4 self)
 Add to MetaCart
(Show Context)
We present a formalisation of a constructive proof of Lebesgue’s Dominated Convergence Theorem given by Sacerdoti Coen and Zoli in [SZ]. The proof is done in the abstract setting of ordered uniformities, also introduced by the two authors as a simplification of Weber’s lattice uniformities given in [Web91, Web93]. The proof is fully constructive, in the sense that it is done in Bishop’s style and, under certain assumptions, it is also fully predicative. The formalisation is done in the Calculus of (Co)Inductive Constructions using the interactive theorem prover Matita [ASTZ07]. It exploits some peculiar features of Matita and an advanced technique to represent algebraic hierarchies previously introduced by the authors in [ST07]. Moreover, we introduce a new technique to cope with duality to halve the formalisation effort.
A BIDIRECTIONAL REFINEMENT ALGORITHM FOR THE CALCULUS OF (CO)INDUCTIVE CONSTRUCTIONS
"... address: ..."
(Show Context)
READEVALPRINT in parallel and asynchronous proofchecking
 In: User Interfaces for Theorem Provers (UITP 2012). EPTCS (2013
"... The LCF tradition of interactive theorem proving, which was started by Milner in the 1970ies, appears to be tied to the classic READEVALPRINTLOOP of sequential and synchronous evaluation of prover commands. We break up this loop and retrofit the readevalprint phases into a model of parallel an ..."
Abstract

Cited by 8 (6 self)
 Add to MetaCart
(Show Context)
The LCF tradition of interactive theorem proving, which was started by Milner in the 1970ies, appears to be tied to the classic READEVALPRINTLOOP of sequential and synchronous evaluation of prover commands. We break up this loop and retrofit the readevalprint phases into a model of parallel and asynchronous proof processing. Thus we explain some key concepts behind the implementation of the Isabelle/Scala layer for prover interaction and integration, and the Isabelle/jEdit Prover IDE as frontend technology. We hope to open up the scientific discussion about nontrivial interaction models for ITP systems again, and help getting other oldschool proofassistants on a similar track.
A web interface for matita
 In Proceedings of Intelligent Computer Mathematics (CICM 2012
"... This article describes a prototype implementation of a web interface for the Matita proof assistant [2]. The motivations behind our work are similar to those of several recent, related efforts [7, 9, 1, 8] (see also [6]). In particular: 1. creation of a web collaborative working environment for inte ..."
Abstract

Cited by 7 (4 self)
 Add to MetaCart
(Show Context)
This article describes a prototype implementation of a web interface for the Matita proof assistant [2]. The motivations behind our work are similar to those of several recent, related efforts [7, 9, 1, 8] (see also [6]). In particular: 1. creation of a web collaborative working environment for interactive theorem proving, aimed at fostering knowledgeintensive cooperation, content creation and management; 2. exploitation of the markup in order to enrich the document with several kinds of annotations or active elements; annotations may have both a presentational/hypertextual nature, aimed to improve the quality of the proof script as a human readable document, or a more semantic nature, aimed to help the system in its processing (or reprocessing) of the script; 3. platform independence with respect to operating systems, and wider accessibility also for users using devices with limited resources; 4. overcoming the installation issues typical of interactive provers, also in view of attracting a wider audience, especially in the mathematical community.
Spurious disambiguation errors and how to get rid of them
 Journal of mathematics in computer science
, 2008
"... Abstract. The disambiguation approach to the input of formulae enables users of mathematical assistants to type correct formulae in a terse syntax close to the usual ambiguous mathematical notation. When it comes to incorrect formulae however, far too many typing errors are generated; among them we ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
(Show Context)
Abstract. The disambiguation approach to the input of formulae enables users of mathematical assistants to type correct formulae in a terse syntax close to the usual ambiguous mathematical notation. When it comes to incorrect formulae however, far too many typing errors are generated; among them we want to present only errors related to the formula interpretation meant by the user, hiding errors related to other interpretations. We study disambiguation errors and how to classify them into the spurious and genuine error classes. To this end we give a general presentation of the classes of disambiguation algorithms and efficient disambiguation algorithms. We also quantitatively assess the quality of the presented error classification criteria benchmarking them in the setting of a formal development of constructive algebra.