the triumvirate of automation expressivity and safety
play

The triumvirate of automation, expressivity, and safety Chantal - PowerPoint PPT Presentation

The triumvirate of automation, expressivity, and safety Chantal Keller October, 18 th 2016 The triumvirate ofautomation, expressivity, and safety Chantal Keller 1 / 18 Why so many provers? A wide range of applications, such as: deductive


  1. The triumvirate of automation, expressivity, and safety Chantal Keller October, 18 th 2016 The triumvirate ofautomation, expressivity, and safety Chantal Keller 1 / 18

  2. Why so many provers? A wide range of applications, such as: deductive verification proofs of programs “mathematical” proofs formalizing metatheory induction/coinduction reasoning on/with computation . . . The triumvirate ofautomation, expressivity, and safety Chantal Keller 2 / 18

  3. The triumvirate The triumvirate ofautomation, expressivity, and safety Chantal Keller 3 / 18

  4. Interoperability: get the best of everything But: at what cost/effort? how agnostic can the systems be? portability? automation? The triumvirate ofautomation, expressivity, and safety Chantal Keller 4 / 18

  5. Interoperability: get the best of everything But: at what cost/effort? how agnostic can the systems be? portability? automation? In this talk: three examples of interoperability between two systems A and B The triumvirate ofautomation, expressivity, and safety Chantal Keller 4 / 18

  6. 1. Autarkic approach system A The triumvirate ofautomation, expressivity, and safety Chantal Keller 5 / 18

  7. 1. Autarkic approach system B system A The triumvirate ofautomation, expressivity, and safety Chantal Keller 5 / 18

  8. 1. Autarkic approach goal system B system A The triumvirate ofautomation, expressivity, and safety Chantal Keller 5 / 18

  9. 1. Autarkic approach goal system B system A The triumvirate ofautomation, expressivity, and safety Chantal Keller 5 / 18

  10. 1. Autarkic approach goal system B system A Ex: Ergo (A = Coq; B = subset of Alt-Ergo) The triumvirate ofautomation, expressivity, and safety Chantal Keller 5 / 18

  11. Advantages and limitations + shared representation of formulas + correctness established once and for all + formal correctness of the algorithms - really hard to prove - really hard to maintain or improve (fixes the implementation) - not always possible The triumvirate ofautomation, expressivity, and safety Chantal Keller 6 / 18

  12. Our criteria: at what cost/effort? statements? none proofs? huge how agnostic can the systems be? not at all portability? none automation? medium The triumvirate ofautomation, expressivity, and safety Chantal Keller 7 / 18

  13. 2. Skeptical approach system A The triumvirate ofautomation, expressivity, and safety Chantal Keller 8 / 18

  14. 2. Skeptical approach system B system A The triumvirate ofautomation, expressivity, and safety Chantal Keller 8 / 18

  15. 2. Skeptical approach goal system B system A The triumvirate ofautomation, expressivity, and safety Chantal Keller 8 / 18

  16. 2. Skeptical approach goal proof system B system A The triumvirate ofautomation, expressivity, and safety Chantal Keller 8 / 18

  17. 2. Skeptical approach goal proof system B system A The triumvirate ofautomation, expressivity, and safety Chantal Keller 8 / 18

  18. 2. Skeptical approach goal certificate preprocessor proof system B system A The triumvirate ofautomation, expressivity, and safety Chantal Keller 8 / 18

  19. 2. Skeptical approach goal (correctness) certificate preprocessor proof system B checker system A The triumvirate ofautomation, expressivity, and safety Chantal Keller 8 / 18

  20. Examples Tool System A System B metis Isabelle/HOL, HOL4, . . . metis sledgehammer Isabelle/HOL Z3, CVC4, vampire SMTCoq Coq ZChaff, veriT, CVC4 HOL Light ↔ Coq Coq HOL Light The triumvirate ofautomation, expressivity, and safety Chantal Keller 9 / 18

  21. Advantages and limitations + correctness easier to establish + System B may evolve independently + pre-processing ⇒ efficiency and various provers + caching - no shared representation of formulas - if the certificate is false? - System B needs instrumentation The triumvirate ofautomation, expressivity, and safety Chantal Keller 10 / 18

  22. Our criteria: at what cost/effort? statements? from small to huge proofs? small how agnostic can the systems be? only certificates portability? great automation? medium to good The triumvirate ofautomation, expressivity, and safety Chantal Keller 11 / 18

  23. Standards for certificates? Propositions: LFSC veriT/SMTCoq TPTP Open Theory . . . Encodings between first-order formats not that hard The triumvirate ofautomation, expressivity, and safety Chantal Keller 12 / 18

  24. 3. A priori approaches Built-in interoperability: decide in advance the interoperability you want with System B build System A around it The triumvirate ofautomation, expressivity, and safety Chantal Keller 13 / 18

  25. Example: F* impure functional programming language rich type system: dependent and refined types (to express various properties on programs) type checking: designed to use the Z3 SMT solver Curry-Howard: programs are proofs The triumvirate ofautomation, expressivity, and safety Chantal Keller 14 / 18

  26. Example: F* impure functional programming language rich type system: dependent and refined types (to express various properties on programs) type checking: designed to use the Z3 SMT solver Curry-Howard: programs are proofs module Induction val u : nat -> Tot nat let rec u n = if n = 0 then 0 else u (n-1) The triumvirate ofautomation, expressivity, and safety Chantal Keller 14 / 18

  27. Example: F* impure functional programming language rich type system: dependent and refined types (to express various properties on programs) type checking: designed to use the Z3 SMT solver Curry-Howard: programs are proofs module Induction val u : nat -> Tot nat let rec u n = if n = 0 then 0 else u (n-1) val induction : n:nat -> Lemma (ensures (u n = 0)) let rec induction n = if n = 0 then () else induction (n-1) The triumvirate ofautomation, expressivity, and safety Chantal Keller 14 / 18

  28. Example: Why3 The triumvirate ofautomation, expressivity, and safety Chantal Keller 15 / 18

  29. Our criteria: at what cost/effort? statements? from small to huge proofs? from small to huge how agnostic can the systems be? good portability? bad automation? really good The triumvirate ofautomation, expressivity, and safety Chantal Keller 16 / 18

  30. Summary Criterion Autarkic Skeptical A priori effort (statements) ++ – - effort (proofs) – ++ - agnostic – ++ + portability – ++ - automation + + ++ The triumvirate ofautomation, expressivity, and safety Chantal Keller 17 / 18

  31. Take-away The lessons for new systems: interoperability is hard! think from the very beginning that people may want to use your system differently certificates (possibly in a standard), API, . . . The triumvirate ofautomation, expressivity, and safety Chantal Keller 18 / 18

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