Efficient algorithms for isomorphisms of simple types

  • Authors:
  • Joseph Gil;Yoav Zibin

  • Affiliations:
  • Technion –/ Israel Institute of Technology Email: yogi@cs.technion.ac.il/ zyoav@cs.technion.ac.il;Technion –/ Israel Institute of Technology Email: yogi@cs.technion.ac.il/ zyoav@cs.technion.ac.il

  • Venue:
  • Mathematical Structures in Computer Science
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

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.