a coalgebraic decision procedure for ws1s
play

A Coalgebraic Decision Procedure for WS1S Dmitriy Traytel Isabelle - PowerPoint PPT Presentation

A Coalgebraic Decision Procedure for WS1S Dmitriy Traytel Isabelle = A Coalgebraic Decision Procedure for WS1S Dmitriy Traytel Isabelle = Logic-Automaton Connection WS1S T | F | x X | x < y


  1. A Coalgebraic Decision Procedure for WS1S Dmitriy Traytel Isabelle ∀ = α λ β →

  2. A Coalgebraic Decision Procedure for WS1S Dmitriy Traytel Isabelle ∀ = α λ β →

  3. Logic-Automaton Connection WS1S T | F | x ∈ X | x < y | ϕ ∨ ψ | ¬ ϕ | ∃ x . ϕ | ∃ X . ϕ finite

  4. Logic-Automaton Connection WS1S T | F | x ∈ X | x < y | ϕ ∨ ψ | ¬ ϕ | FO x | ∃ X . ϕ finite

  5. Logic-Automaton Connection WS1S ∀ I . I � ϕ ⇐ ⇒ I � ψ ? T | F | x ∈ X | x < y | ϕ ∨ ψ | ¬ ϕ | FO x | ∃ X . ϕ finite

  6. Logic-Automaton Connection Finite Automata Klarlund, Møller, et al. MONA WS1S ∀ I . I � ϕ ⇐ ⇒ I � ψ ? T | F | x ∈ X | x < y | ϕ ∨ ψ | ¬ ϕ | FO x | ∃ X . ϕ finite

  7. Logic-Automaton Connection Finite Automata Finite Reachability Games Fiedor et al., TACAS 2015 dWiNA, Toss Ganzow & Kaiser, CSL 2010 Klarlund, Møller, et al. MONA WS1S ∀ I . I � ϕ ⇐ ⇒ I � ψ ? T | F | x ∈ X | x < y | ϕ ∨ ψ | ¬ ϕ | FO x | ∃ X . ϕ finite

  8. Logic-Automaton Connection Finite Automata Finite Reachability Games Fiedor et al., TACAS 2015 dWiNA, Toss Ganzow & Kaiser, CSL 2010 Klarlund, Møller, et al. MONA WS1S ∀ I . I � ϕ ⇐ ⇒ I � ψ ? Isabelle ∀ I . I � ϕ ⇐ ⇒ enc I ∈ L ( mkRE ϕ ) ∀ = T. & Nipkow, ICFP 2013 α λ β → Regular Expressions L ( α ) = L ( β )?

  9. Logic-Automaton Connection Finite Automata Finite Reachability Games Fiedor et al., TACAS 2015 dWiNA, Toss Ganzow & Kaiser, CSL 2010 Klarlund, Møller, et al. MONA WS1S ∀ I . I � ϕ ⇐ ⇒ I � ψ ? Isabelle ∀ I . I � ϕ ⇐ ⇒ enc I ∈ L ( mkRE ϕ ) ∀ = T. & Nipkow, ICFP 2013 α λ β → Π -Extended Regular Expressions L ( α ) = L ( β )?

  10. Logic-Automaton Connection Finite Automata Finite Reachability Games Fiedor et al., TACAS 2015 dWiNA, Toss Ganzow & Kaiser, CSL 2010 Klarlund, Møller, et al. MONA WS1S ∀ I . I � ϕ ⇐ ⇒ I � ψ ? Isabelle ∀ I . I � ϕ ⇐ ⇒ enc I ∈ L ( mkRE ϕ ) ∀ = T. & Nipkow, ICFP 2013 α λ β → Π -Extended Regular Expressions L ( α ) = L ( β )?

  11. a ∗ ? ≡ ε + a · a ∗ for Σ = { a , b } a ∗ ε + a · a ∗

  12. a ∗ ? ≡ ε + a · a ∗ for Σ = { a , b } a ∗ d a ε + a · a ∗ ε · a ∗ ∅ + ε · a ∗ Brzozowski derivative d : letter → regex → regex L ( d a r ) = { w | aw ∈ L ( r ) }

  13. a ∗ ? ≡ ε + a · a ∗ for Σ = { a , b } a ∗ d a d b ε + a · a ∗ ε · a ∗ ∅ · a ∗ ∅ + ε · a ∗ ∅ + ∅ · a ∗

  14. a ∗ ? ≡ ε + a · a ∗ for Σ = { a , b } a ∗ d a d b ε + a · a ∗ ε · a ∗ ∅ · a ∗ ∅ + ε · a ∗ ∅ + ∅ · a ∗ d a ∅ · a ∗ + ε · a ∗ ∅ + ∅ · a ∗ + ε · a ∗

  15. 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 ∗

  16. 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 ∗

  17. a ∗ ? ≡ ε + a · a ∗ for Σ = { a , b } a ∗ d a d b ε + a · a ∗ ε · a ∗ ∅ · a ∗ d a ∅ + ε · a ∗ ∅ + ∅ · a ∗ d b 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 ∗

  18. Key ingredients: derivative + ε -acceptance test � �� � coalgebra

  19. Key ingredients: derivative + ε -acceptance test � �� � coalgebra

  20. Key ingredients: derivative + ε -acceptance test � �� � coalgebra Let’s define them on WS1S formulas directly!

  21. ? ( ∃ X . x ∈ X ) ≡ ( ¬ x < x ) for Σ = { ( 0 ) , ( 1 ) } ∃ X . x ∈ X d ( 0 ) d ( 1 ) ¬ x < x ACI ∃ X . ( T ∨ F ) ∃ X . ( x ∈ X ∨ x ∈ X ) ¬ x < x ¬ F d ( 1 ) , d ( 0 ) ACI ∃ X . ( T ∨ F ) ∨ ( T ∨ F ) ¬ F

  22. ? ( ∃ X . x ∈ X ) ≡ ( ¬ x < x ) for Σ = { ( 0 ) , ( 1 ) } ∃ X . x ∈ X d ( 0 ) d ( 1 ) ¬ x < x ACI ∃ X . ( T ∨ F ) ∃ X . ( x ∈ X ∨ x ∈ X ) ¬ x < x ¬ F d ( 1 ) , d ( 0 ) ACI Benefits • Simplicity ∃ X . ( T ∨ F ) ∨ ( T ∨ F ) ¬ F

  23. ? ( ∃ X . x ∈ X ) ≡ ( ¬ x < x ) for Σ = { ( 0 ) , ( 1 ) } ∃ X . x ∈ X d ( 0 ) d ( 1 ) ¬ x < x ACI ∃ X . ( T ∨ F ) ∃ X . ( x ∈ X ∨ x ∈ X ) ¬ x < x ¬ F d ( 1 ) , d ( 0 ) ACI Benefits • Simplicity ∃ X . ( T ∨ F ) ∨ ( T ∨ F ) • Implementation! ¬ F

  24. ? ( ∃ X . x ∈ X ) ≡ ( ¬ x < x ) for Σ = { ( 0 ) , ( 1 ) } ∃ X . x ∈ X d ( 0 ) d ( 1 ) ¬ x < x ACI ∃ X . ( T ∨ F ) ∃ X . ( x ∈ X ∨ x ∈ X ) ¬ x < x ¬ F d ( 1 ) , d ( 0 ) ACI Benefits • Simplicity ∃ X . ( T ∨ F ) ∨ ( T ∨ F ) • Implementation! ¬ F • Formalization!

  25. ? ( ∃ X . x ∈ X ) ≡ ( ¬ x < x ) for Σ = { ( 0 ) , ( 1 ) } ∃ X . x ∈ X d ( 0 ) d ( 1 ) ¬ x < x ACI ∃ X . ( T ∨ F ) ∃ X . ( x ∈ X ∨ x ∈ X ) ¬ x < x ¬ F d ( 1 ) , d ( 0 ) ACI Benefits • Simplicity ∃ X . ( T ∨ F ) ∨ ( T ∨ F ) • Implementation! ¬ F • Formalization! • Presentation?

  26. ? ( ∃ X . x ∈ X ) ≡ ( ¬ x < x ) for Σ = { ( 0 ) , ( 1 ) } ∃ X . x ∈ X d ( 0 ) d ( 1 ) ¬ x < x ACI ∃ X . ( T ∨ F ) ∃ X . ( x ∈ X ∨ x ∈ X ) ¬ x < x ¬ F d ( 1 ) , d ( 0 ) ACI Benefits • Simplicity ∃ X . ( T ∨ F ) ∨ ( T ∨ F ) • Implementation! ¬ F • Formalization! • Presentation? • Efficiency?

  27. ? ( ∃ X . x ∈ X ) ≡ ( ¬ x < x ) for Σ = { ( 0 ) , ( 1 ) } ∃ X . x ∈ X d ( 0 ) d ( 1 ) ¬ x < x ACI ∃ X . ( T ∨ F ) ∃ X . ( x ∈ X ∨ x ∈ X ) ¬ x < x ¬ F d ( 1 ) , d ( 0 ) ACI Benefits • Simplicity ∃ X . ( T ∨ F ) ∨ ( T ∨ F ) • Implementation! ¬ F • Formalization! • Presentation? • Efficiency? • vs. MONA

  28. ? ( ∃ X . x ∈ X ) ≡ ( ¬ x < x ) for Σ = { ( 0 ) , ( 1 ) } ∃ X . x ∈ X d ( 0 ) d ( 1 ) ¬ x < x ACI ∃ X . ( T ∨ F ) ∃ X . ( x ∈ X ∨ x ∈ X ) ¬ x < x ¬ F d ( 1 ) , d ( 0 ) ACI Benefits • Simplicity ∃ X . ( T ∨ F ) ∨ ( T ∨ F ) • Implementation! ¬ F • Formalization! • Presentation? • Efficiency? • vs. MONA → MonaCo (Pous & T., ongoing work)

  29. Interlude I: Encoding of Interpretations  X �→ { 1 , 2 , 3 }   I = Y �→ { 0 , 2 }   Z �→ { 3 }

  30. Interlude I: Encoding of Interpretations  X �→ { 1 , 2 , 3 }   I = Y �→ { 0 , 2 }   Z �→ { 3 } enc X 0 1 1 1 Y 1 0 1 0 Z 0 0 0 1

  31. Interlude I: Encoding of Interpretations  X �→ { 1 , 2 , 3 }   I = Y �→ { 0 , 2 }   Z �→ { 3 } enc X 0 1 1 1 X 1 1 1 Y 1 0 1 0 Y 0 1 0 tail Z 0 0 0 1 Z 0 0 1

  32. Interlude I: Encoding of Interpretations   X �→ { 1 , 2 , 3 } X �→ { 0 , 1 , 2 }     I = Y �→ { 0 , 2 } TAIL I = Y �→ { 1 }     Z �→ { 3 } Z �→ { 2 } enc enc X 0 1 1 1 X 1 1 1 Y 1 0 1 0 Y 0 1 0 tail Z 0 0 0 1 Z 0 0 1

  33. Interlude I: Encoding of Interpretations I � ϕ ⇐ ⇒ TAIL I � d ( HEAD I ) ϕ   X �→ { 1 , 2 , 3 } X �→ { 0 , 1 , 2 }     I = Y �→ { 0 , 2 } TAIL I = Y �→ { 1 }     Z �→ { 3 } Z �→ { 2 } enc enc X 0 1 1 1 X 1 1 1 Y 1 0 1 0 Y 0 1 0 tail Z 0 0 0 1 Z 0 0 1

  34. Interlude I: Encoding of Interpretations   0 I � ϕ ⇐ ⇒ TAIL I � d 1 ϕ   0   X �→ { 1 , 2 , 3 } X �→ { 0 , 1 , 2 }     I = Y �→ { 0 , 2 } TAIL I = Y �→ { 1 }     Z �→ { 3 } Z �→ { 2 } enc enc X 0 1 1 1 X 1 1 1 Y 1 0 1 0 Y 0 1 0 tail Z 0 0 0 1 Z 0 0 1

  35. Interlude II: First-Order Variables Does x �→ { 1 , 2 , 3 } satisfy FO x ?

  36. Interlude II: First-Order Variables Does x �→ { 1 , 2 , 3 } satisfy FO x ? No, only singleton sets do

  37. Interlude II: First-Order Variables Does x �→ { 1 , 2 , 3 } satisfy FO x ? Yes, all non-empty sets do No, only singleton sets do Minimum is the assigned value

  38. Interlude II: First-Order Variables Does x �→ { 1 , 2 , 3 } satisfy FO x ? Yes, all non-empty sets do No, only singleton sets do Minimum is the assigned value → my Ph.D. thesis draft → here (also used in MONA)

  39. Derivative d : letter → formula → formula

  40. Derivative d : letter → formula → formula = d v T T d v F = F

  41. Derivative d : letter → formula → formula = d v T T d v F = F � if ¬ v [ x ] FO x d v ( FO x ) = T otherwise

Recommend


More recommend