Derivation Beyond Regular Languages
Albert-Ludwigs-Universit¨ at Freiburg
Peter Thiemann1
1University of Freiburg
14 Oct 2018
Derivation Beyond Regular Languages Albert-Ludwigs-Universit at - - PowerPoint PPT Presentation
Derivation Beyond Regular Languages Albert-Ludwigs-Universit at Freiburg Peter Thiemann 1 1 University of Freiburg 14 Oct 2018 Plan 1 Derivatives for Regular Languages Brzozowski Derivatives Antimirovs Partial Derivatives Applications:
Albert-Ludwigs-Universit¨ at Freiburg
1University of Freiburg
14 Oct 2018
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 2 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 3 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 4 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 5 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 6 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 7 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 8 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 8 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 9 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 10 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 10 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 10 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 10 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 11 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 11 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 11 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 11 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 12 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 13 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 14 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 14 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 14 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 15 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 16 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 17 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 18 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 18 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 19 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 20 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 20 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 21 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 21 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 21 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 21 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 22 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 23 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 23 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 23 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 24 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 25 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 25 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 26 / 77
a
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 26 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 27 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 28 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 29 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 30 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 30 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 31 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 32 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 33 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 33 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 34 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 34 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 34 / 77
1 Embedding and Projection from Derivation 2 Coinductive Embedding
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 34 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 35 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 35 / 77
a t : r → d(a, r)
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 35 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 36 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 37 / 77
a λy.abort y : 0 → 0
a λ() : 1 → 0
a λ(Sym a).Eps : a → 1
a λ() : b → 0
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 38 / 77
a tr : r → r′
a ts : s → s′
a λy.case y of Inl p → Inl(tr p)
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 39 / 77
a tr : r → r′
a ts : s → s′
a λ(Seq p q).case fi(p) of Just a → Inl (Seq (tr p) q)
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 40 / 77
a tr : r → r′
a λy.case y of Cons p q → Seq (tr p) q
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 41 / 77
a =
b = λ(Seq (Cons (Sym b) Empty) q).Seq Eps q
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 42 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 43 / 77
a t− a : r1 → r′ 1
1.r2 s′
a p1) p2))
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 44 / 77
a t− a : r1 → r′ 1
a p) q))
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 45 / 77
a p1) p2))
b p1) p2)) : a∗.b a∗.b∗
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 46 / 77
a t− a =
b t− b = λ(Seq Empty (Cons (Sym b) q)).Seq Eps q
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 47 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 48 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 49 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 50 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 51 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 51 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 52 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 53 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 53 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 54 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 55 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 56 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 57 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 58 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 59 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 60 / 77
Σ ∋ α, β ::= 0 | α + β | r.α | sω
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 61 / 77
Σ ∋ α, β ::= 0 | α + β | r.α | sω
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 61 / 77
Σ ∋ α, β ::= 0 | α + β | r.α | sω
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 61 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 62 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 63 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 64 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 65 / 77
Σ, the set dΣ∗(r)/≈ is finite.
Σ)
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 66 / 77
Σ, the set dΣ∗(r)/≈ is finite.
Σ)
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 66 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 67 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 68 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 69 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 69 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 70 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 70 / 77
Σ → ℘(Σ × Rω Σ × {0, 1})
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 71 / 77
Σ → ℘(Σ × Rω Σ × {0, 1})
a (r) = {r′ | a, r′, u ∈ lfω(r)}
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 71 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 72 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 72 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 73 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 74 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 74 / 77
Σ define the NBA B(α) = (Q, Σ, δ, I, F) by
a (f ).
Σ: Lω(α) = Lω(B(α)).
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 75 / 77
Thiemann Derivation Beyond Regular Languages 14 Oct 2018 76 / 77
Michael D. Adams, Celeste Hollenbeck, and Matthew Might. On the complexity and performance of parsing with derivatives. In PLDI, pages 224–236. ACM, 2016. Valentin M. Antimirov. Rewriting regular inequalities. In Proc. of FCT’95, volume 965 of LNCS, pages 116–125. Springer, 1995. Valentin M. Antimirov. Partial derivatives of regular expressions and finite automaton constructions. Theoretical Computer Science, 155(2):291–319, 1996. Janusz A. Brzozowski. Derivatives of regular expressions.
Matthew Might, David Darais, and Daniel Spiewak. Parsing with derivatives: a functional pearl. In Proc. of ICFP’11, pages 189–195. ACM, 2011. Martin Sulzmann and Peter Thiemann. A computational interpretation of context-free expressions. In APLAS, volume 10695 of Lecture Notes in Computer Science, pages 387–405. Springer, 2017. Peter Thiemann. Partial derivatives for context-free languages - from µ-regular expressions to pushdown automata. In FoSSaCS, volume 10203 of Lecture Notes in Computer Science, pages 248–264, 2017. Peter Thiemann and Martin Sulzmann. From ω -regular expressions to b¨ uchi automata via partial derivatives. In Proc. of LATA’15, volume 8977 of LNCS, pages 287–298. Springer, 2015. Joost Winter, Marcello M. Bonsangue, and Jan J. M. M. Rutten. Context-free languages, coalgebraically. In CALCO, volume 6859 of LNCS, pages 359–376. Springer, 2011. Thiemann Derivation Beyond Regular Languages 14 Oct 2018 77 / 77