boolean solving - loria · prince instructs you either to invite peru or to exclude qatar . the...
TRANSCRIPT
![Page 1: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/1.jpg)
1/37
Boolean Solving
Sophie Tourret & Pascal Fontaine & Christophe Ringeissen
Univ. of Lorraine, CNRS, Inria, LORIA
Procedures de decision et verification de programmes: Lecture 5
![Page 2: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/2.jpg)
2/37
Introduction (1/2)
I SAT: NP-complete (NPC) problem
I No efficient solution for all cases on sequential computers(or P = NP)
I Truth tables: how many lines for n variables?
I Many problems require many variables
I Nowadays: 106 Boolean variables, 107 clauses (2(106) = 10301029)
I SAT4J, MiniSAT, Glucose, Crypto-MiniSAT, PicoSAT,. . .
Today’s lecture
I history: truth tables, DPLL (Davis, Putnam, Logemann,Loveland)
I now: CDCL (Conflict Driven Clause Learning)
I Boolean propagationI Clause representationI Conflict analysis and non-chronological backtracking
![Page 3: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/3.jpg)
2/37
Introduction (1/2)
I SAT: NP-complete (NPC) problem
I No efficient solution for all cases on sequential computers(or P = NP)
I Truth tables: how many lines for n variables?
I Many problems require many variables
I Nowadays: 106 Boolean variables, 107 clauses (2(106) = 10301029)
I SAT4J, MiniSAT, Glucose, Crypto-MiniSAT, PicoSAT,. . .
Today’s lecture
I history: truth tables, DPLL (Davis, Putnam, Logemann,Loveland)
I now: CDCL (Conflict Driven Clause Learning)
I Boolean propagationI Clause representationI Conflict analysis and non-chronological backtracking
![Page 4: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/4.jpg)
2/37
Introduction (1/2)
I SAT: NP-complete (NPC) problem
I No efficient solution for all cases on sequential computers(or P = NP)
I Truth tables: how many lines for n variables?
I Many problems require many variables
I Nowadays: 106 Boolean variables, 107 clauses (2(106) = 10301029)
I SAT4J, MiniSAT, Glucose, Crypto-MiniSAT, PicoSAT,. . .
Today’s lecture
I history: truth tables, DPLL (Davis, Putnam, Logemann,Loveland)
I now: CDCL (Conflict Driven Clause Learning)
I Boolean propagationI Clause representationI Conflict analysis and non-chronological backtracking
![Page 5: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/5.jpg)
2/37
Introduction (1/2)
I SAT: NP-complete (NPC) problem
I No efficient solution for all cases on sequential computers(or P = NP)
I Truth tables: how many lines for n variables?
I Many problems require many variables
I Nowadays: 106 Boolean variables, 107 clauses (2(106) = 10301029)
I SAT4J, MiniSAT, Glucose, Crypto-MiniSAT, PicoSAT,. . .
Today’s lecture
I history: truth tables, DPLL (Davis, Putnam, Logemann,Loveland)
I now: CDCL (Conflict Driven Clause Learning)
I Boolean propagationI Clause representationI Conflict analysis and non-chronological backtracking
![Page 6: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/6.jpg)
2/37
Introduction (1/2)
I SAT: NP-complete (NPC) problem
I No efficient solution for all cases on sequential computers(or P = NP)
I Truth tables: how many lines for n variables?
I Many problems require many variables
I Nowadays: 106 Boolean variables, 107 clauses (2(106) = 10301029)
I SAT4J, MiniSAT, Glucose, Crypto-MiniSAT, PicoSAT,. . .
Today’s lecture
I history: truth tables, DPLL (Davis, Putnam, Logemann,Loveland)
I now: CDCL (Conflict Driven Clause Learning)
I Boolean propagationI Clause representationI Conflict analysis and non-chronological backtracking
![Page 7: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/7.jpg)
2/37
Introduction (1/2)
I SAT: NP-complete (NPC) problem
I No efficient solution for all cases on sequential computers(or P = NP)
I Truth tables: how many lines for n variables?
I Many problems require many variables
I Nowadays: 106 Boolean variables, 107 clauses (2(106) = 10301029)
I SAT4J, MiniSAT, Glucose, Crypto-MiniSAT, PicoSAT,. . .
Today’s lecture
I history: truth tables, DPLL (Davis, Putnam, Logemann,Loveland)
I now: CDCL (Conflict Driven Clause Learning)
I Boolean propagationI Clause representationI Conflict analysis and non-chronological backtracking
![Page 8: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/8.jpg)
2/37
Introduction (1/2)
I SAT: NP-complete (NPC) problem
I No efficient solution for all cases on sequential computers(or P = NP)
I Truth tables: how many lines for n variables?
I Many problems require many variables
I Nowadays: 106 Boolean variables, 107 clauses (2(106) = 10301029)
I SAT4J, MiniSAT, Glucose, Crypto-MiniSAT, PicoSAT,. . .
Today’s lecture
I history: truth tables, DPLL (Davis, Putnam, Logemann,Loveland)
I now: CDCL (Conflict Driven Clause Learning)
I Boolean propagationI Clause representationI Conflict analysis and non-chronological backtracking
![Page 9: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/9.jpg)
2/37
Introduction (1/2)
I SAT: NP-complete (NPC) problem
I No efficient solution for all cases on sequential computers(or P = NP)
I Truth tables: how many lines for n variables?
I Many problems require many variables
I Nowadays: 106 Boolean variables, 107 clauses (2(106) = 10301029)
I SAT4J, MiniSAT, Glucose, Crypto-MiniSAT, PicoSAT,. . .
Today’s lecture
I history: truth tables, DPLL (Davis, Putnam, Logemann,Loveland)
I now: CDCL (Conflict Driven Clause Learning)
I Boolean propagationI Clause representationI Conflict analysis and non-chronological backtracking
![Page 10: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/10.jpg)
2/37
Introduction (1/2)
I SAT: NP-complete (NPC) problem
I No efficient solution for all cases on sequential computers(or P = NP)
I Truth tables: how many lines for n variables?
I Many problems require many variables
I Nowadays: 106 Boolean variables, 107 clauses (2(106) = 10301029)
I SAT4J, MiniSAT, Glucose, Crypto-MiniSAT, PicoSAT,. . .
Today’s lecture
I history: truth tables, DPLL (Davis, Putnam, Logemann,Loveland)
I now: CDCL (Conflict Driven Clause Learning)
I Boolean propagationI Clause representationI Conflict analysis and non-chronological backtracking
![Page 11: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/11.jpg)
2/37
Introduction (1/2)
I SAT: NP-complete (NPC) problem
I No efficient solution for all cases on sequential computers(or P = NP)
I Truth tables: how many lines for n variables?
I Many problems require many variables
I Nowadays: 106 Boolean variables, 107 clauses (2(106) = 10301029)
I SAT4J, MiniSAT, Glucose, Crypto-MiniSAT, PicoSAT,. . .
Today’s lecture
I history: truth tables, DPLL (Davis, Putnam, Logemann,Loveland)
I now: CDCL (Conflict Driven Clause Learning)I Boolean propagation
I Clause representationI Conflict analysis and non-chronological backtracking
![Page 12: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/12.jpg)
2/37
Introduction (1/2)
I SAT: NP-complete (NPC) problem
I No efficient solution for all cases on sequential computers(or P = NP)
I Truth tables: how many lines for n variables?
I Many problems require many variables
I Nowadays: 106 Boolean variables, 107 clauses (2(106) = 10301029)
I SAT4J, MiniSAT, Glucose, Crypto-MiniSAT, PicoSAT,. . .
Today’s lecture
I history: truth tables, DPLL (Davis, Putnam, Logemann,Loveland)
I now: CDCL (Conflict Driven Clause Learning)I Boolean propagationI Clause representation
I Conflict analysis and non-chronological backtracking
![Page 13: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/13.jpg)
2/37
Introduction (1/2)
I SAT: NP-complete (NPC) problem
I No efficient solution for all cases on sequential computers(or P = NP)
I Truth tables: how many lines for n variables?
I Many problems require many variables
I Nowadays: 106 Boolean variables, 107 clauses (2(106) = 10301029)
I SAT4J, MiniSAT, Glucose, Crypto-MiniSAT, PicoSAT,. . .
Today’s lecture
I history: truth tables, DPLL (Davis, Putnam, Logemann,Loveland)
I now: CDCL (Conflict Driven Clause Learning)I Boolean propagationI Clause representationI Conflict analysis and non-chronological backtracking
![Page 14: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/14.jpg)
3/37
Introduction (2/2)
Satisfiability checking for profit:
I Verification (model checking, formal proofs,. . . )
I Maths (e.g. Erdos discrepancy problem)
I Planning problems
I Dependency checking (e.g. Eclipse)
I Configuration selection
I Circuit placement on silicon die
I . . .
Propositional satisfiability checking problem (SAT) is NPC.Any NPC problem can be translated polynomially into SAT
![Page 15: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/15.jpg)
3/37
Introduction (2/2)
Satisfiability checking for profit:
I Verification (model checking, formal proofs,. . . )
I Maths (e.g. Erdos discrepancy problem)
I Planning problems
I Dependency checking (e.g. Eclipse)
I Configuration selection
I Circuit placement on silicon die
I . . .
Propositional satisfiability checking problem (SAT) is NPC.Any NPC problem can be translated polynomially into SAT
![Page 16: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/16.jpg)
3/37
Introduction (2/2)
Satisfiability checking for profit:
I Verification (model checking, formal proofs,. . . )
I Maths (e.g. Erdos discrepancy problem)
I Planning problems
I Dependency checking (e.g. Eclipse)
I Configuration selection
I Circuit placement on silicon die
I . . .
Propositional satisfiability checking problem (SAT) is NPC.Any NPC problem can be translated polynomially into SAT
![Page 17: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/17.jpg)
3/37
Introduction (2/2)
Satisfiability checking for profit:
I Verification (model checking, formal proofs,. . . )
I Maths (e.g. Erdos discrepancy problem)
I Planning problems
I Dependency checking (e.g. Eclipse)
I Configuration selection
I Circuit placement on silicon die
I . . .
Propositional satisfiability checking problem (SAT) is NPC.Any NPC problem can be translated polynomially into SAT
![Page 18: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/18.jpg)
3/37
Introduction (2/2)
Satisfiability checking for profit:
I Verification (model checking, formal proofs,. . . )
I Maths (e.g. Erdos discrepancy problem)
I Planning problems
I Dependency checking (e.g. Eclipse)
I Configuration selection
I Circuit placement on silicon die
I . . .
Propositional satisfiability checking problem (SAT) is NPC.Any NPC problem can be translated polynomially into SAT
![Page 19: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/19.jpg)
3/37
Introduction (2/2)
Satisfiability checking for profit:
I Verification (model checking, formal proofs,. . . )
I Maths (e.g. Erdos discrepancy problem)
I Planning problems
I Dependency checking (e.g. Eclipse)
I Configuration selection
I Circuit placement on silicon die
I . . .
Propositional satisfiability checking problem (SAT) is NPC.Any NPC problem can be translated polynomially into SAT
![Page 20: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/20.jpg)
3/37
Introduction (2/2)
Satisfiability checking for profit:
I Verification (model checking, formal proofs,. . . )
I Maths (e.g. Erdos discrepancy problem)
I Planning problems
I Dependency checking (e.g. Eclipse)
I Configuration selection
I Circuit placement on silicon die
I . . .
Propositional satisfiability checking problem (SAT) is NPC.Any NPC problem can be translated polynomially into SAT
![Page 21: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/21.jpg)
3/37
Introduction (2/2)
Satisfiability checking for profit:
I Verification (model checking, formal proofs,. . . )
I Maths (e.g. Erdos discrepancy problem)
I Planning problems
I Dependency checking (e.g. Eclipse)
I Configuration selection
I Circuit placement on silicon die
I . . .
Propositional satisfiability checking problem (SAT) is NPC.Any NPC problem can be translated polynomially into SAT
![Page 22: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/22.jpg)
3/37
Introduction (2/2)
Satisfiability checking for profit:
I Verification (model checking, formal proofs,. . . )
I Maths (e.g. Erdos discrepancy problem)
I Planning problems
I Dependency checking (e.g. Eclipse)
I Configuration selection
I Circuit placement on silicon die
I . . .
Propositional satisfiability checking problem (SAT) is NPC.Any NPC problem can be translated polynomially into SAT
![Page 23: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/23.jpg)
4/37
Prerequisites / Notations
I Prerequisite: knowledge of propositional and first-order logic
I Boolean logic:
I Boolean (propositional) variable (v), literal (e.g. v, ¬v)¬v = v, v = ¬v
I clause (e.g. a ∨ ¬b ∨ c)I cube (e.g. a ∧ ¬b ∧ c)I formula (¬, ∧, ∨, ⇒, ≡, . . . )I interpretation, (un)satisfiable formula, valid formula
I Unit clause: clause with one literal only
I Empty clause: �, unsatisfiable
I Resolution rule:C ∨ ` C ′ ∨ `
C ∨ C ′
![Page 24: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/24.jpg)
4/37
Prerequisites / Notations
I Prerequisite: knowledge of propositional and first-order logicI Boolean logic:
I Boolean (propositional) variable (v), literal (e.g. v, ¬v)¬v = v, v = ¬v
I clause (e.g. a ∨ ¬b ∨ c)I cube (e.g. a ∧ ¬b ∧ c)I formula (¬, ∧, ∨, ⇒, ≡, . . . )I interpretation, (un)satisfiable formula, valid formula
I Unit clause: clause with one literal only
I Empty clause: �, unsatisfiable
I Resolution rule:C ∨ ` C ′ ∨ `
C ∨ C ′
![Page 25: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/25.jpg)
4/37
Prerequisites / Notations
I Prerequisite: knowledge of propositional and first-order logicI Boolean logic:
I Boolean (propositional) variable (v), literal (e.g. v, ¬v)¬v = v, v = ¬v
I clause (e.g. a ∨ ¬b ∨ c)I cube (e.g. a ∧ ¬b ∧ c)I formula (¬, ∧, ∨, ⇒, ≡, . . . )I interpretation, (un)satisfiable formula, valid formula
I Unit clause: clause with one literal only
I Empty clause: �, unsatisfiable
I Resolution rule:C ∨ ` C ′ ∨ `
C ∨ C ′
![Page 26: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/26.jpg)
4/37
Prerequisites / Notations
I Prerequisite: knowledge of propositional and first-order logicI Boolean logic:
I Boolean (propositional) variable (v), literal (e.g. v, ¬v)¬v = v, v = ¬v
I clause (e.g. a ∨ ¬b ∨ c)
I cube (e.g. a ∧ ¬b ∧ c)I formula (¬, ∧, ∨, ⇒, ≡, . . . )I interpretation, (un)satisfiable formula, valid formula
I Unit clause: clause with one literal only
I Empty clause: �, unsatisfiable
I Resolution rule:C ∨ ` C ′ ∨ `
C ∨ C ′
![Page 27: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/27.jpg)
4/37
Prerequisites / Notations
I Prerequisite: knowledge of propositional and first-order logicI Boolean logic:
I Boolean (propositional) variable (v), literal (e.g. v, ¬v)¬v = v, v = ¬v
I clause (e.g. a ∨ ¬b ∨ c)I cube (e.g. a ∧ ¬b ∧ c)
I formula (¬, ∧, ∨, ⇒, ≡, . . . )I interpretation, (un)satisfiable formula, valid formula
I Unit clause: clause with one literal only
I Empty clause: �, unsatisfiable
I Resolution rule:C ∨ ` C ′ ∨ `
C ∨ C ′
![Page 28: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/28.jpg)
4/37
Prerequisites / Notations
I Prerequisite: knowledge of propositional and first-order logicI Boolean logic:
I Boolean (propositional) variable (v), literal (e.g. v, ¬v)¬v = v, v = ¬v
I clause (e.g. a ∨ ¬b ∨ c)I cube (e.g. a ∧ ¬b ∧ c)I formula (¬, ∧, ∨, ⇒, ≡, . . . )
I interpretation, (un)satisfiable formula, valid formula
I Unit clause: clause with one literal only
I Empty clause: �, unsatisfiable
I Resolution rule:C ∨ ` C ′ ∨ `
C ∨ C ′
![Page 29: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/29.jpg)
4/37
Prerequisites / Notations
I Prerequisite: knowledge of propositional and first-order logicI Boolean logic:
I Boolean (propositional) variable (v), literal (e.g. v, ¬v)¬v = v, v = ¬v
I clause (e.g. a ∨ ¬b ∨ c)I cube (e.g. a ∧ ¬b ∧ c)I formula (¬, ∧, ∨, ⇒, ≡, . . . )I interpretation, (un)satisfiable formula, valid formula
I Unit clause: clause with one literal only
I Empty clause: �, unsatisfiable
I Resolution rule:C ∨ ` C ′ ∨ `
C ∨ C ′
![Page 30: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/30.jpg)
4/37
Prerequisites / Notations
I Prerequisite: knowledge of propositional and first-order logicI Boolean logic:
I Boolean (propositional) variable (v), literal (e.g. v, ¬v)¬v = v, v = ¬v
I clause (e.g. a ∨ ¬b ∨ c)I cube (e.g. a ∧ ¬b ∧ c)I formula (¬, ∧, ∨, ⇒, ≡, . . . )I interpretation, (un)satisfiable formula, valid formula
I Unit clause: clause with one literal only
I Empty clause: �, unsatisfiable
I Resolution rule:C ∨ ` C ′ ∨ `
C ∨ C ′
![Page 31: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/31.jpg)
4/37
Prerequisites / Notations
I Prerequisite: knowledge of propositional and first-order logicI Boolean logic:
I Boolean (propositional) variable (v), literal (e.g. v, ¬v)¬v = v, v = ¬v
I clause (e.g. a ∨ ¬b ∨ c)I cube (e.g. a ∧ ¬b ∧ c)I formula (¬, ∧, ∨, ⇒, ≡, . . . )I interpretation, (un)satisfiable formula, valid formula
I Unit clause: clause with one literal only
I Empty clause: �, unsatisfiable
I Resolution rule:C ∨ ` C ′ ∨ `
C ∨ C ′
![Page 32: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/32.jpg)
4/37
Prerequisites / Notations
I Prerequisite: knowledge of propositional and first-order logicI Boolean logic:
I Boolean (propositional) variable (v), literal (e.g. v, ¬v)¬v = v, v = ¬v
I clause (e.g. a ∨ ¬b ∨ c)I cube (e.g. a ∧ ¬b ∧ c)I formula (¬, ∧, ∨, ⇒, ≡, . . . )I interpretation, (un)satisfiable formula, valid formula
I Unit clause: clause with one literal only
I Empty clause: �, unsatisfiable
I Resolution rule:C ∨ ` C ′ ∨ `
C ∨ C ′
![Page 33: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/33.jpg)
5/37
A propositional problem (1/2)
You are chief of protocol for the embassy ball. The crownprince instructs you either to invite Peru or to excludeQatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful mood, wants tosnub either Romania or Peru or both. Is there a guest listthat will satisfy the whims of the entire royal family?
(P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
![Page 34: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/34.jpg)
5/37
A propositional problem (1/2)
You are chief of protocol for the embassy ball. The crownprince instructs you either to invite Peru or to excludeQatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful mood, wants tosnub either Romania or Peru or both. Is there a guest listthat will satisfy the whims of the entire royal family?
(P ∨ ¬Q)
∧ (Q ∨R) ∧ (¬R ∨ ¬P )
![Page 35: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/35.jpg)
5/37
A propositional problem (1/2)
You are chief of protocol for the embassy ball. The crownprince instructs you either to invite Peru or to excludeQatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful mood, wants tosnub either Romania or Peru or both. Is there a guest listthat will satisfy the whims of the entire royal family?
(P ∨ ¬Q) ∧ (Q ∨R)
∧ (¬R ∨ ¬P )
![Page 36: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/36.jpg)
5/37
A propositional problem (1/2)
You are chief of protocol for the embassy ball. The crownprince instructs you either to invite Peru or to excludeQatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful mood, wants tosnub either Romania or Peru or both. Is there a guest listthat will satisfy the whims of the entire royal family?
(P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
![Page 37: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/37.jpg)
6/37
A propositional problem (2/2)
ϕ =def (P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Truth table for ϕ
P Q R ϕ
0 0 0
0
0 0 1
1
0 1 0
0
0 1 1
0
1 0 0
0
1 0 1
0
1 1 0
1
1 1 1
0
SAT checker
DIMACS format
Vars → numbers: P → 1, Q→ 2, R→ 3Literals: P → 1, ¬P → −1
p cnf 3 3
P ∨ ¬Q
1 -2 0
Q ∨R
2 3 0
¬R ∨ ¬P
-3 -1 0
P ∨Q ∨ ¬R 1 2 -3 0
¬P ∨ ¬Q ∨R -1 -2 3 0
Solution: -1 -2 3 → ¬P ∧ ¬Q ∧R
Another solution? Add clause
Solution: 1 2 -3 → P ∧Q ∧ ¬RNo more solutions
![Page 38: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/38.jpg)
6/37
A propositional problem (2/2)
ϕ =def (P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Truth table for ϕ
P Q R ϕ
0 0 0
0
0 0 1
1
0 1 0
0
0 1 1
0
1 0 0
0
1 0 1
0
1 1 0
1
1 1 1
0
SAT checker
DIMACS format
Vars → numbers: P → 1, Q→ 2, R→ 3Literals: P → 1, ¬P → −1
p cnf 3 3
P ∨ ¬Q
1 -2 0
Q ∨R
2 3 0
¬R ∨ ¬P
-3 -1 0
P ∨Q ∨ ¬R 1 2 -3 0
¬P ∨ ¬Q ∨R -1 -2 3 0
Solution: -1 -2 3 → ¬P ∧ ¬Q ∧R
Another solution? Add clause
Solution: 1 2 -3 → P ∧Q ∧ ¬RNo more solutions
![Page 39: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/39.jpg)
6/37
A propositional problem (2/2)
ϕ =def (P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Truth table for ϕ
P Q R ϕ
0 0 0
0
0 0 1
1
0 1 0
0
0 1 1
0
1 0 0
0
1 0 1
0
1 1 0
1
1 1 1
0
SAT checker
DIMACS format
Vars → numbers: P → 1, Q→ 2, R→ 3Literals: P → 1, ¬P → −1
p cnf 3 3
P ∨ ¬Q
1 -2 0
Q ∨R
2 3 0
¬R ∨ ¬P
-3 -1 0
P ∨Q ∨ ¬R 1 2 -3 0
¬P ∨ ¬Q ∨R -1 -2 3 0
Solution: -1 -2 3 → ¬P ∧ ¬Q ∧R
Another solution? Add clause
Solution: 1 2 -3 → P ∧Q ∧ ¬RNo more solutions
![Page 40: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/40.jpg)
6/37
A propositional problem (2/2)
ϕ =def (P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Truth table for ϕ
P Q R ϕ
0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 01 0 1 01 1 0 11 1 1 0
SAT checker
DIMACS format
Vars → numbers: P → 1, Q→ 2, R→ 3Literals: P → 1, ¬P → −1
p cnf 3 3
P ∨ ¬Q
1 -2 0
Q ∨R
2 3 0
¬R ∨ ¬P
-3 -1 0
P ∨Q ∨ ¬R 1 2 -3 0
¬P ∨ ¬Q ∨R -1 -2 3 0
Solution: -1 -2 3 → ¬P ∧ ¬Q ∧R
Another solution? Add clause
Solution: 1 2 -3 → P ∧Q ∧ ¬RNo more solutions
![Page 41: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/41.jpg)
6/37
A propositional problem (2/2)
ϕ =def (P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Truth table for ϕ
P Q R ϕ
0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 01 0 1 01 1 0 11 1 1 0
SAT checker
DIMACS format
Vars → numbers: P → 1, Q→ 2, R→ 3Literals: P → 1, ¬P → −1
p cnf 3 3
P ∨ ¬Q
1 -2 0
Q ∨R
2 3 0
¬R ∨ ¬P
-3 -1 0
P ∨Q ∨ ¬R 1 2 -3 0
¬P ∨ ¬Q ∨R -1 -2 3 0
Solution: -1 -2 3 → ¬P ∧ ¬Q ∧R
Another solution? Add clause
Solution: 1 2 -3 → P ∧Q ∧ ¬RNo more solutions
![Page 42: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/42.jpg)
6/37
A propositional problem (2/2)
ϕ =def (P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Truth table for ϕ
P Q R ϕ
0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 01 0 1 01 1 0 11 1 1 0
SAT checker
DIMACS format
Vars → numbers: P → 1, Q→ 2, R→ 3Literals: P → 1, ¬P → −1
p cnf 3 3
P ∨ ¬Q
1 -2 0
Q ∨R
2 3 0
¬R ∨ ¬P
-3 -1 0
P ∨Q ∨ ¬R 1 2 -3 0
¬P ∨ ¬Q ∨R -1 -2 3 0
Solution: -1 -2 3 → ¬P ∧ ¬Q ∧R
Another solution? Add clause
Solution: 1 2 -3 → P ∧Q ∧ ¬RNo more solutions
![Page 43: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/43.jpg)
6/37
A propositional problem (2/2)
ϕ =def (P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Truth table for ϕ
P Q R ϕ
0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 01 0 1 01 1 0 11 1 1 0
SAT checker
DIMACS format
Vars → numbers: P → 1, Q→ 2, R→ 3Literals: P → 1, ¬P → −1
p cnf 3 3
P ∨ ¬Q 1 -2 0
Q ∨R 2 3 0
¬R ∨ ¬P -3 -1 0
P ∨Q ∨ ¬R 1 2 -3 0
¬P ∨ ¬Q ∨R -1 -2 3 0
Solution: -1 -2 3 → ¬P ∧ ¬Q ∧R
Another solution? Add clause
Solution: 1 2 -3 → P ∧Q ∧ ¬RNo more solutions
![Page 44: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/44.jpg)
6/37
A propositional problem (2/2)
ϕ =def (P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Truth table for ϕ
P Q R ϕ
0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 01 0 1 01 1 0 11 1 1 0
SAT checker
DIMACS format
Vars → numbers: P → 1, Q→ 2, R→ 3Literals: P → 1, ¬P → −1
p cnf 3 3
P ∨ ¬Q 1 -2 0
Q ∨R 2 3 0
¬R ∨ ¬P -3 -1 0
P ∨Q ∨ ¬R 1 2 -3 0
¬P ∨ ¬Q ∨R -1 -2 3 0
Solution: -1 -2 3 → ¬P ∧ ¬Q ∧R
Another solution? Add clause
Solution: 1 2 -3 → P ∧Q ∧ ¬RNo more solutions
![Page 45: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/45.jpg)
6/37
A propositional problem (2/2)
ϕ =def (P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Truth table for ϕ
P Q R ϕ
0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 01 0 1 01 1 0 11 1 1 0
SAT checker
DIMACS format
Vars → numbers: P → 1, Q→ 2, R→ 3Literals: P → 1, ¬P → −1
p cnf 3 3
P ∨ ¬Q 1 -2 0
Q ∨R 2 3 0
¬R ∨ ¬P -3 -1 0
P ∨Q ∨ ¬R 1 2 -3 0
¬P ∨ ¬Q ∨R -1 -2 3 0
Solution: -1 -2 3 → ¬P ∧ ¬Q ∧R
Another solution? Add clause
Solution: 1 2 -3 → P ∧Q ∧ ¬RNo more solutions
![Page 46: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/46.jpg)
6/37
A propositional problem (2/2)
ϕ =def (P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Truth table for ϕ
P Q R ϕ
0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 01 0 1 01 1 0 11 1 1 0
SAT checker
DIMACS format
Vars → numbers: P → 1, Q→ 2, R→ 3Literals: P → 1, ¬P → −1
p cnf 3 3
P ∨ ¬Q 1 -2 0
Q ∨R 2 3 0
¬R ∨ ¬P -3 -1 0
P ∨Q ∨ ¬R 1 2 -3 0
¬P ∨ ¬Q ∨R -1 -2 3 0
Solution: -1 -2 3 → ¬P ∧ ¬Q ∧R
Another solution? Add clause
Solution: 1 2 -3 → P ∧Q ∧ ¬RNo more solutions
![Page 47: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/47.jpg)
6/37
A propositional problem (2/2)
ϕ =def (P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Truth table for ϕ
P Q R ϕ
0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 01 0 1 01 1 0 11 1 1 0
SAT checker
DIMACS format
Vars → numbers: P → 1, Q→ 2, R→ 3Literals: P → 1, ¬P → −1
p cnf 3 3
P ∨ ¬Q 1 -2 0
Q ∨R 2 3 0
¬R ∨ ¬P -3 -1 0
P ∨Q ∨ ¬R 1 2 -3 0
¬P ∨ ¬Q ∨R -1 -2 3 0
Solution: -1 -2 3 → ¬P ∧ ¬Q ∧R
Another solution? Add clause
Solution: 1 2 -3 → P ∧Q ∧ ¬R
No more solutions
![Page 48: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/48.jpg)
6/37
A propositional problem (2/2)
ϕ =def (P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Truth table for ϕ
P Q R ϕ
0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 01 0 1 01 1 0 11 1 1 0
SAT checker
DIMACS format
Vars → numbers: P → 1, Q→ 2, R→ 3Literals: P → 1, ¬P → −1
p cnf 3 3
P ∨ ¬Q 1 -2 0
Q ∨R 2 3 0
¬R ∨ ¬P -3 -1 0
P ∨Q ∨ ¬R 1 2 -3 0
¬P ∨ ¬Q ∨R -1 -2 3 0
Solution: -1 -2 3 → ¬P ∧ ¬Q ∧R
Another solution? Add clause
Solution: 1 2 -3 → P ∧Q ∧ ¬R
No more solutions
![Page 49: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/49.jpg)
6/37
A propositional problem (2/2)
ϕ =def (P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Truth table for ϕ
P Q R ϕ
0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 01 0 1 01 1 0 11 1 1 0
SAT checker
DIMACS format
Vars → numbers: P → 1, Q→ 2, R→ 3Literals: P → 1, ¬P → −1
p cnf 3 3
P ∨ ¬Q 1 -2 0
Q ∨R 2 3 0
¬R ∨ ¬P -3 -1 0
P ∨Q ∨ ¬R 1 2 -3 0
¬P ∨ ¬Q ∨R -1 -2 3 0
Solution: -1 -2 3 → ¬P ∧ ¬Q ∧R
Another solution? Add clause
Solution: 1 2 -3 → P ∧Q ∧ ¬RNo more solutions
![Page 50: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/50.jpg)
7/37
DPLL: rule-based viewDavis, Putnam, Logemann, Loveland
Let S be a set of clauses
Unit ResolutionS ∪ {`, C ∨ `}S ∪ {`, C}(
Unit SubsumptionS ∪ {`, C ∨ `}
S ∪ {`}
)Splitting
S
S ∪ {v} | S ∪ {¬v} if v is a variable occurring in S
I Failed branch: a trivial contradiction {. . . , v, . . . ,¬v . . . }I Successful branch: not failed, only unit clauses (with unit sub.)
Exercise: explain how a Boolean model can be extracted from theapplication of these rules(Hint: think of derivation trees and collect unit clauses...)
![Page 51: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/51.jpg)
7/37
DPLL: rule-based viewDavis, Putnam, Logemann, Loveland
Let S be a set of clauses
Unit ResolutionS ∪ {`, C ∨ `}S ∪ {`, C}(
Unit SubsumptionS ∪ {`, C ∨ `}
S ∪ {`}
)Splitting
S
S ∪ {v} | S ∪ {¬v} if v is a variable occurring in S
I Failed branch: a trivial contradiction {. . . , v, . . . ,¬v . . . }I Successful branch: not failed, only unit clauses (with unit sub.)
Exercise: explain how a Boolean model can be extracted from theapplication of these rules
(Hint: think of derivation trees and collect unit clauses...)
![Page 52: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/52.jpg)
7/37
DPLL: rule-based viewDavis, Putnam, Logemann, Loveland
Let S be a set of clauses
Unit ResolutionS ∪ {`, C ∨ `}S ∪ {`, C}(
Unit SubsumptionS ∪ {`, C ∨ `}
S ∪ {`}
)Splitting
S
S ∪ {v} | S ∪ {¬v} if v is a variable occurring in S
I Failed branch: a trivial contradiction {. . . , v, . . . ,¬v . . . }I Successful branch: not failed, only unit clauses (with unit sub.)
Exercise: explain how a Boolean model can be extracted from theapplication of these rules(Hint: think of derivation trees and collect unit clauses...)
![Page 53: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/53.jpg)
8/37
DPLL: example
(P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Already a set of clauses:
Split
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P} | {P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}
And then only Unit Resolution rules
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P}{P ∨ ¬Q,Q ∨R,¬R,P}{P ∨ ¬Q,Q,¬R,P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,R,¬R ∨ ¬P,¬P}
Remarks :
I Same two models again
I Satisfiability procedure: find one model (and stop)
I Much less sensitive to the number of variables than truth tables
![Page 54: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/54.jpg)
8/37
DPLL: example
(P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Already a set of clauses:
Split{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P} | {P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}
And then only Unit Resolution rules
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P}{P ∨ ¬Q,Q ∨R,¬R,P}{P ∨ ¬Q,Q,¬R,P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,R,¬R ∨ ¬P,¬P}
Remarks :
I Same two models again
I Satisfiability procedure: find one model (and stop)
I Much less sensitive to the number of variables than truth tables
![Page 55: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/55.jpg)
8/37
DPLL: example
(P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Already a set of clauses:
Split{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P} | {P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}
And then only Unit Resolution rules
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P}
{P ∨ ¬Q,Q ∨R,¬R,P}{P ∨ ¬Q,Q,¬R,P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,R,¬R ∨ ¬P,¬P}
Remarks :
I Same two models again
I Satisfiability procedure: find one model (and stop)
I Much less sensitive to the number of variables than truth tables
![Page 56: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/56.jpg)
8/37
DPLL: example
(P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Already a set of clauses:
Split{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P} | {P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}
And then only Unit Resolution rules
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P}{P ∨ ¬Q,Q ∨R,¬R,P}
{P ∨ ¬Q,Q,¬R,P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,R,¬R ∨ ¬P,¬P}
Remarks :
I Same two models again
I Satisfiability procedure: find one model (and stop)
I Much less sensitive to the number of variables than truth tables
![Page 57: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/57.jpg)
8/37
DPLL: example
(P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Already a set of clauses:
Split{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P} | {P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}
And then only Unit Resolution rules
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P}{P ∨ ¬Q,Q ∨R,¬R,P}{P ∨ ¬Q,Q,¬R,P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,R,¬R ∨ ¬P,¬P}
Remarks :
I Same two models again
I Satisfiability procedure: find one model (and stop)
I Much less sensitive to the number of variables than truth tables
![Page 58: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/58.jpg)
8/37
DPLL: example
(P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Already a set of clauses:
Split{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P} | {P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}
And then only Unit Resolution rules
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P}{P ∨ ¬Q,Q ∨R,¬R,P}{P ∨ ¬Q,Q,¬R,P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}
{¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,R,¬R ∨ ¬P,¬P}
Remarks :
I Same two models again
I Satisfiability procedure: find one model (and stop)
I Much less sensitive to the number of variables than truth tables
![Page 59: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/59.jpg)
8/37
DPLL: example
(P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Already a set of clauses:
Split{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P} | {P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}
And then only Unit Resolution rules
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P}{P ∨ ¬Q,Q ∨R,¬R,P}{P ∨ ¬Q,Q,¬R,P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,Q ∨R,¬R ∨ ¬P,¬P}
{¬Q,R,¬R ∨ ¬P,¬P}
Remarks :
I Same two models again
I Satisfiability procedure: find one model (and stop)
I Much less sensitive to the number of variables than truth tables
![Page 60: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/60.jpg)
8/37
DPLL: example
(P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Already a set of clauses:
Split{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P} | {P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}
And then only Unit Resolution rules
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P}{P ∨ ¬Q,Q ∨R,¬R,P}{P ∨ ¬Q,Q,¬R,P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,R,¬R ∨ ¬P,¬P}
Remarks :
I Same two models again
I Satisfiability procedure: find one model (and stop)
I Much less sensitive to the number of variables than truth tables
![Page 61: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/61.jpg)
8/37
DPLL: example
(P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Already a set of clauses:
Split{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P} | {P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}
And then only Unit Resolution rules
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P}{P ∨ ¬Q,Q ∨R,¬R,P}{P ∨ ¬Q,Q,¬R,P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,R,¬R ∨ ¬P,¬P}
Remarks :
I Same two models again
I Satisfiability procedure: find one model (and stop)
I Much less sensitive to the number of variables than truth tables
![Page 62: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/62.jpg)
8/37
DPLL: example
(P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Already a set of clauses:
Split{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P} | {P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}
And then only Unit Resolution rules
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P}{P ∨ ¬Q,Q ∨R,¬R,P}{P ∨ ¬Q,Q,¬R,P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,R,¬R ∨ ¬P,¬P}
Remarks :
I Same two models again
I Satisfiability procedure: find one model (and stop)
I Much less sensitive to the number of variables than truth tables
![Page 63: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/63.jpg)
8/37
DPLL: example
(P ∨ ¬Q) ∧ (Q ∨R) ∧ (¬R ∨ ¬P )
Already a set of clauses:
Split{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P} | {P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}
And then only Unit Resolution rules
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P, P}{P ∨ ¬Q,Q ∨R,¬R,P}{P ∨ ¬Q,Q,¬R,P}
{P ∨ ¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,Q ∨R,¬R ∨ ¬P,¬P}{¬Q,R,¬R ∨ ¬P,¬P}
Remarks :
I Same two models again
I Satisfiability procedure: find one model (and stop)
I Much less sensitive to the number of variables than truth tables
![Page 64: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/64.jpg)
9/37
DPLL: exercises
I P ∨Q,¬P ∨Q,¬R ∨ ¬Q,R ∨ ¬QI P ∨Q ∨R,¬P ∨ ¬Q ∨ ¬R,¬P ∨Q ∨R,¬Q ∨R,Q ∨ ¬RI ¬Q ∨ P,¬P ∨ ¬Q,Q ∨R,¬Q ∨ ¬R,¬P ∨ ¬R,P ∨ ¬R
![Page 65: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/65.jpg)
10/37
Boolean formulas, CNF, DNF
I Boolean formulas: built with variables ¬, ∧, ∨, ⇒, . . .
I Conjunctive Normal Form (CNF): conjunction of clauses
I Disjunctive Normal Form (DNF): disjunction of cubes
Theorem
Every formula is logically equivalent to a CNF (DNF)
Remark :
I Converting to DNF, then finding one satisfiable cube is a trivialsatisfiability procedure
I checking the satisfiability of a cube is linear
I so DNF conversion cannot be efficient (i.e. polynomial) or P = NP
I computing DNF of formula: negation of CNF of negation of formula
I so CNF conversion cannot be efficient
![Page 66: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/66.jpg)
10/37
Boolean formulas, CNF, DNF
I Boolean formulas: built with variables ¬, ∧, ∨, ⇒, . . .
I Conjunctive Normal Form (CNF): conjunction of clauses
I Disjunctive Normal Form (DNF): disjunction of cubes
Theorem
Every formula is logically equivalent to a CNF (DNF)
Remark :
I Converting to DNF, then finding one satisfiable cube is a trivialsatisfiability procedure
I checking the satisfiability of a cube is linear
I so DNF conversion cannot be efficient (i.e. polynomial) or P = NP
I computing DNF of formula: negation of CNF of negation of formula
I so CNF conversion cannot be efficient
![Page 67: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/67.jpg)
10/37
Boolean formulas, CNF, DNF
I Boolean formulas: built with variables ¬, ∧, ∨, ⇒, . . .
I Conjunctive Normal Form (CNF): conjunction of clauses
I Disjunctive Normal Form (DNF): disjunction of cubes
Theorem
Every formula is logically equivalent to a CNF (DNF)
Remark :
I Converting to DNF, then finding one satisfiable cube is a trivialsatisfiability procedure
I checking the satisfiability of a cube is linear
I so DNF conversion cannot be efficient (i.e. polynomial) or P = NP
I computing DNF of formula: negation of CNF of negation of formula
I so CNF conversion cannot be efficient
![Page 68: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/68.jpg)
10/37
Boolean formulas, CNF, DNF
I Boolean formulas: built with variables ¬, ∧, ∨, ⇒, . . .
I Conjunctive Normal Form (CNF): conjunction of clauses
I Disjunctive Normal Form (DNF): disjunction of cubes
Theorem
Every formula is logically equivalent to a CNF (DNF)
Remark :
I Converting to DNF, then finding one satisfiable cube is a trivialsatisfiability procedure
I checking the satisfiability of a cube is linear
I so DNF conversion cannot be efficient (i.e. polynomial) or P = NP
I computing DNF of formula: negation of CNF of negation of formula
I so CNF conversion cannot be efficient
![Page 69: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/69.jpg)
10/37
Boolean formulas, CNF, DNF
I Boolean formulas: built with variables ¬, ∧, ∨, ⇒, . . .
I Conjunctive Normal Form (CNF): conjunction of clauses
I Disjunctive Normal Form (DNF): disjunction of cubes
Theorem
Every formula is logically equivalent to a CNF (DNF)
Remark :
I Converting to DNF, then finding one satisfiable cube is a trivialsatisfiability procedure
I checking the satisfiability of a cube is linear
I so DNF conversion cannot be efficient (i.e. polynomial) or P = NP
I computing DNF of formula: negation of CNF of negation of formula
I so CNF conversion cannot be efficient
![Page 70: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/70.jpg)
10/37
Boolean formulas, CNF, DNF
I Boolean formulas: built with variables ¬, ∧, ∨, ⇒, . . .
I Conjunctive Normal Form (CNF): conjunction of clauses
I Disjunctive Normal Form (DNF): disjunction of cubes
Theorem
Every formula is logically equivalent to a CNF (DNF)
Remark :
I Converting to DNF, then finding one satisfiable cube is a trivialsatisfiability procedure
I checking the satisfiability of a cube is linear
I so DNF conversion cannot be efficient (i.e. polynomial) or P = NP
I computing DNF of formula: negation of CNF of negation of formula
I so CNF conversion cannot be efficient
![Page 71: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/71.jpg)
10/37
Boolean formulas, CNF, DNF
I Boolean formulas: built with variables ¬, ∧, ∨, ⇒, . . .
I Conjunctive Normal Form (CNF): conjunction of clauses
I Disjunctive Normal Form (DNF): disjunction of cubes
Theorem
Every formula is logically equivalent to a CNF (DNF)
Remark :
I Converting to DNF, then finding one satisfiable cube is a trivialsatisfiability procedure
I checking the satisfiability of a cube is linear
I so DNF conversion cannot be efficient (i.e. polynomial) or P = NP
I computing DNF of formula: negation of CNF of negation of formula
I so CNF conversion cannot be efficient
![Page 72: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/72.jpg)
10/37
Boolean formulas, CNF, DNF
I Boolean formulas: built with variables ¬, ∧, ∨, ⇒, . . .
I Conjunctive Normal Form (CNF): conjunction of clauses
I Disjunctive Normal Form (DNF): disjunction of cubes
Theorem
Every formula is logically equivalent to a CNF (DNF)
Remark :
I Converting to DNF, then finding one satisfiable cube is a trivialsatisfiability procedure
I checking the satisfiability of a cube is linear
I so DNF conversion cannot be efficient (i.e. polynomial) or P = NP
I computing DNF of formula: negation of CNF of negation of formula
I so CNF conversion cannot be efficient
![Page 73: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/73.jpg)
10/37
Boolean formulas, CNF, DNF
I Boolean formulas: built with variables ¬, ∧, ∨, ⇒, . . .
I Conjunctive Normal Form (CNF): conjunction of clauses
I Disjunctive Normal Form (DNF): disjunction of cubes
Theorem
Every formula is logically equivalent to a CNF (DNF)
Remark :
I Converting to DNF, then finding one satisfiable cube is a trivialsatisfiability procedure
I checking the satisfiability of a cube is linear
I so DNF conversion cannot be efficient (i.e. polynomial) or P = NP
I computing DNF of formula: negation of CNF of negation of formula
I so CNF conversion cannot be efficient
![Page 74: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/74.jpg)
10/37
Boolean formulas, CNF, DNF
I Boolean formulas: built with variables ¬, ∧, ∨, ⇒, . . .
I Conjunctive Normal Form (CNF): conjunction of clauses
I Disjunctive Normal Form (DNF): disjunction of cubes
Theorem
Every formula is logically equivalent to a CNF (DNF)
Remark :
I Converting to DNF, then finding one satisfiable cube is a trivialsatisfiability procedure
I checking the satisfiability of a cube is linear
I so DNF conversion cannot be efficient (i.e. polynomial) or P = NP
I computing DNF of formula: negation of CNF of negation of formula
I so CNF conversion cannot be efficient
![Page 75: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/75.jpg)
11/37
Efficient computation of CNF
ConsiderΦ = (a1 ∧ · · · ∧ am) ∨ (b1 ∧ · · · ∧ bn)
Equivalent CNF:m∧i=1
n∧j=1
(ai ∨ bj)
Equisatisfiable CNF:
(X ∨ Y ) ∧ (X ⇔ a1 ∧ · · · ∧ am) ∧ (Y ⇔ b1 ∧ · · · ∧ bn)
where (X ⇔ a1 ∧ · · · ∧ am) can be represented as a conjunction ofclauses
(Exercise next slide).
Theorem (Tseitin transformation)
Every formula can be transformed in linear time into anequisatisfiable CNF
![Page 76: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/76.jpg)
11/37
Efficient computation of CNF
ConsiderΦ = (a1 ∧ · · · ∧ am) ∨ (b1 ∧ · · · ∧ bn)
Equivalent CNF:m∧i=1
n∧j=1
(ai ∨ bj)
Equisatisfiable CNF:
(X ∨ Y ) ∧ (X ⇔ a1 ∧ · · · ∧ am) ∧ (Y ⇔ b1 ∧ · · · ∧ bn)
where (X ⇔ a1 ∧ · · · ∧ am) can be represented as a conjunction ofclauses (Exercise next slide).
Theorem (Tseitin transformation)
Every formula can be transformed in linear time into anequisatisfiable CNF
![Page 77: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/77.jpg)
11/37
Efficient computation of CNF
ConsiderΦ = (a1 ∧ · · · ∧ am) ∨ (b1 ∧ · · · ∧ bn)
Equivalent CNF:m∧i=1
n∧j=1
(ai ∨ bj)
Equisatisfiable CNF:
(X ∨ Y ) ∧ (X ⇔ a1 ∧ · · · ∧ am) ∧ (Y ⇔ b1 ∧ · · · ∧ bn)
where (X ⇔ a1 ∧ · · · ∧ am) can be represented as a conjunction ofclauses (Exercise next slide).
Theorem (Tseitin transformation)
Every formula can be transformed in linear time into anequisatisfiable CNF
![Page 78: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/78.jpg)
12/37
Computing CNFs: exercises
I (X ⇔ a1 ∧ · · · ∧ am)
I (p⇒ q) ≡ (p⇒ r)
I (p ∧ q) ∨ (r ∧ s) ∨ (¬q ∧ (p ∨ t))
![Page 79: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/79.jpg)
13/37
DPLL: from rules to algorithm
From rules to algorithm:
I a way to enumerate splittings
I some splittings may lead to closed branches (clause unsatisfied/ empty clause derived)
I backtracking
I avoid copying sets of clauses and modifying clauses
Stack of assigned literals:
I some decided, others propagated
I level: number of decided literals on stack
I some clause become unitall literals but one assigned to false, last literal not assigned=⇒ new propagated literal on the stack
I clause may be falsified: all literals assigned to false=⇒ backtrack the last decision
I never mind about satisfied clause
![Page 80: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/80.jpg)
13/37
DPLL: from rules to algorithm
From rules to algorithm:
I a way to enumerate splittings
I some splittings may lead to closed branches (clause unsatisfied/ empty clause derived)
I backtracking
I avoid copying sets of clauses and modifying clauses
Stack of assigned literals:
I some decided, others propagated
I level: number of decided literals on stack
I some clause become unitall literals but one assigned to false, last literal not assigned=⇒ new propagated literal on the stack
I clause may be falsified: all literals assigned to false=⇒ backtrack the last decision
I never mind about satisfied clause
![Page 81: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/81.jpg)
13/37
DPLL: from rules to algorithm
From rules to algorithm:
I a way to enumerate splittings
I some splittings may lead to closed branches (clause unsatisfied/ empty clause derived)
I backtracking
I avoid copying sets of clauses and modifying clauses
Stack of assigned literals:
I some decided, others propagated
I level: number of decided literals on stack
I some clause become unitall literals but one assigned to false, last literal not assigned=⇒ new propagated literal on the stack
I clause may be falsified: all literals assigned to false=⇒ backtrack the last decision
I never mind about satisfied clause
![Page 82: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/82.jpg)
13/37
DPLL: from rules to algorithm
From rules to algorithm:
I a way to enumerate splittings
I some splittings may lead to closed branches (clause unsatisfied/ empty clause derived)
I backtracking
I avoid copying sets of clauses and modifying clauses
Stack of assigned literals:
I some decided, others propagated
I level: number of decided literals on stack
I some clause become unitall literals but one assigned to false, last literal not assigned=⇒ new propagated literal on the stack
I clause may be falsified: all literals assigned to false=⇒ backtrack the last decision
I never mind about satisfied clause
![Page 83: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/83.jpg)
13/37
DPLL: from rules to algorithm
From rules to algorithm:
I a way to enumerate splittings
I some splittings may lead to closed branches (clause unsatisfied/ empty clause derived)
I backtracking
I avoid copying sets of clauses and modifying clauses
Stack of assigned literals:
I some decided, others propagated
I level: number of decided literals on stack
I some clause become unitall literals but one assigned to false, last literal not assigned=⇒ new propagated literal on the stack
I clause may be falsified: all literals assigned to false=⇒ backtrack the last decision
I never mind about satisfied clause
![Page 84: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/84.jpg)
13/37
DPLL: from rules to algorithm
From rules to algorithm:
I a way to enumerate splittings
I some splittings may lead to closed branches (clause unsatisfied/ empty clause derived)
I backtracking
I avoid copying sets of clauses and modifying clauses
Stack of assigned literals:
I some decided, others propagated
I level: number of decided literals on stack
I some clause become unitall literals but one assigned to false, last literal not assigned=⇒ new propagated literal on the stack
I clause may be falsified: all literals assigned to false=⇒ backtrack the last decision
I never mind about satisfied clause
![Page 85: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/85.jpg)
13/37
DPLL: from rules to algorithm
From rules to algorithm:
I a way to enumerate splittings
I some splittings may lead to closed branches (clause unsatisfied/ empty clause derived)
I backtracking
I avoid copying sets of clauses and modifying clauses
Stack of assigned literals:
I some decided, others propagated
I level: number of decided literals on stack
I some clause become unitall literals but one assigned to false, last literal not assigned=⇒ new propagated literal on the stack
I clause may be falsified: all literals assigned to false=⇒ backtrack the last decision
I never mind about satisfied clause
![Page 86: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/86.jpg)
13/37
DPLL: from rules to algorithm
From rules to algorithm:
I a way to enumerate splittings
I some splittings may lead to closed branches (clause unsatisfied/ empty clause derived)
I backtracking
I avoid copying sets of clauses and modifying clauses
Stack of assigned literals:
I some decided, others propagated
I level: number of decided literals on stack
I some clause become unitall literals but one assigned to false, last literal not assigned=⇒ new propagated literal on the stack
I clause may be falsified: all literals assigned to false=⇒ backtrack the last decision
I never mind about satisfied clause
![Page 87: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/87.jpg)
13/37
DPLL: from rules to algorithm
From rules to algorithm:
I a way to enumerate splittings
I some splittings may lead to closed branches (clause unsatisfied/ empty clause derived)
I backtracking
I avoid copying sets of clauses and modifying clauses
Stack of assigned literals:
I some decided, others propagated
I level: number of decided literals on stack
I some clause become unitall literals but one assigned to false, last literal not assigned=⇒ new propagated literal on the stack
I clause may be falsified: all literals assigned to false=⇒ backtrack the last decision
I never mind about satisfied clause
![Page 88: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/88.jpg)
13/37
DPLL: from rules to algorithm
From rules to algorithm:
I a way to enumerate splittings
I some splittings may lead to closed branches (clause unsatisfied/ empty clause derived)
I backtracking
I avoid copying sets of clauses and modifying clauses
Stack of assigned literals:
I some decided, others propagated
I level: number of decided literals on stack
I some clause become unitall literals but one assigned to false, last literal not assigned=⇒ new propagated literal on the stack
I clause may be falsified: all literals assigned to false=⇒ backtrack the last decision
I never mind about satisfied clause
![Page 89: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/89.jpg)
14/37
DPLL: algorithmic view
1: procedure SAT(C)2: while > do3: if Propagate() then4: if ¬Decide() then5: return SAT
6: continue7: if level = 0 then8: return UNSAT
9: Analyse()
10: Backtrack()
I Propagate: find unit clausesrepeatedly and push literals onthe stack. Returns ⊥ iffunsatisfied clause
I Decide: choses one nonassigned literal, push on stack.Returns ⊥ iff no literal
I Analyse: analyse the conflictfrom propagate, create conflictclause, add it in the set ofclauses
I Backtrack: backtrack (popliterals from stack) until the lastdecision and add the oppositeliteral as propagated
Write successive stacks for runs on
I {P ∨ ¬Q,Q ∨R,¬R ∨ ¬P}I {a∨b,¬b∨c∨d,¬b∨e,¬d∨¬e∨f, a∨c∨f,¬a∨g,¬g∨b,¬h∨j,¬i∨k}
![Page 90: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/90.jpg)
14/37
DPLL: algorithmic view
1: procedure SAT(C)2: while > do3: if Propagate() then4: if ¬Decide() then5: return SAT
6: continue7: if level = 0 then8: return UNSAT
9: Analyse()
10: Backtrack()
I Propagate: find unit clausesrepeatedly and push literals onthe stack. Returns ⊥ iffunsatisfied clause
I Decide: choses one nonassigned literal, push on stack.Returns ⊥ iff no literal
I Analyse: analyse the conflictfrom propagate, create conflictclause, add it in the set ofclauses
I Backtrack: backtrack (popliterals from stack) until the lastdecision and add the oppositeliteral as propagated
Write successive stacks for runs on
I {P ∨ ¬Q,Q ∨R,¬R ∨ ¬P}I {a∨b,¬b∨c∨d,¬b∨e,¬d∨¬e∨f, a∨c∨f,¬a∨g,¬g∨b,¬h∨j,¬i∨k}
![Page 91: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/91.jpg)
14/37
DPLL: algorithmic view
1: procedure SAT(C)2: while > do3: if Propagate() then4: if ¬Decide() then5: return SAT
6: continue7: if level = 0 then8: return UNSAT
9: Analyse()
10: Backtrack()
I Propagate: find unit clausesrepeatedly and push literals onthe stack. Returns ⊥ iffunsatisfied clause
I Decide: choses one nonassigned literal, push on stack.Returns ⊥ iff no literal
I Analyse: analyse the conflictfrom propagate, create conflictclause, add it in the set ofclauses
I Backtrack: backtrack (popliterals from stack) until the lastdecision and add the oppositeliteral as propagated
Write successive stacks for runs on
I {P ∨ ¬Q,Q ∨R,¬R ∨ ¬P}I {a∨b,¬b∨c∨d,¬b∨e,¬d∨¬e∨f, a∨c∨f,¬a∨g,¬g∨b,¬h∨j,¬i∨k}
![Page 92: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/92.jpg)
14/37
DPLL: algorithmic view
1: procedure SAT(C)2: while > do3: if Propagate() then4: if ¬Decide() then5: return SAT
6: continue7: if level = 0 then8: return UNSAT
9: Analyse()
10: Backtrack()
I Propagate: find unit clausesrepeatedly and push literals onthe stack. Returns ⊥ iffunsatisfied clause
I Decide: choses one nonassigned literal, push on stack.Returns ⊥ iff no literal
I Analyse: analyse the conflictfrom propagate, create conflictclause, add it in the set ofclauses
I Backtrack: backtrack (popliterals from stack) until the lastdecision and add the oppositeliteral as propagated
Write successive stacks for runs on
I {P ∨ ¬Q,Q ∨R,¬R ∨ ¬P}I {a∨b,¬b∨c∨d,¬b∨e,¬d∨¬e∨f, a∨c∨f,¬a∨g,¬g∨b,¬h∨j,¬i∨k}
![Page 93: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/93.jpg)
14/37
DPLL: algorithmic view
1: procedure SAT(C)2: while > do3: if Propagate() then4: if ¬Decide() then5: return SAT
6: continue7: if level = 0 then8: return UNSAT
9: Analyse()
10: Backtrack()
I Propagate: find unit clausesrepeatedly and push literals onthe stack. Returns ⊥ iffunsatisfied clause
I Decide: choses one nonassigned literal, push on stack.Returns ⊥ iff no literal
I Analyse: analyse the conflictfrom propagate, create conflictclause, add it in the set ofclauses
I Backtrack: backtrack (popliterals from stack) until the lastdecision and add the oppositeliteral as propagated
Write successive stacks for runs on
I {P ∨ ¬Q,Q ∨R,¬R ∨ ¬P}I {a∨b,¬b∨c∨d,¬b∨e,¬d∨¬e∨f, a∨c∨f,¬a∨g,¬g∨b,¬h∨j,¬i∨k}
![Page 94: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/94.jpg)
15/37
DPLL: abstract view
Rules handle a data-structure M || F where M is a partialassignment of Boolean variables, and F is a set of clauses
Propagate M || F,C ∨ ` ` M ` || F,C ∨ `if M |= ¬C, ` undefined in M
Decide M || F ` M `d || Fif ` or ` in F , ` undefined in M
Fail M || F,C ` ⊥if M |= ¬C, no decision literals in M
Backtrack M `d N || F,C ` M ` || F,C
if
{M `d N |= ¬Cno decision literals in N
![Page 95: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/95.jpg)
16/37
DPLL: algorithmic view
1: procedure SAT(C)2: while > do3: if Propagate() then4: if ¬Decide() then5: return SAT
6: continue7: if level = 0 then8: return UNSAT
9: Analyse()
10: Backtrack()
I Propagate: find unit clausesrepeatedly and push literals onthe stack. Returns ⊥ iffunsatisfied clause
I Decide: choses one nonassigned literal, push on stack.Returns ⊥ iff no literal
I Analyse: analyse the conflictfrom propagate, create conflictclause, add it in the set ofclauses
I Backtrack: backtrack (popliterals from stack) until the lastdecision and add the oppositeliteral as propagated
![Page 96: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/96.jpg)
17/37
Towards CDCLConflict Driven Clause Learning
Backtrack
I depending on decisions, the same dead end may be tried againand again
I would be much better to remember the very reason whyconflict: new clause
I then forget about backtracking and changing decision. Justadd clause, backtrack to when it is propagating
![Page 97: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/97.jpg)
17/37
Towards CDCLConflict Driven Clause Learning
Backtrack
I depending on decisions, the same dead end may be tried againand again
I would be much better to remember the very reason whyconflict: new clause
I then forget about backtracking and changing decision. Justadd clause, backtrack to when it is propagating
![Page 98: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/98.jpg)
17/37
Towards CDCLConflict Driven Clause Learning
Backtrack
I depending on decisions, the same dead end may be tried againand again
I would be much better to remember the very reason whyconflict: new clause
I then forget about backtracking and changing decision. Justadd clause, backtrack to when it is propagating
![Page 99: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/99.jpg)
18/37
DPLL: algorithmic view
1: procedure SAT(C)2: while > do3: if Propagate() then4: if ¬Decide() then5: return SAT
6: continue7: if level = 0 then8: return UNSAT
9: Analyse()
10: Backtrack()
I Propagate: find unit clausesrepeatedly and push literals onthe stack. Returns ⊥ iffunsatisfied clause
I Decide: choses one nonassigned literal, push on stack.Returns ⊥ iff no literal
I Analyse: analyse the conflictfrom propagate, create conflictclause, add it in the set ofclauses
I Backtrack: backtrack (popliterals from stack) until the lastdecision and add the oppositeliteral as propagated
![Page 100: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/100.jpg)
19/37
CDCL: algorithmic view
1: procedure SAT(C)2: while > do3: if Propagate() then4: if ¬Decide() then5: return SAT
6: continue7: if level = 0 then8: return UNSAT
9: Analyse()10: Backtrack()
I Propagate: find unit clausesrepeatedly and push literals onthe stack. Returns ⊥ iffunsatisfied clause
I Decide: choses one nonassigned literal, push on stack.Returns ⊥ iff no literal
I Analyse: analyse the conflictfrom propagate, create conflictclause, add it in the set ofclauses
I Backtrack: backtrack(eliminate literals from stack)until conflict clause is unit
![Page 101: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/101.jpg)
20/37
Conflict analysis, example (1/5)
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
I No unit clause: decide ¬x1I C1: propagate x2I C2: propagate ¬x3I No unit clause: decide x4I C3: propagate ¬x5I C4: propagate x6I No unit clause: decide ¬x7I C5: propagate ¬x8I C6: propagate x9I No unit clause: decide ¬x10I C7: propagate x11I C8: propagate ¬x12I C9: propagate ¬x13I C10: propagate x14I C11: propagate x15I C12: propagate ¬x16I C13: propagate x16I Conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 102: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/102.jpg)
20/37
Conflict analysis, example (1/5)
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
I No unit clause: decide ¬x1
I C1: propagate x2I C2: propagate ¬x3I No unit clause: decide x4I C3: propagate ¬x5I C4: propagate x6I No unit clause: decide ¬x7I C5: propagate ¬x8I C6: propagate x9I No unit clause: decide ¬x10I C7: propagate x11I C8: propagate ¬x12I C9: propagate ¬x13I C10: propagate x14I C11: propagate x15I C12: propagate ¬x16I C13: propagate x16I Conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 103: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/103.jpg)
20/37
Conflict analysis, example (1/5)
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
I No unit clause: decide ¬x1I C1: propagate x2
I C2: propagate ¬x3I No unit clause: decide x4I C3: propagate ¬x5I C4: propagate x6I No unit clause: decide ¬x7I C5: propagate ¬x8I C6: propagate x9I No unit clause: decide ¬x10I C7: propagate x11I C8: propagate ¬x12I C9: propagate ¬x13I C10: propagate x14I C11: propagate x15I C12: propagate ¬x16I C13: propagate x16I Conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 104: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/104.jpg)
20/37
Conflict analysis, example (1/5)
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
I No unit clause: decide ¬x1I C1: propagate x2I C2: propagate ¬x3
I No unit clause: decide x4I C3: propagate ¬x5I C4: propagate x6I No unit clause: decide ¬x7I C5: propagate ¬x8I C6: propagate x9I No unit clause: decide ¬x10I C7: propagate x11I C8: propagate ¬x12I C9: propagate ¬x13I C10: propagate x14I C11: propagate x15I C12: propagate ¬x16I C13: propagate x16I Conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 105: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/105.jpg)
20/37
Conflict analysis, example (1/5)
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
I No unit clause: decide ¬x1I C1: propagate x2I C2: propagate ¬x3I No unit clause: decide x4
I C3: propagate ¬x5I C4: propagate x6I No unit clause: decide ¬x7I C5: propagate ¬x8I C6: propagate x9I No unit clause: decide ¬x10I C7: propagate x11I C8: propagate ¬x12I C9: propagate ¬x13I C10: propagate x14I C11: propagate x15I C12: propagate ¬x16I C13: propagate x16I Conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 106: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/106.jpg)
20/37
Conflict analysis, example (1/5)
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
I No unit clause: decide ¬x1I C1: propagate x2I C2: propagate ¬x3I No unit clause: decide x4I C3: propagate ¬x5
I C4: propagate x6I No unit clause: decide ¬x7I C5: propagate ¬x8I C6: propagate x9I No unit clause: decide ¬x10I C7: propagate x11I C8: propagate ¬x12I C9: propagate ¬x13I C10: propagate x14I C11: propagate x15I C12: propagate ¬x16I C13: propagate x16I Conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 107: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/107.jpg)
20/37
Conflict analysis, example (1/5)
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
I No unit clause: decide ¬x1I C1: propagate x2I C2: propagate ¬x3I No unit clause: decide x4I C3: propagate ¬x5I C4: propagate x6
I No unit clause: decide ¬x7I C5: propagate ¬x8I C6: propagate x9I No unit clause: decide ¬x10I C7: propagate x11I C8: propagate ¬x12I C9: propagate ¬x13I C10: propagate x14I C11: propagate x15I C12: propagate ¬x16I C13: propagate x16I Conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 108: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/108.jpg)
20/37
Conflict analysis, example (1/5)
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
I No unit clause: decide ¬x1I C1: propagate x2I C2: propagate ¬x3I No unit clause: decide x4I C3: propagate ¬x5I C4: propagate x6I No unit clause: decide ¬x7
I C5: propagate ¬x8I C6: propagate x9I No unit clause: decide ¬x10I C7: propagate x11I C8: propagate ¬x12I C9: propagate ¬x13I C10: propagate x14I C11: propagate x15I C12: propagate ¬x16I C13: propagate x16I Conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 109: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/109.jpg)
20/37
Conflict analysis, example (1/5)
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
I No unit clause: decide ¬x1I C1: propagate x2I C2: propagate ¬x3I No unit clause: decide x4I C3: propagate ¬x5I C4: propagate x6I No unit clause: decide ¬x7I C5: propagate ¬x8
I C6: propagate x9I No unit clause: decide ¬x10I C7: propagate x11I C8: propagate ¬x12I C9: propagate ¬x13I C10: propagate x14I C11: propagate x15I C12: propagate ¬x16I C13: propagate x16I Conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 110: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/110.jpg)
20/37
Conflict analysis, example (1/5)
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
I No unit clause: decide ¬x1I C1: propagate x2I C2: propagate ¬x3I No unit clause: decide x4I C3: propagate ¬x5I C4: propagate x6I No unit clause: decide ¬x7I C5: propagate ¬x8I C6: propagate x9
I No unit clause: decide ¬x10I C7: propagate x11I C8: propagate ¬x12I C9: propagate ¬x13I C10: propagate x14I C11: propagate x15I C12: propagate ¬x16I C13: propagate x16I Conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 111: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/111.jpg)
20/37
Conflict analysis, example (1/5)
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
I No unit clause: decide ¬x1I C1: propagate x2I C2: propagate ¬x3I No unit clause: decide x4I C3: propagate ¬x5I C4: propagate x6I No unit clause: decide ¬x7I C5: propagate ¬x8I C6: propagate x9I No unit clause: decide ¬x10
I C7: propagate x11I C8: propagate ¬x12I C9: propagate ¬x13I C10: propagate x14I C11: propagate x15I C12: propagate ¬x16I C13: propagate x16I Conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 112: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/112.jpg)
20/37
Conflict analysis, example (1/5)
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
I No unit clause: decide ¬x1I C1: propagate x2I C2: propagate ¬x3I No unit clause: decide x4I C3: propagate ¬x5I C4: propagate x6I No unit clause: decide ¬x7I C5: propagate ¬x8I C6: propagate x9I No unit clause: decide ¬x10I C7: propagate x11
I C8: propagate ¬x12I C9: propagate ¬x13I C10: propagate x14I C11: propagate x15I C12: propagate ¬x16I C13: propagate x16I Conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 113: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/113.jpg)
20/37
Conflict analysis, example (1/5)
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
I No unit clause: decide ¬x1I C1: propagate x2I C2: propagate ¬x3I No unit clause: decide x4I C3: propagate ¬x5I C4: propagate x6I No unit clause: decide ¬x7I C5: propagate ¬x8I C6: propagate x9I No unit clause: decide ¬x10I C7: propagate x11I C8: propagate ¬x12
I C9: propagate ¬x13I C10: propagate x14I C11: propagate x15I C12: propagate ¬x16I C13: propagate x16I Conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 114: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/114.jpg)
20/37
Conflict analysis, example (1/5)
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
I No unit clause: decide ¬x1I C1: propagate x2I C2: propagate ¬x3I No unit clause: decide x4I C3: propagate ¬x5I C4: propagate x6I No unit clause: decide ¬x7I C5: propagate ¬x8I C6: propagate x9I No unit clause: decide ¬x10I C7: propagate x11I C8: propagate ¬x12I C9: propagate ¬x13
I C10: propagate x14I C11: propagate x15I C12: propagate ¬x16I C13: propagate x16I Conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 115: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/115.jpg)
20/37
Conflict analysis, example (1/5)
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
I No unit clause: decide ¬x1I C1: propagate x2I C2: propagate ¬x3I No unit clause: decide x4I C3: propagate ¬x5I C4: propagate x6I No unit clause: decide ¬x7I C5: propagate ¬x8I C6: propagate x9I No unit clause: decide ¬x10I C7: propagate x11I C8: propagate ¬x12I C9: propagate ¬x13I C10: propagate x14
I C11: propagate x15I C12: propagate ¬x16I C13: propagate x16I Conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 116: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/116.jpg)
20/37
Conflict analysis, example (1/5)
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
I No unit clause: decide ¬x1I C1: propagate x2I C2: propagate ¬x3I No unit clause: decide x4I C3: propagate ¬x5I C4: propagate x6I No unit clause: decide ¬x7I C5: propagate ¬x8I C6: propagate x9I No unit clause: decide ¬x10I C7: propagate x11I C8: propagate ¬x12I C9: propagate ¬x13I C10: propagate x14I C11: propagate x15
I C12: propagate ¬x16I C13: propagate x16I Conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 117: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/117.jpg)
20/37
Conflict analysis, example (1/5)
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
I No unit clause: decide ¬x1I C1: propagate x2I C2: propagate ¬x3I No unit clause: decide x4I C3: propagate ¬x5I C4: propagate x6I No unit clause: decide ¬x7I C5: propagate ¬x8I C6: propagate x9I No unit clause: decide ¬x10I C7: propagate x11I C8: propagate ¬x12I C9: propagate ¬x13I C10: propagate x14I C11: propagate x15I C12: propagate ¬x16
I C13: propagate x16I Conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 118: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/118.jpg)
20/37
Conflict analysis, example (1/5)
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
I No unit clause: decide ¬x1I C1: propagate x2I C2: propagate ¬x3I No unit clause: decide x4I C3: propagate ¬x5I C4: propagate x6I No unit clause: decide ¬x7I C5: propagate ¬x8I C6: propagate x9I No unit clause: decide ¬x10I C7: propagate x11I C8: propagate ¬x12I C9: propagate ¬x13I C10: propagate x14I C11: propagate x15I C12: propagate ¬x16I C13: propagate x16I Conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 119: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/119.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 120: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/120.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 121: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/121.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 122: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/122.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 123: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/123.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 124: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/124.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 125: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/125.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 126: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/126.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 127: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/127.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 128: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/128.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 129: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/129.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 130: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/130.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 131: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/131.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 132: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/132.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 133: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/133.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 134: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/134.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 135: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/135.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 136: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/136.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 137: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/137.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 138: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/138.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
Every line separating the conflict from the decisionsdefines a logical consequent clause
x13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 139: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/139.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 140: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/140.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
Every line separating the conflict from the decisionsdefines a logical consequent clause
x13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 141: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/141.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
Every line separating the conflict from the decisionsdefines a logical consequent clause
x13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 142: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/142.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?
UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 143: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/143.jpg)
21/37
Conflict analysis, example (2/5)Conflict graph
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
Every line separating the conflict from the decisionsdefines a logical consequent clausex13 ∨ ¬x14 ∨ ¬x15
x1 ∨ ¬x4 ∨ x7 ∨ x10
¬x2 ∨ ¬x4 ∨ x5 ∨ x7 ∨ x8 ∨ x10
Which one to choose?UIP: unique implication point: just ONE greenOne variable at conflicting decision level
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 144: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/144.jpg)
22/37
Conflict analysis, example (3/5)Conflict graph, UIP
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
UIP: unique implication point: just ONE greenOne variable at the conflicting decision level
There are several of them¬x6 ∨ x7 ∨ x8 ∨ ¬x9 ∨ x10
¬x6 ∨ x7 ∨ x8 ∨ ¬x11
¬x6 ∨ x7 ∨ x12
Take the FUIP (first unique implication point):closest to conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 145: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/145.jpg)
22/37
Conflict analysis, example (3/5)Conflict graph, UIP
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
UIP: unique implication point: just ONE greenOne variable at the conflicting decision levelThere are several of them
¬x6 ∨ x7 ∨ x8 ∨ ¬x9 ∨ x10
¬x6 ∨ x7 ∨ x8 ∨ ¬x11
¬x6 ∨ x7 ∨ x12
Take the FUIP (first unique implication point):closest to conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 146: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/146.jpg)
22/37
Conflict analysis, example (3/5)Conflict graph, UIP
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
UIP: unique implication point: just ONE greenOne variable at the conflicting decision levelThere are several of them
¬x6 ∨ x7 ∨ x8 ∨ ¬x9 ∨ x10
¬x6 ∨ x7 ∨ x8 ∨ ¬x11
¬x6 ∨ x7 ∨ x12
Take the FUIP (first unique implication point):closest to conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 147: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/147.jpg)
22/37
Conflict analysis, example (3/5)Conflict graph, UIP
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
UIP: unique implication point: just ONE greenOne variable at the conflicting decision levelThere are several of them¬x6 ∨ x7 ∨ x8 ∨ ¬x9 ∨ x10
¬x6 ∨ x7 ∨ x8 ∨ ¬x11
¬x6 ∨ x7 ∨ x12
Take the FUIP (first unique implication point):closest to conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 148: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/148.jpg)
22/37
Conflict analysis, example (3/5)Conflict graph, UIP
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
UIP: unique implication point: just ONE greenOne variable at the conflicting decision levelThere are several of them¬x6 ∨ x7 ∨ x8 ∨ ¬x9 ∨ x10
¬x6 ∨ x7 ∨ x8 ∨ ¬x11
¬x6 ∨ x7 ∨ x12
Take the FUIP (first unique implication point):closest to conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 149: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/149.jpg)
22/37
Conflict analysis, example (3/5)Conflict graph, UIP
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
UIP: unique implication point: just ONE greenOne variable at the conflicting decision levelThere are several of them¬x6 ∨ x7 ∨ x8 ∨ ¬x9 ∨ x10
¬x6 ∨ x7 ∨ x8 ∨ ¬x11
¬x6 ∨ x7 ∨ x12
Take the FUIP (first unique implication point):closest to conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 150: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/150.jpg)
22/37
Conflict analysis, example (3/5)Conflict graph, UIP
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
UIP: unique implication point: just ONE greenOne variable at the conflicting decision levelThere are several of them¬x6 ∨ x7 ∨ x8 ∨ ¬x9 ∨ x10
¬x6 ∨ x7 ∨ x8 ∨ ¬x11
¬x6 ∨ x7 ∨ x12
Take the FUIP (first unique implication point):closest to conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 151: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/151.jpg)
22/37
Conflict analysis, example (3/5)Conflict graph, UIP
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
UIP: unique implication point: just ONE greenOne variable at the conflicting decision levelThere are several of them¬x6 ∨ x7 ∨ x8 ∨ ¬x9 ∨ x10
¬x6 ∨ x7 ∨ x8 ∨ ¬x11
¬x6 ∨ x7 ∨ x12
Take the FUIP (first unique implication point):closest to conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 152: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/152.jpg)
22/37
Conflict analysis, example (3/5)Conflict graph, UIP
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
UIP: unique implication point: just ONE greenOne variable at the conflicting decision levelThere are several of them¬x6 ∨ x7 ∨ x8 ∨ ¬x9 ∨ x10
¬x6 ∨ x7 ∨ x8 ∨ ¬x11
¬x6 ∨ x7 ∨ x12
Take the FUIP (first unique implication point):closest to conflict
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 153: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/153.jpg)
23/37
Conflict analysis, example (4/5)Conflict graph, computing FUIP
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
UIP: One variable at conflicting decision levelFUIP, closest to conflict: ¬x6 ∨ x7 ∨ x12
Resolve 2 clauses with conflicting variableRepeatedly eliminate latest “green” var., not last oneEliminate a variable? Resolve with propagating clause
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
x12 ∨ ¬x13
x7 ∨ x12 ∨ x14
¬x6 ∨ x12 ∨ x15
x13 ∨ ¬x14 ∨ ¬x16 ¬x15 ∨ ¬x14 ∨ x16
x13 ∨ ¬x14 ∨ ¬x15
¬x6 ∨ x12 ∨ x13 ∨ ¬x14
¬x6 ∨ x7 ∨ x12 ∨ x13
x7 ∨ ¬x6 ∨ x12
![Page 154: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/154.jpg)
23/37
Conflict analysis, example (4/5)Conflict graph, computing FUIP
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
UIP: One variable at conflicting decision levelFUIP, closest to conflict: ¬x6 ∨ x7 ∨ x12
Resolve 2 clauses with conflicting variable
Repeatedly eliminate latest “green” var., not last oneEliminate a variable? Resolve with propagating clause
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
x12 ∨ ¬x13
x7 ∨ x12 ∨ x14
¬x6 ∨ x12 ∨ x15
x13 ∨ ¬x14 ∨ ¬x16 ¬x15 ∨ ¬x14 ∨ x16
x13 ∨ ¬x14 ∨ ¬x15
¬x6 ∨ x12 ∨ x13 ∨ ¬x14
¬x6 ∨ x7 ∨ x12 ∨ x13
x7 ∨ ¬x6 ∨ x12
![Page 155: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/155.jpg)
23/37
Conflict analysis, example (4/5)Conflict graph, computing FUIP
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
UIP: One variable at conflicting decision levelFUIP, closest to conflict: ¬x6 ∨ x7 ∨ x12
Resolve 2 clauses with conflicting variable
Repeatedly eliminate latest “green” var., not last oneEliminate a variable? Resolve with propagating clause
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
x12 ∨ ¬x13
x7 ∨ x12 ∨ x14
¬x6 ∨ x12 ∨ x15
x13 ∨ ¬x14 ∨ ¬x16 ¬x15 ∨ ¬x14 ∨ x16
x13 ∨ ¬x14 ∨ ¬x15
¬x6 ∨ x12 ∨ x13 ∨ ¬x14
¬x6 ∨ x7 ∨ x12 ∨ x13
x7 ∨ ¬x6 ∨ x12
![Page 156: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/156.jpg)
23/37
Conflict analysis, example (4/5)Conflict graph, computing FUIP
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
UIP: One variable at conflicting decision levelFUIP, closest to conflict: ¬x6 ∨ x7 ∨ x12
Resolve 2 clauses with conflicting variableRepeatedly eliminate latest “green” var., not last one
Eliminate a variable? Resolve with propagating clause
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
x12 ∨ ¬x13
x7 ∨ x12 ∨ x14
¬x6 ∨ x12 ∨ x15
x13 ∨ ¬x14 ∨ ¬x16 ¬x15 ∨ ¬x14 ∨ x16
x13 ∨ ¬x14 ∨ ¬x15
¬x6 ∨ x12 ∨ x13 ∨ ¬x14
¬x6 ∨ x7 ∨ x12 ∨ x13
x7 ∨ ¬x6 ∨ x12
![Page 157: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/157.jpg)
23/37
Conflict analysis, example (4/5)Conflict graph, computing FUIP
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
UIP: One variable at conflicting decision levelFUIP, closest to conflict: ¬x6 ∨ x7 ∨ x12
Resolve 2 clauses with conflicting variableRepeatedly eliminate latest “green” var., not last oneEliminate a variable? Resolve with propagating clause
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
x12 ∨ ¬x13
x7 ∨ x12 ∨ x14
¬x6 ∨ x12 ∨ x15
x13 ∨ ¬x14 ∨ ¬x16 ¬x15 ∨ ¬x14 ∨ x16
x13 ∨ ¬x14 ∨ ¬x15
¬x6 ∨ x12 ∨ x13 ∨ ¬x14
¬x6 ∨ x7 ∨ x12 ∨ x13
x7 ∨ ¬x6 ∨ x12
![Page 158: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/158.jpg)
23/37
Conflict analysis, example (4/5)Conflict graph, computing FUIP
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
UIP: One variable at conflicting decision levelFUIP, closest to conflict: ¬x6 ∨ x7 ∨ x12
Resolve 2 clauses with conflicting variableRepeatedly eliminate latest “green” var., not last oneEliminate a variable? Resolve with propagating clause
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
x12 ∨ ¬x13
x7 ∨ x12 ∨ x14
¬x6 ∨ x12 ∨ x15
x13 ∨ ¬x14 ∨ ¬x16 ¬x15 ∨ ¬x14 ∨ x16
x13 ∨ ¬x14 ∨ ¬x15
¬x6 ∨ x12 ∨ x13 ∨ ¬x14
¬x6 ∨ x7 ∨ x12 ∨ x13
x7 ∨ ¬x6 ∨ x12
![Page 159: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/159.jpg)
23/37
Conflict analysis, example (4/5)Conflict graph, computing FUIP
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
UIP: One variable at conflicting decision levelFUIP, closest to conflict: ¬x6 ∨ x7 ∨ x12
Resolve 2 clauses with conflicting variableRepeatedly eliminate latest “green” var., not last oneEliminate a variable? Resolve with propagating clause
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
x12 ∨ ¬x13
x7 ∨ x12 ∨ x14
¬x6 ∨ x12 ∨ x15
x13 ∨ ¬x14 ∨ ¬x16 ¬x15 ∨ ¬x14 ∨ x16
x13 ∨ ¬x14 ∨ ¬x15
¬x6 ∨ x12 ∨ x13 ∨ ¬x14
¬x6 ∨ x7 ∨ x12 ∨ x13
x7 ∨ ¬x6 ∨ x12
![Page 160: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/160.jpg)
23/37
Conflict analysis, example (4/5)Conflict graph, computing FUIP
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
¬x1
x2
¬x3
x4
¬x5
x6
¬x7
¬x8
x9
¬x10
x11
¬x12
¬x13
x14
x15
¬x16
x16
UIP: One variable at conflicting decision levelFUIP, closest to conflict: ¬x6 ∨ x7 ∨ x12
Resolve 2 clauses with conflicting variableRepeatedly eliminate latest “green” var., not last oneEliminate a variable? Resolve with propagating clause
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
x12 ∨ ¬x13
x7 ∨ x12 ∨ x14
¬x6 ∨ x12 ∨ x15
x13 ∨ ¬x14 ∨ ¬x16 ¬x15 ∨ ¬x14 ∨ x16
x13 ∨ ¬x14 ∨ ¬x15
¬x6 ∨ x12 ∨ x13 ∨ ¬x14
¬x6 ∨ x7 ∨ x12 ∨ x13
x7 ∨ ¬x6 ∨ x12
![Page 161: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/161.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 162: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/162.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 163: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/163.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 164: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/164.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 165: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/165.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 166: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/166.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 167: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/167.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 168: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/168.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 169: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/169.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 170: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/170.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 171: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/171.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 172: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/172.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 173: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/173.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 174: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/174.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 175: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/175.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 176: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/176.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 177: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/177.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 178: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/178.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 179: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/179.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 180: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/180.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 181: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/181.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 182: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/182.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 183: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/183.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 184: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/184.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
¬x10
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 185: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/185.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
x12/C′1
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 186: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/186.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
x12/C′1
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 187: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/187.jpg)
24/37
Conflict analysis, example (5/5)The whole picture
C1 : x1 ∨ x2
C2 : ¬x2 ∨ ¬x3
C3 : ¬x2 ∨ ¬x4 ∨ ¬x5
C4 : x3 ∨ x5 ∨ x6
C5 : x7 ∨ ¬x6 ∨ ¬x8
C6 : ¬x4 ∨ x8 ∨ x9
C7 : x10 ∨ ¬x9 ∨ x11
C8 : ¬x11 ∨ x8 ∨ ¬x12
C9 : x12 ∨ ¬x13
C10 : x7 ∨ x12 ∨ x14
C11 : ¬x6 ∨ x12 ∨ x15
C12 : x13 ∨ ¬x14 ∨ ¬x16
C13 : ¬x15 ∨ ¬x14 ∨ x16
C′1 : x7 ∨ ¬x6 ∨ x12
I Decide and propagate
I Until conflict
I Analyse (compute FUIP)
I Add clause
I Backtrack to the point where the clause ispropagatingOften more than just one level
I Propagate
I Decide and propagate, until conflict, analyse,. . .
¬x1
x2/C1
¬x3/C2
x4
¬x5/C3
x6/C4
¬x7
¬x8/C5
x9/C6
x12/C′1
x11/C7
¬x12/C8
¬x13/C9
x14/C10
x15/C11
¬x16/C12
x16/C13
![Page 188: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/188.jpg)
25/37
CDCL: FUIP and more practical aspects
I It turns out that FUIP works best,but this is an experimental observation
I Heuristics for decisions
I Clause removal (and heuristics to evaluate the ones toremove)
I Conflict clause minimization
I Restarting
I Preprocessing
![Page 189: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/189.jpg)
25/37
CDCL: FUIP and more practical aspects
I It turns out that FUIP works best,but this is an experimental observation
I Heuristics for decisions
I Clause removal (and heuristics to evaluate the ones toremove)
I Conflict clause minimization
I Restarting
I Preprocessing
![Page 190: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/190.jpg)
25/37
CDCL: FUIP and more practical aspects
I It turns out that FUIP works best,but this is an experimental observation
I Heuristics for decisions
I Clause removal (and heuristics to evaluate the ones toremove)
I Conflict clause minimization
I Restarting
I Preprocessing
![Page 191: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/191.jpg)
25/37
CDCL: FUIP and more practical aspects
I It turns out that FUIP works best,but this is an experimental observation
I Heuristics for decisions
I Clause removal (and heuristics to evaluate the ones toremove)
I Conflict clause minimization
I Restarting
I Preprocessing
![Page 192: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/192.jpg)
25/37
CDCL: FUIP and more practical aspects
I It turns out that FUIP works best,but this is an experimental observation
I Heuristics for decisions
I Clause removal (and heuristics to evaluate the ones toremove)
I Conflict clause minimization
I Restarting
I Preprocessing
![Page 193: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/193.jpg)
25/37
CDCL: FUIP and more practical aspects
I It turns out that FUIP works best,but this is an experimental observation
I Heuristics for decisions
I Clause removal (and heuristics to evaluate the ones toremove)
I Conflict clause minimization
I Restarting
I Preprocessing
![Page 194: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/194.jpg)
26/37
CDCL: evolution of solvers
2002[Source: Laurent Simon]
![Page 195: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/195.jpg)
26/37
CDCL: evolution of solvers
2003[Source: Laurent Simon]
![Page 196: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/196.jpg)
26/37
CDCL: evolution of solvers
2005[Source: Laurent Simon]
![Page 197: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/197.jpg)
26/37
CDCL: evolution of solvers
2007[Source: Laurent Simon]
![Page 198: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/198.jpg)
26/37
CDCL: evolution of solvers
2009[Source: Laurent Simon]
![Page 199: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/199.jpg)
26/37
CDCL: evolution of solvers
2011[Source: Laurent Simon]
![Page 200: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/200.jpg)
26/37
CDCL: evolution of solvers
2014[Source: Laurent Simon]
![Page 201: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/201.jpg)
26/37
CDCL: evolution of solvers
2016[Source: Laurent Simon]
![Page 202: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/202.jpg)
26/37
CDCL: evolution of solvers
Winners[Source: Laurent Simon]
![Page 203: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/203.jpg)
27/37
Conclusion
I only a brief glimpse on the practical aspects of SAT solving
I many more tricks, hacks, techniques, heuristics, and eventheories
I a good SAT solver: good set of those tricks, mixed in theright amount and the right order, low level optimization
I oldest logic problem, still very active research subject(particularly since mid 90s)
Laurent Simon (Glucose)
We know how to built efficient SAT Solvers but we can hardlyexplain their power
![Page 204: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/204.jpg)
27/37
Conclusion
I only a brief glimpse on the practical aspects of SAT solving
I many more tricks, hacks, techniques, heuristics, and eventheories
I a good SAT solver: good set of those tricks, mixed in theright amount and the right order, low level optimization
I oldest logic problem, still very active research subject(particularly since mid 90s)
Laurent Simon (Glucose)
We know how to built efficient SAT Solvers but we can hardlyexplain their power
![Page 205: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/205.jpg)
27/37
Conclusion
I only a brief glimpse on the practical aspects of SAT solving
I many more tricks, hacks, techniques, heuristics, and eventheories
I a good SAT solver: good set of those tricks, mixed in theright amount and the right order, low level optimization
I oldest logic problem, still very active research subject(particularly since mid 90s)
Laurent Simon (Glucose)
We know how to built efficient SAT Solvers but we can hardlyexplain their power
![Page 206: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/206.jpg)
27/37
Conclusion
I only a brief glimpse on the practical aspects of SAT solving
I many more tricks, hacks, techniques, heuristics, and eventheories
I a good SAT solver: good set of those tricks, mixed in theright amount and the right order, low level optimization
I oldest logic problem, still very active research subject(particularly since mid 90s)
Laurent Simon (Glucose)
We know how to built efficient SAT Solvers but we can hardlyexplain their power
![Page 207: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/207.jpg)
27/37
Conclusion
I only a brief glimpse on the practical aspects of SAT solving
I many more tricks, hacks, techniques, heuristics, and eventheories
I a good SAT solver: good set of those tricks, mixed in theright amount and the right order, low level optimization
I oldest logic problem, still very active research subject(particularly since mid 90s)
Laurent Simon (Glucose)
We know how to built efficient SAT Solvers but we can hardlyexplain their power
![Page 208: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/208.jpg)
27/37
Conclusion
I only a brief glimpse on the practical aspects of SAT solving
I many more tricks, hacks, techniques, heuristics, and eventheories
I a good SAT solver: good set of those tricks, mixed in theright amount and the right order, low level optimization
I oldest logic problem, still very active research subject(particularly since mid 90s)
Laurent Simon (Glucose)
We know how to built efficient SAT Solvers but we can hardlyexplain their power
![Page 209: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/209.jpg)
28/37
SAT Solving: further reading/learning
I Een, Sorensson: MiniSAT 2011
I Marijn Heule:http://www.sc-square.org/CSA/school/lectures.html
I Armin Biere, Marijn Heule, Hans van Maaren and Toby Walsh editors,Handbook on Satisfiability. IOS Press, February 2009.
I SAT/SMT/AR summer schools
![Page 210: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/210.jpg)
29/37
SAT solvers input format: DIMACS
I input: CNF. File extension .cnf
I Boolean variable: number ≥ 1I literal either positive (represented by positive number)
literal either
negative (represented by negative number)I clause: series of numbers seperated by spaces, terminated by 0I cnf: series of clausesI file starts with p cnf X Y (X variables, Y clauses)I comments start by c
Exemple
p −→ 1, q −→ 2, r −→ 3p cnf 3 4
p ∨ q
−→ 1 2 0
p ∨ r
−→ 1 3 0
¬q ∨ ¬r
−→ -2 -3 0
¬p
−→ -1 0
![Page 211: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/211.jpg)
29/37
SAT solvers input format: DIMACS
I input: CNF. File extension .cnf
I Boolean variable: number ≥ 1I literal either positive (represented by positive number)
literal either
negative (represented by negative number)I clause: series of numbers seperated by spaces, terminated by 0I cnf: series of clausesI file starts with p cnf X Y (X variables, Y clauses)I comments start by c
Exemple
p −→ 1, q −→ 2, r −→ 3
p cnf 3 4
p ∨ q
−→ 1 2 0
p ∨ r
−→ 1 3 0
¬q ∨ ¬r
−→ -2 -3 0
¬p
−→ -1 0
![Page 212: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/212.jpg)
29/37
SAT solvers input format: DIMACS
I input: CNF. File extension .cnf
I Boolean variable: number ≥ 1I literal either positive (represented by positive number)
literal either
negative (represented by negative number)I clause: series of numbers seperated by spaces, terminated by 0I cnf: series of clausesI file starts with p cnf X Y (X variables, Y clauses)I comments start by c
Exemple
p −→ 1, q −→ 2, r −→ 3
p cnf 3 4
p ∨ q −→ 1 2 0
p ∨ r −→ 1 3 0
¬q ∨ ¬r −→ -2 -3 0
¬p −→ -1 0
![Page 213: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/213.jpg)
29/37
SAT solvers input format: DIMACS
I input: CNF. File extension .cnf
I Boolean variable: number ≥ 1I literal either positive (represented by positive number)
literal either
negative (represented by negative number)I clause: series of numbers seperated by spaces, terminated by 0I cnf: series of clausesI file starts with p cnf X Y (X variables, Y clauses)I comments start by c
Exemple
p −→ 1, q −→ 2, r −→ 3p cnf 3 4
p ∨ q −→ 1 2 0
p ∨ r −→ 1 3 0
¬q ∨ ¬r −→ -2 -3 0
¬p −→ -1 0
![Page 214: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/214.jpg)
30/37
Sudoku (1/3)
1
3
2
2
at line i, column j, is number x (pi,j,x)
I Number 1 is at line 1, column 1p1,1,1
I Number 3 is at line 2, column 4p2,4,3
I At location (1, 2), there is at most one number¬p1,2,1 ∨ ¬p1,2,2¬p1,2,1 ∨ ¬p1,2,3¬p1,2,1 ∨ ¬p1,2,4¬p1,2,2 ∨ ¬p1,2,3¬p1,2,2 ∨ ¬p1,2,4¬p1,2,3 ∨ ¬p1,2,4
![Page 215: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/215.jpg)
30/37
Sudoku (1/3)
1
3
2
2
at line i, column j, is number x (pi,j,x)
I Number 1 is at line 1, column 1
p1,1,1
I Number 3 is at line 2, column 4p2,4,3
I At location (1, 2), there is at most one number¬p1,2,1 ∨ ¬p1,2,2¬p1,2,1 ∨ ¬p1,2,3¬p1,2,1 ∨ ¬p1,2,4¬p1,2,2 ∨ ¬p1,2,3¬p1,2,2 ∨ ¬p1,2,4¬p1,2,3 ∨ ¬p1,2,4
![Page 216: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/216.jpg)
30/37
Sudoku (1/3)
1
3
2
2
at line i, column j, is number x (pi,j,x)
I Number 1 is at line 1, column 1p1,1,1
I Number 3 is at line 2, column 4p2,4,3
I At location (1, 2), there is at most one number¬p1,2,1 ∨ ¬p1,2,2¬p1,2,1 ∨ ¬p1,2,3¬p1,2,1 ∨ ¬p1,2,4¬p1,2,2 ∨ ¬p1,2,3¬p1,2,2 ∨ ¬p1,2,4¬p1,2,3 ∨ ¬p1,2,4
![Page 217: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/217.jpg)
30/37
Sudoku (1/3)
1
3
2
2
at line i, column j, is number x (pi,j,x)
I Number 1 is at line 1, column 1p1,1,1
I Number 3 is at line 2, column 4
p2,4,3
I At location (1, 2), there is at most one number¬p1,2,1 ∨ ¬p1,2,2¬p1,2,1 ∨ ¬p1,2,3¬p1,2,1 ∨ ¬p1,2,4¬p1,2,2 ∨ ¬p1,2,3¬p1,2,2 ∨ ¬p1,2,4¬p1,2,3 ∨ ¬p1,2,4
![Page 218: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/218.jpg)
30/37
Sudoku (1/3)
1
3
2
2
at line i, column j, is number x (pi,j,x)
I Number 1 is at line 1, column 1p1,1,1
I Number 3 is at line 2, column 4p2,4,3
I At location (1, 2), there is at most one number¬p1,2,1 ∨ ¬p1,2,2¬p1,2,1 ∨ ¬p1,2,3¬p1,2,1 ∨ ¬p1,2,4¬p1,2,2 ∨ ¬p1,2,3¬p1,2,2 ∨ ¬p1,2,4¬p1,2,3 ∨ ¬p1,2,4
![Page 219: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/219.jpg)
30/37
Sudoku (1/3)
1
3
2
2
at line i, column j, is number x (pi,j,x)
I Number 1 is at line 1, column 1p1,1,1
I Number 3 is at line 2, column 4p2,4,3
I At location (1, 2), there is at most one number
¬p1,2,1 ∨ ¬p1,2,2¬p1,2,1 ∨ ¬p1,2,3¬p1,2,1 ∨ ¬p1,2,4¬p1,2,2 ∨ ¬p1,2,3¬p1,2,2 ∨ ¬p1,2,4¬p1,2,3 ∨ ¬p1,2,4
![Page 220: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/220.jpg)
30/37
Sudoku (1/3)
1
3
2
2
at line i, column j, is number x (pi,j,x)
I Number 1 is at line 1, column 1p1,1,1
I Number 3 is at line 2, column 4p2,4,3
I At location (1, 2), there is at most one number¬p1,2,1 ∨ ¬p1,2,2¬p1,2,1 ∨ ¬p1,2,3¬p1,2,1 ∨ ¬p1,2,4¬p1,2,2 ∨ ¬p1,2,3¬p1,2,2 ∨ ¬p1,2,4¬p1,2,3 ∨ ¬p1,2,4
![Page 221: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/221.jpg)
31/37
Sudoku (2/3)
1
3
2
2
at line i, column j, is number x (pi,j,x)
I At location (1, 2), there is either 1, 2, 3, or 4 (repeat ∀ location)p1,2,1 ∨ p1,2,2 ∨ p1,2,3 ∨ p1,2,4
I Number 1 should be somewhere at line 2 (repeat ∀ number, line. . . )p2,1,1 ∨ p2,2,1 ∨ p2,3,1 ∨ p2,4,1
I Number 1 should be at most once at line 1¬p1,1,1 ∨ ¬p1,2,1¬p1,1,1 ∨ ¬p1,3,1¬p1,1,1 ∨ ¬p1,4,1¬p1,2,1 ∨ ¬p1,3,1¬p1,2,1 ∨ ¬p1,4,1¬p1,3,1 ∨ ¬p1,4,1
![Page 222: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/222.jpg)
31/37
Sudoku (2/3)
1
3
2
2
at line i, column j, is number x (pi,j,x)
I At location (1, 2), there is either 1, 2, 3, or 4 (repeat ∀ location)
p1,2,1 ∨ p1,2,2 ∨ p1,2,3 ∨ p1,2,4
I Number 1 should be somewhere at line 2 (repeat ∀ number, line. . . )p2,1,1 ∨ p2,2,1 ∨ p2,3,1 ∨ p2,4,1
I Number 1 should be at most once at line 1¬p1,1,1 ∨ ¬p1,2,1¬p1,1,1 ∨ ¬p1,3,1¬p1,1,1 ∨ ¬p1,4,1¬p1,2,1 ∨ ¬p1,3,1¬p1,2,1 ∨ ¬p1,4,1¬p1,3,1 ∨ ¬p1,4,1
![Page 223: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/223.jpg)
31/37
Sudoku (2/3)
1
3
2
2
at line i, column j, is number x (pi,j,x)
I At location (1, 2), there is either 1, 2, 3, or 4 (repeat ∀ location)p1,2,1 ∨ p1,2,2 ∨ p1,2,3 ∨ p1,2,4
I Number 1 should be somewhere at line 2 (repeat ∀ number, line. . . )p2,1,1 ∨ p2,2,1 ∨ p2,3,1 ∨ p2,4,1
I Number 1 should be at most once at line 1¬p1,1,1 ∨ ¬p1,2,1¬p1,1,1 ∨ ¬p1,3,1¬p1,1,1 ∨ ¬p1,4,1¬p1,2,1 ∨ ¬p1,3,1¬p1,2,1 ∨ ¬p1,4,1¬p1,3,1 ∨ ¬p1,4,1
![Page 224: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/224.jpg)
31/37
Sudoku (2/3)
1
3
2
2
at line i, column j, is number x (pi,j,x)
I At location (1, 2), there is either 1, 2, 3, or 4 (repeat ∀ location)p1,2,1 ∨ p1,2,2 ∨ p1,2,3 ∨ p1,2,4
I Number 1 should be somewhere at line 2 (repeat ∀ number, line. . . )
p2,1,1 ∨ p2,2,1 ∨ p2,3,1 ∨ p2,4,1
I Number 1 should be at most once at line 1¬p1,1,1 ∨ ¬p1,2,1¬p1,1,1 ∨ ¬p1,3,1¬p1,1,1 ∨ ¬p1,4,1¬p1,2,1 ∨ ¬p1,3,1¬p1,2,1 ∨ ¬p1,4,1¬p1,3,1 ∨ ¬p1,4,1
![Page 225: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/225.jpg)
31/37
Sudoku (2/3)
1
3
2
2
at line i, column j, is number x (pi,j,x)
I At location (1, 2), there is either 1, 2, 3, or 4 (repeat ∀ location)p1,2,1 ∨ p1,2,2 ∨ p1,2,3 ∨ p1,2,4
I Number 1 should be somewhere at line 2 (repeat ∀ number, line. . . )p2,1,1 ∨ p2,2,1 ∨ p2,3,1 ∨ p2,4,1
I Number 1 should be at most once at line 1¬p1,1,1 ∨ ¬p1,2,1¬p1,1,1 ∨ ¬p1,3,1¬p1,1,1 ∨ ¬p1,4,1¬p1,2,1 ∨ ¬p1,3,1¬p1,2,1 ∨ ¬p1,4,1¬p1,3,1 ∨ ¬p1,4,1
![Page 226: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/226.jpg)
31/37
Sudoku (2/3)
1
3
2
2
at line i, column j, is number x (pi,j,x)
I At location (1, 2), there is either 1, 2, 3, or 4 (repeat ∀ location)p1,2,1 ∨ p1,2,2 ∨ p1,2,3 ∨ p1,2,4
I Number 1 should be somewhere at line 2 (repeat ∀ number, line. . . )p2,1,1 ∨ p2,2,1 ∨ p2,3,1 ∨ p2,4,1
I Number 1 should be at most once at line 1
¬p1,1,1 ∨ ¬p1,2,1¬p1,1,1 ∨ ¬p1,3,1¬p1,1,1 ∨ ¬p1,4,1¬p1,2,1 ∨ ¬p1,3,1¬p1,2,1 ∨ ¬p1,4,1¬p1,3,1 ∨ ¬p1,4,1
![Page 227: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/227.jpg)
31/37
Sudoku (2/3)
1
3
2
2
at line i, column j, is number x (pi,j,x)
I At location (1, 2), there is either 1, 2, 3, or 4 (repeat ∀ location)p1,2,1 ∨ p1,2,2 ∨ p1,2,3 ∨ p1,2,4
I Number 1 should be somewhere at line 2 (repeat ∀ number, line. . . )p2,1,1 ∨ p2,2,1 ∨ p2,3,1 ∨ p2,4,1
I Number 1 should be at most once at line 1¬p1,1,1 ∨ ¬p1,2,1¬p1,1,1 ∨ ¬p1,3,1¬p1,1,1 ∨ ¬p1,4,1¬p1,2,1 ∨ ¬p1,3,1¬p1,2,1 ∨ ¬p1,4,1¬p1,3,1 ∨ ¬p1,4,1
![Page 228: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/228.jpg)
32/37
Sudoku (3/3)
Demo / Practical session
I https://members.loria.fr/PFontaine/sudoku-pack.zip
![Page 229: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/229.jpg)
33/37
The Wolf, the Goat, and the Cabbage (1/5)
A farmer wants to cross a river in his small boat, with a wolf, agoat and a cabbage. He should make sure:
I to only take one animal or object with him, the boat being sosmall
I not to leave the wolf and the goat alone (or no more goat)
I not to leave the goat and the cabbage alone (or no morecabbage)
Is this possible? With how many crossings?
![Page 230: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/230.jpg)
34/37
The Wolf, the Goat, and the Cabbage (2/5)
Use logic to encode the problem.
Four variables (that can be true or false):
I f farmer
I w wolf
I g goat
I c cabbage
E.g. f is true if f is on the left side, false if on the right side
I We start with
init =def f ∧ w ∧ g ∧ c
I We want to finish with
fin =def ¬f ∧ ¬w ∧ ¬g ∧ ¬c
![Page 231: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/231.jpg)
34/37
The Wolf, the Goat, and the Cabbage (2/5)
Use logic to encode the problem.Four variables (that can be true or false):
I f farmer
I w wolf
I g goat
I c cabbage
E.g. f is true if f is on the left side, false if on the right side
I We start with
init =def f ∧ w ∧ g ∧ c
I We want to finish with
fin =def ¬f ∧ ¬w ∧ ¬g ∧ ¬c
![Page 232: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/232.jpg)
34/37
The Wolf, the Goat, and the Cabbage (2/5)
Use logic to encode the problem.Four variables (that can be true or false):
I f farmer
I w wolf
I g goat
I c cabbage
E.g. f is true if f is on the left side, false if on the right side
I We start with init =def f ∧ w ∧ g ∧ c
I We want to finish with
fin =def ¬f ∧ ¬w ∧ ¬g ∧ ¬c
![Page 233: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/233.jpg)
34/37
The Wolf, the Goat, and the Cabbage (2/5)
Use logic to encode the problem.Four variables (that can be true or false):
I f farmer
I w wolf
I g goat
I c cabbage
E.g. f is true if f is on the left side, false if on the right side
I We start with init =def f ∧ w ∧ g ∧ c
I We want to finish with fin =def ¬f ∧ ¬w ∧ ¬g ∧ ¬c
![Page 234: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/234.jpg)
35/37
The Wolf, the Goat, and the Cabbage (3/5)
How to express there is some danger
A state is dangerous if the wolf and the goat (or the goat and thecabbage) are on one bank, and the farmer on the other
Formally:
danger =def
((w ≡ g) ∧ (w ≡ ¬f)
)∨((g ≡ c) ∧ (g ≡ ¬f)
)
![Page 235: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/235.jpg)
35/37
The Wolf, the Goat, and the Cabbage (3/5)
How to express there is some danger
A state is dangerous if the wolf and the goat (or the goat and thecabbage) are on one bank, and the farmer on the other
Formally:
danger =def
((w ≡ g) ∧ (w ≡ ¬f)
)∨((g ≡ c) ∧ (g ≡ ¬f)
)
![Page 236: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/236.jpg)
35/37
The Wolf, the Goat, and the Cabbage (3/5)
How to express there is some danger
A state is dangerous if the wolf and the goat (or the goat and thecabbage) are on one bank, and the farmer on the other
Formally:
danger =def
((w ≡ g) ∧ (w ≡ ¬f)
)∨((g ≡ c) ∧ (g ≡ ¬f)
)
![Page 237: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/237.jpg)
36/37
The Wolf, the Goat, and the Cabbage (4/5)
To find out if it is possible to find a solution with n crossing,we will use n + 1 copies of the variables fi, wi, gi, ci.
First, let’s write the formula corresponding the i-th crossing of thefarmer.
I The farmer is crossing so fi+1 and ¬fi should be different
I Only one animal/object is changing bank; two (or more) variablesamong w, g, c should stay the same
crossi =def
(fi+1 ≡ ¬fi
)
∧(
((wi+1 ≡ wi) ∧ (gi+1 ≡ gi)
)
∨
((wi+1 ≡ wi) ∧ (ci+1 ≡ ci)
)
∨
((gi+1 ≡ gi) ∧ (ci+1 ≡ ci)
)
)
![Page 238: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/238.jpg)
36/37
The Wolf, the Goat, and the Cabbage (4/5)
To find out if it is possible to find a solution with n crossing,we will use n + 1 copies of the variables fi, wi, gi, ci.
First, let’s write the formula corresponding the i-th crossing of thefarmer.
I The farmer is crossing so fi+1 and ¬fi should be different
I Only one animal/object is changing bank; two (or more) variablesamong w, g, c should stay the same
crossi =def
(fi+1 ≡ ¬fi
)
∧(
((wi+1 ≡ wi) ∧ (gi+1 ≡ gi)
)
∨
((wi+1 ≡ wi) ∧ (ci+1 ≡ ci)
)
∨
((gi+1 ≡ gi) ∧ (ci+1 ≡ ci)
)
)
![Page 239: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/239.jpg)
36/37
The Wolf, the Goat, and the Cabbage (4/5)
To find out if it is possible to find a solution with n crossing,we will use n + 1 copies of the variables fi, wi, gi, ci.
First, let’s write the formula corresponding the i-th crossing of thefarmer.
I The farmer is crossing so fi+1 and ¬fi should be different
I Only one animal/object is changing bank; two (or more) variablesamong w, g, c should stay the same
crossi =def
(fi+1 ≡ ¬fi
)∧(
((wi+1 ≡ wi) ∧ (gi+1 ≡ gi)
)
∨
((wi+1 ≡ wi) ∧ (ci+1 ≡ ci)
)
∨
((gi+1 ≡ gi) ∧ (ci+1 ≡ ci)
)
)
![Page 240: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/240.jpg)
36/37
The Wolf, the Goat, and the Cabbage (4/5)
To find out if it is possible to find a solution with n crossing,we will use n + 1 copies of the variables fi, wi, gi, ci.
First, let’s write the formula corresponding the i-th crossing of thefarmer.
I The farmer is crossing so fi+1 and ¬fi should be different
I Only one animal/object is changing bank; two (or more) variablesamong w, g, c should stay the same
crossi =def
(fi+1 ≡ ¬fi
)∧(
((wi+1 ≡ wi) ∧ (gi+1 ≡ gi)
)
∨
((wi+1 ≡ wi) ∧ (ci+1 ≡ ci)
)
∨
((gi+1 ≡ gi) ∧ (ci+1 ≡ ci)
)
)
![Page 241: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/241.jpg)
36/37
The Wolf, the Goat, and the Cabbage (4/5)
To find out if it is possible to find a solution with n crossing,we will use n + 1 copies of the variables fi, wi, gi, ci.
First, let’s write the formula corresponding the i-th crossing of thefarmer.
I The farmer is crossing so fi+1 and ¬fi should be different
I Only one animal/object is changing bank; two (or more) variablesamong w, g, c should stay the same
crossi =def
(fi+1 ≡ ¬fi
)∧( (
(wi+1 ≡ wi) ∧ (gi+1 ≡ gi))
∨((wi+1 ≡ wi) ∧ (ci+1 ≡ ci)
)∨
((gi+1 ≡ gi) ∧ (ci+1 ≡ ci)
))
![Page 242: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/242.jpg)
37/37
The Wolf, the Goat, and the Cabbage (5/5)
We want to write a formula to encode solutions in n crossings
I Starting and ending state have been defined
I Two successive states should correspond to one crossing
I No state should be dangerous
init1
∧
finn+1
∧
cross1 ∧ cross2 ∧ . . . ∧ crossn
∧
¬danger1 ∧ ¬danger2 ∧ . . . ∧ ¬dangern+1
A SAT solver can find out that there is no solution in 4 traversals, but
that 6 traversals are enough.
![Page 243: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/243.jpg)
37/37
The Wolf, the Goat, and the Cabbage (5/5)
We want to write a formula to encode solutions in n crossings
I Starting and ending state have been defined
I Two successive states should correspond to one crossing
I No state should be dangerous
init1 ∧ finn+1
∧
cross1 ∧ cross2 ∧ . . . ∧ crossn
∧
¬danger1 ∧ ¬danger2 ∧ . . . ∧ ¬dangern+1
A SAT solver can find out that there is no solution in 4 traversals, but
that 6 traversals are enough.
![Page 244: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/244.jpg)
37/37
The Wolf, the Goat, and the Cabbage (5/5)
We want to write a formula to encode solutions in n crossings
I Starting and ending state have been defined
I Two successive states should correspond to one crossing
I No state should be dangerous
init1 ∧ finn+1
∧ cross1 ∧ cross2 ∧ . . . ∧ crossn∧
¬danger1 ∧ ¬danger2 ∧ . . . ∧ ¬dangern+1
A SAT solver can find out that there is no solution in 4 traversals, but
that 6 traversals are enough.
![Page 245: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/245.jpg)
37/37
The Wolf, the Goat, and the Cabbage (5/5)
We want to write a formula to encode solutions in n crossings
I Starting and ending state have been defined
I Two successive states should correspond to one crossing
I No state should be dangerous
init1 ∧ finn+1
∧ cross1 ∧ cross2 ∧ . . . ∧ crossn∧ ¬danger1 ∧ ¬danger2 ∧ . . . ∧ ¬dangern+1
A SAT solver can find out that there is no solution in 4 traversals, but
that 6 traversals are enough.
![Page 246: Boolean Solving - LORIA · prince instructs you either to invite Peru or to exclude Qatar . The queen asks you to invite either Qatar or Ro-mania or both. The king, in a spiteful](https://reader035.vdocuments.us/reader035/viewer/2022071210/60221c228e4579336e11b3d5/html5/thumbnails/246.jpg)
37/37
The Wolf, the Goat, and the Cabbage (5/5)
We want to write a formula to encode solutions in n crossings
I Starting and ending state have been defined
I Two successive states should correspond to one crossing
I No state should be dangerous
init1 ∧ finn+1
∧ cross1 ∧ cross2 ∧ . . . ∧ crossn∧ ¬danger1 ∧ ¬danger2 ∧ . . . ∧ ¬dangern+1
A SAT solver can find out that there is no solution in 4 traversals, but
that 6 traversals are enough.