lambdaclass / lambdaclass/lambda_compiler_kit
proof: add bridge theorem connecting search-mode Matches dr.toRegex to MatchesSubstring ast
Nessuno ha ancora preso questa issue.
- Lingua principale
- Lean
- Stelle
- 2
- Fork
- 1
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Problem
regex_search_correct in Lck/Regex/RegexSpec.lean states correctness in terms of Matches dr.toRegex input (the desugared form) rather than MatchesSubstring ast input (the original AST).
The full-match variant has desugar_fullMatch_semantics for this bridge, but search mode does not.
Goal
Prove a theorem of the form:
theorem regex_search_ast_correct (pattern input : String) :
Regex.search pattern input = .ok true ↔
(∃ ast, parse pattern = .ok ast ∧ MatchesSubstring ast input)
This requires connecting the .*-wrapped desugared form back to MatchesSubstring.
References
Raised in AI code review.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia in Lck/Regex/RegexSpec.lean leggendo regex_search_correct e il bridge esistente desugar_fullMatch_semantics. Traccia il modo in cui il wrapping .* mette in relazione Matches dr.toRegex con MatchesSubstring ast, quindi dimostra l’equivalenza regex_search_ast_correct indicata. Il lavoro è terminato quando il teorema compila e collega i risultati della modalità di ricerca alla semantica originale dell’AST.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Ambito
- compilers
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100