Abstract
AbstractWe describe a compact serialization algorithm mapping Prolog terms to natural numbers of bit-sizes proportional to the memory representation of the terms. The algorithm is a ‘no bit lost’ bijection, as it associates to each Prolog term a unique natural number and each natural number corresponds to a unique syntactically well-formed term.To avoid an exponential explosion resulting from bijections mapping term trees to natural numbers, we separate the symbol content and the syntactic skeleton of a term that we serialize compactly using a ranking algorithm for Catalan families.A novel algorithm for the generalized Cantor bijection between ${\mathbb{N}$ and ${\mathbb{N}$k is used in the process of assigning polynomially bounded Gödel numberings to various data objects involved in the translation.
Publisher
Cambridge University Press (CUP)
Subject
Artificial Intelligence,Computational Theory and Mathematics,Hardware and Architecture,Theoretical Computer Science,Software
Cited by
7 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Lazy Stream Programming in Prolog;Electronic Proceedings in Theoretical Computer Science;2019-09-19
2. Declarative algorithms for generation, counting and random sampling of term algebras;Proceedings of the 33rd Annual ACM Symposium on Applied Computing;2018-04-09
3. Fair enumeration combinators;Journal of Functional Programming;2017
4. On a uniform representation of combinators, arithmetic, lambda terms and types;Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming;2015-07-14
5. Ranking/Unranking of Lambda Terms with Compressed de Bruijn Indices;Lecture Notes in Computer Science;2015