Antiprenexing for WSkS: A Little Goes a Long Way

We study light-weight techniques for preprocessing of WSkS formulae in an automatabased decision procedure as implemented, e.g., in Mona. The techniques we use are based on antiprenexing, i.e., pushing quantifiers deeper into a formula. Intuitively, this tries to alleviate the explosion in the size of the constructed automata by making it happen sooner on smaller automata (and have the automata minimization reduce the output). The formula transformations that we use to implement antiprenexing may, however, be applied in different ways and extent and, if used in an unsuitable way, may also cause an explosion in the size of the formula and the automata built while deciding it. Therefore, our approach uses informed rules that use an estimation of the cost of constructing automata for WSkS formulae. The estimation is based on a model learnt from runs of the decision algorithm on various formulae. An experimental evaluation of our technique shows that antiprenexing can significantly boost the performance of the base WSkS decision procedure, sometimes allowing one to decide formulae that could not be decided before.

[1]  Nils Klarlund,et al.  Verification of a Sliding Window Protocol Using IOA and MONA , 2000, FORTE.

[2]  William I. Gasarch,et al.  Implementing WS1S via Finite Automata , 1996, Workshop on Implementing Automata.

[3]  Karsten Stahl,et al.  Abstracting WS1S Systems to Verify Parameterized Networks , 2000, TACAS.

[4]  Lukás Holík,et al.  Nested Antichains for WS1S , 2015, TACAS.

[5]  Lukás Holík,et al.  Automata Terms in a Lazy WSkS Decision Procedure , 2019, Journal of Automated Reasoning.

[6]  Thomas A. Henzinger,et al.  Antichains: A New Algorithm for Checking Universality of Finite Automata , 2006, CAV.

[7]  Wolfgang Bibel,et al.  An approach to a systematic theorem proving procedure in first-order logic , 1974, Computing.

[8]  Loris D'Antoni,et al.  Monadic second-order logic on finite sequences , 2017, POPL.

[9]  Jean-François Raskin,et al.  Antichain Algorithms for Finite Automata , 2010, TACAS.

[10]  Mik Wisniewski,et al.  Applied Regression Analysis: A Research Tool , 1990 .

[11]  M. Rabin Decidability of second-order theories and automata on infinite trees , 1968 .

[12]  Tobias Ganzow,et al.  New Algorithm for Weak Monadic Second-Order Logic on Inductive Structures , 2010, CSL.

[13]  Jean-François Raskin,et al.  Antichains: Alternative Algorithms for LTL Satisfiability and Model-Checking , 2008, TACAS.

[14]  Nils Klarlund,et al.  A Theory of Restrictions for Logics and Automata , 1999, CAV.

[15]  James W. Thatcher,et al.  Generalized finite automata theory with an application to a decision problem of second-order logic , 1968, Mathematical systems theory.

[16]  Heather K. Harton,et al.  A Case Study in Automated Verification , 2008 .

[17]  Xiaokang Qiu,et al.  Decidable logics combining heap structures and data , 2011, POPL '11.

[18]  ChinWei-Ngan,et al.  Automated verification of shape, size and bag properties via user-defined predicates in separation logic , 2012 .

[19]  Tiziana Margaria,et al.  jMosel: A Stand-Alone Tool and jABC Plugin for M2L(Str) , 2006, SPIN.

[20]  Nils Klarlund,et al.  Automata based symbolic reasoning in hardware verification , 1998, FM-Trends 1998.

[21]  Nils Klarlund,et al.  MONA 1.x: New Techniques for WS1S and WS2S , 1998, CAV.

[22]  Tayssir Touili,et al.  Antichain-Based Universality and Inclusion Testing over Nondeterministic Finite Tree Automata , 2008, CIAA.

[23]  Tiziana Margaria,et al.  Second-Order Value Numbering , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[24]  Alexander Leitsch,et al.  On Skolemization and Proof Complexity , 1994, Fundam. Informaticae.

[25]  Viktor Kuncak,et al.  Full functional verification of linked data structures , 2008, PLDI '08.

[26]  Xiaokang Qiu,et al.  Efficient Decision Procedures for Heaps Using STRAND , 2011, SAS.

[27]  Dmitriy Traytel A Coalgebraic Decision Procedure for WS1S , 2015, CSL.

[28]  Michael I. Schwartzbach,et al.  The pointer assertion logic engine , 2000, PLDI '01.

[29]  Nils Klarlund,et al.  MONA Version 1.4 - User Manual , 2001 .

[30]  Marco Pistoia,et al.  Path- and index-sensitive string analysis based on monadic second-order logic , 2011, ISSTA '11.

[31]  Albert R. Meyer,et al.  Word problems requiring exponential time(Preliminary Report) , 1973, STOC.

[32]  S. Sieber On a decision method in restricted second-order arithmetic , 1960 .

[33]  Mamoun Filali,et al.  FMona: A Tool for Expressing Validation Techniques over Infinite State Systems , 2000, TACAS.

[34]  Anders Sandholm,et al.  A Case Study on Using Automata in Control Synthesis , 2000, FASE.

[35]  Joseph Sifakis,et al.  Structural Invariants for Parametric Verification of Systems with Almost Linear Architectures , 2019, ArXiv.

[36]  Nils Klarlund,et al.  MONA Implementation Secrets , 2000, Int. J. Found. Comput. Sci..

[37]  Uwe Egly On the Value of Antiprenexing , 1994, LPAR.

[38]  Viktor Kuncak,et al.  Synthesis for regular specifications over unbounded domains , 2010, Formal Methods in Computer Aided Design.

[39]  Lukás Holík,et al.  Lazy Automata Techniques for WS1S , 2017, TACAS.

[40]  Hao Wang,et al.  Toward Mechanical Mathematics , 1960, IBM J. Res. Dev..

[41]  Viktor Kuncak,et al.  An Efficient Decision Procedure for Imperative Tree Data Structures , 2011, CADE.

[42]  Anders Sandholm,et al.  Distributed Safety Controllers for Web Services , 1997, FASE.

[43]  Min Zhou,et al.  Array Theory of Bounded Elements and its Applications , 2014, Journal of Automated Reasoning.

[44]  C. Pipper,et al.  [''R"--project for statistical computing]. , 2008, Ugeskrift for laeger.

[45]  J. A. Robinson,et al.  Handbook of Automated Reasoning (in 2 volumes) , 2001 .

[46]  Parosh Aziz Abdulla,et al.  When Simulation Meets Antichains , 2010, TACAS.