5 research outputs found
Recommended from our members
Proving termination of normalization functions for conditional expressions
Boyer and Moore have discussed a recursive function that puts conditional
expressions into normal form [1]. It is difficult to prove that this function
terminates on all inputs. Three termination proofs are compared: (1) using a
measure function, (2) in domain theory using LCF, (3) showing that its
recursion relation, defined by the pattern of recursive calls, is well-founded.
The last two proofs are essentially the same though conducted in markedly
different logical frameworks. An obviously total variant of the normalize
function is presented as the `computational meaning' of those two proofs. A
related function makes nested recursive calls. The three termination proofs
become more complex: termination and correctness must be proved simultaneously.
The recursion relation approach seems flexible enough to handle subtle
termination proofs where previously domain theory seemed essential
VERIFYING THE UNIFICATION ALGORITHM IN LCF
Manna and Waldinger's theory of substitutions and unification has been
verified using the Cambridge LCF theorem prover. A proof of the monotonicity of
substitution is presented in detail, as an example of interaction with LCF.
Translating the theory into LCF's domain-theoretic logic is largely
straightforward. Well-founded induction on a complex ordering is translated
into nested structural inductions. Correctness of unification is expressed
using predicates for such properties as idempotence and most-generality. The
verification is presented as a series of lemmas. The LCF proofs are compared
with the original ones, and with other approaches. It appears difficult to find
a logic that is both simple and flexible, especially for proving termination
Bicontexts and structural induction
This thesis introduces and explores the notion of bicontext, an order-enriched category equipped with a unary endofunctor of order two called reverse. The purpose is threefold. First, the important categories that arise in Scott-Strachey denotational semantics have this additional structure, where by the constructions used to solve "data-type equations" are both limits and colimits simultaneously. Second, it yields a pleasant "set-theoretic" treatment of algebraic data-types in terms of bicontexts of (1, 1) relations rather than pairs of continuous functions. The theory provides a general way of relating bicontexts which serves to connect these particular ones. Third, the least solutions of data-type equations often have an associated principle of structural induction. Properties in such solutions become arrows in the appropriate bicontext, making the defining functor directly applicable to them. In this way the structural induction can be derived systematically from the functor