{"title":"Proving Cutoff Bounds for Safety Properties in First-Order Logic","authors":"Raz Lotan, Eden Frenkel, Sharon Shoham","doi":"arxiv-2408.10685","DOIUrl":null,"url":null,"abstract":"First-order logic has been established as an important tool for modeling and\nverifying intricate systems such as distributed protocols and concurrent\nsystems. These systems are parametric in the number of nodes in the network or\nthe number of threads, which is finite in any system instance, but unbounded.\nOne disadvantage of first-order logic is that it cannot distinguish between\nfinite and infinite structures, leading to spurious counterexamples. To\nmitigate this, we offer a verification approach that captures only finite\nsystem instances. Our approach is an adaptation of the cutoff method to systems\nmodeled in first-order logic. The idea is to show that any safety violation in\na system instance of size larger than some bound can be simulated by a safety\nviolation in a system of a smaller size. The simulation provides an inductive\nargument for correctness in finite instances, reducing the problem to showing\nsafety of instances with bounded size. To this end, we develop a framework to\n(i) encode such simulation relations in first-order logic and to (ii) validate\nthe simulation relation by a set of verification conditions given to an SMT\nsolver. We apply our approach to verify safety of a set of examples, some of\nwhich cannot be proven by a first-order inductive invariant.","PeriodicalId":501197,"journal":{"name":"arXiv - CS - Programming Languages","volume":"184 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-08-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Programming Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2408.10685","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
First-order logic has been established as an important tool for modeling and
verifying intricate systems such as distributed protocols and concurrent
systems. These systems are parametric in the number of nodes in the network or
the number of threads, which is finite in any system instance, but unbounded.
One disadvantage of first-order logic is that it cannot distinguish between
finite and infinite structures, leading to spurious counterexamples. To
mitigate this, we offer a verification approach that captures only finite
system instances. Our approach is an adaptation of the cutoff method to systems
modeled in first-order logic. The idea is to show that any safety violation in
a system instance of size larger than some bound can be simulated by a safety
violation in a system of a smaller size. The simulation provides an inductive
argument for correctness in finite instances, reducing the problem to showing
safety of instances with bounded size. To this end, we develop a framework to
(i) encode such simulation relations in first-order logic and to (ii) validate
the simulation relation by a set of verification conditions given to an SMT
solver. We apply our approach to verify safety of a set of examples, some of
which cannot be proven by a first-order inductive invariant.