Skip to content

feat(Computability): language-preserving maps between NFA and RE#15654

Open
TpmKranz wants to merge 5 commits intomasterfrom
TpmKranz/REiffNFA
Open

feat(Computability): language-preserving maps between NFA and RE#15654
TpmKranz wants to merge 5 commits intomasterfrom
TpmKranz/REiffNFA

Conversation

@TpmKranz
Copy link
Copy Markdown
Collaborator

@TpmKranz TpmKranz commented Aug 9, 2024

Map REs to NFAs via Thompson's construction and NFAs to REs using GNFAs

Last chunk of #12648


@github-actions github-actions bot added the new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! label Aug 9, 2024
@github-actions
Copy link
Copy Markdown

github-actions bot commented Aug 9, 2024

PR summary 3b6ce828b6

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.Computability.RegularExpressions 496 626 +130 (+26.21%)
Import changes for all files
Files Import difference
Mathlib.Computability.RegularExpressions 130
Mathlib.Data.FinEnum.Option 427
Mathlib.Computability.GNFA 627

Declarations diff

+ GNFA
+ accepts
+ char
+ charDecidableAccept
+ charDecidableStart
+ charDecidableStep
+ char_correct
+ decidableAccept
+ decidableAux
+ decidableStart
+ decidableStep
+ evalFrom_append
+ evalFrom_subset
+ exists_regularexpression
+ haddDecidableAccept
+ haddDecidableStart
+ haddDecidableStep
+ hadd_correct
+ hmulDecidableAccept
+ hmulDecidableStart
+ hmulDecidableStep
+ hmul_correct
+ hmul_eval₁
+ hmul_eval₂
+ instFinEnumOption
+ instance : HAdd (NFA α σ) (NFA α σ') (NFA α (σ ⊕ σ'))
+ instance : HMul (NFA α σ) (NFA α σ') (NFA α (σ ⊕ σ'))
+ instance : Inhabited (GNFA α σ)
+ instance : One (NFA α σ)
+ instance : Zero (NFA α σ)
+ instance {r : RegularExpression α} : Inhabited r.State
+ kstar
+ kstarDecidableAccept
+ kstarDecidableStart
+ kstarDecidableStep
+ kstar_correct
+ kstar_eval
+ kstar_eval_aux
+ mapEquiv
+ mapEquiv_spec
+ mapEquiv_spec_mpr
+ mapEquiv_trace_aux
+ mapEquiv_trace_equiv_eq_trace
+ matches'_sum
+ mem_sum
+ oneDecidableAccept
+ oneDecidableStart
+ oneDecidableStep
+ one_correct
+ rec'
+ rec'_char
+ rec'_comp
+ rec'_epsilon
+ rec'_plus
+ rec'_star
+ rec'_zero
+ recEmptyOption
+ recOnEmptyOption
+ rip
+ rip_spec
+ rip_trace_aux
+ rip_trace_eq_trace_some
+ toGNFA
+ toNFAStateCard
+ toNFAStateCard_pos
+ toNFAStateFinEnum
+ toNFAX
+ toNFA_spec
+ toRegularExpression
+ toRegularExpressionX
+ toRegularExpression_spec
+ trace
+ zeroDecidableAccept
+ zeroDecidableStart
+ zeroDecidableStep
+ zero_correct

You can run this locally as follows
## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>

The doc-module for script/declarations_diff.sh contains some details about this script.

@ghost
Copy link
Copy Markdown

ghost commented Aug 9, 2024

@ghost ghost added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Aug 9, 2024
@joneugster joneugster added the t-computability Computability theory (TMs, DFAs, languages, grammars, etc) label Aug 14, 2024
@leanprover-community-bot-assistant leanprover-community-bot-assistant added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Oct 28, 2024
@meithecatte meithecatte added the awaiting-zulip There is a Zulip discussion; the author should await and report/implement the decision reached there label May 5, 2025
@meithecatte
Copy link
Copy Markdown
Collaborator

Relevant Zulip discussion: #mathlib4 > Regular languages: the review queue

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

Labels

awaiting-zulip There is a Zulip discussion; the author should await and report/implement the decision reached there blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! t-computability Computability theory (TMs, DFAs, languages, grammars, etc)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants