<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Refutation of Products of Linear Polynomials</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Jan</forename><surname>Horáček</surname></persName>
							<email>jan.horacek@uni-passau.de</email>
							<affiliation key="aff0">
								<orgName type="department">Faculty of Informatics and Mathematics</orgName>
								<orgName type="institution">University of Passau</orgName>
								<address>
									<postCode>D-94030</postCode>
									<settlement>Passau</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Martin</forename><surname>Kreuzer</surname></persName>
							<email>martin.kreuzer@uni-passau.de</email>
							<affiliation key="aff0">
								<orgName type="department">Faculty of Informatics and Mathematics</orgName>
								<orgName type="institution">University of Passau</orgName>
								<address>
									<postCode>D-94030</postCode>
									<settlement>Passau</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Refutation of Products of Linear Polynomials</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">0918B20615C6D52F64A13EA4C411E5F9</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T21:58+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>linear clauses</term>
					<term>Boolean polynomials</term>
					<term>algebraic proof systems</term>
					<term>SAT solving</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>In this paper we consider formulas that are conjunctions of linear clauses, i.e., of linear equations. Such formulas are very interesting because they encode CNF constraints that are typically very hard for SAT solvers. We introduce a new proof system SRES that works with linear clauses and show that SRES is implicationally and refutationally complete. Algebraically speaking, linear clauses correspond to products of linear polynomials over a ring of Boolean polynomials. That is why SRES can certify if a product of linear polynomials lies in the ideal generated by some other such products, i.e., the SRES calculus decides the ideal membership problem. Furthermore, an algorithm for certifying inconsistent systems of the above shape is described. We also establish the connection with an another combined proof system R(lin).</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>In this paper we deal with a special case of the ideal membership problem: given a set of Boolean polynomials S which are products of linear polynomials and a Boolean polynomial f which is also a product of linear polynomials, decide whether f ∈ S . Traditionally, one can use Gröbner bases to solve this problem. The assumption that the given polynomials are products of linear polynomials allows us introduce a new calculus, called SRES, that is tailored to tackle this problem. It needs only a lightweight version of the S -polynomials used Gröbner basis algorithms, namely the s-resolvents we introduced in <ref type="bibr" target="#b5">[6]</ref>. These s-resolvents also generalize the classical resolution rule from propositional logic. Nevertheless, we consider SRES to be an algebraic proof system (in the sense of <ref type="bibr" target="#b4">[5]</ref>, <ref type="bibr" target="#b1">[2]</ref> or <ref type="bibr" target="#b3">[4]</ref>), and hence we mostly use the terminology of commutative algebra to describe it. The main difference in the algebraic approach is that we study assignments that yield False, i.e., are zeros of a system, in constrast to look for assignments that yield True in the SAT terminology.</p><p>From the propositional logic point of view, we would like to decide if the semantic implication S |= f holds. Recall that a linear Boolean polynomial x i1 + • • • + x ij corresponds to a linear XOR constraint x i1 ⊕ • • • ⊕ x ij . Such constraints are very difficult for SAT solvers because the truth value depends genuinely on all variables, i.e., changing the value of one variable results in flipping the truth value of the XOR. Many hard formulas in CNF can be constructed by combining literals into linear XOR constraints, resulting in so-called linear clauses. For details, we refer the readers to <ref type="bibr" target="#b0">[1]</ref> or <ref type="bibr" target="#b11">[12]</ref>. Such formulas appear quite frequently in cryptography, where linear constraints are typically mixed with highly nonlinear ones, for instance in substitution permutation networks. Another application is to handle the bit-blasted version of ARX operations (Add-Roll-Xor) which is becoming a popular part of ARX ciphers. When converted to bit-wise operations, these conversions give XOR-heavy formulae with a handful of AND gates describing the carry chains of the adders.</p><p>The paper is organized as follows. In Section 2 we recall the definition of linear clauses and introduce several ways of describing them, in particular using products of linear Boolean polynomials. Our main data structure to describe them is the set of linear polynomials that appear in the linear clause.</p><p>In Section 3 we define the proof system SRES which incorporates and extends the s-resoution rule defined in <ref type="bibr" target="#b5">[6]</ref>. We prove that the SRES proof system is implicationally and refutationally complete. Moreover, we establish a relation with other combined systems that use resolution and polynomial calculus (see <ref type="bibr" target="#b10">[11]</ref>). In particular, we show that SRES simulates the proof system R(lin) defined in <ref type="bibr" target="#b6">[7,</ref><ref type="bibr" target="#b10">11]</ref>.</p><p>In Section 4 we describe a concrete algorithm that searches for SRES-refutation proofs of inconsistent systems, called the SRES Refutation Algorithm, and compare it to other approaches to the problem at hand. Finally, in Section 5, we apply the SRES Refutation Algorithm to some examples and point out possible further improvements.</p><p>In the following we use some of the definitions and results given in <ref type="bibr" target="#b5">[6]</ref>, in particular the algorithm Sres given there. However, to aid the readers, we tried to make the paper as self-contained as possible and mention any overlaps explicitly.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Background</head><p>Let F 2 = Z/2Z be the binary field and F 2 [x 1 , . . . , x n ] a polynomial ring over F 2 . The ring</p><formula xml:id="formula_0">B n = F 2 [x 1 , . . . , x n ]/F with F = x 2 1 + x 1 , . . . , x 2 n +</formula><p>x n is called the ring of Boolean polynomials in the indeterminates x 1 , . . . , x n . Let L n be the set of all linear polynomials in F 2 [x 1 , . . . , x n ] , i.e., the set of all polynomials of degree ≤ 1 . (Here we use deg(0) = −1 .)</p><p>Throughout the paper we consider the obvious correspondences between the following types of objects, where 1 , . . . , k ∈ L n :</p><formula xml:id="formula_1">(C1) A set of linear polynomials H = { 1 , . . . , k } ⊆ L n . (C2) A Boolean polynomial h = k i=1 i which is a product of linear polynomials in B n . (C3) A linear clause ( 1 = 0) ∨ • • • ∨ ( k = 0) .</formula><p>Next we give an example of the above correspondence.</p><formula xml:id="formula_2">Example 1 Let H = {x 1 + x 2 + 1, x 1 + x 3 } ⊆ L 3 . Then h = (x 1 + x 2 + 1)(x 1 + x 3 ) = x 1 x 3 + x 1 x 2 + x 2 x 3 + x 3 , and H (resp. h ) coresponds to the propositional logic formula (x 1 ⊕ x 2 ⊕ 1 = 0) ∨ (x 1 ⊕ x 3 = 0).</formula><p>To simplify the notation, we view the sets in (C1) as polynomials in (C2), e.g., we speak of zeros of H instead of zeros of h. Furthermore, we always assume that the linear polynomials 1 , . . . , k appearing in (C1) are pairwise distinct, i.e., that the set H does not contain duplicates. The notion of linear clauses has been considered before in <ref type="bibr" target="#b6">[7,</ref><ref type="bibr" target="#b10">11]</ref>. Note that many difficult CNF instances can be naturally encoded in the form (C3). Thus we are targeting very hard formulas (see <ref type="bibr" target="#b9">[10,</ref><ref type="bibr">Sec. 3]</ref>). Furthermore, we observe that two different subsets in (C1) may represent the same polynomial, as the following example shows.</p><p>Example 2 Consider the sets of linear polynomials {x 3 , x 2 + x 3 , x 1 + x 3 + 1} and {x 3 , x 1 +x 2 , x 1 +x 3 +1} as in (C1). Then we have x 3 (x 2 +x 3 )(x 1 +x 3 +1) = x 3 (x 1 + x 2 )(x 1 + x 3 + 1) in B 3 , i.e. the corresponding polynomials in (C2) agree.</p><p>The subsets in (C1) are measured by degree and size. We recall here some definitions from <ref type="bibr" target="#b5">[6]</ref> and <ref type="bibr" target="#b10">[11]</ref>.</p><formula xml:id="formula_3">Definition 3 Let H = { 1 , . . . , k } ⊆ L n .</formula><p>(1) The number deg(h) = #H is called the degree of H .</p><p>(2) For ∈ L n , we let var( ) be the set of indeterminates occurring in . We call the number size(H) = # var( 1 ) + • • • + # var( k ) the size of H .</p><p>Our goal in this paper is to show that a given set of linear clauses is unsatisfiable. For this purpose, we define semantic implication as follows.</p><p>Definition 4 Let F 1 , . . . , F m , H ⊆ L n . We say that F 1 , . . . , F m semantically imply H if every F 2 -rational common zero of the Boolean polynomials corresponding to F 1 , . . . , F m is a zero of H . In this case we write F 1 , . . . , F m |= H .</p><p>From the algebraic point of view, we have F 1 , . . . , F m |= H if and only if H ∈ F 1 , . . . , F m ⊆ B n . Note that the zeros of an ideal in B n are always F 2rational, because ideals in B n correspond to ideals in F 2 [x 1 , . . . , x n ] that contain the field ideal x 2 1 + x 1 , . . . , x 2 n + x n . Using the newly defined terminology, we can say that our goal is to refute a given set of linear clauses, i.e. to prove that the corresponding sets of linear polynomials semantically imply {1} .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">The SRES Proof System</head><p>Recall that a proof system, sometimes called a Hilbert system or Hilbert calculus, consists of a syntax, i.e. a set of rules which determine the set of well-formed formulas of the system, by a set of axioms, i.e. a set of formulas which are assumed to be tautologies, and by its set of rules of inference, i.e. by a set of rules which determine how one can get new tautologies from known ones.</p><p>For instance, the Gröbner proof system defined in <ref type="bibr" target="#b4">[5]</ref> admits all formulas of the form f (x 1 , . . . , x n ) = 0 where f ∈ F 2 [x 1 , . . . , x n ] . Its axioms are the Boolean axioms x 2 i + x i = 0 for i = 1, . . . , n , and its rules of inference are f g f + g (P a ) and</p><formula xml:id="formula_4">f x i f (P m )</formula><p>where f, g ∈ F 2 [x 1 , . . . , x n ] and x i is an indeterminate.</p><p>In this section we continue to study the proof system based on s-resolution which was introduced in <ref type="bibr" target="#b5">[6]</ref>. More precisely, we extend that system by other inference rules, and thus we define the new proof system called SRES. Let us begin by recalling the proof system in <ref type="bibr" target="#b5">[6]</ref>.</p><p>Definition 5 The proof system s-resolve is defined by the following parts:</p><p>(1) A formula is a set of linear polynomials { 1 , . . . , s } ⊂ L n , where s ∈ N + .</p><p>(2) The axioms are the Boolean axioms given by {x i , x i + 1} for i = 1, . . . , n .</p><p>(3) There exists one rule of inference (R) , namely</p><formula xml:id="formula_5">s i=1 { i } ∪ G s i=1 { i + 1} ∪ G s−1 i=1 { i + i+1 + 1} ∪ G ∪ G (R)</formula><p>where G, G ⊆ L n and s ≥ 1 . This rule is also called s-resolution. (For s = 1 , we let</p><formula xml:id="formula_6">s−1 i=1 { i + i+1 + 1} = ∅.)</formula><p>The result of an application of the s-resolution rule is called an s-resolvent.</p><p>Let us note that the Boolean axioms immediately imply the following remark.</p><p>Remark 6 By applying 2-resolution to the axioms {x i , x i +1} and {x i +1, x i } , we obtain that {0} is a tautology in the s-resolve proof system.</p><p>In <ref type="bibr" target="#b5">[6]</ref> we showed that s -resolve is correct in the sense of the following definition.</p><p>Definition 7 Let (I) be a rule of inference of a proof system. We say that the rule of inference (I) is correct if</p><formula xml:id="formula_7">F 1 F 2 . . . F m H (I) for some formulas F 1 , . . . , F m , H implies F 1 , . . . , F m |= H .</formula><p>For s ≥ 3 , the s -resolution rule depends e.g. on the numbering of the linear polynomials. (2-resolvents are unique because there is only one way how to form the linear polynomial 1 + 2 +1 .) However, considered as a Boolean polynomial, the s-resolvent is uniquely determined. The next example is a point in case. Definition 9 The proof system SRES is defined by the following parts.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Example 8 Resolving two sets</head><formula xml:id="formula_8">F = {x 1 + 1, x 1 + x 3 , x 1 + x 2 + 1, x 2 + x 3 + 1} and G = {x 1 , x 1 + x 3 + 1, x 1 + x 2 , x 2 + x 3 } with the numbering 1 = x 1 + 1 , 2 = x 1 + x 3 , 3 = x 1 + x 2 + 1 , 4 = x 2 + x 3 + 1 yields the 4-resolvent R 1 = {x 3 , x 2 + x 3 , x 1 + x 3 + 1}. If we swap the last two polynomials in G, 4 -resolution with the numbering 1 = x 1 + 1 , 2 = x 1 + x 3 , 4 = x 1 + x 2 + 1 , 3 = x 2 + x 3 + 1 yields R 2 = {x 3 , x 1 + x 2 , x 1 + x 3 + 1}. Both</formula><p>(1) The syntax agrees with the syntax of s -resolve, i.e. a formula is a set of linear polynomials { 1 , . . . , s } ⊂ L n , where s ∈ N + . (2) The axioms are the Boolean axioms {x i , x i + 1} for i = 1, . . . , n .</p><p>(3) The rules of inference consist of s-resolution (R) and the following weakening rule (W) :</p><formula xml:id="formula_9">H H ∪ { } (W) for H ⊆ L n and ∈ L n .</formula><p>Since we trivially have H |= H ∪ { } , the proof system SRES is correct with respect to semantic implication. Next we recall the definition of a proof.</p><p>Definition 10 Let PS be a proof system. A PS-proof of a formula H from the initial premises F 1 , . . . , F m in the proof system PS is a sequence of formulas π = (G 1 , . . . , G k ) such that G k = H and each of the formulas G i is of one of the following forms:</p><p>(1) G i ∈ {F 1 , . . . , F m } (2) G i is one of the axioms of PS.</p><p>(3) G i is obtained from some of the formulas G j with j &lt; i by applying one of the rules of inference of the proof system PS.</p><p>If a formula H has a PS-proof from {F 1 , . . . , F m } , we write F 1 , . . . , F m PS H , or simply F 1 , . . . , F m H if no confusion can arise. Since the proof system SRES is correct, our goal to refute {F 1 , . . . , F m } can now be expressed by asking that we should prove F 1 , . . . , F m {1}. Notice that the intended semantics is that an unsatisfiable formula corresponds to polynomial equations i,1 • • • i,s = 0 for i ∈ {1, . . . , m} which has no solution. Equivalently, a tautology is an equation which holds for all points of F n 2 . A proof can be seen as a sequence of applications of rules to axioms or previously proved tautologies.</p><p>Next we extend the capabilities of our proof system by deriving the following further rules of inference.</p><p>Definition 11 Let F, G be subsets of L n , and let , 1 , 2 ∈ L n .</p><p>(1) The rule (U) defined by</p><formula xml:id="formula_10">H ∪ {1} H (U)</formula><p>is called unit cancellation.</p><p>(2) The rule (MP) defined by</p><formula xml:id="formula_11">{ } H ∪ { + 1} H (MP)</formula><p>is called modus ponens.</p><p>(3) The rule (A) defined by</p><formula xml:id="formula_12">F ∪ { 1 } H ∪ { 2 } F ∪ H ∪ { 1 + 2 } (A)</formula><p>is called the addition rule.</p><p>Proposition <ref type="bibr" target="#b11">12</ref> The rules (U) , (MP) , and (A) are correct. Furthermore, any proof derived using (U), (MP) and (A) can be rewritten into an SRES-proof.</p><p>Proof. The correctness of (U) follows from the observation that multiplying a Boolean polynomial by 1 does not change its zeros. Using Remark 6 we apply 1 -resolution on H ∪ {1} and {0}, and we get H . To prove modus ponens it suffices to use (R) with s = 1 and G = ∅. Finally, we show the correctness of (A) . Using the weakening rule, we infer F ∪ { 1 , 2 + 1} from F ∪ { 1 } and H ∪{ 2 , 1 +1} from H ∪{ 2 } . Then, using 2 -resolution, we get F ∪H ∪{ 1 + 2 } .</p><p>The following remark and the subsequent proposition will become important later in the proof of Proposition 18.</p><p>Remark 13 Let π = (H 1 , . . . , H k ) be an SRES-proof of H k from F 1 , . . . , F m that uses only the s-resolution rule. Let be an element of one of the sets H i . Then lies in the F 2 -vector space generated by the linear polynomials contained in the union m i=1 F i .</p><p>Proposition 14 Let F ⊆ L n and let i ∈ {1, . . . , n}. For a ∈ {0, 1} , let F (x i → a) denote the set which is obtained by substituting x i → a into the linear polynomials contained in F . Then the following claims hold true for i ∈ {1, . . . , n}.</p><formula xml:id="formula_13">(1) F, {x i } SRES F (x i → 0) (2) F (x i → 0), {x i } SRES F (3) F, {x i + 1} SRES F (x i → 1) (4) F (x i → 1), {x i + 1} SRES F</formula><p>Proof. First we prove <ref type="bibr" target="#b0">(1)</ref>. Let ∈ F be such that x i occurs in . The polynomial x i + corresponds to substituting x i = 0 into . This addition can be derived in SRES using Proposition 12. The claims (2)-( <ref type="formula">4</ref>) follow analogously from Proposition 12.</p><p>The next example illustrates this proposition.</p><p>Example 15 Let F 1 = {x 1 + x 2 , x 1 } and F 2 = {x 1 + 1} . By Proposition 12, there exists an SRES-proof of the set {x 2 + 1, 1} from F 1 , F 2 which corresponds to the substitution of x 1 = 1 into F 1 . On the other hand, we can "backtrack" the substitution, i.e. we have</p><formula xml:id="formula_14">F 2 , {x 2 + 1, 1} SRES F 1 .</formula><p>The following example shows an important advantage of the SRES proof system over the Gröbner proof system defined in <ref type="bibr" target="#b4">[5]</ref>. More precisely, it shows that the data structures (C1)-(C3) efficiently store dense linear clauses.</p><p>Example 16 Consider the sets</p><formula xml:id="formula_15">F 1 = {x 1 + x 2 , . . . , x n + x n+1 } F 2 = {x 1 + x 2 + 1} F 3 = {x 2 + x 3 + 1} . . . = . . . F n+1 = {x n + x n+1 + 1}</formula><p>On one hand, it is easy to see that the system is inconsistent because substituting F 2 , . . . , F n+1 into F 1 gives us 1 . On the other hand, the input for the Gröbner basis algorithm is assumed to be expanded (i.e., not in the form of products of linear polynomials). We can always find n ∈ N such that expanding F 1 to the polynom f 1 = n i=1 (x i + x i+1 ) , which has 2 n terms, exceeds the available memory, and hence any Gröbner basis algorithm can not be applied. Notice that we have size(F 1 ) = 2n .</p><p>One workaround would be to introduce new indeterminates to break the long product, but it does not help too much because the Gröbner basis algorithm substitutes the new indeterminates back, and thus recovers the expanded polynomial F 1 again.</p><p>However, by Proposition 14, there exists a short SRES refutation that corresponds to the substitution of F 2 , . . . , F n+1 into F 1 .</p><p>The following definition provides further useful properties of proof systems.</p><p>Definition 17 (1) A proof system is called implicationally complete if for every formula H and every set of formulas {F 1 , . . . , F m } such that we have F 1 , . . . , F m |= H , there exists a proof of H from F 1 , . . . , F m in this proof system. (2) A proof system is called refutationally complete if for every inconsistent set of formulas {F 1 , . . . , F m } , i.e. for F 1 , . . . , F m |= {1}, there exists a proof of {1} from F 1 , . . . , F m in this proof system.</p><p>The proof of the following proposition is inspired by the corresponding proof for the classical resolution calculus (see for instance <ref type="bibr" target="#b2">[3,</ref><ref type="bibr">Th. 4.1.5]</ref>) and by the proof given in [11, Th. 5.1]) Proposition 18 The proof system SRES is implicationally and refutationally complete.</p><p>Proof. First we show that SRES is implicationally complete. Let F 1 , . . . , F m , H ⊆ L n be sets of linear polynomials such that F 1 , . . . , F m |= H . We want to prove that F 1 , . . . , F m SRES H . We proceed by induction on the number</p><formula xml:id="formula_16">k = size(F 1 ) + • • • + size(F m ) + size(H) .</formula><p>Let us consider the case k = 0 , i.e. the case when all linear polynomials in F i and H are constants 0 or 1. If all sets F 1 , . . . , F m are equal to {0}, there is trivially an SRES-proof of {0}. All the semantic implicants of {0} of size 0 can be derived from {0} by the weakening rule. If there exists a set F i = {1} , then there is trivially an SRES-proof that refutes F 1 , . . . , F m , and hence we can derive any linear clause by the weakening rule and the unit cancellation rule. Finally, if F i = {0, 1}, then F i is simplified to {0} by unit cancellation, and thus we can use the previous argument. Now assume that the claim holds for some k ≥ 0 and consider a semantic implication</p><formula xml:id="formula_17">F 1 , . . . , F m |= H in which the sum of sizes of F 1 , . . . , F m , H is at most k+1 . Choose i ∈ {1, . . . , n} such that x i occurs in F 1 ∪• • •∪F m ∪H . Given a ∈ {0, 1} , let F (x i → a)</formula><p>denote the set which is obtained by substituting x i → a into the linear polynomials contained in F . By Proposition 14, we have F j , {x i } SRES F j (x i → 0) for j = 1, . . . , m . Moreover, we clearly have F 1 (x i → 0), . . . , F m (x i → 0) |= H(x i → 0) . By the induction hypothesis, there is an SRES-proof of H(x i → 0) from F 1 (x i → 0), . . . , F m (x i → 0) . Altogether, we get</p><formula xml:id="formula_18">{x i }, F 1 , . . . , F m SRES H(x i → 0).</formula><p>Furthermore, by Proposition 14, we have H(x i → 0), {x i } SRES H . All in all, there is an SRES-proof π 1 of H from {x i }, F 1 , . . . , F m . Analogously, we get an SRES-proof π 2 of H from {x i + 1}, F 1 , . . . , F m .</p><p>Next we modify the derivations of π 1 (resp. π 2 ) such that they start from</p><formula xml:id="formula_19">{x i , x i + 1}, F 1 , . . . , F m instead of {x i }, F 1 , . . . , F m (resp. {x i + 1}, F 1 , . . . , F m ).</formula><p>Note that the same rules of inference can be applied, and thus one can rewrite the proof π 1 into an SRES-proof α 1 from {x i , x i + 1}, F 1 , . . . , F m of either H or H ∪ {x i }. Similarly, we rewrite π 2 into an SRES-proof α 2 from {x i , x i + 1}, F 1 , . . . , F m of H or H ∪ {x i + 1}. If the proof α 1 or α 2 ends with H , we are done. Otherwise, we have H ∪ {x i }, H ∪ {x i + 1} SRES H by a single step of the 1 -resolution rule, which concludes the proof. The SRES proof system is in fact a combined proof system in the sense of <ref type="bibr" target="#b7">[8,</ref><ref type="bibr">Sec.7.1]</ref>. For instance, R(lin) in <ref type="bibr" target="#b10">[11]</ref> is an another example of a combined proof systems that combines resolution with polynomial calculus. By Proposition 12 we immediately get that SRES efficiently simulates the system R(lin). This means that there exists a polynomial-time algorithm that translates any R(lin)-proof of H from F 1 , . . . , F m to an SRES-proof of H from F 1 , . . . , F m .</p><p>On the other hand, SRES cannot simulate the rule (P a ) of the Gröbner proof system because addition of two products of linear polynomials does not have to be a product of linear polynomials in B n , e.g., x 1 • x 2 + 1 cannot be written as a product of linear polynomials in B 3 .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">The SRES Refutation Algorithm</head><p>In <ref type="bibr" target="#b5">[6]</ref> the authors introduced an algorithm that finds refutation proofs for unsatisfiable formulas in CNF using s-resolution. In this section we generalize this result to formulas that are conjuctions of linear clauses and show that it is refutationally complete in the sense of Definition 17. We recall the following algorithm for computing the s-resolvent of two polynomials which is described in <ref type="bibr" target="#b5">[6]</ref>.</p><formula xml:id="formula_20">Algorithm 1 Sres ( s-Resolution of Two Polynomials) Input: Sets F, G ⊆ L n . We assume that #{ ∈ F | + 1 ∈ G} ≥ 1 . Output: A set R ⊆ L n such that R is the s-resolvent of F and G. 1: Write { ∈ F | + 1 ∈ G} as { 1, . . . , s} . 2: F := { ∈ F | + 1 / ∈ G} 3: G := { ∈ G | + 1 / ∈ F } 4: R := F ∪ G 5: if s = 1 and R = ∅ then 6:</formula><p>return {1} 7: else 8:</p><p>for i = 1, . . . , s − 1 do 9:</p><formula xml:id="formula_21">if i + i+1 / ∈ R then 10: R := R ∪ { i + i+1 + 1} 11: else 12:</formula><p>return {0} 13:</p><p>end if 14:</p><p>end for 15: end if 16: return R Algorithm 2 extends two polynomials by the weakening rule in all possible ways such that s-resolution can be applied. More precisely, this set of extensions is defined as follows.</p><p>Definition 19 Let F, G ⊆ L n . The set of all pairs K ⊆ L n × L n such that the following two conditions hold for all (F , G</p><formula xml:id="formula_22">) ∈ K (1) #{ ∈ F | + 1 ∈ G } ≥ 1 (2) F ∪ G ⊆ F ∪ G ∪ { + 1 | ∈ F ∪ G} is called the set of expansions for F, G .</formula><p>Condition (1) encodes the fact that there exists at least one ∈ L n in F and G on which we can s-resolve. Condition (2) restrains F , G to contain linear polynomials or + 1 such that ∈ F ∪ G. Note that the set of expansions for F, G is unique.</p><p>Algorithm 2 produces the set of expansions in a brute-force way, i.e., Condition ( <ref type="formula">1</ref>) is implemented in Step 10, and Condition ( <ref type="formula" target="#formula_29">2</ref>) is fulfilled because of the two foreach loops in Steps 3, 4.</p><p>Algorithm 2 AllExpansions (All Possible Expansions to s-Resolution)</p><formula xml:id="formula_23">Input: Sets F, G ⊆ L n .</formula><p>Output: The set of expansions for F, G .</p><formula xml:id="formula_24">1: { 1, . . . , k } := { ∈ F | / ∈ G, + 1 / ∈ G} 2: { 1 , . . . , k } := { ∈ G | / ∈ F, + 1 / ∈ F } 3: foreach A ∈ { 1, 1 + 1, 1} × • • • × { k , k + 1, 1} do 4: foreach B ∈ { 1 , 1 + 1, 1} × • • • × { k , k + 1, 1}<label>do 5:</label></formula><p>Write A = (a1, . . . , a k ) . 6:</p><p>Write B = (b1, . . . , b k ) . 7:</p><formula xml:id="formula_25">F := F ∪ k i=1 {ai} 8: G := G ∪ k i=1 {bi} 9:</formula><p>Minimize the representation of F and G by applying unit cancellation, i.e., remove the element 1 from F , G . 10:</p><formula xml:id="formula_26">if #{ ∈ F | + 1 ∈ G } ≥ 1 then 11: K := K ∪ {(F , G )} 12:</formula><p>end if 13:</p><p>end foreach 14: end foreach 15: return K</p><p>The next example shows the generation of the pairs in Algorithm 2.</p><formula xml:id="formula_27">Example 20 Let F = {x 1 , x 2 , x 3 + 1} and G = {x 1 + 1, x 2 , x 4 }. Then we may extend F to F itself, to {x 1 , x 2 , x 3 + 1, x 4 } , or to {x 1 , x 2 , x 3 + 1, x 4 + 1} . Similarly, we may extend G to G , to {x 1 + 1, x 2 , x 4 , x 3 + 1} , or to {x 1 + 1, x 2 , x 4 , x 3 } . Altogether, nine pairs are constructed.</formula><p>Next we process the pairs computed by Algorithm 2 in increasing order with respect to the following ordering relation.</p><formula xml:id="formula_28">Definition 21 Let F, G, F 1 , F 2 , G 1 , G 2 ⊆ L n . (1) We write F G if we have deg(F ) &lt; deg(G) , or if we have deg(F ) = deg(G)</formula><p>and size(F ) &lt; size(G) .</p><p>(</p><formula xml:id="formula_29">) Let #{ ∈ F 1 | + 1 ∈ G 1 } ≥ 1 and #{ ∈ F 2 | + 1 ∈ G 2 } ≥ 1 . We write (F 1 , G 1 ) (F 2 , G 2 ) if Sres(F 1 , G 1 ) Sres(F 2 , G 2 ) .<label>2</label></formula><p>Note that the size of the s-resultants can be determined without actually executing Sres (see <ref type="bibr" target="#b5">[6,</ref><ref type="bibr">Alg. 8]</ref>). Now we are ready to present Algorithm 3 for constructing SRES-refutations. We assume that all sets occurring in the algorithm do not contain duplicates, i.e., that removal of duplicates is applied whenever possible. This is the classical assumption on sets in programming languages such as python. Proof. Finiteness follows from the fact that there are only finitely many linear polynomials in L n . Hence the sets in S are finite, and so is the set P ⊆ L n ×L n .</p><formula xml:id="formula_30">Algorithm 3 SRES Refute (SRES Refutation Algorithm) Input: Subsets F 1 , . . . , F m ⊆ L n such that F i does</formula><p>The algorithm is correct because the SRES inference rules semantically imply their results.</p><p>It remains to show that the algorithm is refutationally complete. Assume that the ideal generated by the polynomials corresponding to the input sets has no common zero. By Proposition 18, we know that there exists an SRES-refutation of F 1 , . . . , F m . The Boolean axiom is incorporated in Step 6, and weakening takes place in the function AllExpansions such that all possible choices to form an s -resolvent are created for all possible s ∈ N + . The s-resolution rule is then applied by calling Sres. Any set Q that is a proper superset of some set already occurring in S is ignored because all possible s -resolvents that would be created using Q are at that time already in P . Thus the algorithm sequentially creates all SRES-derivations from F 1 , . . . , F m . It arranges the computation such that "smaller" sets in terms of size are preferred. Since Proposition 18 shows that there exists an SRES-refutation, the set {1} is eventually discovered by the algorithm.</p><p>The list P in Algorithm 3 can be implemented as a min-heap such that the minimal pair is always easily found and extracted. The number of pairs in P may be huge. Thus it is convenient to compute the s -resolvents only in Step 10. The next example indicates how the pairs can be stored. The s-resolvent is created only if its size is minimal.</p><formula xml:id="formula_31">Example 23 Let F 1 = {x 1 + 1} and F 2 = {x 1 , x 2 }. Algorithm AllExpansions outputs (F 1 , F 2 ) , (F 1 ∪ {x 2 + 1}, F 2 ) , (F 1 ∪ {x 2 }, F 2 ) . The pair (F 1 ∪ {x 2 }, F 2 )</formula><p>can be stored as a tuple (1, {x 2 }, 2, ∅, 1) with the meaning "Sres of F 1 ∪ {x 2 } and F 2 ∪ ∅ has size 1".</p><p>Recall that we need to know the sizes of all s-resultants in P in order to select the minimum. Thus the chosen format is very convenient because the size of the s -resolvent can be predicted as in <ref type="bibr" target="#b5">[6,</ref><ref type="bibr">Alg. 8]</ref> without computing the actual s-resolvents.</p><p>Furthermore, one can form only 2-resolvents in Algorithm 3 since 2-resolution is enough to simulate R(lin) which is implicationally and refutationally complete. However, "extra" linear clauses coming from s-resolution steps with s ≥ 3 may come in handy, and the refutation can be found faster in Algorithm 3.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Examples and Future Directions</head><p>In this section we give some examples of the SRES proof system. Initial experiments on refuting CNF formulae using SRES can be found in <ref type="bibr" target="#b5">[6,</ref><ref type="bibr">Sec. 9]</ref>. Those experiments were focused on comparing resolution with SRES based on CNF benchmarks coming from <ref type="bibr" target="#b9">[10]</ref>. These formulae are hard for classical resolution, but there may exist short refutations in other axiomatic systems of propositional calculus <ref type="bibr" target="#b12">[13]</ref>.</p><p>In the following example taken from <ref type="bibr" target="#b4">[5]</ref>, we compare SRES with algebraic systems such as the Gröbner proof system and the Nullstellensatz system [4, Def. Example 24 Consider the polynomials</p><formula xml:id="formula_32">f 1 = x 1 + x 1 x 2 and f 2 = x 2 + x 2 x 3 in F 2 [x 1 , x 2 , x 3 ]</formula><p>. They encode two implications x 1 → x 2 and x 2 → x 3 . (E.g., if</p><p>x 1 = 1 , then x 2 is constrained to be 1.) Let us write a proof of h = x 1 + x 1 x 3 , i.e., the implication x 1 → x 3 , in the Gröbner proof system. Firstly, we multiply f 2 by x 1 , and we get</p><formula xml:id="formula_33">g 1 = x 1 x 2 + x 1 x 2 x 3 . The addition f 1 + g 1 gives us x 1 + x 1 x 2 x 3 . Then we compute g 2 = x 3 • f 1 = x 1 x 3 + x 1 x 2 x 3 . Finally, we get g 1 + g 2 = x 1 + x 1 x 3 .</formula><p>Note that the maximal degree appearing in the proof is 3 . On the other hand, there exists a Nullstellensatz proof of the maximal degree O(log(n)) of x 1 → x n from x 1 → x 2 , . . . , x n−1 → x n (see <ref type="bibr" target="#b4">[5]</ref>). In our case, the Nullstellensatz proof is the tuple (1 + x 3 , x 1 , 0, 0, 0) because of the equality (1 + x 3 )(x 1 + x 1 x 2 ) + x 1 (x 2 + x 2 x 3 ) = x 1 + x 1 x 3 . Now we write the polynomials f 1 , f 2 as F 1 = {x 1 , 1 + x 2 } and F 2 = {x 2 , 1 + x 3 } . Resolving on x 2 yields H = {x 1 , 1+x 3 } which correponds to the polynomial h. Note that the maximal degree in the proof is now 2, and the SRES proof is simpler than the Gröbner proof.</p><p>Further typical examples that are easy for SRES and difficult for resolution <ref type="bibr" target="#b12">[13]</ref> are inconsistent systems of linear equations. By Proposition 12, SRES simulates the addition rule, and thus one can use Gaußian elimination to produce SRES-refutations for such systems. Recall the encoding into linear clauses in Example 16 is very efficient for SRES, but multiplying out the products causes an exponential blowup. A similar problem emerges in the next example in the case of CNF encodings.</p><p>Example 25 Consider the linear system</p><formula xml:id="formula_34">f 1 = x 1 + • • • + x n , f 2 = x 1 + • • • + x n + 1</formula><p>over F 2 . On one hand, encoding f 1 and f 2 in CNF suffers from introducing either exponentially many auxiliary variables or exponentially many new clauses. On the other hand, by the weakening rule and 2 -resolution we get f 1 (f 2 + 1) + (f 1 + 1)f 2 = 1 in B n immediately.</p><p>Let us conclude this section and this paper with a few remarks about the problem that is solved by Algorithm 3. The traditional way in Computer Algebra is to use Gröbner basis algorithms. As we saw in Example 16, they have serious drawbacks in our setting and tend to run out of memory quickly.</p><p>Another approach is to use a SAT solver, e.g. a version of the DPLL algorithm. However, the DPLL approach needs a huge number of clauses to describe XOR constraints. All in all, the classical DPLL algorithm can be extended to linear clauses in a rather straightforward way, as for instance done in <ref type="bibr" target="#b6">[7]</ref>, but appears to be not very efficient.</p><p>The new approach introduced here, namely the SRES proof system and the SRES Refutation Algorithm, offers the prospect of a new and tailor-made way to treat systems of linear clauses. Besides finding possible optimizations of the implementation, we may enhance it further by combining it with a suitable conflict-learning mechanism such as the ones which lie at the heart of modern SAT solvers. Recall that conflict clauses in SAT solvers can be generated from 1 -resolvents of a cut in the implication graph. Thus, s -resolution may generalize conflict learning in the case of linear clauses or help to improve a separate XORreasoning module such as one introduced in <ref type="bibr" target="#b8">[9]</ref>.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head></head><label></label><figDesc>R 1 and R 2 correspond to the same Boolean polynomial, as we saw in Example 2.Next we enrich s-resolve with a new rule of inference as follows.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>2 . 1 ]</head><label>21</label><figDesc>. Let P = F 2 [x 1 , . . . , x n ] . A Nullstellensatz proof of a polynomial h ∈ P from polynomials f 1 , . . . , f m ∈ P is a tuple of polynomials (p 1 , . . . , p m , r 1 , . . . , r n ) ∈ P m+n such that the equation m i=1 p i f i + n j=1 r j (x 2 j + x j ) = h holds in P . The degree of the proof is defined as max max i deg(p i ) + deg(f i ) , max j deg(r j ) + 2 .</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>not contain any duplicate elements. Output: False if F 1 , . . . , F m |= {1} , True otherwise. Require: Algorithms 1, 2. Proposition 22 Algorithm 3 is correct, refutationally complete, and finite. In particular, the algorithm returns False if and only if F 1 , . . . , F m |= {1}.</figDesc><table><row><cell cols="2">1: S := {F1, . . . , Fm}</cell></row><row><cell cols="2">2: if {1} ∈ S then</cell></row><row><cell>3:</cell><cell>return False</cell></row><row><cell cols="2">4: end if</cell></row><row><cell cols="2">5: Apply unit simplification and cancellation on S .</cell></row><row><cell cols="2">6: {Q1, . . . , Q k } := S ∪ n i=1 {xi, xi + 1}</cell></row><row><cell cols="2">7: Let P be the list containing all pairs computed by AllExpansions(Qi, Qj) for</cell></row><row><cell></cell><cell>1 ≤ i &lt; j ≤ k .</cell></row><row><cell cols="2">8: while P = ∅ do</cell></row><row><cell>9:</cell><cell>Let (F, G) be a minimum of P w.r.t. , and remove (F, G) from P .</cell></row><row><cell>10:</cell><cell>R := Sres (F, G)</cell></row><row><cell>11:</cell><cell>if R = {1} then</cell></row><row><cell>12:</cell><cell>return False</cell></row><row><cell>13:</cell><cell>else if R is not a subset of any Q ∈ S then</cell></row><row><cell>14:</cell><cell>Remove all Q from S with R Q and all pairs (Q1, Q2) from P such that</cell></row><row><cell></cell><cell>R Q1 or R Q2 .</cell></row><row><cell>15:</cell><cell>Append all pairs in AllExpansions(R, G) for G ∈ S, R = G to the list P .</cell></row><row><cell>16:</cell><cell>S := S ∪ {R}</cell></row><row><cell>17:</cell><cell>end if</cell></row><row><cell cols="2">18: end while</cell></row><row><cell cols="2">19: return True</cell></row></table></figure>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Acknowledgments. The authors thank Jan Krajíček and Iddo Tzameret for fruitful discussions on combined proof systems. We thank the anonymous reviewers for their many insightful comments. This work was financially supported by the DFG project "Algebraische Fehlerangriffe" [KR 1907/6-2].</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">The taming of the (X)OR</title>
		<author>
			<persName><forename type="first">P</forename><surname>Baumgartner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Massacci</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Computational LogicCL</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2000">2000. 2000</date>
			<biblScope unit="page" from="508" to="522" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">The relation between polynomial calculus, Sherali-Adams, and sum-of-squares proofs</title>
		<author>
			<persName><forename type="first">C</forename><surname>Berkholz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">LIPIcs-Leibniz International Proceedings in Informatics</title>
				<imprint>
			<publisher>Schloss Dagstuhl</publisher>
			<date type="published" when="2018">2018</date>
			<biblScope unit="volume">96</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">Propositional logic: deduction and algorithms</title>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">K</forename><surname>Büning</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Lettmann</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1999">1999</date>
			<publisher>Cambridge University Press</publisher>
			<biblScope unit="volume">48</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Proof complexity in algebraic systems and bounded depth frege systems with modular counting</title>
		<author>
			<persName><forename type="first">S</forename><surname>Buss</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Impagliazzo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Krajíček</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Pudlák</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">A</forename><surname>Razborov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Sgall</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computational Complexity</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="256" to="298" />
			<date type="published" when="1996">1996</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Using the Groebner basis algorithm to find proofs of unsatisfiability</title>
		<author>
			<persName><forename type="first">M</forename><surname>Clegg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Edmonds</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Impagliazzo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 28th Annual ACM Symposium on the Theory of Computing</title>
				<meeting>the 28th Annual ACM Symposium on the Theory of Computing<address><addrLine>New York, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="1996">1996</date>
			<biblScope unit="page" from="174" to="183" />
		</imprint>
	</monogr>
	<note>STOC &apos;96</note>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<title level="m" type="main">On conversions from CNF to ANF</title>
		<author>
			<persName><forename type="first">J</forename><surname>Horáček</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Kreuzer</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
	<note>submitted</note>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Lower bounds for splittings by linear combinations</title>
		<author>
			<persName><forename type="first">D</forename><surname>Itsykson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Sokolov</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Symposium on Mathematical Foundations of Computer Science</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2014">2014</date>
			<biblScope unit="page" from="372" to="383" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m" type="main">Proof complexity</title>
		<author>
			<persName><forename type="first">J</forename><surname>Krajicek</surname></persName>
		</author>
		<ptr target="https://www.karlin.mff.cuni.cz/krajicek/prfdraft2.pdf" />
		<imprint>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
	<note>book draft</note>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Conflict-driven xor-clause learning</title>
		<author>
			<persName><forename type="first">T</forename><surname>Laitinen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Junttila</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Niemelä</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Theory and Applications of Satisfiability Testing -SAT 2012</title>
				<editor>
			<persName><forename type="first">A</forename><surname>Cimatti</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">R</forename><surname>Sebastiani</surname></persName>
		</editor>
		<meeting><address><addrLine>Berlin, Heidelberg; Berlin Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2012">2012</date>
			<biblScope unit="page" from="383" to="396" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">CNFgen: A generator of crafted benchmarks</title>
		<author>
			<persName><forename type="first">M</forename><surname>Lauria</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Elffers</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Nordström</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Vinyals</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Theory and Applications of Satisfiability Testing -SAT 2017</title>
				<editor>
			<persName><forename type="first">S</forename><surname>Gaspers</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">T</forename><surname>Walsh</surname></persName>
		</editor>
		<meeting><address><addrLine>Cham</addrLine></address></meeting>
		<imprint>
			<publisher>Springer International Publishing</publisher>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page" from="464" to="473" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Resolution over linear equations and multilinear proofs</title>
		<author>
			<persName><forename type="first">R</forename><surname>Raz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Tzameret</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Annals of Pure and Applied Logic</title>
		<imprint>
			<biblScope unit="volume">155</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="194" to="224" />
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Extending SAT solvers to cryptographic problems</title>
		<author>
			<persName><forename type="first">M</forename><surname>Soos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Nohl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Castelluccia</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Theory and Applications of Satisfiability Testing</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="244" to="257" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Hard examples for resolution</title>
		<author>
			<persName><forename type="first">A</forename><surname>Urquhart</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J. ACM</title>
		<imprint>
			<biblScope unit="volume">34</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="209" to="219" />
			<date type="published" when="1987-01">Jan. 1987</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
