Related papers: Solving Invariant Generation for Unsolvable Loops
We solve university level probability and statistics questions by program synthesis using OpenAI's Codex, a Transformer trained on text and fine-tuned on code. We transform course problems from MIT's 18.05 Introduction to Probability and…
We present here a probabilistic approach to the generation of new polynomials in two discrete variables. This extends our earlier work on the 'classical' orthogonal polynomials in a previously unexplored direction, resulting in the…
One of basic difficulties of machine learning is handling unknown rotations of objects, for example in image recognition. A related problem is evaluation of similarity of shapes, for example of two chemical molecules, for which direct…
Invariants withstand transformations and, therefore, represent the essence of objects or phenomena. In mathematics, transformations often constitute a group action. Since the 19th century, studying the structure of various types of…
We present an exact Bayesian inference method for inferring posterior distributions encoded by probabilistic programs featuring possibly unbounded loops. Our method is built on a denotational semantics represented by probability generating…
Selecting the best code solution from multiple generated ones is an essential task in code generation, which can be achieved by using some reliable validators (e.g., developer-written test cases) for assistance. Since reliable test cases…
The nonlinearity of a Boolean function is a key property in deciding its suitability for cryptographic purposes, e.g. as a combining function in stream ciphers, and so the nonlinearity computation is an important problem for applications.…
This paper develops and implements an algorithm to compute sequences of polytopic Robust Forward Invariant Sets (RFIS) that can parametrically vary in size between the maximal and minimal RFIS of a nonlinear dynamical system. This is done…
In Bayesian probabilistic programming, a central problem is to estimate the normalised posterior distribution (NPD) of a probabilistic program with conditioning via score (a.k.a. observe) statements. Most previous approaches address this…
It is shown that a trivial version of polarization is sufficient to produce separating systems of polynomial invariants: if two points in the direct sum of the $G$--modules $W$ and $m$ copies of $V$ can be separated by polynomial…
Triangular decomposition is a classic, widely used and well-developed way to represent algebraic varieties with many applications. In particular, there exist sharp degree bounds for a single triangular set in terms of intrinsic data of the…
Algorithms for computing rational generating functions of solutions of one-dimensional difference equations are well-known and easy to implement. We propose an algorithm for computing rational generating functions of solutions of…
Iterative compilation is a widely adopted technique to optimize programs for different constraints such as performance, code size and power consumption in rapidly evolving hardware and software environments. However, in case of statically…
We study optimal decision policies for integer linear programs with a fixed feasible set and varying cost vectors, represented as linear decision trees. Once synthesized for a given feasible set, they return an optimal solution for any…
We present new techniques for synthesizing programs through sequences of mutations. Among these are (1) a method of local scoring assigning a score to each expression in a program, allowing us to more precisely identify buggy code, (2)…
We introduce the notion of matrices graph, defining continued fraction algorithms where the past and the future are almost independent. We provide an algorithm to convert more general algorithms into matrices graphs. We present an algorithm…
A very classical subject in Commutative Algebra is the Invariant Theory of finite groups. In our work on 3-dimensional topology (S. King, Ideal Turaev-Viro invariants. To appear in Top. Appl.), we found certain examples of group actions on…
Many stochastic continuous-state dynamical systems can be modeled as probabilistic programs with nonlinear non-polynomial updates in non-nested loops. We present two methods, one approximate and one exact, to automatically compute, without…
This work explores an unexpected application of Implicit Computational Complexity (ICC) to parallelize loops in imperative programs. Thanks to a lightweight dependency analysis, our algorithm allows splitting a loop into multiple loops that…
Despite the crucial need for formal safety and security verification of programs, discovering loop invariants remains a significant challenge. Static analysis is a primary technique for inferring loop invariants but often relies on…