38,225 research outputs found
Ranking Functions for Size-Change Termination II
Size-Change Termination is an increasingly-popular technique for verifying
program termination. These termination proofs are deduced from an abstract
representation of the program in the form of "size-change graphs".
We present algorithms that, for certain classes of size-change graphs, deduce
a global ranking function: an expression that ranks program states, and
decreases on every transition. A ranking function serves as a witness for a
termination proof, and is therefore interesting for program certification. The
particular form of the ranking expressions that represent SCT termination
proofs sheds light on the scope of the proof method. The complexity of the
expressions is also interesting, both practicaly and theoretically.
While deducing ranking functions from size-change graphs has already been
shown possible, the constructions in this paper are simpler and more
transparent than previously known. They improve the upper bound on the size of
the ranking expression from triply exponential down to singly exponential (for
certain classes of instances). We claim that this result is, in some sense,
optimal. To this end, we introduce a framework for lower bounds on the
complexity of ranking expressions and prove exponential lower bounds.Comment: 29 pages
Combinatorial Expressions and Lower Bounds
A new paradigm, called combinatorial expressions, for computing functions expressing properties over infinite domains is introduced. The main result is a generic technique, for showing indefinability of
certain functions by the expressions, which uses a result, namely Hales-Jewett theorem, from Ramsey theory. An application of the technique for proving inexpressibility results for logics on metafinite structures is given. Some extensions and normal forms are also presented
Inferring Lower Runtime Bounds for Integer Programs
We present a technique to infer lower bounds on the worst-case runtime complexity of integer programs, where in contrast to earlier work, our approach is not restricted to tail-recursion. Our technique constructs symbolic representations of program executions using a framework for iterative, under-approximating program simplification. The core of this simplification is a method for (under-approximating) program acceleration based on recurrence solving and a variation of ranking functions. Afterwards, we deduce asymptotic lower bounds from the resulting simplified programs using a special-purpose calculus and an SMT encoding. We implemented our technique in our tool LoAT and show that it infers non-trivial lower bounds for a large class of examples
Feasibly constructive proofs of succinct weak circuit lower bounds
We ask for feasibly constructive proofs of known circuit lower bounds for explicit functions on bit strings of length n. In 1995 Razborov showed that many can be proved in PV1, a bounded arithmetic formalizing polynomial time reasoning. He formalized circuit lower bound statements for small n of doubly logarithmic order.
It is open whether PV1 proves known lower bounds in succinct formalizations for n of logarithmic order. We give such proofs in APC1, an extension of PV1 formalizing probabilistic polynomial time reasoning: for parity and AC0, for mod q and AC0[p] (only for n slightly smaller than logarithmic), and for k-clique and monotone circuits.
We also formalize Razborov and Rudich’s natural proof barrier.
We ask for short propositional proofs of circuit lower bounds expressed succinctly by propositional formulas of size nO(1) or at least much smaller than the 2O(n) size of the common “truth table” formula. We discuss two such expressions: one via feasible functions witnessing errors of circuits, and one via the anticheckers of Lipton and Young 1994. Our APC1 formalizations yield conditional upper bounds for the succinct formulas obtained by witnessing: we get short Extended Frege proofs from general circuit lower bounds expressed by the common “truth-table” formulas. We also show how to construct in quasipolynomial time propositional proofs of quasipolynomial size tautologies expressing AC0[p] quasipolynomial size
lower bounds; these proofs are in Jerábek’s system WF.Peer ReviewedPostprint (author's final draft
Size and Treewidth Bounds for Conjunctive Queries
This paper provides new worst-case bounds for the size and treewith of the result Q(D) of a conjunctive query Q to a database D. We derive bounds for the result size |Q(D) | in terms of structural properties of Q, both in the absence and in the presence of keys and functional dependencies. These bounds are based on a novel “coloring ” of the query variables that associates a coloring number C(Q) to each query Q. Using this coloring number, we derive tight bounds for the size of Q(D) in case (i) no functional dependencies or keys are specified, and (ii) simple (one-attribute) keys are given. These results generalize recent size-bounds for join queries obtained by Atserias, Grohe, and Marx (FOCS 2008). An extension of our coloring technique also gives a lower bound for |Q(D) | in the general setting of a query with arbitrary functional dependencies. Our new coloring scheme also allows us to precisely characterize (both in the absence of keys and with simple keys) the treewidth-preserving queries— the queries for which the output treewidth is bounded by a function of the input treewidth. Finally we characterize the queries that preserve the sparsity of the input in the general setting with arbitrary functional dependencies
On the size of PLA's required to realize binary and multiple-valued functions
This publication is a work of the U.S. Government as defined in Title 17, United States Code, Section 101. As such, it is in the public domain, and under the provisions of Title 17, United States Code, Section 105, may not be copyrighted.IEEE Transactions on Computers, C-38, Jan. 1989, pp. 82-98, 1988While the use of programmable logic arrays in
modern logic design is common, little is known about what PLA
size provides reasonable coverage in typical applications. We
address this question by showing upper and lower bounds on the
average number of product terms required in the minimal
realization of binary and multiple-valued functions as a function
of the number of nonzero output values. When the number of
such values is small, the bounds are nearly the same, and accurate
values for the average are obtained.
In addition, an upper bound is derived for the variance of the
distribution of the number of product terms required in minimal
realizations of binary functions. When the number of nonzero
values is small, we find that the variance is small, and it follows
that most functions require nearly the average number of product
terms.
The variance, in addition to the upper and lower bounds, allow
conclusions to be made about how PLA size determines the set of
realizable functions. Although the bounds are most accurate
when there are few nonzero values, they are adequate for
analyzing commercially available PLA’s, which we do in this
paper. Most such PLA’s are small enough that our results can be
applied. For example, when the number of nonzero values
exceeds some threshold uT, determined by the PLA size, only a
small fraction of the functions can be realized. Our analysis
shows that for all but one commercially available PLA, the
number of nonzero values is a statistically meaningful criteria for
determining whether or not a given function is likely to be
realized
Combining static analysis and profiling for estimating execution times in logic programs
Effective static analyses have been proposed which allow inferring functions which bound the number of resolutions or reductions. These have the advantage of being independent from the platform on which the programs are executed and such bounds have been shown useful in a number of applications, such as granularity control in parallel
execution. On the other hand, in certain distributed computation scenarios where different platforms come into play, with each platform having different capabilities, it is more interesting to express costs in metrics that include the characteristics of the platform. In particular,
it is specially interesting to be able to infer upper and lower bounds on actual execution time. With this objective in mind, we propose a method which allows inferring upper and lower bounds on the execution times of procedures of a program in a given execution platform. The approach combines compile-time cost bounds analysis with a one-time profiling of the platform in order to determine the values of certain constants for that platform. These constants calibrate a cost model which from then on is able to compute statically time bound functions for procedures and to predict with a significant degree of accuracy the execution times of such procedures in the given platform. The approach has been implemented and integrated in the CiaoPP system
- …