Hard limits on step-wise explanation sequences (SWES)

by contradiction

slides.com/jod/explanation_limits

Central hypothesis

A maximally nested SWES contains a clausal proof.

Consequence

There exist problems with short explanations that have an exponential (nested) SWES.

Intuition

Stepwise explanation is a simple propagation

\bigwedge_i p_i \bigwedge_j c_j \models q

where p_i are previously derived facts and q is a new fact implied by constraints c_j.

This propagation corresponds to a clause implied by the constraints c_j.

This clause can either be part of the clausal decomposition of some individual c_j, or a learned (?) clause by multiple c_j.

A look at my favorite example

x11 x12 x13
x21 x22 x23
x31 x32 x33
x41 x42 x43
\geq1
\geq1
\geq1
\geq1
\leq1
\leq1
\leq1

4 pigeons, 3 holes

12 variables x_ij
4 row / pigeon constraints r_i
3 column / hole constraints c_i

x11 x12 x13
x21 x22 x23
x31 x32 x33
x41 x42 x43
\geq1
\geq1
\geq1
\geq1
\leq1
\leq1
\leq1

Level 1 explanation sequence:

r_1 \wedge r_2 \wedge r_3 \wedge c_1 \wedge c_2 \wedge c_3 \models \overline{x_{41}} \wedge \overline{x_{42}} \wedge \overline{x_{43}}
\overline{x_{41}} \wedge \overline{x_{42}} \wedge \overline{x_{43}} \wedge r_4 \models \emptyset
(\overline{x_{41}}), (\overline{x_{42}}), (\overline{x_{43}})

"learned" clauses:

x11 x12 x13
x21 x22 x23
x31 x32 x33
x41 x42 x43
\geq1
\geq1
\geq1
\geq1
\leq1
\leq1
\leq1

Level 2 explanation sequence of

x_{41} \wedge c_1 \models \overline{x_{11}} \wedge \overline{x_{21}} \wedge \overline{x_{31}}
(\overline{x_{41}} \vee \overline{x_{11}}), (\overline{x_{41}} \vee \overline{x_{21}}), (\overline{x_{41}} \vee \overline{x_{31}})

decomposition clauses:

r_1 \wedge r_2 \wedge r_3 \wedge c_1 \wedge c_2 \wedge c_3 \models \overline{x_{41}}
x11 x12 x13
x21 x22 x23
x31 x32 x33
x41 x42 x43
\geq1
\geq1
\geq1
\geq1
\leq1
\leq1
\leq1
x_{41} \wedge c_1 \models \overline{x_{11}} \wedge \overline{x_{21}} \wedge \overline{x_{31}}
(\overline{x_{41}} \vee \overline{x_{11}}), (\overline{x_{41}} \vee \overline{x_{21}}), (\overline{x_{41}} \vee \overline{x_{31}})

decomposition clauses:

\overline{x_{11}} \wedge \overline{x_{21}} \wedge r_1 \wedge r_2 \wedge c_2 \wedge c_3 \models \overline{x_{32}} \wedge \overline{x_{33}}
(x_{11} \vee x_{21} \vee \overline{x_{32}}), (x_{11} \vee x_{21} \vee \overline{x_{33}})

"learned" clauses:

Level 2 explanation sequence of

r_1 \wedge r_2 \wedge r_3 \wedge c_1 \wedge c_2 \wedge c_3 \models \overline{x_{41}}
x11 x12 x13
x21 x22 x23
x31 x32 x33
x41 x42 x43
\geq1
\geq1
\geq1
\geq1
\leq1
\leq1
\leq1
x_{41} \wedge c_1 \models \overline{x_{11}} \wedge \overline{x_{21}} \wedge \overline{x_{31}}
\overline{x_{31}} \wedge \overline{x_{32}} \wedge \overline{x_{33}} \wedge r_3 \models \emptyset
(\overline{x_{41}} \vee \overline{x_{11}}), (\overline{x_{41}} \vee \overline{x_{21}}), (\overline{x_{41}} \vee \overline{x_{31}})

decomposition clauses:

\overline{x_{11}} \wedge \overline{x_{21}} \wedge r_1 \wedge r_2 \wedge c_2 \wedge c_3 \models \overline{x_{32}} \wedge \overline{x_{33}}
(x_{11} \vee x_{21} \vee \overline{x_{32}}), (x_{11} \vee x_{21} \vee \overline{x_{33}})

"learned" clauses:

Level 2 explanation sequence of

r_1 \wedge r_2 \wedge r_3 \wedge c_1 \wedge c_2 \wedge c_3 \models \overline{x_{41}}
x11 x12 x13
x21 x22 x23
x31 x32 x33
x41 x42 x43
\geq1
\geq1
\geq1
\geq1
\leq1
\leq1
\leq1

Level 3 explanation sequence of

x_{32} \wedge c_2 \models \overline{x_{12}} \wedge \overline {x_{22}}
(\overline{x_{32}} \vee \overline{x_{12}}), (\overline{x_{32}} \vee \overline{x_{22}})

decomposition clauses:

\overline{x_{11}} \wedge \overline{x_{21}} \wedge r_1 \wedge r_2 \wedge c_2 \wedge c_3 \models \overline{x_{32}}
x11 x12 x13
x21 x22 x23
x31 x32 x33
x41 x42 x43
\geq1
\geq1
\geq1
\geq1
\leq1
\leq1
\leq1
x_{32} \wedge c_2 \models \overline{x_{12}} \wedge \overline {x_{22}}
(\overline{x_{32}} \vee \overline{x_{12}}), (\overline{x_{32}} \vee \overline{x_{22}})

decomposition clauses:

Level 3 explanation sequence of

\overline{x_{11}} \wedge \overline{x_{21}} \wedge r_1 \wedge r_2 \wedge c_2 \wedge c_3 \models \overline{x_{32}}
\overline{x_{11}} \wedge \overline{x_{12}} \wedge r_1 \models x_{13}
\overline{x_{21}} \wedge \overline{x_{22}} \wedge r_2 \models x_{23}
(x_{11} \vee x_{12} \vee x_{13}), (x_{21} \vee x_{22} \vee x_{23})

decomposition clauses:

x11 x12 x13
x21 x22 x23
x31 x32 x33
x41 x42 x43
\geq1
\geq1
\geq1
\geq1
\leq1
\leq1
\leq1
x_{32} \wedge c_2 \models \overline{x_{12}} \wedge \overline {x_{22}}
(\overline{x_{32}} \vee \overline{x_{12}}), (\overline{x_{32}} \vee \overline{x_{22}})

decomposition clauses:

Level 3 explanation sequence of

\overline{x_{11}} \wedge \overline{x_{21}} \wedge r_1 \wedge r_2 \wedge c_2 \wedge c_3 \models \overline{x_{32}}
\overline{x_{11}} \wedge \overline{x_{12}} \wedge r_1 \models x_{13}
\overline{x_{21}} \wedge \overline{x_{22}} \wedge r_2 \models x_{23}
(x_{11} \vee x_{12} \vee x_{13}), (x_{21} \vee x_{22} \vee x_{23})

decomposition clauses:

x_{13} \wedge x_{23} \wedge c_3 \models \emptyset
  • How many levels did we nest?
    • 3 == #holes
  • How many nested explanations would we generate?
    • 3! == #holes!
    • exponential in number of holes
  • In general: as long as explanations only use clauses,
    pigeonhole problem will have exponential SWES
  • Polynomial formal explanations exist!
    • symmetry argument
    • argument per induction
    • rational infeasibility argument
    • cutting planes argument
      • implies #holes >= #pigeons
    • ?

Should / can we extend SWES to incorporate these?

Explanation limits

By Jo Devriendt

Explanation limits

  • 309