Language-parameterized proofs can express proofs of language properties in a way that does not apply just to one language but, rather, to a class of languages. \(\textsc {Lang-n-Prove}\) is a tool that takes a language-parameterized proof and a language definition as input and produces proofs for the Abella proof assistant. When a language-parameterized proof is incorrect, the tool blames a proof instruction in the Abella code, but that is not helpful for the user. In this paper, we develop a debugging system that not only indicates the proof instruction that failed in the original language-parameterized proof, but also strives to describe the context in which such proof instruction has failed. We have implemented our debugger within the \(\textsc {Lang-n-Prove}\) tool, and we illustrate its application to several examples of debugging scenarios. Ultimately, our debugging system offers informative error messages.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

A Debugging System for Language-Parameterized Proofs

  • Charlesowityear Ly,
  • Eswarasanthosh Kumar Mamillapalli,
  • Matteo Cimini

摘要

Language-parameterized proofs can express proofs of language properties in a way that does not apply just to one language but, rather, to a class of languages. \(\textsc {Lang-n-Prove}\) is a tool that takes a language-parameterized proof and a language definition as input and produces proofs for the Abella proof assistant. When a language-parameterized proof is incorrect, the tool blames a proof instruction in the Abella code, but that is not helpful for the user. In this paper, we develop a debugging system that not only indicates the proof instruction that failed in the original language-parameterized proof, but also strives to describe the context in which such proof instruction has failed. We have implemented our debugger within the \(\textsc {Lang-n-Prove}\) tool, and we illustrate its application to several examples of debugging scenarios. Ultimately, our debugging system offers informative error messages.