Parallel automated reasoning Maria Paola Bonacina Dipartimento di Informatica Universit` a degli Studi di Verona Verona, Italy, EU Lecture at the Third International Summer School on Satisfiability, Satisfiability Modulo Theories, and Automated Reasoning (SAT/SMT/AR), Instituto Superior T´ ecnico, Universidade de Lisboa, Lisbon, Portugal, EU, July 2019 Maria Paola Bonacina Parallel automated reasoning
Motivation for parallel reasoning ◮ Problems from applications get bigger and bigger ◮ It is hard to improve sequential performance ◮ Parallel hardware is available ◮ Automated reasoning neatly separates inference and control: from sequential to parallel organization of inferences? Maria Paola Bonacina Parallel automated reasoning
Motivation for parallel reasoning ◮ Several SAT/SMT/AR systems are portfolio systems ◮ Multiple strategies by interleaving, time slicing, or in parallel ◮ Portfolio system: framework for parallel experiments or parallel prover/solver? ◮ Different degrees of integration/interaction ◮ What is a parallel prover/solver? ◮ Why is parallel reasoning challenging? Maria Paola Bonacina Parallel automated reasoning
Focus of the lecture Parallel strategies for ◮ Automated theorem proving (ATP) in ◮ First-order logic (FOL) Further reading: ◮ Youssef Hamadi and Lakhdar Sais (Editors) Handbook of Parallel Constraint Reasoning Springer, May 2018 ◮ Chapter 6: Maria Paola Bonacina. Parallel theorem proving (with 230 references) Maria Paola Bonacina Parallel automated reasoning
Theorem-proving strategies Maria Paola Bonacina Parallel automated reasoning
Theorem proving as inference + search ◮ Inference system: a set of inference rules ◮ Generate a derivation by applying the inference rules ◮ An inference system is non-deterministic ◮ Theorem-proving strategy: inference system + search plan ◮ A theorem-proving strategy is a deterministic procedure ◮ Refutationally complete inference system + fair search plan = complete theorem-proving strategy ◮ Parallelism affects the search component Maria Paola Bonacina Parallel automated reasoning
Taxonomy of theorem-proving strategies ◮ Ordering-based strategies ◮ Subgoal-reduction strategies ◮ Instance-based strategies ◮ This lecture: ordering-based and subgoal-reduction strategies ◮ Less work on parallelizing instance-based strategies ◮ That have some commonalities with subgoal-reduction strategies from a parallelization viewpoint Maria Paola Bonacina Parallel automated reasoning
Ordering-based strategies Maria Paola Bonacina Parallel automated reasoning
Ordering-based strategies ◮ Expansion and contraction of a set of clauses (e.g., resolution, subsumption, paramodulation/superposition, simplification) ◮ Well-founded partial ordering ≻ on terms, literals, clauses: ◮ Restrict expansion ◮ Define contraction and redundancy ◮ State of the art for quantifier reasoning + equality reasoning ◮ Provers: e.g., Otter, EQP, Prover9, Spass, Discount, E, Gandalf, Vampire, Waldmeister, Zipperposition Maria Paola Bonacina Parallel automated reasoning
Expansion inference scheme An inference A B where A and B are sets of clauses is an expansion inference if ◮ A ⊂ B : something is added ◮ Hence A ≺ B ( ≻ extended by multiset extension) ◮ Soundness of expansion: what is added is a logical consequence of what was already there B \ A ⊆ Th ( A ) hence B ⊆ Th ( A ) hence Th ( B ) ⊆ Th ( A ) Maria Paola Bonacina Parallel automated reasoning
Expansion inference rule: superposition Example: f ( z , e ) ≃ z f ( l ( x , y ) , y ) ≃ x l ( x , e ) ≃ x ◮ f ( z , e ) σ = f ( l ( x , y ) , y ) σ ◮ σ = { z ← l ( x , e ) , y ← e } ◮ f ( l ( x , e ) , e ) ≻ l ( x , e ) ( by the subterm property ) ◮ f ( l ( x , e ) , e ) ≻ x ( by the subterm property ) ◮ Superposition closes a peak: l ( x , e ) ← f ( l ( x , e ) , e ) → x Maria Paola Bonacina Parallel automated reasoning
Expansion inference rule: superposition/paramodulation S ∪ { l ≃ r ∨ C , L [ s ] ∨ D } S ∪ { l ≃ r ∨ C , L [ s ] ∨ D , ( L [ r ] ∨ C ∨ D ) σ } ◮ s is not a variable ◮ l σ = s σ with σ mgu ◮ l ≃ r : para-from literal/clause ◮ L [ s ]: para-into literal/clause ◮ l σ �� r σ and if L [ s ] is p [ s ] ⊲ ⊳ q then p σ �� q σ ( ⊲ ⊳ is ≃ or �≃ ) ◮ ( l ≃ r ) σ �� M σ for all M ∈ C ◮ L [ s ] σ �� M σ for all M ∈ D Maria Paola Bonacina Parallel automated reasoning
Contraction inference scheme An inference A B where A and B are sets of clauses is a contraction inference if ◮ A �⊆ B : something is deleted or replaced ◮ B ≺ A : if replaced, replaced by something smaller ◮ Soundness of contraction adds adequacy: what is gone is logical consequence of what is kept A \ B ⊆ Th ( B ) hence A ⊆ Th ( B ) hence Th ( A ) ⊆ Th ( B ) (monotonicity) ◮ Every step sound and adequate: Th ( A ) = Th ( B ) Maria Paola Bonacina Parallel automated reasoning
Contraction inference rule: simplification S ∪ { s ≃ t , L [ r ] ∨ C } S ∪ { s ≃ t , L [ t σ ] ∨ C } ◮ s σ = r and s σ ≻ t σ ◮ L [ t σ ] ∨ C is entailed by the original set (soundness) ◮ L [ r ] ∨ C is entailed by the resulting set (adequacy) ◮ L [ r ] ∨ C is redundant S ∪ { f ( x , x ) ≃ x , P ( f ( a , a )) ∨ Q ( a ) } S ∪ { f ( x , x ) ≃ x , P ( a ) ∨ Q ( a ) } Maria Paola Bonacina Parallel automated reasoning
Ordering-based strategies: derivation ◮ Input set S ◮ Inference system: a set of inference rules ◮ Derivation: S = S 0 ⊢ S 1 ⊢ . . . S i ⊢ S i +1 ⊢ . . . ∀ i S i +1 is derived from S i by an inference ◮ Refutation: a derivation such that ✷ ∈ S k for some k ◮ Refutational completeness: for all unsat S there is refutation ◮ Persistent clauses: S ∞ = � � j ≥ i S j i ≥ 0 ◮ Once redundant always redundant Maria Paola Bonacina Parallel automated reasoning
Ordering-based inference system ◮ Expansion rules: ordered resolution, ordered factoring, superposition/ordered paramodulation, equational factoring, reflection (resolution with x ≃ x ) ◮ Contraction rules: subsumption, simplification, tautology deletion, clausal simplification (unit resolution + subsumption) ◮ Refutationally complete Maria Paola Bonacina Parallel automated reasoning
Contraction before expansion ◮ Simplification-first search plans ◮ Contraction-first search plans ◮ Eager-contraction search plans ◮ Keep sets of clauses interreduced Maria Paola Bonacina Parallel automated reasoning
Forward and backward contraction I ◮ Forward contraction: ◮ Reduce new clause ϕ by older clauses ◮ Find all clauses ψ that can reduce ϕ ◮ Backward contraction: ◮ Reduce older clause ψ by new clause ϕ ◮ Find all clauses ψ that ϕ can reduce Maria Paola Bonacina Parallel automated reasoning
Forward and backward contraction II ◮ Forward contraction before backward contraction ◮ Forward contraction implemented as pre-processing clause ϕ ◮ Forward contraction is part of the generation of ϕ ◮ Before forward contraction: raw clause ◮ Backward contraction implemented as post-processing ϕ : detect that ψ can be reduced + forward contraction ψ ◮ Clauses generated by backward contraction treated like those generated by expansion ◮ Backward contraction: highly dynamic database of clauses Maria Paola Bonacina Parallel automated reasoning
Search plans for ordering-based strategies ◮ Lists To-Be-Selected and Already-Selected ◮ Given-clause algorithm: select a given-clause ϕ from To-Be-Selected , do all expansion inferences between ϕ and all ψ in Already-Selected , move ϕ to Already-Selected ◮ Apply forward contraction to each raw clause ◮ Two versions for backward contraction: ◮ Keep the union of the two lists interreduced ◮ Keep only Already-Selected interreduced Maria Paola Bonacina Parallel automated reasoning
Subgoal-reduction strategies Maria Paola Bonacina Parallel automated reasoning
Subgoal-reduction strategies ◮ Linear resolution, model elimination (ME): pick a goal clause and try to reduce it to ✷ by reducing goals to subgoals ◮ ME-tableaux: Tableau as survey of interpretations Try to eliminate them all Tableau frontier ∼ goal clause ◮ Equality reasoning still an open problem ◮ Provers: e.g., Setheo, Protein, leanCoP, EKR-Hyper Maria Paola Bonacina Parallel automated reasoning
Ordered linear resolution ◮ At each step: resolve current goal L ∨ C with side clause L ′ ∨ D such that L σ = ¬ L ′ σ ◮ Next goal: the resolvent ( D ∨ C ) σ ◮ Subgoal L reduced to a new bunch of subgoals D σ ◮ Side clause: either input or ancestor ◮ Linear: at every step one parent is previous resolvent ◮ Ordered: literals in the goal reduced in fixed order e.g., left-to-right (literal-selection rule) Maria Paola Bonacina Parallel automated reasoning
Model elimination ◮ ME-extension: resolve current goal L ∨ C with side clause L ′ ∨ D such that L σ = ¬ L ′ σ ◮ Next goal: the resolvent ( D ∨ [ L ] ∨ C ) σ ◮ Reduced subgoal L saved as framed literal ◮ ME-reduction: reduce goal L ′ ∨ D ∨ [ L ] ∨ C to ( D ∨ [ L ] ∨ C ) σ when L σ = ¬ L ′ σ ◮ ME-contraction: reduce goal [ L ] ∨ C to C ◮ Side clause: input clause ◮ Linear input strategy for FOL Maria Paola Bonacina Parallel automated reasoning
Recommend
More recommend