truly modular co datatypes
play

Truly Modular (Co)datatypes for Jasmin Blanchette Johannes Hlzl - PowerPoint PPT Presentation

Truly Modular (Co)datatypes for Jasmin Blanchette Johannes Hlzl Andreas Lochbihler Lorenz Panny Andrei Popescu Dmitriy Traytel D ATATYPES l e z n e g W . n a l i , r r h e t o f e o M l h e - g t n n y r i


  1. Truly Modular (Co)datatypes for Jasmin Blanchette Johannes Hölzl Andreas Lochbihler Lorenz Panny Andrei Popescu Dmitriy Traytel

  2. D ATATYPES l e z n e g W . n a l i , r r h e t o f e o M l h e - g t n n y r i o e a l u s B T r a r i a r L L L P r k q a O O n O H a o t h H H H h m C S r a e g / / / , e e h e t e i r n e l w L l l l u l l l M O G e e e L L S L b b b O O O V a a a H s s H P H s I I I ’96 ’02 ’08 ’13 ’89 ’93 ’94 ’95 ’99 ’12 ’14 C A A I P s o V g g a d d b q S a a e G l O l e i N A m w b o / é r e e r Z n e , l e l e S l F z t h a a l n . P k a a u r l s o n C ODATATYPES

  3. Disclaimer Isabelle/HOL was not harmed by the introduction of new axioms to achieve the following

  4. Outline Examples Bounded Natural Functors (Co)datatypes Primitive (Co)recursion Closing Remarks

  5. Outline Examples Bounded Natural Functors (Co)datatypes Primitive (Co)recursion Closing Remarks

  6. BNF = type + polymorphic constants (map, set, bound, relator) + theorems

  7. BNF = a semantic criterion for legal rhs of a (co)datatype declaration

  8. BNF = a semantic criterion for legal rhs of a (co)datatype declaration

  9. _ × _ _ fset Manually _ mset _ + _ registered BNFs τ ⇒ _ _ cset

  10. _ × _ _ fset Manually _ mset _ + _ registered BNFs τ ⇒ _ _ cset compositions of BNFs codatatypes unit + _ × _ _ llist Automatically datatypes derived _ list BNFs

  11. _ × _ _ fset Manually _ mset _ + _ registered BNFs τ ⇒ _ _ ⇒ τ _ cset Non- BNFs _ set compositions of BNFs codatatypes unit + _ × _ _ llist Automatically datatypes derived _ list BNFs

  12. Outline Examples Bounded Natural Functors (Co)datatypes Primitive (Co)recursion Closing Remarks

  13. Outline Examples Bounded Natural Functors (Co)datatypes Primitive (Co)recursion Closing Remarks

  14. Outline Examples Bounded Natural Functors (Co)datatypes Primitive (Co)recursion Closing Remarks

  15. Some Numbers development size 19 kLoC ML, 7 kLoC thy

  16. Some Numbers development size 19 kLoC ML, 7 kLoC thy automation gains In the Coinductive library, we now prove 36% more lemmas in 11% fewer lines

  17. Some Numbers performance: mutual (m = 15) new old ≈ 2 . 5 development size 19 kLoC ML, 7 kLoC thy automation gains In the Coinductive library, we now prove 36% more lemmas in 11% fewer lines

  18. Some Numbers performance: mutual (m = 15) new old ≈ 2 . 5 development size 19 kLoC ML, 7 kLoC thy performance: nested (n = 15) new old = 0 . 04 automation gains In the Coinductive library, we now prove 36% more lemmas in 11% fewer lines

  19. Some Numbers performance: mutual (m = 15) new old ≈ 2 . 5 development size 19 kLoC ML, 7 kLoC thy performance: nested (n = 15) new old = 0 . 04 automation gains In the Coinductive library, we now prove 36% more lemmas in 11% fewer lines performance: real world The IsaFoR session Proof- Checker now compiles in 10 minutes instead of 50! René Thiemann

  20. Related Talks Lochbihler, Hölzl (next talk) Recursive Functions on Lazy Lists via Domains and Topologies Blanchette, Popescu, Traytel (tomorrow 12:15) Cardinals in Isabelle/HOL Blanchette, Popescu, Traytel (Saturday 11:45, IJCAR) Unified Classical Logic Completeness: A Coinductive Pearl

  21. Truly Modular (Co)datatypes for Jasmin Blanchette Johannes Hölzl Andreas Lochbihler Lorenz Panny Andrei Popescu Dmitriy Traytel

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