Results 1  10
of
66
Kodkod: A relational model finder
 In Tools and Algorithms for Construction and Analysis of Systems (TACAS
, 2007
"... Abstract. The key design challenges in the construction of a SATbased relational model finder are described, and novel techniques are proposed to address them. An efficient model finder must have a mechanism for specifying partial solutions, an effective symmetry detection and breaking scheme, and ..."
Abstract

Cited by 65 (5 self)
 Add to MetaCart
(Show Context)
Abstract. The key design challenges in the construction of a SATbased relational model finder are described, and novel techniques are proposed to address them. An efficient model finder must have a mechanism for specifying partial solutions, an effective symmetry detection and breaking scheme, and an economical translation from relational to boolean logic. These desiderata are addressed with three new techniques: a symmetry detection algorithm that works in the presence of partial solutions, a sparsematrix representation of relations, and a compact representation of boolean formulas inspired by boolean expression diagrams and reduced boolean circuits. The presented techniques have been implemented and evaluated, with promising results. 1
Computing finite models by reduction to functionfree clause logic
 Journal of Applied Logic
, 2007
"... Recent years have seen considerable interest in procedures for computing finite models of firstorder logic specifications. One of the major paradigms, MACEstyle model building, is based on reducing model search to a sequence of propositional satisfiability problems and applying (efficient) SAT sol ..."
Abstract

Cited by 22 (6 self)
 Add to MetaCart
(Show Context)
Recent years have seen considerable interest in procedures for computing finite models of firstorder logic specifications. One of the major paradigms, MACEstyle model building, is based on reducing model search to a sequence of propositional satisfiability problems and applying (efficient) SAT solvers to them. A problem with this method is that it does not scale well because the propositional formulas to be considered may become very large. We propose instead to reduce model search to a sequence of satisfiability problems consisting of functionfree firstorder clause sets, and to apply (efficient) theorem provers capable of deciding such problems. The main appeal of this method is that firstorder clause sets grow more slowly than their propositional counterparts, thus allowing for more space efficient reasoning. In this paper we describe our proposed reduction in detail and discuss how it is integrated into the Darwin prover, our implementation of the Model Evolution calculus. The results are general, however, as our approach can be used in principle with any system that decides the satisfiability of functionfree firstorder clause sets. To demonstrate its practical feasibility, we tested our approach on all satisfiable problems from the TPTP library. Our methods can solve a significant subset of these problems, which overlaps but is not included in the subset of problems solvable by stateoftheart finite model builders such as Paradox and Mace4.
Testing, abstraction, theorem proving: better together
 In Software Testing and Analysis (ISSTA
, 2006
"... We present a method for static program analysis that leverages tests and concrete program executions. State abstractions generalize the set of program states obtained from concrete executions. A theorem prover then checks that the generalized set of concrete states covers all potential executions an ..."
Abstract

Cited by 17 (0 self)
 Add to MetaCart
We present a method for static program analysis that leverages tests and concrete program executions. State abstractions generalize the set of program states obtained from concrete executions. A theorem prover then checks that the generalized set of concrete states covers all potential executions and satisfies additional safety properties. Our method finds the same potential errors as the mostprecise abstract interpreter for a given abstraction and is potentially more efficient. Additionally, it provides a new way to tune the performance of the analysis by alternating between concrete execution and theorem proving. We have implemented our technique in a prototype for checking properties of C # programs.
Lemmas on Demand for the Extensional Theory of Arrays
 In Proc. SMT’08. ACM
, 2008
"... The quantifierfree extensional theory of arrays TA plays an important role in hardware and software verification. In this article we present a novel decision procedure that refines formula abstractions with lemmas on demand. We consider the case where TA is combined with a decidable quantifierfree ..."
Abstract

Cited by 13 (4 self)
 Add to MetaCart
(Show Context)
The quantifierfree extensional theory of arrays TA plays an important role in hardware and software verification. In this article we present a novel decision procedure that refines formula abstractions with lemmas on demand. We consider the case where TA is combined with a decidable quantifierfree firstorder theory TB. Unlike traditional lazy SMT approaches, where lemmas are added on the boolean abstraction layer, our decision procedure adds lemmas in TB. We discuss our decision procedure in detail. In particular, we prove soundness and completeness, and discuss complexity. We present our decision procedure in a generic context and provide implementation details and optimizations, in particular for bitvectors. Finally, we report on experiments and discuss related work. Keywords: SMT, arrays, bitvectors, decision procedures
The SZS Ontologies for Automated Reasoning Software
"... This paper describes the SZS ontologies that provide status values for precisely describing what is known or has been established about logical data. The ontology values are useful for describing existing logical data, and for automated reasoning software to describe their input and output. Standard ..."
Abstract

Cited by 11 (5 self)
 Add to MetaCart
(Show Context)
This paper describes the SZS ontologies that provide status values for precisely describing what is known or has been established about logical data. The ontology values are useful for describing existing logical data, and for automated reasoning software to describe their input and output. Standards for presenting the ontology values are also provided. 1
ConflictDriven Answer Set Solving: From Theory to Practice
, 2012
"... We introduce an approach to computing answer sets of logic programs, based on concepts successfully applied in Satisfiability (SAT) checking. The idea is to view inferences in Answer Set Programming (ASP) as unit propagation on nogoods. This provides us with a uniform constraintbased framework capt ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
(Show Context)
We introduce an approach to computing answer sets of logic programs, based on concepts successfully applied in Satisfiability (SAT) checking. The idea is to view inferences in Answer Set Programming (ASP) as unit propagation on nogoods. This provides us with a uniform constraintbased framework capturing diverse inferences encountered in ASP solving. Moreover, our approach allows us to apply advanced solving techniques from the area of SAT. As a result, we present the first fullfledged algorithmic framework for native conflictdriven ASP solving. Our approach is implemented in the ASP solver clasp that has demonstrated its competitiveness and versatility by winning first places at various solver contests.
Metareasoning for multiagent epistemic logics
 In CLIMA V
, 2004
"... Abstract. We present an encoding of a sequent calculus for a multiagent epistemic logic in Athena, an interactive theorem proving system for manysorted firstorder logic. We then use Athena as a metalanguage in order to reason about the multiagent logic an as object language. This facilitates theo ..."
Abstract

Cited by 10 (7 self)
 Add to MetaCart
Abstract. We present an encoding of a sequent calculus for a multiagent epistemic logic in Athena, an interactive theorem proving system for manysorted firstorder logic. We then use Athena as a metalanguage in order to reason about the multiagent logic an as object language. This facilitates theorem proving in the multiagent logic in several ways. First, it lets us marshal the highly efficient theorem provers for classical firstorder logic that are integrated with Athena for the purpose of doing proofs in the multiagent logic. Second, unlike modeltheoretic embeddings of modal logics into classical firstorder logic, our proofs are directly convertible into native epistemic logic proofs. Third, because we are able to quantify over propositions and agents, we get much of the generality and power of higherorder logic even though we are in a firstorder setting. Finally, we are able to use Athena’s versatile tactics for proof automation in the multiagent logic. We illustrate by developing a tactic for solving the generalized version of the wise men problem. 1
Semantic Derivation Verification
 International Journal on Artificial Intelligence Tools
"... Automated Theorem Proving (ATP) systems are complex pieces of software, and thus may have bugs that make them unsound. In order to guard against such unsoundness, the derivations output by an ATP system may be semantically verified by a trusted system that checks the required semantic properties of ..."
Abstract

Cited by 10 (6 self)
 Add to MetaCart
(Show Context)
Automated Theorem Proving (ATP) systems are complex pieces of software, and thus may have bugs that make them unsound. In order to guard against such unsoundness, the derivations output by an ATP system may be semantically verified by a trusted system that checks the required semantic properties of each inference step. Such verification may need to be augmented by structural verification that checks that inferences have been used correctly in the context of the overall derivation. This paper describes techniques for semantic verification of derivations, and reports on their implementation in the DVDV verifier. 1.
Toward Ethical Robots via Mechanized Deontic Logic
 In Anderson, Anderson, and Armen 2005
, 2005
"... We suggest that mechanized multiagent deontic logics might be appropriate vehicles for engineering trustworthy robots. Mechanically checked proofs in such logics can serve to establish the permissibility (or obligatoriness) of agent actions, and such proofs, when translated into English, can also e ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
(Show Context)
We suggest that mechanized multiagent deontic logics might be appropriate vehicles for engineering trustworthy robots. Mechanically checked proofs in such logics can serve to establish the permissibility (or obligatoriness) of agent actions, and such proofs, when translated into English, can also explain the rationale behind those actions. We use the logical framework Athena to encode a natural deduction system for a deontic logic recently proposed by Horty for reasoning about what agents ought to do. We present the syntax and semantics of the logic, discuss its encoding in Athena, and illustrate with an example of a mechanized proof.