5 research outputs found
Matching concepts across HOL libraries
Many proof assistant libraries contain formalizations of the same
mathematical concepts. The concepts are often introduced (defined) in different
ways, but the properties that they have, and are in turn formalized, are the
same. For the basic concepts, like natural numbers, matching them between
libraries is often straightforward, because of mathematical naming conventions.
However, for more advanced concepts, finding similar formalizations in
different libraries is a non-trivial task even for an expert.
In this paper we investigate automatic discovery of similar concepts across
libraries of proof assistants. We propose an approach for normalizing
properties of concepts in formal libraries and a number of similarity measures.
We evaluate the approach on HOL based proof assistants HOL4, HOL Light and
Isabelle/HOL, discovering 398 pairs of isomorphic constants and types
Sharing HOL4 and HOL Light proof knowledge
New proof assistant developments often involve concepts similar to already
formalized ones. When proving their properties, a human can often take
inspiration from the existing formalized proofs available in other provers or
libraries. In this paper we propose and evaluate a number of methods, which
strengthen proof automation by learning from proof libraries of different
provers. Certain conjectures can be proved directly from the dependencies
induced by similar proofs in the other library. Even if exact correspondences
are not found, learning-reasoning systems can make use of the association
between proved theorems and their characteristics to predict the relevant
premises. Such external help can be further combined with internal advice. We
evaluate the proposed knowledge-sharing methods by reproving the HOL Light and
HOL4 standard libraries. The learning-reasoning system HOL(y)Hammer, whose
single best strategy could automatically find proofs for 30% of the HOL Light
problems, can prove 40% with the knowledge from HOL4
Structured Formal Development in Isabelle
General purpose theorem provers provide advanced facilities for proving properties about specifications, and may therefore be a valuable tool in formal program development. However, these provers generally lack many of the useful structuring mechanisms found in functional programming or specification languages. This paper presents a constructive approach to adding theory morphisms and parametrisation to theorem provers, while preserving the proof support and consistency of the prover. The approach is implemented in Isabelle and illustrated by examples of an algorithm design rule and of the modular development of computational effects for imperative language features based on monads
Nordic Journal of Computing 13(2006), 1–20. STRUCTURED FORMAL DEVELOPMENT IN ISABELLE
Abstract. General purpose theorem provers provide advanced facilities for proving properties about specifications, and may therefore be a valuable tool in formal program development. However, these provers generally lack many of the useful structuring mechanisms found in functional programming or specification languages. This paper presents a constructive approach to adding theory morphisms and parametrisation to theorem provers, while preserving the proof support and consistency of the prover. The approach is implemented in Isabelle and illustrated by examples of an algorithm design rule and of the modular development of computational effects for imperative language features based on monads