Abstract
Boyer and Moore have discussed a 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.
Similar content being viewed by others
References
Boyer, R. and Moore, J, A Computational Logic, Academic Press, New York (1979).
Gordon, M. J. C., Milner, R., and Wadsworth, C., Edinburgh LCF, Springer, (1979).
Leszczyłowski, J., ‘An experiment with “Edinburgh LCF”’, in Fifth Conference on Automated Deduction (eds. W. Bibel and R. Kowalski), Springer, LNCS 87, pp. 170–181 (1981).
Manna, Z. and Waldinger, R., ‘Deductive synthesis of the unification algorithm’, Science of Computer Programming 1, 5–48 (1981).
Milner, R., ‘A proposal for Standard ML’, ACM Symposium on Lisp and Functional Programming, 184–197 (1984).
Moore, J S., ‘A mechanical proof of the termination of Takeuchi's function’, Information Processing Letters 9, 176–181 (1979).
Nordström, B. and Smith, J., ‘Propositions and specifications of programs in Martin-Löf's type theory’, BIT 24, 288–301 (1984).
Paulson, L. C., ‘Deriving structural induction in LCF’, in International Symposium on Semantics of Data Types (eds. G. Kahn, D. B. MacQueen, and G. Plotkin), Springer, pp. 197–214 (1984).
Paulson, L. C., ‘Constructing recursion operators in Intuitionistic Type Theory’, Report 57, Computer Lab., University of Cambridge (1984).
Paulson, L. C., ‘Lessons learned from LCF: A Survey of Natural Deduction Proofs’, Computer Journal 28, 474–479 (1985).
Paulson, L. C., ‘Verifying the unification algorithm in LCF’, Science of Computer Programming 5, 143–169 (1985).
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Paulson, L.C. Proving termination of normalization functions for conditional expressions. J Autom Reasoning 2, 63–74 (1986). https://doi.org/10.1007/BF00246023
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00246023