Complexity of Fractran and Productivity
Joerg Endrullis, Clemens Grabmayer, Dimitri Hendriks

TL;DR
This paper investigates the computational complexity of productivity in infinite structures, demonstrating that certain properties in Fractran and functional programming are highly undecidable, with complexities reaching Pi^0_2 and Pi^1_1 levels.
Contribution
It establishes the Pi^0_2-completeness of productivity and halting problems in Fractran, and extends the analysis to generalized productivity notions with Pi^1_1-completeness.
Findings
Fractran halting problem is Pi^0_2-complete.
Productivity in infinite list specifications is Pi^0_2-complete.
Generalized productivity notions are Pi^1_1-complete.
Abstract
In functional programming languages the use of infinite structures is common practice. For total correctness of programs dealing with infinite structures one must guarantee that every finite part of the result can be evaluated in finitely many steps. This is known as productivity. For programming with infinite structures, productivity is what termination in well-defined results is for programming with finite structures. Fractran is a simple Turing-complete programming language invented by Conway. We prove that the question whether a Fractran program halts on all positive integers is Pi^0_2-complete. In functional programming, productivity typically is a property of individual terms with respect to the inbuilt evaluation strategy. By encoding Fractran programs as specifications of infinite lists, we establish that this notion of productivity is Pi^0_2-complete even for the most simple…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsCatalysis and Oxidation Reactions
