Repository logo
 

Proving termination of normalization functions for conditional expressions

Accepted version
Peer-reviewed

Type

Article

Change log

Authors

Paulson, LC 

Abstract

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.

Description

Keywords

cs.LO, cs.LO, F.3.1; F.4.1

Journal Title

Journal of Automated Reasoning

Conference Name

Journal ISSN

0168-7433
1573-0670

Volume Title

2

Publisher

Springer Science and Business Media LLC