Skip to content

Conversation

@ctchou
Copy link
Contributor

@ctchou ctchou commented Nov 3, 2025

This patch ports automata theory to an unbundled design, building on top of #141. The main changes are:

  • Finite-ness assumptions are removed. There are no more DFA, NFA, and EpsilonNFA. In their stead, the theory works with DA, NA, and EpsilonNA directly.
  • Acceptance conditions are separated out into the file Accept.lean and are made orthogonal to automata proper (DA and NA).
  • Buchi and Muller acceptance conditions are introduced to illustrate the last point, though no theorems about them have been proved.
  • All previous results in automata theory (the equivalence between DA and NA on finite words, the closure properties of regular languages under boolean operations, etc) are ported to the new design.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants