paper-with-me

홈 › Papers

Trustworthy Formal Natural Language Specifications

2023-10-05 · Colin S. Gordon, Sergey Matskevich

Interactive proof assistants are computer programs carefully constructed to check a human-designed proof of a mathematical claim with high confidence in the implementation. However, this only validates truth of a formal claim, which may have been mistranslated from a claim made in natural language. This is especially problematic when using proof assistants to formally verify the correctness of software with respect to a natural language specification. The translation from informal to formal remains a challenging, time-consuming process that is difficult to audit for correctness. This paper shows that it is possible to build support for specifications written in expressive subsets of natural language, within existing proof assistants, consistent with the principles used to establish trust and auditability in proof assistants themselves. We implement a means to provide specifications in a modularly extensible formal subset of English, and have them automatically translated into formal claims, entirely within the Lean proof assistant. Our approach is extensible (placing no permanent restrictions on grammatical structure), modular (allowing information about new words to be distributed alongside libraries), and produces proof certificates explaining how each word was interpreted and how the sentence's structure was used to compute the meaning. We apply our prototype to the translation of various English descriptions of formal specifications from a popular textbook into Lean formalizations; all can be translated correctly with a modest lexicon with only minor modifications related to lexicon size.

📄 PDF Abstract BibTeX arXiv:2310.03885

Code (0)

등록된 구현이 없습니다.

Tasks

Translation

Similar Papers 제목 키워드 기반

Doc2Spec: Synthesizing Formal Programming Specifications from Natural Language via Grammar Induction

2026-01-30 · Shihao Xia, Mengting He, Haomin Jia, Linhai Song arxiv

Ensuring that API implementations and usage comply with natural language programming rules is critical for software correctness, security, and reliability. Formal verification can provide strong guarantees but requires p…

LTLGuard: Formalizing LTL Specifications with Compact Language Models and Lightweight Symbolic Reasoning

2026-03-05 · Medina Andresel, Cristinel Mateis, Dejan Nickovic, Spyridon Kounoupidis 외 arxiv

Translating informal requirements into formal specifications is challenging due to the ambiguity and variability of natural language (NL). This challenge is particularly pronounced when relying on compact (small and medi…

Natural Language based Specification and Verification

2026-05-11 · Zhaorui Li, Chengyu Song arxiv

Recent frontier large language models (LLMs) have shown strong performance in identifying security vulnerabilities in large, mature open-source systems. As LLM-generated code becomes increasingly common, a natural goal i…

Natural Language Specifications in Proof Assistants

2022-05-16 · Colin S. Gordon, Sergey Matskevich

Interactive proof assistants are computer programs carefully constructed to check a human-designed proof of a mathematical claim with high confidence in the implementation. However, this only validates truth of a formal …

Translation

Beyond Accuracy: Evaluating Self-Consistency of Code Large Language Models with IdentityChain

2023-10-21 · Marcus J. Min, Yangruibo Ding, Luca Buratti, Saurabh Pujar 외

Code Large Language Models (Code LLMs) are being increasingly employed in real-life applications, so evaluating them is critical. While the conventional accuracy evaluates the performance of Code LLMs on a set of individ…

Code GenerationCode Summarization