127 research outputs found
Formal proofs about rewriting using ACL2
We present an application of the ACL2 theorem prover to reason about rewrite systems
theory. We describe the formalization and representation aspects of our work using the firstorder,
quantifier-free logic of ACL2 and we sketch some of the main points of the proof effort.
First, we present a formalization of abstract reduction systems and then we show how this
abstraction can be instantiated to establish results about term rewriting. The main theorems
we mechanically proved are Newman’s lemma (for abstract reductions) and Knuth–Bendix
critical pair theorem (for term rewriting).Ministerio de Educación y Ciencia TIC2000-1368-CO3-0
Encapsulation for Practical Simplification Procedures
ACL2 was used to prove properties of two simplification procedures. The
procedures differ in complexity but solve the same programming problem that
arises in the context of a resolution/paramodulation theorem proving system.
Term rewriting is at the core of the two procedures, but details of the
rewriting procedure itself are irrelevant. The ACL2 encapsulate construct was
used to assert the existence of the rewriting function and to state some of its
properties. Termination, irreducibility, and soundness properties were
established for each procedure. The availability of the encapsulation mechanism
in ACL2 is considered essential to rapid and efficient verification of this
kind of algorithm.Comment: 6 page
A Theory About First-Order Terms in ACL2
We describe the development in ACL2 of a library of results about first-order
terms. In particular, we present the formalization of some of the main properties of the
complete lattice of first-order terms with respect to the subsumption relation. As a byproduct,
verified executable implementations are obtained for some basic operations on firstorder
terms, including matching, renaming, unification and anti-unification. This work can
be seen as a basis for further studies about the formal properties of automated reasoning
and symbolic computation systems.Ministerio de Ciencia y TecnologÃa TIC2000-1368-CO3-0
Verifying the bridge between simplicial topology and algebra: the Eilenberg–Zilber algorithm
The Eilenberg–Zilber algorithm is one of the central components of the computer algebra system called Kenzo, devoted to
computing in Algebraic Topology. In this article we report on a complete formal proof of the underlying Eilenberg–Zilber
theorem, using the ACL2 theorem prover. As our formalization is executable, we are able to compare the results of the
certified programme with those of Kenzo on some universal examples. Since the results coincide, the reliability of Kenzo is
reinforced. This is a new step in our long-term project towards certified programming for Algebraic Topology.Ministerio de Ciencia e Innovación MTM2009-13842European Union’s 7th Framework Programme [243847] (ForMath)
Certified Symbolic Manipulation: Bivariate Simplicial Polynomials
Certified symbolic manipulation is an emerging new field
where programs are accompanied by certificates that, suitably interpreted, ensure the correctness of the algorithms. In
this paper, we focus on algebraic algorithms implemented in
the proof assistant ACL2, which allows us to verify correctness in the same programming environment. The case study
is that of bivariate simplicial polynomials, a data structure
used to help the proof of properties in Simplicial Topology.
Simplicial polynomials can be computationally interpreted in
two ways. As symbolic expressions, they can be handled
algorithmically, increasing the automation in ACL2 proofs.
As representations of functional operators, they help proving
properties of categorical morphisms. As an application of this
second view, we present the definition in ACL2 of some
morphisms involved in the Eilenberg-Zilber reduction, a central part of the Kenzo computer algebra system. We have
proved the ACL2 implementations are correct and tested
that they get the same results as Kenzo does.Ministerio de Ciencia e Innovación MTM2009-13842Unión Europea nr. 243847 (ForMath
- …