verified decision procedures
play

Verified Decision Procedures for Monadic Second-Order Logic on - PowerPoint PPT Presentation

Verified Decision Procedures for Monadic Second-Order Logic on Strings Functional Pearl Dmitriy Traytel Tobias Nipkow Isabelle = Overview MSO Overview MSO L MSO ( ) = L MSO ( )? Overview Finite Automata MSO


  1. Verified Decision Procedures for Monadic Second-Order Logic on Strings Functional Pearl Dmitriy Traytel Tobias Nipkow Isabelle ∀ = α λ β →

  2. Overview MSO

  3. Overview MSO L MSO ( ϕ ) = L MSO ( ψ )?

  4. Overview Finite Automata MSO L MSO ( ϕ ) = L MSO ( ψ )?

  5. Overview Finite Automata MONA ( > 40 kLOC of C/C++) MSO L MSO ( ϕ ) = L MSO ( ψ )?

  6. Overview Finite Automata MONA ( > 40 kLOC of C/C++) MSO L MSO ( ϕ ) = L MSO ( ψ )? Regular Expressions

  7. Overview Finite Automata MONA ( > 40 kLOC of C/C++) MSO L MSO ( ϕ ) = L MSO ( ψ )? Regular Expressions L ( α ) = L ( β )?

  8. Overview Finite Automata MONA ( > 40 kLOC of C/C++) MSO L MSO ( ϕ ) = L MSO ( ψ )? L MSO ( ϕ ) = L ( mkRE ϕ ) Regular Expressions L ( α ) = L ( β )?

  9. Overview Finite Automata MONA L M2L ( ϕ ) = L M2L ( ψ )? L WS1S ( ϕ ) = L WS1S ( ψ )? M2L WS1S L M2L ( ϕ ) = L ( mkRE M2L ϕ ) L WS1S ( ϕ ) = L ( mkRE WS1S ϕ ) Regular Expressions L ( α ) = L ( β )?

  10. Overview Finite Automata MONA L M2L ( ϕ ) = L M2L ( ψ )? L WS1S ( ϕ ) = L WS1S ( ψ )? M2L WS1S e l e l b a ∀ I s = α λ β → L M2L ( ϕ ) = L ( mkRE M2L ϕ ) L WS1S ( ϕ ) = L ( mkRE WS1S ϕ ) Regular Expressions L ( α ) = L ( β )?

  11. Overview Finite Automata MONA L M2L ( ϕ ) = L M2L ( ψ )? L WS1S ( ϕ ) = L WS1S ( ψ )? M2L WS1S e l e l b a ∀ I s = α λ β → L M2L ( ϕ ) = L ( mkRE M2L ϕ ) L WS1S ( ϕ ) = L ( mkRE WS1S ϕ ) Regular Expressions L ( α ) = L ( β )?

  12. Outline Regular Expressions Equivalence MSO

  13. Outline Regular Expressions Equivalence MSO

  14. Regular Expressions L ( ∅ ) = {} L ( ε ) = { [] } L ( a ) = { [ a ] } a ∈ Σ L ( α + β ) = L ( α ) ∪ L ( β ) L ( α · β ) = L ( α ) · L ( β ) L ( α ∗ ) = L ( α ) ∗

  15. Extended Regular Expressions L ( ∅ ) = {} L ( ε ) = { [] } L ( a ) = { [ a ] } a ∈ Σ L ( α + β ) = L ( α ) ∪ L ( β ) L ( α · β ) = L ( α ) · L ( β ) L ( α ∗ ) = L ( α ) ∗ L ( α ∩ β ) = L ( α ) ∩ L ( β ) L ( ¬ α ) = Σ ∗ \ L ( α )

  16. Π -Extended Regular Expressions L ( ∅ ) = {} L ( ε ) = { [] } L ( a ) = { [ a ] } a ∈ Σ L ( α + β ) = L ( α ) ∪ L ( β ) L ( α · β ) = L ( α ) · L ( β ) L ( α ∗ ) = L ( α ) ∗ L ( α ∩ β ) = L ( α ) ∩ L ( β ) L ( ¬ α ) = Σ ∗ \ L ( α ) L (Π α ) = { w | w ∈ L ( α ) }

  17. Π -Extended Regular Expressions L n ( ∅ ) = {} L n ( ε ) = { [] } L n ( a ) = { [ a ] } a ∈ Σ n L n ( α + β ) = L n ( α ) ∪ L n ( β ) L n ( α · β ) = L n ( α ) · L n ( β ) L n ( α ∗ ) = L n ( α ) ∗ L n ( α ∩ β ) = L n ( α ) ∩ L n ( β ) L n ( ¬ α ) = Σ ∗ n \ L n ( α ) L n (Π α ) = { w | w ∈ L n + 1 ( α ) }

  18. Π -Extended Regular Expressions L n ( ∅ ) = {} L n ( ε ) = { [] } L n ( a ) = { [ a ] } a ∈ Σ n L n ( α + β ) = L n ( α ) ∪ L n ( β ) L n ( α · β ) = L n ( α ) · L n ( β ) L n ( α ∗ ) = L n ( α ) ∗ L n ( α ∩ β ) = L n ( α ) ∩ L n ( β ) L n ( ¬ α ) = Σ ∗ n \ L n ( α ) L n (Π α ) = { w | w ∈ L n + 1 ( α ) }   ⊤ ⊥ ⊥  ∈ Σ ∗ Example Σ n = {⊤ , ⊥} n ⊥ ⊤ ⊤  3 ⊥ ⊥ ⊤

  19. Π -Extended Regular Expressions L n ( ∅ ) = {} L n ( ε ) = { [] } L n ( a ) = { [ a ] } a ∈ Σ n L n ( α + β ) = L n ( α ) ∪ L n ( β ) L n ( α · β ) = L n ( α ) · L n ( β ) L n ( α ∗ ) = L n ( α ) ∗ L n ( α ∩ β ) = L n ( α ) ∩ L n ( β ) L n ( ¬ α ) = Σ ∗ n \ L n ( α ) L n (Π α ) = { w | w ∈ L n + 1 ( α ) }   ⊤ ⊥ ⊥  ∈ Σ ∗ Example Σ n = {⊤ , ⊥} n ⊥ ⊤ ⊤  2 ⊥ ⊥ ⊤

  20. Π -Extended Regular Expressions L n ( ∅ ) = {} L n ( ε ) = { [] } L n ( a ) = { [ a ] } a ∈ Σ n L n ( α + β ) = L n ( α ) ∪ L n ( β ) L n ( α · β ) = L n ( α ) · L n ( β ) L n ( α ∗ ) = L n ( α ) ∗ L n ( α ∩ β ) = L n ( α ) ∩ L n ( β ) L n ( ¬ α ) = Σ ∗ n \ L n ( α ) L n (Π α ) = { map π w | w ∈ L n + 1 ( α ) } π : Σ n + 1 → Σ n   ⊤ ⊥ ⊥ π = tail  ∈ Σ ∗ Example Σ n = {⊤ , ⊥} n ⊥ ⊤ ⊤ π − 1 a = {⊤ a , ⊥ a }  2 ⊥ ⊥ ⊤

  21. Derivatives of Regular Expressions Characteristic property L n ( D a ( α )) = { w | aw ∈ L n ( α ) }

  22. Derivatives of Regular Expressions Characteristic property L n ( D a ( α )) = { w | aw ∈ L n ( α ) } D a ( ∅ ) = ∅ D a ( ε ) = ∅ D a ( b ) = if a = b then ε else ∅ D a ( α + β ) = D a ( α )+ D a ( β ) D a ( α · β ) = if ε ∈ L ( α ) then D a ( α ) · β + D a ( β ) else D a ( α ) · β D a ( α ∗ ) = D a ( α ) · α ∗ D a ( α ∩ β ) = D a ( α ) ∩ D a ( β ) D a ( ¬ α ) = ¬ D a ( α )

  23. Derivatives of Regular Expressions Characteristic property L n ( D a ( α )) = { w | aw ∈ L n ( α ) } D a ( ∅ ) = ∅ D a ( ε ) = ∅ D a ( b ) = if a = b then ε else ∅ D a ( α + β ) = D a ( α )+ D a ( β ) D a ( α · β ) = if ε ∈ L ( α ) then D a ( α ) · β + D a ( β ) else D a ( α ) · β D a ( α ∗ ) = D a ( α ) · α ∗ D a ( α ∩ β ) = D a ( α ) ∩ D a ( β ) D a ( ¬ α ) = ¬ D a ( α ) � � � D a (Π α ) = Π D b ( α ) b ∈ π − 1 a

  24. DP by Example: a ∗ ? ≡ ε + a · a ∗ for Σ = { a , b } a ∗ ε + a · a ∗

  25. DP by Example: a ∗ ? ≡ ε + a · a ∗ for Σ = { a , b } a ∗ D a ε + a · a ∗ ε · a ∗ ∅ + ε · a ∗

  26. DP by Example: a ∗ ? ≡ ε + a · a ∗ for Σ = { a , b } a ∗ D a D b ε + a · a ∗ ε · a ∗ ∅ · a ∗ ∅ + ε · a ∗ ∅ + ∅ · a ∗

  27. DP by Example: a ∗ ? ≡ ε + a · a ∗ for Σ = { a , b } a ∗ D a D b ε + a · a ∗ ε · a ∗ ∅ · a ∗ ∅ + ε · a ∗ ∅ + ∅ · a ∗ D a ∅ · a ∗ + ε · a ∗ ∅ + ∅ · a ∗ + ε · a ∗

  28. DP by Example: a ∗ ? ≡ ε + a · a ∗ for Σ = { a , b } a ∗ D a D b ε + a · a ∗ ε · a ∗ ∅ · a ∗ ∅ + ε · a ∗ ∅ + ∅ · a ∗ D a ∅ · a ∗ + ε · a ∗ ∅ + ∅ · a ∗ + ε · a ∗ D a ∅ · a ∗ + ∅ · a ∗ + ε · a ∗ ∅ + ∅ · a ∗ + ∅ · a ∗ + ε · a ∗

  29. DP by Example: a ∗ ? ≡ ε + a · a ∗ for Σ = { a , b } a ∗ D a D b ε + a · a ∗ ε · a ∗ ∅ · a ∗ ∅ + ε · a ∗ ∅ + ∅ · a ∗ D a ∅ · a ∗ + ε · a ∗ ∅ + ∅ · a ∗ + ε · a ∗ D a ACI ∅ · a ∗ + ∅ · a ∗ + ε · a ∗ ∅ + ∅ · a ∗ + ∅ · a ∗ + ε · a ∗

  30. DP by Example: a ∗ ? ≡ ε + a · a ∗ for Σ = { a , b } a ∗ D a D b ε + a · a ∗ ε · a ∗ ∅ · a ∗ ∅ + ε · a ∗ ∅ + ∅ · a ∗ D b D a ∅ · a ∗ + ε · a ∗ ∅ · a ∗ + ∅ · a ∗ ∅ + ∅ · a ∗ + ε · a ∗ ∅ + ∅ · a ∗ + ∅ · a ∗ D a ACI ∅ · a ∗ + ∅ · a ∗ + ε · a ∗ ∅ + ∅ · a ∗ + ∅ · a ∗ + ε · a ∗

  31. DP by Example: a ∗ ? ≡ ε + a · a ∗ for Σ = { a , b } a ∗ D a D b ε + a · a ∗ ε · a ∗ ∅ · a ∗ ∅ + ε · a ∗ ∅ + ∅ · a ∗ D b D a ACI ∅ · a ∗ + ε · a ∗ ∅ · a ∗ + ∅ · a ∗ ∅ + ∅ · a ∗ + ε · a ∗ ∅ + ∅ · a ∗ + ∅ · a ∗ D a ACI ∅ · a ∗ + ∅ · a ∗ + ε · a ∗ ∅ + ∅ · a ∗ + ∅ · a ∗ + ε · a ∗

  32. DP by Example: a ∗ ? ≡ ε + a · a ∗ for Σ = { a , b } a ∗ D a D b ε + a · a ∗ ε · a ∗ ∅ · a ∗ D a ∅ + ε · a ∗ D b ∅ + ∅ · a ∗ D b D a ACI ∅ · a ∗ + ε · a ∗ ∅ · a ∗ + ∅ · a ∗ ∅ + ∅ · a ∗ + ε · a ∗ ∅ + ∅ · a ∗ + ∅ · a ∗ D a ACI ∅ · a ∗ + ∅ · a ∗ + ε · a ∗ ∅ + ∅ · a ∗ + ∅ · a ∗ + ε · a ∗

  33. DP by Example: a ∗ ? ≡ ε + a · a ∗ for Σ = { a , b } a ∗ D a D b ε + a · a ∗ ε · a ∗ ∅ · a ∗ D a ∅ + ε · a ∗ D b ∅ + ∅ · a ∗ D b D a ACI ∅ · a ∗ + ε · a ∗ ∅ · a ∗ + ∅ · a ∗ ∅ + ∅ · a ∗ + ε · a ∗ ∅ + ∅ · a ∗ + ∅ · a ∗ D b D a ACI ∅ · a ∗ + ∅ · a ∗ + ε · a ∗ ∅ · a ∗ + ∅ · a ∗ + ∅ · a ∗ ∅ + ∅ · a ∗ + ∅ · a ∗ + ε · a ∗ ∅ + ∅ · a ∗ + ∅ · a ∗ + ∅ · a ∗

  34. DP by Example: a ∗ ? ≡ ε + a · a ∗ for Σ = { a , b } a ∗ D a D b ε + a · a ∗ ε · a ∗ ∅ · a ∗ D a ∅ + ε · a ∗ D b ∅ + ∅ · a ∗ D b D a ACI ACI ∅ · a ∗ + ε · a ∗ ∅ · a ∗ + ∅ · a ∗ ∅ + ∅ · a ∗ + ε · a ∗ ∅ + ∅ · a ∗ + ∅ · a ∗ D b D a ACI ∅ · a ∗ + ∅ · a ∗ + ε · a ∗ ∅ · a ∗ + ∅ · a ∗ + ∅ · a ∗ ∅ + ∅ · a ∗ + ∅ · a ∗ + ε · a ∗ ∅ + ∅ · a ∗ + ∅ · a ∗ + ∅ · a ∗

  35. DP by Example: a ∗ ? ≡ ε + a · a ∗ for Σ = { a , b } a ∗ D a D b ε + a · a ∗ ε · a ∗ ∅ · a ∗ D a ∅ + ε · a ∗ D b ∅ + ∅ · a ∗ D b D a ACI ACI ∅ · a ∗ + ε · a ∗ ∅ · a ∗ + ∅ · a ∗ ∅ + ∅ · a ∗ + ε · a ∗ ∅ + ∅ · a ∗ + ∅ · a ∗ D b D a ACI ∅ · a ∗ + ∅ · a ∗ + ε · a ∗ ∅ · a ∗ + ∅ · a ∗ + ∅ · a ∗ ∅ + ∅ · a ∗ + ∅ · a ∗ + ε · a ∗ ∅ + ∅ · a ∗ + ∅ · a ∗ + ∅ · a ∗

  36. DP by Example: a ∗ ? ≡ ε + a · a ∗ for Σ = { a , b } a ∗ D a D b ε + a · a ∗ ε · a ∗ ∅ · a ∗ a ∗ EQ D a EQ ∅ a ∗ ∅ + ε · a ∗ D b ∅ + ∅ · a ∗ ∅ D b D a EQ EQ ∅ · a ∗ + ε · a ∗ ∅ · a ∗ + ∅ · a ∗ ∅ + ∅ · a ∗ + ε · a ∗ ∅ + ∅ · a ∗ + ∅ · a ∗

  37. Related Work • Theoretical groundwork JACM 1964 Brzozowski CONCUR 1998 Rutten

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