Pub Date : 2023-01-01Epub Date: 2023-05-13DOI: 10.1007/s10817-023-09664-4
Alessandro Abate, Haniel Barbosa, Clark Barrett, Cristina David, Pascal Kesseli, Daniel Kroening, Elizabeth Polgreen, Andrew Reynolds, Cesare Tinelli
Program synthesis is the mechanised construction of software. One of the main difficulties is the efficient exploration of the very large solution space, and tools often require a user-provided syntactic restriction of the search space. While useful in general, such syntactic restrictions provide little help for the generation of programs that contain non-trivial constants, unless the user is able to provide the constants in advance. This is a fundamentally difficult task for state-of-the-art synthesisers. We propose a new approach to the synthesis of programs with non-trivial constants that combines the strengths of a counterexample-guided inductive synthesiser with those of a theory solver, exploring the solution space more efficiently without relying on user guidance. We call this approach CEGIS(), where is a first-order theory. We present two exemplars, one based on Fourier-Motzkin (FM) variable elimination and one based on first-order satisfiability. We demonstrate the practical value of CEGIS() by automatically synthesising programs for a set of intricate benchmarks. Additionally, we present a case study where we integrate CEGIS() within the mature synthesiser CVC4 and show that CEGIS() improves CVC4's results.
{"title":"Synthesising Programs with Non-trivial Constants.","authors":"Alessandro Abate, Haniel Barbosa, Clark Barrett, Cristina David, Pascal Kesseli, Daniel Kroening, Elizabeth Polgreen, Andrew Reynolds, Cesare Tinelli","doi":"10.1007/s10817-023-09664-4","DOIUrl":"10.1007/s10817-023-09664-4","url":null,"abstract":"<p><p>Program synthesis is the mechanised construction of software. One of the main difficulties is the efficient exploration of the very large solution space, and tools often require a user-provided syntactic restriction of the search space. While useful in general, such syntactic restrictions provide little help for the generation of programs that contain non-trivial constants, unless the user is able to provide the constants in advance. This is a fundamentally difficult task for state-of-the-art synthesisers. We propose a new approach to the synthesis of programs with non-trivial constants that combines the strengths of a counterexample-guided inductive synthesiser with those of a theory solver, exploring the solution space more efficiently without relying on user guidance. We call this approach CEGIS(<math><mi>T</mi></math>), where <math><mi>T</mi></math> is a first-order theory. We present two exemplars, one based on Fourier-Motzkin (FM) variable elimination and one based on first-order satisfiability. We demonstrate the practical value of CEGIS(<math><mi>T</mi></math>) by automatically synthesising programs for a set of intricate benchmarks. Additionally, we present a case study where we integrate CEGIS(<math><mi>T</mi></math>) within the mature synthesiser CVC4 and show that CEGIS(<math><mi>T</mi></math>) improves CVC4's results.</p>","PeriodicalId":15082,"journal":{"name":"Journal of Automated Reasoning","volume":"67 2","pages":"19"},"PeriodicalIF":1.1,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10182957/pdf/","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"9476445","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2023-01-01DOI: 10.1007/s10817-023-09660-8
Gabriel Ebner, Jasmin Blanchette, Sophie Tourret
AVATAR is an elegant and effective way to split clauses in a saturation prover using a SAT solver. But is it refutationally complete? And how does it relate to other splitting architectures? To answer these questions, we present a unifying framework that extends a saturation calculus (e.g., superposition) with splitting and that embeds the result in a prover guided by a SAT solver. The framework also allows us to study locking, a subsumption-like mechanism based on the current propositional model. Various architectures are instances of the framework, including AVATAR, labeled splitting, and SMT with quantifiers.
{"title":"Unifying Splitting.","authors":"Gabriel Ebner, Jasmin Blanchette, Sophie Tourret","doi":"10.1007/s10817-023-09660-8","DOIUrl":"https://doi.org/10.1007/s10817-023-09660-8","url":null,"abstract":"<p><p>AVATAR is an elegant and effective way to split clauses in a saturation prover using a SAT solver. But is it refutationally complete? And how does it relate to other splitting architectures? To answer these questions, we present a unifying framework that extends a saturation calculus (e.g., superposition) with splitting and that embeds the result in a prover guided by a SAT solver. The framework also allows us to study <i>locking</i>, a subsumption-like mechanism based on the current propositional model. Various architectures are instances of the framework, including AVATAR, labeled splitting, and SMT with quantifiers.</p>","PeriodicalId":15082,"journal":{"name":"Journal of Automated Reasoning","volume":"67 2","pages":"16"},"PeriodicalIF":1.1,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10147822/pdf/","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"9757154","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2023-01-01DOI: 10.1007/s10817-023-09661-7
Aart Middeldorp, Alexander Lochmann, Fabian Mitterwallner
The first-order theory of rewriting is decidable for linear variable-separated rewrite systems. We present a new decision procedure which is the basis of FORT, a decision and synthesis tool for properties expressible in the theory. The decision procedure is based on tree automata techniques and verified in Isabelle. Several extensions make the theory more expressive and FORT more versatile. We present a certificate language that enables the output of FORT to be certified by the certifier FORTify generated from the formalization, and we provide extensive experiments.
{"title":"First-Order Theory of Rewriting for Linear Variable-Separated Rewrite Systems: Automation, Formalization, Certification.","authors":"Aart Middeldorp, Alexander Lochmann, Fabian Mitterwallner","doi":"10.1007/s10817-023-09661-7","DOIUrl":"https://doi.org/10.1007/s10817-023-09661-7","url":null,"abstract":"<p><p>The first-order theory of rewriting is decidable for linear variable-separated rewrite systems. We present a new decision procedure which is the basis of FORT, a decision and synthesis tool for properties expressible in the theory. The decision procedure is based on tree automata techniques and verified in Isabelle. Several extensions make the theory more expressive and FORT more versatile. We present a certificate language that enables the output of FORT to be certified by the certifier FORTify generated from the formalization, and we provide extensive experiments.</p>","PeriodicalId":15082,"journal":{"name":"Journal of Automated Reasoning","volume":"67 2","pages":"14"},"PeriodicalIF":1.1,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10079773/pdf/","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"9274582","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2022-12-12DOI: 10.1007/s10817-022-09648-w
Simon Roßkopf, T. Nipkow
{"title":"A Formalization and Proof Checker for Isabelle’s Metalogic","authors":"Simon Roßkopf, T. Nipkow","doi":"10.1007/s10817-022-09648-w","DOIUrl":"https://doi.org/10.1007/s10817-022-09648-w","url":null,"abstract":"","PeriodicalId":15082,"journal":{"name":"Journal of Automated Reasoning","volume":" ","pages":""},"PeriodicalIF":1.1,"publicationDate":"2022-12-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"46173583","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2022-09-21DOI: 10.1007/s10817-023-09666-2
Maximiliano Cristi'a, G. D. Luca, C. Luna
{"title":"An Automatically Verified Prototype of the Android Permissions System","authors":"Maximiliano Cristi'a, G. D. Luca, C. Luna","doi":"10.1007/s10817-023-09666-2","DOIUrl":"https://doi.org/10.1007/s10817-023-09666-2","url":null,"abstract":"","PeriodicalId":15082,"journal":{"name":"Journal of Automated Reasoning","volume":" ","pages":""},"PeriodicalIF":1.1,"publicationDate":"2022-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"48853851","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2022-09-12DOI: 10.1007/s10817-022-09642-2
Nuno Macedo, Julien Brunel, D. Chemouil, Alcino Cunha
{"title":"Pardinus: A Temporal Relational Model Finder","authors":"Nuno Macedo, Julien Brunel, D. Chemouil, Alcino Cunha","doi":"10.1007/s10817-022-09642-2","DOIUrl":"https://doi.org/10.1007/s10817-022-09642-2","url":null,"abstract":"","PeriodicalId":15082,"journal":{"name":"Journal of Automated Reasoning","volume":"66 1","pages":"861 - 904"},"PeriodicalIF":1.1,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"42925275","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2022-09-06DOI: 10.1007/s10817-023-09671-5
Reynald Affeldt, C. Cohen
{"title":"Measure Construction by Extension in Dependent Type Theory with Application to Integration","authors":"Reynald Affeldt, C. Cohen","doi":"10.1007/s10817-023-09671-5","DOIUrl":"https://doi.org/10.1007/s10817-023-09671-5","url":null,"abstract":"","PeriodicalId":15082,"journal":{"name":"Journal of Automated Reasoning","volume":" ","pages":""},"PeriodicalIF":1.1,"publicationDate":"2022-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49086474","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2022-09-05DOI: 10.1007/s10817-023-09665-3
L. Cruz-Filipe, F. Montesi, Marco Peressotti
{"title":"A Formal Theory of Choreographic Programming","authors":"L. Cruz-Filipe, F. Montesi, Marco Peressotti","doi":"10.1007/s10817-023-09665-3","DOIUrl":"https://doi.org/10.1007/s10817-023-09665-3","url":null,"abstract":"","PeriodicalId":15082,"journal":{"name":"Journal of Automated Reasoning","volume":" ","pages":""},"PeriodicalIF":1.1,"publicationDate":"2022-09-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"43544924","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2022-08-06DOI: 10.1007/s10817-022-09636-0
Jose Divasón, René Thiemann
{"title":"Correction to: A Formalization of the Smith Normal Form in Higher-Order Logic","authors":"Jose Divasón, René Thiemann","doi":"10.1007/s10817-022-09636-0","DOIUrl":"https://doi.org/10.1007/s10817-022-09636-0","url":null,"abstract":"","PeriodicalId":15082,"journal":{"name":"Journal of Automated Reasoning","volume":"66 1","pages":"1097"},"PeriodicalIF":1.1,"publicationDate":"2022-08-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"42129483","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}