Extending an Isabelle Formalisation
- f CDCL to Optimising CDCL
Mathias Fleury joint work with Christoph Weidenbach
Matryoshka+Veridis 2019
Extending an Isabelle Formalisation of CDCL to Optimising CDCL - - PowerPoint PPT Presentation
Extending an Isabelle Formalisation of CDCL to Optimising CDCL Mathias Fleury joint work with Christoph Weidenbach Matryoshka+Veridis 2019 Lets find a model with minimal weight 10 4 20 13 Optimal partial model: Optimal
Mathias Fleury joint work with Christoph Weidenbach
Matryoshka+Veridis 2019
∨
¬ ¬ ¬
2
Branch and Bound for Boolean Optimization and the Generation of Optimality Certificates
Javier Larrosa, Robert Nieuwenhuis, Albert Oliveras, and Enric Rodríguez-Carbonell (SAT 2009)
A Framework for Certified Boolean Branch-and-Bound Optimization
Javier Larrosa, Robert Nieuwenhuis, Albert Oliveras, and Enric Rodríguez-Carbonell (JAR 2011)
3
4
∨
⟹
¬
¬
5
6
∨
⟹
¬
¬ ¬
¬
∨
¬ ¬
∨ ∨
¬ ¬
7
8
9
10
by removing the additional component, is a special case of definitions and invariants
properties
11
can be seen as a fragment of
C ∨ L ∈ N ⟹ M ⊨as ¬C ⟹ undefined_lit M L ⟹ (M, N) ⇒CDCL (L # M, N)
in Isabelle
C ∨ L ∈ N ⟹ M ⊨as ¬C ⟹ undefined_lit M L ⟹ (M, N, O) ⇒CDCLbnb (L # M, N, O)
in Isabelle
also invariants and theorems can be reused
12
by removing the additional component, is a special case of definitions and invariants
properties
13
can be seen as a fragment of
C ∨ L ∈ N+T(min_cost) ⟹ M ⊨as ¬C ⟹ undefined_lit M L ⟹ (M, N + T(min_cost), O) ⇒CDCL
(L # M, N + T(min_cost), O)
in Isabelle
C ∨ L ∈ N ⟹ M ⊨as ¬C ⟹ undefined_lit M L ⟹ (M, N, O) ⇒CDCLbnb (L # M, N, O)
in Isabelle
14
by removing the additional component, is a special case of can be seen as a fragment of definitions and invariants
properties
15
ignore the additional component
16
no strategy but terminating well-founded for most applications
17
strategy strategy invariants holds improve can always be applied
⟹
18
CDCLbnb does not know anything about what is optimised!
19
Lemma
20
Lemma
21
make sure that the rules on paper and in Isabelle are the same
∨
⟹ ⟹ ¬
22
23
Lines of codes (kloc) CDCLbnb 2,0 OCDCL 1,8 OCDCLW 1,0 Partial Encoding 1,2 MaxSAT 0,4
can solve (a lot of boilerplate)
24
25
26
C ∨ L ∈ N + T(min_cost) ⟹ M ⊨as ¬C ⟹ undefined_lit M L ⟹ (M, N + T(min_cost), O) ⇒CDCLbnb
(L # M, N + T(min_cost), O)
in Isabelle
Theory propagation
27