on interpolation in theorem proving
play

On interpolation in theorem proving Maria Paola Bonacina Visiting: - PowerPoint PPT Presentation

Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality On interpolation in theorem proving Maria Paola Bonacina Visiting: Computer Science Laboratory, SRI International, Menlo Park, CA, USA


  1. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality On interpolation in theorem proving 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 7th Summer School on Formal Techniques (SSFT) SRI International and Menlo College Atherton, California, USA May 26, 2017 Maria Paola Bonacina On interpolation in theorem proving

  2. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality Introduction to interpolation Interpolation for propositional resolution Interpolation and equality Maria Paola Bonacina On interpolation in theorem proving

  3. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality What is interpolation? ◮ Consider a function f (univariate for simplicity) ◮ We know the values of f at points x 1 , . . . , x n on the x -axis (e.g., from sampling or experiments) ◮ We want to know the values of f at additional intermediate points and build its curve ◮ This is the problem of interpolation in numerical analysis ◮ It has many applications in computer graphics (e.g., spline interpolation) Maria Paola Bonacina On interpolation in theorem proving

  4. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality Interpolation in logic What is interpolation in logic? Maria Paola Bonacina On interpolation in theorem proving

  5. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality Signature ◮ A finite set of constant symbols: e.g., a , b , c ... ◮ A finite set of function symbols: e.g., f , g , h ... ◮ A finite set of predicate symbols: P , Q , R , ≃ ... ◮ Arities ◮ Sorts (important but key concepts can be understood without) An infinite supply of variables: x , y , z , w ... Maria Paola Bonacina On interpolation in theorem proving

  6. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality Logical language ◮ Terms: a , x , f ( a ), f ( x ), g ( a , x ) ... ◮ Atoms: R , P ( a ), Q ( x , g ( b )), ... ◮ Literals: R , P ( a ), Q ( x , g ( b )), ¬ R , ¬ P ( a ), ¬ Q ( x , g ( b )), ... ◮ Formulae: P ( a ) ∧ Q ( a , g ( b )), ¬ P ( a ) ∨ Q ( a , g ( b )), ¬ P ( a ) ⊃ Q ( g ( b ) , c ), ∀ x P ( x ), ∀ x ∃ y P ( x ) ⊃ Q ( y , x ), .... ◮ Special formulae: ⊥ , ⊤ Maria Paola Bonacina On interpolation in theorem proving

  7. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality Logical language ◮ Ground term, atom, literal, formula: no occurrences of variables ◮ Closed formula: all variables are quantified (aka: sentence) Maria Paola Bonacina On interpolation in theorem proving

  8. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality Defined symbols and free symbols ◮ A symbol is defined if it comes with axioms, e.g., ≃ ◮ Equality ( ≃ ) comes with the congruence axioms ◮ It is free otherwise, e.g., P ◮ Aka: interpreted/uninterpreted Maria Paola Bonacina On interpolation in theorem proving

  9. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality Equality and the congruence axioms ◮ ∀ x . x ≃ x ◮ ∀ x ∀ y . x ≃ y ⊃ y ≃ x ◮ ∀ x ∀ y ∀ z . x ≃ y ∧ y ≃ z ⊃ x ≃ z ◮ ∀ x ∀ y . x ≃ y ⊃ f ( . . . , x , . . . ) ≃ f ( . . . , y , . . . ) ◮ ∀ x ∀ y . [ x ≃ y ∧ P ( . . . , x , . . . )] ⊃ P ( . . . , y , . . . ) Maria Paola Bonacina On interpolation in theorem proving

  10. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality Craig interpolation or interpolation tout court ◮ Formulæ A and B such that A ⊢ B ◮ An interpolant I is a formula that lies between A and B : ◮ Derivability: A ⊢ I and I ⊢ B ◮ Signature: I made of symbols common to A and B where symbol means predicate, function, constant symbol Maria Paola Bonacina On interpolation in theorem proving

  11. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality Trivial cases ◮ All symbols of A appear in B : then A itself is the interpolant ◮ All symbols of B appear in A : then B itself is the interpolant Assume that at least one has at least one symbol that does not appear in the other Maria Paola Bonacina On interpolation in theorem proving

  12. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality Craig’s Interpolation Theorem (1957) ◮ If A and B are closed formulæ with at least one predicate symbol in common ◮ Then an interpolant I exists and it is also a closed formula ◮ No predicate symbol in common: either A is unsatisfiable and I is ⊥ or B is valid and I is ⊤ Maria Paola Bonacina On interpolation in theorem proving

  13. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality Theorem proving ◮ A ⊢ ? B is a theorem-proving problem ◮ Refutational theorem proving ◮ Equivalently: is A ∧ ¬ B inconsistent? ◮ A ∧ ¬ B ⊢ ? ⊥ ◮ A , ¬ B ⊢ ? ⊥ Maria Paola Bonacina On interpolation in theorem proving

  14. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality Proofs by refutation: reverse interpolant ◮ A and B inconsistent: A , B ⊢⊥ ◮ Then A ⊢ I and B , I ⊢⊥ ◮ All symbols in I common to A and B Reverse interpolant of ( A , B ): interpolant of ( A , ¬ B ) because A , B ⊢⊥ means A ⊢ ¬ B and B , I ⊢⊥ means I ⊢ ¬ B Interpolant of ( A , B ): reverse interpolant of ( A , ¬ B ) In refutational settings we say interpolant for reverse interpolant Maria Paola Bonacina On interpolation in theorem proving

  15. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality Example ◮ A is ∀ x . P ( c , x ) ◮ B is ∀ x . ¬ P ( x , d ) ◮ A and B are inconsistent ◮ Interpolant I is ∃ y ∀ x . P ( y , x ) Maria Paola Bonacina On interpolation in theorem proving

  16. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality Reasoning modulo theory T ◮ ⊢ T in place of ⊢ ◮ All uninterpreted symbols in I common to A and B ◮ No restrictions on interpreted symbols Maria Paola Bonacina On interpolation in theorem proving

  17. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality Example ◮ A is a 1 �≃ a 2 ◮ B is ∀ x ∀ y . x ≃ y ◮ A and B are inconsistent ◮ Interpolant I is ∃ x ∃ y . x �≃ y Maria Paola Bonacina On interpolation in theorem proving

  18. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality Clausal theorem proving ◮ Clause: disjunction of literals where all variables are implicitly universally quantified ◮ ¬ P ( f ( z )) ∨ ¬ Q ( g ( z )) ∨ R ( f ( z ) , g ( z )) ◮ No loss of generality: every formula can be transformed into a conjunction, or set, of clauses ◮ Inconsistency is preserved Maria Paola Bonacina On interpolation in theorem proving

  19. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality Transformation into clausal form ◮ Eliminate ≡ and ⊃ : ( F ≡ G becomes ( F ⊃ G ) ∧ ( G ⊃ F ) and F ⊃ G becomes ¬ F ∨ G ) ◮ Reduce the scope of all occurrences of ¬ to an atom: ( ¬ ( 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 On interpolation in theorem proving

  20. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality 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 On interpolation in theorem proving

  21. Outline Introduction to interpolation Interpolation for propositional resolution Interpolation and equality 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 From now on we work with clauses Maria Paola Bonacina On interpolation in theorem proving

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend