Lax314295.MSODefinableOfRegular
Regular languages are MSO-definable
concepts/Lax314295/MSODefinableOfRegular.lean · lax-314295
No public endorsements yet.
Loading review…
Sign in with ORCIDConcept map
In the paper
- page 118 of the paper of lax-157538, Transducers
Theorem
Every regular language is definable in monadic second-order logic (Theorem C.4.1 of Transducers, Büchi–Elgot–Trakhtenbrot, the implication from regular to definable). The formula guesses the run of a deterministic automaton on the input as one set variable per state, and checks that the sets partition the positions, that the first position carries the initial state's successor, that consecutive positions follow the transition function, and that the last position leads to an accepting state.
Lean source view on GitHub
| 1 | import Lax314295.MSOLogic |
| 2 | |
| 3 | /-! |
| 4 | --- |
| 5 | title: Regular languages are MSO-definable |
| 6 | type: theorem |
| 7 | --- |
| 8 | Every regular language is definable in monadic second-order logic (Theorem |
| 9 | C.4.1 of *Transducers*, Büchi–Elgot–Trakhtenbrot, the implication from regular |
| 10 | to definable). The formula guesses the run of a deterministic automaton on the |
| 11 | input as one set variable per state, and checks that the sets partition the |
| 12 | positions, that the first position carries the initial state's successor, that |
| 13 | consecutive positions follow the transition function, and that the last |
| 14 | position leads to an accepting state. |
| 15 | |
| 16 | # Formalization notes |
| 17 | |
| 18 | The alphabet is assumed finite, as in the book. |
| 19 | -/ |
| 20 | |
| 21 | namespace Lax314295.MSODefinableOfRegular |
| 22 | |
| 23 | open Lax314295.MSOLogic |
| 24 | |
| 25 | /-- A regular language is definable in mso. -/ |
| 26 | axiom msoDefinable_of_isRegular {A : Type} [Finite A] {L : Language A} (hL : L.IsRegular) : |
| 27 | MSODefinable L |
| 28 | |
| 29 | end Lax314295.MSODefinableOfRegular |
| 30 |
Formalization notes
The alphabet is assumed finite, as in the book.
Community review
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above; your ORCID profile must share a public name.
0 comments