Diagnosis via Proofs of Unsatisfiability for First-Order Logic with Relational Objects

  • Abstract
  • Literature Map
  • Similar Papers
Abstract
Translate article icon Translate Article Star icon

Satisfiability-based automated reasoning is an approach that is being successfully used in software engineering to validate complex software, including for safety-critical systems. Such reasoning underlies many validation activities, from requirements analysis to design consistency to test coverage. While generally effective, the back-end constraint solvers are often complex and inevitably error-prone, which threatens the soundness of their application. Thus, such solvers need to be validated, which includes checking correctness and explaining (un)satisfiability results returned by them. In this work, we consider satisfiability analysis based on First-Order Logic with relational objects (FOL*) which has been shown to be effective for reasoning about time- and data-sensitive early system designs. We tackle the challenge of validating the correctness of FOL* unsatisfiability results and deriving diagnoses to explain the causes of the unsatisfiability. Inspired by the concept of proofs of UNSAT from SAT/SMT solvers, we define a proof format and proof rules to track the solvers' reasoning steps as sequences of derivations towards UNSAT. We also propose an algorithm to verify the correctness of FOL* proofs while filtering unnecessary derivations and develop a proof-based diagnosis to explain the cause of unsatisfiability. We implemented the proposed proof support on top of the state-of-the-art FOL* satisfiability checker to generate proofs of UNSAT and validated our approach by applying the proof-based diagnoses to explain the causes of well-formedness issues of normative requirements of software systems.

Similar Papers
  • Research Article
  • Cite Count Icon 2
  • 10.1080/00207169608804524
The practicality of generating semantic trees for proofs of unsatisfiability
  • Jan 1, 1996
  • International Journal of Computer Mathematics
  • Mohamed Almulla + 1 more

In this paper, we investigate the practicality of generating semantic trees to prove the unsatisfiabi-lity of sets of clauses in first-order predicate logic. Two methods of generating semantic trees are considered. First, we consider semantic trees generated by using the canonical enumeration of Herbrand base atoms. Then, we consider semantic trees generated by selectively choosing the atoms from the Herbrand base. A comparison is made between the two approaches using the theorems from the Stickel Test Set.

  • Conference Article
  • Cite Count Icon 1
  • 10.7873/date.2013.287
Lemma Localization: A Practical Method for Downsizing SMT-Interpolants
  • Jan 1, 2013
  • Florian Pigorsch + 1 more

Craig interpolation has become a powerful and universal tool in the formal verification domain, where it is used not only for Boolean systems, but also for timed systems, hybrid systems, and software programs. The latter systems demand interpolation for fragments of first-order logic. When it comes to model checking, the structural compactness of interpolants is necessary for efficient algorithms. In this paper, we present a method to reduce the size of interpolants derived from proofs of unsatisfiability produced by SMT (Satisfiability Modulo Theory) solvers. Our novel method uses structural arguments to modify the proof in a way, that the resulting interpolant is guaranteed to have smaller size. To show the effectiveness of our approach, we apply it to an extensive set of formulas from symbolic hybrid model checking.

  • Conference Article
  • Cite Count Icon 3
  • 10.5555/2485288.2485623
Lemma localization: a practical method for downsizing SMT-interpolants
  • Mar 18, 2013
  • Florian Pigorsch + 1 more

Craig interpolation has become a powerful and universal tool in the formal verification domain, where it is used not only for Boolean systems, but also for timed systems, hybrid systems, and software programs. The latter systems demand interpolation for fragments of first-order logic. When it comes to model checking, the structural compactness of interpolants is necessary for efficient algorithms. In this paper, we present a method to reduce the size of interpolants derived from proofs of unsatisfiability produced by SMT (Satisfiability Modulo Theory) solvers. Our novel method uses structural arguments to modify the proof in a way, that the resulting interpolant is guaranteed to have smaller size. To show the effectiveness of our approach, we apply it to an extensive set of formulas from symbolic hybrid model checking.

Save Icon
Up Arrow
Open/Close