lambdaclass / lambdaclass/lambda_compiler_kit

proof: add bridge theorem connecting search-mode Matches dr.toRegex to MatchesSubstring ast

Aperta
#16 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. 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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.