A New Algorithm for Linear and Integer Feasibility in Horn Constraints

In this paper, we detail a new algorithm for the problem of checking linear and integer feasibility of a system of Horn constraints. For certain special cases, the new algorithm is faster than the "Lifting Algorithm" described in [1]. Moreover, the new approach is based on different ideas and in fact exploits several properties of Horn constraint systems (HCS) which are not known to be part of the literature. In the case of constraints of bounded width (corresponding to "loosely coupled" systems), our algorithm can be modified to run in O(n3+mċn+ mċn2/log(max(m,n))) time. Our main result establishes that checking the feasibility of an HCS can be reduced to three subproblems: negative-cost cycle detection in networks (NCCD), matrix-vector multiplication (MV), and the conversion of an HCS to a non-redundant set of difference constraints (H2D). The MV and NCCD problems have been extremely well-studied, and specialized, fast algorithms exist for relevant special cases. We have identified a new problem, H2D, which warrants future research, since improved algorithms for H2D could be implemented in our algorithm to decrease the running time.

[1]  Nicolas Halbwachs,et al.  Automatic discovery of linear restraints among variables of a program , 1978, POPL.

[2]  Andrew V. Goldberg,et al.  Scaling algorithms for the shortest paths problem , 1995, SODA '93.

[3]  Natarajan Shankar,et al.  The ICS Decision Procedures for Embedded Deduction , 2004, IJCAR.

[4]  Mark Wallace,et al.  Constraint logic programming for scheduling and planning , 1995 .

[5]  Martin C. Cooper,et al.  Tractable Constraints on Ordered Domains , 1995, Artif. Intell..

[6]  Laurence A. Wolsey,et al.  Integer and Combinatorial Optimization , 1988 .

[7]  Clifford Stein,et al.  Introduction to Algorithms, 2nd edition. , 2001 .

[8]  Steven Homer,et al.  Computability and Complexity Theory , 2001, Texts in Computer Science.

[9]  Antoine Miné,et al.  The octagon abstract domain , 2001, High. Order Symb. Comput..

[10]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[11]  Edo Liberty,et al.  The Mailman algorithm: A note on matrix-vector multiplication , 2009, Inf. Process. Lett..

[12]  Larry Wos,et al.  What Is Automated Reasoning? , 1987, J. Autom. Reason..

[13]  Chuangyin Dang,et al.  Simplicial Pivoting Algorithms for a Tractable Class of Integer Programs , 2002, J. Comb. Optim..

[14]  Éva Tardos,et al.  A Strongly Polynomial Algorithm to Solve Combinatorial Linear Programs , 1986, Oper. Res..

[15]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[16]  Christos H. Papadimitriou,et al.  Symmetric Space-Bounded Computation , 1982, Theor. Comput. Sci..

[17]  Antoine Mid The Octagon Abstract Domain , 2001 .

[18]  L. D. Moura,et al.  The YICES SMT Solver , 2006 .

[19]  Natarajan Shankar,et al.  Formal Verification of a Combination Decision Procedure , 2002, CADE.

[20]  K. Subramani,et al.  On Solving Boolean Combinations of UTVPI Constraints , 2007, J. Satisf. Boolean Model. Comput..