Results 11 
17 of
17
Formal Reasoning About Efficient Data Structures: A Case Study in ACL2
 In Logic Based Program Synthesis and Transformation, LNCS 3018
, 2004
"... Abstract. We describe in this paper the formal verification, using the ACL2 system, of a syntactic unification algorithm where terms are represented as directed acyclic graphs (dags) and these graphs are stored in a singlethreaded object (stobj). The use of stobjs allows destructive operations on d ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Abstract. We describe in this paper the formal verification, using the ACL2 system, of a syntactic unification algorithm where terms are represented as directed acyclic graphs (dags) and these graphs are stored in a singlethreaded object (stobj). The use of stobjs allows destructive operations on data (thus improving the performance of the algorithm), while maintaining the applicative semantics of ACL2. We intend to show how ACL2 provides an environment where execution of algorithms with efficient data structures and formal reasoning about them can be carried out. 1
A machine checked model of MGU axioms: applications of finite maps and functional induction
, 2009
"... The most general unifier (MGU) of a pair of terms can be specified by four axioms. In this paper we generalize the standard presentation of the axioms to specify the MGU of a list of equational constraints and we formally verify that the unification algorithm satisfies the axioms. Our constraints ar ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
The most general unifier (MGU) of a pair of terms can be specified by four axioms. In this paper we generalize the standard presentation of the axioms to specify the MGU of a list of equational constraints and we formally verify that the unification algorithm satisfies the axioms. Our constraints are equalities between terms in a language of simple types. We model substitutions as finite maps from the Coq library Coq.FSets.FMapInterface. Since the unification algorithm is general recursive we show termination using a lexicographic ordering on lists of constraints. Coq’s method of functional induction is the main proof technique used in proving the axioms. 1
A Theory About FirstOrder Terms in ACL2
 In Third ACL2 Workshop
, 2002
"... We describe the development in ACL2 of a library of results about firstorder terms. In particular, we present the formalization of some of the main properties of the complete lattice of firstorder terms with respect to the subsumption relation. As a byproduct, verified executable implementations a ..."
Abstract
 Add to MetaCart
We describe the development in ACL2 of a library of results about firstorder terms. In particular, we present the formalization of some of the main properties of the complete lattice of firstorder 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 antiunification. This work can be seen as a basis for further studies about the formal properties of automated reasoning and symbolic computation systems.
Abstract
"... This work presents a formalization of the theorem of existence of most general unifiers in firstorder signatures on the higherorder proof assistant PVS. The proof is close to the textbook proofs that are based on proving the correctness of the wellknown Robinson’s firstorder unification algorithm ..."
Abstract
 Add to MetaCart
This work presents a formalization of the theorem of existence of most general unifiers in firstorder signatures on the higherorder proof assistant PVS. The proof is close to the textbook proofs that are based on proving the correctness of the wellknown Robinson’s firstorder unification algorithm and it was applied inside a complete PVS development for term rewriting systems that provides a complete formalization of the KnuthBendix Critical Pair theorem. The formalization methodology can be directly applied to verify unification algorithms in the style of the original Robinson’s one as it is illustrated. 1
α Isabelle’s Logics: HOL 1
, 2010
"... Logical Frameworks, and 6453: Types) and by the DFG Schwerpunktprogramm ..."
Verification of the Completeness of Unification Algorithms à la
"... Abstract. This work presents a general methodology for verification of the completeness of firstorder unification algorithms à la Robinson developed in the higherorder proof assistant PVS. The methodology is based on a previously developed formalization of the theorem of existence of most general u ..."
Abstract
 Add to MetaCart
Abstract. This work presents a general methodology for verification of the completeness of firstorder unification algorithms à la Robinson developed in the higherorder proof assistant PVS. The methodology is based on a previously developed formalization of the theorem of existence of most general unifiers for unifiable terms over firstorder signatures. Termination and soundness proofs of any unification algorithm are proved by reusing the formalization of this theorem and completeness should be proved according to the specific way in that non unifiable inputs are treated by the algorithm. 1
A Certified Interpreter for ML with Structural Polymorphism
, 2009
"... The type system of Objective Caml has many unique features, which make ensuring the correctness of its implementation difficult. One of these features is structurally polymorphic types, such as polymorphic object and variant types, which have the extra specificity of allowing recursion. I implemente ..."
Abstract
 Add to MetaCart
The type system of Objective Caml has many unique features, which make ensuring the correctness of its implementation difficult. One of these features is structurally polymorphic types, such as polymorphic object and variant types, which have the extra specificity of allowing recursion. I implemented in Coq a certified interpreter for Core ML extended with structural polymorphism and recursion. Along with type soundness of evaluation, soundness and principality of type inference are also proved. 1