? Results of CASC (2016) Very Sketchy Anatomy of Winning ATPs - - PowerPoint PPT Presentation

results of casc 2016 very sketchy anatomy of winning atps
SMART_READER_LITE
LIVE PREVIEW

? Results of CASC (2016) Very Sketchy Anatomy of Winning ATPs - - PowerPoint PPT Presentation

Proof Search in Conflict Resolution Lifting CDCL (Conflict-Driven Clause Learning) to First-Order Logic Bruno Woltzenlogel Paleo joint work with: Daniyar Itegulov (ITMO, St. Petersburg, Russia) Ezequiel Postan (National University


slide-1
SLIDE 1

Proof Search in Conflict Resolution


Lifting CDCL 
 (Conflict-Driven Clause Learning) 
 to First-Order Logic

Bruno Woltzenlogel Paleo

joint work with:

Daniyar Itegulov (ITMO, St. Petersburg, Russia)
 Ezequiel Postan (National University of Rosario, Argentina)
 John Slaney (Australian National University)


slide-2
SLIDE 2

modus ponens hypothetical reasoning resolution

?

slide-3
SLIDE 3

sat-solver

Results of CASC (2016) First/Higher-Order 
 Theorem Prover

Very Sketchy Anatomy

  • f Winning ATPs
slide-4
SLIDE 4

Let’s Open the Black Box!

slide-5
SLIDE 5

Implication/Conflict Graphs: Unit Propagation

slide-6
SLIDE 6

Unit-Propagating Resolution

slide-7
SLIDE 7

Implication/Conflict Graphs: Unit Propagation c2 : R c1 : ¬P c3 : ¬R ∨ P ∨ Q Q u c1 c4 : P ∨ ¬Q ¬Q u ⊥ c

slide-8
SLIDE 8

Implication/Conflict Graphs: Decision Literals

slide-9
SLIDE 9

Implication/Conflict Graphs
 
 Backtrack and Iterate…

slide-10
SLIDE 10

Implication/Conflict Graphs: Decision Literals Decision literals behave like assumptions learning a clause is like 
 applying natural deduction’s 
 negation introduction rule [P] . . . . ⊥ ¬P ¬I

slide-11
SLIDE 11

Decisions and Conflict-Driven Clause Learning This can also be a non-tree DAG “cl” can be seen as a chain of 
 negation/implication introductions ¬P ≡ P → ⊥

slide-12
SLIDE 12

First-Order Logic

Propositional Logic

CDCL

slide-13
SLIDE 13

First-Order Unit-Propagation

slide-14
SLIDE 14

c1 : P(z) ∨ Q c2 : P(y) ∨ ¬Q c3 : ¬P(a) ∨ Q c4 : ¬P(b) ∨ ¬Q

P(x) {x\a} {x\b}

c5 : ¬P(a) ∨ ¬P(b) c5 : ¬P(x)

Which clause should we learn? ?

slide-15
SLIDE 15

First-Order Conflict-Driven Clause Learning

slide-16
SLIDE 16

Refutational Completeness

(by simulation of the resolution calculus)

slide-17
SLIDE 17

Refutational Completeness

(by simulation of the resolution calculus) The simulation is linear

slide-18
SLIDE 18

Soundness

(via simulation by natural deduction) Step 1: 
 ground the conflict resolution proof (expand DAG to tree when necessary) Step 2: 
 simulate each unit propagating resolution or conflict 
 by a chain of implication eliminations.
 simulate each conflict driven clause learning inference
 by a chain of negation/implication introductions.

Conflict Resolution = “Chained” Natural Deduction with Unification

slide-19
SLIDE 19

A Side-Remark: Linear Simulation of Splitting

Now we could even split when

Γ ∨ ∆ Γ . . . . ⊥ ∆ . . . . ⊥

slide-20
SLIDE 20

JAR Paper JAR Paper accepted in January 2017

slide-21
SLIDE 21

A Theorem Prover is much more than a Logical Calculus

Logical Calculus Refinements Search Algorithm Heuristics Implementation
 Techniques this talk's focus

slide-22
SLIDE 22

4 "evils" that attack first-order logic
 but not propositional logic

Pandora’s Box

slide-23
SLIDE 23

1: Non-Termination of First-Order Unit Propagation Note: this problem will not occur in some
 decidable fragments (e.g. Bernays-Schönfinkel) c5 : P(a) c6 : ¬P(x) ∨ P(f(x)) c6 P(a)

P(f(a))

P(f(f(a))) c6 c6 …

slide-24
SLIDE 24

Solutions

2) Bound the propagation… A) … by the depth of the propagation B) … by the depth of terms occurring in propagated literals 1) Ignore the non-termination. and make decisions when the bound is reached, 
 and then increase the bound.

slide-25
SLIDE 25

2: Absence of Uniformly True Literals in Satisfied Clauses {p(X) ∨ q(X), ¬p(a), p(b), q(a), ¬q(b)} p(X) q(X) is a satisfiable clause set but there is no model where is uniformly true

  • r

is uniformly true This makes it harder to detect when
 all clauses are already satisfied
 (and, therefore, that we can stop the search)

slide-26
SLIDE 26

Solutions

2) Keep track of “useless decisions” 
 and consider a clause to be satisfied 
 when all its literals are useless decisions. 1) Ignore the problem, and accept that 
 some satisfiable problems will not be solved. (not so bad, if we focus on unsatisfiable problems) {p(X) ∨ q(X), ¬p(a), p(b), q(a), ¬q(b)} p(X) q(X) and are useless decisions they lead to subsumed conflict-driven learned clauses

slide-27
SLIDE 27

3: Propagation without Satisfaction p(X) ∨ q(X) q(a) ¬p(a) In a model containing The clause becomes propagating and propagates into the model but having q(a) in the model does not make the clause satisfied Even after propagation
 a clause may be needed for other propagations

slide-28
SLIDE 28

Solution

1) Check whether the propagating clause 
 became uniformly satisfied. If so, then it won’t be needed in future propagations

slide-29
SLIDE 29

4: Quasi-Falsification without Propagation p(X) ∨ q(X) ∨ r(X) r(X) ¬p(a) ¬q(b) In a model containing and the clause is quasi-falsified (because its first two literals are false) but cannot be propagated This prevents direct lifting of 
 two watched literals data structure Moreover, detection of false literals needs 
 to take unification into account

slide-30
SLIDE 30

Solution

For each literal L occurring in a clause, 
 keep a hashset of literals in the model that are duals of instances of L. If all literals of a clause except one have a non-empty hashset associated with it, the clause is quasi-falsified. This allows quicker detection of quasi-falsified clauses
 in a manner that resembles two-watched literals The set of quasi-falsified clauses is an over-approximation


  • f the set of clauses that can propagate
slide-31
SLIDE 31

Implementation

slide-32
SLIDE 32

The Scavenger 0.1 Theorem Prover

Implemented in

by me and two Google Summer of Code students: Daniyar Itegulov and Ezequiel Postan http://gitlab.com/aossie/Scavenger Open-Source: GSoC stipends available this year again!

www.aossie.org

Deadline: 3 April

slide-33
SLIDE 33

Basic Data Structures terms and formulas are simply-typed lambda expressions clauses are immutable sequents 
 (antecedent and succedent are sets)

future work: 
 extend Conflict Resolution and Scavenger to higher-order logic

slide-34
SLIDE 34

Proofs are DAGs of Proof Nodes

slide-35
SLIDE 35

each inference rule is a small class

slide-36
SLIDE 36

each inference rule is a small class

slide-37
SLIDE 37

Main Search Loop: 3 variants

1. EP-Scavenger: ignore non-termination of unit-propagation
 (168 lines)
 2. PD-Scavenger: bound propagation by propagation depth
 (342 lines)
 3. TD-Scavenger: bound propagation by term depth
 (176 lines)

slide-38
SLIDE 38

Important Missing Features

proper backtracking:


Scavenger currently restarts and throws the model away 
 after every conflict

decision literal selection heuristics:


Scavenger currently selects the 
 first literal from a randomised queue

(Urgent Future Work)

slide-39
SLIDE 39

Preliminary Experiments

slide-40
SLIDE 40

TPTP Unsat EPR CNF problems without Equality PD TD EP V E Otter

slide-41
SLIDE 41

TPTP Unsat CNF problems without Equality PD TD EP V E Otter V

slide-42
SLIDE 42

What about AI/ML?

CDCL and CR

selection of decision literals actions learned clause punishment for 
 (set of) bad decisions

Reinforcement Learning

heuristics selecting
 decision literals with 
 highest scores policy selecting 
 actions with 
 highest values current model state

slide-43
SLIDE 43

Conclusions

slide-44
SLIDE 44

modus ponens hypothetical reasoning resolution

?

first-order CDCL

`1 . . . `n `1 → . . . → `n → ` ` u()

unit-resulting resolution

slide-45
SLIDE 45

Performance Approaches

Resolution/Superposition
 Provers
 after
 decades


  • f engineering

Scavenger after 6 months


  • f engineering

CR Provers after years

  • f engineering

Immediate Future Work: More careful backtracking 
 and restarting Hopefully

slide-46
SLIDE 46

Thank you!