Skip to content

Conversation

@ctchou
Copy link
Contributor

@ctchou ctchou commented Dec 31, 2025

This patch proves that regular languages are closed under Kleene star. The proof technique is similar to the one used in PR #239 and re-uses much of the infrastructure introduce in that PR.

@ctchou
Copy link
Contributor Author

ctchou commented Jan 6, 2026

Rebase on #239.

@ctchou
Copy link
Contributor Author

ctchou commented Jan 8, 2026

Rebase on #239 again.

@ctchou
Copy link
Contributor Author

ctchou commented Jan 8, 2026

Rebase on #239.

github-merge-queue bot pushed a commit that referenced this pull request Jan 9, 2026
In this patch we prove that regular languages are closed under
concatenation, by leveraging the results already proved about the
infinite executions of the automata concatenation construction in
`NA/Concat.lean`. In order to do so, we introduce the notion of a "total
LTS", which means that the LTS has a next state for any given starting
state and label, and a "LTS.totalize" construction that converts any LTS
into a total LTS by adding a sink state and transitions from all states
to the sink state. Then the notion of "total" and the "totalize"
construction are generalized to NA. By "totalizing" NA's, we can extend
any finite execution of a NA into an infinite execution and thus re-use
the results already proved for infinite executions.

The same technique can be applied to `NA/Loop.lean` to prove that
regular languages are closed under the Kleene star; see PR
#241.
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.

3 participants