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 log2 n) time and O(n) space, where is n the input size. This result improves upon the O(n log2 n) time and O(n2) 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, whereby improving upon the O(n log n) time of the best previous algorithm for this problem.
- A. Andreev and S. Soloviev. A deciding algorithm for linear isomorphism of types with complexity O(n log2n). Lecture Notes in Computer Science, 1290:197ff, 1997. Google ScholarDigital Library
- J. Auerbach, C. Barton, and M. Raghavachary. Type isomorphisms with recursive types. Technical Report RC 21247, IBM Research Division, Yorktown Heights, New York, August 1998.Google Scholar
- J. Auerbach and M. C. Chu-Carroll. The mockingbird system: A compiler-based approach to maximally interoperable distributed programming. Technical Report RC 20178, IBM Research Division, Yorktown Heights, New York, February 1997.Google Scholar
- D. A. Basin. Equality of terms containing associative-commutative functions and commutative binding operators is isomorphism complete. In 10th International Conference on Automated Deduction, pages 251--260. Springer-Verlag New York, Inc., 1990. Google ScholarDigital Library
- K. B. Bruce, R. D. Cosmo, and G. Longo. Provable isomorphisms of types. Mathematical Structures in Computer Science, 1:1--20, 1991.Google Scholar
- K. B. Bruce and G. Longo. Provable isomorphisms and domain equations in models of typed languages. In Proc. of the 7th annual ACM symposium on Theory of computing, pages 263--272. ACM Press, May 1985. Google ScholarDigital Library
- J. Considine. Deciding isomorphisms of simple types in polynomial time. Technical report, CS Department, Boston University, April 2000. Google ScholarDigital Library
- R. D. Cosmo. Type isomorphisms in a type-assignment framework. In Proc. of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 200--210. ACM Press, 1992. Google ScholarDigital Library
- R. Di Cosmo. Isomorphisms of types: from λ-calculus to information retrieval and language design. Birkhauser, 1995. ISBN-0-8176-3763-X. Google ScholarDigital Library
- M. Fiore, R. D. Cosmo, and V. Balat. Remarks on isomorphisms in typed lambda calculi with empty and sum types. In Proc. of the 17th Annual IEEE Symposium on Logic in Computer Science (LICS'02), July 2002. Google ScholarDigital Library
- J. Y. Gil. Subtyping arithmetical types. In 27th Symposium on Principles of Programming Languages, POPL'01, pages 276--289, London, England, Jan.17--19 2001. ACM SIGPLAN --- SIGACT, ACM Press. Google ScholarDigital Library
- R. GureviΗ. Equational theory of positive numbers with exponentiation. American Mathmatical Society, 94(1):135--141, May 1985.Google Scholar
- W. A. Howard. The formulaes-as-types notion of construction. In J. R. Hindley and J. P. Seldin, editors, To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus, and Formalism, pages 479--490. Academic Press, 1980.Google Scholar
- S. Jha, J. Palsberg, and T. Zhao. Efficient type matching. In Proc. of the 5th Foundations of Software Science and Computation Structures, Grenoble, France, April 2002. Google ScholarDigital Library
- J. Palsberg and T. Zhao. Efficient and flexible matching of recursive types. In Proc. of LICS'00, 15th Annual IEEE Symposium on Logic in Computer Science, June 2000. Google ScholarDigital Library
- M. Rittri. Using types as search keys in function libraries. Journal of Functional Programming, 1(1), 1989.Google ScholarCross Ref
- M. Rittri. Retrieving library identifiers via equational matching of types. In 10th International Conference on Automated Deduction, pages 603--617, 1990. Google ScholarDigital Library
- S. V. Soloviev. The category of finite sets and cartesian closed categories. Journal of Soviet Mathematics, 22(3):1387--1400, 1983.Google ScholarCross Ref
- A. Tarski. A Decision Method for Elementary Algebra and Geometry. University of California Press, Berkeley, CA, 2nd edition, 1951.Google Scholar
Index Terms
- Efficient algorithms for isomorphisms of simple types
Recommendations
Efficient algorithms for isomorphisms of simple types
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 ...
Efficient algorithms for isomorphisms of simple types
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 ...
Randomised algorithms for isomorphisms of simple types
We give the first linear time (randomised) algorithm for the first order isomorphism problem, that is, the isomorphism of non-recursive types involving product-and function-type constructors, under the axioms of commutativity and associativity of products, ...
Comments