SOGrounder:

Modelling and Solving Second-Order Logic

Matthias van der Hallen, Gerda Janssens

(KU Leuven)

Motivation

Provide expressive languages for modelling problems in logic.

Proposal

Model problems using Second-Order Logic

Solve it with Quantified Boolean Formulas

SOGrounder

A software tool to translate expressive second-order logic theories to quantified boolean formulas.

Second-Order Logic

  • Variables: symbols representing
    • elements of the domain \(\mathcal{D}\), or
    • predicates / functions over this domain
  • Terms: First-order variables and function applications
  • Atoms: Predicate applications
  • Formulas: \(\neg, \lor, \land, \Rightarrow, \Leftrightarrow, \exists, \forall \)

Second-Order Logic

 

as a modelling language

Introducing types

Second-Order Logic

 

as a modelling language

type Company   = {Barilla; Dececco; Callippo; Star}
type Good      = {Pasta; Tonno}
controlledBy   :: (Company, Company, Company, Company, Company)
produces       :: (Good, Company)
strategicset   :: (Company)
non_strat_pair :: (Company, Company)
produces       = {Barilla, Pasta; Dececco, Pasta; Callippo, Tonno; Star, Tonno}
controlledBy   = {Star, Star, Star, Star, Barilla; Barilla, Barilla, Barilla, Barilla, Dececco}
non_strat_pair = {Barilla, Star}
∀ good :: Good : ∃ prod :: Company : strategicset(prod) & produces(prod, good).
∀ subset :: (Company) : [...]
[...]

Vocabulary:

Structure:

Theory:

Introducing types

Quantified Boolean Formulas

Formulas in quantified propositional logic:

  • Prenex form
  • Quantifiers can alternate indefinitely
  • PCNF if matrix is in CNF

\(\forall a    \exists b    \exists c    \forall d    .    \psi\)

0

1

2

Quantifier levels

Matrix

Quantifier block

Quantified Boolean Formulas

  • Many solvers exist
  • Input:
    • QDIMACS: textual PCNF
    • QCIR: Quantified Circuit representation, dispenses of tseitinization
    • ...
  • Techniques:
    • Conflict driven clause and solution driven cube learning in QDPLL
    • Counterexample-guided abstraction refinement (CEGAR)

Implementation

  1. Push negations
  2. Unnest terms
  3. Remove function app. through graphing
  4. Eliminate \(\Rightarrow, \Leftrightarrow\)
  5. Ground FO variables
  6. Introduce unique names through alpha conversion
  7. Pull quantifiers to front e.g.: \((\exists \alpha : \phi) \land \psi\rightsquigarrow \exists \alpha : (\phi \land \psi)\)
  8. Tseitinize
  9. Translate SO:
    • Replace atoms \( p(\overline{x}) \) with propositions \( p_{\overline{x}} \)
    • Replace quantifications \(\forall p\) with domain \(\mathcal{D}\) with \(\forall p_{d_1}, ...,  \forall p_{d_n}\) where \(d_1, ... d_n \in \mathcal{D}\)

Optimizations

We introduce binary quantification

Binary quantification takes two formulas:

type node = {a;b;c;d}
graph     :: (node,node)

graph     = {a,b; b,c; a,c}

∀ (x,y) :: [graph(x,y)] : graph(y,x).
type node = {a;b;c;d}
graph     :: (node,node)

graph     = {a,b; b,c; a,c}

graph(b,a) ∧ graph(c,b) ∧ graph(c,a).
  • A formula restricting the domain of the quantified variables
  • The formula to be instantiated

Experimental Evaluation

The Strategic Companies problem:

  • Well-known \(\Sigma_2^P\) problem with ASP encoding and Instantiation Scheme for QBF
  • Used in QBF ('06, '10, ...) and ASP competitions ('13)
  • Randomly generated instances, # of companies ~ competition

Experimental Evaluation

The Strategic Companies problem

 

Set of companies and products

  • 'joint ownership' relation 

  • 'produces' relation

Experimental Evaluation

The Strategic Companies problem
 

Strategic set:

  • produces all products

  • closed under ownership

Minimal strategic sets:

No subset forms its own strategic set

For companies \(c_1, c_2\), is there a minimal strategic set containing \(c_1, c_2\)?\)

Experimental Evaluation

The Strategic Companies problem

Pasta Tonno
Barilla x
Dececco x

Star

x

Callippo

X

Barilla

Dececco

Star

owns

owns

Minimal strategic sets:

Star, Barilla, and Dececco

Dececco and Callippo

Results: Grounding

  • Many grounding optimizations are still to be implemented
  • Bottom up grounding

Results: Solving

  • Better performance than QBF competition encoding
  • Without tseitinization, outperforms clingo

Conclusions

  • Easy modelling
  • Promising performance
  • Many grounding techniques left to investigate and port

SOGrounder: Modelling and Solving Second-Order Logic

By krr

SOGrounder: Modelling and Solving Second-Order Logic

  • 123
Loading comments...

More from krr