{"title":"DNLSAT: A Dynamic Variable Ordering MCSAT Framework for Nonlinear Real Arithmetic","authors":"Zhonghan Wang","doi":"arxiv-2406.18964","DOIUrl":null,"url":null,"abstract":"Satisfiability modulo nonlinear real arithmetic theory (SMT(NRA)) solving is\nessential to multiple applications, including program verification, program\nsynthesis and software testing. In this context, recently model constructing\nsatisfiability calculus (MCSAT) has been invented to directly search for models\nin the theory space. Although following papers discussed practical directions\nand updates on MCSAT, less attention has been paid to the detailed\nimplementation. In this paper, we present an efficient implementation of\ndynamic variable orderings of MCSAT, called dnlsat. We show carefully designed\ndata structures and promising mechanisms, such as branching heuristic, restart,\nand lemma management. Besides, we also give a theoretical study of potential\ninfluences brought by the dynamic variablr ordering. The experimental\nevaluation shows that dnlsat accelerates the solving speed and solves more\nsatisfiable instances than other state-of-the-art SMT solvers. Demonstration Video: https://youtu.be/T2Z0gZQjnPw Code: https://github.com/yogurt-shadow/dnlsat/tree/master/code Benchmark https://zenodo.org/records/10607722/files/QF_NRA.tar.zst?download=1","PeriodicalId":501033,"journal":{"name":"arXiv - CS - Symbolic Computation","volume":"18 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-06-27","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-2406.18964","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Satisfiability modulo nonlinear real arithmetic theory (SMT(NRA)) solving is
essential to multiple applications, including program verification, program
synthesis and software testing. In this context, recently model constructing
satisfiability calculus (MCSAT) has been invented to directly search for models
in the theory space. Although following papers discussed practical directions
and updates on MCSAT, less attention has been paid to the detailed
implementation. In this paper, we present an efficient implementation of
dynamic variable orderings of MCSAT, called dnlsat. We show carefully designed
data structures and promising mechanisms, such as branching heuristic, restart,
and lemma management. Besides, we also give a theoretical study of potential
influences brought by the dynamic variablr ordering. The experimental
evaluation shows that dnlsat accelerates the solving speed and solves more
satisfiable instances than other state-of-the-art SMT solvers. Demonstration Video: https://youtu.be/T2Z0gZQjnPw Code: https://github.com/yogurt-shadow/dnlsat/tree/master/code Benchmark https://zenodo.org/records/10607722/files/QF_NRA.tar.zst?download=1