So, the talk will be on new results on cutting plane proofs for horn constrained systems. So, in this talk I will introduce you to horn constrained systems, we will talk about what cutting plane proofs are and what the new results are. This research was supported in part by the Air Force Office of Scientific Research through the grant number and you can read that. So, what is the goal of this talk? We want to analyze cutting plane proof systems for horn constrained systems. So, let us talk about constrained systems and then we will go to proof systems. So, what is the constraint satisfaction problem? You have a three tuple X, D and C where X is a set of variables which we call the program variables, D is the set of their respective domains, so D1 is the domain for X1 and so on and C is a set of constraints or relationships among the program variables. The domains can be continuous or discrete and I will give you a few examples. So, let us talk about Boolean systems. Here we are saying find an X belonging to B cube where B is true-false such that these relations are satisfied. Then we talk about linear polyhedral systems. So, here we are asking find an X belonging to R cube where R is a set of real numbers such that these two constraints are satisfied and finally, we have integer polyhedral systems. So, in this case we are asked to find a two tuple of integers such that those two linear constraints are satisfied. So, we will focus on a combination of two and three linear polyhedral systems and integer polyhedral systems during the stop. So, let us talk about polyhedral systems. Each constraint, each relationship is an inequality of the form Aj X less than or equal to B J where X are the program variables. The collection, the conjunction of constraints can be represented in matrix form as AX less than or equal to B or AX greater than or equal to B. The domain can be continuous or discrete. So, if the domain is continuous it is called linear programming. If the domain is discrete then it is known as integer program ok. Now we discuss or enumerate the different types of constraints. A constraint of the form X i greater than or equal to B i or X i less than or equal to B i that when you multiply it by minus 1 it will be X i less than or equal to this is called an absolute constraint. For the rest of the talk we are going to assume that the right hand side is always integral from now on. Here are examples of absolute constraints. So, we are going to distinguish between positive and negative absolute constraints in one of the proofs. So, I thought I would just mention it here. The next class of constraints are called difference constraints. They are also called separation constraints in the literature constraints of the form X i minus X j less than or equal to B i j. So, these are difference constraints. Here are some examples of difference constraints and a conjunction of such constraints is called a difference constraint system. I think many of you know that a difference constraint system has a fractional solution if and only if it has an integer solution asuming and that is why I said it is so important all the right hand sides are going to be integral from now on. And difference constraints clearly subsume absolute constraints. The next class of constraints that we look at are called utvpi constraints I know it sounds exotic but it stands for unit 2 variable per inequality, unit 2 variable per inequality constraints. So, the constraint in addition to having X i minus X j it can also have X i plus X j and minus X i minus X j. So, it is a generalization of difference constraints. Here are some examples. A conjunction of such constraints is called a utvpi constraint system shorthand UCS. Now, this is important this is where UCSs are different from DCSs. You can have a linear solution, but no integer solutions and here is an example. It will take some time for you to check it out, but this is this is a well known example. So, you can have fractional solutions, but no integral solutions. Then we come to the constraint system which is the topic of today's talk on constraint systems. So, on constraint systems have this form some examples will make it clear here are some examples of on constraints. So, what is important to note is that you can have at most one positive, you can have no positive at all multiple negative. So, it is clear that they subsume they are a generalization of difference constraints, but in a different way utvpi constraints generalize difference constraints, horn constraints generalize difference constraints in different ways. Conjunction of such constraints is called a horn constraint system. Now, this is a very nice property it was proved by V0 in the early 1980s that a horn constraint system has an integer solution if and only if it has a fractional solution and this is a property that it shares with difference constraints utvpi constraints do not have this property. So, consider the following horn constraint system. This is an example of a feasible system. You can look you can see that this constraint this value satisfies all the all the constraints and here is an example of a constraint which is infeasible and the goal of today's talk is to provide you proofs of infeasibility. How do I convince you that the system is infeasible ok here is a proof. You add all the constraints together you will get 0 greater than or equal to 1 any assignment which satisfies the original system must satisfy the new constraint and nothing can satisfy it and so the original system is infeasible or unsatisfiable and what we will do in the talk today is to talk about how to arrive at this conclusion ok. So, now we talk about proof systems we want a proof system in general to be sound I think at least this audience we all know what sound means what complete means and from our perspective from the computational perspective we want it to be efficient which means we want it to be polynomially bounded in the size of the input. These are some characteristics that we want in a proof system. So, all that I am saying is proof system for a language L consists of a set of axioms and a set of inference rules the previous speaker mentioned this ok. So, we are going to be dealing with the refutability problem. So, L is the set of unsatisfiable constraint systems instance X has a proof under a sound proof system only if it belongs to the language and if the proof system is complete then every instance in the language has a proof ok. A proof system is efficient if the length of a refutation is polynomial in the size of the input system and that is the primary focus. So, I think we all are familiar with proof systems in clausal formulas I think I assume that all of you have seen them. In general determining the feasibility of a clausal formula is NP complete if any proof system can always generate polynomial size proofs then you have NP equal to co-NP a very unlikely event and all these refutations that are listed here are sound and complete. Now we talk about refuting linear feasibility in order to refute linear feasibility I introduce only one inference rule called the add rule it derives a new constraint by summing two constraints. So, given this and this these two relationships as your premises you can derive this relationship that is what the rule says ok. So, for a linear refutation we apply the add rule in various ways every inference is either applied to the original constraints or constraints that were derived as a consequence of applying the add rule ok. The last inference rule will derive a contradiction this is the add proof system for linear refutation here is an example so keep on you add the constraints and you arrive at the at the contradiction ok. So, one simple rule that you apply over and over again. This is a rule called the MULD rule the multiplication rule and it says that I can multiply by a positive constant it can multiply any relationship. So, I am given this linear relationship and I do this multiplication and infer this there is no real need for this rule you can accomplish what the MULD rule does with the add rule. However, using the MULD rule makes proofs or refutations more succinct now we are into refuting integer feasibility. We have two inference rules the add rule which we had previously and a new rule called the division rule or the div rule it derives a new constraint by dividing the constraint by a positive integer and here is the div rule as you can see we have divided both sides by d and on this side we are taking the ceiling function ok. It only works if a i by d is an integer for all i on the left hand side any integer assignment which satisfies the original constraint satisfies the new constraint. An integer refutation is a sequence of applications of the add and the div rule each inference can be applied either to the original constraints or to the derived constraints and the last inference rule is a contradiction ok. I think I have an example on the next slide. So, let us talk about integer refutations and Hawn constraints a Hawn constraint system has a linear solution as we mentioned before if and only if it has an integer solution an integer feasible Hawn constraint system is also linear feasible and integer refutation of a Hawn constraint system also proves linear infeasibility. The inference rules for integer feasibility can also be used in the proof of linear infeasibility the advantage of using additional inference rules is that proofs can be shortened and that will be one of our first theorems. Here is a UCS UTVPI constraint system so it clearly does not have a linear refutation because it is feasible, but I am able to show that it does not have an integers solution by the following refutation. So, this is a refutation which establishes I mean we have used the div rule here is a place where we have used the div rule and so we are able to arrive at a contradiction which means that the system is not integer feasible. The cutting plane proof system consists of the add rule, the div rule and the mull rule in our paper and in the stock we will focus on restricted versions of this proof system. Restriction number one you are allowed to use only the add rule. Restriction number two you are allowed to use only the add and div rules. Restriction number three you can use the mull rule but you have to use a bounded constant you cannot use arbitrary constants and restriction number four each constraint can be used at most once in the derivation of a proof or refutation. So, this is what we will focus on when describing our results. First type of refutation that we talk about is read once refutation. A refutation is said to be read once if each constraint is used at most once in the derivation of a contradiction. So, when you put this restriction clearly you will lose completeness. The input constraints can be used in at most one inference step and derived constraint can be reused only if it is rederived from new input constraints. It is equivalent to you can think about it this way once you use a pair of constraints in an inference step you promptly throw them away you cannot use them anymore. The optimal length read once refutation problem is basically finding the read once refutation of the shortest length using the fewest number of inferences. Just as we defined read once refutation we have two other types of refutations called tree like and dag like. So, what is a tree like refutation? It is if the constraints that are being used in the refutation can be arranged as a binary tree with copies if necessary of the input constraints as the leaves and a contradiction at the root. I will give you examples of all three types and the optimal length tree like refutation problem consists of finding the tree like refutation with the shortest length. Something very similar is dag like refutation here you arrange the constraints to form a dag. Both tree like and dag like are sound and complete the only difference is in the length dag like proofs are more succinct than tree like proofs ok. And the optimal length dag like proof problem is finding the dag like refutation with the shortest length. So, I want to give you some examples here is an unsatisfiable 2CNF formula do not worry you will have to accept it on faith that it is unsatisfiable. Here is a read once refutation of this particular formula see the contradiction is at the bottom and what is important is you can see that this constraint is being used twice, but it is being rederived using different constraints these two are not the same these are different. This is called a read once refutation now for the very same formula we are going to look at a tree like refutation this is a tree like refutation we are using the same pair of constraints to derive this particular constraint, but it is it is being rederived. So, you use them here and you use them here this is a separate copy of this ok. So, in tree like you will count it twice and finally this is how a dag like refutation looks you can see that the dag like refutation is tends to be shorter than the tree like refutation. So, here is the issue with the MUL rule if you do not restrict the use of MUL then you will always have a read once linear refutation ok. So, this is called as Farcas's lemma what we do is we ask the question suppose we restrict the use of MUL what happens to the proof system and our restricted read once refutation is one in which you can use the add and the MUL rules the MUL rule can be used only on the input constraints and the constant that you use to multiply is less than or equal to R. This is a concept in proof theory called P simulation. So, we say that one proof system can P simulate another proof system if given a proof in one proof system I can produce a proof in the new proof system which is at most polynomial in the length of the proof in the original proof system. So, I should be able to P simulate it which means polynomially simulated. So, now let us take a look at the problems that we are studying. First question how does the div rule affect the size of tree like cutting plane refutations in horn constraint systems? Second question how large are tree like cutting plane refutations of horn constraint systems? Third question how large are dag like cutting plane refutations of horn constraint systems and finally what is the computational complexity of determining if an HCS a horn constraint system has an R restricted read once refutation these were the principle questions that are addressed in the paper there were a few other theorems too which we will probably not be talking about. So, there are two things that I need to motivate one is why do we need to study horn constraints, horn constraints are the following applications program verification for abstract interpretation solvers of for satisfiability modulo theories declarative programming econometrics and about 10 years ago when I gave a talk on horn satisfiability and electrical engineering professor said it occurs in power systems. So, I put it down I do not know where it is used in power systems but apparently it is I then need to motivate restricted proof systems. So, why do we need proofs at all why cannot we just say yes and or no when you are given a constraint system ok it is satisfiable no it is not satisfiable. Because we want to trust our implementation and when we get a refutation the refutation acts as a negative certificate. So, if it is satisfiable ok I can give you a satisfying assignment which you can check but if I simply say it is unsatisfiable that is not sufficient you need to give a certificate a negative certificate and that is what these proofs do. So, let us briefly cover some related work ok these read once refutations were introduced by Iwama and Miano. They showed that checking a 3CNF formula if it if a 3CNF formula has a read once refutation is NP hard subsequently it was shown that finding read once refutations for 3CNF formulas is NP hard even when each resolution step must include a clause with at most two literals ok. We then showed that finding read once refutations for 2CNF formulas is NP hard ok that was our result. Moving on it was established by Stefan Zeider that every Hawn formula has a read once refutation and it was established by Hans Klein Buehning and Sessions-Zau that finding read once unit refutations for Hawn formulas is NP hard. We studied read once linear refutations in UTVPI constraint systems and we showed that it can be done in polynomial time by a reduction to negative weight perfect matching and this year we showed that finding read once linear and integer refutations for Hawn constraint systems is NP hard. So, that is the state of the art and now we are going to add to that literature in this talk. So, what are our contributions? This is the first theorem pre-like proofs or refutations using only the add rule do not pre-simulate pre-like proofs using both the add rule and the div rule for Hawn constraint systems. So, essentially what I am saying here is that the add rule by itself will result in proofs that are exponentially long when compared to the proof system which has both add and div here is rough proof. So, this is the constraint system with which we work and this is what we establish that any tree like refutation using only the add rule this is done using induction on the number of variables must have at least these many steps must and then we show that if you use add and div you can cut it down to 2n minus 1. So, you see that there is an exponential gap between the add and div proof system and the add proof system. The next theorem is and this is a three page proof. So, there is no hope of doing it here there exist Hawn constraint system such that any tree like cutting plane proof which means you can include add and include div is exponential in the size of those systems. So, what is the intuition once more we add the variable x 0 to the previous Hawn constraint system and then the whole point is in this particular system the use of x 0 here with coefficient 1 prevents the use of the div rule until x 0 itself is eliminated and by then it is too late you have blown up the size of the proof and the proof length becomes exponential.  And two nice corollaries one is that every infeasible system of Hawn constraints has a refutation in which every intermediate step constraint that is derived is Hawn. So, you do not ever need to step outside the realm of Hawn constraints you apply the inference rule you get another Hawn constraint you apply more inference rule you still get Hawn constraints. And one more nice corollary is that if I give you a dag like refutation of length n then it can always be converted into a dag like refutation of length P n where all intermediate constraints are Hawn we are going to again skip the proof in the interests of time. And the now we are going to look at the last result before we do that I want to briefly mention a problem called set packing this is the set packing problem given a set S and M subsets is there a collection of k subsets that are mutually disjoint this problem is known to be NP complete and we use that to prove the following theorem. Let R be any positive integer finding R restricted read once refutations is NP hard for Hawn constraint systems that is the main result we do a reduction from set packing. The nice part about the proof that we did is we showed that R in fact can depend on n. So we derive the following corollary let C be any positive integer finding R restricted read once refutations for Hawn constraint system is NP hard even when R is allowed to grow it can be very large see here it is depending on n. So what is remarkable about this result even if I say so myself is that it can be shown and it was shown in the paper but pulled out because of space restrictions that if you allow R to equal to power n minus 1 then any Hawn constraint system definitely has an R restricted read once refutation. If you pull it down even a little bit then it is NP hard. Here the answer is always yes here it is NP hard. I do want to make a nice point when I compare this with difference constraints so in difference constraints you never need to use a constraint more than once that we have shown and in case of utvpi constraints this was shown in the algorithmic paper you never need to use a constraint more than twice in order to arrive at a refutation. What are the important conclusions tree like refutations of Hawn constraint systems using both the add and div rule can be exponentially more succinct than using only the add rule. Tree like refutations of Hawn constraint systems using both add and div rule can be exponentially long in the size of the input. Dag like refutations of Hawn constraint systems are polynomial in the size of the input even when you use only add rule. Finding read once refutations of Hawn constraint systems is NP hard with restriction on the use of the mull rule. And this is something that we showed but we couldn't put in the paper again because of space requirements that you can design an exact exponential algorithm which is parameterized by the defining constant of the system for checking if a read once refutation exists and P hard problem as mentioned previously. Thank you. So, I don't know about SMT solver but I can describe other algorithms for checking feasibility in Hawn constraint systems they are non certifying they don't even bother they just say yes or no. Now we have a method of actually getting a certificate out so we can actually extract the certificate. That is unset here. So, I have a question about the Parkas-Leba. So, you mentioned the Parkas-Leba a way to compute a proof of un-certificial for conjunction of linear inequalities during all closes of a particular case of this kind of linear constraints. So, I'm wondering if for all closes there is a better way than just using a classical linear algebra for the fact that some conjunction of linear inequality of the Riemann solver. So, you are asking if we can do this for Hawn clausel? Yes, it is impossible to do it. Using the Parkas-Leba and using the Almanzo technique. So, I know of one way reduction in fact that was there in our proposed paper which was a clausel system and converted it into a Hawn constraint system. I don't know how to go backward. Maybe possible but I don't know how to do it.