An introduction to Kolmogorov complexity and its applications
An introduction to Kolmogorov complexity and its applications
Powerlist: a structure for parallel recursion
ACM Transactions on Programming Languages and Systems (TOPLAS)
Recursive functions of symbolic expressions and their computation by machine, Part I
Communications of the ACM
On Simple Goedel Numberings and Translations
Proceedings of the 2nd Colloquium on Automata, Languages and Programming
Trees, Ordinals and Termination
TAPSOFT '93 Proceedings of the International Joint Conference CAAP/FASE on Theory and Practice of Software Development
Balanced grammars and their languages
Formal and natural computing
Reversible Variable Length Codes for Efficient and Robust Image and Video Coding
DCC '98 Proceedings of the Conference on Data Compression
Isomorphisms, hylomorphisms and hereditarily finite data types in Haskell
Proceedings of the 2009 ACM symposium on Applied Computing
A Groupoid of Isomorphic Data Transformations
Calculemus '09/MKM '09 Proceedings of the 16th Symposium, 8th International Conference. Held as Part of CICM '09 on Intelligent Computer Mathematics
The Art of Computer Programming, Volume 4, Fascicle 1: Bitwise Tricks & Techniques; Binary Decision Diagrams
An embedded declarative data transformation language
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Pure, declarative, and constructive arithmetic relations (declarative pearl)
FLOPS'08 Proceedings of the 9th international conference on Functional and logic programming
Context-Free grammars and XML languages
DLT'06 Proceedings of the 10th international conference on Developments in Language Theory
Hi-index | 0.00 |
We use Prolog as a flexible meta-language to provide executable specifications of some interesting mathematical objects and their operations. In the process, isomorphisms are unraveled between natural numbers and rooted ordered trees representing hereditarily finite sequences and rooted ordered binary trees representing Gödel's System T types. Our isomorphisms result in an interesting "paradigm shift": we provide recursive definitions that perform the equivalent of arbitrary-length integer computations directly on rooted ordered trees. Besides the theoretically interesting fact of "breaking the arithmetic/symbolic barrier", our arithmetic operations performed with symbolic objects like trees or types turn out to be genuinely efficient --- we derive implementations with asymptotic performance comparable to ordinary bitstring implementations of arbitrary-length integer arithmetic. The Prolog code of the paper, organized as a literate program, is available at http://logic.cse.unt.edu/tarau/research/2012/padl12.pl