4,965 research outputs found
New developments in the theory of Groebner bases and applications to formal verification
We present foundational work on standard bases over rings and on Boolean
Groebner bases in the framework of Boolean functions. The research was
motivated by our collaboration with electrical engineers and computer
scientists on problems arising from formal verification of digital circuits. In
fact, algebraic modelling of formal verification problems is developed on the
word-level as well as on the bit-level. The word-level model leads to Groebner
basis in the polynomial ring over Z/2n while the bit-level model leads to
Boolean Groebner bases. In addition to the theoretical foundations of both
approaches, the algorithms have been implemented. Using these implementations
we show that special data structures and the exploitation of symmetries make
Groebner bases competitive to state-of-the-art tools from formal verification
but having the advantage of being systematic and more flexible.Comment: 44 pages, 8 figures, submitted to the Special Issue of the Journal of
Pure and Applied Algebr
Circuit complexity, proof complexity, and polynomial identity testing
We introduce a new algebraic proof system, which has tight connections to
(algebraic) circuit complexity. In particular, we show that any
super-polynomial lower bound on any Boolean tautology in our proof system
implies that the permanent does not have polynomial-size algebraic circuits
(VNP is not equal to VP). As a corollary to the proof, we also show that
super-polynomial lower bounds on the number of lines in Polynomial Calculus
proofs (as opposed to the usual measure of number of monomials) imply the
Permanent versus Determinant Conjecture. Note that, prior to our work, there
was no proof system for which lower bounds on an arbitrary tautology implied
any computational lower bound.
Our proof system helps clarify the relationships between previous algebraic
proof systems, and begins to shed light on why proof complexity lower bounds
for various proof systems have been so much harder than lower bounds on the
corresponding circuit classes. In doing so, we highlight the importance of
polynomial identity testing (PIT) for understanding proof complexity.
More specifically, we introduce certain propositional axioms satisfied by any
Boolean circuit computing PIT. We use these PIT axioms to shed light on
AC^0[p]-Frege lower bounds, which have been open for nearly 30 years, with no
satisfactory explanation as to their apparent difficulty. We show that either:
a) Proving super-polynomial lower bounds on AC^0[p]-Frege implies VNP does not
have polynomial-size circuits of depth d - a notoriously open question for d at
least 4 - thus explaining the difficulty of lower bounds on AC^0[p]-Frege, or
b) AC^0[p]-Frege cannot efficiently prove the depth d PIT axioms, and hence we
have a lower bound on AC^0[p]-Frege.
Using the algebraic structure of our proof system, we propose a novel way to
extend techniques from algebraic circuit complexity to prove lower bounds in
proof complexity
Finding polynomial loop invariants for probabilistic programs
Quantitative loop invariants are an essential element in the verification of
probabilistic programs. Recently, multivariate Lagrange interpolation has been
applied to synthesizing polynomial invariants. In this paper, we propose an
alternative approach. First, we fix a polynomial template as a candidate of a
loop invariant. Using Stengle's Positivstellensatz and a transformation to a
sum-of-squares problem, we find sufficient conditions on the coefficients.
Then, we solve a semidefinite programming feasibility problem to synthesize the
loop invariants. If the semidefinite program is unfeasible, we backtrack after
increasing the degree of the template. Our approach is semi-complete in the
sense that it will always lead us to a feasible solution if one exists and
numerical errors are small. Experimental results show the efficiency of our
approach.Comment: accompanies an ATVA 2017 submissio
Workshop on Verification and Theorem Proving for Continuous Systems (NetCA Workshop 2005)
Oxford, UK, 26 August 200
Predicate Abstraction with Indexed Predicates
Predicate abstraction provides a powerful tool for verifying properties of
infinite-state systems using a combination of a decision procedure for a subset
of first-order logic and symbolic methods originally developed for finite-state
model checking. We consider models containing first-order state variables,
where the system state includes mutable functions and predicates. Such a model
can describe systems containing arbitrarily large memories, buffers, and arrays
of identical processes. We describe a form of predicate abstraction that
constructs a formula over a set of universally quantified variables to describe
invariant properties of the first-order state variables. We provide a formal
justification of the soundness of our approach and describe how it has been
used to verify several hardware and software designs, including a
directory-based cache coherence protocol.Comment: 27 pages, 4 figures, 1 table, short version appeared in International
Conference on Verification, Model Checking and Abstract Interpretation
(VMCAI'04), LNCS 2937, pages = 267--28
An Algorithm for Constructing Polynomial Systems Whose Solution Space Characterizes Quantum Circuits
An algorithm and its first implementation in C# are presented for assembling
arbitrary quantum circuits on the base of Hadamard and Toffoli gates and for
constructing multivariate polynomial systems over the finite field Z_2 arising
when applying the Feynman's sum-over-paths approach to quantum circuits. The
matrix elements determined by a circuit can be computed by counting the number
of common roots in Z_2 for the polynomial system associated with the circuit.
To determine the number of solutions in Z_2 for the output polynomial system,
one can use the Groebner bases method and the relevant algorithms for computing
Groebner bases.Comment: 10 pages, 9 Postscript figures, report presented on QI 200
- …