{"title":"架起电子图表中精益表达语法与语义的桥梁","authors":"Marcus Rossel, Andrés Goens","doi":"arxiv-2405.10188","DOIUrl":null,"url":null,"abstract":"Interactive theorem provers, like Isabelle/HOL, Coq and Lean, have expressive\nlanguages that allow the formalization of general mathematical objects and\nproofs. In this context, an important goal is to reduce the time and effort\nneeded to prove theorems. A significant means of achieving this is by improving\nproof automation. We have implemented an early prototype of proof automation\nfor equational reasoning in Lean by using equality saturation. To achieve this,\nwe need to bridge the gap between Lean's expression semantics and the\nsyntactically driven e-graphs in equality saturation. This involves handling\nbound variables, implicit typing, as well as Lean's definitional equality,\nwhich is more general than syntactic equality and involves notions like\n$\\alpha$-equivalence, $\\beta$-reduction, and $\\eta$-reduction. In this extended\nabstract, we highlight how we attempt to bridge this gap, and which challenges\nremain to be solved. Notably, while our techniques are partially unsound, the\nresulting proof automation remains sound by virtue of Lean's proof checking.","PeriodicalId":501033,"journal":{"name":"arXiv - CS - Symbolic Computation","volume":"18 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Bridging Syntax and Semantics of Lean Expressions in E-Graphs\",\"authors\":\"Marcus Rossel, Andrés Goens\",\"doi\":\"arxiv-2405.10188\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Interactive theorem provers, like Isabelle/HOL, Coq and Lean, have expressive\\nlanguages that allow the formalization of general mathematical objects and\\nproofs. In this context, an important goal is to reduce the time and effort\\nneeded to prove theorems. A significant means of achieving this is by improving\\nproof automation. We have implemented an early prototype of proof automation\\nfor equational reasoning in Lean by using equality saturation. To achieve this,\\nwe need to bridge the gap between Lean's expression semantics and the\\nsyntactically driven e-graphs in equality saturation. This involves handling\\nbound variables, implicit typing, as well as Lean's definitional equality,\\nwhich is more general than syntactic equality and involves notions like\\n$\\\\alpha$-equivalence, $\\\\beta$-reduction, and $\\\\eta$-reduction. In this extended\\nabstract, we highlight how we attempt to bridge this gap, and which challenges\\nremain to be solved. Notably, while our techniques are partially unsound, the\\nresulting proof automation remains sound by virtue of Lean's proof checking.\",\"PeriodicalId\":501033,\"journal\":{\"name\":\"arXiv - CS - Symbolic Computation\",\"volume\":\"18 1\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-05-16\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - CS - Symbolic Computation\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2405.10188\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Symbolic Computation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2405.10188","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Bridging Syntax and Semantics of Lean Expressions in E-Graphs
Interactive theorem provers, like Isabelle/HOL, Coq and Lean, have expressive
languages that allow the formalization of general mathematical objects and
proofs. In this context, an important goal is to reduce the time and effort
needed to prove theorems. A significant means of achieving this is by improving
proof automation. We have implemented an early prototype of proof automation
for equational reasoning in Lean by using equality saturation. To achieve this,
we need to bridge the gap between Lean's expression semantics and the
syntactically driven e-graphs in equality saturation. This involves handling
bound variables, implicit typing, as well as Lean's definitional equality,
which is more general than syntactic equality and involves notions like
$\alpha$-equivalence, $\beta$-reduction, and $\eta$-reduction. In this extended
abstract, we highlight how we attempt to bridge this gap, and which challenges
remain to be solved. Notably, while our techniques are partially unsound, the
resulting proof automation remains sound by virtue of Lean's proof checking.