lambdaclass / lambdaclass/lambda_compiler_kit

style: proof style improvements in RegexSpec.lean

Open
#24 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Lean
Stars
2
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Items

Low-priority style items flagged by AI code review on PR #9.

1. Unused dr binding in regex_match_sound

regex_match_sound destructs the regex_match_correct result with obtain ⟨ast, _, h_parse, _, h_match⟩ — the _ discarding dr is fine. However, a comment noting why dr is intentionally discarded (we only need the AST-level match) would help readers understand the relationship.

2. Fragile DecidableEq instance comparison

Some proof branches use pattern matching on DecidableEq results that could be made more robust with cases, simp, and Subsingleton.elim to avoid depending on instance resolution order.

3. Specialized lemmas that could use general ones

Some lemmas in the Glushkov submodule have specialized proofs for things that general mathlib lemmas already cover. Replace with calls to general lemmas from Matcher.lean.

References

  • Flagged by AI code review on PR #9

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read RegexSpec.lean, starting with regex_match_sound and the Glushkov proofs, then compare the specialized lemmas with the general lemmas in Matcher.lean. Review the DecidableEq branches and the discarded dr binding; done means the comments, robust proof cases, and general-lemma reuse are applied without changing proof behavior.

Written by the indexing model from the issue text.

Assessment

Domain
compilers
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.