Outline Automated reasoning Some building blocks for reasoning The theorem-proving problem Inference mechanisms Theorem-proving strategies Overview of automated reasoning and ordering-based strategies Maria Paola Bonacina Visiting: Computer Science Laboratory, SRI International, Menlo Park, CA, USA Affiliation: Dipartimento di Informatica, Universit` a degli Studi di Verona, Verona, Italy, EU Invited talk at the 9th Summer School on Formal Techniques (SSFT) SRI International and Menlo College, Atherton, California, USA, May 19, 2019 (Subsuming the invited talk “Ordering-based strategies for theorem proving,” 6th SSFT, May 2016, and the lecture “Introduction to automated reasoning,” 1st Int. Summer School on SAT/SMT/AR, Instituto Superior T´ ecnico, U. Lisboa, Lisbon, Portugal, EU, June 2016) Overview of automated reasoning and ordering-based strategies Maria Paola Bonacina
Outline Automated reasoning Some building blocks for reasoning The theorem-proving problem Inference mechanisms Theorem-proving strategies Automated reasoning Some building blocks for reasoning The theorem-proving problem Inference mechanisms Theorem-proving strategies Overview of automated reasoning and ordering-based strategies Maria Paola Bonacina
Outline Automated reasoning Some building blocks for reasoning The theorem-proving problem Inference mechanisms Theorem-proving strategies Automated reasoning Automated reasoning is ◮ Symbolic computation ◮ Artificial intelligence ◮ Computational logic ◮ ... ◮ Knowledge described precisely: symbols ◮ Symbolic reasoning: Logico-deductive, Probabilistic ... Overview of automated reasoning and ordering-based strategies Maria Paola Bonacina
Outline Automated reasoning Some building blocks for reasoning The theorem-proving problem Inference mechanisms Theorem-proving strategies The gist of this lecture ◮ Logico-deductive reasoning ◮ Focus: first-order logic (FOL) ◮ Take-home message: ◮ FOL as machine language ◮ Reasoning is about ignoring what’s redundant as much as it is getting what’s relevant ◮ Expansion and Contraction ◮ Ordering-based, instance-based, subgoal-reduction-based strategies ◮ Inference, Search, and algorithmic building blocks Overview of automated reasoning and ordering-based strategies Maria Paola Bonacina
Outline Automated reasoning Some building blocks for reasoning The theorem-proving problem Inference mechanisms Theorem-proving strategies Signature ◮ A finite set of constant symbols: a , b , c ... ◮ A finite set of function symbols: f , g , h ... ◮ A finite set of predicate symbols: P , Q , ≃ ... ◮ Arities ◮ Sorts (important but key concepts can be understood without) An infinite supply of variable symbols: x , y , z , w ... Overview of automated reasoning and ordering-based strategies Maria Paola Bonacina
Outline Automated reasoning Some building blocks for reasoning The theorem-proving problem Inference mechanisms Theorem-proving strategies Defined symbols and free symbols ◮ A symbol is defined if it comes with axioms, e.g., ≃ ◮ It is free otherwise, e.g., P ◮ Aka: interpreted/uninterpreted ◮ Equality ( ≃ ) comes with the congruence axioms Overview of automated reasoning and ordering-based strategies Maria Paola Bonacina
Outline Automated reasoning Some building blocks for reasoning The theorem-proving problem Inference mechanisms Theorem-proving strategies Terms and atoms ◮ Terms: a , x , f ( a , b ), g ( y ) ◮ Herbrand universe U : all ground terms (add a constant if there is none in the given signature) ◮ Atoms: P ( a ), f ( x , x ) ≃ x ◮ Literals: P ( a ), f ( x , x ) ≃ x , ¬ P ( a ), f ( x , x ) �≃ x ◮ Herbrand base B : all ground atoms ◮ If there is at least one function symbol, U and B are infinite ◮ This is key if the reasoner builds new terms and atoms Overview of automated reasoning and ordering-based strategies Maria Paola Bonacina
Outline Automated reasoning Some building blocks for reasoning The theorem-proving problem Inference mechanisms Theorem-proving strategies Substitution ◮ A substitution is a function from variables to terms that is not identity on a finite set of variables ◮ σ = { x 1 ← t 1 , . . . , x n ← t n } ◮ σ = { x ← a , y ← f ( w ) , z ← w } ◮ Application: h ( x , y , z ) σ = h ( a , f ( w ) , w ) Overview of automated reasoning and ordering-based strategies Maria Paola Bonacina
Outline Automated reasoning Some building blocks for reasoning The theorem-proving problem Inference mechanisms Theorem-proving strategies Matching ◮ Given terms or atoms s and t ◮ f ( x , g ( y )) and f ( g ( b ) , g ( a )) ◮ Find matching substitution: σ s.t. s σ = t σ = { x ← g ( b ) , y ← a } ◮ s σ = t : t is instance of s , s is more general than t Overview of automated reasoning and ordering-based strategies Maria Paola Bonacina
Outline Automated reasoning Some building blocks for reasoning The theorem-proving problem Inference mechanisms Theorem-proving strategies Unification ◮ Given terms or atoms s and t ◮ f ( g ( z ) , g ( y )) and f ( x , g ( a )) ◮ Find substitution σ s.t. s σ = t σ : σ = { x ← g ( z ) , y ← a } ◮ Unification problem: E = { s i = ? t i } n i =1 ◮ Most general unifier (mgu): e.g., not σ ′ = { x ← g ( b ) , y ← a , z ← b } Overview of automated reasoning and ordering-based strategies Maria Paola Bonacina
Outline Automated reasoning Some building blocks for reasoning The theorem-proving problem Inference mechanisms Theorem-proving strategies Orderings ◮ View U and B as ordered sets ◮ With variables: partial order ◮ Extend to literals (add sign) and clauses ◮ Extend to proofs (e.g., equational chains) ◮ Why? To detect and delete or replace redundant data ◮ E.g., replace something by something smaller in a well-founded ordering Overview of automated reasoning and ordering-based strategies Maria Paola Bonacina
Outline Automated reasoning Some building blocks for reasoning The theorem-proving problem Inference mechanisms Theorem-proving strategies Precedence ◮ A partial order > on the signature ◮ Example: the Ackermann function ◮ ack (0 , y ) ≃ succ ( y ) ◮ ack ( succ ( x ) , 0) ≃ ack ( x , succ (0)) ◮ ack ( succ ( x ) , succ ( y )) ≃ ack ( x , ack ( succ ( x ) , y )) ◮ Precedence ack > succ > 0 Overview of automated reasoning and ordering-based strategies Maria Paola Bonacina
Outline Automated reasoning Some building blocks for reasoning The theorem-proving problem Inference mechanisms Theorem-proving strategies Stability ◮ ≻ ordering ◮ s ≻ t ◮ f ( f ( x , y ) , z ) ≻ f ( x , f ( y , z )) ◮ Stability: s σ ≻ t σ for all substitutions σ ◮ f ( f ( g ( a ) , b ) , z ) ≻ f ( g ( a ) , f ( b , z )) σ = { x ← g ( a ) , y ← b } Overview of automated reasoning and ordering-based strategies Maria Paola Bonacina
Outline Automated reasoning Some building blocks for reasoning The theorem-proving problem Inference mechanisms Theorem-proving strategies Monotonicity ◮ ≻ ordering ◮ s ≻ t ◮ Example: f ( x , i ( x )) ≻ e ◮ Monotonicity: r [ s ] ≻ r [ t ] for all contexts r (A context is an expression, here a term or atom, with a hole) ◮ f ( f ( x , i ( x )) , y ) ≻ f ( e , y ) Overview of automated reasoning and ordering-based strategies Maria Paola Bonacina
Outline Automated reasoning Some building blocks for reasoning The theorem-proving problem Inference mechanisms Theorem-proving strategies Subterm property ◮ ≻ ordering ◮ s [ t ] ≻ t ◮ Example: f ( x , i ( x )) ≻ i ( x ) Overview of automated reasoning and ordering-based strategies Maria Paola Bonacina
Outline Automated reasoning Some building blocks for reasoning The theorem-proving problem Inference mechanisms Theorem-proving strategies Simplification ordering ◮ Stable, monotonic, and with the subterm property: simplification ordering ◮ A simplification ordering is well-founded or equivalently Noetherian ◮ No infinite descending chain s 0 ≻ s 1 ≻ . . . s i ≻ s i +1 ≻ . . . (Noetherian from Emmy Noether) Overview of automated reasoning and ordering-based strategies Maria Paola Bonacina
Outline Automated reasoning Some building blocks for reasoning The theorem-proving problem Inference mechanisms Theorem-proving strategies Multiset extension ◮ Multisets, e.g., { a , a , b } , { 5 , 4 , 4 , 4 , 3 , 1 , 1 } ◮ From ≻ to ≻ mul : ◮ M ≻ mul ∅ ◮ M ∪ { a } ≻ mul N ∪ { a } if M ≻ mul N ◮ M ∪ { a } ≻ mul N ∪ { b } if a ≻ b and M ∪ { a } ≻ mul N ◮ { 5 } ≻ mul { 4 , 4 , 4 , 3 , 1 , 1 } ◮ If ≻ is well-founded then ≻ mul is well-founded Overview of automated reasoning and ordering-based strategies Maria Paola Bonacina
Outline Automated reasoning Some building blocks for reasoning The theorem-proving problem Inference mechanisms Theorem-proving strategies Recursive path ordering (RPO) s = f ( s 1 , . . . , s n ) ≻ g ( t 1 , . . . , t m ) = t if ◮ Either f > g and ∀ k , 1 ≤ k ≤ m , s ≻ t k ◮ Or f = g and { s 1 , . . . , s n } ≻ mul { t 1 , . . . , t n } ◮ Or ∃ k such that s k � t Overview of automated reasoning and ordering-based strategies Maria Paola Bonacina
Recommend
More recommend