![Page 1: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/1.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Introduction to automated reasoning
Maria Paola Bonacina
Dipartimento di Informatica, Universita degli Studi di Verona, Verona, Italy
June 23, 2016
Maria Paola Bonacina Introduction to automated reasoning
![Page 2: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/2.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Automated reasoning
Some building blocks for reasoning
The theorem-proving problem
Inference mechanisms
Theorem-proving strategies
Maria Paola Bonacina Introduction to automated reasoning
![Page 3: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/3.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Automated reasoning
Automated reasoning is
◮ Symbolic computation
◮ Artificial intelligence
◮ Computational logic
◮ ...
◮ Knowledge described precisely: symbols
◮ Symbolic reasoning: Logico-deductive, Probabilistic ...
Maria Paola Bonacina Introduction to automated reasoning
![Page 4: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/4.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-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
Maria Paola Bonacina Introduction to automated reasoning
![Page 5: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/5.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-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 ...
Maria Paola Bonacina Introduction to automated reasoning
![Page 6: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/6.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-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
Maria Paola Bonacina Introduction to automated reasoning
![Page 7: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/7.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-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) 6≃ 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
Maria Paola Bonacina Introduction to automated reasoning
![Page 8: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/8.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Substitution
◮ A substitution is a function from variables to terms that is notidentity on a finite set of variables
◮ σ = {x1 ← t1, . . . , xn ← tn}
◮ σ = {x ← a, y ← f (w), z ← w}
◮ Application: h(x , y , z)σ = h(a, f (w),w)
Maria Paola Bonacina Introduction to automated reasoning
![Page 9: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/9.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-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
Maria Paola Bonacina Introduction to automated reasoning
![Page 10: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/10.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-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 = {si =? ti}
ni=1
◮ Most general unifier (mgu): e.g., notσ′ = {x ← g(b), y ← a, z ← b}
Maria Paola Bonacina Introduction to automated reasoning
![Page 11: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/11.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-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 awell-founded ordering
Maria Paola Bonacina Introduction to automated reasoning
![Page 12: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/12.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-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
Maria Paola Bonacina Introduction to automated reasoning
![Page 13: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/13.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-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}
Maria Paola Bonacina Introduction to automated reasoning
![Page 14: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/14.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-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)
Maria Paola Bonacina Introduction to automated reasoning
![Page 15: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/15.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Subterm property
◮ ≻ ordering
◮ s[t] ≻ t
◮ Example: f (x , i(x)) ≻ i(x)
Maria Paola Bonacina Introduction to automated reasoning
![Page 16: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/16.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Simplification ordering
◮ Stable, monotonic, and with the subterm property:simplification ordering
◮ A simplification ordering is well-founded or equivalentlyNoetherian
◮ No infinite descending chain s0 ≻ s1 ≻ . . . si ≻ si+1 ≻ . . .
(Noetherian from Emmy Noether)
Maria Paola Bonacina Introduction to automated reasoning
![Page 17: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/17.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-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
Maria Paola Bonacina Introduction to automated reasoning
![Page 18: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/18.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Recursive path ordering (RPO)
s = f (s1, . . . , sn) ≻ g(t1, . . . , tm) = t if
◮ Either f > g and ∀k , 1 ≤ k ≤ m, s ≻ tk
◮ Or f = g and {s1, . . . , sn} ≻mul {t1, . . . , tn}
◮ Or ∃k such that sk � t
Maria Paola Bonacina Introduction to automated reasoning
![Page 19: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/19.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Distributivity by RPO
◮ Precedence: ∗ > +
◮ x ∗ (y + z) ≻ x ∗ y + x ∗ z because◮ ∗ > + and◮ x ∗ (y + z) ≻ x ∗ y since {x , y + z} ≻mul {x , y}◮ x ∗ (y + z) ≻ x ∗ z since {x , y + z} ≻mul {x , z}
Maria Paola Bonacina Introduction to automated reasoning
![Page 20: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/20.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Lexicographic extension
◮ Tuples, vectors, words, e.g., (a, a, b), (5, 4, 4, 4, 3, 1, 1)
◮ From ≻ to ≻lex :(a1, . . . , an) ≻lex (b1, . . . , bm) if ∃i s.t. ∀j , 1 ≤ j < i , aj = bj ,and ai ≻ bi
◮ (5) ≻lex (4, 4, 4, 3, 1, 1)
◮ (1, 2, 3, 5, 1) ≻lex (1, 2, 3, 3, 4)
◮ If ≻ is well-founded then ≻lex is well-founded
Maria Paola Bonacina Introduction to automated reasoning
![Page 21: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/21.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Lexicographic path ordering (LPO)
s = f (s1, . . . , sn) ≻ g(t1, . . . , tm) = t if
◮ Either f > g and ∀k , 1 ≤ k ≤ m, s ≻ tk
◮ Or f = g , (s1, . . . , sn) ≻lex (t1, . . . , tn),and ∀k , i < k ≤ n, s ≻ tk
◮ Or ∃k such that sk � t
Multiset and lexicographic extension can be mixed: give eachfunction symbol either multiset or lexicographic status
Maria Paola Bonacina Introduction to automated reasoning
![Page 22: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/22.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Ackermann function by LPO
◮ Precedence ack > succ > 0
◮ ack(0, y) ≻ succ(y)because ack > succ and ack(0, y) ≻ y
◮ ack(succ(x), 0) ≻ ack(x , succ(0))because (succ(x), 0) ≻lex (x , succ(0)),as succ(x) ≻ x , and ack(succ(x), 0) ≻ succ(0),
since ack > succ and ack(succ(x), 0) ≻ 0
◮ ack(succ(x), succ(y)) ≻ ack(x , ack(succ(x), y))because (succ(x), succ(y)) ≻lex (x , ack(succ(x), y)),since succ(x) ≻ x and ack(succ(x), succ(y)) ≻ ack(succ(x), y),because (succ(x), succ(y)) ≻lex (succ(x), y),
as succ(x) = succ(x) and succ(y) ≻ y
Maria Paola Bonacina Introduction to automated reasoning
![Page 23: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/23.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Ordering atoms and literals
◮ Atoms are treated like terms◮ Also predicate symbols in the precedence >
◮ ≃ is typically the smallest predicate symbol in >
◮ ≃ has multiset status: s ≃ t as {s, t}
◮ Literals: make the positive version smaller than the negative◮ Add ⊤ and ⊥ both >-smaller than any other symbol and with⊥ > ⊤
◮ For literal L take multiset {atom(L),⊥} if L negative,{atom(L),⊤}, otherwise
Maria Paola Bonacina Introduction to automated reasoning
![Page 24: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/24.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Variables cause partiality
◮ Let s and t be two distinct non-ground terms or atoms
◮ If ∃x ∈ Var(s) \ Var(t) then t 6≻ s
◮ g(x) 6≻ f (x , y)
◮ If ∃y ∈ Var(t) \ Var(s) then s 6≻ t
◮ Both: t#s (uncomparable)
◮ f (x)#g(y), f (x)#f (y), g(x , z)#f (x , y)
Maria Paola Bonacina Introduction to automated reasoning
![Page 25: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/25.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Complete simplification ordering (CSO)
◮ LPO and RPO are simplification orderings
◮ Simplification ordering total on ground terms and atoms:complete simplification ordering (CSO)
◮ LPO and RPO with a total precedence are CSO
◮ LPO and RPO do not correlate with sizee.g., f (a) ≻ g5(a) if f > g
◮ Knuth-Bendix ordering (KBO): based on precedence and aweight function
Maria Paola Bonacina Introduction to automated reasoning
![Page 26: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/26.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Summary of the first part
◮ Language: signature, terms, atoms, literals
◮ Substitutions instantiate variables
◮ Matching and unification
◮ A partially ordered world of terms, atoms, literals
◮ More building blocks: indexing to detect matching andunification fast
Maria Paola Bonacina Introduction to automated reasoning
![Page 27: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/27.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
At the dawn of computer science
◮ Kurt Godel: completeness of first-order logicLater: Leon Henkin (consistency implies satisfiability)
◮ Alan Turing: Entscheidungsproblem; “computor;” Turingmachine; universal computer; halting problem; undecidability;undecidability of first-order logic
◮ Herbrand theorem: semi-decidability of first-order logic
(Herbrand theorem: Jacques Herbrand + Thoralf Skolem + Kurt Godel)
(“Computor:” Robert I. Soare “Computability and recursion” Bulletin of
Symbolic Logic 2:284–321, 1996)
Maria Paola Bonacina Introduction to automated reasoning
![Page 28: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/28.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
The theorem-proving problem
◮ A set H of formulas viewed as assumptions or hypotheses
◮ A formula ϕ viewed as conjecture
◮ Theorem-proving problem: H |=? ϕ
◮ Equivalently: is H ∪ {¬ϕ} unsatisfiable?
◮ If H |= ϕ, then ϕ is a theorem of H, or H ⊃ ϕ is a theorem
◮ Th(H) = {ϕ : H |= ϕ}
◮ Infinitely many interpretations on infinitely many domains:how do we start?
Maria Paola Bonacina Introduction to automated reasoning
![Page 29: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/29.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Two simplifications
◮ Restrict formulas to clauses: less expressive, but suitable asmachine language
◮ Restrict interpretations to Herbrand interpretations: asemantics built out of syntax
◮ All we have in machine’s memory are symbols, that is, syntax
Maria Paola Bonacina Introduction to automated reasoning
![Page 30: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/30.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Clausal form
◮ Clause: disjunction of literals where all variables are implicitlyuniversally quantified
◮ ¬P(f (z)) ∨ ¬Q(g(z)) ∨ R(f (z), g(z))
◮ Ordering ≻ on literals extended to clauses by multisetextension
◮ No loss of generality: every formula can be transformed into aset of clauses
◮ Every clause has its own variables
Maria Paola Bonacina Introduction to automated reasoning
![Page 31: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/31.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Transformation into clausal form
◮ Eliminate ≡ and ⊃: F ≡ G becomes (F ⊃ G ) ∧ (G ⊃ F ) andF ⊃ G becomes ¬F ∨ G
◮ Reduce the scope of all occurrences of ¬ to an atom: (each
quantifier occurrence binds a distinct variable¬(F ∨ G) becomes
¬F ∧ ¬G , ¬(F ∧ G) becomes ¬F ∨ ¬G , ¬¬F becomes F , ¬∃F
becomes ∀¬F , and ¬∀F becomes ∃¬F
◮ Standardize variables apart(each quantifier occurrence binds a distinct variable symbol)
◮ Skolemize ∃ and then drop ∀
◮ Distributivity and associativity: F ∨ (G ∧ H) becomes
(F ∨ G) ∧ (F ∨ H) and F ∨ (G ∨ H) becomes F ∨ G ∨ H
◮ Replace ∧ by comma and get a set of clauses
Maria Paola Bonacina Introduction to automated reasoning
![Page 32: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/32.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Skolemization
◮ Outermost ∃:◮ ∃x F [x ] becomes F [a] (all occurrences of x replaced by a)
a is a new Skolem constant◮ There exists an element such that F : let this element be
named a
◮ ∃ in the scope of ∀:◮ ∀y∃x F [x , y ] becomes ∀y F [g(y), y ]
(all occurrences of x replaced by g(y))g is a new Skolem function
◮ For all y there is an x such that F : x depends on y ;let g be the map of this dependence
Maria Paola Bonacina Introduction to automated reasoning
![Page 33: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/33.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
A simple example
◮ ¬{[∀x P(x)] ⊃ [∃y ∀z Q(y , z)]}
◮ ¬{¬[∀x P(x)] ∨ [∃y ∀z Q(y , z)]}
◮ [∀x P(x)] ∧ ¬[∃y ∀z Q(y , z)]
◮ [∀x P(x)] ∧ [∀y ∃z ¬Q(y , z)]
◮ [∀x P(x)] ∧ [∀y ¬Q(y , f (y))] where f is a Skolem function
◮ {P(x), ¬Q(y , f (y))}: a set of two unit clauses
Maria Paola Bonacina Introduction to automated reasoning
![Page 34: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/34.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Clausal form and Skolemization
◮ All steps in the transformation into clauses exceptSkolemization preserve logical equivalence(for every interpretation, F is true iff F ′ is true)
◮ Skolemization only preserves equisatisfiability(F is (un)satisfiable iff F ′ is (un)satisfiable)
◮ Why Skolem symbols must be new?So that we can interpret them as in the model of F whenbuilding a model of F ′
Maria Paola Bonacina Introduction to automated reasoning
![Page 35: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/35.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Herbrand interpretations
◮ First-order interpretation I = 〈D,Φ〉
◮ Let D be U◮ Let Φ interpret constant and function symbols as themselves:
◮ Φ(a) = a◮ Φ(f )(t1, . . . , tn) = f (t1, . . . , tn)
◮ Predicate symbols? All possibilities
◮ The powerset P(B) gives all possible Herbrand interpretations
◮ Herbrand model: a satisfying Herbrand interpretation
Maria Paola Bonacina Introduction to automated reasoning
![Page 36: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/36.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Clausal form and Herbrand interpretations
◮ Theorem-proving problem: is H ∪ {¬ϕ} unsatisfiable?
◮ Transform H ∪ {¬ϕ} into set S of clauses(S = T ⊎ SOS where SOS contains the clauses from ¬ϕ)
◮ H ∪ {¬ϕ} and S are equisatisfiable
◮ Theorem-proving problem: is S unsatisfiable?
◮ S is unsatisfiable iff S has no Herbrand model
◮ From now on: only Herbrand interpretations
Maria Paola Bonacina Introduction to automated reasoning
![Page 37: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/37.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Not for formulas
◮ ∃x P(x) ∧ ¬P(a)
◮ Is it satisfiable? Yes
◮ Herbrand model? No!
◮ ∅ and {P(a)} or {¬P(a)} and {P(a)}
◮ Clausal form: {P(b), ¬P(a)}
◮ Herbrand model: {P(b)} or {P(b), ¬P(a)}
Maria Paola Bonacina Introduction to automated reasoning
![Page 38: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/38.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Satisfaction
◮ I: Herbrand interpretation
◮ I |= S if I |= C for all C ∈ S
◮ I |= C if I |= Cσ for all ground instances Cσ of C
◮ I |= Cσ if I |= Lσ for some ground literal Lσ in Cσ
Maria Paola Bonacina Introduction to automated reasoning
![Page 39: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/39.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Herbrand theorem
◮ S : set of clauses
◮ S is unsatisfiable iff there exists a finite set S ′ of groundinstances of clauses in S such that S ′ is unsatisfiable
◮ Finite sets of ground instances can be enumerated and testedfor propositional satisfiability which is decidable: thefirst-order theorem-proving problem is semi-decidable
Maria Paola Bonacina Introduction to automated reasoning
![Page 40: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/40.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Instance-based strategies
◮ Generate finite set of ground instances
◮ Test for satisfiability by SAT-solver
◮ Unsatisfiable: done
◮ Satisfiable with propositional model I: generate groundinstances false in I and repeat
◮ Model-driven instance generation
Maria Paola Bonacina Introduction to automated reasoning
![Page 41: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/41.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Equality
◮ Congruence axioms in clausal form:◮ x ≃ x◮ x 6≃ y ∨ y ≃ x◮ x 6≃ y ∨ y 6≃ z ∨ x ≃ z◮ x 6≃ y ∨ f (. . . , x , . . .) ≃ f (. . . , y , . . .)◮ x 6≃ y ∨ ¬P(. . . , x , . . .) ∨ P(. . . , y , . . .)
◮ E -satisfiability, E -interpretations, Herbrand E -interpretations
Maria Paola Bonacina Introduction to automated reasoning
![Page 42: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/42.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Herbrand theorem
◮ S : set of clauses
◮ S is E -unsatisfiable iff there exists a finite set S ′ of groundinstances of clauses in S such that S ′ is E -unsatisfiable
Maria Paola Bonacina Introduction to automated reasoning
![Page 43: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/43.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Summary of the second part
◮ First-order theorem-proving problem
◮ Clauses
◮ Herbrand interpretations
◮ Herbrand theorem
◮ Theorem proving in first-order logic is semi-decidable
◮ Instance-based strategies implement directly Herbrandtheorem by interleaving instance generation and SATisfiabilitytesting
Maria Paola Bonacina Introduction to automated reasoning
![Page 44: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/44.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Expansion and contraction
Like many search procedures, most reasoning methods combinevarious forms of growing and shrinking:
◮ Recall CDCL in SAT/SMT: decisions and propagations growthe model while backjumps shrink it
◮ Ordering-based strategies: expansion and contraction of a setof clauses
◮ Ordering ≻ on clauses extended to sets of clauses by multisetextension
Maria Paola Bonacina Introduction to automated reasoning
![Page 45: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/45.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Expansion
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
◮ B \ A ⊆ Th(A) hence B ⊆ Th(A) hence Th(B) ⊆ Th(A)(soundness)
Maria Paola Bonacina Introduction to automated reasoning
![Page 46: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/46.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Contraction
An inference
A
B
where A and B are sets of clauses is a contraction inference if
◮ A 6⊆ B : something is deleted or replaced
◮ B ≺ A: if replaced, replaced by something smaller
◮ A \ B ⊆ Th(B) hence A ⊆ Th(B) hence Th(A) ⊆ Th(B)(monotonicity or adequacy)
◮ Every step sound and adequate: Th(A) = Th(B)
Maria Paola Bonacina Introduction to automated reasoning
![Page 47: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/47.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Propositional resolution
P ∨ ¬Q ∨ ¬R, ¬P ∨O
O ∨ ¬Q ∨ ¬R
where O, P , Q, and R are propositional atoms(aka propositional variables, aka 0-ary predicates)
Maria Paola Bonacina Introduction to automated reasoning
![Page 48: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/48.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Propositional resolution
is an expansion inference rule:
S ∪ {L ∨ C , ¬L ∨ D}S ∪ {L ∨ C , ¬L ∨ D, C ∨D}
◮ S is a set of clauses
◮ L is an atom
◮ C and D are disjunctions of literals
◮ L and ¬L are the literals resolved upon
◮ C ∨ D is called resolvent
Maria Paola Bonacina Introduction to automated reasoning
![Page 49: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/49.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
First-order resolution
S ∪ {L1 ∨ C , ¬L2 ∨D}S ∪ {L1 ∨ C , ¬L2 ∨ D, (C ∨D)σ}
where L1σ = L2σ for σ mgu
Maria Paola Bonacina Introduction to automated reasoning
![Page 50: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/50.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
First-order resolution
P(g(z), g(y)) ∨ ¬R(z , y), ¬P(x , g(a)) ∨ Q(x , g(x))
¬R(z , a) ∨Q(g(z), g(g(z)))
where σ = {x ← g(z), y ← a}
Maria Paola Bonacina Introduction to automated reasoning
![Page 51: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/51.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Ordered resolution
S ∪ {L1 ∨ C , ¬L2 ∨D}S ∪ {L1 ∨ C , ¬L2 ∨ D, (C ∨D)σ}
where
◮ L1σ = L2σ for σ mgu
◮ L1σ 6� Mσ for all M ∈ C
◮ ¬L2σ 6� Mσ for all M ∈ D
Maria Paola Bonacina Introduction to automated reasoning
![Page 52: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/52.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Ordered resolution
P(g(z), g(y)) ∨ ¬R(z , y), ¬P(x , g(a)) ∨ Q(x , g(x))
¬R(z , a) ∨Q(g(z), g(g(z)))
◮ σ = {x ← g(z), y ← a}
◮ P(g(z), g(a)) 6� ¬R(z , a)
◮ ¬P(g(z), g(a)) 6� Q(g(z), g(g(z)))
◮ Allowed, e.g., with P > R > Q > g
◮ Not allowed, e.g., with Q > R > P > g > a
Maria Paola Bonacina Introduction to automated reasoning
![Page 53: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/53.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Subsumption
S ∪ {P(x , y) ∨ Q(z), Q(a) ∨ P(b, b) ∨ R(u)}S ∪ {P(x , y) ∨ Q(z)}
C = P(x , y) ∨ Q(z) subsumes D = Q(a) ∨ P(b, b) ∨ R(u)as there is a substitution σ = {z ← a, x ← b, y ← b}such that Cσ ⊂ D hence {C} |= {D} (adequacy)
Maria Paola Bonacina Introduction to automated reasoning
![Page 54: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/54.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Subsumption ordering
◮ Subsumption ordering: C •≤ D if ∃σ Cσ ⊆ D (as multisets)
◮ Strict subsumption ordering: C •< D if C •≤ D and C 6•≤ D
◮ The strict subsumption ordering •< is well-founded
◮ Equality up to variable renaming: C•
= D if C •≤ D and C •≤ D
(C and D are variants)
Maria Paola Bonacina Introduction to automated reasoning
![Page 55: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/55.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Subsumption
is a contraction inference rule:
S ∪ {C , D}S ∪ {C}
◮ Either C •< D (strict subsumption)
◮ Or C•
= D and C ≺ D where ≺ is the lexicographiccombination of •< and another well-founded ordering(e.g., C was generated before D) (subsumption of variants)
◮ Clause D is redundant
◮ Subsumption uses matching, resolution uses unification
Maria Paola Bonacina Introduction to automated reasoning
![Page 56: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/56.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
And equality?
Replacing equals by equals as in ground rewriting:
S ∪ {f (a, a) ≃ a, P(f (a, a)) ∨ Q(a)}S ∪ {f (a, a) ≃ a, P(a) ∨Q(a)}
It can be done as f (a, a) ≻ a
Maria Paola Bonacina Introduction to automated reasoning
![Page 57: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/57.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Simplification
is a contraction inference rule:
S ∪ {f (x , x) ≃ x , P(f (a, a)) ∨Q(a)}S ∪ {f (x , x) ≃ x , P(a) ∨ Q(a)}
◮ f (x , x) matches f (a, a) with σ = {x ← a}
◮ f (a, a) ≻ a
Maria Paola Bonacina Introduction to automated reasoning
![Page 58: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/58.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Simplification
S ∪ {s ≃ t, L[r ] ∨ C}S ∪ {s ≃ t, L[tσ] ∨ C}
◮ L is a literal with r as subterm (L could be another equation)
◮ C is a disjunction of literals
◮ ∃σ such that 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
Maria Paola Bonacina Introduction to automated reasoning
![Page 59: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/59.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Expansion for equality reasoning
◮ Simplification is a powerful rule that often does most of thework in presence of equality
◮ But it is not enough
◮ Equality reasoning requires to generate new equations
◮ We need an expansion rule that builds equality into resolutionand uses unification not only matching
Maria Paola Bonacina Introduction to automated reasoning
![Page 60: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/60.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Superposition/Paramodulation
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} most general unifier
◮ f (l(x , e), e) ≻ l(x , e)
◮ f (l(x , e), e) ≻ x
◮ Superposing two equations yields a peak:l(x , e)← f (l(x , e), e) → x
Maria Paola Bonacina Introduction to automated reasoning
![Page 61: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/61.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Completion
◮ New equations closing such peaks are called critical pairs, asthey complete the set of equations into a confluent one
◮ Confluence ensures uniqueness of normal forms
◮ This procedure is known as Knuth-Bendix completion
◮ Unfailing or Ordered Knuth-Bendix completion ensures groundconfluence (unique normal form of ground terms) whichsuffices for theorem proving in equational theories as theSkolemized form of ¬(∀x s ≃ t) is ground
Maria Paola Bonacina Introduction to automated reasoning
![Page 62: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/62.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Superposition/Paramodulation
is an expansion inference rule:
S ∪ {l ≃ r , p[s] ⊲⊳ q}S ∪ {l ≃ r , p[s] ⊲⊳ q, (p[r ] ⊲⊳ q)σ}
◮ ⊲⊳ is either ≃ or 6≃
◮ s is not a variable
◮ lσ = sσ with σ mgu
◮ lσ 6� rσ and pσ 6� qσ
Maria Paola Bonacina Introduction to automated reasoning
![Page 63: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/63.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Superposition/Paramodulation
S ∪ {l ≃ r ∨ C , L[s] ∨D}S ∪ {l ≃ r ∨ C , L[s] ∨ D, (L[r ] ∨ C ∨ D)σ}
◮ C and D are disjunctions of literals
◮ L[s]: literal paramodulated into
◮ s is not a variable
◮ lσ = sσ with σ mgu
◮ lσ 6� rσ and if L[s] is p[s] ⊲⊳ q then pσ 6� qσ
◮ (l ≃ r)σ 6� Mσ for all M ∈ C
◮ L[s]σ 6� Mσ for all M ∈ D
Maria Paola Bonacina Introduction to automated reasoning
![Page 64: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/64.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
What’s in a name
◮ Paramodulation was used first in resolution-based theoremproving where simplification was called demodulation
◮ Superposition and simplification, or rewriting, were used firstin Knuth-Bendix completion
◮ Some authors use superposition between unit equations andparamodulation otherwise
◮ Other authors use superposition when the literalparamodulated into is an equational literal andparamodulation otherwise
Maria Paola Bonacina Introduction to automated reasoning
![Page 65: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/65.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Derivation
◮ Input set S
◮ Inference system IS: a set of inference rules
◮ IS-derivation from S :
S0 ⊢IS
S1 ⊢IS
. . . Si ⊢IS
Si+1 ⊢IS
. . .
where S0 = S and for all i , Si+1 is derived from Si by aninference rule in IS
◮ Refutation: a derivation such that ✷ ∈ Sk for some k
Maria Paola Bonacina Introduction to automated reasoning
![Page 66: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/66.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Refutational completeness
An inference system IS is refutationally complete if for all sets Sof clauses, if S is unsatisfiable, there exists an IS-derivation fromS that is a refutation.
Maria Paola Bonacina Introduction to automated reasoning
![Page 67: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/67.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Ordering-based inference system
An inference system with
◮ Expansion rules: resolution, factoring,superposition/paramodulation, equational factoring, reflection(resolution with x ≃ x)
◮ Contraction rules: subsumption, simplification, tautologydeletion, clausal simplification (unit resolution + subsumption)
is refutationally complete
Maria Paola Bonacina Introduction to automated reasoning
![Page 68: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/68.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Summary of the third part
◮ Expansion and contraction
◮ Resolution and subsumption
◮ Paramodulation/superposition and simplification
◮ Contraction uses matching, expansion uses unification
◮ Ordering-based inference system
◮ Derivation
◮ Refutational completeness
Maria Paola Bonacina Introduction to automated reasoning
![Page 69: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/69.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Search
◮ Given S and IS, many IS-derivations from S are possible
◮ An inference system is non-deterministic
◮ Which one to build? Search problem
◮ Search space
◮ Rules and moves: inference rules and inference steps
Maria Paola Bonacina Introduction to automated reasoning
![Page 70: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/70.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Strategy
◮ Theorem-proving strategy: C = 〈IS,Σ〉
◮ IS: inference system
◮ Σ: search plan
◮ The search plan picks at every stage of the derivation whichinference to do next
◮ A deterministic proof procedure
Maria Paola Bonacina Introduction to automated reasoning
![Page 71: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/71.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Completeness
◮ Inference system: refutational completenessthere exist refutations
◮ Search plan: fairnessensure that the generated derivation is a refutation
◮ Refutationally complete inference system + fair search plan =complete theorem-proving strategy
Maria Paola Bonacina Introduction to automated reasoning
![Page 72: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/72.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Fairness
◮ Fairness: consider eventually all needed steps: What isneeded?
◮ Dually: what is not needed, or: what is redundant?
◮ Fairness and redundancy are related
Maria Paola Bonacina Introduction to automated reasoning
![Page 73: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/73.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Redundancy
◮ Based on ordering ≻ on clauses:a clause is redundant if all its ground instances are;a ground clause is redundant if there are ground instances ofother clauses that entail it and are smaller
◮ Based on ordering ≻ on proofs:a clause is redundant if adding it does not decrease anyminimal proofs (dually, removing it does not increase proofs)
◮ Agree if proofs are measured by maximal premises
◮ Redundant inference: uses/generates redundant clause
Maria Paola Bonacina Introduction to automated reasoning
![Page 74: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/74.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Fairness
◮ A derivation is fair if whenever a minimal proof of the targettheorem is reducible by inferences, it is reduced eventually
◮ A derivation is uniformly fair if all non-redundant inferencesare done eventually
◮ A search plan is (uniformly) fair if all its derivations are
Maria Paola Bonacina Introduction to automated reasoning
![Page 75: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/75.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Contraction first
Eager-contraction search plan: schedule contraction beforeexpansion
Maria Paola Bonacina Introduction to automated reasoning
![Page 76: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/76.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
The given-clause algorithm
◮ Two lists: ToBeSelected and AlreadySelected
(Other names: SOS and Usable; Active and Passive)
◮ Initialization: ToBeSelected = S0 and AlreadySelected = ∅
◮ Alternative: ToBeSelected = clauses(¬ϕ) andAlreadySelected = clauses(H) (set of support strategy)
Maria Paola Bonacina Introduction to automated reasoning
![Page 77: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/77.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
The given-clause algorithm: expansion
◮ Loop until either proof found or ToBeSelected = ∅, the lattermeaning satisfiable
◮ At every iteration: pick a given-clause from ToBeSelected
◮ How? Best-first search: the best according to an evaluationfunction (e.g., weight, FIFO, pick-given ratio)
◮ Perform all expansion steps with the given-clause and clausesin AlreadySelected as premises
◮ Move the given-clause from ToBeSelected to AlreadySelected
◮ Insert all newly generated clauses in ToBeSelected
Maria Paola Bonacina Introduction to automated reasoning
![Page 78: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/78.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Forward contraction
◮ Forward contraction: contract newly generated clauses bypre-existing ones
◮ Forward contract each new clause prior to insertion inToBeSelected
◮ A very high number of clauses gets deleted typically byforward contraction
Maria Paola Bonacina Introduction to automated reasoning
![Page 79: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/79.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Backward contraction
◮ Backward contraction: contract pre-existing clauses by newones
◮ For fairness backward contraction must be applied afterforward contraction (e.g., subsumption)
◮ Detect which clauses can be backward-contracted and treatthem as new
◮ Every backward-contracted clause may backward-contractothers
◮ How much to do? How often?
Maria Paola Bonacina Introduction to automated reasoning
![Page 80: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/80.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
A choice of invariants
◮ Keep ToBeSelected ∪ AlreadySelected contracted
◮ Keep only AlreadySelected contracted◮ Backward-contract {given−clause} ∪ AlreadySelected right
after picking the given-clause◮ Deletion of “orphans” in ToBeSelected
Maria Paola Bonacina Introduction to automated reasoning
![Page 81: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/81.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Subgoal-reduction based strategies
◮ Model elimination (ME)
◮ Linear resolution
◮ Matings
◮ Connections or matrices
All eventually understood in the context ofclausal normalform tableauxe.g., ME-tableaux
Maria Paola Bonacina Introduction to automated reasoning
![Page 82: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/82.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Subgoal-reduction based strategies
◮ Select goal clause C0 = L1 ∨ . . . ∨ Lk from input set S
◮ Start tableau (tree) with root Goal and children L1, . . . , Lk◮ Model elimination:
◮ ME-Extension: if leaf L of branch J and literal M in clauseM ∨ P1 ∨ . . . ∨ Pn are complementary and unify, extend J withchildren P1, . . . ,Pn and apply mgu to tableau
◮ ME-reduction: close (eliminate) branch with unifiablecomplementary literals and apply mgu to tableau
◮ Rigid variables: need backtracking
◮ Refutational completeness: if S is unsatisfiable and S \ {C0} issatisfiable then there is a closed (empty) tableau from C0 for S
Maria Paola Bonacina Introduction to automated reasoning
![Page 83: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/83.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Ordering-based and subgoal-reduction strategies
Ordering-based Subgoal-reduction
Data set of clauses tableau
Proof attempts built many implicitly one at a time
Backtracking no yes
Contraction yes no
Equality yes ?
Visited search space all generated clauses all tried tableaux
Active search space all kept clauses current tableau
Generated proof ancestor-graph of ✷ closed tableau
Maria Paola Bonacina Introduction to automated reasoning
![Page 84: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/84.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
SGGS: Semantically-Guided Goal-sensitive reasoning
◮ Semantically guided: initial and default interpretation I
◮ If I |= S : done; otherwise build a derivationΓ0 ⊢ Γ1 ⊢ . . . Γi ⊢ Γi+1 ⊢ . . .
◮ Γ is a sequence of (possibly constrained) clauses each with aselected literal
◮ Candidate models: I[Γ0], I[Γ1] . . . I[Γi ], I[Γi+1] . . .where I[Γ] is I modified to satisfy proper ground instances ofselected literals
Maria Paola Bonacina Introduction to automated reasoning
![Page 85: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/85.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
SGGS: first-order clausal propagation
◮ L is true: all ground Lσ are true
◮ L is false: at least one ground ¬Lσ is true
◮ L is uniformly false: all ground Lσ are false
◮ Propagation: selecting M makes L uniformly false in I[Γ]
◮ Conflict clause: all literals uniformly false in I[Γ]
◮ Justification: all literals except Q uniformly false in I[Γ];Q is implied
Maria Paola Bonacina Introduction to automated reasoning
![Page 86: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/86.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
SGGS: a CDCL-like first-order method
◮ SGGS-extension: adds to Γ an instance of a clause in S ;(literal selection analogue of decision in CDCL)
◮ SGGS-resolution: explains conflict by resolving literals inconflict clause with implied literals(like propositional resolution in CDCL)
◮ SGGS-move: solves conflict by moving conflict clause to flipits selected literal (analogue of backjump in CDCL)
◮ SGGS-deletion: removes clause C satisfied by I[Γ] withoutusing C itself
◮ In addition: partitioning rules, bookkeeping rules
Maria Paola Bonacina Introduction to automated reasoning
![Page 87: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/87.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
SGGS
◮ Fairness: ensures that the procedure does not ignoreinferences on shorter prefixes of Γ to work on longer ones(e.g., minimal index SGGS-strategy)
◮ Refutationally complete: if S unsatisfiable, any fair derivationgenerates ⊥
◮ Explicit model construction: if S is satisfiable, the limit of anyfair derivation is a model
◮ Goal sensitive: all generated clauses connected to ¬ϕ(if I 6|= SOS and I |= T for S = T ⊎ SOS)
Maria Paola Bonacina Introduction to automated reasoning
![Page 88: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/88.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Theorem provers
◮ Proof assistant ∼ interpreter
◮ Theorem prover ∼ compiler◮ Iterative experimentation with settings◮ Incomplete strategies◮ Auto mode
Maria Paola Bonacina Introduction to automated reasoning
![Page 89: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/89.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Some theorem provers
◮ Otter, EQP, and Prover9 by the late Bill McCune
◮ SNARK by the late Mark E. Stickel
◮ SPASS by Christoph Weidenbach et al.
◮ E by Stephan Schulz
◮ Vampire by Andrei Voronkov et al.
◮ leanCoP by Jens Otten
◮ iProver by Konstantin Korovin et al.
◮ Metis by Joe Leslie-Hurd and MetiTarski by Larry Paulson et al.
Maria Paola Bonacina Introduction to automated reasoning
![Page 90: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/90.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Some applications
◮ Analysis, verification, synthesis of systems, e.g.:◮ cryptographic protocols◮ message-passing systems◮ software specifications◮ theorem proving support to model checking
◮ Mathematics: proving non-trivial theorems in, e.g.,◮ Boolean algebras (e.g., the Robbins conjecture)◮ theories of rings (e.g., the Moufang identities), groups and
quasigroups◮ many-valued logics (e.g., Lukasiewicz logic)
Maria Paola Bonacina Introduction to automated reasoning
![Page 91: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/91.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Some topics for further reading
◮ Strategies seeking proof/counter-model in one search:model-based first-order reasoning (e.g., SGGS)
◮ Adding built-in theories
◮ Integration of theorem-proving strategies with SAT/SMTsolvers
◮ Theorem-proving strategies as decision procedures
◮ Parallel/distributed theorem proving
◮ Goal-sensitive or target-oriented strategies
◮ Machine-independent evaluation of strategies: strategyanalysis, search complexity
Maria Paola Bonacina Introduction to automated reasoning
![Page 92: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/92.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Some textbooks
◮ Chin-Liang Chang, Richard Char-Tung Lee. Symbolic Logic and
Mechanical Theorem Proving. Computer Science Classics,
Academic Press, 1973
◮ Alexander Leitsch. The Resolution Calculus. Texts in Theoretical
Computer Science, An EATCS Series, Springer, 1997
◮ Rolf Socher-Ambrosius, Patricia Johann. Deduction Systems.
Graduate Texts in Computer Science, Springer, 1997
◮ John Harrison. Handbook of Practical Logic and Automated
Reasoning. Cambridge University Press, 2009
Maria Paola Bonacina Introduction to automated reasoning
![Page 93: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/93.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
More textbooks
◮ Raymond M. Smullyan. First-order logic. Dover Publications 1995
(republication of the original published by Springer Verlag in 1968)
◮ Allan Ramsay. Formal Methods in Artificial Intelligence. Cambridge
Tracts in Theoretical Computer Science 6, Cambridge University
Press, 1989
◮ Ricardo Caferra, Alexander Leitsch, Nicolas Peltier. Automated
Model Building. Applied Logic Series 31, Kluwer Academic
Publishers, 2004
◮ Martin Davis. The Universal Computer. The Road from Leibniz to
Turing. Turing Centenary Edition. Mathematics/Logic/Computing
Series. CRC Press, Taylor and Francis Group, 2012
Maria Paola Bonacina Introduction to automated reasoning
![Page 94: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/94.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Some surveys
◮ Maria Paola Bonacina. A taxonomy of theorem-proving strategies.
In Michael J. Wooldridge, Manuela Veloso (Eds.) Artificial
Intelligence Today – Recent Trends and Developments, LNAI
1600:43–84, Springer, 1999 [providing 150 references]
◮ Maria Paola Bonacina. A taxonomy of parallel strategies for
deduction. Annals of Mathematics and Artificial Intelligence
29(1/4):223–257, 2000 [providing 104 references]
Maria Paola Bonacina Introduction to automated reasoning
![Page 95: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/95.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
More surveys
◮ Maria Paola Bonacina. On theorem proving for program checking –
Historical perspective and recent developments. In Maribel
Fernandez (Ed.) Proceedings of the 12th International Symposium
on Principles and Practice of Declarative Programming (PPDP),
1–11, ACM Press, 2010 [providing 119 references]
◮ Maria Paola Bonacina, Ulrich Furbach, Viorica
Sofronie-Stokkermans. On first-order model-based reasoning. In
Narciso Martı-Oliet, Peter Olveczky, Carolyn Talcott (Eds.) Logic,
Rewriting, and Concurrency, LNCS 9200:181–204, Springer, 2015
[providing 88 references]
Maria Paola Bonacina Introduction to automated reasoning
![Page 96: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/96.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Selected papers
◮ Maria Paola Bonacina, David A. Plaisted. Semantically-guided
goal-sensitive reasoning: model representation. Journal of
Automated Reasoning 56(2):113–141, 2016 [providing 96 references]
◮ Maria Paola Bonacina, Christopher A. Lynch, Leonardo de Moura.
On deciding satisfiability by theorem proving with speculative
inferences. Journal of Automated Reasoning 47(2):161–189, 2011
[providing 65 references]
◮ Alessandro Armando, Maria Paola Bonacina, Silvio Ranise, Stephan
Schulz. New results on rewrite-based satisfiability procedures. ACM
Transactions on Computational Logic 10(1):129–179, 2009
[providing 90 references]
Maria Paola Bonacina Introduction to automated reasoning
![Page 97: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/97.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Selected papers
◮ Maria Paola Bonacina, Nachum Dershowitz. Abstract canonical
inference. ACM Transactions on Computational Logic
8(1):180–208, 2007 [providing 47 references]
◮ Maria Paola Bonacina and Jieh Hsiang. On the modelling of search
in theorem proving – Towards a theory of strategy analysis.
Information and Computation, 147:171–208, 1998 [providing 44
references]
◮ Maria Paola Bonacina and Jieh Hsiang. Towards a foundation of
completion procedures as semidecision procedures. Theoretical
Computer Science, 146:199–242, 1995 [providing 62 references]
Maria Paola Bonacina Introduction to automated reasoning
![Page 98: Introduction to automated reasoningssa-school-2016.it.uu.se/.../uploads/2016/06/introAR.pdfIntroduction to automated reasoning Maria Paola Bonacina Dipartimento di Informatica, Universita](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f13a5c7c2c6d2356f1cd785/html5/thumbnails/98.jpg)
OutlineAutomated reasoning
Some building blocks for reasoningThe theorem-proving problem
Inference mechanismsTheorem-proving strategies
Thanks
Thank you!
Maria Paola Bonacina Introduction to automated reasoning