9 research outputs found
Incremental Satisfiability Solving and its Applications
The propositional logic satisfiability problem (SAT) is a computationally hard decision problem. Despite its theoretical hardness, decision procedures for solving instances of this problem have become surprisingly efficient in recent years. These procedures, known as SAT solvers, are able to solve large instances originating from real-life problem domains, such as artificial intelligence and formal verification. Such real-life applications often require solving several related instances of SAT. Therefore, modern solvers posses an incremental interface that allows the input of sequences of incrementally encoded instances of SAT. When solving these instances sequentially the solver can reuse some of the information it has gathered across related consecutive instances.
This dissertation contains six publications. The two focus areas of the combined work are incremental usage of SAT solvers, and the usage of parallelism in applications of SAT solvers. It is shown in this work that these two seemingly contradictory concepts form a natural combination. Moreover, this dissertations unifies, analyzes, and extends the results of the six publications, for example, by studying information propagation in incremental solvers through graphical visualizations.
The concrete contributions made by the work in this dissertation include, but are not limited to: Improvements to algorithms for MUS finding, the use of graphical visualizations to understand information propagation in incremental solvers, asynchronous incremental solving, and concurrent clause strengthening
Implementation methodology for using concurrent and collaborative approaches for theorem provers, with case studies of SAT and LCF style provers
Theorem provers are faced with the challenges of size and complexity, fueled by the increasing range
of applications. The use of concurrent/ distributed programming paradigms to engineer better theorem
provers merits serious investigation, as it provides: more processing power and opportunities for
implementing novel approaches to address theorem proving tasks hitherto infeasible in a sequential setting.
Investigation of these opportunities for two diverse theorem prover settings with an emphasis on
desirable implementation criteria is the core focus of this thesis.
Concurrent programming is notoriously error prone, hard to debug and evaluate. Thus, implementation
approaches which promote easy prototyping, portability, incremental development and effective isolation
of design and implementation can greatly aid the enterprise of experimentation with the application
of concurrent techniques to address specific theorem proving tasks. In this thesis, we have explored one
such approach by using Alice ML, a functional programming language with support for concurrency
and distribution, to implement the prototypes and have used programming abstractions to encapsulate
the implementations of the concurrent techniques used. The utility of this approach is illustrated via
proof-of-concept prototypes of concurrent systems for two diverse case studies of theorem proving: the
propositional satisfiability problem (SAT) and LCF style (first-order) theorem proving, addressing some
previously unexplored parallelisation opportunities for each, as follows:.
SAT: We have developed a novel hybrid approach for SAT and implemented a prototype for the same:
DPLL-Stalmarck. It uses two complementary algorithms for SAT, DPLL and Stalmarck’s. The two
solvers run asynchronously and dynamic information exchange is used for co-operative solving. Interaction
of the solvers has been encapsulated as a programming abstraction. Compared to the standalone
DPLL solver, DPLL-Stalmarck shows significant performance gains for two of the three problem classes
considered and comparable behaviour otherwise. As an exploratory research effort, we have developed a
novel algorithm, Concurrent Stalmarck, by applying concurrent techniques to the Stalmarck algorithm.
A proof-of-concept prototype for the same has been implemented. Implementation of the saturation
technique of the Stalmarck algorithm in a parallel setting, as implemented in Concurrent Stalmarck, has
been encapsulated as a programming abstraction.
LCF: Provision of programmable concurrent primitives enables customisation of concurrent techniques
to specific theorem proving scenarios. In this case study, we have developed a multilayered approach to
support programmable, sound extensions for an LCF prover: use programming abstractions to implement
the concurrent techniques; use these to develop novel tacticals (control structures to apply tactics),
incorporating concurrent techniques; and use these to develop novel proof search procedures. This
approach has been implemented in a prototypical LCF style first-order prover, using Alice ML. New
tacticals developed are: fastest-first; distributed composition; crossTalk: a novel tactic which uses dynamic,
collaborative information exchange to handle unification across multiple sub-goals, with shared
meta-variables; a new tactic, performing simultaneous proof-refutation attempts on propositional (sub-
)goals, by invoking an external SAT solver (SAT case study), as a counter-example finder. Examples of
concrete theorem proving scenarios are provided, demonstrating the utility of these extensions. Synthesis
of a variety of automatic proof search procedures has been demonstrated, illustrating the scope of
programmability and customisation, enabled by our multilayered approach
Efficient local search for Pseudo Boolean Optimization
Algorithms and the Foundations of Software technolog
Proceedings of the 21st Conference on Formal Methods in Computer-Aided Design – FMCAD 2021
The Conference on Formal Methods in Computer-Aided Design (FMCAD) is an annual conference on the theory and applications of formal methods in hardware and system verification. FMCAD provides a leading forum to researchers in academia and industry for presenting and discussing groundbreaking methods, technologies, theoretical results, and tools for reasoning formally about computing systems. FMCAD covers formal aspects of computer-aided system design including verification, specification, synthesis, and testing
Automated Deduction – CADE 28
This open access book constitutes the proceeding of the 28th International Conference on Automated Deduction, CADE 28, held virtually in July 2021. The 29 full papers and 7 system descriptions presented together with 2 invited papers were carefully reviewed and selected from 76 submissions. CADE is the major forum for the presentation of research in all aspects of automated deduction, including foundations, applications, implementations, and practical experience. The papers are organized in the following topics: Logical foundations; theory and principles; implementation and application; ATP and AI; and system descriptions
Automated Reasoning
This volume, LNAI 13385, constitutes the refereed proceedings of the 11th International Joint Conference on Automated Reasoning, IJCAR 2022, held in Haifa, Israel, in August 2022. The 32 full research papers and 9 short papers presented together with two invited talks were carefully reviewed and selected from 85 submissions. The papers focus on the following topics: Satisfiability, SMT Solving,Arithmetic; Calculi and Orderings; Knowledge Representation and Jutsification; Choices, Invariance, Substitutions and Formalization; Modal Logics; Proofs System and Proofs Search; Evolution, Termination and Decision Prolems. This is an open access book
Local autarkies searching for the dynamic partition of CNF formulae
International audienceIn this paper an original dynamic partition of formu- lae in Conjunctive Normal Form (CNF) is presented. It is based on the autarky concept first introduced by Monien and Speckenmeyer and further investigated by Kullmann and Van Gelder. Intuitively, an autarky is a partial assign- ment satisfying some clauses while not affecting any literal in any other clause, leading to a partition of the CNF for- mula. Autarkies can play a dramatic role in the efficiency of modern SAT solvers. The approach in this paper aims to dy- namically extend the current partial assignment to a local autarky thanks to an inference rule based on unit propaga- tion. More precisely, at each node of the search tree, it is checked whether the current decision literal can be made monotone by subsuming all the clauses where it appears negatively. The formal framework is detailed and its techni -cal features discussed
Proceedings of the 22nd Conference on Formal Methods in Computer-Aided Design – FMCAD 2022
The Conference on Formal Methods in Computer-Aided Design (FMCAD) is an annual conference on the theory and applications of formal methods in hardware and system verification. FMCAD provides a leading forum to researchers in academia and industry for presenting and discussing groundbreaking methods, technologies, theoretical results, and tools for reasoning formally about computing systems. FMCAD covers formal aspects of computer-aided system design including verification, specification, synthesis, and testing
Proceedings of the 22nd Conference on Formal Methods in Computer-Aided Design – FMCAD 2022
The Conference on Formal Methods in Computer-Aided Design (FMCAD) is an annual conference on the theory and applications of formal methods in hardware and system verification. FMCAD provides a leading forum to researchers in academia and industry for presenting and discussing groundbreaking methods, technologies, theoretical results, and tools for reasoning formally about computing systems. FMCAD covers formal aspects of computer-aided system design including verification, specification, synthesis, and testing