Provable isomorphisms and domain equations in models of typed languages
STOC '85 Proceedings of the seventeenth annual ACM symposium on Theory of computing
Type matching, type-graphs, and the Schanuel conjecture
ACM Transactions on Programming Languages and Systems (TOPLAS)
Abstract interpretation and application to logic programs
Journal of Logic Programming
Type isomorphisms in a type-assignment framework
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Isomorphisms of types: from &lgr;-calculus to information retrieval and language design
Isomorphisms of types: from &lgr;-calculus to information retrieval and language design
Using multiset discrimination to solve language processing problems without hashing
Theoretical Computer Science
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficient algorithms for isomorphisms of simple types
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Remarks on Isomorphisms in Typed Lambda Calculi with Empty and Sum Types
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
FoSSaCS '02 Proceedings of the 5th International Conference on Foundations of Software Science and Computation Structures
Retrieving Library Identifiers via Equational Matching of Types
Proceedings of the 10th International Conference on Automated Deduction
A Deciding Algorithm for Linear Isomorphism of Types with Complexity O (n log2(n))
CTCS '97 Proceedings of the 7th International Conference on Category Theory and Computer Science
Proceedings of the 10th International Conference on Automated Deduction
Deciding Isomorphisms of Simple Types in Polynomial Time
Deciding Isomorphisms of Simple Types in Polynomial Time
Hi-index | 0.00 |
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.