SlideShare a Scribd company logo
How a CDCL SAT
  Solver works


       Masahiro Sakai
  Twitter: @masahiro_sakai
Abstract
• Demonstrating how a modern SAT
  solver works on a small example.
• Target Algorithm
 • Conflict-Driven Clause Learning
    (CDCL)
 • 1-UIP learning + far-backtracking
 • details are omitted efficient data
    (decision heuristics,
   structure, etc.,)
An Example Problem
• ω1: ¬x1   ¬x4   x5   • ω6: ¬x8   ¬x9

• ω2: ¬x4   x6         • ω7: ¬x8   x9

• ω3: ¬x5   ¬x6   x7

• ω4: ¬x7   x8

• ω5: ¬x2   ¬x7   x9
Decide               Implication Graph




Clause DB
   • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
   • ω2: ¬x4   x6          • ω7: ¬x8   x9
   • ω3: ¬x5   ¬x6    x7
   • ω4: ¬x7   x8
   • ω5: ¬x2   ¬x7    x9
Decide                Implication Graph
x1

                 x1@1




Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Decide                Implication Graph
x1

x2                                 x2@2
                 x1@1




Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Decide                Implication Graph
x1               x3@3

x2                                 x2@2
                 x1@1
x3




Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Decide                Implication Graph
x1               x3@3

x2                                 x2@2
                 x1@1
x3
                 x4@4
x4



Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1               x3@3

x2                                 x2@2
                 x1@1
x3
                 x4@4
x4



Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1               x3@3

x2                      ω1          x2@2
                 x1@1
                             x5@4
x3
                        ω1
                 x4@4
x4



Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1               x3@3

x2                      ω1          x2@2
                 x1@1
                             x5@4
x3
                        ω1
                 x4@4
x4
                       ω2
                             x6@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1               x3@3

x2                      ω1               x2@2
                 x1@1
                             x5@4
x3                                  ω3
                        ω1
                 x4@4                    x7@4
x4
                       ω2           ω3
                             x6@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8     x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1               x3@3

x2                      ω1               x2@2
                 x1@1
                             x5@4
x3                                  ω3
                        ω1
                 x4@4                    x7@4
x4
                       ω2           ω3          ω4
                             x6@4                    x8@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8     x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1               x3@3

x2                      ω1               x2@2   ω5
                 x1@1
                             x5@4                    x9@4
x3                                  ω3          ω5
                        ω1
                 x4@4                    x7@4
x4
                       ω2           ω3          ω4
                             x6@4                    x8@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8     x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1               x3@3

x2                      ω1               x2@2   ω5
                 x1@1
                             x5@4                    x9@4
x3                                  ω3          ω5          ω6
                        ω1
                 x4@4                    x7@4
x4
                       ω2           ω3          ω4          ω6
                             x6@4                    x8@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8     x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1               x3@3

x2                      ω1               x2@2   ω5
                 x1@1
                             x5@4                    x9@4
x3                                  ω3          ω5          ω6
                        ω1
                 x4@4                    x7@4
x4
                       ω2           ω3          ω4          ω6
                             x6@4                    x8@4

Clause DB   Conflict
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8     x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Diagnose
                      Implication Graph
                x3@3
                       ω1               x2@2   ω5
                x1@1
                            x5@4                    x9@4
                                   ω3          ω5          ω6
                       ω1
                x4@4                    x7@4
                      ω2           ω3          ω4          ω6
                            x6@4                    x8@4

Clause DB
    • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
    • ω2: ¬x4   x6           • ω7: ¬x8     x9
    • ω3: ¬x5   ¬x6    x7
    • ω4: ¬x7   x8
    • ω5: ¬x2   ¬x7    x9
Diagnose
                            Implication Graph
                             Reason
  ω6:                 x3@3    Side
¬x8 ¬x9
                             ω1               x2@2   ω5
                      x1@1
                                  x5@4                    x9@4
                                         ω3          ω5          ω6
                             ω1
                      x4@4                    x7@4
                            ω2           ω3          ω4          ω6
                                  x6@4                    x8@4    Conflict
                                                                   Side

  Clause DB
          • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
          • ω2: ¬x4   x6           • ω7: ¬x8     x9
          • ω3: ¬x5   ¬x6    x7
          • ω4: ¬x7   x8
          • ω5: ¬x2   ¬x7    x9
Diagnose
                          Implication Graph
                           Reason
  ω6:    ω4:        x3@3    Side
¬x8 ¬x9 ¬x7 x8
                           ω1               x2@2   ω5
                    x1@1
                                x5@4                    x9@4
                                       ω3          ω5          ω6
                           ω1
                    x4@4                    x7@4
                          ω2           ω3          ω4          ω6
                                x6@4                    x8@4    Conflict
                                                                 Side

  Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8     x9
        • ω3: ¬x5   ¬x6    x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Diagnose
                          Implication Graph
                           Reason
  ω6:    ω4:        x3@3    Side
¬x8 ¬x9 ¬x7 x8
                           ω1               x2@2   ω5
                    x1@1
                                x5@4                    x9@4
                                       ω3          ω5          ω6
                           ω1
                    x4@4                    x7@4
                          ω2           ω3          ω4          ω6
                                x6@4                    x8@4    Conflict
                                                                 Side

  Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8     x9
        • ω3: ¬x5   ¬x6    x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Diagnose
                            Implication Graph
                             Reason
  ω6:    ω4:          x3@3    Side
¬x8 ¬x9 ¬x7 x8
                             ω1               x2@2   ω5
¬x7 ¬x9               x1@1
                                  x5@4                    x9@4
                                         ω3          ω5          ω6
                             ω1
                      x4@4                    x7@4
                            ω2           ω3          ω4          ω6
                                  x6@4                    x8@4    Conflict
                                                                   Side

  Clause DB
          • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
          • ω2: ¬x4   x6           • ω7: ¬x8     x9
          • ω3: ¬x5   ¬x6    x7
          • ω4: ¬x7   x8
          • ω5: ¬x2   ¬x7    x9
Diagnose
                             Implication Graph
                              Reason
  ω6:    ω4:           x3@3    Side
¬x8 ¬x9 ¬x7 x8
                              ω1               x2@2   ω5
¬x7 ¬x9      ω5:       x1@1
          ¬x2 ¬x7 x9               x5@4                    x9@4
                                          ω3          ω5          ω6
                              ω1
                       x4@4                    x7@4
                             ω2           ω3          ω4          ω6
                                   x6@4                    x8@4    Conflict
                                                                    Side

  Clause DB
          • ω1: ¬x1    ¬x4    x5    • ω6: ¬x8     ¬x9
          • ω2: ¬x4    x6           • ω7: ¬x8     x9
          • ω3: ¬x5    ¬x6    x7
          • ω4: ¬x7    x8
          • ω5: ¬x2    ¬x7    x9
Diagnose
                             Implication Graph
                              Reason
  ω6:    ω4:           x3@3    Side
¬x8 ¬x9 ¬x7 x8
                              ω1               x2@2   ω5
¬x7 ¬x9      ω5:       x1@1
          ¬x2 ¬x7 x9               x5@4                    x9@4
                                          ω3          ω5          ω6
                              ω1
                       x4@4                    x7@4
                             ω2           ω3          ω4          ω6
                                   x6@4                    x8@4    Conflict
                                                                    Side

  Clause DB
          • ω1: ¬x1    ¬x4    x5    • ω6: ¬x8     ¬x9
          • ω2: ¬x4    x6           • ω7: ¬x8     x9
          • ω3: ¬x5    ¬x6    x7
          • ω4: ¬x7    x8
          • ω5: ¬x2    ¬x7    x9
Diagnose
                             Implication Graph
                              Reason
  ω6:    ω4:           x3@3    Side
¬x8 ¬x9 ¬x7 x8
                              ω1               x2@2   ω5
¬x7 ¬x9      ω5:       x1@1
          ¬x2 ¬x7 x9               x5@4                    x9@4
                                          ω3          ω5          ω6
    ¬x2   ¬x7                 ω1
                       x4@4                    x7@4
                             ω2           ω3          ω4          ω6
                                   x6@4                    x8@4    Conflict
                                                                    Side

  Clause DB
          • ω1: ¬x1    ¬x4    x5    • ω6: ¬x8     ¬x9
          • ω2: ¬x4    x6           • ω7: ¬x8     x9
          • ω3: ¬x5    ¬x6    x7
          • ω4: ¬x7    x8
          • ω5: ¬x2    ¬x7    x9
Diagnose
                                   Implication Graph
                                    Reason
  ω6:    ω4:                 x3@3    Side
¬x8 ¬x9 ¬x7 x8
                                    ω1               x2@2   ω5
¬x7 ¬x9        ω5:           x1@1
            ¬x2 ¬x7 x9                   x5@4                    x9@4
                                                ω3          ω5          ω6
     ¬x2     ¬x7                    ω1
                             x4@4                    x7@4
 It contains one literal
         in the current                         ω3                      ω6
                                   ω2                       ω4
  decision level (i.e. 4).
                                         x6@4                    x8@4    Conflict
                                                                          Side

  Clause DB
           • ω1: ¬x1         ¬x4    x5    • ω6: ¬x8     ¬x9
           • ω2: ¬x4         x6           • ω7: ¬x8     x9
           • ω3: ¬x5         ¬x6    x7
           • ω4: ¬x7         x8
           • ω5: ¬x2         ¬x7    x9
Diagnose
                                   Implication Graph
                                    Reason
  ω6:    ω4:                 x3@3    Side
¬x8 ¬x9 ¬x7 x8
                                    ω1               x2@2   ω5
¬x7 ¬x9        ω5:           x1@1
            ¬x2 ¬x7 x9                   x5@4                    x9@4
                                                ω3          ω5          ω6
     ¬x2     ¬x7                    ω1
                             x4@4                    x7@4
 It contains one literal
         in the current                         ω3                      ω6
                                   ω2                       ω4
  decision level (i.e. 4).
                                         x6@4                    x8@4    Conflict
                                                                          Side

  Clause DB
           • ω1: ¬x1         ¬x4    x5    • ω6: ¬x8     ¬x9
           • ω2: ¬x4         x6           • ω7: ¬x8     x9
           • ω3: ¬x5         ¬x6    x7    • ω8: ¬x2     ¬x7
           • ω4: ¬x7         x8
           • ω5: ¬x2         ¬x7    x9       New clause is learnt !
Backtrack                   Implication Graph
  Learnt clause:
    ¬x2 ¬x7               x3@3
                                 ω1               x2@2   ω5
x2 was set at level 2     x1@1
x7 was set at level 4                 x5@4                    x9@4
                                             ω3          ω5          ω6
Assertion level of this
clause (which is the             ω1
second highest level)
                          x4@4                    x7@4
is 2.                                                                ω6
                                ω2           ω3          ω4
  Backtrack to level 2!               x6@4                    x8@4

  Clause DB
          • ω1: ¬x1       ¬x4    x5    • ω6: ¬x8     ¬x9
          • ω2: ¬x4       x6           • ω7: ¬x8     x9
          • ω3: ¬x5       ¬x6    x7    • ω8: ¬x2     ¬x7
          • ω4: ¬x7       x8
          • ω5: ¬x2       ¬x7    x9
Backtrack             Implication Graph
x1               x3@3

x2                      ω1               x2@2   ω5
                 x1@1
                             x5@4                    x9@4
x3                                  ω3          ω5          ω6
                        ω1
                 x4@4                    x7@4
x4
                       ω2           ω3          ω4          ω6
                             x6@4                    x8@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8     x9
     • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Backtrack             Implication Graph
x1               x3@3

x2                      ω1               x2@2   ω5
                 x1@1
                             x5@4                    x9@4
x3                                  ω3          ω5
                        ω1
                 x4@4                    x7@4
x4
                       ω2           ω3          ω4
                             x6@4                    x8@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8     x9
     • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Backtrack             Implication Graph
x1               x3@3

x2                      ω1               x2@2
                 x1@1
                             x5@4
x3                                  ω3
                        ω1
                 x4@4                    x7@4
x4
                       ω2           ω3          ω4
                             x6@4                    x8@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8     x9
     • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Backtrack             Implication Graph
x1               x3@3

x2                      ω1               x2@2
                 x1@1
                             x5@4
x3                                  ω3
                        ω1
                 x4@4                    x7@4
x4
                       ω2           ω3
                             x6@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8     x9
     • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Backtrack             Implication Graph
x1               x3@3

x2                      ω1          x2@2
                 x1@1
                             x5@4
x3
                        ω1
                 x4@4
x4
                       ω2
                             x6@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2   ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Backtrack             Implication Graph
x1               x3@3

x2                      ω1          x2@2
                 x1@1
                             x5@4
x3
                        ω1
                 x4@4
x4



Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2   ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Backtrack             Implication Graph
x1               x3@3

x2                                 x2@2
                 x1@1
x3
                 x4@4
x4



Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Backtrack             Implication Graph
x1               x3@3

x2                                 x2@2
                 x1@1
x3

x4



Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Backtrack             Implication Graph
x1

x2                                 x2@2
                 x1@1
x3

x4



Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1

x2                                 x2@2
                 x1@1
x3

x4



Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1
                                          ω8
x2                                 x2@2    ¬x7@2
                 x1@1
x3

x4



Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Decide                Implication Graph
x1
                                          ω8
x2                                 x2@2    ¬x7@2
                 x1@1
x3

x4



Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Decide                   Implication Graph
x1                  x3@3
                                             ω8
x2                                    x2@2    ¬x7@2
                    x1@1
x3 x3

x4



Clause DB
        • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
        • ω2: ¬x4   x6          • ω7: ¬x8   x9
        • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Decide                   Implication Graph
x1                  x3@3
                                             ω8
x2                                    x2@2    ¬x7@2
                    x1@1
x3 x3
                    x4@4
x4 x4



Clause DB
        • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
        • ω2: ¬x4   x6          • ω7: ¬x8   x9
        • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Deduce                   Implication Graph
x1                  x3@3
                                             ω8
x2                                    x2@2    ¬x7@2
                    x1@1
x3 x3
                    x4@4
x4 x4



Clause DB
        • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
        • ω2: ¬x4   x6          • ω7: ¬x8   x9
        • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Deduce                   Implication Graph
x1                  x3@3
                                              ω8
x2                         ω1          x2@2    ¬x7@2
                    x1@1
                                x5@4
x3 x3
                           ω1
                    x4@4
x4 x4



Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8   ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8   x9
        • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2   ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Deduce                   Implication Graph
x1                  x3@3
                                              ω8
x2                         ω1          x2@2    ¬x7@2
                    x1@1
                                x5@4
x3 x3
                           ω1
                    x4@4
x4 x4
                          ω2
                                x6@4

Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8   ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8   x9
        • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2   ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Deduce                   Implication Graph
x1                  x3@3
                                                   ω8
x2                         ω1               x2@2    ¬x7@2
                    x1@1
                                x5@4
x3 x3                                  ω3          ω3
                           ω1
                    x4@4
x4 x4
                          ω2           ω3
                                x6@4

Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8     x9
        • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Deduce                   Implication Graph
x1                  x3@3
                                                   ω8
x2                         ω1               x2@2    ¬x7@2
                    x1@1
                                x5@4
x3 x3                                  ω3          ω3
                           ω1
                    x4@4
x4 x4
                          ω2           ω3
                                x6@4

Clause DB      Conflict
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8     x9
        • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Diagnose
                      Implication Graph
                x3@3
                                               ω8
                       ω1               x2@2    ¬x7@2
                x1@1
                            x5@4   ω3          ω3
                       ω1
                x4@4
                      ω2           ω3
                            x6@4

Clause DB
    • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
    • ω2: ¬x4   x6           • ω7: ¬x8     x9
    • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
    • ω4: ¬x7   x8
    • ω5: ¬x2   ¬x7    x9
Diagnose
                          Implication Graph
                           Reason
   ω3:              x3@3    Side
¬x5 ¬x6 x7                                         ω8
                           ω1               x2@2    ¬x7@2
                    x1@1
                                x5@4   ω3          ω3
                           ω1
                    x4@4
                          ω2           ω3      Conflict
                                x6@4            Side


  Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8     x9
        • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Diagnose
                          Implication Graph
                           Reason
   ω3:      ω2:     x3@3    Side
¬x5 ¬x6 x7 ¬x4 x6                                  ω8
                           ω1               x2@2    ¬x7@2
                    x1@1
                                x5@4   ω3          ω3
                           ω1
                    x4@4
                          ω2           ω3      Conflict
                                x6@4            Side


  Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8     x9
        • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Diagnose
                          Implication Graph
                           Reason
   ω3:      ω2:     x3@3    Side
¬x5 ¬x6 x7 ¬x4 x6                                  ω8
                           ω1               x2@2    ¬x7@2
                    x1@1
                                x5@4   ω3          ω3
                           ω1
                    x4@4
                          ω2           ω3      Conflict
                                x6@4            Side


  Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8     x9
        • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Diagnose
                          Implication Graph
                           Reason
   ω3:      ω2:     x3@3    Side
¬x5 ¬x6 x7 ¬x4 x6                                  ω8
                           ω1               x2@2    ¬x7@2
¬x4 ¬x5 x7          x1@1
                                x5@4   ω3          ω3
                           ω1
                    x4@4
                          ω2           ω3      Conflict
                                x6@4            Side


  Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8     x9
        • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Diagnose
                            Implication Graph
                             Reason
   ω3:      ω2:       x3@3    Side
¬x5 ¬x6 x7 ¬x4 x6                                    ω8
                             ω1               x2@2    ¬x7@2
¬x4 ¬x5 x7  ω1:       x1@1
         ¬x1 ¬x4 x5               x5@4   ω3          ω3
                             ω1
                      x4@4
                            ω2           ω3      Conflict
                                  x6@4            Side


  Clause DB
        • ω1: ¬x1     ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4     x6           • ω7: ¬x8     x9
        • ω3: ¬x5     ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7     x8
        • ω5: ¬x2     ¬x7    x9
Diagnose
                            Implication Graph
                             Reason
   ω3:      ω2:       x3@3    Side
¬x5 ¬x6 x7 ¬x4 x6                                    ω8
                             ω1               x2@2    ¬x7@2
¬x4 ¬x5 x7  ω1:       x1@1
         ¬x1 ¬x4 x5               x5@4   ω3          ω3
                             ω1
                      x4@4
                            ω2           ω3      Conflict
                                  x6@4            Side


  Clause DB
        • ω1: ¬x1     ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4     x6           • ω7: ¬x8     x9
        • ω3: ¬x5     ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7     x8
        • ω5: ¬x2     ¬x7    x9
Diagnose
                            Implication Graph
                             Reason
   ω3:      ω2:       x3@3    Side
¬x5 ¬x6 x7 ¬x4 x6                                    ω8
                             ω1               x2@2    ¬x7@2
¬x4 ¬x5 x7  ω1:       x1@1
         ¬x1 ¬x4 x5               x5@4   ω3          ω3
  ¬x1   ¬x4   x7             ω1
                      x4@4
                            ω2           ω3      Conflict
                                  x6@4            Side


  Clause DB
        • ω1: ¬x1     ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4     x6           • ω7: ¬x8     x9
        • ω3: ¬x5     ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7     x8
        • ω5: ¬x2     ¬x7    x9
Diagnose
                                   Implication Graph
                                    Reason
   ω3:      ω2:              x3@3    Side
¬x5 ¬x6 x7 ¬x4 x6                                           ω8
                                    ω1               x2@2    ¬x7@2
¬x4 ¬x5 x7  ω1:              x1@1
         ¬x1 ¬x4 x5                      x5@4   ω3          ω3
  ¬x1     ¬x4    x7                 ω1
                             x4@4
 It contains one literal
         in the current                         ω3
  decision level (i.e. 4).         ω2                   Conflict
                                         x6@4            Side


  Clause DB
           • ω1: ¬x1         ¬x4    x5    • ω6: ¬x8     ¬x9
           • ω2: ¬x4         x6           • ω7: ¬x8     x9
           • ω3: ¬x5         ¬x6    x7    • ω8: ¬x2     ¬x7
           • ω4: ¬x7         x8
           • ω5: ¬x2         ¬x7    x9
Diagnose
                                   Implication Graph
                                    Reason
   ω3:      ω2:              x3@3    Side
¬x5 ¬x6 x7 ¬x4 x6                                           ω8
                                    ω1               x2@2    ¬x7@2
¬x4 ¬x5 x7  ω1:              x1@1
         ¬x1 ¬x4 x5                      x5@4   ω3          ω3
  ¬x1     ¬x4    x7                 ω1
                             x4@4
 It contains one literal
         in the current                         ω3
  decision level (i.e. 4).         ω2                   Conflict
                                         x6@4            Side


  Clause DB
           • ω1: ¬x1         ¬x4    x5    • ω6: ¬x8     ¬x9
           • ω2: ¬x4         x6           • ω7: ¬x8     x9
           • ω3: ¬x5         ¬x6    x7    • ω8: ¬x2     ¬x7
           • ω4: ¬x7         x8           • ω9: ¬x1     ¬x4       x7
           • ω5: ¬x2         ¬x7    x9       New clause is learnt !
Backtrack                   Implication Graph
  Learnt clause:
  ¬x1 ¬x4 x7              x3@3
                                                         ω8
                                 ω1               x2@2    ¬x7@2
x1 was set at level 1
                          x1@1
x4 was set at level 4                 x5@4
x7 was set at level 2                        ω3          ω3
                                 ω1
Assertion level of this   x4@4
clause is 2.
                                ω2           ω3
  Backtrack to level 2!               x6@4

  Clause DB
          • ω1: ¬x1       ¬x4    x5    • ω6: ¬x8     ¬x9
          • ω2: ¬x4       x6           • ω7: ¬x8     x9
          • ω3: ¬x5       ¬x6    x7    • ω8: ¬x2     ¬x7
          • ω4: ¬x7       x8           • ω9: ¬x1     ¬x4      x7
          • ω5: ¬x2       ¬x7    x9
Backtrack                Implication Graph
x1                  x3@3
                                                   ω8
x2                         ω1               x2@2    ¬x7@2
                    x1@1
                                x5@4
x3 x3                                  ω3          ω3
                           ω1
                    x4@4
x4 x4
                          ω2           ω3
                                x6@4

Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8     x9
        • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7   x8           • ω9: ¬x1     ¬x4      x7
        • ω5: ¬x2   ¬x7    x9
Backtrack                Implication Graph
x1
                                             ω8
x2                                    x2@2    ¬x7@2
                    x1@1
x3 x3

x4 x4



Clause DB
        • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
        • ω2: ¬x4   x6          • ω7: ¬x8   x9
        • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
        • ω4: ¬x7   x8          • ω9: ¬x1   ¬x4   x7
        • ω5: ¬x2   ¬x7    x9
Deduce               Implication Graph
x1
                                             ω8
x2                                    x2@2    ¬x7@2
                    x1@1
x3 x3

x4 x4



Clause DB
        • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
        • ω2: ¬x4   x6          • ω7: ¬x8   x9
        • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
        • ω4: ¬x7   x8          • ω9: ¬x1   ¬x4   x7
        • ω5: ¬x2   ¬x7    x9
Deduce               Implication Graph
x1
                                                ω8
x2                                       x2@2    ¬x7@2
                    x1@1    ω9
                                          ω9
x3 x3                            ¬x4@2

x4 x4



Clause DB
        • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
        • ω2: ¬x4   x6          • ω7: ¬x8      x9
        • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
        • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4   x7
        • ω5: ¬x2   ¬x7    x9
Decide               Implication Graph
x1
                                                ω8
x2                                       x2@2    ¬x7@2
                    x1@1    ω9
                                          ω9
x3 x3                            ¬x4@2

x4 x4



Clause DB
        • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
        • ω2: ¬x4   x6          • ω7: ¬x8      x9
        • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
        • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4   x7
        • ω5: ¬x2   ¬x7    x9
Decide               Implication Graph
x1                  x3@3
                                                ω8
x2                                       x2@2    ¬x7@2
                    x1@1    ω9
                                          ω9
x3 x3 x3                         ¬x4@2

x4 x4



Clause DB
        • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
        • ω2: ¬x4   x6          • ω7: ¬x8      x9
        • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
        • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4   x7
        • ω5: ¬x2   ¬x7    x9
Decide              Implication Graph
x1                 x3@3
                                               ω8
x2                                      x2@2    ¬x7@2
                   x1@1    ω9
                                         ω9
x3 x3 x3                        ¬x4@2

x4 x4 x5
                                                     x5@4

Clause DB
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4   x7
       • ω5: ¬x2   ¬x7    x9
Deduce              Implication Graph
x1                 x3@3
                                               ω8
x2                                      x2@2    ¬x7@2
                   x1@1    ω9
                                         ω9
x3 x3 x3                        ¬x4@2

x4 x4 x5
                                                     x5@4

Clause DB
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4   x7
       • ω5: ¬x2   ¬x7    x9
Deduce              Implication Graph
x1                 x3@3
                                               ω8
x2                                      x2@2    ¬x7@2
                   x1@1    ω9
                                         ω9         ω3
x3 x3 x3                        ¬x4@2
                                           ¬x6@4
x4 x4 x5                                             ω3

                                                         x5@4

Clause DB
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7    x9
Decide              Implication Graph
x1                 x3@3
                                               ω8
x2                                      x2@2    ¬x7@2
                   x1@1    ω9
                                         ω9         ω3
x3 x3 x3                        ¬x4@2
                                           ¬x6@4
x4 x4 x5                                             ω3

                                                         x5@4

Clause DB
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7    x9
Decide              Implication Graph
x1                 x3@3
                                               ω8
x2                                      x2@2    ¬x7@2
                   x1@1    ω9
                                         ω9         ω3
x3 x3 x3                        ¬x4@2
                                           ¬x6@4
x4 x4 x5           x8@5                              ω3


        x8                                               x5@4

Clause DB
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7    x9
Deduce              Implication Graph
x1                 x3@3
                                               ω8
x2                                      x2@2    ¬x7@2
                   x1@1    ω9
                                         ω9         ω3
x3 x3 x3                        ¬x4@2
                                           ¬x6@4
x4 x4 x5           x8@5                              ω3


        x8                                               x5@4

Clause DB
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7    x9
Deduce              Implication Graph
x1                 x3@3
                                               ω8
x2                                      x2@2    ¬x7@2
                   x1@1    ω9
                                         ω9         ω3
x3 x3 x3                        ¬x4@2
                          ω6               ¬x6@4
x4 x4 x5           x8@5        ¬x9@5                 ω3


        x8                                               x5@4

Clause DB
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7    x9
Deduce              Implication Graph
x1                 x3@3
                                               ω8
x2                                      x2@2    ¬x7@2
                   x1@1    ω9
                                         ω9         ω3
x3 x3 x3                        ¬x4@2
                          ω6               ¬x6@4
x4 x4 x5           x8@5        ¬x9@5                 ω3

                     ω7         ω7                       x5@4
        x8

Clause DB
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7    x9
Deduce              Implication Graph
x1                 x3@3
                                               ω8
x2                                      x2@2    ¬x7@2
                   x1@1    ω9
                                         ω9         ω3
x3 x3 x3                        ¬x4@2
                          ω6               ¬x6@4
x4 x4 x5           x8@5        ¬x9@5                 ω3

                     ω7         ω7                       x5@4
        x8

Clause DB     Conflict
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7    x9
Diagnose
                      Implication Graph
                x3@3
                                            ω8
                                     x2@2    ¬x7@2
                x1@1    ω9
                                      ω9         ω3
                             ¬x4@2
                       ω6               ¬x6@4
                x8@5        ¬x9@5                 ω3

                  ω7         ω7                       x5@4

Clause DB
    • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
    • ω2: ¬x4   x6          • ω7: ¬x8      x9
    • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
    • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4    x7
    • ω5: ¬x2   ¬x7    x9
Diagnose
                              Implication Graph
 ω7:                 x3@3
¬x8 x9                                                ω8
                                               x2@2    ¬x7@2
                     x1@1       ω9
                     Reason                     ω9         ω3
                      Side           ¬x4@2
                               ω6               ¬x6@4
                     x8@5           ¬x9@5                   ω3

                         ω7          ω7                         x5@4
                                     Conflict
                                      Side
 Clause DB
         • ω1: ¬x1    ¬x4      x5   • ω6: ¬x8        ¬x9
         • ω2: ¬x4    x6            • ω7: ¬x8        x9
         • ω3: ¬x5    ¬x6      x7   • ω8: ¬x2        ¬x7
         • ω4: ¬x7    x8            • ω9: ¬x1        ¬x4    x7
         • ω5: ¬x2    ¬x7      x9
Diagnose
                            Implication Graph
 ω7:     ω6:       x3@3
¬x8 x9 ¬x8 ¬x9                                      ω8
                                             x2@2    ¬x7@2
                   x1@1       ω9
                   Reason                     ω9         ω3
                    Side           ¬x4@2
                             ω6               ¬x6@4
                   x8@5           ¬x9@5                   ω3

                       ω7          ω7                         x5@4
                                   Conflict
                                    Side
 Clause DB
       • ω1: ¬x1    ¬x4      x5   • ω6: ¬x8        ¬x9
       • ω2: ¬x4    x6            • ω7: ¬x8        x9
       • ω3: ¬x5    ¬x6      x7   • ω8: ¬x2        ¬x7
       • ω4: ¬x7    x8            • ω9: ¬x1        ¬x4    x7
       • ω5: ¬x2    ¬x7      x9
Diagnose
                            Implication Graph
 ω7:     ω6:       x3@3
¬x8 x9 ¬x8 ¬x9                                      ω8
                                             x2@2    ¬x7@2
                   x1@1       ω9
                   Reason                     ω9         ω3
                    Side           ¬x4@2
                             ω6               ¬x6@4
                   x8@5           ¬x9@5                   ω3

                       ω7          ω7                         x5@4
                                   Conflict
                                    Side
 Clause DB
       • ω1: ¬x1    ¬x4      x5   • ω6: ¬x8        ¬x9
       • ω2: ¬x4    x6            • ω7: ¬x8        x9
       • ω3: ¬x5    ¬x6      x7   • ω8: ¬x2        ¬x7
       • ω4: ¬x7    x8            • ω9: ¬x1        ¬x4    x7
       • ω5: ¬x2    ¬x7      x9
Diagnose
                               Implication Graph
 ω7:     ω6:          x3@3
¬x8 x9 ¬x8 ¬x9                                         ω8
                                                x2@2    ¬x7@2
    ¬x8               x1@1       ω9
                      Reason                     ω9         ω3
                       Side           ¬x4@2
                                ω6               ¬x6@4
                      x8@5           ¬x9@5                   ω3

                          ω7          ω7                         x5@4
                                      Conflict
                                       Side
 Clause DB
          • ω1: ¬x1    ¬x4      x5   • ω6: ¬x8        ¬x9
          • ω2: ¬x4    x6            • ω7: ¬x8        x9
          • ω3: ¬x5    ¬x6      x7   • ω8: ¬x2        ¬x7
          • ω4: ¬x7    x8            • ω9: ¬x1        ¬x4    x7
          • ω5: ¬x2    ¬x7      x9
Diagnose
                                     Implication Graph
 ω7:     ω6:                x3@3
¬x8 x9 ¬x8 ¬x9                                               ω8
                                                      x2@2    ¬x7@2
     ¬x8                    x1@1       ω9
                            Reason                     ω9         ω3
                             Side           ¬x4@2
It contains one literal               ω6               ¬x6@4
        in the current      x8@5           ¬x9@5                   ω3
 decision level (i.e. 5).
                                ω7          ω7                         x5@4
                                            Conflict
                                             Side
 Clause DB
           • ω1: ¬x1         ¬x4      x5   • ω6: ¬x8        ¬x9
           • ω2: ¬x4         x6            • ω7: ¬x8        x9
           • ω3: ¬x5         ¬x6      x7   • ω8: ¬x2        ¬x7
           • ω4: ¬x7         x8            • ω9: ¬x1        ¬x4    x7
           • ω5: ¬x2         ¬x7      x9
Diagnose
                                     Implication Graph
 ω7:     ω6:                x3@3
¬x8 x9 ¬x8 ¬x9                                               ω8
                                                      x2@2    ¬x7@2
     ¬x8                    x1@1       ω9
                            Reason                     ω9         ω3
                             Side           ¬x4@2
It contains one literal               ω6               ¬x6@4
        in the current      x8@5           ¬x9@5                   ω3
 decision level (i.e. 5).
                                ω7          ω7                         x5@4
                                            Conflict
                                             Side
 Clause DB
           • ω1: ¬x1         ¬x4      x5   • ω6: ¬x8 ¬x9
           • ω2: ¬x4         x6            • ω7: ¬x8 x9
           • ω3: ¬x5         ¬x6      x7   •New ¬x2 ¬x7 learnt !
                                             ω8: clause is
           • ω4: ¬x7         x8            • ω9: ¬x1 ¬x4 x7
           • ω5: ¬x2         ¬x7      x9   • ω10: ¬x8
Backtrack                   Implication Graph
  Learnt clause:
       ¬x8                x3@3
                                                      ω8
                                               x2@2    ¬x7@2
x8 was set at level 5     x1@1    ω9
                                                ω9         ω3
Assertion level of this                ¬x4@2
clause (which is the
second highest level)            ω6             ¬x6@4
is 0 by convention.       x8@5        ¬x9@5                 ω3

  Backtrack to level 0      ω7         ω7                       x5@4
  (root level)


  Clause DB
          • ω1: ¬x1       ¬x4    x5   • ω6: ¬x8      ¬x9
          • ω2: ¬x4       x6          • ω7: ¬x8      x9
          • ω3: ¬x5       ¬x6    x7   • ω8: ¬x2      ¬x7
          • ω4: ¬x7       x8          • ω9: ¬x1      ¬x4    x7
          • ω5: ¬x2       ¬x7    x9   • ω10: ¬x8
Backtrack             Implication Graph
x1               x3@3
                                             ω8
x2                                    x2@2    ¬x7@2
                 x1@1    ω9
                                       ω9         ω3
x3 x3 x3                      ¬x4@2
                        ω6             ¬x6@4
x4 x4 x5         x8@5        ¬x9@5                 ω3

                   ω7         ω7                       x5@4
      x8

Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8      x9
     • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
     • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4    x7
     • ω5: ¬x2   ¬x7    x9   • ω10: ¬x8
Backtrack             Implication Graph
x1

x2

x3 x3 x3

x4 x4 x5

      x8

Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8    ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8    x9
     • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2    ¬x7
     • ω4: ¬x7   x8          • ω9: ¬x1    ¬x4   x7
     • ω5: ¬x2   ¬x7    x9   • ω10: ¬x8
Deduce              Implication Graph
x1

x2

x3 x3 x3

x4 x4 x5

        x8

Clause DB
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8    ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8    x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2    ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1    ¬x4   x7
       • ω5: ¬x2   ¬x7    x9   • ω10: ¬x8
Deduce              Implication Graph
x1

x2

x3 x3 x3

x4 x4 x5           ¬x8@0

        x8

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8    ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8    x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2    ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1    ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Decide              Implication Graph
x1

x2

x3 x3 x3

x4 x4 x5           ¬x8@0

        x8

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8    ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8    x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2    ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1    ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Decide              Implication Graph
x1            x1

x2                 x1@1
x3 x3 x3

x4 x4 x5           ¬x8@0

        x8

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8    ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8    x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2    ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1    ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Decide              Implication Graph
x1            x1

x2            x2                      x2@2
                   x1@1
x3 x3 x3

x4 x4 x5           ¬x8@0

        x8

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8    ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8    x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2    ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1    ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Deduce              Implication Graph
x1           x1

x2           x2                       x2@2
                   x1@1
x3 x3 x3

x4 x4 x5           ¬x8@0

        x8

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8    ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8    x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2    ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1    ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Deduce              Implication Graph
x1           x1
                                             ω8
x2           x2                       x2@2     ¬x7@2
                   x1@1
x3 x3 x3

x4 x4 x5           ¬x8@0

        x8

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8    ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8    x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2    ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1    ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Deduce              Implication Graph
x1           x1
                                                ω8
x2           x2                          x2@2    ¬x7@2
                   x1@1     ω9
                                          ω9
x3 x3 x3                         ¬x4@2

x4 x4 x5           ¬x8@0

        x8

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Decide              Implication Graph
x1            x1
                                                ω8
x2            x2                         x2@2    ¬x7@2
                   x1@1     ω9
                                          ω9
x3 x3 x3                         ¬x4@2

x4 x4 x5           ¬x8@0

        x8

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Decide              Implication Graph
x1            x1   x3@3
                                                ω8
x2            x2                         x2@2    ¬x7@2
                   x1@1     ω9
                                          ω9
x3 x3 x3 x3                      ¬x4@2

x4 x4 x5           ¬x8@0

        x8

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Decide              Implication Graph
x1            x1   x3@3
                                                ω8
x2            x2                         x2@2    ¬x7@2
                   x1@1     ω9
                                          ω9
x3 x3 x3 x3                      ¬x4@2

x4 x4 x5 x5        ¬x8@0

        x8                                            x5@4

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Deduce              Implication Graph
x1           x1    x3@3
                                                ω8
x2           x2                          x2@2    ¬x7@2
                   x1@1     ω9
                                          ω9
x3 x3 x3 x3                      ¬x4@2

x4 x4 x5 x5        ¬x8@0

        x8                                            x5@4

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Deduce              Implication Graph
x1           x1    x3@3
                                                ω8
x2           x2                          x2@2    ¬x7@2
                   x1@1     ω9
                                          ω9         ω3
x3 x3 x3 x3                      ¬x4@2
                                          ¬x6@4
x4 x4 x5 x5        ¬x8@0                              ω3


        x8                                                x5@4

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Decide              Implication Graph
x1            x1   x3@3
                                                ω8
x2            x2                         x2@2    ¬x7@2
                   x1@1     ω9
                                          ω9         ω3
x3 x3 x3 x3                      ¬x4@2
                                          ¬x6@4
x4 x4 x5 x5        ¬x8@0                              ω3


        x8                                                x5@4

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Decide              Implication Graph
x1            x1   x3@3
                                                ω8
x2            x2                         x2@2    ¬x7@2
                   x1@1     ω9
                                          ω9         ω3
x3 x3 x3 x3                      ¬x4@2
                                          ¬x6@4
x4 x4 x5 x5        ¬x8@0                              ω3


        x8 x9      x9@5                                   x5@4

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Implication Graph
x1       x1      x3@3
                                              ω8
x2       x2                            x2@2    ¬x7@2
                 x1@1     ω9
                                        ω9         ω3
x3 x3 x3 x3                    ¬x4@2
                                        ¬x6@4
x4 x4 x5 x5      ¬x8@0                              ω3


      x8 x9      x9@5                                   x5@4

Clause DB
     • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8      x9
     • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
     • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4    x7
     • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Implication Graph
x1        x1         x3@3
                                                  ω8
x2        x2                               x2@2    ¬x7@2
                     x1@1     ω9
                                            ω9         ω3
x3 x3 x3 x3
  All variables are
                                   ¬x4@2
                                             ¬x6@4
x4 x4 x5 x5          ¬x8@0                              ω3


      x8 x9          x9@5                                   x5@4

assigned without
Clause DB
    •    ω1:  •¬x1   ¬x4     x5       ω6: ¬x8    ¬x9
    •
    •
          conflict
         ω2:
         ω3:
              •
              •
               ¬x4
               ¬x5
                     x6
                     ¬x6     x7
                                      ω7: ¬x8
                                      ω8: ¬x2
                                                 x9
                                                 ¬x7
     •   ω4:   ¬x7   x8           •   ω9: ¬x1    ¬x4    x7
     •   ω5:   ¬x2   ¬x7     x9   •   ω10: ¬x8
Implication Graph
x1       x1      x3@3
                                              ω8
x2       x2                            x2@2    ¬x7@2
                 x1@1     ω9
                                        ω9         ω3
x3 x3 x3 x3                    ¬x4@2
                                        ¬x6@4
x4 x4 x5 x5      ¬x8@0                              ω3


      x8 x9      x9@5                                   x5@4

Clause DB
     • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8      x9
     • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
     • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4    x7
     • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Implication Graph
x1       x1      x3@3
                                              ω8
x2       x2                            x2@2    ¬x7@2
                 x1@1     ω9
                                        ω9         ω3
x3 x3 x3 x3                    ¬x4@2
                                        ¬x6@4
x4 x4 x5 x5      ¬x8@0                              ω3


      x8 x9      x9@5                                   x5@4

Clause DB        Satisfiable
     • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8      x9
     • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
     • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4    x7
     • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Implication Graph
x1       x1      x3@3
                                              ω8
x2       x2                            x2@2    ¬x7@2
                 x1@1     ω9
                                        ω9         ω3
x3 x3 x3 x3                    ¬x4@2
                                        ¬x6@4
x4 x4 x5 x5      ¬x8@0                              ω3


      x8 x9      x9@5                                   x5@4

Clause DB
     • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8      x9
     • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
     • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4    x7
     • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Implication Graph
Found a model
                  x3@3
                                               ω8
     M=                                 x2@2    ¬x7@2
                  x1@1     ω9
 { x1, x2, x3,                           ω9         ω3
                                ¬x4@2
 ¬x4, x5, ¬x6                            ¬x6@4
                  ¬x8@0                              ω3
¬x7, ¬x8, x9 }
                  x9@5                                   x5@4

 Clause DB
      • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
      • ω2: ¬x4   x6           • ω7: ¬x8      x9
      • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
      • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4    x7
      • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
fin.
References
• J. P. Marques-Silva and K. A. Sakallah,
  "GRASP: a search algorithm for
  propositional satisfiability," Computers,
  IEEE Transactions on, vol. 48, no. 5, pp.
  506-521, May 1999.

• Handbook of Satisfiability, A. Biere,
  M. Heule, H. Van Maaren, and T. Walsh,
  Eds. IOS Press, Feb. 2009.

More Related Content

What's hot

FHE in Action
FHE in ActionFHE in Action
FHE in Action
文杰 陆
 
PandasとSQLとの比較
PandasとSQLとの比較PandasとSQLとの比較
PandasとSQLとの比較
iPride Co., Ltd.
 
DeepLearning 10章 回帰結合型ニューラルネットワークと再帰型ネットワーク
DeepLearning 10章 回帰結合型ニューラルネットワークと再帰型ネットワークDeepLearning 10章 回帰結合型ニューラルネットワークと再帰型ネットワーク
DeepLearning 10章 回帰結合型ニューラルネットワークと再帰型ネットワーク
hirono kawashima
 
Nielsen chuang-6-3
Nielsen chuang-6-3Nielsen chuang-6-3
Nielsen chuang-6-3
GM3D
 
PRML 上 1.2.4 ~ 1.2.6
PRML 上 1.2.4 ~ 1.2.6PRML 上 1.2.4 ~ 1.2.6
PRML 上 1.2.4 ~ 1.2.6
禎晃 山崎
 
Neo4j Drivers Best Practices
Neo4j Drivers Best PracticesNeo4j Drivers Best Practices
Neo4j Drivers Best Practices
Neo4j
 
Linked List Implementation of Deque in C
Linked List Implementation of Deque in CLinked List Implementation of Deque in C
Linked List Implementation of Deque in CKasun Ranga Wijeweera
 
木と電話と選挙(causalTree)
木と電話と選挙(causalTree)木と電話と選挙(causalTree)
木と電話と選挙(causalTree)
Shota Yasui
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)Takao Yamanaka
 
170826 tokyo r_lt
170826 tokyo r_lt170826 tokyo r_lt
170826 tokyo r_lt
Masaru Tokuoka
 
Prml 最尤推定からベイズ曲線フィッティング
Prml 最尤推定からベイズ曲線フィッティングPrml 最尤推定からベイズ曲線フィッティング
Prml 最尤推定からベイズ曲線フィッティング
takutori
 
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう 「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう
Junpei Tsuji
 
カステラ本勉強会 第三回
カステラ本勉強会 第三回カステラ本勉強会 第三回
カステラ本勉強会 第三回
ke beck
 
並列プログラミング 入門!&おさらい!
並列プログラミング入門!&おさらい!並列プログラミング入門!&おさらい!
並列プログラミング 入門!&おさらい!
道化師 堂華
 
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
MITSUNARI Shigeo
 
PRML11.2 - 11.6
PRML11.2 - 11.6PRML11.2 - 11.6
PRML11.2 - 11.6
Hirotaka Matsumoto
 
PRML復々習レーン2.3.2
PRML復々習レーン2.3.2PRML復々習レーン2.3.2
PRML復々習レーン2.3.2sukoyakarizumu
 
Graphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data ScienceGraphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data Science
Kenji Hiranabe
 
集約署名
集約署名集約署名
集約署名
MITSUNARI Shigeo
 
Introduction à Neo4j
Introduction à Neo4jIntroduction à Neo4j
Introduction à Neo4j
Neo4j
 

What's hot (20)

FHE in Action
FHE in ActionFHE in Action
FHE in Action
 
PandasとSQLとの比較
PandasとSQLとの比較PandasとSQLとの比較
PandasとSQLとの比較
 
DeepLearning 10章 回帰結合型ニューラルネットワークと再帰型ネットワーク
DeepLearning 10章 回帰結合型ニューラルネットワークと再帰型ネットワークDeepLearning 10章 回帰結合型ニューラルネットワークと再帰型ネットワーク
DeepLearning 10章 回帰結合型ニューラルネットワークと再帰型ネットワーク
 
Nielsen chuang-6-3
Nielsen chuang-6-3Nielsen chuang-6-3
Nielsen chuang-6-3
 
PRML 上 1.2.4 ~ 1.2.6
PRML 上 1.2.4 ~ 1.2.6PRML 上 1.2.4 ~ 1.2.6
PRML 上 1.2.4 ~ 1.2.6
 
Neo4j Drivers Best Practices
Neo4j Drivers Best PracticesNeo4j Drivers Best Practices
Neo4j Drivers Best Practices
 
Linked List Implementation of Deque in C
Linked List Implementation of Deque in CLinked List Implementation of Deque in C
Linked List Implementation of Deque in C
 
木と電話と選挙(causalTree)
木と電話と選挙(causalTree)木と電話と選挙(causalTree)
木と電話と選挙(causalTree)
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
170826 tokyo r_lt
170826 tokyo r_lt170826 tokyo r_lt
170826 tokyo r_lt
 
Prml 最尤推定からベイズ曲線フィッティング
Prml 最尤推定からベイズ曲線フィッティングPrml 最尤推定からベイズ曲線フィッティング
Prml 最尤推定からベイズ曲線フィッティング
 
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう 「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう
 
カステラ本勉強会 第三回
カステラ本勉強会 第三回カステラ本勉強会 第三回
カステラ本勉強会 第三回
 
並列プログラミング 入門!&おさらい!
並列プログラミング入門!&おさらい!並列プログラミング入門!&おさらい!
並列プログラミング 入門!&おさらい!
 
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
 
PRML11.2 - 11.6
PRML11.2 - 11.6PRML11.2 - 11.6
PRML11.2 - 11.6
 
PRML復々習レーン2.3.2
PRML復々習レーン2.3.2PRML復々習レーン2.3.2
PRML復々習レーン2.3.2
 
Graphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data ScienceGraphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data Science
 
集約署名
集約署名集約署名
集約署名
 
Introduction à Neo4j
Introduction à Neo4jIntroduction à Neo4j
Introduction à Neo4j
 

More from Masahiro Sakai

DeepXplore: Automated Whitebox Testing of Deep Learning
DeepXplore: Automated Whitebox Testing of Deep LearningDeepXplore: Automated Whitebox Testing of Deep Learning
DeepXplore: Automated Whitebox Testing of Deep Learning
Masahiro Sakai
 
Towards formal verification of neural networks
Towards formal verification of neural networksTowards formal verification of neural networks
Towards formal verification of neural networks
Masahiro Sakai
 
関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習
Masahiro Sakai
 
Writing a SAT solver as a hobby project
Writing a SAT solver as a hobby projectWriting a SAT solver as a hobby project
Writing a SAT solver as a hobby project
Masahiro Sakai
 
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
Masahiro Sakai
 
ゼロピッチ: MOOC
ゼロピッチ: MOOCゼロピッチ: MOOC
ゼロピッチ: MOOC
Masahiro Sakai
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
 
Introduction to Max-SAT and Max-SAT Evaluation
Introduction to Max-SAT and Max-SAT EvaluationIntroduction to Max-SAT and Max-SAT Evaluation
Introduction to Max-SAT and Max-SAT Evaluation
Masahiro Sakai
 
Aluminum: Principled Scenario Exploration through Minimality
Aluminum: Principled Scenario Exploration through MinimalityAluminum: Principled Scenario Exploration through Minimality
Aluminum: Principled Scenario Exploration through Minimality
Masahiro Sakai
 
代数的実数とCADの実装紹介
代数的実数とCADの実装紹介代数的実数とCADの実装紹介
代数的実数とCADの実装紹介
Masahiro Sakai
 
Omega test and beyond
Omega test and beyondOmega test and beyond
Omega test and beyond
Masahiro Sakai
 
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
Masahiro Sakai
 
自動定理証明の紹介
自動定理証明の紹介自動定理証明の紹介
自動定理証明の紹介
Masahiro Sakai
 
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
Masahiro Sakai
 
“Design and Implementation of Generics for the .NET Common Language Runtime”他...
“Design and Implementation of Generics for the .NET Common Language Runtime”他...“Design and Implementation of Generics for the .NET Common Language Runtime”他...
“Design and Implementation of Generics for the .NET Common Language Runtime”他...
Masahiro Sakai
 
Relaxed Dependency Analysis
Relaxed Dependency AnalysisRelaxed Dependency Analysis
Relaxed Dependency Analysis
Masahiro Sakai
 
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
Masahiro Sakai
 
自然言語をラムダ式で解釈する体系PTQのHaskell実装
自然言語をラムダ式で解釈する体系PTQのHaskell実装自然言語をラムダ式で解釈する体系PTQのHaskell実装
自然言語をラムダ式で解釈する体系PTQのHaskell実装
Masahiro Sakai
 
Whole Program Paths 等の紹介@PLDIr#3
Whole Program Paths 等の紹介@PLDIr#3Whole Program Paths 等の紹介@PLDIr#3
Whole Program Paths 等の紹介@PLDIr#3
Masahiro Sakai
 
Run-time Code Generation and Modal-ML の紹介@PLDIr#2
Run-time Code Generation and Modal-ML の紹介@PLDIr#2Run-time Code Generation and Modal-ML の紹介@PLDIr#2
Run-time Code Generation and Modal-ML の紹介@PLDIr#2
Masahiro Sakai
 

More from Masahiro Sakai (20)

DeepXplore: Automated Whitebox Testing of Deep Learning
DeepXplore: Automated Whitebox Testing of Deep LearningDeepXplore: Automated Whitebox Testing of Deep Learning
DeepXplore: Automated Whitebox Testing of Deep Learning
 
Towards formal verification of neural networks
Towards formal verification of neural networksTowards formal verification of neural networks
Towards formal verification of neural networks
 
関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習
 
Writing a SAT solver as a hobby project
Writing a SAT solver as a hobby projectWriting a SAT solver as a hobby project
Writing a SAT solver as a hobby project
 
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
 
ゼロピッチ: MOOC
ゼロピッチ: MOOCゼロピッチ: MOOC
ゼロピッチ: MOOC
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
 
Introduction to Max-SAT and Max-SAT Evaluation
Introduction to Max-SAT and Max-SAT EvaluationIntroduction to Max-SAT and Max-SAT Evaluation
Introduction to Max-SAT and Max-SAT Evaluation
 
Aluminum: Principled Scenario Exploration through Minimality
Aluminum: Principled Scenario Exploration through MinimalityAluminum: Principled Scenario Exploration through Minimality
Aluminum: Principled Scenario Exploration through Minimality
 
代数的実数とCADの実装紹介
代数的実数とCADの実装紹介代数的実数とCADの実装紹介
代数的実数とCADの実装紹介
 
Omega test and beyond
Omega test and beyondOmega test and beyond
Omega test and beyond
 
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
 
自動定理証明の紹介
自動定理証明の紹介自動定理証明の紹介
自動定理証明の紹介
 
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
 
“Design and Implementation of Generics for the .NET Common Language Runtime”他...
“Design and Implementation of Generics for the .NET Common Language Runtime”他...“Design and Implementation of Generics for the .NET Common Language Runtime”他...
“Design and Implementation of Generics for the .NET Common Language Runtime”他...
 
Relaxed Dependency Analysis
Relaxed Dependency AnalysisRelaxed Dependency Analysis
Relaxed Dependency Analysis
 
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
 
自然言語をラムダ式で解釈する体系PTQのHaskell実装
自然言語をラムダ式で解釈する体系PTQのHaskell実装自然言語をラムダ式で解釈する体系PTQのHaskell実装
自然言語をラムダ式で解釈する体系PTQのHaskell実装
 
Whole Program Paths 等の紹介@PLDIr#3
Whole Program Paths 等の紹介@PLDIr#3Whole Program Paths 等の紹介@PLDIr#3
Whole Program Paths 等の紹介@PLDIr#3
 
Run-time Code Generation and Modal-ML の紹介@PLDIr#2
Run-time Code Generation and Modal-ML の紹介@PLDIr#2Run-time Code Generation and Modal-ML の紹介@PLDIr#2
Run-time Code Generation and Modal-ML の紹介@PLDIr#2
 

Recently uploaded

Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 

Recently uploaded (20)

Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 

How a CDCL SAT solver works

  • 1. How a CDCL SAT Solver works Masahiro Sakai Twitter: @masahiro_sakai
  • 2. Abstract • Demonstrating how a modern SAT solver works on a small example. • Target Algorithm • Conflict-Driven Clause Learning (CDCL) • 1-UIP learning + far-backtracking • details are omitted efficient data (decision heuristics, structure, etc.,)
  • 3. An Example Problem • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 4. Decide Implication Graph Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 5. Decide Implication Graph x1 x1@1 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 6. Decide Implication Graph x1 x2 x2@2 x1@1 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 7. Decide Implication Graph x1 x3@3 x2 x2@2 x1@1 x3 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 8. Decide Implication Graph x1 x3@3 x2 x2@2 x1@1 x3 x4@4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 9. Deduce Implication Graph x1 x3@3 x2 x2@2 x1@1 x3 x4@4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 10. Deduce Implication Graph x1 x3@3 x2 ω1 x2@2 x1@1 x5@4 x3 ω1 x4@4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 11. Deduce Implication Graph x1 x3@3 x2 ω1 x2@2 x1@1 x5@4 x3 ω1 x4@4 x4 ω2 x6@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 12. Deduce Implication Graph x1 x3@3 x2 ω1 x2@2 x1@1 x5@4 x3 ω3 ω1 x4@4 x7@4 x4 ω2 ω3 x6@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 13. Deduce Implication Graph x1 x3@3 x2 ω1 x2@2 x1@1 x5@4 x3 ω3 ω1 x4@4 x7@4 x4 ω2 ω3 ω4 x6@4 x8@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 14. Deduce Implication Graph x1 x3@3 x2 ω1 x2@2 ω5 x1@1 x5@4 x9@4 x3 ω3 ω5 ω1 x4@4 x7@4 x4 ω2 ω3 ω4 x6@4 x8@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 15. Deduce Implication Graph x1 x3@3 x2 ω1 x2@2 ω5 x1@1 x5@4 x9@4 x3 ω3 ω5 ω6 ω1 x4@4 x7@4 x4 ω2 ω3 ω4 ω6 x6@4 x8@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 16. Deduce Implication Graph x1 x3@3 x2 ω1 x2@2 ω5 x1@1 x5@4 x9@4 x3 ω3 ω5 ω6 ω1 x4@4 x7@4 x4 ω2 ω3 ω4 ω6 x6@4 x8@4 Clause DB Conflict • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 17. Diagnose Implication Graph x3@3 ω1 x2@2 ω5 x1@1 x5@4 x9@4 ω3 ω5 ω6 ω1 x4@4 x7@4 ω2 ω3 ω4 ω6 x6@4 x8@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 18. Diagnose Implication Graph Reason ω6: x3@3 Side ¬x8 ¬x9 ω1 x2@2 ω5 x1@1 x5@4 x9@4 ω3 ω5 ω6 ω1 x4@4 x7@4 ω2 ω3 ω4 ω6 x6@4 x8@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 19. Diagnose Implication Graph Reason ω6: ω4: x3@3 Side ¬x8 ¬x9 ¬x7 x8 ω1 x2@2 ω5 x1@1 x5@4 x9@4 ω3 ω5 ω6 ω1 x4@4 x7@4 ω2 ω3 ω4 ω6 x6@4 x8@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 20. Diagnose Implication Graph Reason ω6: ω4: x3@3 Side ¬x8 ¬x9 ¬x7 x8 ω1 x2@2 ω5 x1@1 x5@4 x9@4 ω3 ω5 ω6 ω1 x4@4 x7@4 ω2 ω3 ω4 ω6 x6@4 x8@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 21. Diagnose Implication Graph Reason ω6: ω4: x3@3 Side ¬x8 ¬x9 ¬x7 x8 ω1 x2@2 ω5 ¬x7 ¬x9 x1@1 x5@4 x9@4 ω3 ω5 ω6 ω1 x4@4 x7@4 ω2 ω3 ω4 ω6 x6@4 x8@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 22. Diagnose Implication Graph Reason ω6: ω4: x3@3 Side ¬x8 ¬x9 ¬x7 x8 ω1 x2@2 ω5 ¬x7 ¬x9 ω5: x1@1 ¬x2 ¬x7 x9 x5@4 x9@4 ω3 ω5 ω6 ω1 x4@4 x7@4 ω2 ω3 ω4 ω6 x6@4 x8@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 23. Diagnose Implication Graph Reason ω6: ω4: x3@3 Side ¬x8 ¬x9 ¬x7 x8 ω1 x2@2 ω5 ¬x7 ¬x9 ω5: x1@1 ¬x2 ¬x7 x9 x5@4 x9@4 ω3 ω5 ω6 ω1 x4@4 x7@4 ω2 ω3 ω4 ω6 x6@4 x8@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 24. Diagnose Implication Graph Reason ω6: ω4: x3@3 Side ¬x8 ¬x9 ¬x7 x8 ω1 x2@2 ω5 ¬x7 ¬x9 ω5: x1@1 ¬x2 ¬x7 x9 x5@4 x9@4 ω3 ω5 ω6 ¬x2 ¬x7 ω1 x4@4 x7@4 ω2 ω3 ω4 ω6 x6@4 x8@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 25. Diagnose Implication Graph Reason ω6: ω4: x3@3 Side ¬x8 ¬x9 ¬x7 x8 ω1 x2@2 ω5 ¬x7 ¬x9 ω5: x1@1 ¬x2 ¬x7 x9 x5@4 x9@4 ω3 ω5 ω6 ¬x2 ¬x7 ω1 x4@4 x7@4 It contains one literal in the current ω3 ω6 ω2 ω4 decision level (i.e. 4). x6@4 x8@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 26. Diagnose Implication Graph Reason ω6: ω4: x3@3 Side ¬x8 ¬x9 ¬x7 x8 ω1 x2@2 ω5 ¬x7 ¬x9 ω5: x1@1 ¬x2 ¬x7 x9 x5@4 x9@4 ω3 ω5 ω6 ¬x2 ¬x7 ω1 x4@4 x7@4 It contains one literal in the current ω3 ω6 ω2 ω4 decision level (i.e. 4). x6@4 x8@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9 New clause is learnt !
  • 27. Backtrack Implication Graph Learnt clause: ¬x2 ¬x7 x3@3 ω1 x2@2 ω5 x2 was set at level 2 x1@1 x7 was set at level 4 x5@4 x9@4 ω3 ω5 ω6 Assertion level of this clause (which is the ω1 second highest level) x4@4 x7@4 is 2. ω6 ω2 ω3 ω4 Backtrack to level 2! x6@4 x8@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 28. Backtrack Implication Graph x1 x3@3 x2 ω1 x2@2 ω5 x1@1 x5@4 x9@4 x3 ω3 ω5 ω6 ω1 x4@4 x7@4 x4 ω2 ω3 ω4 ω6 x6@4 x8@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 29. Backtrack Implication Graph x1 x3@3 x2 ω1 x2@2 ω5 x1@1 x5@4 x9@4 x3 ω3 ω5 ω1 x4@4 x7@4 x4 ω2 ω3 ω4 x6@4 x8@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 30. Backtrack Implication Graph x1 x3@3 x2 ω1 x2@2 x1@1 x5@4 x3 ω3 ω1 x4@4 x7@4 x4 ω2 ω3 ω4 x6@4 x8@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 31. Backtrack Implication Graph x1 x3@3 x2 ω1 x2@2 x1@1 x5@4 x3 ω3 ω1 x4@4 x7@4 x4 ω2 ω3 x6@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 32. Backtrack Implication Graph x1 x3@3 x2 ω1 x2@2 x1@1 x5@4 x3 ω1 x4@4 x4 ω2 x6@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 33. Backtrack Implication Graph x1 x3@3 x2 ω1 x2@2 x1@1 x5@4 x3 ω1 x4@4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 34. Backtrack Implication Graph x1 x3@3 x2 x2@2 x1@1 x3 x4@4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 35. Backtrack Implication Graph x1 x3@3 x2 x2@2 x1@1 x3 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 36. Backtrack Implication Graph x1 x2 x2@2 x1@1 x3 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 37. Deduce Implication Graph x1 x2 x2@2 x1@1 x3 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 38. Deduce Implication Graph x1 ω8 x2 x2@2 ¬x7@2 x1@1 x3 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 39. Decide Implication Graph x1 ω8 x2 x2@2 ¬x7@2 x1@1 x3 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 40. Decide Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 x3 x3 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 41. Decide Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 x3 x3 x4@4 x4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 42. Deduce Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 x3 x3 x4@4 x4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 43. Deduce Implication Graph x1 x3@3 ω8 x2 ω1 x2@2 ¬x7@2 x1@1 x5@4 x3 x3 ω1 x4@4 x4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 44. Deduce Implication Graph x1 x3@3 ω8 x2 ω1 x2@2 ¬x7@2 x1@1 x5@4 x3 x3 ω1 x4@4 x4 x4 ω2 x6@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 45. Deduce Implication Graph x1 x3@3 ω8 x2 ω1 x2@2 ¬x7@2 x1@1 x5@4 x3 x3 ω3 ω3 ω1 x4@4 x4 x4 ω2 ω3 x6@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 46. Deduce Implication Graph x1 x3@3 ω8 x2 ω1 x2@2 ¬x7@2 x1@1 x5@4 x3 x3 ω3 ω3 ω1 x4@4 x4 x4 ω2 ω3 x6@4 Clause DB Conflict • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 47. Diagnose Implication Graph x3@3 ω8 ω1 x2@2 ¬x7@2 x1@1 x5@4 ω3 ω3 ω1 x4@4 ω2 ω3 x6@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 48. Diagnose Implication Graph Reason ω3: x3@3 Side ¬x5 ¬x6 x7 ω8 ω1 x2@2 ¬x7@2 x1@1 x5@4 ω3 ω3 ω1 x4@4 ω2 ω3 Conflict x6@4 Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 49. Diagnose Implication Graph Reason ω3: ω2: x3@3 Side ¬x5 ¬x6 x7 ¬x4 x6 ω8 ω1 x2@2 ¬x7@2 x1@1 x5@4 ω3 ω3 ω1 x4@4 ω2 ω3 Conflict x6@4 Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 50. Diagnose Implication Graph Reason ω3: ω2: x3@3 Side ¬x5 ¬x6 x7 ¬x4 x6 ω8 ω1 x2@2 ¬x7@2 x1@1 x5@4 ω3 ω3 ω1 x4@4 ω2 ω3 Conflict x6@4 Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 51. Diagnose Implication Graph Reason ω3: ω2: x3@3 Side ¬x5 ¬x6 x7 ¬x4 x6 ω8 ω1 x2@2 ¬x7@2 ¬x4 ¬x5 x7 x1@1 x5@4 ω3 ω3 ω1 x4@4 ω2 ω3 Conflict x6@4 Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 52. Diagnose Implication Graph Reason ω3: ω2: x3@3 Side ¬x5 ¬x6 x7 ¬x4 x6 ω8 ω1 x2@2 ¬x7@2 ¬x4 ¬x5 x7 ω1: x1@1 ¬x1 ¬x4 x5 x5@4 ω3 ω3 ω1 x4@4 ω2 ω3 Conflict x6@4 Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 53. Diagnose Implication Graph Reason ω3: ω2: x3@3 Side ¬x5 ¬x6 x7 ¬x4 x6 ω8 ω1 x2@2 ¬x7@2 ¬x4 ¬x5 x7 ω1: x1@1 ¬x1 ¬x4 x5 x5@4 ω3 ω3 ω1 x4@4 ω2 ω3 Conflict x6@4 Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 54. Diagnose Implication Graph Reason ω3: ω2: x3@3 Side ¬x5 ¬x6 x7 ¬x4 x6 ω8 ω1 x2@2 ¬x7@2 ¬x4 ¬x5 x7 ω1: x1@1 ¬x1 ¬x4 x5 x5@4 ω3 ω3 ¬x1 ¬x4 x7 ω1 x4@4 ω2 ω3 Conflict x6@4 Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 55. Diagnose Implication Graph Reason ω3: ω2: x3@3 Side ¬x5 ¬x6 x7 ¬x4 x6 ω8 ω1 x2@2 ¬x7@2 ¬x4 ¬x5 x7 ω1: x1@1 ¬x1 ¬x4 x5 x5@4 ω3 ω3 ¬x1 ¬x4 x7 ω1 x4@4 It contains one literal in the current ω3 decision level (i.e. 4). ω2 Conflict x6@4 Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 56. Diagnose Implication Graph Reason ω3: ω2: x3@3 Side ¬x5 ¬x6 x7 ¬x4 x6 ω8 ω1 x2@2 ¬x7@2 ¬x4 ¬x5 x7 ω1: x1@1 ¬x1 ¬x4 x5 x5@4 ω3 ω3 ¬x1 ¬x4 x7 ω1 x4@4 It contains one literal in the current ω3 decision level (i.e. 4). ω2 Conflict x6@4 Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 New clause is learnt !
  • 57. Backtrack Implication Graph Learnt clause: ¬x1 ¬x4 x7 x3@3 ω8 ω1 x2@2 ¬x7@2 x1 was set at level 1 x1@1 x4 was set at level 4 x5@4 x7 was set at level 2 ω3 ω3 ω1 Assertion level of this x4@4 clause is 2. ω2 ω3 Backtrack to level 2! x6@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 58. Backtrack Implication Graph x1 x3@3 ω8 x2 ω1 x2@2 ¬x7@2 x1@1 x5@4 x3 x3 ω3 ω3 ω1 x4@4 x4 x4 ω2 ω3 x6@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 59. Backtrack Implication Graph x1 ω8 x2 x2@2 ¬x7@2 x1@1 x3 x3 x4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 60. Deduce Implication Graph x1 ω8 x2 x2@2 ¬x7@2 x1@1 x3 x3 x4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 61. Deduce Implication Graph x1 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 ¬x4@2 x4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 62. Decide Implication Graph x1 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 ¬x4@2 x4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 63. Decide Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 x3 ¬x4@2 x4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 64. Decide Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 x3 ¬x4@2 x4 x4 x5 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 65. Deduce Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 x3 ¬x4@2 x4 x4 x5 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 66. Deduce Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 ω3 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 67. Decide Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 ω3 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 68. Decide Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 x8@5 ω3 x8 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 69. Deduce Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 x8@5 ω3 x8 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 70. Deduce Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 ¬x4@2 ω6 ¬x6@4 x4 x4 x5 x8@5 ¬x9@5 ω3 x8 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 71. Deduce Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 ¬x4@2 ω6 ¬x6@4 x4 x4 x5 x8@5 ¬x9@5 ω3 ω7 ω7 x5@4 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 72. Deduce Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 ¬x4@2 ω6 ¬x6@4 x4 x4 x5 x8@5 ¬x9@5 ω3 ω7 ω7 x5@4 x8 Clause DB Conflict • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 73. Diagnose Implication Graph x3@3 ω8 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 ¬x4@2 ω6 ¬x6@4 x8@5 ¬x9@5 ω3 ω7 ω7 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 74. Diagnose Implication Graph ω7: x3@3 ¬x8 x9 ω8 x2@2 ¬x7@2 x1@1 ω9 Reason ω9 ω3 Side ¬x4@2 ω6 ¬x6@4 x8@5 ¬x9@5 ω3 ω7 ω7 x5@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 75. Diagnose Implication Graph ω7: ω6: x3@3 ¬x8 x9 ¬x8 ¬x9 ω8 x2@2 ¬x7@2 x1@1 ω9 Reason ω9 ω3 Side ¬x4@2 ω6 ¬x6@4 x8@5 ¬x9@5 ω3 ω7 ω7 x5@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 76. Diagnose Implication Graph ω7: ω6: x3@3 ¬x8 x9 ¬x8 ¬x9 ω8 x2@2 ¬x7@2 x1@1 ω9 Reason ω9 ω3 Side ¬x4@2 ω6 ¬x6@4 x8@5 ¬x9@5 ω3 ω7 ω7 x5@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 77. Diagnose Implication Graph ω7: ω6: x3@3 ¬x8 x9 ¬x8 ¬x9 ω8 x2@2 ¬x7@2 ¬x8 x1@1 ω9 Reason ω9 ω3 Side ¬x4@2 ω6 ¬x6@4 x8@5 ¬x9@5 ω3 ω7 ω7 x5@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 78. Diagnose Implication Graph ω7: ω6: x3@3 ¬x8 x9 ¬x8 ¬x9 ω8 x2@2 ¬x7@2 ¬x8 x1@1 ω9 Reason ω9 ω3 Side ¬x4@2 It contains one literal ω6 ¬x6@4 in the current x8@5 ¬x9@5 ω3 decision level (i.e. 5). ω7 ω7 x5@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 79. Diagnose Implication Graph ω7: ω6: x3@3 ¬x8 x9 ¬x8 ¬x9 ω8 x2@2 ¬x7@2 ¬x8 x1@1 ω9 Reason ω9 ω3 Side ¬x4@2 It contains one literal ω6 ¬x6@4 in the current x8@5 ¬x9@5 ω3 decision level (i.e. 5). ω7 ω7 x5@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 •New ¬x2 ¬x7 learnt ! ω8: clause is • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 80. Backtrack Implication Graph Learnt clause: ¬x8 x3@3 ω8 x2@2 ¬x7@2 x8 was set at level 5 x1@1 ω9 ω9 ω3 Assertion level of this ¬x4@2 clause (which is the second highest level) ω6 ¬x6@4 is 0 by convention. x8@5 ¬x9@5 ω3 Backtrack to level 0 ω7 ω7 x5@4 (root level) Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 81. Backtrack Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 ¬x4@2 ω6 ¬x6@4 x4 x4 x5 x8@5 ¬x9@5 ω3 ω7 ω7 x5@4 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 82. Backtrack Implication Graph x1 x2 x3 x3 x3 x4 x4 x5 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 83. Deduce Implication Graph x1 x2 x3 x3 x3 x4 x4 x5 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 84. Deduce Implication Graph x1 x2 x3 x3 x3 x4 x4 x5 ¬x8@0 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 85. Decide Implication Graph x1 x2 x3 x3 x3 x4 x4 x5 ¬x8@0 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 86. Decide Implication Graph x1 x1 x2 x1@1 x3 x3 x3 x4 x4 x5 ¬x8@0 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 87. Decide Implication Graph x1 x1 x2 x2 x2@2 x1@1 x3 x3 x3 x4 x4 x5 ¬x8@0 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 88. Deduce Implication Graph x1 x1 x2 x2 x2@2 x1@1 x3 x3 x3 x4 x4 x5 ¬x8@0 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 89. Deduce Implication Graph x1 x1 ω8 x2 x2 x2@2 ¬x7@2 x1@1 x3 x3 x3 x4 x4 x5 ¬x8@0 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 90. Deduce Implication Graph x1 x1 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 x3 ¬x4@2 x4 x4 x5 ¬x8@0 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 91. Decide Implication Graph x1 x1 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 x3 ¬x4@2 x4 x4 x5 ¬x8@0 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 92. Decide Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 x3 x3 ¬x4@2 x4 x4 x5 ¬x8@0 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 93. Decide Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 x3 x3 ¬x4@2 x4 x4 x5 x5 ¬x8@0 x8 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 94. Deduce Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 x3 x3 ¬x4@2 x4 x4 x5 x5 ¬x8@0 x8 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 95. Deduce Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 x5 ¬x8@0 ω3 x8 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 96. Decide Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 x5 ¬x8@0 ω3 x8 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 97. Decide Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 x5 ¬x8@0 ω3 x8 x9 x9@5 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 98. Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 x5 ¬x8@0 ω3 x8 x9 x9@5 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 99. Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 x3 All variables are ¬x4@2 ¬x6@4 x4 x4 x5 x5 ¬x8@0 ω3 x8 x9 x9@5 x5@4 assigned without Clause DB • ω1: •¬x1 ¬x4 x5 ω6: ¬x8 ¬x9 • • conflict ω2: ω3: • • ¬x4 ¬x5 x6 ¬x6 x7 ω7: ¬x8 ω8: ¬x2 x9 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 100. Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 x5 ¬x8@0 ω3 x8 x9 x9@5 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 101. Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 x5 ¬x8@0 ω3 x8 x9 x9@5 x5@4 Clause DB Satisfiable • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 102. Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 x5 ¬x8@0 ω3 x8 x9 x9@5 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 103. Implication Graph Found a model x3@3 ω8 M= x2@2 ¬x7@2 x1@1 ω9 { x1, x2, x3, ω9 ω3 ¬x4@2 ¬x4, x5, ¬x6 ¬x6@4 ¬x8@0 ω3 ¬x7, ¬x8, x9 } x9@5 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 104. fin.
  • 105. References • J. P. Marques-Silva and K. A. Sakallah, "GRASP: a search algorithm for propositional satisfiability," Computers, IEEE Transactions on, vol. 48, no. 5, pp. 506-521, May 1999. • Handbook of Satisfiability, A. Biere, M. Heule, H. Van Maaren, and T. Walsh, Eds. IOS Press, Feb. 2009.

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n
  107. \n
  108. \n
  109. \n
  110. \n
  111. \n
  112. \n
  113. \n
  114. \n
  115. \n
  116. \n
  117. \n
  118. \n
  119. \n
  120. \n
  121. \n
  122. \n
  123. \n
  124. \n
  125. \n
  126. \n
  127. \n
  128. \n
  129. \n
  130. \n
  131. \n
  132. \n
  133. \n
  134. \n
  135. \n
  136. \n
  137. \n
  138. \n
  139. \n
  140. \n
  141. \n
  142. \n
  143. \n
  144. \n
  145. \n
  146. \n
  147. \n
  148. \n
  149. \n
  150. \n
  151. \n
  152. \n
  153. \n
  154. \n
  155. \n
  156. \n
  157. \n
  158. \n
  159. \n
  160. \n
  161. \n
  162. \n
  163. \n
  164. \n
  165. \n
  166. \n
  167. \n
  168. \n
  169. \n
  170. \n
  171. \n
  172. \n
  173. \n
  174. \n
  175. \n
  176. \n
  177. \n
  178. \n
  179. \n
  180. \n
  181. \n
  182. \n
  183. \n
  184. \n
  185. \n
  186. \n
  187. \n
  188. \n
  189. \n
  190. \n
  191. \n
  192. \n
  193. \n
  194. \n
  195. \n
  196. \n
  197. \n
  198. \n
  199. \n
  200. \n
  201. \n
  202. \n
  203. \n
  204. \n
  205. \n
  206. \n
  207. \n
  208. \n
  209. \n
  210. \n
  211. \n
  212. \n
  213. \n
  214. \n
  215. \n
  216. \n
  217. \n
  218. \n
  219. \n
  220. \n
  221. \n
  222. \n
  223. \n
  224. \n
  225. \n
  226. \n
  227. \n
  228. \n
  229. \n
  230. \n
  231. \n
  232. \n
  233. \n
  234. \n
  235. \n
  236. \n
  237. \n
  238. \n
  239. \n
  240. \n
  241. \n
  242. \n
  243. \n
  244. \n
  245. \n
  246. \n
  247. \n
  248. \n
  249. \n
  250. \n
  251. \n
  252. \n
  253. \n
  254. \n
  255. \n
  256. \n
  257. \n
  258. \n
  259. \n
  260. \n
  261. \n
  262. \n
  263. \n
  264. \n
  265. \n
  266. \n
  267. \n
  268. \n
  269. \n
  270. \n
  271. \n
  272. \n
  273. \n
  274. \n
  275. \n
  276. \n
  277. \n
  278. \n
  279. \n
  280. \n
  281. \n
  282. \n
  283. \n