A Programming Language for Feasible Solutions
Weijun Chen, Yuxi Fu, Huan Long

TL;DR
This paper presents a new imperative programming language with a static type system that guarantees all definable programs run in polynomial time, bridging the gap between feasible computation and program verification.
Contribution
It introduces a language with a foundational equivalence property linking polynomial-time problems and programs, supported by a practical interpreter implementation.
Findings
The language guarantees polynomial-time execution for all definable programs.
All polynomial-time problems can be expressed in the language.
An interpreter demonstrates the practical feasibility of the approach.
Abstract
Runtime efficiency and termination are crucial properties in the studies of program verification. Instead of dealing with these issues in an ad hoc manner, it would be useful to develop a robust framework in which such properties are guaranteed by design. This paper introduces a new imperative programming language whose design is grounded in a static type system that ensures the following equivalence property: All definable programs are guaranteed to run in polynomial time; Conversely, all problems solvable in polynomial time can be solved by some programs of the language. The contribution of this work is twofold. On the theoretical side, the foundational equivalence property is established, and the proof of the equivalence theorem is non-trivial. On the practical side, a programming approach is proposed that can streamline program analysis and verification for feasible computations. An…
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.
