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

truly modular co datatypes
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Truly Modular (Co)datatypes

for

Jasmin Blanchette Johannes Hölzl Andreas Lochbihler Lorenz Panny Andrei Popescu Dmitriy Traytel

slide-2
SLIDE 2

’89 H O L

M e l h a m

’93 P V S

O w r e , S h a n k a r

C

  • q

P a u l i n

  • M
  • h

r i n g

’94 H O L

G u n t e r

I s a b e l l e / Z F

P a u l s

  • n

’95 H O L L i g h t

H a r r i s

  • n

’96 C

  • q

G i m é n e z

’99 I s a b e l l e / H O L

B e r g h

  • f

e r , W e n z e l

’02 P V S

O w r e , S h a n k a r

’08 A g d a

N

  • r

e l l

’12 I s a b e l l e / H O L

T r a y t e l e t a l .

’13 A g d a

A b e l e t a l .

’14 I s a b e l l e / H O L

DATATYPES CODATATYPES

slide-3
SLIDE 3

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

slide-4
SLIDE 4
slide-5
SLIDE 5
slide-6
SLIDE 6
slide-7
SLIDE 7
slide-8
SLIDE 8
slide-9
SLIDE 9
slide-10
SLIDE 10
slide-11
SLIDE 11
slide-12
SLIDE 12
slide-13
SLIDE 13
slide-14
SLIDE 14
slide-15
SLIDE 15

Outline

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

slide-16
SLIDE 16

Outline

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

slide-17
SLIDE 17

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

slide-18
SLIDE 18
slide-19
SLIDE 19
slide-20
SLIDE 20
slide-21
SLIDE 21
slide-22
SLIDE 22

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

slide-23
SLIDE 23

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

slide-24
SLIDE 24

_× _ _+ _ _ fset _ cset _ mset

τ ⇒ _

Manually registered BNFs

slide-25
SLIDE 25

_× _ _+ _ _ fset _ cset _ mset

τ ⇒ _

compositions of BNFs

unit+_×_

datatypes

_ list

codatatypes

_ llist

Manually registered BNFs Automatically derived BNFs

slide-26
SLIDE 26

_× _ _+ _ _ fset _ cset _ mset

τ ⇒ _

_ ⇒ τ _ set compositions of BNFs

unit+_×_

datatypes

_ list

codatatypes

_ llist

Manually registered BNFs Non- BNFs Automatically derived BNFs

slide-27
SLIDE 27

Outline

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

slide-28
SLIDE 28
slide-29
SLIDE 29
slide-30
SLIDE 30
slide-31
SLIDE 31
slide-32
SLIDE 32
slide-33
SLIDE 33
slide-34
SLIDE 34
slide-35
SLIDE 35
slide-36
SLIDE 36
slide-37
SLIDE 37
slide-38
SLIDE 38
slide-39
SLIDE 39
slide-40
SLIDE 40
slide-41
SLIDE 41
slide-42
SLIDE 42
slide-43
SLIDE 43
slide-44
SLIDE 44
slide-45
SLIDE 45
slide-46
SLIDE 46
slide-47
SLIDE 47
slide-48
SLIDE 48
slide-49
SLIDE 49
slide-50
SLIDE 50
slide-51
SLIDE 51
slide-52
SLIDE 52
slide-53
SLIDE 53

Outline

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

slide-54
SLIDE 54
slide-55
SLIDE 55
slide-56
SLIDE 56
slide-57
SLIDE 57
slide-58
SLIDE 58
slide-59
SLIDE 59
slide-60
SLIDE 60
slide-61
SLIDE 61
slide-62
SLIDE 62
slide-63
SLIDE 63

Outline

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

slide-64
SLIDE 64

Some Numbers

19 kLoC ML, 7 kLoC thy development size

slide-65
SLIDE 65

Some Numbers

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

slide-66
SLIDE 66

Some Numbers

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

new

  • ld ≈ 2.5

performance: mutual (m = 15)

slide-67
SLIDE 67

Some Numbers

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

new

  • ld ≈ 2.5

performance: mutual (m = 15)

new

  • ld = 0.04

performance: nested (n = 15)

slide-68
SLIDE 68

Some Numbers

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

new

  • ld ≈ 2.5

performance: mutual (m = 15)

new

  • ld = 0.04

performance: nested (n = 15) The IsaFoR session Proof- Checker now compiles in 10 minutes instead of 50! performance: real world

René Thiemann

slide-69
SLIDE 69

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

slide-70
SLIDE 70

Truly Modular (Co)datatypes

for

Jasmin Blanchette Johannes Hölzl Andreas Lochbihler Lorenz Panny Andrei Popescu Dmitriy Traytel