designing games of theorems
play

Designing Games of Theorems Who am I? What do I like? automating - PowerPoint PPT Presentation

Designing Games of Theorems Who am I? What do I like? automating proof search in expressive logic (HOL) using heuristics / ML What did I develop? PSL/PaMpeR for Isabelle/HOL Proof Strategy Language (PSL) for Isabelle/HOL meta-tool tactics


  1. Designing Games of Theorems Who am I? What do I like? automating proof search in expressive logic (HOL) using heuristics / ML What did I develop? PSL/PaMpeR for Isabelle/HOL

  2. Proof Strategy Language (PSL) for Isabelle/HOL meta-tool tactics approach quickcheck sledgehammer programming language runtime tactic extensible generation (Eisbach) PSL efficient proof generation extensive parallel native Isabelle proof search search proof script low memory t no code clutter!! usage easy installation s o m a l

  3. try_hard: the default strategy strategy Try_Hard = Ors [Thens [Subgoal, Basic], Thens [DInductTac, Auto_Solve], strategy Basic = Thens [DCaseTac, Auto_Solve], Ors [ Thens [Subgoal, Advanced], Auto_Solve, Thens [DCaseTac, Solve_Many], Blast_Solve, Thens [DInductTac, Solve_Many] ] FF_Solve, Thens [IntroClasses, Auto_Solve], Thens [Transfer, Auto_Solve], Thens [Normalization, IsSolved], Thens [DInduct, Auto_Solve], Thens [Hammer, IsSolved], Thens [DCases, Auto_Solve], Thens [DCoinduction, Auto_Solve], Thens [Auto, RepeatN(Hammer), IsSolved], Thens [DAuto, IsSolved]]

  4. try_hard vs sledgehammer The percentage of automatically proved obligations out of 1526 proof obligations (timeout = 300s) 100% 73% 75% 16% 57% 20% 50% 25% DEMO! 0% try_hard sledgehammer

  5. try_hard: the default strategy strategy Try_Hard = Ors [Thens [Subgoal, Basic], Thens [DInductTac, Auto_Solve], strategy Basic = Thens [DCaseTac, Auto_Solve], Ors [ Thens [Subgoal, Advanced], Auto_Solve, Thens [DCaseTac, Solve_Many], Blast_Solve, Thens [DInductTac, Solve_Many] ] FF_Solve, Thens [IntroClasses, Auto_Solve], Thens [Transfer, Auto_Solve], Thens [Normalization, IsSolved], Thens [DInduct, Auto_Solve], Thens [Hammer, IsSolved], Thens [DCases, Auto_Solve], Thens [DCoinduction, Auto_Solve], Thens [Auto, RepeatN(Hammer), IsSolved], Thens [DAuto, IsSolved]]

  6. database full feature extractor preparation phase large proof corpora :: ( tactic_name, [ bool ] ) preprocess PaMpeR decision tree construction fast feature extractor recommendation phase feature vector DEMO! proof ? state lookup proof engineer proof method recommendation

  7. from try_hard to try_smart try_smart ? PSL & try_hard: more computation PaMpeR: get smart using heuristics

  8. abstract big data ML algorithm notion https://googleblog.blogspot.jp/2012/06/using-large-scale-brain-simulations-for.html https://duckduckgo.com/?q=cat&t= ff ab&iar=images&iax=images&ia=images

  9. many abstract ML algorithm proofs proof Higher-Order functions concise formula that can cover type class lots of concrete cases polymorphism dependent types small data set for each problem universal quantifier lambda abstraction different proof for general case

  10. Large Proof Corpora? Transfer learning? (?) ? The seL4 proofs in Isabelle http://www.gilith.com/opentheory/ Goldbach’s conjecture https://en.wikipedia.org/wiki/File:Goldbach_partitions_of_the_even_integers_from_4_to_50_rev4b.svg “Every even integer greater than 2 can be expressed as the sum of two primes.” The Kepler “conjecture” in HOL Light http://annals.math.princeton.edu/wp-content/uploads/annals-v162-n3-p01.pdf Four color theorem in Coq https://en.wikipedia.org/wiki/File:Four_Colour_Map_Example.svg different logics in different proof corpora different provers about different problems

  11. poor proof automation artificial intelligence for expressive logics for theorem proving! only small dataset available really? We need big data! because of expressiveness

  12. Really? Self-play? http://cl-informatik.uibk.ac.at/teaching/ss18/mltp/02.pdf I want to train my prover using self-play so that it can prove Goldbach’s conjecture. But how? Proof search is not a 2-player game. The one that finds a proof of Goldbach’s conjecture first is the winner. If one prover finds a proof, that’s it. It is only 1 iteration. But how do you train provers, so that one prover can eventually find a proof. For each iteration, I create a set of not-so-difficult conjectures. The one that proves more conjectures is the winner. But how do you create not-so-difficult conjectures? random? But randomly created conjectures are not always good training data. Conjectures with difficult proofs are important ones. Not really. You need a mechanism to create many conjectures that are relevant to Goldbach’s conjecture. I can produce conjectures by mutating Goldbach’s conjecture. That might work for a small number of conjectures. Not for many conjectures. How? The more conjectures you create, the more valuable they should be.

  13. Really? Self-play? http://cl-informatik.uibk.ac.at/teaching/ss18/mltp/02.pdf I want to train my prover using self-play so that it can prove Goldbach’s conjecture. Research hypothesis: But how? Proof search is not a 2-player game. subgoals proved during heuristic The one that finds a proof of Goldbach’s conjecture first is the winner. (incomplete) proof search are If one prover finds a proof, that’s it. It is only 1 iteration. useful to train provers. But how do you train provers, so that one prover can eventually find a proof. For each iteration, I create a set of not-so-difficult conjectures. The one that proves more conjectures is the winner. Game of Theorems! But how do you create not-so-difficult conjectures? random? But randomly created conjectures are not always good training data. Conjectures with difficult proofs are important ones. Not really. You need a mechanism to create many The more iterations it goes through, conjectures that are relevant to Goldbach’s conjecture. the higher the quality of problems should be! I can produce conjectures by mutating Goldbach’s conjecture. That might work for small number of conjectures. Not for many conjectures. How? The more conjectures you create, the more valuable they should be.

  14. Game of Theorems 1 proved subgoals search tree big conjecture Coq https://en.wikipedia.org/wiki/File:Goldbach_partitions_of_the_even_integers_from_4_to_50_rev4b.svg Coq vs 70% di ff erent problems Parrot vs Crow for di ff erent prover? Parrot Crow https://en.wikipedia.org/wiki/File:Goldbach_partitions_of_the_even_integers_from_4_to_50_rev4b.svg https://en.wikipedia.org/wiki/File:Goldbach_partitions_of_the_even_integers_from_4_to_50_rev4b.svg 80% 60%

  15. Game of Theorems 2 proved subgoals search tree big conjecture https://en.wikipedia.org/wiki/File:Goldbach_partitions_of_the_even_integers_from_4_to_50_rev4b.svg only one prover can survive? Owl vs Crow https://en.wikipedia.org/wiki/File:Goldbach_partitions_of_the_even_integers_from_4_to_50_rev4b.svg https://en.wikipedia.org/wiki/File:Goldbach_partitions_of_the_even_integers_from_4_to_50_rev4b.svg 70% 80%

  16. Game of Theorems 3 https://en.wikipedia.org/wiki/File:Goldbach_partitions_of_the_even_integers_from_4_to_50_rev4b.svg https://en.wikipedia.org/wiki/File:Goldbach_partitions_of_the_even_integers_from_4_to_50_rev4b.svg https://en.wikipedia.org/wiki/File:Goldbach_partitions_of_the_even_integers_from_4_to_50_rev4b.svg https://en.wikipedia.org/wiki/File:Goldbach_partitions_of_the_even_integers_from_4_to_50_rev4b.svg 70% Coq vs Parrot vs Crow What if ? > >> 60% 80%

  17. Game of Theorems 4 https://en.wikipedia.org/wiki/File:Goldbach_partitions_of_the_even_integers_from_4_to_50_rev4b.svg https://en.wikipedia.org/wiki/File:Goldbach_partitions_of_the_even_integers_from_4_to_50_rev4b.svg https://en.wikipedia.org/wiki/File:Goldbach_partitions_of_the_even_integers_from_4_to_50_rev4b.svg using VS > > > using VS > using VS No ordering, no casualty. <

  18. Game of Theorems 4 future work? https://en.wikipedia.org/wiki/File:Goldbach_partitions_of_the_even_integers_from_4_to_50_rev4b.svg academic Research hypothesis: conference? subgoals proved during heuristic (incomplete) proof search are using VS > > useful to train provers. > using VS > using VS No ordering, no casualty. <

  19. Thanks,

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