Results 1  10
of
25
Proving termination of normalization functions for conditional expressions
 Journal of Automated Reasoning
, 1986
"... ..."
FirstOrder Unification by Structural Recursion
, 2001
"... Firstorder unification algorithms (Robinson, 1965) are traditionally implemented via general recursion, with separate proofs for partial correctness and termination. The latter tends to involve counting the number of unsolved variables and showing that this total decreases each time a substitution ..."
Abstract

Cited by 13 (5 self)
 Add to MetaCart
Firstorder unification algorithms (Robinson, 1965) are traditionally implemented via general recursion, with separate proofs for partial correctness and termination. The latter tends to involve counting the number of unsolved variables and showing that this total decreases each time a substitution enlarges the terms. There are many such proofs in the literature, for example, (Manna & Waldinger, 1981; Paulson, 1985; Coen, 1992; Rouyer, 1992; Jaume, 1997; Bove, 1999). This paper
Deductive Runtime Certification
 In Proceedings of the 2004 Workshop on Runtime Verification
, 2004
"... This paper introduces a notion of certified computation whereby an algorithm not only produces a result r for a given input x, but also proves that r is a correct result for x. This can greatly enhance the credibility of the result: if we trust the axioms and inference rules that are used in the pro ..."
Abstract

Cited by 11 (8 self)
 Add to MetaCart
(Show Context)
This paper introduces a notion of certified computation whereby an algorithm not only produces a result r for a given input x, but also proves that r is a correct result for x. This can greatly enhance the credibility of the result: if we trust the axioms and inference rules that are used in the proof, then we can be assured that r is correct. Typically, the reasoning used in a certified computation is much simpler than the computation itself. We present and analyze two examples of certifying algorithms. We have developed...
Verification and Abstraction of FlowGraph Programs with Pointers and Computed Jumps
, 1998
"... A flowgraph language which includes a simultaneous assignment, pointers and computed jumps is developed. The language is expressive enough that sequential composition can be defined as a function on commands, constructing a single command from its arguments. This allows the abstraction of a pr ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
A flowgraph language which includes a simultaneous assignment, pointers and computed jumps is developed. The language is expressive enough that sequential composition can be defined as a function on commands, constructing a single command from its arguments. This allows the abstraction of a program to be constructed from the program text. This form of abstraction is the reverse of compilation: the abstraction of a program is also a program. The sequential composition operator can reduce the number of commands which must be considered when verifying a program. This provides a method for simplifying program verification. Proof rules are defined for reasoning about the liveness properties of flowgraph programs. The language is expressive enough to describe sequential object code programs and a program for...
Unification: a Case Study in Transposition of Formal Properties
, 1997
"... . This paper presents a full formalisation of the proof of first order terms unification in the calculus of inductive constructions. This proof is built from a similar (formal) proof dealing with a more general set, quasiterms, thus showing how to relate an inductive set with a set defined by a pre ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
. This paper presents a full formalisation of the proof of first order terms unification in the calculus of inductive constructions. This proof is built from a similar (formal) proof dealing with a more general set, quasiterms, thus showing how to relate an inductive set with a set defined by a predicate and how to transpose (formal) properties on these objects, by considering proofs as data structures. In this way, the unification property is transposed from quasiterms to terms. This development has been mechanically verified in version 6.1 of the proof assistant Coq. 1 Introduction Originally, the aim of this development is to formalise the proof of first order terms unification in the calculus of inductive constructions [14]. However, instead of building this proof by following the standard approach (based on the unification algorithm), and since a similar (formal) proof, dealing with a more general set, quasiterms, has been obtained by J. Rouyer [12], we have transposed the uni...
A certified implementation of ML with structural polymorphism
 In Proceedings of the 8th Asian conference on Programming Languages and Systems, APLAS’10
, 2010
"... Abstract. 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. We ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
(Show Context)
Abstract. 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. We 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