A Programming Language for Feasible Solutions
By: Weijun Chen, Yuxi Fu, Huan Long
Potential Business Impact:
Guarantees computer programs finish quickly.
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 interpreter for the language has been implemented, demonstrating the feasibility of the approach in practice.
Similar Papers
Proof-Producing Translation of Functional Programs into a Time \& Space Reasonable Model
Logic in Computer Science
Builds computer programs from simpler instructions.
On Propositional Program Equivalence (extended abstract)
Programming Languages
Checks if computer programs are the same.
Programs Versus Finite Tree-Programs
Logic in Computer Science
Makes computer programs work like simple math.