Hostname: page-component-8448b6f56d-xtgtn Total loading time: 0 Render date: 2024-04-24T07:13:21.952Z Has data issue: false hasContentIssue false

Efficient algorithms for isomorphisms of simple types

Published online by Cambridge University Press:  04 October 2005

JOSEPH (YOSSI) GIL
Affiliation:
Technion – Israel Institute of Technology Email: yogi@cs.technion.ac.il; zyoav@cs.technion.ac.il
YOAV ZIBIN
Affiliation:
Technion – Israel Institute of Technology Email: yogi@cs.technion.ac.il; zyoav@cs.technion.ac.il

Abstract

The first-order isomorphism problem is to decide whether two non-recursive types using product- and function-type constructors are isomorphic under the axioms of commutative and associative products, and currying and distributivity of functions over products. We show that this problem can be solved in $O(n \log^2 n)$ time and $O(n)$ space, where $n$ is the input size. This result improves upon the $O(n^2 \log n)$ time and $O(n^2)$ space bounds of the best previous algorithm. We also describe an $O(n)$ time algorithm for the linear isomorphism problem, which does not include the distributive axiom, thereby improving upon the $O(n \log n)$ time of the best previous algorithm for this problem.

Type
Paper
Copyright
2005 Cambridge University Press

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

Footnotes

A preliminary version of this paper was published in the proceedings of POPL'03 (Zibin et al. 2003).