tree grammars for induction on inductive data types
play

Tree grammars for induction on inductive data types modulo - PowerPoint PPT Presentation

Tree grammars for induction on inductive data types modulo equational theories Gabriel Ebner, Stefan Hetzl WAIT 2018 2018-06-28 TU Wien Introduction Proofs and tree grammars Inductive proving using tree grammars Evaluation Conclusion 1


  1. Tree grammars for induction on inductive data types modulo equational theories Gabriel Ebner, Stefan Hetzl WAIT 2018 2018-06-28 TU Wien

  2. Introduction Proofs and tree grammars Inductive proving using tree grammars Evaluation Conclusion 1

  3. Introduction • Main challenge: synthesis of induction formula bounded model checking, etc. • Generalize instance proofs via Herbrand’s theorem • abstracts from propositional reasoning 2 • Consider proofs of instances ϕ ( t ) of ∀ x ϕ ( x ) • similar to the constructive ω -rule,

  4. Herbrand’s theorem Theorem (special case of Herbrand 1930) 3 Let ϕ ( x ) be a quantifier-free first-order formula. Then ∃ x ϕ ( x ) is valid iff there exist terms t 1 , . . . , t n such that ϕ ( t 1 ) ∨ · · · ∨ ϕ ( t n ) is a tautology. • works analogously for ∀ x ϕ 1 ( x ) , . . . , ∀ x ϕ n ( x ) ⊢ ψ

  5. Induction-elimination Theorem (Gentzen 1936) • t : instance, e.g. 0 s 0 cons a nil • t : instance proof 4 Let π be a proof of ∀ x ϕ ( x ) with induction. Then there exists a proof π t of ϕ ( t ) without induction (or cut).

  6. Induction-elimination Theorem (Gentzen 1936) 4 Let π be a proof of ∀ x ϕ ( x ) with induction. Then there exists a proof π t of ϕ ( t ) without induction (or cut). • t : instance, e.g. 0 , s ( 0 ) , cons ( a , nil ) • π t : instance proof

  7. Proofs and grammars (Eberhard, Hetzl 2015) L t cut- and induction-elim. generates for each instance t grammar H-disjunction 1. 2. 5 π t π G ( π ) L ( G ( π ) , t ) ⊇

  8. Proofs and grammars (Eberhard, Hetzl 2015) L t cut- and induction-elim. generates for each instance t grammar H-disjunction 1. 2. 5 π t π G ( π ) L ( G ( π ) , t ) ⊇

  9. Side remark: cut-introduction • Instead of reconstructing inductions, • Similar 2-phase approach • complete: every generated grammar produces a lemma 6 we can also reconstruct ( Π 1 -)cuts → finds interesting lemmas in practice

  10. Introduction Proofs and tree grammars Inductive proving using tree grammars Evaluation Conclusion 7

  11. New developments • Implementation • Inductive data types • Equational background theories 8

  12. Equational background theories • Instance proofs are often irregular • E is a set of (universally quantified) equations 9 → ignore some (formula) instances • e.g. E = { x · ( y · z ) = ( x · y ) · z } • ϕ is an E-tautology iff E | = ϕ

  13. Inductive data types • Basic inductive data types • not nested, mutual, etc. • Structural induction 10 Γ ⊢ ϕ ( nil ) Γ , ϕ ( y ) ⊢ ϕ ( cons ( x , y )) Γ ⊢ ϕ ( t )

  14. Simple induction proofs • One universally quantified induction cut 11 • But different formula • ( ψ is prenex and universally quantified) ( π i ) Γ i , ψ ( α, ν i , j , t ) , · · · ⊢ ψ ( α, c i ( ν i ) , γ ) ( π c ) Γ , ∀ y ψ ( α, ν i , j , y ) , · · · ⊢ ∀ y ψ ( α, c i ( ν i ) , y ) · · · Γ c , ψ ( α, α, u ) , · · · ⊢ ϕ ( α ) ind ρ Γ ⊢ ∀ y ψ ( α, α, y ) Γ , ∀ y ψ ( α, α, y ) ⊢ ϕ ( α ) Γ ⊢ ϕ ( α ) Γ ⊢ ∀ x ϕ ( x )

  15. Induction grammar Definition with productions P of the form: 12 Induction grammar is a tuple G = ( τ, α, ( ν c ) c , γ, P ) • τ → t [ α, ν c , γ ] • γ → t [ α, ν c , γ ]

  16. Induction grammar Definition Definition Theorem 13 G ( π ) is induction grammar for simple induction proof π → describes quantifier instances L ( G , t ) is the (finite) language of G ( t constructor term) L ( G ( π ) , t ) is E-tautological for all t

  17. Example ( f 4 ) (goal) ( f 6 ) ( f 5 ) 14 ( f 3 ) ( f 2 ) ( f 1 ) ∀ x ( s ( 0 ) · x = x ∧ x · s ( 0 ) = x ) , ∀ x ∀ y ∀ z x · ( y · z ) = ( x · y ) · z , fact ( 0 ) = s ( 0 ) , ∀ x fact ( s ( x )) = s ( x ) · fact ( x ) , ∀ y qfact ( y , 0 ) = y , ∀ x ∀ y qfact ( y , s ( x )) = qfact ( y · s ( x ) , x ) ⊢ ∀ x qfact ( s ( 0 ) , x ) = fact ( x ) τ → f 3 | f 4 ( ν ) | f 5 ( γ ) | f 6 ( ν, γ ) γ → γ · s ( ν ) | s ( 0 )

  18. Introduction Proofs and tree grammars Inductive proving using tree grammars Evaluation Conclusion 15

  19. Algorithm overview Find grammar G always E-tautological? Find solution Output proof counterexample found 1. 2. 16 Obtain proofs ( π r ) r ∈ I Obtain additional proof π t Random testing: is L ( G , t )

  20. Grammar finding • Find G with minimal number of productions • using a MaxSAT solver (see also Eberhard, E, Hetzl 2017) 17 • Given finite collection t �→ L t • L t represents a Herbrand disjunction • Want G such that L ( G , t ) ⊇ L t

  21. Induced Boolean unification problem l • … l • There exists simple induction proof with grammar G E-tautological • even for quantified induction formulas 18 • Induction grammar induces BUP G ( X ) • Γ 1 , ∧ ∧ X ( α, ν 1 , l , t ) ⊢ X ( α, c 1 ( ν 1 ) , γ ) • Γ n , ∧ ∧ X ( α, ν n , l , t ) ⊢ X ( α, c n ( ν n ) , γ ) • Γ c , ∧ X ( α, α, t ) ⊢ ϕ ( α ) iff there exists quantifier-free ϕ s.t. BUP G ( ϕ ) E-tautology → Find quantifier-free X such that all sequents are

  22. Solution: X BUP example qfact fact 19 • qfact ( γ, 0 ) = γ, fact ( 0 ) = s ( 0 ) , ⊤ ⊢ X ( α, 0 , γ ) • fact ( 0 ) = s ( 0 ) , fact ( s ( ν )) = s ( ν ) · fact ( ν ) , qfact ( γ, 0 ) = γ, qfact ( γ, s ( ν )) = qfact ( γ · s ( ν ) , ν ) , X ( α, ν, s ( 0 )) ∧ X ( α, ν, γ · s ( ν )) ⊢ X ( α, s ( ν ) , γ ) • fact ( 0 ) = s ( 0 ) , X ( α, α, s ( 0 )) ⊢ qfact ( s ( 0 ) , α ) = fact ( α )

  23. BUP example 19 • qfact ( γ, 0 ) = γ, fact ( 0 ) = s ( 0 ) , ⊤ ⊢ X ( α, 0 , γ ) • fact ( 0 ) = s ( 0 ) , fact ( s ( ν )) = s ( ν ) · fact ( ν ) , qfact ( γ, 0 ) = γ, qfact ( γ, s ( ν )) = qfact ( γ · s ( ν ) , ν ) , X ( α, ν, s ( 0 )) ∧ X ( α, ν, γ · s ( ν )) ⊢ X ( α, s ( ν ) , γ ) • fact ( 0 ) = s ( 0 ) , X ( α, α, s ( 0 )) ⊢ qfact ( s ( 0 ) , α ) = fact ( α ) Solution: X = λαλνλγ ( qfact ( γ, ν ) = γ · fact ( ν ))

  24. Canonical formula • Implies any other solution 1. Compute C t 2. Enumerate consequences 4. Check if it is a solution 20 • Canonical formula C t for t instance • Simplest case C s ( s ( 0 )) = Γ 0 ∧ Γ 1 [ ν \ 0 ] ∧ Γ 1 [ ν \ s ( 0 )] • C t → ϕ ( α, t , γ ) → Solution finding algorithm • e.g. using forgetful resolution ( a → b ) ∧ ( b → c ) ⇝ ( a → c ) 3. Replace some occurrences of t by ν

  25. Undecidability of BUP solution • Solvability of BUP is undecidable (Eberhard, Hetzl, Weller 2015) • unfortunately no 21 • L ( G , t ) E-tautological for all t ⇒ BUP solvable? → solvability depends on the input proofs

  26. Introduction Proofs and tree grammars Inductive proving using tree grammars Evaluation Conclusion 22

  27. Implementation • Prototype implementation • GAPT: General Architecture for Proof Theory • https://github.com/gapt/gapt • Native support for TIP format 23

  28. Evaluation on TIP • Solves about 22 problems out of the box • Bit more with manual options • All with quantifier-free induction formula • Probably due to lack of regularity in proofs 24

  29. Reconstruction success • Does the method work with regular sequences of proofs? • Tested 52 simple induction proofs • We can always find a grammar. • Reconstruction works for 43 proofs. 25

  30. Case study: schematic CERES • Analysis of proofs with induction (Cerna, Leitsch, Lolic; ongoing work) • Requires automatic inductive proof as intermediate step • Complex induction invariants (automatically found) 26 ( Omega ( ν ) → E ( o , f ( S ( a )))) ∧ ( Omega ( ν ) → E ( o , f ( a ))) ∧ ( Omega ( ν ) → Phi ( o )) ∧ ¬ ( Phi ( s ( ν )) ∧ Phi ( ν ) ∧ Omega ( s ( ν )))

  31. Introduction Proofs and tree grammars Inductive proving using tree grammars Evaluation Conclusion 27

  32. Future work • Modify provers to produce more regular proofs • e.g. innermost vs. outermost rewriting • Regularize existing proofs? • Improve solution finding phase 28 → constrained Horn clause solvers

  33. Conclusion • Not yet sufficient for TIP problems • Alternative challenge: • Instead of finding induction formulas, find regular sequences of Herbrand disjunctions 29

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