Results 1 
8 of
8
Complete Functional Synthesis
"... Synthesis of program fragments from specifications can make programs easier to write and easier to reason about. To integrate synthesis into programming languages, synthesis algorithms should behave in a predictable way—they should succeed for a welldefined class of specifications. They should also ..."
Abstract

Cited by 29 (12 self)
 Add to MetaCart
Synthesis of program fragments from specifications can make programs easier to write and easier to reason about. To integrate synthesis into programming languages, synthesis algorithms should behave in a predictable way—they should succeed for a welldefined class of specifications. They should also support unbounded data types such as numbers and data structures. We propose to generalize decision procedures into predictable and complete synthesis procedures. Such procedures are guaranteed to find code that satisfies the specification if such code exists. Moreover, we identify conditions under which synthesis will statically decide whether the solution is guaranteed to exist, and whether it is unique. We demonstrate our approach by starting from decision procedures for linear arithmetic and data structures and transforming them into synthesis procedures. We establish results on the size and the efficiency of the synthesized code. We show that such procedures are useful as a language extension with implicit value definitions, and we show how to extend a compiler to support such definitions. Our constructs provide the benefits of synthesis to programmers, without requiring them to learn new concepts or give up a deterministic execution model.
Verifying mixed realinteger quantifier elimination
 IJCAR 2006, LNCS 4130
, 2006
"... We present a formally verified quantifier elimination procedure for the first order theory over linear mixed realinteger arithmetics in higherorder logic based on a work by Weispfenning. To this end we provide two verified quantifier elimination procedures: for Presburger arithmitics and for lin ..."
Abstract

Cited by 8 (5 self)
 Add to MetaCart
We present a formally verified quantifier elimination procedure for the first order theory over linear mixed realinteger arithmetics in higherorder logic based on a work by Weispfenning. To this end we provide two verified quantifier elimination procedures: for Presburger arithmitics and for linear real arithmetics.
Proof synthesis and reflection for linear arithmetic. Submitted
, 2006
"... This article presents detailed implementations of quantifier elimination for both integer and real linear arithmetic for theorem provers. The underlying algorithms are those by Cooper (for Z) and by Ferrante and Rackoff (for R). Both algorithms are realized in two entirely different ways: once in ta ..."
Abstract

Cited by 6 (5 self)
 Add to MetaCart
This article presents detailed implementations of quantifier elimination for both integer and real linear arithmetic for theorem provers. The underlying algorithms are those by Cooper (for Z) and by Ferrante and Rackoff (for R). Both algorithms are realized in two entirely different ways: once in tactic style, i.e. by a proofproducing functional program, and once by reflection, i.e. by computations inside the logic rather than in the metalanguage. Both formalizations are highly generic because they make only minimal assumptions w.r.t. the underlying logical system and theorem prover. An implementation in Isabelle/HOL shows that the reflective approach is between one and two orders of magnitude faster. 1
EHRENFEUCHTFRAÏSSÉ GOES AUTOMATIC FOR REAL ADDITION
, 2008
"... Various logical theories can be decided by automatatheoretic methods. Notable examples are Presburger arithmetic FO(Z, +, <) and the linear arithmetic over the reals FO(R, +, <), for which effective decision procedures can be built using automata. Despite the practical use of automata to decide lo ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Various logical theories can be decided by automatatheoretic methods. Notable examples are Presburger arithmetic FO(Z, +, <) and the linear arithmetic over the reals FO(R, +, <), for which effective decision procedures can be built using automata. Despite the practical use of automata to decide logical theories, many research questions are still only partly answered in this area. One of these questions is the complexity of such decision procedures and the related question about the minimal size of the automata of the languages that can be described by formulas in the respective logic. In this paper, we establish a double exponential upper bound on the automata size for FO(R, +, <) and an exponential upper bound for the discrete order over the integers FO(Z, <). The proofs of these upper bounds are based on EhrenfeuchtFraïssé games. The application of this mathematical tool has a similar flavor as in computational complexity theory, where it can often be used to establish tight upper bounds of the decision problem for logical theories.
www.stacsconf.org EHRENFEUCHTFRAÏSSÉ GOES AUTOMATIC FOR REAL ADDITION
, 2008
"... Abstract. Various logical theories can be decided by automatatheoretic methods. Notable examples are Presburger arithmetic FO(Z, +, <) and the linear arithmetic over the reals FO(R, +, <), for which effective decision procedures can be built using automata. Despite the practical use of automata to ..."
Abstract
 Add to MetaCart
Abstract. Various logical theories can be decided by automatatheoretic methods. Notable examples are Presburger arithmetic FO(Z, +, <) and the linear arithmetic over the reals FO(R, +, <), for which effective decision procedures can be built using automata. Despite the practical use of automata to decide logical theories, many research questions are still only partly answered in this area. One of these questions is the complexity of such decision procedures and the related question about the minimal size of the automata of the languages that can be described by formulas in the respective logic. In this paper, we establish a double exponential upper bound on the automata size for FO(R, +, <) and an exponential upper bound for the discrete order over the integers FO(Z, <). The proofs of these upper bounds are based on EhrenfeuchtFraïssé games. The application of this mathematical tool has a similar flavor as in computational complexity theory, where it can often be used to establish tight upper bounds of the decision problem for logical theories. 1.
Optimal Metric Planning with State Sets in Automata Representation
"... This paper proposes an optimal approach to infinitestate action planning exploiting automata theory. State sets and actions are characterized by Presburger formulas and represented using minimized finite state machines. The exploration that contributes to the planning via model checking paradigm ap ..."
Abstract
 Add to MetaCart
This paper proposes an optimal approach to infinitestate action planning exploiting automata theory. State sets and actions are characterized by Presburger formulas and represented using minimized finite state machines. The exploration that contributes to the planning via model checking paradigm applies symbolic images in order to compute the deterministic finite automaton for the sets of successors. A large fraction of metric planning problems can be translated into Presburger arithmetic, while derived predicates are simply compiled away. We further propose three algorithms for computing optimal plans; one for uniform action costs, one for the additive cost model, and one for linear plan metrics. Furthermore, an extension for infinite state sets is discussed.
Order Theory of (ω ωi,+) and the Monadic Second Order Theory of
, 2006
"... Abstract. We give a new simple proof of the decidability of the First ..."
Analyzing the Behavior of Loop Nests in . . .
, 2004
"... Processor speeds are improving at a much faster rate than the speeds of accessing main memory. As a result, data access time dominates the execution times of many programs. Understanding the behavior of programs executing in a memory hierarchy is therefore an important part of improving program perf ..."
Abstract
 Add to MetaCart
Processor speeds are improving at a much faster rate than the speeds of accessing main memory. As a result, data access time dominates the execution times of many programs. Understanding the behavior of programs executing in a memory hierarchy is therefore an important part of improving program performance. This dissertation describes an analytical framework for understanding the behavior of looporiented programs executing in a memory hierarchy. The framework has three components: 1) an alternative classification of cache misses that makes it possible to obtain the exact cache behavior of a sequence of program fragments by combining the cache behavior of the individual fragments; 2) the use of Presburger arithmetic to model data access patterns and describe events such as cache misses; and 3) algorithms exploiting the connection among Presburger arithmetic, automata theory, and graph theory to produce exact cache miss counts. The analytical framework presented in this dissertation goes beyond existing analytical frameworks for modeling cache behavior: it handles setassociative caches, data cache and translation lookaside buffer (TLB) misses, imperfect loop nests, and nonlinear array layouts in an exact manner. Experiments show both the framework’s value in the exploration of new memory system designs and its usefulness in guiding code and data transformations for improved program performance.