Disjunctive Linear Arithmetic: A Practical Approach for Theorem Proving

From Simple Sci Wiki
Revision as of 15:17, 24 December 2023 by SatoshiNakamoto (talk | contribs) (Created page with "Title: Disjunctive Linear Arithmetic: A Practical Approach for Theorem Proving Abstract: This research explores a practical approach to decision procedures for Disjunctive Linear Arithmetic (DLA), a major decidable theory supported by most existing theorem provers. The proposed method reduces DLA to propositional logic, using Fourier-Motzkin elimination, and combines it with a SAT solver and an arithmetic solver. This approach, implemented in tools like CVC, MATHSAT, an...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Title: Disjunctive Linear Arithmetic: A Practical Approach for Theorem Proving

Abstract: This research explores a practical approach to decision procedures for Disjunctive Linear Arithmetic (DLA), a major decidable theory supported by most existing theorem provers. The proposed method reduces DLA to propositional logic, using Fourier-Motzkin elimination, and combines it with a SAT solver and an arithmetic solver. This approach, implemented in tools like CVC, MATHSAT, and ICS-SAT, has practical advantages and promotes the option of deciding a combination of theories by reducing them to propositional logic. Experiments show that this method has a strong advantage over existing techniques when there are many disjunctions in the formula.

Main Research Question: Can a practical approach combining a SAT solver and an arithmetic solver effectively solve Disjunctive Linear Arithmetic problems?

Methodology: The research proposes a method that encodes linear predicates into Boolean variables and solves the resulting Boolean formula using a SAT solver. If the SAT instance is unsatisfiable, the procedure terminates, and the formula is declared unsatisfiable. Otherwise, it checks the consistency of the given assignment with respect to the linear constraints, solving an conjunction or negation of predicates. This step is possible using any number of procedures. If a satisfying assignment is found, the procedure terminates, and the formula is declared satisfiable. Otherwise, it backs up and finds a different assignment, using a learning mechanism to prevent repetition.

Results: The research shows that the proposed method has practical advantages and can handle a larger number of cases compared to existing techniques. It also demonstrates that the combination of a SAT solver and an arithmetic solver can be more robust than naive case-splitting methods.

Implications: The research suggests that the combined approach of a SAT solver and an arithmetic solver can be a practical and effective method for solving Disjunctive Linear Arithmetic problems. It also promotes the option of deciding a combination of theories by reducing them to propositional logic, which can be beneficial in formal verification.

Link to Article: https://arxiv.org/abs/0402002v1 Authors: arXiv ID: 0402002v1