An automaton model for forest algebras. Internship conditions - - PowerPoint PPT Presentation

an automaton model for forest algebras
SMART_READER_LITE
LIVE PREVIEW

An automaton model for forest algebras. Internship conditions - - PowerPoint PPT Presentation

An automaton model for forest algebras. Antoine Delignat-Lavaud An automaton model for forest algebras. Internship conditions Goals and context Forest algebras Antoine Delignat-Lavaud Forest automata Algebraic model Advised by Howard


slide-1
SLIDE 1

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

An automaton model for forest algebras.

Antoine Delignat-Lavaud

Advised by Howard Straubing Department of Computer Science, Boston College

September 1, 2010

/25

1 / 33 ∨

slide-2
SLIDE 2

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Internship conditions

◮ Boston College is neither a college nor in

Boston.

◮ Large investments in student and staff

working conditions

◮ Very small team in CS department ◮ Many interactions with BU, Harvard, MIT... ◮ Emphasis on applied research topics

/25

2 / 33 ∨

slide-3
SLIDE 3

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Internship goals and context

Regular tree languages

◮ Starting point: finite ranked trees over a

signature A = {a1 : k1...an : kn}

◮ Ranked tree over {a : 0, b : 3, c : 1}

b a a c a

◮ Automaton model: (A, Q, F ⊆ Q, ∆). Transition

in ∆ are written ai(q1, ..., qki) → q.

◮ Trees are written in prefix form b(a, a, c(a))

but read bottom-up.

/25

3 / 33 ∨

slide-4
SLIDE 4

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Internship goals and context

Regular tree languages

◮ Starting point: finite ranked trees over a

signature A = {a1 : k1...an : kn}

◮ Ranked tree over {a : 0, b : 3, c : 1}

b a a c a

◮ Automaton model: (A, Q, F ⊆ Q, ∆). Transition

in ∆ are written ai(q1, ..., qki) → q.

◮ Trees are written in prefix form b(a, a, c(a))

but read bottom-up.

/25

3 / 33 ∨

slide-5
SLIDE 5

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Internship goals and context

Regular tree languages

◮ Starting point: finite ranked trees over a

signature A = {a1 : k1...an : kn}

◮ Ranked tree over {a : 0, b : 3, c : 1}

b a a c a

◮ Automaton model: (A, Q, F ⊆ Q, ∆). Transition

in ∆ are written ai(q1, ..., qki) → q.

◮ Trees are written in prefix form b(a, a, c(a))

but read bottom-up.

/25

3 / 33 ∨

slide-6
SLIDE 6

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Internship goals and context

Regular tree languages

◮ Starting point: finite ranked trees over a

signature A = {a1 : k1...an : kn}

◮ Ranked tree over {a : 0, b : 3, c : 1}

b a a c a

◮ Automaton model: (A, Q, F ⊆ Q, ∆). Transition

in ∆ are written ai(q1, ..., qki) → q.

◮ Trees are written in prefix form b(a, a, c(a))

but read bottom-up.

/25

3 / 33 ∨

slide-7
SLIDE 7

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

The word case

◮ Language over A = subset of the free monoid

  • ver A

◮ Universal property of the free monoid: any

map A → S is uniquely extended to a morphism A∗ → S

◮ In a complete DFA accepting L, each letter

a ∈ A defines a transformation fa ∈ QQ

◮ ϕ : a → fa is uniquely extended to a morphism

from A∗ to M = fa. L = ϕ−1(X ⊆ M).

◮ Syntactic congruence: w ≡L w′ if

xwy ∈ L ⇔ xw′y ∈ L

◮ Any morphism accepting L factors through

A∗ → A∗/≡L: there is a unique syntactic monoid ML.

/25

4 / 33 ∨

slide-8
SLIDE 8

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

The word case

◮ Language over A = subset of the free monoid

  • ver A

◮ Universal property of the free monoid: any

map A → S is uniquely extended to a morphism A∗ → S

◮ In a complete DFA accepting L, each letter

a ∈ A defines a transformation fa ∈ QQ

◮ ϕ : a → fa is uniquely extended to a morphism

from A∗ to M = fa. L = ϕ−1(X ⊆ M).

◮ Syntactic congruence: w ≡L w′ if

xwy ∈ L ⇔ xw′y ∈ L

◮ Any morphism accepting L factors through

A∗ → A∗/≡L: there is a unique syntactic monoid ML.

/25

4 / 33 ∨

slide-9
SLIDE 9

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

The word case

◮ Language over A = subset of the free monoid

  • ver A

◮ Universal property of the free monoid: any

map A → S is uniquely extended to a morphism A∗ → S

◮ In a complete DFA accepting L, each letter

a ∈ A defines a transformation fa ∈ QQ

◮ ϕ : a → fa is uniquely extended to a morphism

from A∗ to M = fa. L = ϕ−1(X ⊆ M).

◮ Syntactic congruence: w ≡L w′ if

xwy ∈ L ⇔ xw′y ∈ L

◮ Any morphism accepting L factors through

A∗ → A∗/≡L: there is a unique syntactic monoid ML.

/25

4 / 33 ∨

slide-10
SLIDE 10

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

The word case

◮ Language over A = subset of the free monoid

  • ver A

◮ Universal property of the free monoid: any

map A → S is uniquely extended to a morphism A∗ → S

◮ In a complete DFA accepting L, each letter

a ∈ A defines a transformation fa ∈ QQ

◮ ϕ : a → fa is uniquely extended to a morphism

from A∗ to M = fa. L = ϕ−1(X ⊆ M).

◮ Syntactic congruence: w ≡L w′ if

xwy ∈ L ⇔ xw′y ∈ L

◮ Any morphism accepting L factors through

A∗ → A∗/≡L: there is a unique syntactic monoid ML.

/25

4 / 33 ∨

slide-11
SLIDE 11

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

The word case

◮ Language over A = subset of the free monoid

  • ver A

◮ Universal property of the free monoid: any

map A → S is uniquely extended to a morphism A∗ → S

◮ In a complete DFA accepting L, each letter

a ∈ A defines a transformation fa ∈ QQ

◮ ϕ : a → fa is uniquely extended to a morphism

from A∗ to M = fa. L = ϕ−1(X ⊆ M).

◮ Syntactic congruence: w ≡L w′ if

xwy ∈ L ⇔ xw′y ∈ L

◮ Any morphism accepting L factors through

A∗ → A∗/≡L: there is a unique syntactic monoid ML.

/25

4 / 33 ∨

slide-12
SLIDE 12

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

The word case

◮ Language over A = subset of the free monoid

  • ver A

◮ Universal property of the free monoid: any

map A → S is uniquely extended to a morphism A∗ → S

◮ In a complete DFA accepting L, each letter

a ∈ A defines a transformation fa ∈ QQ

◮ ϕ : a → fa is uniquely extended to a morphism

from A∗ to M = fa. L = ϕ−1(X ⊆ M).

◮ Syntactic congruence: w ≡L w′ if

xwy ∈ L ⇔ xw′y ∈ L

◮ Any morphism accepting L factors through

A∗ → A∗/≡L: there is a unique syntactic monoid ML.

/25

4 / 33 ∨

slide-13
SLIDE 13

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Back to trees

◮ What is a prefix, suffix, factor of a tree?

b c a a c a b x y c z c t a

◮ Contexts: trees in wich one leaf is labelled by

a variable ∗. c c ∗ c a

/25

5 / 33 ∨

slide-14
SLIDE 14

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Back to trees

◮ What is a prefix, suffix, factor of a tree?

b c a a c a b x y c z c t a

◮ Contexts: trees in wich one leaf is labelled by

a variable ∗. c c ∗ c a

/25

5 / 33 ∨

slide-15
SLIDE 15

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimization and syntactic object

◮ Myhill-Nerode congruence: t ≡L t′ if for all

contexts p ∈ C(A), p · t ∈ L ⇔ p · t′ ∈ L.

◮ Equivalently, coarsest congruence that

refines L.

◮ Minimal automaton: Q = T (A)/≡L, F = [L].

ai([t1], ..., [tki]) → [ai(t1 · · · tki)].

◮ Minimal ⇒ unique up to isomorphism! ◮ Syntactic structure: finite set Q with maps

fai : Qki → Q

◮ Well understood if ki ≤ 2, impractical

  • therwise.

/25

6 / 33 ∨

slide-16
SLIDE 16

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimization and syntactic object

◮ Myhill-Nerode congruence: t ≡L t′ if for all

contexts p ∈ C(A), p · t ∈ L ⇔ p · t′ ∈ L.

◮ Equivalently, coarsest congruence that

refines L.

◮ Minimal automaton: Q = T (A)/≡L, F = [L].

ai([t1], ..., [tki]) → [ai(t1 · · · tki)].

◮ Minimal ⇒ unique up to isomorphism! ◮ Syntactic structure: finite set Q with maps

fai : Qki → Q

◮ Well understood if ki ≤ 2, impractical

  • therwise.

/25

6 / 33 ∨

slide-17
SLIDE 17

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimization and syntactic object

◮ Myhill-Nerode congruence: t ≡L t′ if for all

contexts p ∈ C(A), p · t ∈ L ⇔ p · t′ ∈ L.

◮ Equivalently, coarsest congruence that

refines L.

◮ Minimal automaton: Q = T (A)/≡L, F = [L].

ai([t1], ..., [tki]) → [ai(t1 · · · tki)].

◮ Minimal ⇒ unique up to isomorphism! ◮ Syntactic structure: finite set Q with maps

fai : Qki → Q

◮ Well understood if ki ≤ 2, impractical

  • therwise.

/25

6 / 33 ∨

slide-18
SLIDE 18

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimization and syntactic object

◮ Myhill-Nerode congruence: t ≡L t′ if for all

contexts p ∈ C(A), p · t ∈ L ⇔ p · t′ ∈ L.

◮ Equivalently, coarsest congruence that

refines L.

◮ Minimal automaton: Q = T (A)/≡L, F = [L].

ai([t1], ..., [tki]) → [ai(t1 · · · tki)].

◮ Minimal ⇒ unique up to isomorphism! ◮ Syntactic structure: finite set Q with maps

fai : Qki → Q

◮ Well understood if ki ≤ 2, impractical

  • therwise.

/25

6 / 33 ∨

slide-19
SLIDE 19

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimization and syntactic object

◮ Myhill-Nerode congruence: t ≡L t′ if for all

contexts p ∈ C(A), p · t ∈ L ⇔ p · t′ ∈ L.

◮ Equivalently, coarsest congruence that

refines L.

◮ Minimal automaton: Q = T (A)/≡L, F = [L].

ai([t1], ..., [tki]) → [ai(t1 · · · tki)].

◮ Minimal ⇒ unique up to isomorphism! ◮ Syntactic structure: finite set Q with maps

fai : Qki → Q

◮ Well understood if ki ≤ 2, impractical

  • therwise.

/25

6 / 33 ∨

slide-20
SLIDE 20

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimization and syntactic object

◮ Myhill-Nerode congruence: t ≡L t′ if for all

contexts p ∈ C(A), p · t ∈ L ⇔ p · t′ ∈ L.

◮ Equivalently, coarsest congruence that

refines L.

◮ Minimal automaton: Q = T (A)/≡L, F = [L].

ai([t1], ..., [tki]) → [ai(t1 · · · tki)].

◮ Minimal ⇒ unique up to isomorphism! ◮ Syntactic structure: finite set Q with maps

fai : Qki → Q

◮ Well understood if ki ≤ 2, impractical

  • therwise.

/25

6 / 33 ∨

slide-21
SLIDE 21

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Unranked trees

◮ Alphabet A is a finite set of symbols ◮ Forest: t ::= ε | a ∈ A | t + t | at ◮ Unranked tree: at, t a forest ◮ Important case for many applications (HTML,

XML, databases)

◮ New horizontal dimension: t + t | at

b a c c c a b a c c c a

Figure: Concatenation of forests

/25

7 / 33 ∨

slide-22
SLIDE 22

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Unranked trees

◮ Alphabet A is a finite set of symbols ◮ Forest: t ::= ε | a ∈ A | t + t | at ◮ Unranked tree: at, t a forest ◮ Important case for many applications (HTML,

XML, databases)

◮ New horizontal dimension: t + t | at

b a c c c a b a c c c a

Figure: Concatenation of forests

/25

7 / 33 ∨

slide-23
SLIDE 23

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Unranked trees

◮ Alphabet A is a finite set of symbols ◮ Forest: t ::= ε | a ∈ A | t + t | at ◮ Unranked tree: at, t a forest ◮ Important case for many applications (HTML,

XML, databases)

◮ New horizontal dimension: t + t | at

b a c c c a b a c c c a

Figure: Concatenation of forests

/25

7 / 33 ∨

slide-24
SLIDE 24

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Unranked trees

◮ Alphabet A is a finite set of symbols ◮ Forest: t ::= ε | a ∈ A | t + t | at ◮ Unranked tree: at, t a forest ◮ Important case for many applications (HTML,

XML, databases)

◮ New horizontal dimension: t + t | at

b a c c c a b a c c c a

Figure: Concatenation of forests

/25

7 / 33 ∨

slide-25
SLIDE 25

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Unranked trees

◮ Alphabet A is a finite set of symbols ◮ Forest: t ::= ε | a ∈ A | t + t | at ◮ Unranked tree: at, t a forest ◮ Important case for many applications (HTML,

XML, databases)

◮ New horizontal dimension: t + t | at

b a c c c a b a c c c a

Figure: Concatenation of forests

/25

7 / 33 ∨

slide-26
SLIDE 26

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Unranked trees

◮ Alphabet A is a finite set of symbols ◮ Forest: t ::= ε | a ∈ A | t + t | at ◮ Unranked tree: at, t a forest ◮ Important case for many applications (HTML,

XML, databases)

◮ New horizontal dimension: t + t | at

b a c c c a b a c c c a

Figure: Concatenation of forests

/25

7 / 33 ∨

slide-27
SLIDE 27

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Usefulness of a simple syntactic object

A tool to study properties of languages

◮ Schützenberger, McNaughton: L star-free ⇔

ML aperiodic ⇔ L FO[<]-definable

◮ Simon: L piecewise-testable (union of

A∗a1A∗ · · · A∗anA∗) ⇔ ML J -trivial, i.e. MLmML = MLm′ML ⇒ m = m′

Varieties

◮ Variety of monoids: family closed under

submonoid, quotients and direct products

◮ Pseudovariety: variety V of finite monoids ◮ Variety of languages: family V(Σ) closed

under booleans operations, inverses of morphisms and residuals

◮ Eilemberg’s theorem: V → V is bijective

/25

8 / 33 ∨

slide-28
SLIDE 28

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Usefulness of a simple syntactic object

A tool to study properties of languages

◮ Schützenberger, McNaughton: L star-free ⇔

ML aperiodic ⇔ L FO[<]-definable

◮ Simon: L piecewise-testable (union of

A∗a1A∗ · · · A∗anA∗) ⇔ ML J -trivial, i.e. MLmML = MLm′ML ⇒ m = m′

Varieties

◮ Variety of monoids: family closed under

submonoid, quotients and direct products

◮ Pseudovariety: variety V of finite monoids ◮ Variety of languages: family V(Σ) closed

under booleans operations, inverses of morphisms and residuals

◮ Eilemberg’s theorem: V → V is bijective

/25

8 / 33 ∨

slide-29
SLIDE 29

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Usefulness of a simple syntactic object

A tool to study properties of languages

◮ Schützenberger, McNaughton: L star-free ⇔

ML aperiodic ⇔ L FO[<]-definable

◮ Simon: L piecewise-testable (union of

A∗a1A∗ · · · A∗anA∗) ⇔ ML J -trivial, i.e. MLmML = MLm′ML ⇒ m = m′

Varieties

◮ Variety of monoids: family closed under

submonoid, quotients and direct products

◮ Pseudovariety: variety V of finite monoids ◮ Variety of languages: family V(Σ) closed

under booleans operations, inverses of morphisms and residuals

◮ Eilemberg’s theorem: V → V is bijective

/25

8 / 33 ∨

slide-30
SLIDE 30

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Usefulness of a simple syntactic object

A tool to study properties of languages

◮ Schützenberger, McNaughton: L star-free ⇔

ML aperiodic ⇔ L FO[<]-definable

◮ Simon: L piecewise-testable (union of

A∗a1A∗ · · · A∗anA∗) ⇔ ML J -trivial, i.e. MLmML = MLm′ML ⇒ m = m′

Varieties

◮ Variety of monoids: family closed under

submonoid, quotients and direct products

◮ Pseudovariety: variety V of finite monoids ◮ Variety of languages: family V(Σ) closed

under booleans operations, inverses of morphisms and residuals

◮ Eilemberg’s theorem: V → V is bijective

/25

8 / 33 ∨

slide-31
SLIDE 31

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Usefulness of a simple syntactic object

A tool to study properties of languages

◮ Schützenberger, McNaughton: L star-free ⇔

ML aperiodic ⇔ L FO[<]-definable

◮ Simon: L piecewise-testable (union of

A∗a1A∗ · · · A∗anA∗) ⇔ ML J -trivial, i.e. MLmML = MLm′ML ⇒ m = m′

Varieties

◮ Variety of monoids: family closed under

submonoid, quotients and direct products

◮ Pseudovariety: variety V of finite monoids ◮ Variety of languages: family V(Σ) closed

under booleans operations, inverses of morphisms and residuals

◮ Eilemberg’s theorem: V → V is bijective

/25

8 / 33 ∨

slide-32
SLIDE 32

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Usefulness of a simple syntactic object

A tool to study properties of languages

◮ Schützenberger, McNaughton: L star-free ⇔

ML aperiodic ⇔ L FO[<]-definable

◮ Simon: L piecewise-testable (union of

A∗a1A∗ · · · A∗anA∗) ⇔ ML J -trivial, i.e. MLmML = MLm′ML ⇒ m = m′

Varieties

◮ Variety of monoids: family closed under

submonoid, quotients and direct products

◮ Pseudovariety: variety V of finite monoids ◮ Variety of languages: family V(Σ) closed

under booleans operations, inverses of morphisms and residuals

◮ Eilemberg’s theorem: V → V is bijective

/25

8 / 33 ∨

slide-33
SLIDE 33

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Forest algebras

Definition

A forest algebra is a tuple (H, V, ·, ✐♥L, ✐♥R) such that:

◮ H is the horizontal monoid denoted (H, 0, +). ◮ V is the vertical monoid denoted (V, 1, ◦). ◮ · is a left monoidal action of V on H. ◮ ✐♥L, ✐♥R : H → V are such that ✐♥L(g) · h = g + h

and ✐♥R(g) · h = h + g for all g, h ∈ H.

◮ · is faithful, ∀v, w ∈ V, ∃h ∈ H, v · h = w · h.

Forest algebras were proposed by Walukiewicz and Bojańczyk in a 2007 paper.

/25

9 / 33 ∨

slide-34
SLIDE 34

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Forest algebra morphism

A morphism of forest algebras from (H, V) to (G, W) is a pair of monoid morphisms (α : H → G, β : V → W) such that ∀h ∈ H, v ∈ V, α(v · h) = β(v) · α(h)

Example

(F(A), C(A), ·, ✐♥L, ✐♥R) where

◮ F(A) is the monoid of forests over A with

concatenation

◮ C(A) is the monoid of contexts over A with

composition

◮ · is forest substitution in contexts

is the free forest algebra denoted A∆. Universal property: any map A → V extends uniquely to a morphism A∆ → (H, V) such that β(a(∗)) = f(a)

/25

10 / 33 ∨

slide-35
SLIDE 35

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Forest algebra morphism

A morphism of forest algebras from (H, V) to (G, W) is a pair of monoid morphisms (α : H → G, β : V → W) such that ∀h ∈ H, v ∈ V, α(v · h) = β(v) · α(h)

Example

(F(A), C(A), ·, ✐♥L, ✐♥R) where

◮ F(A) is the monoid of forests over A with

concatenation

◮ C(A) is the monoid of contexts over A with

composition

◮ · is forest substitution in contexts

is the free forest algebra denoted A∆. Universal property: any map A → V extends uniquely to a morphism A∆ → (H, V) such that β(a(∗)) = f(a)

/25

10 / 33 ∨

slide-36
SLIDE 36

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Recognizability

Definition

L ⊆ F(A) is a recognized by a morphism (α, β) : A∆ → (H, V) if L = α−1(F ⊆ H). It is recognizable if there exists such a morphism such that (H, V) is finite.

Syntactic congruence

We define the relation ≡L on forests and contexts: t ≡L t′ ⇐ ⇒ ∀p ∈ C(A), p · t ∈ L ⇔ p · t′ ∈ L p ≡L p′ ⇐ ⇒ ∀t ∈ F(A), p · t ∈ L ⇔ p′ · t ∈ L The forest algebra (HL = F(A)/≡L, V L = C(A)/≡L) recognizes L and any morphism recognizing L factors through (αL, βL) : A∆ → (HL, V L).

/25

11 / 33 ∨

slide-37
SLIDE 37

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Recognizability

Definition

L ⊆ F(A) is a recognized by a morphism (α, β) : A∆ → (H, V) if L = α−1(F ⊆ H). It is recognizable if there exists such a morphism such that (H, V) is finite.

Syntactic congruence

We define the relation ≡L on forests and contexts: t ≡L t′ ⇐ ⇒ ∀p ∈ C(A), p · t ∈ L ⇔ p · t′ ∈ L p ≡L p′ ⇐ ⇒ ∀t ∈ F(A), p · t ∈ L ⇔ p′ · t ∈ L The forest algebra (HL = F(A)/≡L, V L = C(A)/≡L) recognizes L and any morphism recognizing L factors through (αL, βL) : A∆ → (HL, V L).

/25

11 / 33 ∨

slide-38
SLIDE 38

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Algebraic automaton model

Definition

A forest algebra automaton is a tuple: A = (Q, 0, +, A, δ : A × Q → Q, F ⊆ Q) (Q, 0, +) is the finite state monoid, δ is the transition function and F the set of accepting states.

Run of the automaton

A induces a map F(A) → Q written · A defined by induction on the structure of forests:

◮ 0A = 0 ◮ (t1 + t2)A = tA 1 + tA 2 ◮ (a · t)A = δ(a, tA)

L(A) = {t ∈ F(A) | tA ∈ F}.

/25

12 / 33 ∨

slide-39
SLIDE 39

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Algebraic automaton model

Definition

A forest algebra automaton is a tuple: A = (Q, 0, +, A, δ : A × Q → Q, F ⊆ Q) (Q, 0, +) is the finite state monoid, δ is the transition function and F the set of accepting states.

Run of the automaton

A induces a map F(A) → Q written · A defined by induction on the structure of forests:

◮ 0A = 0 ◮ (t1 + t2)A = tA 1 + tA 2 ◮ (a · t)A = δ(a, tA)

L(A) = {t ∈ F(A) | tA ∈ F}.

/25

12 / 33 ∨

slide-40
SLIDE 40

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Transition forest algebra

Transition forest algebra (H, V) of A = (Q, 0, +), A, δ : A × Q → Q, F ⊆ Q:

◮ Horizontal monoid H = (Q, 0, +) ◮ Vertical monoid V = (HH, ✐❞H, ◦) ◮ Action is function application: v · h = v(h). ◮ Insertion functions are uniquely defined by

the action. The morphism defined by β(a(∗)) = δ(a) ∈ HH recognizes L.

/25

13 / 33 ∨

slide-41
SLIDE 41

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Transition forest algebra

Transition forest algebra (H, V) of A = (Q, 0, +), A, δ : A × Q → Q, F ⊆ Q:

◮ Horizontal monoid H = (Q, 0, +) ◮ Vertical monoid V = (HH, ✐❞H, ◦) ◮ Action is function application: v · h = v(h). ◮ Insertion functions are uniquely defined by

the action. The morphism defined by β(a(∗)) = δ(a) ∈ HH recognizes L.

/25

13 / 33 ∨

slide-42
SLIDE 42

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Transition forest algebra

Transition forest algebra (H, V) of A = (Q, 0, +), A, δ : A × Q → Q, F ⊆ Q:

◮ Horizontal monoid H = (Q, 0, +) ◮ Vertical monoid V = (HH, ✐❞H, ◦) ◮ Action is function application: v · h = v(h). ◮ Insertion functions are uniquely defined by

the action. The morphism defined by β(a(∗)) = δ(a) ∈ HH recognizes L.

/25

13 / 33 ∨

slide-43
SLIDE 43

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Transition forest algebra

Transition forest algebra (H, V) of A = (Q, 0, +), A, δ : A × Q → Q, F ⊆ Q:

◮ Horizontal monoid H = (Q, 0, +) ◮ Vertical monoid V = (HH, ✐❞H, ◦) ◮ Action is function application: v · h = v(h). ◮ Insertion functions are uniquely defined by

the action. The morphism defined by β(a(∗)) = δ(a) ∈ HH recognizes L.

/25

13 / 33 ∨

slide-44
SLIDE 44

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Transition forest algebra

Transition forest algebra (H, V) of A = (Q, 0, +), A, δ : A × Q → Q, F ⊆ Q:

◮ Horizontal monoid H = (Q, 0, +) ◮ Vertical monoid V = (HH, ✐❞H, ◦) ◮ Action is function application: v · h = v(h). ◮ Insertion functions are uniquely defined by

the action. The morphism defined by β(a(∗)) = δ(a) ∈ HH recognizes L.

/25

13 / 33 ∨

slide-45
SLIDE 45

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Definition

A bottom-up deterministic forest automaton (BUDFA) is a tuple: A = S, Q, s0, γ : S × Q → S, λ : S × A → Q, F

◮ S is the finite set of horizontal states ◮ s0 ∈ S is the initial state ◮ F ⊆ S is the set of accepting states ◮ Q is the finite set of vertical states ◮ γ is a semiautomaton on S over the alphabet

Q

◮ λ is the output function

γ defines a left monoidal action of Q∗ on S, we will write s · q1 . . . qn instead of γ(γ(· · · γ(s, q1) · · · ), qn−1), qn).

/25

14 / 33 ∨

slide-46
SLIDE 46

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Definition

A bottom-up deterministic forest automaton (BUDFA) is a tuple: A = S, Q, s0, γ : S × Q → S, λ : S × A → Q, F

◮ S is the finite set of horizontal states ◮ s0 ∈ S is the initial state ◮ F ⊆ S is the set of accepting states ◮ Q is the finite set of vertical states ◮ γ is a semiautomaton on S over the alphabet

Q

◮ λ is the output function

γ defines a left monoidal action of Q∗ on S, we will write s · q1 . . . qn instead of γ(γ(· · · γ(s, q1) · · · ), qn−1), qn).

/25

14 / 33 ∨

slide-47
SLIDE 47

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Definition

A bottom-up deterministic forest automaton (BUDFA) is a tuple: A = S, Q, s0, γ : S × Q → S, λ : S × A → Q, F

◮ S is the finite set of horizontal states ◮ s0 ∈ S is the initial state ◮ F ⊆ S is the set of accepting states ◮ Q is the finite set of vertical states ◮ γ is a semiautomaton on S over the alphabet

Q

◮ λ is the output function

γ defines a left monoidal action of Q∗ on S, we will write s · q1 . . . qn instead of γ(γ(· · · γ(s, q1) · · · ), qn−1), qn).

/25

14 / 33 ∨

slide-48
SLIDE 48

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Definition

A bottom-up deterministic forest automaton (BUDFA) is a tuple: A = S, Q, s0, γ : S × Q → S, λ : S × A → Q, F

◮ S is the finite set of horizontal states ◮ s0 ∈ S is the initial state ◮ F ⊆ S is the set of accepting states ◮ Q is the finite set of vertical states ◮ γ is a semiautomaton on S over the alphabet

Q

◮ λ is the output function

γ defines a left monoidal action of Q∗ on S, we will write s · q1 . . . qn instead of γ(γ(· · · γ(s, q1) · · · ), qn−1), qn).

/25

14 / 33 ∨

slide-49
SLIDE 49

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Definition

A bottom-up deterministic forest automaton (BUDFA) is a tuple: A = S, Q, s0, γ : S × Q → S, λ : S × A → Q, F

◮ S is the finite set of horizontal states ◮ s0 ∈ S is the initial state ◮ F ⊆ S is the set of accepting states ◮ Q is the finite set of vertical states ◮ γ is a semiautomaton on S over the alphabet

Q

◮ λ is the output function

γ defines a left monoidal action of Q∗ on S, we will write s · q1 . . . qn instead of γ(γ(· · · γ(s, q1) · · · ), qn−1), qn).

/25

14 / 33 ∨

slide-50
SLIDE 50

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Definition

A bottom-up deterministic forest automaton (BUDFA) is a tuple: A = S, Q, s0, γ : S × Q → S, λ : S × A → Q, F

◮ S is the finite set of horizontal states ◮ s0 ∈ S is the initial state ◮ F ⊆ S is the set of accepting states ◮ Q is the finite set of vertical states ◮ γ is a semiautomaton on S over the alphabet

Q

◮ λ is the output function

γ defines a left monoidal action of Q∗ on S, we will write s · q1 . . . qn instead of γ(γ(· · · γ(s, q1) · · · ), qn−1), qn).

/25

14 / 33 ∨

slide-51
SLIDE 51

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Definition

A bottom-up deterministic forest automaton (BUDFA) is a tuple: A = S, Q, s0, γ : S × Q → S, λ : S × A → Q, F

◮ S is the finite set of horizontal states ◮ s0 ∈ S is the initial state ◮ F ⊆ S is the set of accepting states ◮ Q is the finite set of vertical states ◮ γ is a semiautomaton on S over the alphabet

Q

◮ λ is the output function

γ defines a left monoidal action of Q∗ on S, we will write s · q1 . . . qn instead of γ(γ(· · · γ(s, q1) · · · ), qn−1), qn).

/25

14 / 33 ∨

slide-52
SLIDE 52

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Run on a BUDFA

A defines a map · A : F(A) → S defined by:

◮ 0A = s0. ◮ (t1 + a · t2)A = tA 1 · λ(tA 2 , a).

s0 sf s1

qb qa qf qa, qb qf qa, qb, qf

a : qf b : qf a : qf b : qa a : qa b : qb

b a b a a a b a

s0

/25

15 / 33 ∨

slide-53
SLIDE 53

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Run on a BUDFA

A defines a map · A : F(A) → S defined by:

◮ 0A = s0. ◮ (t1 + a · t2)A = tA 1 · λ(tA 2 , a).

s0 sf s1

qb qa qf qa, qb qf qa, qb, qf

a : qf b : qf a : qf b : qa a : qa b : qb

s0

b a b a a a b b

s0 qa qa

/25

15 / 33 ∨

slide-54
SLIDE 54

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Run on a BUDFA

A defines a map · A : F(A) → S defined by:

◮ 0A = s0. ◮ (t1 + a · t2)A = tA 1 · λ(tA 2 , a).

s0 sf s1

qb qa qf qa, qb qf qa, qb, qf

a : qf b : qf a : qf b : qa a : qa b : qb

s1

b a b a a a b b

s0 s1 qa

/25

15 / 33 ∨

slide-55
SLIDE 55

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Run on a BUDFA

A defines a map · A : F(A) → S defined by:

◮ 0A = s0. ◮ (t1 + a · t2)A = tA 1 · λ(tA 2 , a).

s0 sf s1

qb qa qf qa, qb qf qa, qb, qf

a : qf b : qf a : qf b : qa a : qa b : qb

b a b a a a b a

s0 s1 s0 qa qa

/25

15 / 33 ∨

slide-56
SLIDE 56

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Run on a BUDFA

A defines a map · A : F(A) → S defined by:

◮ 0A = s0. ◮ (t1 + a · t2)A = tA 1 · λ(tA 2 , a).

s0 sf s1

qb qa qf qa, qb qf qa, qb, qf

a : qf b : qf a : qf b : qa a : qa b : qb

b a b a a a b a

s0 s1 s0 s0 qa qa qa

/25

15 / 33 ∨

slide-57
SLIDE 57

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Run on a BUDFA

A defines a map · A : F(A) → S defined by:

◮ 0A = s0. ◮ (t1 + a · t2)A = tA 1 · λ(tA 2 , a).

s0 sf s1

qb qa qf qa, qb qf qa, qb, qf

a : qf b : qf a : qf b : qa a : qa b : qb

s0

b a b a a a b b

s0 s1 s0 s0 qa qa qa qa qa

/25

15 / 33 ∨

slide-58
SLIDE 58

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Run on a BUDFA

A defines a map · A : F(A) → S defined by:

◮ 0A = s0. ◮ (t1 + a · t2)A = tA 1 · λ(tA 2 , a).

s0 sf s1

qb qa qf qa, qb qf qa, qb, qf

a : qf b : qf a : qf b : qa a : qa b : qb

s1

b a b a a a b b

s0 s1 s0 s0 qa qa qa qa qa

/25

15 / 33 ∨

slide-59
SLIDE 59

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Run on a BUDFA

A defines a map · A : F(A) → S defined by:

◮ 0A = s0. ◮ (t1 + a · t2)A = tA 1 · λ(tA 2 , a).

s0 sf s1

qb qa qf qa, qb qf qa, qb, qf

a : qf b : qf a : qf b : qa a : qa b : qb

s1

b a b a a a b b

s0 s1 s0 s0 qa qa qa qa qa

/25

15 / 33 ∨

slide-60
SLIDE 60

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Run on a BUDFA

A defines a map · A : F(A) → S defined by:

◮ 0A = s0. ◮ (t1 + a · t2)A = tA 1 · λ(tA 2 , a).

s0 sf s1

qb qa qf qa, qb qf qa, qb, qf

a : qf b : qf a : qf b : qa a : qa b : qb

s1

b a b a a a b b

s0 s1 s0 s0 s1 qa qa qa qa

/25

15 / 33 ∨

slide-61
SLIDE 61

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Run on a BUDFA

A defines a map · A : F(A) → S defined by:

◮ 0A = s0. ◮ (t1 + a · t2)A = tA 1 · λ(tA 2 , a).

s0 sf s1

qb qa qf qa, qb qf qa, qb, qf

a : qf b : qf a : qf b : qa a : qa b : qb

b a b a a a b

s0 s1 s0 s0 s1 s0 qa qa qa qa qa

/25

15 / 33 ∨

slide-62
SLIDE 62

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Run on a BUDFA

A defines a map · A : F(A) → S defined by:

◮ 0A = s0. ◮ (t1 + a · t2)A = tA 1 · λ(tA 2 , a).

s0 sf s1

qb qa qf qa, qb qf qa, qb, qf

a : qf b : qf a : qf b : qa a : qa b : qb

s0

b a b a a a b a

s0 s1 s0 s0 s1 s0 qa qa qa qa qa qb qb

/25

15 / 33 ∨

slide-63
SLIDE 63

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Run on a BUDFA

A defines a map · A : F(A) → S defined by:

◮ 0A = s0. ◮ (t1 + a · t2)A = tA 1 · λ(tA 2 , a).

s0 sf s1

qb qa qf qa, qb qf qa, qb, qf

a : qf b : qf a : qf b : qa a : qa b : qb

s0

b a b a a a b a

s0 s1 s0 s0 s1 s0 s0 qa qa qa qa qa qb

/25

15 / 33 ∨

slide-64
SLIDE 64

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Run on a BUDFA

A defines a map · A : F(A) → S defined by:

◮ 0A = s0. ◮ (t1 + a · t2)A = tA 1 · λ(tA 2 , a).

s0 sf s1

qb qa qf qa, qb qf qa, qb, qf

a : qf b : qf a : qf b : qa a : qa b : qb

s0

b a b a a a b

s0 s1 s0 s0 s1 s0 s0 qa qa qa qa qa qb qa qa

/25

15 / 33 ∨

slide-65
SLIDE 65

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Run on a BUDFA

A defines a map · A : F(A) → S defined by:

◮ 0A = s0. ◮ (t1 + a · t2)A = tA 1 · λ(tA 2 , a).

s0 sf s1

qb qa qf qa, qb qf qa, qb, qf

a : qf b : qf a : qf b : qa a : qa b : qb

s1

b a b a a a b

s0 s1 s0 s0 s1 s0 s0 qa qa qa qa qa qb qa qa

/25

15 / 33 ∨

slide-66
SLIDE 66

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Run on a BUDFA

A defines a map · A : F(A) → S defined by:

◮ 0A = s0. ◮ (t1 + a · t2)A = tA 1 · λ(tA 2 , a).

s0 sf s1

qb qa qf qa, qb qf qa, qb, qf

a : qf b : qf a : qf b : qa a : qa b : qb

s1

b a b a a a b

s0 s1 s0 s0 s1 s0 s0 qa qa qa qa qa qb qa

/25

15 / 33 ∨

slide-67
SLIDE 67

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Transition forest algebra

Let A = S, Q, s0, γ, λ, F.

◮ (S, Q, s0, γ, F) is the horizontal DFA: let H be its

transition monoid

◮ For all q ∈ Q, let γq = s → γ(s, q). H is the

submonoid of (SS, ✐❞S, ∗) generated by (γq)q∈Q

◮ X = {fw ∈ H | fw(s0) ∈ F} ◮ For all a ∈ A, let va : h → γλ(h(s0),a) ◮ For all t ∈ F(A), let v✐♥L(t) : h → γt ∗ h,

v✐♥R(t) : h → h ∗ γt

◮ V is the submonoid of (HH, ✐❞H, ◦) generated

by va, v✐♥R(t), v✐♥L(t).

/25

16 / 33 ∨

slide-68
SLIDE 68

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Transition forest algebra

Let A = S, Q, s0, γ, λ, F.

◮ (S, Q, s0, γ, F) is the horizontal DFA: let H be its

transition monoid

◮ For all q ∈ Q, let γq = s → γ(s, q). H is the

submonoid of (SS, ✐❞S, ∗) generated by (γq)q∈Q

◮ X = {fw ∈ H | fw(s0) ∈ F} ◮ For all a ∈ A, let va : h → γλ(h(s0),a) ◮ For all t ∈ F(A), let v✐♥L(t) : h → γt ∗ h,

v✐♥R(t) : h → h ∗ γt

◮ V is the submonoid of (HH, ✐❞H, ◦) generated

by va, v✐♥R(t), v✐♥L(t).

/25

16 / 33 ∨

slide-69
SLIDE 69

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Transition forest algebra

Let A = S, Q, s0, γ, λ, F.

◮ (S, Q, s0, γ, F) is the horizontal DFA: let H be its

transition monoid

◮ For all q ∈ Q, let γq = s → γ(s, q). H is the

submonoid of (SS, ✐❞S, ∗) generated by (γq)q∈Q

◮ X = {fw ∈ H | fw(s0) ∈ F} ◮ For all a ∈ A, let va : h → γλ(h(s0),a) ◮ For all t ∈ F(A), let v✐♥L(t) : h → γt ∗ h,

v✐♥R(t) : h → h ∗ γt

◮ V is the submonoid of (HH, ✐❞H, ◦) generated

by va, v✐♥R(t), v✐♥L(t).

/25

16 / 33 ∨

slide-70
SLIDE 70

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Transition forest algebra

Let A = S, Q, s0, γ, λ, F.

◮ (S, Q, s0, γ, F) is the horizontal DFA: let H be its

transition monoid

◮ For all q ∈ Q, let γq = s → γ(s, q). H is the

submonoid of (SS, ✐❞S, ∗) generated by (γq)q∈Q

◮ X = {fw ∈ H | fw(s0) ∈ F} ◮ For all a ∈ A, let va : h → γλ(h(s0),a) ◮ For all t ∈ F(A), let v✐♥L(t) : h → γt ∗ h,

v✐♥R(t) : h → h ∗ γt

◮ V is the submonoid of (HH, ✐❞H, ◦) generated

by va, v✐♥R(t), v✐♥L(t).

/25

16 / 33 ∨

slide-71
SLIDE 71

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Transition forest algebra

Let A = S, Q, s0, γ, λ, F.

◮ (S, Q, s0, γ, F) is the horizontal DFA: let H be its

transition monoid

◮ For all q ∈ Q, let γq = s → γ(s, q). H is the

submonoid of (SS, ✐❞S, ∗) generated by (γq)q∈Q

◮ X = {fw ∈ H | fw(s0) ∈ F} ◮ For all a ∈ A, let va : h → γλ(h(s0),a) ◮ For all t ∈ F(A), let v✐♥L(t) : h → γt ∗ h,

v✐♥R(t) : h → h ∗ γt

◮ V is the submonoid of (HH, ✐❞H, ◦) generated

by va, v✐♥R(t), v✐♥L(t).

/25

16 / 33 ∨

slide-72
SLIDE 72

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Transition forest algebra

Let A = S, Q, s0, γ, λ, F.

◮ (S, Q, s0, γ, F) is the horizontal DFA: let H be its

transition monoid

◮ For all q ∈ Q, let γq = s → γ(s, q). H is the

submonoid of (SS, ✐❞S, ∗) generated by (γq)q∈Q

◮ X = {fw ∈ H | fw(s0) ∈ F} ◮ For all a ∈ A, let va : h → γλ(h(s0),a) ◮ For all t ∈ F(A), let v✐♥L(t) : h → γt ∗ h,

v✐♥R(t) : h → h ∗ γt

◮ V is the submonoid of (HH, ✐❞H, ◦) generated

by va, v✐♥R(t), v✐♥L(t).

/25

16 / 33 ∨

slide-73
SLIDE 73

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimization of BUDFA

Myhill-Nerode congruence

◮ Left contexts Cℓ(A): the hole has no sibling on

its left

◮ Relation on F(A): t ∼L t′ if ∀p ∈ Cℓ(A),

p · t ∈ L ⇔ p · t′ ∈ L.

◮ ≡L⊆∼L: ∼L is of finite index ◮ Restriction of ≡L on F(A) to T (A) is an

equivalence still denoted ≡L

◮ AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L ◮ λ([t]∼L, a) = [at]≡L ◮ γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

/25

17 / 33 ∨

slide-74
SLIDE 74

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimization of BUDFA

Myhill-Nerode congruence

◮ Left contexts Cℓ(A): the hole has no sibling on

its left

◮ Relation on F(A): t ∼L t′ if ∀p ∈ Cℓ(A),

p · t ∈ L ⇔ p · t′ ∈ L.

◮ ≡L⊆∼L: ∼L is of finite index ◮ Restriction of ≡L on F(A) to T (A) is an

equivalence still denoted ≡L

◮ AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L ◮ λ([t]∼L, a) = [at]≡L ◮ γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

/25

17 / 33 ∨

slide-75
SLIDE 75

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimization of BUDFA

Myhill-Nerode congruence

◮ Left contexts Cℓ(A): the hole has no sibling on

its left

◮ Relation on F(A): t ∼L t′ if ∀p ∈ Cℓ(A),

p · t ∈ L ⇔ p · t′ ∈ L.

◮ ≡L⊆∼L: ∼L is of finite index ◮ Restriction of ≡L on F(A) to T (A) is an

equivalence still denoted ≡L

◮ AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L ◮ λ([t]∼L, a) = [at]≡L ◮ γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

/25

17 / 33 ∨

slide-76
SLIDE 76

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimization of BUDFA

Myhill-Nerode congruence

◮ Left contexts Cℓ(A): the hole has no sibling on

its left

◮ Relation on F(A): t ∼L t′ if ∀p ∈ Cℓ(A),

p · t ∈ L ⇔ p · t′ ∈ L.

◮ ≡L⊆∼L: ∼L is of finite index ◮ Restriction of ≡L on F(A) to T (A) is an

equivalence still denoted ≡L

◮ AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L ◮ λ([t]∼L, a) = [at]≡L ◮ γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

/25

17 / 33 ∨

slide-77
SLIDE 77

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimization of BUDFA

Myhill-Nerode congruence

◮ Left contexts Cℓ(A): the hole has no sibling on

its left

◮ Relation on F(A): t ∼L t′ if ∀p ∈ Cℓ(A),

p · t ∈ L ⇔ p · t′ ∈ L.

◮ ≡L⊆∼L: ∼L is of finite index ◮ Restriction of ≡L on F(A) to T (A) is an

equivalence still denoted ≡L

◮ AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L ◮ λ([t]∼L, a) = [at]≡L ◮ γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

/25

17 / 33 ∨

slide-78
SLIDE 78

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimization of BUDFA

Myhill-Nerode congruence

◮ Left contexts Cℓ(A): the hole has no sibling on

its left

◮ Relation on F(A): t ∼L t′ if ∀p ∈ Cℓ(A),

p · t ∈ L ⇔ p · t′ ∈ L.

◮ ≡L⊆∼L: ∼L is of finite index ◮ Restriction of ≡L on F(A) to T (A) is an

equivalence still denoted ≡L

◮ AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L ◮ λ([t]∼L, a) = [at]≡L ◮ γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

/25

17 / 33 ∨

slide-79
SLIDE 79

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimization of BUDFA

Myhill-Nerode congruence

◮ Left contexts Cℓ(A): the hole has no sibling on

its left

◮ Relation on F(A): t ∼L t′ if ∀p ∈ Cℓ(A),

p · t ∈ L ⇔ p · t′ ∈ L.

◮ ≡L⊆∼L: ∼L is of finite index ◮ Restriction of ≡L on F(A) to T (A) is an

equivalence still denoted ≡L

◮ AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L ◮ λ([t]∼L, a) = [at]≡L ◮ γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

/25

17 / 33 ∨

slide-80
SLIDE 80

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimal automaton

AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L λ([t]∼L, a) = [at]≡L, γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

Myhill-Nerode congruence

◮ t1 ∼L t2 ⇒ at1 ≡L at2:

p ∈ C(A) ⇒ p ◦ (a(∗)) ∈ Cℓ(A).

◮ t1 ∼L t′1 and t2 ≡L t′2 ⇒ t1 + t2 ∼L t′1 + t′2:

∀p ∈ Cℓ(A), since p ◦ ✐♥R(t2) ∈ Cℓ(A): (p ◦ ✐♥R(t2)) · t1 ∈ L ⇔ (p ◦ ✐♥R(t2)) · t′1 ∈ L p · (t1 + t2) ∈ L ⇔ p · (t′1 + t2) ∈ L

/25

18 / 33 ∨

slide-81
SLIDE 81

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimal automaton

AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L λ([t]∼L, a) = [at]≡L, γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

Myhill-Nerode congruence

◮ t1 ∼L t2 ⇒ at1 ≡L at2:

p ∈ C(A) ⇒ p ◦ (a(∗)) ∈ Cℓ(A).

◮ t1 ∼L t′1 and t2 ≡L t′2 ⇒ t1 + t2 ∼L t′1 + t′2:

∀p ∈ Cℓ(A), since p ◦ ✐♥R(t2) ∈ Cℓ(A): (p ◦ ✐♥R(t2)) · t1 ∈ L ⇔ (p ◦ ✐♥R(t2)) · t′1 ∈ L p · (t1 + t2) ∈ L ⇔ p · (t′1 + t2) ∈ L

/25

18 / 33 ∨

slide-82
SLIDE 82

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimal automaton

AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L λ([t]∼L, a) = [at]≡L, γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

Minimality proof

Ts = {t ∈ F(A) | tA = s} ⊆ F(A) Tq = {at ∈ F(A) | λ(tA, a) = q} ⊆ T (A)

◮ If ts, t′ s ∈ Ts then ts ∼L t′ s. ◮ If tq, t′ q ∈ Tq then tq ≡L t′ q. ◮ s → [Ts]∼L, q → [Tq]≡L defines a surjective

morphism from A = S, s0, Q, γ, λ, F to AL

◮ s0 is mapped to [0]∼L ◮ F is mapped to [L]≡L

/25

19 / 33 ∨

slide-83
SLIDE 83

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimal automaton

AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L λ([t]∼L, a) = [at]≡L, γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

Minimality proof

Ts = {t ∈ F(A) | tA = s} ⊆ F(A) Tq = {at ∈ F(A) | λ(tA, a) = q} ⊆ T (A)

◮ If ts, t′ s ∈ Ts then ts ∼L t′ s. ◮ If tq, t′ q ∈ Tq then tq ≡L t′ q. ◮ s → [Ts]∼L, q → [Tq]≡L defines a surjective

morphism from A = S, s0, Q, γ, λ, F to AL

◮ s0 is mapped to [0]∼L ◮ F is mapped to [L]≡L

/25

19 / 33 ∨

slide-84
SLIDE 84

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimal automaton

AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L λ([t]∼L, a) = [at]≡L, γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

Minimality proof

Ts = {t ∈ F(A) | tA = s} ⊆ F(A) Tq = {at ∈ F(A) | λ(tA, a) = q} ⊆ T (A)

◮ If ts, t′ s ∈ Ts then ts ∼L t′ s. ◮ If tq, t′ q ∈ Tq then tq ≡L t′ q. ◮ s → [Ts]∼L, q → [Tq]≡L defines a surjective

morphism from A = S, s0, Q, γ, λ, F to AL

◮ s0 is mapped to [0]∼L ◮ F is mapped to [L]≡L

/25

19 / 33 ∨

slide-85
SLIDE 85

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimal automaton

AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L λ([t]∼L, a) = [at]≡L, γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

Minimality proof

Ts = {t ∈ F(A) | tA = s} ⊆ F(A) Tq = {at ∈ F(A) | λ(tA, a) = q} ⊆ T (A)

◮ If ts, t′ s ∈ Ts then ts ∼L t′ s. ◮ If tq, t′ q ∈ Tq then tq ≡L t′ q. ◮ s → [Ts]∼L, q → [Tq]≡L defines a surjective

morphism from A = S, s0, Q, γ, λ, F to AL

◮ s0 is mapped to [0]∼L ◮ F is mapped to [L]≡L

/25

19 / 33 ∨

slide-86
SLIDE 86

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimal automaton

AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L λ([t]∼L, a) = [at]≡L, γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

Minimality proof

Ts = {t ∈ F(A) | tA = s} ⊆ F(A) Tq = {at ∈ F(A) | λ(tA, a) = q} ⊆ T (A)

◮ If ts, t′ s ∈ Ts then ts ∼L t′ s. ◮ If tq, t′ q ∈ Tq then tq ≡L t′ q. ◮ s → [Ts]∼L, q → [Tq]≡L defines a surjective

morphism from A = S, s0, Q, γ, λ, F to AL

◮ s0 is mapped to [0]∼L ◮ F is mapped to [L]≡L

/25

19 / 33 ∨

slide-87
SLIDE 87

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimal automaton

AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L λ([t]∼L, a) = [at]≡L, γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

Transition forest algebra

◮ γt instead of γ[t]≡L if t ∈ T (A) ◮ γat instead of γλ(γt([0]∼L),a) ◮ γt1 ∗ γt2 = γt1+t2 ◮ [t1]≡L = [t2]≡L ⇐

⇒ γt1 = γt2

◮ va : γs → γas, v✐♥L(t) : γs → γt+s,v✐♥R(t) : γs → γs+t ◮ If p ∈ C(A), vp is defined on the

decomposition of p using a(∗),✐♥R(t), ✐♥L(t)

◮ ∀t ∈ F(A), p ∈ C(A), γp·t = vp(γt) ◮ [p1]≡L = [p2]≡L ⇐

⇒ vp1 = vp2

/25

20 / 33 ∨

slide-88
SLIDE 88

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimal automaton

AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L λ([t]∼L, a) = [at]≡L, γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

Transition forest algebra

◮ γt instead of γ[t]≡L if t ∈ T (A) ◮ γat instead of γλ(γt([0]∼L),a) ◮ γt1 ∗ γt2 = γt1+t2 ◮ [t1]≡L = [t2]≡L ⇐

⇒ γt1 = γt2

◮ va : γs → γas, v✐♥L(t) : γs → γt+s,v✐♥R(t) : γs → γs+t ◮ If p ∈ C(A), vp is defined on the

decomposition of p using a(∗),✐♥R(t), ✐♥L(t)

◮ ∀t ∈ F(A), p ∈ C(A), γp·t = vp(γt) ◮ [p1]≡L = [p2]≡L ⇐

⇒ vp1 = vp2

/25

20 / 33 ∨

slide-89
SLIDE 89

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimal automaton

AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L λ([t]∼L, a) = [at]≡L, γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

Transition forest algebra

◮ γt instead of γ[t]≡L if t ∈ T (A) ◮ γat instead of γλ(γt([0]∼L),a) ◮ γt1 ∗ γt2 = γt1+t2 ◮ [t1]≡L = [t2]≡L ⇐

⇒ γt1 = γt2

◮ va : γs → γas, v✐♥L(t) : γs → γt+s,v✐♥R(t) : γs → γs+t ◮ If p ∈ C(A), vp is defined on the

decomposition of p using a(∗),✐♥R(t), ✐♥L(t)

◮ ∀t ∈ F(A), p ∈ C(A), γp·t = vp(γt) ◮ [p1]≡L = [p2]≡L ⇐

⇒ vp1 = vp2

/25

20 / 33 ∨

slide-90
SLIDE 90

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimal automaton

AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L λ([t]∼L, a) = [at]≡L, γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

Transition forest algebra

◮ γt instead of γ[t]≡L if t ∈ T (A) ◮ γat instead of γλ(γt([0]∼L),a) ◮ γt1 ∗ γt2 = γt1+t2 ◮ [t1]≡L = [t2]≡L ⇐

⇒ γt1 = γt2

◮ va : γs → γas, v✐♥L(t) : γs → γt+s,v✐♥R(t) : γs → γs+t ◮ If p ∈ C(A), vp is defined on the

decomposition of p using a(∗),✐♥R(t), ✐♥L(t)

◮ ∀t ∈ F(A), p ∈ C(A), γp·t = vp(γt) ◮ [p1]≡L = [p2]≡L ⇐

⇒ vp1 = vp2

/25

20 / 33 ∨

slide-91
SLIDE 91

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimal automaton

AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L λ([t]∼L, a) = [at]≡L, γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

Transition forest algebra

◮ γt instead of γ[t]≡L if t ∈ T (A) ◮ γat instead of γλ(γt([0]∼L),a) ◮ γt1 ∗ γt2 = γt1+t2 ◮ [t1]≡L = [t2]≡L ⇐

⇒ γt1 = γt2

◮ va : γs → γas, v✐♥L(t) : γs → γt+s,v✐♥R(t) : γs → γs+t ◮ If p ∈ C(A), vp is defined on the

decomposition of p using a(∗),✐♥R(t), ✐♥L(t)

◮ ∀t ∈ F(A), p ∈ C(A), γp·t = vp(γt) ◮ [p1]≡L = [p2]≡L ⇐

⇒ vp1 = vp2

/25

20 / 33 ∨

slide-92
SLIDE 92

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimal automaton

AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L λ([t]∼L, a) = [at]≡L, γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

Transition forest algebra

◮ γt instead of γ[t]≡L if t ∈ T (A) ◮ γat instead of γλ(γt([0]∼L),a) ◮ γt1 ∗ γt2 = γt1+t2 ◮ [t1]≡L = [t2]≡L ⇐

⇒ γt1 = γt2

◮ va : γs → γas, v✐♥L(t) : γs → γt+s,v✐♥R(t) : γs → γs+t ◮ If p ∈ C(A), vp is defined on the

decomposition of p using a(∗),✐♥R(t), ✐♥L(t)

◮ ∀t ∈ F(A), p ∈ C(A), γp·t = vp(γt) ◮ [p1]≡L = [p2]≡L ⇐

⇒ vp1 = vp2

/25

20 / 33 ∨

slide-93
SLIDE 93

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimal automaton

AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L λ([t]∼L, a) = [at]≡L, γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

Transition forest algebra

◮ γt instead of γ[t]≡L if t ∈ T (A) ◮ γat instead of γλ(γt([0]∼L),a) ◮ γt1 ∗ γt2 = γt1+t2 ◮ [t1]≡L = [t2]≡L ⇐

⇒ γt1 = γt2

◮ va : γs → γas, v✐♥L(t) : γs → γt+s,v✐♥R(t) : γs → γs+t ◮ If p ∈ C(A), vp is defined on the

decomposition of p using a(∗),✐♥R(t), ✐♥L(t)

◮ ∀t ∈ F(A), p ∈ C(A), γp·t = vp(γt) ◮ [p1]≡L = [p2]≡L ⇐

⇒ vp1 = vp2

/25

20 / 33 ∨

slide-94
SLIDE 94

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Minimal automaton

AL = F(A)/∼L, T (A)/≡L, [0]∼L, γ, λ, [L]∼L λ([t]∼L, a) = [at]≡L, γ([t1]∼L, [t2]≡L) = [t1 + t2]∼L

Transition forest algebra

◮ γt instead of γ[t]≡L if t ∈ T (A) ◮ γat instead of γλ(γt([0]∼L),a) ◮ γt1 ∗ γt2 = γt1+t2 ◮ [t1]≡L = [t2]≡L ⇐

⇒ γt1 = γt2

◮ va : γs → γas, v✐♥L(t) : γs → γt+s,v✐♥R(t) : γs → γs+t ◮ If p ∈ C(A), vp is defined on the

decomposition of p using a(∗),✐♥R(t), ✐♥L(t)

◮ ∀t ∈ F(A), p ∈ C(A), γp·t = vp(γt) ◮ [p1]≡L = [p2]≡L ⇐

⇒ vp1 = vp2

/25

20 / 33 ∨

slide-95
SLIDE 95

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Theorem

Every recognizable forest language is accepted by an unique (up to isomorphism) BUDFA whose transition forest algebra is equal to the syntactic forest algebra of the language.

Corollary

Every forest algebra has a canonical representation in which the vertical monoid is a transformation monoid over the horizontal monoid and the action is function application.

Remark

If A is a BUDFA such that |S| = n, |V| ≤ n2n(1 + nn2) In other words, |V L| = O(|HL|❞✐♠(HL)), a much lower bound than the expected |HL||HL|

/25

21 / 33 ∨

slide-96
SLIDE 96

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Theorem

Every recognizable forest language is accepted by an unique (up to isomorphism) BUDFA whose transition forest algebra is equal to the syntactic forest algebra of the language.

Corollary

Every forest algebra has a canonical representation in which the vertical monoid is a transformation monoid over the horizontal monoid and the action is function application.

Remark

If A is a BUDFA such that |S| = n, |V| ≤ n2n(1 + nn2) In other words, |V L| = O(|HL|❞✐♠(HL)), a much lower bound than the expected |HL||HL|

/25

21 / 33 ∨

slide-97
SLIDE 97

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Theorem

Every recognizable forest language is accepted by an unique (up to isomorphism) BUDFA whose transition forest algebra is equal to the syntactic forest algebra of the language.

Corollary

Every forest algebra has a canonical representation in which the vertical monoid is a transformation monoid over the horizontal monoid and the action is function application.

Remark

If A is a BUDFA such that |S| = n, |V| ≤ n2n(1 + nn2) In other words, |V L| = O(|HL|❞✐♠(HL)), a much lower bound than the expected |HL||HL|

/25

21 / 33 ∨

slide-98
SLIDE 98

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Logical characterization

FO[N, C]

ϕ ::= x = y | N(x, y) | C(x, y) | La(x), a ∈ A | ϕ ∧ ϕ | ¬ϕ | ∃xϕ

◮ Forest over A: P♦s(t) ⊆ N∗ → A ◮ Domain of interpretation I is N∗ ◮ ∀p, p′ ∈ N∗, NI(p, p′) ⇔ ∃p′′ ∈ N∗, ∃i ∈ N, p =

p′′ · i ∧ p′ = p′′ · (i + 1)

◮ ∀p, p′ ∈ N∗, CI(p, p′) ⇔ ∃i ∈ N, p = p′ · i ◮ V-forests: forests over A × 2V given V finite set

  • f first-order variables

◮ {(ai, Ui), i ≤ n} set of labels in t:

∀i = j, Ui ∩ Uj = ∅ and

i≤n Ui = V

/25

22 / 33 ∨

slide-99
SLIDE 99

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Model using V-forests

◮ t |

=I La(x) if and only if ∃p ∈ P♦s(t), t(p) = (a, U) with x ∈ U.

◮ If P is a binary predicate, t |

=I P(x, y) if and

  • nly if PI(px, py), where px is the position such

that t(px) = (ai, Ui) with x ∈ Ui.

◮ t |

=I ϕ1 ∧ ϕ2 if and only if t | =I ϕ1 and t | =I ϕ2.

◮ t |

=I ¬ϕ if and only if t | =I ϕ.

◮ t |

=I ∃xϕ if and only if ∃i ≤ n, ti | =I ϕ where ti is the V ∪ {x}-forest obtained by replacing the label (ai, Ui) in t by (ai, Ui ∪ {x}).

/25

23 / 33 ∨

slide-100
SLIDE 100

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

MSO[N, C]

Φ ::= ϕ ∈ FO[N, C] | X(x) | ∃XΦ

◮ (V, W)-forests over A × 2V × 2W ◮ Restriction to labels in A × 2V is a V-forest ◮ W is a finite set of second-order variables ◮ t |

=I ϕ ∈ FO[N, C] if and only if the restriction

  • f t to labels in A × 2V is a model of ϕ.

◮ t |

=I X(x) ⇔ ∃p ∈ P♦s(t) such that t(p) = (ai, Vi, Wi) with x ∈ Vi and X ∈ Wi

◮ t |

=I ∃XΦ ⇔ ∃P ⊆ P♦s(t) such that the (V, W ∪ {X})-forest obtained by replacing all labels t(p) = (ap, Vp, Wp) for p ∈ P by (ap, Vp, Wp ∪ {X}) satisfies Φ

/25

24 / 33 ∨

slide-101
SLIDE 101

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

From MSO[N, C] to BUNFA

◮ Φ = La(x): a BUDFA with 2 horizontal and 2

vertical states can easily test if there is a label (a, V, W) with x ∈ V. The intersection with Av for V-forests accepts LΦ

◮ Cases Φ = N(x, y), Φ = C(x, y), Φ = (x = y)

and Φ = X(x) are easy

◮ Cases Φ = Φ1 ∧ Φ2, Φ = ¬Ψ: intersection

construction and final state complementation

◮ Cases Φ = ∃xΨ and Φ = ∃X, Ψ require the

construction of a BUNFA, but it can be minimized at each inductive step.

/25

25 / 33 ∨

slide-102
SLIDE 102

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Implementation of BUDFA

The ❢♦r❡st❛❧❣ GAP package

We implemented support for forest algebras and BUDFA in GAP, a formal computational discrete algebra system.

◮ Accepts BUDFA, BUNFA, forest algebras as

input

◮ Offers determinization, trimming, minimization,

intersection and union, computation of the transition forest algebras

◮ Can compute and draw Green’s relations on

the horizontal and vertical monoids and the Cayley graphs

◮ Can draw automata and their algebraic

representation

/25

26 / 33 ∨

slide-103
SLIDE 103

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Implementation of BUDFA

The ❢♦r❡st❛❧❣ GAP package

We implemented support for forest algebras and BUDFA in GAP, a formal computational discrete algebra system.

◮ Accepts BUDFA, BUNFA, forest algebras as

input

◮ Offers determinization, trimming, minimization,

intersection and union, computation of the transition forest algebras

◮ Can compute and draw Green’s relations on

the horizontal and vertical monoids and the Cayley graphs

◮ Can draw automata and their algebraic

representation

/25

26 / 33 ∨

slide-104
SLIDE 104

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Implementation of BUDFA

The ❢♦r❡st❛❧❣ GAP package

We implemented support for forest algebras and BUDFA in GAP, a formal computational discrete algebra system.

◮ Accepts BUDFA, BUNFA, forest algebras as

input

◮ Offers determinization, trimming, minimization,

intersection and union, computation of the transition forest algebras

◮ Can compute and draw Green’s relations on

the horizontal and vertical monoids and the Cayley graphs

◮ Can draw automata and their algebraic

representation

/25

26 / 33 ∨

slide-105
SLIDE 105

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Implementation of BUDFA

The ❢♦r❡st❛❧❣ GAP package

We implemented support for forest algebras and BUDFA in GAP, a formal computational discrete algebra system.

◮ Accepts BUDFA, BUNFA, forest algebras as

input

◮ Offers determinization, trimming, minimization,

intersection and union, computation of the transition forest algebras

◮ Can compute and draw Green’s relations on

the horizontal and vertical monoids and the Cayley graphs

◮ Can draw automata and their algebraic

representation

/25

26 / 33 ∨

slide-106
SLIDE 106

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Theorem

The minimal BUDFA of A can be computed in O(|A| log |A|)

Generalized Hopcroft algorithm

1: ∼:= {F, Fc} ⊎ {Q} 2: while ∃(C, x) with C ∈∼ and x ∈ S ⊎ Q ⊎ A such

that obj(C, x, ∼) = ∅ do

3:

for all B ∈ obj(C, x, ∼) do

4:

Replace B with B(C,x) and B(C,x) in ∼

5:

end for

6: end while

/25

27 / 33 ∨

slide-107
SLIDE 107

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Drawing automata and forests

❣❛♣❃ ❆ ✿❂ ❊①✐stsP❛t❤■♥▲❛♥❣✉❛❣❡❆✉t♦♠❛t♦♥✭❘❛t✐♦♥❛❧❊①♣r❡ss✐♦♥✭✧❛❜✯❛✧✮✱tr✉❡✮❀ ❁❋♦r❡st ❛✉t♦♠❛t♦♥ ♦♥ ④❛❜⑥❃❁ ❞❡t❡r♠✐♥✐st✐❝ ❛✉t♦♠❛t♦♥ ♦♥ ✺ ❧❡tt❡rs ✇✐t❤ ✽ st❛t❡s ❃ ❣❛♣❃ ❆ ✿❂ ❊①✐stsP❛t❤■♥▲❛♥❣✉❛❣❡❆✉t♦♠❛t♦♥✭❘❛t✐♦♥❛❧❊①♣r❡ss✐♦♥✭✧❛❜✯❛✧✮✱tr✉❡✮❀ ❁❋♦r❡st ❛✉t♦♠❛t♦♥ ♦♥ ④❛❜⑥❃❁ ❞❡t❡r♠✐♥✐st✐❝ ❛✉t♦♠❛t♦♥ ♦♥ ✸ ❧❡tt❡rs ✇✐t❤ ✺ st❛t❡s ❃ ❣❛♣❃ ❢ ✿❂ ❋♦r❡st✭✧❜❛✰❛✭❛❜✰❜❜✭❜✰❛✮✰❜✮✧✮❀❀ ❣❛♣❃ ❋♦r❡st❆✉t♦♠❛t♦♥❆❝❝❡♣ts✭❆✱ ❢✮❀ tr✉❡ ❣❛♣❃ ❉r❛✇❋♦r❡st✭❢✮❀❀ ❉r❛✇❋♦r❡st❆✉t♦♠❛t♦♥✭❆✮❀❀ 1 a : 1 b : 3 2 a : 2 b : 1 1 3 a : 3 b : 3 2 5 a : 3 b : 3 3 1,3 4 a : 2 b : 1 2 2,3 1 1 2 3 1,2,3 b a a a b b b b b a

/25

28 / 33 ∨

slide-108
SLIDE 108

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Drawing the algebraic automaton

❣❛♣❃ ❉r❛✇❋♦r❡st❆✉t♦♠❛t♦♥❆❝t✐♦♥✭❆✮❀❀

1

1,4

b 3

2,3

2 a b

1,2,3,4

a

1,3 2,4

4 a,b

1 3 2

a,b

4

/25

29 / 33 ∨

slide-109
SLIDE 109

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Drawing Cayley graphs

❣❛♣❃ ❍❱ ✿❂ ❙②♥t❛❝t✐❝❋♦r❡st❆❧❣❡❜r❛✭❆✮❀ ❁❍ ❤❛s ✸ ❣❡♥❡r❛t♦rs ❛♥❞ ✹ ❡❧❡♠❡♥ts✱ ❱ ❤❛s ✺ ❣❡♥❡r❛t♦rs❃ ❣❛♣❃ ❉r❛✇❈❛②❧❡②●r❛♣❤✭❋♦r❡st❍♦r✐③♦♥t❛❧▼♦♥♦✐❞✭❍❱✮✮❀❀ ❣❛♣❃ ❉r❛✇❈❛②❧❡②●r❛♣❤✭❋♦r❡st❱❡rt✐❝❛❧▼♦♥♦✐❞✭❍❱✮✮❀❀

1 a 3 b a b 2 a b 4 a b 1 a b 5 c 9 d d a 10 b c b c a d 2 3 a 4 b 6 c 8 d b c d a a b c d d b c 7 a a b c d a d b c b c d a

/25

30 / 33 ∨

slide-110
SLIDE 110

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Drawing Green’s relations

❣❛♣❃ ❉r❛✇❉❈❧❛ss❡s✭❋♦r❡st❍♦r✐③♦♥t❛❧▼♦♥♦✐❞✭❍❱✮✮❀❀ ❣❛♣❃ ❉r❛✇❉❈❧❛ss❡s✭❋♦r❡st❱❡rt✐❝❛❧▼♦♥♦✐❞✭❍❱✮✮❀❀

*0 *a *b *1 *ab *ac *ad *c^2 ca *a *b *d c *1

/25

31 / 33 ∨

slide-111
SLIDE 111

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Conclusion and perspectives

Summary of our results

◮ A robust and simple automaton model for

forest algebras

◮ An implementation of this model for the study

  • f algebraic properties of forest languages

◮ A loglinear minimization algorithm for BUDFA

and other automaton models on unranked trees

◮ An afficient way to compute the syntactic

forest algebra of a logical sentence

/25

32 / 33 ∨

slide-112
SLIDE 112

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Conclusion and perspectives

Summary of our results

◮ A robust and simple automaton model for

forest algebras

◮ An implementation of this model for the study

  • f algebraic properties of forest languages

◮ A loglinear minimization algorithm for BUDFA

and other automaton models on unranked trees

◮ An afficient way to compute the syntactic

forest algebra of a logical sentence

/25

32 / 33 ∨

slide-113
SLIDE 113

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Conclusion and perspectives

Summary of our results

◮ A robust and simple automaton model for

forest algebras

◮ An implementation of this model for the study

  • f algebraic properties of forest languages

◮ A loglinear minimization algorithm for BUDFA

and other automaton models on unranked trees

◮ An afficient way to compute the syntactic

forest algebra of a logical sentence

/25

32 / 33 ∨

slide-114
SLIDE 114

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Conclusion and perspectives

Summary of our results

◮ A robust and simple automaton model for

forest algebras

◮ An implementation of this model for the study

  • f algebraic properties of forest languages

◮ A loglinear minimization algorithm for BUDFA

and other automaton models on unranked trees

◮ An afficient way to compute the syntactic

forest algebra of a logical sentence

/25

32 / 33 ∨

slide-115
SLIDE 115

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Further research

◮ Word languages: FO[<]-definability ⇔

aperiodicity ⇔ wreath product of U2

◮ Right generalization of aperiodicity in forest

algebras?

◮ A Krohn-Rhodes theorem for trees:

decomposition of forest algebras into wreath products

/25

33 / 33 ∨

slide-116
SLIDE 116

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Further research

◮ Word languages: FO[<]-definability ⇔

aperiodicity ⇔ wreath product of U2

◮ Right generalization of aperiodicity in forest

algebras?

◮ A Krohn-Rhodes theorem for trees:

decomposition of forest algebras into wreath products

/25

33 / 33 ∨

slide-117
SLIDE 117

An automaton model for forest algebras. Antoine Delignat-Lavaud Internship conditions Goals and context Forest algebras Forest automata

Algebraic model Bottom-up deterministic forest automata Transition forest algebra Minimization Syntactic forest algebra Monadic second order logic

Implementation of BUDFA

Efficient minimization Examples

Conclusion and perspectives

Further research

◮ Word languages: FO[<]-definability ⇔

aperiodicity ⇔ wreath product of U2

◮ Right generalization of aperiodicity in forest

algebras?

◮ A Krohn-Rhodes theorem for trees:

decomposition of forest algebras into wreath products

/25

33 / 33 ∨