2013
DOI: 10.1017/s1471068413000537
|View full text |Cite
|
Sign up to set email alerts
|

Compact serialization of Prolog terms (with catalan skeletons, cantor tupling and Gödel numberings)

Abstract: We 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 s… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Year Published

2014
2014
2019
2019

Publication Types

Select...
3
2
2

Relationship

2
5

Authors

Journals

citations
Cited by 8 publications
(3 citation statements)
references
References 7 publications
0
3
0
Order By: Relevance
“…Note: Our lazy streams package also provides the prod /3 stream product operation that avoids the engine creation and collection overhead, coming from the use of the constructor eng/3 by using a Cantor unpairing function to split natural numbers generated by nat/1 that are used to index dynamic arrays growing with each new element consumed from the two input streams. By using the N → N k generalized Cantor untupling function, implemented for instance in [16], one can obtain efficient generator product operations for k generators.…”
Section: Products Of Streamsmentioning
confidence: 99%
“…Note: Our lazy streams package also provides the prod /3 stream product operation that avoids the engine creation and collection overhead, coming from the use of the constructor eng/3 by using a Cantor unpairing function to split natural numbers generated by nat/1 that are used to index dynamic arrays growing with each new element consumed from the two input streams. By using the N → N k generalized Cantor untupling function, implemented for instance in [16], one can obtain efficient generator product operations for k generators.…”
Section: Products Of Streamsmentioning
confidence: 99%
“…As another challenge, computation of the unranking function often involves some form of binary or multiway tree search to locate the object corresponding to a given natural number [10,25], which precludes their use on very large objects. Our solution described here consists in two steps, the second one involving an arguably surprising twist.…”
Section: X-combinator Trees As Natural Numbersmentioning
confidence: 99%
“…We have shown in the past [25,[27][28][29] that arithmetic operations and encodings of various data structures can be performed with tree based numbering systems in average time and space complexity that is comparable with the traditional binary numbers. One of the properties that singles out such numbering systems is their ability to favor objects with a regular structure on which representation size and complexity of operations can be significantly better than with the usual bitstring representations.…”
Section: Introductionmentioning
confidence: 99%