Polynomial Size Analysis of First-Order Shapely Functions
@article{Shkaravska2009PolynomialSA, title={Polynomial Size Analysis of First-Order Shapely Functions}, author={Olha Shkaravska and Marko C. J. D. van Eekelen and Ron van Kesteren}, journal={Log. Methods Comput. Sci.}, year={2009}, volume={5} }
We present a size-aware type system for first-order shapely function
definitions. Here, a function definition is called shapely when the size of the
result is determined exactly by a polynomial in the sizes of the arguments.
Examples of shapely function definitions may be implementations of matrix
multiplication and the Cartesian product of two lists. The type system is
proved to be sound w.r.t. the operational semantics of the language. The type
checking problem is shown to be undecidable in…
Figures from this paper
43 Citations
Size Calculus for a higher-order functional language
- Mathematics
- 2012
The authors present a lambda-calculus that formalizes the relations between the sizes of arguments and the sizes of the corresponding results of functions in a higher-order polymorphic functional…
Higher-Order Size Checking without Subtyping
- Computer ScienceTrends in Functional Programming
- 2012
This work focuses on checking size annotations of higher-order polymorphic functional programs supporting nested lists. These annotations are in a lambda-calculus that formalize non-linear and…
Collected Size Semantics for Strict Functional Programs over General Polymorphic Lists
- Computer ScienceFOPARA
- 2013
This paper makes a big step forwards by overcoming a limitation via the introduction of higher-order size annotations such that variate sizes of inner data structures can be expressed in general, polymorphic nested lists.
Derivation and inference of higher-order strictness types
- Computer ScienceComput. Lang. Syst. Struct.
- 2015
A Space Consumption Analysis by Abstract Interpretation
- Computer ScienceFOPARA
- 2009
This paper presents a new analysis aimed at inferring upper bounds for heap and stack consumption in Safe, based on abstract interpretation, and explains the abstract domain and some correctness properties of the interpretation rules with respect to the language semantics.
Automating sized-type inference for complexity analysis
- Computer ScienceProc. ACM Program. Lang.
- 2017
This paper introduces a new methodology for the complexity analysis of higher-order functional programs, which is based on three ingredients: a powerful type system for size analysis and a sound type…
Analytic Tableaux for Higher-Order Logic with Choice
- MathematicsJournal of Automated Reasoning
- 2011
A cut-free ground tableau calculus for Church’s simple type theory with choice for higher-order automated theorem provers is presented and completeness of the tableAU calculus relative to Henkin models is proved.
Automating Sized Type Inference for Complexity Analysis (Technical Report)
- Computer ScienceArXiv
- 2017
This paper introduces a new methodology for the complexity analysis of higher-order functional programs, which is based on three ingredients: a powerful type system for size analysis and a sound type…
Space consumption analysis by abstract interpretation: Reductivity properties
- Computer ScienceSci. Comput. Program.
- 2015
Space consumption analysis by abstract interpretation: Inference of recursive functions
- Computer ScienceSci. Comput. Program.
- 2015
References
SHOWING 1-10 OF 36 REFERENCES
Polynomial Size Analysis of First-Order Functions
- Mathematics, Computer ScienceTLCA
- 2007
A natural syntactic restriction is defined such that the type checking becomes decidable, even though size polynomials are not necessarily linear or monotonic.
Size Analysis of Algebraic Data Types
- Computer ScienceTFP 2008 2008
- 2008
A size-aware type system for a first-order functional language with algebraic data types, where types are annotated with polynomials over size variables is presented, shown to be sound with respect to the operational semantics in the class of shapely functions.
Inferring static non-monotonically sized types through testing
- Computer Science, Mathematics
- 2007
A size analysis algorithm that combines testing and type checking to automatically obtain static output-on-input size dependencies for first-order functions that is complete with respect to type checking is proposed.
Collected Size Semantics for Functional Programs over Lists
- Computer ScienceIFL
- 2008
This work shows how, given a set of conditional rewriting rules, one can infer bounds that define an indexed family of polynomials that approximates the multivalued size function.
Collected Size Semantics for Functional Programs ?
- Computer Science
- 2008
This work shows how, given a set of conditional rewriting rules, one can infer bounds that define an indexed family of max0-polynomials that approximates the non-deterministic size dependency.
Shape Checking of Array Programs
- Computer Science
- 1996
A simply-typed lambda-calculus is constructed that supports a vector type constructor, whose iteration yields types of arrays, and is expressive enough to construct all of the usual linear algebra operations.
A logical account of pspace
- Computer Science, MathematicsPOPL '08
- 2008
This work proposes a characterization of PSPACE by means of atype assignment for an extension of lambda calculus with a conditional construction and introduces a call-by-name evaluation machine in order to compute programs in polynomial space.
A Transformational Approach which Combines Size Inference and Program Optimization
- Computer ScienceSAIG
- 2001
A calculus for the analysis of list lengths in functional programs, based on the syntactical structure of the program, which believes that analysis and parallelization work best if higher-order functions are used to compose the program from functional building blocks, so-called skeletons, instead of using unrestrained recursion.
Synthesis of max-plus quasi-interpretations
- Computer ScienceFundam. Informaticae
- 2005
It is proved that the synthesis of quasi-interpretations selected in the space of polynomials over the max-plus algebra is NP-hard under various conditions and in NP for the particular case of multi-linear quasi- interpretations when programs are specified by rules of bounded size.