Periodic Reporting for period 3 - ARiAT (Advanced Reasoning in Arithmetic Theories)
Periodo di rendicontazione: 2022-03-01 al 2023-08-31
grandmother is 60 years old; her grandson is 4. In how many years will
the grandmother be 5 times as old as her grandson?" With some effort,
we find the answer to be 10 years. Instead of trial-and-error, this
type of problem-solving can be systematized by translating it into a
system of equations and then solved algorithmically. This is a
technique that has been employed for thousands of years and forms the
basis of many of today's modern advancements.
The behavior of computer programs and systems can be described and
modeled by logical formulas, which can be seen as more sophisticated
kinds of systems of equations. They enable to unambiguously describe
the operations a computer program, and in turn to mathematically prove
that a computer program or system does what it is intended to do. The
latter is of crucial importance in the ever-growing areas where
computer programs take direct responsibility over the life of humans,
e.g. in healthcare (think of a program controlling a pacemaker), or
in aviation (think of the software for an auto pilot of an aircraft).
Without support for automation, it is hopeless to find solutions to
logical formulas modeling computer programs or systems, let alone to
answer more complex questions about such formulas.
The goal of the ERC-funded "Advanced Reasoning in Arithmetic Theories"
(ARiAT) project is to develop and lay the foundations for novel
algorithms for automatically reasoning in logical formalisms that can
express numerical properties of computer programs and systems. The
project aims at pushing the state-of-the-art in efficient algorithms
that can automatically prove sophisticated properties of computer
systems. The project also aims at understanding the algorithmic
barriers of automated reasoning in the logical formalisms studied in
this project. This amounts to mathematically proving that some
existing algorithms cannot be improved, thus sparing other researchers
resources who may try to improve algorithms solving certain tasks. The
project also aims at developing prototype implementations of those
algorithms discovered in the course of this project which have
properties that promise to dramatically outperform existing ones. All
program code developed as part of this project will be made freely
available and open source.
formalisms that can be used to understand and reason about numerical
properties of computer systems. The main results of the project have
so far been obtained in the following three areas:
i) Improved algorithms for determining universal properties of
logical formulas expressing numerical properties and their
limitations
Given a logical formula describing numerical properties of a
system, a universal property asserts that this formula has a
solution no matter what value a certain parameter takes.
Determining whether a universal property holds is a challenging
problem when parameters can be any natural number, as there are
infinitely many of them. One approach to this problem has been to
look at the geometric shape of the solutions of a given logical
formula. Unfortunately, algorithms relying on this approach are
extremely inefficient: even for very small logical formulas,
their running time quickly exceed the number of atoms of the
universe.
As part of the ARiAT project, a new algorithm has been developed
that is vastly more efficient. It relies on a very careful and
thorough analysis of the geometric shape of the solutions that
allows for short-cutting certain steps and hence drastically
improving upon existing algorithms. An unexpected byproduct of
the algorithm has been that it is actually also possible to more
efficiently learn such formulas than previously thought.
ii) Counting solutions of logical formulas expressing numerical properties
To quantify the behavior of a computer system modeled by a logical
formula, it is often not just sufficient to know whether the formula
has a solution, but also how many. For instance, we may wish to
quantify the percentage of possible error states relative to the total
number of states a system can be in.
One major accomplishment of the ARiAT project has been to develop an
efficient algorithm that determines whether the number of solutions of
a logical formula exceeds a certain threshold, even when combined with
assertions of aforementioned universal properties. The importance of
such an algorithm is two-fold. First, it has the potential to lead to
efficient software implementations that can be utilized to analyze
large-scale computer systems. Second, it is a long-standing open
problem whether there is an efficient algorithm for exactly counting
the number of solutions of a given logical formula. The algorithm
developed for the more specialized threshold problem developed in the
ARiAT project leaves open the possibility of the existence of such an
algorithm, and may even serve as the basis for future developments.
iii) Logical formulas with divisibility assertions
Asserting that the value of a variable divides another one arises
naturally when analyzing systems. As of today, the ARiAT project has
succeeded in developing substantially more efficient algorithms for
logical formulas that underpin algorithms for analyzing logical
formulas with divisibility assertions. In technical terms, the project
has shown that solutions for linear equations over p-adic numbers with
linear valuation constraints have short certificates of polynomial
length.
Further results have been obtained in the areas of computational
group theory, logical definability and the algorithmic analysis of
Petri nets.
generalized systems of equations over numerical variables. In
summary, the following major advancements of the state of the art
have been made in the course of the ARiAT project so far:
- Several optimal algorithm for analyzing logical formulas
incorporating universal properties that is based on an analysis of
the geometric shape of the solutions of such formulas.
- A novel optimal algorithm for determining whether the number of
solutions of a given logical formula exceeds a certain
threshold, even when combined with universal properties.
- Significant progress towards the discovery of an efficient
algorithm that can determine whether a logical formula
involving divisibility assertions has a solution.
Based on the progress so far and work-in-progress insights, the
following further advancements are expected for the remainder
of the project:
- Novel and efficient algorithms for determining whether logical
formulas involving exponentiation functions have a solution.
- An exponentially more efficient algorithm for determining
whether a logical formula involving greatest-common divisor assertions
has a solution.
- A method for generating solutions of a logical formula uniformly at
random.
- An implementation of a portable and generic library for
manipulating very large numbers without loss of precision.