Hostname: page-component-8448b6f56d-dnltx Total loading time: 0 Render date: 2024-04-18T12:40:44.884Z Has data issue: false hasContentIssue false

Functional Pearls

The Third Homomorphism Theorem

Published online by Cambridge University Press:  07 November 2008

Jeremy Gibbons
Affiliation:
Department of Computer Science, University of AucklandPrivate Bag 92019, Auckland, New Zealand (e-mail:jeremy@cs.auckland.ac.nz)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

The Third Homomorphism Theorem is a folk theorem of the constructive algorithmics community. It states that a function on lists that can be computed both from left to right and from right to left is necessarily a list homomorphism – it can be computed according to any parenthesization of the list. We formalize and prove the theorem, and use it to improve an O(n2) sorting algorithm to O(n log n).

Type
Articles
Copyright
Copyright © Cambridge University Press 1996

References

Barnard, D. T., Schmeiser, J. P. and Skillicorn, D. B. (1991) Deriving associative operators for language recognition. Bulletin of the European Association for Theoretical Computer Science, 43,131139.Google Scholar
Bird, R. S. (1987) An introduction to the theory of lists. In Broy, M. (editor), Logic of Programming and Calculi of Discrete Design, pp. 342. Berlin: Springer-Verlag. (Also available as Technical Monograph PRG-56, from the Programming Research Group, Oxford University.)Google Scholar
Gibbons, J.. (1993) Computing downwards accumulations on trees quickly. In Gupta, G., Mohay, G. and Topor, R. (editors), 16th Australian Computer Science Conference, pp.685691, Brisbane. (Available by anonymous ftp as out/jeremy/papers/quickly.ps.Z on ftp.cs.auckland.ac.nz.)Google Scholar
Gibbons, J. (1994) The Third Homomorphism Theorem. In Jay, C. Barry (editor), Computing: The Australian Theory Seminar, University of Technology, Sydney.Google Scholar
Gorlatch, S.. (1995) Constructing List Homomorphisms. Technical Report MIP-9512, Fakultät für Mathematik und Informatik, Universität Passau.Google Scholar
Green, C. and Barstow, B.(1978) On program synthesis knowledge. Artificial Intelligence, 10,241279.CrossRefGoogle Scholar
Harel, D.. (1980) On folk theorems. Comm. ACM, 23(7), 379389.Google Scholar
Meertens, L. G. L. T. (1995) Personal communication.Google Scholar
Submit a response

Discussions

No Discussions have been published for this article.