Skip to main content
Log in

Proving termination of normalization functions for conditional expressions

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Boyer, R. and Moore, J, A Computational Logic, Academic Press, New York (1979).

    Google Scholar 

  2. Gordon, M. J. C., Milner, R., and Wadsworth, C., Edinburgh LCF, Springer, (1979).

  3. 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).

  4. Manna, Z. and Waldinger, R., ‘Deductive synthesis of the unification algorithm’, Science of Computer Programming 1, 5–48 (1981).

    Google Scholar 

  5. Milner, R., ‘A proposal for Standard ML’, ACM Symposium on Lisp and Functional Programming, 184–197 (1984).

  6. Moore, J S., ‘A mechanical proof of the termination of Takeuchi's function’, Information Processing Letters 9, 176–181 (1979).

    Google Scholar 

  7. Nordström, B. and Smith, J., ‘Propositions and specifications of programs in Martin-Löf's type theory’, BIT 24, 288–301 (1984).

    Google Scholar 

  8. 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).

  9. Paulson, L. C., ‘Constructing recursion operators in Intuitionistic Type Theory’, Report 57, Computer Lab., University of Cambridge (1984).

  10. Paulson, L. C., ‘Lessons learned from LCF: A Survey of Natural Deduction Proofs’, Computer Journal 28, 474–479 (1985).

    Google Scholar 

  11. Paulson, L. C., ‘Verifying the unification algorithm in LCF’, Science of Computer Programming 5, 143–169 (1985).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00246023

AMS (Mos) subject classification (1980)

Key words

Navigation