SAT Solving Using XOR-OR-AND Normal Forms

Bernhard Andraschko Fakultät für Informatik und Mathematik
Universität Passau, D-94030 Passau, Germany
[email protected]
   Julian Danner Fakultät für Informatik und Mathematik
Universität Passau, D-94030 Passau, Germany
[email protected]
   Martin Kreuzer Fakultät für Informatik und Mathematik
Universität Passau, D-94030 Passau, Germany
[email protected]
(24.10.2024)
Abstract

This paper introduces the XOR-OR-AND normal form (XNF) for logical formulas. It is a generalization of the well-known Conjunctive Normal Form (CNF) where literals are replaced by XORs of literals. As a first theoretic result, we show that every CNF formula is equisatisfiable to a formula in 2-XNF, i.e., a formula in XNF where each clause involves at most two XORs of literals. Subsequently, we present an algorithm which converts Boolean polynomials efficiently from their Algebraic Normal Form (ANF) to formulas in 2-XNF. Experiments with the cipher ASCON-128 show that cryptographic problems, which by design are based strongly on XOR-operations, can be represented using far fewer variables and clauses in 2-XNF than in CNF. In order to take advantage of this compact representation, new SAT solvers based on input formulas in 2-XNF need to be designed. By taking inspiration from graph-based 2-CNF SAT solving, we devise a new DPLL-based SAT solver for formulas in 2-XNF. Among others, we present advanced pre- and in-processing techniques. Finally, we give timings for random 2-XNF instances and instances related to key recovery attacks on round reduced ASCON-128, where our solver outperforms state-of-the-art alternative solving approaches.

Key words and phrases:
SAT solving, XOR constraint, algebraic normal form, implication graph, cryptographic attack
1991 Mathematics Subject Classification:
03B70; 13P15; 05C90; 94A60

1. Introduction

SAT solvers are programs which decide the Boolean Satisfiability Problem for propositional logic formulas. In the last decades there has been a substantial effort to improve their performance, and they have grown into versatile tools for tackling computational problems in various domains such as automatic theorem proving, graph theory, hardware verification, artificial intelligence, and cryptanalysis.

Especially problems from the latter domain have been shown to be hard for conventional SAT solvers that take a conjunctive normal form (CNF) as input. Although many new attacks on cryptosystems and other cryptographic protocols have been designed based on the idea of encoding the computational problem as an instance for CNF-based SAT solvers (see for instance [20, 23, 29, 31, 33, 34]), many problems are still out of range (e.g., see [14, 20]). This can be mainly attributed to the fact that cryptographic primitives are often built using exclusive disjunctions (XORs) of variables which lead to an exponential blow-up when encoded in CNF.

To speed up the performance of SAT solvers for such instances, one can either try to modify the problem encodings such that they lead to smaller instances (see [11, 28, 29]), or one can try to improve the solving strategy altogether. For example, the latter approach has been pursued by attempts to integrate support for XOR constraints on the input variables (see [24, 36, 39, 41]) or by combining logical SAT solving with algebraic reasoning (see [11, 26]). While purely algebraic solving techniques (as developed for instance in [9, 12, 13]) have had some success in cryptanalysis (e.g., see [4, 10, 14]), a very promising line of research seems to be to combine logic and algebraic solving paradigms.

One such attempt was initiated in [27] and refined in [26], where a new proof system called 𝚜-𝚁𝚎𝚜𝚜-𝚁𝚎𝚜\mathtt{s\text{-}Res}typewriter_s - typewriter_Res was introduced. Its input are products of linear Boolean polynomials, or, in the language of logic, disjunctions of XORs of literals. Thus the 𝚜-𝚁𝚎𝚜𝚜-𝚁𝚎𝚜\mathtt{s\text{-}Res}typewriter_s - typewriter_Res proof system is innately suitable for dealing with cryptanalytic instances, as these tend to be rich in XOR connectives. The core inference rule of 𝚜-𝚁𝚎𝚜𝚜-𝚁𝚎𝚜\mathtt{s\text{-}Res}typewriter_s - typewriter_Res is called s𝑠sitalic_s-resolution. It is both a generalization of the classical resolution rule of propositional logic and of Buchberger’s S-polynomials which form the basis of Gröbner basis computations (see [30]). In [26] and [27] initial DPLL-based refutation methods utilizing s𝑠sitalic_s-resolvents were introduced. As of today, no highly efficient implementation of these algorithms exists, and procedures to use 𝚜-𝚁𝚎𝚜𝚜-𝚁𝚎𝚜\mathtt{s\text{-}Res}typewriter_s - typewriter_Res for finding satisfying assignments are lacking as well.

In the first part of this paper we strive to develop efficient methods for converting propositional logic formulas to suitable inputs for 𝚜-𝚁𝚎𝚜𝚜-𝚁𝚎𝚜\mathtt{s\text{-}Res}typewriter_s - typewriter_Res type proof systems. After recalling some basic definitions and properties of the ring of Boolean polynomials in Section 2, we introduce and study a new XOR-based normal form in Section 3. More precisely, the new normal form is called the XOR-OR-AND normal form (XNF) for propositional logic formulas (see Definition 3.2). It generalizes the CNF by replacing the literals with XORs of literals which we simply call linerals. From an algebraic perspective, a lineral corresponds to a linear Boolean polynomial, and a disjunction of linerals corresponds to a product of linear Boolean polynomials. Using this identification, one sees that formulas in XNF occur naturally in the proof system 𝚜-𝚁𝚎𝚜𝚜-𝚁𝚎𝚜\mathtt{s\text{-}Res}typewriter_s - typewriter_Res. Since XNF generalizes CNF, it is clear that every propositional logic formula is equivalent to one in XNF.

While conversions from the algebraic normal form (ANF) of a Boolean polynomial to the CNF of the corresponding propositional logic formula and back have been studied carefully (see for instance [11, 28, 29]), conversions to systems offering some native support for XOR have been introduced only sparingly and elaborated much less systematically (see [32, 36, 39]).

It is well-known that one can introduce new variables and convert every Boolean polynomial system to one involving only polynomials of degree at most two. Here we show that, in fact, every XNF formula is equisatisfiable to one in 2-XNF, i.e., to an instance of XNF where each clause involves at most two linerals (see Proposition 3.7). Algebraically speaking, systems of quadratic Boolean polynomial equations can be transformed to systems consisting of products of at most two linear polynomials. Furthermore, we try to optimize this transformation by introducing as few additional variables as possible (see Propositions 3.15 and 3.17). To illustrate the potential of the conversion to 2-XNF, we apply it to instances related to algebraic attacks on the cipher 𝙰𝚜𝚌𝚘𝚗-𝟷𝟸𝟾𝙰𝚜𝚌𝚘𝚗-128\mathtt{Ascon\text{-}128}typewriter_Ascon - typewriter_128  (see [18]) which was recently selected for standardization by NIST for lightweight cryptography. We get 2-XNF representations which are substantially more compact than state-of-the-art representations in CNF (see Example 3.22).

In the second part of the paper we make use of this 2-XNF representation and take the first few steps towards translating the foundations of efficient CNF-based SAT solving to XNF-based SAT solving. In particular, using ideas based on efficient 2-CNF solvers and CNF pre-processing (see [5, 25]), we develop a graph based 2-XNF solver. To start with, we define an implication graph structure (IGS) (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ) for a given formula F𝐹Fitalic_F which consists of a set L𝐿Litalic_L of linear Boolean polynomials known to be in the ideal IFsubscript𝐼𝐹I_{F}italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT, which is the algebraic representation of F𝐹Fitalic_F, and a directed graph (V,E)𝑉𝐸(V,E)( italic_V , italic_E ) whose edges (f,g)𝑓𝑔(f,g)( italic_f , italic_g ) mean that fIF𝑓subscript𝐼𝐹f\in I_{F}italic_f ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT implies gIF𝑔subscript𝐼𝐹g\in I_{F}italic_g ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT (see Definition 4.1 and Remark 4.2). Our solving algorithm then starts with a trivial IGS for F𝐹Fitalic_F (see Remark 4.4) and simplifies it using a suitable ordering on the IGSs (see Definition 4.6). Then we gradually improve the IGS by propagation, in-processing and guessing until we arrive at an implication graph structure with an empty graph, i.e., a case where the corresponding ideal is generated by linear polynomials. Given that the guesses were correct, a satisfying assignment for F𝐹Fitalic_F can be deduced immediately from a solution of the corresponding system of linear equations. The improvement of an IGS is measured in terms of the size of the linear part L𝐿Litalic_L and in the size of the graph (V,E)𝑉𝐸(V,E)( italic_V , italic_E ).

Propagation is achieved using a generalization of the classical Boolean constraint propagation which we call Gaußian Constraint Propagation (see Proposition 4.8). Two pre-processing methods are examined which yield new linear forms or new edges for the IGS (see Proposition 4.10). Unfortunately, they are too expensive to be executed repeatedly during the main solving procedure. For such in-processing methods, we provide two more efficient suggestions. Firstly, using the calculation of strongly connected components of (V,E)𝑉𝐸(V,E)( italic_V , italic_E ), we are able to reach an acyclic graph (see Proposition 4.13). Secondly, we introduce the notion of failed linerals (see Definition 4.14) and apply them in order to learn new linear polynomials in IFsubscript𝐼𝐹I_{F}italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT (see Proposition 4.17).

Several heuristics for producing good decisions for an IGS, i.e., for making good guesses (see Definition 4.20) are discussed next. Moreover, we offer some suggestions how to implement these heuristics efficiently (see Remarks 4.22 and 4.23). Finally, we combine everything and present our new graph-based 2-XNF solver (see Proposition 4.24) together with suggestions how to implement it well using suitable data structures (see Remark 4.25).

The last section contains the results of some experiments and comparisons to established CNF-based SAT solvers, especially ones that offer some support for XOR constraints. Usually, they allow separate XOR constraints on variables in addition to a CNF, a type of input that is known as CNF-XOR. One of the first solvers for such formulas was described in [38, 39] and is implemented in 𝙲𝚛𝚢𝚙𝚝𝚘𝙼𝚒𝚗𝚒𝚂𝚊𝚝𝙲𝚛𝚢𝚙𝚝𝚘𝙼𝚒𝚗𝚒𝚂𝚊𝚝\mathtt{CryptoMiniSat}typewriter_CryptoMiniSat. Another one is 𝚡𝚗𝚏𝚂𝙰𝚃𝚡𝚗𝚏𝚂𝙰𝚃\mathtt{xnfSAT}typewriter_xnfSAT (see [36]) which uses stochastic local search methods for CNF-XOR inputs. The solver 𝙱𝚘𝚜𝚙𝚑𝚘𝚛𝚞𝚜𝙱𝚘𝚜𝚙𝚑𝚘𝚛𝚞𝚜\mathtt{Bosphorus}typewriter_Bosphorus allows ANF and CNF inputs, but no CNF-XOR inputs (see [11]). Moreover, we compare our method with the winner of the 2023 SAT competition 𝚂𝙱𝚅𝙰-𝙲𝚊𝙳𝚒𝙲𝚊𝙻𝚂𝙱𝚅𝙰-𝙲𝚊𝙳𝚒𝙲𝚊𝙻\mathtt{SBVA{\text{-}}CaDiCaL}typewriter_SBVA - typewriter_CaDiCaL (see [22]) which admits CNF formulas.

In our experiments we compare the new 2-XNF solver using the three decision heuristics explained in Section 4 to the CNF-XOR solvers 𝙲𝚛𝚢𝚙𝚝𝚘𝙼𝚒𝚗𝚒𝚂𝚊𝚝𝙲𝚛𝚢𝚙𝚝𝚘𝙼𝚒𝚗𝚒𝚂𝚊𝚝\mathtt{CryptoMiniSat}typewriter_CryptoMiniSat and 𝚡𝚗𝚏𝚂𝙰𝚃𝚡𝚗𝚏𝚂𝙰𝚃\mathtt{xnfSAT}typewriter_xnfSAT, to the algebraic solver 𝙿𝚘𝚕𝚢𝙱𝚘𝚁𝚒𝙿𝚘𝚕𝚢𝙱𝚘𝚁𝚒\mathtt{PolyBoRi}typewriter_PolyBoRi (see [9]), to a brute force XNF solver 𝚡𝚗𝚏_𝚋𝚏𝚡𝚗𝚏_𝚋𝚏\mathtt{xnf{\_\kern 1.00006pt}bf}typewriter_xnf _ typewriter_bf, and to the CNF solver 𝚂𝙱𝚅𝙰-𝙲𝚊𝙳𝚒𝙲𝚊𝙻𝚂𝙱𝚅𝙰-𝙲𝚊𝙳𝚒𝙲𝚊𝙻\mathtt{SBVA{\text{-}}CaDiCaL}typewriter_SBVA - typewriter_CaDiCaL. We created timings for two types of inputs. The first type are random 2-XNF instances. It turns out that our graph based 2-XNF solver involving merely some basic DPLL techniques outperforms state-of-the-art solving approaches on small random instances, both for satisfiable and unsatisfiable cases (see Figures 4(a) and 4(b)).

The second type of experiments was to try the solvers on key recovery attacks for round reduced versions of the 𝙰𝚜𝚌𝚘𝚗-𝟷𝟸𝟾𝙰𝚜𝚌𝚘𝚗-128\mathtt{Ascon\text{-}128}typewriter_Ascon - typewriter_128 cryptosystem. This lightweight cipher was recently selected for standardization by NIST. Again it turns out that, even with our very simple decision heuristics, the graph based 2-XNF solver performs surprisingly well (see Figure 5). Here it may be worthwhile to note that some of these round reduced key recovery attacks can be solved already in the pre-processing phase. Altogether, one main advantage of XNF solving is that the more compact problem representations require fewer decisions, and this leads to meaningful speed-ups. Finally, let us point out that the desirable extension of XNF solving to include CDCL techniques is not straightforward and will require non-trivial new tools.

Due to its simpler description, we chiefly use the algebraic point of view when we work with formulas in XNF, i.e., we regard them as products of linear Boolean polynomials. Unless explicitly noted otherwise, we use the definitions and notation introduced in [28] and [30]. The algorithms of Section 3 were implemented by B. Andraschko and the solving methods of Section 4 by J. Danner. All source code is available at https://github.com/j-danner/2xnf_sat_solving.

2. The Ring of Boolean Polynomials

Throughout this paper we let 𝔽2subscript𝔽2{\mathbb{F}}_{2}blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT be the field with two elements, n+𝑛subscriptn\in{\mathbb{N}}_{+}italic_n ∈ blackboard_N start_POSTSUBSCRIPT + end_POSTSUBSCRIPT, and P=𝔽2[X1,,Xn]𝑃subscript𝔽2subscript𝑋1subscript𝑋𝑛P={\mathbb{F}}_{2}[X_{1},\dots,X_{n}]italic_P = blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT [ italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_X start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ] the polynomial ring over 𝔽2subscript𝔽2{\mathbb{F}}_{2}blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT in the indeterminates X1,,Xnsubscript𝑋1subscript𝑋𝑛X_{1},\dots,X_{n}italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_X start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. Recall that the ring of Boolean polynomials is

𝔹n=P/X12X1,,Xn2Xnsubscript𝔹𝑛𝑃superscriptsubscript𝑋12subscript𝑋1superscriptsubscript𝑋𝑛2subscript𝑋𝑛{\mathbb{B}}_{n}\;=\;P/\langle X_{1}^{2}-X_{1},\dots,X_{n}^{2}-X_{n}\rangleblackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = italic_P / ⟨ italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_X start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - italic_X start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ⟩

where 𝕀n=X12X1,,Xn2Xnsubscript𝕀𝑛superscriptsubscript𝑋12subscript𝑋1superscriptsubscript𝑋𝑛2subscript𝑋𝑛{\mathbb{I}}_{n}=\langle X_{1}^{2}-X_{1},\dots,X_{n}^{2}-X_{n}\rangleblackboard_I start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = ⟨ italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_X start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - italic_X start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ⟩ is also called the field ideal in P𝑃Pitalic_P. Whenever additional indeterminates are required, we write

𝔹n,m=𝔽2[X1,,Xn,Y1,,Ym]/𝕀n,msubscript𝔹𝑛𝑚subscript𝔽2subscript𝑋1subscript𝑋𝑛subscript𝑌1subscript𝑌𝑚subscript𝕀𝑛𝑚{\mathbb{B}}_{n,m}\;=\;{\mathbb{F}}_{2}[X_{1},\dots,X_{n},Y_{1},\dots,Y_{m}]/{% \mathbb{I}}_{n,m}blackboard_B start_POSTSUBSCRIPT italic_n , italic_m end_POSTSUBSCRIPT = blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT [ italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_X start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_Y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_Y start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ] / blackboard_I start_POSTSUBSCRIPT italic_n , italic_m end_POSTSUBSCRIPT

where 𝕀n,m=X12X1,,Xn2Xn,Y12Y1,,Ym2Ymsubscript𝕀𝑛𝑚superscriptsubscript𝑋12subscript𝑋1superscriptsubscript𝑋𝑛2subscript𝑋𝑛superscriptsubscript𝑌12subscript𝑌1superscriptsubscript𝑌𝑚2subscript𝑌𝑚{\mathbb{I}}_{n,m}=\langle X_{1}^{2}-X_{1},\dots,X_{n}^{2}-X_{n},Y_{1}^{2}-Y_{% 1},\dots,Y_{m}^{2}-Y_{m}\rangleblackboard_I start_POSTSUBSCRIPT italic_n , italic_m end_POSTSUBSCRIPT = ⟨ italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_X start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - italic_X start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_Y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - italic_Y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_Y start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - italic_Y start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ⟩. For i{1,,n}𝑖1𝑛i\in\{1,\dots,n\}italic_i ∈ { 1 , … , italic_n } and j{1,,m}𝑗1𝑚j\in\{1,\dots,m\}italic_j ∈ { 1 , … , italic_m }, we denote the residue class of Xisubscript𝑋𝑖X_{i}italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT in 𝔹nsubscript𝔹𝑛{\mathbb{B}}_{n}blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT and 𝔹n,msubscript𝔹𝑛𝑚{\mathbb{B}}_{n,m}blackboard_B start_POSTSUBSCRIPT italic_n , italic_m end_POSTSUBSCRIPT by xisubscript𝑥𝑖x_{i}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and the residue class of Yjsubscript𝑌𝑗Y_{j}italic_Y start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT in 𝔹n,msubscript𝔹𝑛𝑚{\mathbb{B}}_{n,m}blackboard_B start_POSTSUBSCRIPT italic_n , italic_m end_POSTSUBSCRIPT by yjsubscript𝑦𝑗y_{j}italic_y start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT. These residue classes will be called the indeterminates of 𝔹nsubscript𝔹𝑛{\mathbb{B}}_{n}blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT and 𝔹n,msubscript𝔹𝑛𝑚{\mathbb{B}}_{n,m}blackboard_B start_POSTSUBSCRIPT italic_n , italic_m end_POSTSUBSCRIPT, respectively, and the elements of these rings are called Boolean polynomials.

Every Boolean polynomial f𝔹n𝑓subscript𝔹𝑛f\in{\mathbb{B}}_{n}italic_f ∈ blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT can be uniquely written as a sum of distinct square-free terms, where a term is a product of distinct residue classes xisubscript𝑥𝑖x_{i}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. This is known as the algebraic normal form (ANF) of f𝑓fitalic_f. (See for instance [26, Sec. 2.1] or [8] for an in-depth study of ANFs.) Altogether, we have 𝔹n=𝔽2[x1,,xn]subscript𝔹𝑛subscript𝔽2subscript𝑥1subscript𝑥𝑛{\mathbb{B}}_{n}={\mathbb{F}}_{2}[x_{1},\dots,x_{n}]blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT [ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ] as an 𝔽2subscript𝔽2{\mathbb{F}}_{2}blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT-algebra and dim𝔽2(𝔹n)=2nsubscriptdimensionsubscript𝔽2subscript𝔹𝑛superscript2𝑛\dim_{{\mathbb{F}}_{2}}({\mathbb{B}}_{n})=2^{n}roman_dim start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) = 2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT.

Given f𝔹n{0}𝑓subscript𝔹𝑛0f\in{\mathbb{B}}_{n}\setminus\{0\}italic_f ∈ blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ∖ { 0 } in ANF, replacing each xisubscript𝑥𝑖x_{i}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT by Xisubscript𝑋𝑖X_{i}italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT yields its canonical representative FP𝐹𝑃F\in Pitalic_F ∈ italic_P. Then the support of f𝑓fitalic_f is Supp(f)={t+𝕀ntSupp(F)}Supp𝑓conditional-set𝑡subscript𝕀𝑛𝑡Supp𝐹\operatorname{Supp}(f)=\{t+{\mathbb{I}}_{n}\mid t\in\operatorname{Supp}(F)\}roman_Supp ( italic_f ) = { italic_t + blackboard_I start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ∣ italic_t ∈ roman_Supp ( italic_F ) } and the degree of f𝑓fitalic_f is given by

deg(f)=min{deg(F)FP,f=F+𝕀n}.degree𝑓conditionaldegree𝐹𝐹𝑃𝑓𝐹subscript𝕀𝑛\deg(f)\;=\;\min\{\deg(F)\mid F\in P,\;f=F+{\mathbb{I}}_{n}\}.roman_deg ( italic_f ) = roman_min { roman_deg ( italic_F ) ∣ italic_F ∈ italic_P , italic_f = italic_F + blackboard_I start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT } .

The 𝔽2subscript𝔽2{\mathbb{F}}_{2}blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT-linear span of all Boolean polynomials of degree 1absent1\leq 1≤ 1 plays a major role subsequently. It is denoted by

𝕃n=1,x1,,xn𝔽2=𝔽2𝔽2x1𝔽2xnsubscript𝕃𝑛subscript1subscript𝑥1subscript𝑥𝑛subscript𝔽2direct-sumsubscript𝔽2subscript𝔽2subscript𝑥1subscript𝔽2subscript𝑥𝑛{\mathbb{L}}_{n}\;=\;\langle 1,x_{1},\dots,x_{n}\rangle_{\mathbb{F}_{2}}\;=\;{% \mathbb{F}}_{2}\oplus{\mathbb{F}}_{2}\,x_{1}\oplus\cdots\oplus{\mathbb{F}}_{2}% \,x_{n}blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = ⟨ 1 , italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⊕ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊕ ⋯ ⊕ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT

and called the vector space of linear Boolean polynomials. (Note that 𝕃nsubscript𝕃𝑛{\mathbb{L}}_{n}blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT includes the element 1.)

In Section 4 we also need division with remainders for Boolean polynomial rings. Let σ𝜎\sigmaitalic_σ be a term ordering on P𝑃Pitalic_P, and let f,g1,,gs𝔹n𝑓subscript𝑔1subscript𝑔𝑠subscript𝔹𝑛f,g_{1},\dots,g_{s}\in{\mathbb{B}}_{n}italic_f , italic_g start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_g start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∈ blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT be Boolean polynomials in ANF. Let F,G1,,GsP𝐹subscript𝐺1subscript𝐺𝑠𝑃F,G_{1},\dots,G_{s}\in Pitalic_F , italic_G start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_G start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∈ italic_P be the canonical representatives of f,g1,,gs𝑓subscript𝑔1subscript𝑔𝑠f,g_{1},\dots,g_{s}italic_f , italic_g start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_g start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT, respectively. Then the normal remainder of f𝑓fitalic_f under the division by G=(g1,,gs)𝐺subscript𝑔1subscript𝑔𝑠G=(g_{1},\dots,g_{s})italic_G = ( italic_g start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_g start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) is defined by

NRσ,G(f)=NRσ,(G1,,Gs)(F)+𝕀n.subscriptNR𝜎𝐺𝑓subscriptNR𝜎subscript𝐺1subscript𝐺𝑠𝐹subscript𝕀𝑛\operatorname{NR}_{\sigma,G}(f)\;=\;\operatorname{NR}_{\sigma,(G_{1},\dots,G_{% s})}(F)+{\mathbb{I}}_{n}.roman_NR start_POSTSUBSCRIPT italic_σ , italic_G end_POSTSUBSCRIPT ( italic_f ) = roman_NR start_POSTSUBSCRIPT italic_σ , ( italic_G start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_G start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) end_POSTSUBSCRIPT ( italic_F ) + blackboard_I start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT .

Moreover, we denote the ordering induced by σ𝜎\sigmaitalic_σ on the terms in 𝔹nsubscript𝔹𝑛{\mathbb{B}}_{n}blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT by σ𝜎\sigmaitalic_σ again and call LTσ(f)=LTσ(F)+𝕀nsubscriptLT𝜎𝑓subscriptLT𝜎𝐹subscript𝕀𝑛\mathop{\rm LT}\nolimits_{\sigma}(f)=\mathop{\rm LT}\nolimits_{\sigma}(F)+{% \mathbb{I}}_{n}roman_LT start_POSTSUBSCRIPT italic_σ end_POSTSUBSCRIPT ( italic_f ) = roman_LT start_POSTSUBSCRIPT italic_σ end_POSTSUBSCRIPT ( italic_F ) + blackboard_I start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT the leading term of f𝑓fitalic_f with respect to σ𝜎\sigmaitalic_σ. For the definitions and an explanation of these concepts in P𝑃Pitalic_P see [30], Chapter I, and for more details about orderings on Boolean polynomial rings see [8].

3. Logical Representations of Boolean Polynomials

In the following we let 𝔹n=𝔽2[x1,,xn]subscript𝔹𝑛subscript𝔽2subscript𝑥1subscript𝑥𝑛{\mathbb{B}}_{n}={\mathbb{F}}_{2}[x_{1},\dots,x_{n}]blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT [ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ] be the ring of Boolean polynomials. Our goal is to connect Boolean polynomials to propositional logic formulas. We assume that the readers are familiar with the syntax of propositional logic and identify 𝚝𝚛𝚞𝚎1𝚝𝚛𝚞𝚎1\operatorname{\mathtt{true}}\equiv 1typewriter_true ≡ 1 as well as 𝚏𝚊𝚕𝚜𝚎0𝚏𝚊𝚕𝚜𝚎0\operatorname{\mathtt{false}}\equiv 0typewriter_false ≡ 0.

Definition 3.1.

Let S𝑆Sitalic_S be a subset of 𝔹nsubscript𝔹𝑛{\mathbb{B}}_{n}blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, and let F𝐹Fitalic_F be a propositional logic formula in the logical variables X1,,Xnsubscript𝑋1subscript𝑋𝑛X_{1},\dots,X_{n}italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_X start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT.

  1. (a)

    The set 𝒵(S)={(a1,,an)𝔽2nf(a1,,an)=0\operatorname{\mathcal{Z}}(S)=\{(a_{1},\dots,a_{n})\in{\mathbb{F}}_{2}^{n}\mid f% (a_{1},\dots,a_{n})=0caligraphic_Z ( italic_S ) = { ( italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_a start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) ∈ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT ∣ italic_f ( italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_a start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) = 0 for all fS}f\in S\}italic_f ∈ italic_S } is called the zero set of S𝑆Sitalic_S.

  2. (b)

    The set 𝒮(F)={(a1,,an)𝔽2nF|X1a1,,Xnan𝚝𝚛𝚞𝚎}𝒮𝐹conditional-setsubscript𝑎1subscript𝑎𝑛superscriptsubscript𝔽2𝑛evaluated-at𝐹formulae-sequencemaps-tosubscript𝑋1subscript𝑎1maps-tosubscript𝑋𝑛subscript𝑎𝑛𝚝𝚛𝚞𝚎\operatorname{\mathcal{S}}(F)=\{(a_{1},\dots,a_{n})\in{\mathbb{F}}_{2}^{n}\mid F% |_{X_{1}\mapsto a_{1},\dots,X_{n}\mapsto a_{n}}\equiv\operatorname{\mathtt{% true}}\}caligraphic_S ( italic_F ) = { ( italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_a start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) ∈ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT ∣ italic_F | start_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ↦ italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_X start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ↦ italic_a start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_POSTSUBSCRIPT ≡ typewriter_true } is called the set of satisfying assignments of F𝐹Fitalic_F.

  3. (c)

    Given an ideal I𝐼Iitalic_I in 𝔹nsubscript𝔹𝑛{\mathbb{B}}_{n}blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, a propositional logic formula F𝐹Fitalic_F is called a logical representation of I𝐼Iitalic_I if 𝒮(F)=𝒵(I)𝒮𝐹𝒵𝐼\operatorname{\mathcal{S}}(F)=\operatorname{\mathcal{Z}}(I)caligraphic_S ( italic_F ) = caligraphic_Z ( italic_I ).

  4. (d)

    Given a propositional logic formula F𝐹Fitalic_F, the uniquely determined ideal IFsubscript𝐼𝐹I_{F}italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT in 𝔹nsubscript𝔹𝑛{\mathbb{B}}_{n}blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT such that 𝒵(IF)=𝒮(F)𝒵subscript𝐼𝐹𝒮𝐹\operatorname{\mathcal{Z}}(I_{F})=\operatorname{\mathcal{S}}(F)caligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT ) = caligraphic_S ( italic_F ) is called the algebraic representation of F𝐹Fitalic_F.

Recall that 𝔹nsubscript𝔹𝑛{\mathbb{B}}_{n}blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is a principal ideal ring in which every ideal has a unique generator and that every propositional logic formula is equivalent to a formula in conjunctive normal form (CNF). Effective transformations between these representations have been studied extensively (see for instance [11] and [29]).

One disadvantage of converting Boolean polynomials to CNF is that sums correspond to XOR connectives and a long chain of XOR connectives yields an exponentially large set of CNF clauses. To address this problem, we introduce a new type of normal form next. Afterwards, we examine algorithms for converting Boolean polynomials to this normal form and back.

Definition 3.2 (XOR-OR-AND Normal Form).

Let F𝐹Fitalic_F be a propositional logic formula.

  1. (a)

    A formula of the form L1L2Lmdirect-sumsubscript𝐿1subscript𝐿2subscript𝐿𝑚L_{1}\oplus L_{2}\oplus\cdots\oplus L_{m}italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊕ italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⊕ ⋯ ⊕ italic_L start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT with literals L1,,Lmsubscript𝐿1subscript𝐿𝑚L_{1},\dots,L_{m}italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_L start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT is called a lineral.

  2. (b)

    A disjunction of linerals is called an XNF clause.

  3. (c)

    The formula F𝐹Fitalic_F is said to be in XOR-OR-AND normal form (XNF) if F𝐹Fitalic_F is a conjunction of XNF clauses.

  4. (d)

    Let k𝑘k\in{\mathbb{N}}italic_k ∈ blackboard_N. If F𝐹Fitalic_F is in XNF and every XNF clause of F𝐹Fitalic_F involves at most k𝑘kitalic_k linerals then we say that F𝐹Fitalic_F is in k𝑘kitalic_k-XNF.

Notice that every literal is also a lineral. Hence every formula in CNF is already in XNF. The negation of a lineral is a lineral because of

¬(L1L2Lm)¬L1L2Lm.direct-sumsubscript𝐿1subscript𝐿2subscript𝐿𝑚direct-sumsubscript𝐿1subscript𝐿2subscript𝐿𝑚\lnot(L_{1}\oplus L_{2}\oplus\cdots\oplus L_{m})\;\equiv\;\lnot L_{1}\oplus L_% {2}\oplus\cdots\oplus L_{m}.¬ ( italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊕ italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⊕ ⋯ ⊕ italic_L start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) ≡ ¬ italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊕ italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⊕ ⋯ ⊕ italic_L start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT .

Moreover, every lineral is equivalent to a lineral of the form iXisubscriptdirect-sum𝑖subscript𝑋𝑖\operatorname*{\bigoplus}_{i}X_{i}⨁ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT or ¬(iXi)subscriptdirect-sum𝑖subscript𝑋𝑖\lnot(\operatorname*{\bigoplus}_{i}X_{i})¬ ( ⨁ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ).

Observe that [36] introduces a normal form with the same name, but for formulas that consist of CNF clauses and XOR constraints on the variables. In the terminology defined here, these are XNF unit clauses. We also refer to a formula of this type as a CNF-XOR, consistent with related research (see [19, 29, 32, 38, 39, 41]).

The motivation for introducing the XNF is its algebraic representation which can be described as follows.

Remark 3.3.

Let X1,,Xnsubscript𝑋1subscript𝑋𝑛X_{1},\dots,X_{n}italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_X start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT be propositional logic variables.

  1. (a)

    Let L=Xi1Xit𝐿direct-sumsubscript𝑋subscript𝑖1subscript𝑋subscript𝑖𝑡L=X_{i_{1}}\oplus\dots\oplus X_{i_{t}}italic_L = italic_X start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⊕ ⋯ ⊕ italic_X start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT end_POSTSUBSCRIPT be a lineral with i1,,it{1,,n}subscript𝑖1subscript𝑖𝑡1𝑛i_{1},\dots,i_{t}\in\{1,\dots,n\}italic_i start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_i start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ∈ { 1 , … , italic_n }. Then the algebraic representation of L𝐿Litalic_L is the ideal xi1++xit+1delimited-⟨⟩subscript𝑥subscript𝑖1subscript𝑥subscript𝑖𝑡1\langle x_{i_{1}}+\dots+x_{i_{t}}+1\rangle⟨ italic_x start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT + ⋯ + italic_x start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT end_POSTSUBSCRIPT + 1 ⟩ in 𝔹nsubscript𝔹𝑛{\mathbb{B}}_{n}blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. Thus linerals correspond to linear polynomials in 𝔹nsubscript𝔹𝑛{\mathbb{B}}_{n}blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT.

  2. (b)

    Let L1,,Lssubscript𝐿1subscript𝐿𝑠L_{1},\dots,L_{s}italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_L start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT be linerals, and let C=L1Ls𝐶subscript𝐿1subscript𝐿𝑠C=L_{1}\vee\cdots\vee L_{s}italic_C = italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ ⋯ ∨ italic_L start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT be an XNF clause. For i{1,,s}𝑖1𝑠i\in\{1,\dots,s\}italic_i ∈ { 1 , … , italic_s }, let i𝕃nsubscript𝑖subscript𝕃𝑛\ell_{i}\in{\mathbb{L}}_{n}roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT be the algebraic representation of Lisubscript𝐿𝑖L_{i}italic_L start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. Then 1sdelimited-⟨⟩subscript1subscript𝑠\langle\ell_{1}\cdots\ell_{s}\rangle⟨ roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⋯ roman_ℓ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ⟩ is the algebraic representation of C𝐶Citalic_C. Thus XNF clauses correspond to products of linear Boolean polynomials.

  3. (c)

    Let C1,,Crsubscript𝐶1subscript𝐶𝑟C_{1},\dots,C_{r}italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_C start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT be XNF clauses, and let F=C1Cr𝐹subscript𝐶1subscript𝐶𝑟F=C_{1}\wedge\cdots\wedge C_{r}italic_F = italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∧ ⋯ ∧ italic_C start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT be a logical formula in XNF. For i{1,,r}𝑖1𝑟i\in\{1,\dots,r\}italic_i ∈ { 1 , … , italic_r }, let ci𝔹nsubscript𝑐𝑖subscript𝔹𝑛c_{i}\in{\mathbb{B}}_{n}italic_c start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT be the product of linear Boolean polynomials representing Cisubscript𝐶𝑖C_{i}italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. Then the algebraic representation of F𝐹Fitalic_F is the ideal c1,,crsubscript𝑐1subscript𝑐𝑟\langle c_{1},\dots,c_{r}\rangle⟨ italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_c start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ⟩ in 𝔹nsubscript𝔹𝑛{\mathbb{B}}_{n}blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT.

For the converse transformation, we could use the logical representation of a Boolean polynomial which is in CNF, and hence in XNF. However, as we are striving for logical formulas in XNF which have few and short clauses, i.e., correspond to few low-degree Boolean polynomials, we proceed along a different path in the following two subsections.

Moreover, the XNF is the natural input to the proof system 𝚜-𝚁𝚎𝚜𝚜-𝚁𝚎𝚜\mathtt{s\text{-}Res}typewriter_s - typewriter_Res (see [26]), and therefore builds the basis for any 𝚜-𝚁𝚎𝚜𝚜-𝚁𝚎𝚜\mathtt{s\text{-}Res}typewriter_s - typewriter_Res-based solving algorithms.

3.1. Reduction of Formulas in XNF to 2-XNF

It is a well-known property of propositional logic formulas that they can be transformed to equisatisfiable formulas in 3-CNF by introducing additional variables. In the following we focus on an analogous transformation of formulas in XNF.

Definition 3.4.

Let S𝔽2n𝑆superscriptsubscript𝔽2𝑛S\subseteq{\mathbb{F}}_{2}^{n}italic_S ⊆ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT, and let T𝔽2n+m𝑇superscriptsubscript𝔽2𝑛𝑚T\subseteq{\mathbb{F}}_{2}^{n+m}italic_T ⊆ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n + italic_m end_POSTSUPERSCRIPT for some n,m𝑛𝑚n,m\in{\mathbb{N}}italic_n , italic_m ∈ blackboard_N. Then we write SnTsubscript𝑛𝑆𝑇S\equiv_{n}Titalic_S ≡ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_T if the projection map π:𝔽2n+m𝔽2n:𝜋superscriptsubscript𝔽2𝑛𝑚superscriptsubscript𝔽2𝑛\pi:\;{\mathbb{F}}_{2}^{n+m}\longrightarrow{\mathbb{F}}_{2}^{n}italic_π : blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n + italic_m end_POSTSUPERSCRIPT ⟶ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT defined by π((a1,,an+m))=(a1,,an)𝜋subscript𝑎1subscript𝑎𝑛𝑚subscript𝑎1subscript𝑎𝑛\pi((a_{1},\dots,a_{n+m}))=(a_{1},\dots,a_{n})italic_π ( ( italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_a start_POSTSUBSCRIPT italic_n + italic_m end_POSTSUBSCRIPT ) ) = ( italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_a start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) induces a bijection π|T:TS:evaluated-at𝜋𝑇𝑇𝑆\pi|_{T}:\;T\longrightarrow Sitalic_π | start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT : italic_T ⟶ italic_S.

The relation nsubscript𝑛\equiv_{n}≡ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT has the following useful properties.

Remark 3.5.

Let F𝐹Fitalic_F be a logical formula involving the variables X1,,Xnsubscript𝑋1subscript𝑋𝑛X_{1},\dots,X_{n}italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_X start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, and let G𝐺Gitalic_G be a formula involving the variables X1,,Xn,Y1,,Ymsubscript𝑋1subscript𝑋𝑛subscript𝑌1subscript𝑌𝑚X_{1},\dots,X_{n},Y_{1},\dots,Y_{m}italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_X start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_Y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_Y start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT.

  1. (a)

    If we have 𝒮(F)n𝒮(G)subscript𝑛𝒮𝐹𝒮𝐺\operatorname{\mathcal{S}}(F)\equiv_{n}\operatorname{\mathcal{S}}(G)caligraphic_S ( italic_F ) ≡ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT caligraphic_S ( italic_G ) then the formulas F𝐹Fitalic_F and G𝐺Gitalic_G are clearly equisatisfiable. More precisely, the satisfying assignments of G𝐺Gitalic_G are in one-to-one correspondence with the satisfying assignments of F𝐹Fitalic_F via the projection π𝜋\piitalic_π to the first n𝑛nitalic_n coordinates.

  2. (b)

    In general, the relation nsubscript𝑛\equiv_{n}≡ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is not symmetric, but it is transitive in the following sense. Let k,m,n𝑘𝑚𝑛k,m,n\in{\mathbb{N}}italic_k , italic_m , italic_n ∈ blackboard_N, let S𝔽2n𝑆superscriptsubscript𝔽2𝑛S\subseteq{\mathbb{F}}_{2}^{n}italic_S ⊆ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT, let T𝔽2n+m𝑇superscriptsubscript𝔽2𝑛𝑚T\subseteq{\mathbb{F}}_{2}^{n+m}italic_T ⊆ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n + italic_m end_POSTSUPERSCRIPT, and let U𝔽2n+m+k𝑈superscriptsubscript𝔽2𝑛𝑚𝑘U\subseteq{\mathbb{F}}_{2}^{n+m+k}italic_U ⊆ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n + italic_m + italic_k end_POSTSUPERSCRIPT. If we have SnTsubscript𝑛𝑆𝑇S\equiv_{n}Titalic_S ≡ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_T and Tn+mUsubscript𝑛𝑚𝑇𝑈T\equiv_{n+m}Uitalic_T ≡ start_POSTSUBSCRIPT italic_n + italic_m end_POSTSUBSCRIPT italic_U then SnUsubscript𝑛𝑆𝑈S\equiv_{n}Uitalic_S ≡ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_U.

The following lemma provides the key step for the reduction of formulas in XNF to 2-XNF. It can be easily verified using a truth table.

Lemma 3.6.

Let L1,L2subscript𝐿1subscript𝐿2L_{1},L_{2}italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT be two linerals, and let Y𝑌Yitalic_Y be an additional logical variable. Then we have

Y(L1L2)(Y¬L2)(¬(YL1)L2).𝑌subscript𝐿1subscript𝐿2𝑌subscript𝐿2direct-sum𝑌subscript𝐿1subscript𝐿2Y\leftrightarrow(L_{1}\lor L_{2})\;\equiv\;(Y\lor\lnot L_{2})\land(\lnot(Y% \oplus L_{1})\lor L_{2}).italic_Y ↔ ( italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ≡ ( italic_Y ∨ ¬ italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ∧ ( ¬ ( italic_Y ⊕ italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ∨ italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) .

Notice that the left side of the equivalence in this lemma is symmetric in L1subscript𝐿1L_{1}italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and L2subscript𝐿2L_{2}italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Thus, swapping L1subscript𝐿1L_{1}italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and L2subscript𝐿2L_{2}italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT on the right-hand side of the equivalence also yields an equivalent formula. The following Algorithm 1 converts logical formulas in XNF to 2-XNF.

1
Input : A logical formula F𝐹Fitalic_F in XNF involving n𝑛nitalic_n variables.
Output : A logical formula G𝐺Gitalic_G in 2-XNF with 𝒮(F)n𝒮(G)subscript𝑛𝒮𝐹𝒮𝐺\operatorname{\mathcal{S}}(F)\equiv_{n}\operatorname{\mathcal{S}}(G)caligraphic_S ( italic_F ) ≡ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT caligraphic_S ( italic_G ).
2 Let i=0𝑖0i=0italic_i = 0 and M=𝑀M=\emptysetitalic_M = ∅. Write F=k=1rCk𝐹superscriptsubscript𝑘1𝑟subscript𝐶𝑘F=\operatorname*{\bigwedge}_{k=1}^{r}C_{k}italic_F = ⋀ start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT.
3 for k=1𝑘1k=1italic_k = 1 to r𝑟ritalic_r do
4       while Cksubscript𝐶𝑘C_{k}italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT contains more than two linerals do
5             Write Ck=j=1sLjsubscript𝐶𝑘superscriptsubscript𝑗1𝑠subscript𝐿𝑗C_{k}=\operatorname*{\bigvee}_{j=1}^{s}L_{j}italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = ⋁ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT italic_L start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT with linerals Ljsubscript𝐿𝑗L_{j}italic_L start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT.
6             Increase i𝑖iitalic_i by 1111 and let Yisubscript𝑌𝑖Y_{i}italic_Y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT be a new variable.
7             Replace Cksubscript𝐶𝑘C_{k}italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT by (Yij=3sLj)subscript𝑌𝑖superscriptsubscript𝑗3𝑠subscript𝐿𝑗(Y_{i}\lor\operatorname*{\bigvee}_{j=3}^{s}L_{j})( italic_Y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∨ ⋁ start_POSTSUBSCRIPT italic_j = 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT italic_L start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ).
8             Adjoin {(Yi¬L2),(¬(YiL1)L2)}subscript𝑌𝑖subscript𝐿2direct-sumsubscript𝑌𝑖subscript𝐿1subscript𝐿2\{(Y_{i}\lor\lnot L_{2}),(\lnot(Y_{i}\oplus L_{1})\lor L_{2})\}{ ( italic_Y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∨ ¬ italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) , ( ¬ ( italic_Y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊕ italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ∨ italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) } to M𝑀Mitalic_M.
9            
10      Append Cksubscript𝐶𝑘C_{k}italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT to M𝑀Mitalic_M.
11      
12return M𝑀\operatorname*{\bigwedge}M⋀ italic_M.
Algorithm 1 𝚇𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵𝚇𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵\mathtt{XNFto2XNF}typewriter_XNFto2XNF  –  XNF to 2-XNF Conversion
Proposition 3.7.

Let F𝐹Fitalic_F be a propositional logic formula in XNF involving n𝑛nitalic_n logical variables. Then 𝚇𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵𝚇𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵\mathtt{XNFto2XNF}typewriter_XNFto2XNF is an algorithm which returns a logical formula G𝐺Gitalic_G in 2-XNF such that 𝒮(F)n𝒮(G)subscript𝑛𝒮𝐹𝒮𝐺\operatorname{\mathcal{S}}(F)\equiv_{n}\operatorname{\mathcal{S}}(G)caligraphic_S ( italic_F ) ≡ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT caligraphic_S ( italic_G ).

Proof.

As the number of linerals in Cksubscript𝐶𝑘C_{k}italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is decreased with every execution of Line 6666, the loop in Lines 3333-7777 stops after finitely many iterations. Thus the algorithm terminates after finitely many steps.

To prove correctness, we first observe that every XNF clause which is added to M𝑀Mitalic_M contains at most two linerals, so the output formula is indeed in 2-XNF. Moreover, by Lemma 3.6, we have

𝒮(Ck)n+i1𝒮((Yij=3sLj)(Yi¬L2)(¬(YiL1)L2))subscript𝑛𝑖1𝒮subscript𝐶𝑘𝒮subscript𝑌𝑖superscriptsubscript𝑗3𝑠subscript𝐿𝑗subscript𝑌𝑖subscript𝐿2direct-sumsubscript𝑌𝑖subscript𝐿1subscript𝐿2\operatorname{\mathcal{S}}(C_{k})\;\equiv_{n+i-1}\;\operatorname{\mathcal{S}}% \big{(}\,(Y_{i}\lor\textstyle{\operatorname*{\bigvee}_{j=3}^{s}}L_{j})\,\land% \,(Y_{i}\lor\lnot L_{2})\,\land\,(\lnot(Y_{i}\oplus L_{1})\lor L_{2})\,\big{)}caligraphic_S ( italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) ≡ start_POSTSUBSCRIPT italic_n + italic_i - 1 end_POSTSUBSCRIPT caligraphic_S ( ( italic_Y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∨ ⋁ start_POSTSUBSCRIPT italic_j = 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT italic_L start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ∧ ( italic_Y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∨ ¬ italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ∧ ( ¬ ( italic_Y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊕ italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ∨ italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) )

in Line 5555 of the algorithm. Hence we obtain 𝒮(MCk)n+i1𝒮(MCk)subscript𝑛𝑖1𝒮𝑀subscript𝐶𝑘𝒮superscript𝑀superscriptsubscript𝐶𝑘\operatorname{\mathcal{S}}(\operatorname*{\bigwedge}M\land C_{k})\equiv_{n+i-1% }\operatorname{\mathcal{S}}(\operatorname*{\bigwedge}M^{\prime}\land C_{k}^{% \prime})caligraphic_S ( ⋀ italic_M ∧ italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) ≡ start_POSTSUBSCRIPT italic_n + italic_i - 1 end_POSTSUBSCRIPT caligraphic_S ( ⋀ italic_M start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∧ italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) in Line 7777, where Msuperscript𝑀M^{\prime}italic_M start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and Cksuperscriptsubscript𝐶𝑘C_{k}^{\prime}italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT denote the values of M𝑀Mitalic_M and Cksubscript𝐶𝑘C_{k}italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, respectively, after their modification inside the loop (Lines 3333-7777). By Remark 3.5.b, this implies 𝒮(F)n𝒮(M)subscript𝑛𝒮𝐹𝒮𝑀\operatorname{\mathcal{S}}(F)\equiv_{n}\operatorname{\mathcal{S}}(% \operatorname*{\bigwedge}M)caligraphic_S ( italic_F ) ≡ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT caligraphic_S ( ⋀ italic_M ) after every iteration of the outer loop (Lines 2222-8888), and consequently after its termination. ∎

Example 3.8.

Consider the formula F=X1X2X3𝐹subscript𝑋1subscript𝑋2subscript𝑋3F=X_{1}\lor X_{2}\lor X_{3}italic_F = italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ italic_X start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∨ italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT in 3-CNF. Applying 𝚇𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵𝚇𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵\mathtt{XNFto2XNF}typewriter_XNFto2XNF to F𝐹Fitalic_F yields the logical formula

G=(Y1X3)(Y1¬X2)(¬(Y1X1)X2).𝐺subscript𝑌1subscript𝑋3subscript𝑌1subscript𝑋2direct-sumsubscript𝑌1subscript𝑋1subscript𝑋2G\;=\;(Y_{1}\lor X_{3})\,\land\,(Y_{1}\lor\lnot X_{2})\,\land\,(\lnot(Y_{1}% \oplus X_{1})\lor X_{2}).italic_G = ( italic_Y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ) ∧ ( italic_Y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ ¬ italic_X start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ∧ ( ¬ ( italic_Y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊕ italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ∨ italic_X start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) .

where Y1subscript𝑌1Y_{1}italic_Y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is a new variable, and we have 𝒮(F)3𝒮(G)subscript3𝒮𝐹𝒮𝐺\operatorname{\mathcal{S}}(F)\equiv_{3}\operatorname{\mathcal{S}}(G)caligraphic_S ( italic_F ) ≡ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT caligraphic_S ( italic_G ).

Remark 3.9.

Suppose a formula F𝐹Fitalic_F is in k𝑘kitalic_k-XNF for some k𝑘k\in{\mathbb{N}}italic_k ∈ blackboard_N and contains r𝑟ritalic_r XNF clauses. Then 𝚇𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵𝚇𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵\mathtt{XNFto2XNF}typewriter_XNFto2XNF introduces at most r(k2)𝑟𝑘2r(k-2)italic_r ( italic_k - 2 ) new variables and 2r(k2)2𝑟𝑘22r(k-2)2 italic_r ( italic_k - 2 ) new clauses, since at most k2𝑘2k-2italic_k - 2 new variables are added for each clause. This shows that every formula in CNF can be converted to a formula in 2-XNF in polynomial time. Consequently, the decision problem for 2-XNF instances is NP-complete.

In spite of this seemingly negative worst-case complexity, it is well-known that 2-CNF formulas can be solved in linear time (e.g., see [5]). In Section 4, we will further address how some of the core ideas of 2-CNF solving can be translated to solving formulas in 2-XNF. Finally, note that one can not only reduce the size of the XNF clauses, but also the length of its linerals, i.e., the number of variables it contains, by using additional variables.

Remark 3.10.

Let L,L1,L2𝐿subscript𝐿1subscript𝐿2L,L_{1},L_{2}italic_L , italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT be linerals with LL1L2𝐿direct-sumsubscript𝐿1subscript𝐿2L\equiv L_{1}\oplus L_{2}italic_L ≡ italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊕ italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. If Y𝑌Yitalic_Y is an additional logical variable, then we have L(L1Y)(L2¬Y)𝐿direct-sumsubscript𝐿1𝑌direct-sumsubscript𝐿2𝑌L\equiv(L_{1}\oplus Y)\land(L_{2}\oplus\neg Y)italic_L ≡ ( italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊕ italic_Y ) ∧ ( italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⊕ ¬ italic_Y ). Repeated application and addition of new variables shows that every XNF formula can be reduced to a 2-XNF formula in which each lineral is a XOR of at most 3333 variables.

Better constructions to trade the length of linerals with additional variables can be derived from the methods of [21] and [36].

3.2. 2-XNF Representations of Boolean Polynomials

In order to apply 2-XNF solving algorithms to practical instances, we first need to create tools to convert problems given via Boolean polynomials in ANF to logical formulas in 2-XNF.

A straightforward approach is to search for XORs of variables in a CNF representation of the problem which correspond to XNF clauses of size 1111 as for instance done in [36]. While this produces XNF instances, in many situations it does not capture the XOR-rich information well. In fact we should find non-trivial XNF clauses when they exist to harness the full potential of XNF-SAT solvers. This is why we suggest to start with an ANF representation of the problem under investigation, as it is more compact and uses fewer variables. So, in this section we show how Boolean polynomials can be converted to 2-XNF. To illustrate the algorithm, we apply it to problems with a cryptographic background.

To ease the notation we switch completely to the algebraic point of view. Not only the input of our conversion algorithm is denoted algebraically, but also the output 2-XNF. In view of Remark 3.3, the following definition captures this approach.

Definition 3.11 (2-XNF Representation).

Let I𝐼Iitalic_I be an ideal in 𝔹nsubscript𝔹𝑛{\mathbb{B}}_{n}blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. A set of Boolean polynomials of the form S={f1g1,,fkgk,1,,s}𝔹n,m𝑆subscript𝑓1subscript𝑔1subscript𝑓𝑘subscript𝑔𝑘subscript1subscript𝑠subscript𝔹𝑛𝑚S=\{f_{1}g_{1},\dots,f_{k}g_{k},\ell_{1},\dots,\ell_{s}\}\subseteq{\mathbb{B}}% _{n,m}italic_S = { italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , roman_ℓ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT } ⊆ blackboard_B start_POSTSUBSCRIPT italic_n , italic_m end_POSTSUBSCRIPT with fi,gi,j𝕃nsubscript𝑓𝑖subscript𝑔𝑖subscript𝑗subscript𝕃𝑛f_{i},g_{i},\ell_{j}\in\mathbb{L}_{n}italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , roman_ℓ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∈ blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is called a 2-XNF representation of I𝐼Iitalic_I if 𝒵(I)n𝒵(S)subscript𝑛𝒵𝐼𝒵𝑆\operatorname{\mathcal{Z}}(I)\equiv_{n}\operatorname{\mathcal{Z}}(S)caligraphic_Z ( italic_I ) ≡ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT caligraphic_Z ( italic_S ).

Similarly, a set S𝔹n,m𝑆subscript𝔹𝑛𝑚S\subseteq{\mathbb{B}}_{n,m}italic_S ⊆ blackboard_B start_POSTSUBSCRIPT italic_n , italic_m end_POSTSUBSCRIPT as above is called a 2-XNF representation of a Boolean polynomial f𝔹n𝑓subscript𝔹𝑛f\in{\mathbb{B}}_{n}italic_f ∈ blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT if S𝑆Sitalic_S is a 2-XNF representation of fdelimited-⟨⟩𝑓\langle f\rangle⟨ italic_f ⟩.

Now Proposition 3.7 immediately implies the following result.

Corollary 3.12.

Let I𝐼Iitalic_I be an ideal in 𝔹nsubscript𝔹𝑛{\mathbb{B}}_{n}blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. Then there exists a 2-XNF representation of I𝐼Iitalic_I.

The next proposition shows a direct way to compute 2-XNF representations of certain polynomials. It is an algebraic formulation of Lemma 3.6.

Proposition 3.13.

Let g=12+3𝔹n𝑔subscript1subscript2subscript3subscript𝔹𝑛g=\ell_{1}\ell_{2}+\ell_{3}\in{\mathbb{B}}_{n}italic_g = roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + roman_ℓ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ∈ blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, where 1,2,3𝕃nsubscript1subscript2subscript3subscript𝕃𝑛\ell_{1},\ell_{2},\ell_{3}\in{\mathbb{L}}_{n}roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , roman_ℓ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ∈ blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, and let

S={3(2+1),2(1+3)}.𝑆subscript3subscript21subscript2subscript1subscript3S\;=\;\{\ell_{3}(\ell_{2}+1),\;\ell_{2}(\ell_{1}+\ell_{3})\}.italic_S = { roman_ℓ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 ) , roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + roman_ℓ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ) } .

Then we have S=gdelimited-⟨⟩𝑆delimited-⟨⟩𝑔\langle S\rangle=\langle g\rangle⟨ italic_S ⟩ = ⟨ italic_g ⟩. In particular, the set S𝑆Sitalic_S is a 2-XNF representation of g𝑔gitalic_g.

Proof.

From g=3(2+1)+2(1+3)𝑔subscript3subscript21subscript2subscript1subscript3g=\ell_{3}(\ell_{2}+1)+\ell_{2}(\ell_{1}+\ell_{3})italic_g = roman_ℓ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 ) + roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + roman_ℓ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ), we obtain gS𝑔delimited-⟨⟩𝑆g\in\langle S\rangleitalic_g ∈ ⟨ italic_S ⟩ and hence gSdelimited-⟨⟩𝑔delimited-⟨⟩𝑆\langle g\rangle\subseteq\langle S\rangle⟨ italic_g ⟩ ⊆ ⟨ italic_S ⟩. Moreover, we have 3(2+1)=(2+1)ggsubscript3subscript21subscript21𝑔delimited-⟨⟩𝑔\ell_{3}(\ell_{2}+1)=(\ell_{2}+1)g\in\langle g\rangleroman_ℓ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 ) = ( roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 ) italic_g ∈ ⟨ italic_g ⟩ and 2(1+3)=2ggsubscript2subscript1subscript3subscript2𝑔delimited-⟨⟩𝑔\ell_{2}(\ell_{1}+\ell_{3})=\ell_{2}g\in\langle g\rangleroman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + roman_ℓ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ) = roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_g ∈ ⟨ italic_g ⟩, which implies Sg𝑆delimited-⟨⟩𝑔S\subseteq\langle g\rangleitalic_S ⊆ ⟨ italic_g ⟩ and hence Sgdelimited-⟨⟩𝑆delimited-⟨⟩𝑔\langle S\rangle\subseteq\langle g\rangle⟨ italic_S ⟩ ⊆ ⟨ italic_g ⟩. ∎

Remark 3.14.

To see the connection with Lemma 3.6, let L1subscript𝐿1L_{1}italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, and L2subscript𝐿2L_{2}italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT be linerals and Y𝑌Yitalic_Y be an additional variable. Let 1,2,3𝕃nsubscript1subscript2subscript3subscript𝕃𝑛\ell_{1},\ell_{2},\ell_{3}\in{\mathbb{L}}_{n}roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , roman_ℓ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ∈ blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT such that idelimited-⟨⟩subscript𝑖\langle\ell_{i}\rangle⟨ roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ is the algebraic representation of Lisubscript𝐿𝑖L_{i}italic_L start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for i{1,2}𝑖12i\in\{1,2\}italic_i ∈ { 1 , 2 } and 3delimited-⟨⟩subscript3\langle\ell_{3}\rangle⟨ roman_ℓ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ⟩ is the algebraic representation of Y𝑌Yitalic_Y. Then 12+3delimited-⟨⟩subscript1subscript2subscript3\langle\ell_{1}\ell_{2}+\ell_{3}\rangle⟨ roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + roman_ℓ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ⟩ is the algebraic representation of Y(L1L2)𝑌subscript𝐿1subscript𝐿2Y\leftrightarrow(L_{1}\lor L_{2})italic_Y ↔ ( italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ), 3(2+1)delimited-⟨⟩subscript3subscript21\langle\ell_{3}(\ell_{2}+1)\rangle⟨ roman_ℓ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 ) ⟩ is the algebraic representation of (Y¬L2)𝑌subscript𝐿2(Y\lor\lnot L_{2})( italic_Y ∨ ¬ italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ), and 2(1+3)subscript2subscript1subscript3\ell_{2}(\ell_{1}+\ell_{3})roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + roman_ℓ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ) is the algebraic representation of (¬(YL1)L2)direct-sum𝑌subscript𝐿1subscript𝐿2(\lnot(Y\oplus L_{1})\lor L_{2})( ¬ ( italic_Y ⊕ italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ∨ italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ).

Proposition 3.13 immediately yields the following Algorithm 2 for computing a 2-XNF representation of a given Boolean polynomial.

1
Input : A Boolean polynomial f𝔹n𝑓subscript𝔹𝑛f\in{\mathbb{B}}_{n}italic_f ∈ blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT.
Output : A 2-XNF representation of f𝑓fitalic_f.
2 Set i=0𝑖0i=0italic_i = 0 and M=𝑀M=\emptysetitalic_M = ∅.
3 for tSupp(f)𝑡Supp𝑓t\in\operatorname{Supp}(f)italic_t ∈ roman_Supp ( italic_f ) do
4       while deg(t)>1degree𝑡1\deg(t)>1roman_deg ( italic_t ) > 1 do
5             Increase i𝑖iitalic_i by 1111 and let yisubscript𝑦𝑖y_{i}italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT be a new indeterminate.
6             Write f=t+f𝑓𝑡superscript𝑓f=t+f^{\prime}italic_f = italic_t + italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and t=12s𝑡subscript1subscript2𝑠t=\ell_{1}\ell_{2}sitalic_t = roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_s where s𝑠sitalic_s is a term, 1,2subscript1subscript2\ell_{1},\ell_{2}roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are distinct indeterminates, and f𝔹n,i1superscript𝑓subscript𝔹𝑛𝑖1f^{\prime}\in{\mathbb{B}}_{n,i-1}italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ blackboard_B start_POSTSUBSCRIPT italic_n , italic_i - 1 end_POSTSUBSCRIPT.
7             Replace t𝑡titalic_t by yissubscript𝑦𝑖𝑠y_{i}sitalic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_s and f𝑓fitalic_f by yis+fsubscript𝑦𝑖𝑠superscript𝑓y_{i}s+f^{\prime}italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_s + italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT.
8             Adjoin {yi(2+1),2(1+yi)}subscript𝑦𝑖subscript21subscript2subscript1subscript𝑦𝑖\{y_{i}(\ell_{2}+1),\;\ell_{2}(\ell_{1}+y_{i})\}{ italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 ) , roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) } to M𝑀Mitalic_M.
9      
return M{f}𝑀𝑓M\cup\{f\}italic_M ∪ { italic_f }.
Algorithm 2 𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵\mathtt{ANFto2XNF}typewriter_ANFto2XNF  –  Boolean Polynomials to 2-XNF
Proposition 3.15.

Let f𝔹n𝑓subscript𝔹𝑛f\in{\mathbb{B}}_{n}italic_f ∈ blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. Then 𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵\mathtt{ANFto2XNF}typewriter_ANFto2XNF is an algorithm which returns a 2-XNF representation S=𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵(f)𝑆𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵𝑓S=\mathtt{ANFto2XNF}(f)italic_S = typewriter_ANFto2XNF ( italic_f ) of f𝑓fitalic_f.

Proof.

First we see that in each iteration of the inner loop (Lines 3333-7777), the degree of t𝑡titalic_t decreases by one, so it eventually reaches 1. Moreover, the polynomial f𝑓fitalic_f is updated in Line 6666 in such a way that the term t𝑡titalic_t in the support of f𝑓fitalic_f is replaced by a term of smaller degree. Thus the outer loop (Lines 2222-7777) terminates eventually and the procedure stops in Line 8888. In particular, at this point f𝑓fitalic_f is linear and all elements of M{f}𝑀𝑓M\cup\{f\}italic_M ∪ { italic_f } are linear or products of two linear polynomials. Hence the output is in 2-XNF.

For the correctness, assume that we are in the i𝑖iitalic_i-th iteration of the inner loop (Lines 3333-7777). Denote the values of f𝑓fitalic_f and M𝑀Mitalic_M after the i𝑖iitalic_i-th iteration by fisubscript𝑓𝑖f_{i}italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and Misubscript𝑀𝑖M_{i}italic_M start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, respectively. Here we let M0=subscript𝑀0M_{0}=\emptysetitalic_M start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = ∅ and f0subscript𝑓0f_{0}italic_f start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT denote the initial input value of f𝑓fitalic_f. Consider the ideals J=Mi1{fi1}𝔹n,i1𝐽delimited-⟨⟩subscript𝑀𝑖1subscript𝑓𝑖1subscript𝔹𝑛𝑖1J=\langle M_{i-1}\cup\{f_{i-1}\}\rangle\subseteq{\mathbb{B}}_{n,i-1}italic_J = ⟨ italic_M start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT ∪ { italic_f start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT } ⟩ ⊆ blackboard_B start_POSTSUBSCRIPT italic_n , italic_i - 1 end_POSTSUBSCRIPT and J=Mi1{fi1}{yi+12}𝔹n,isuperscript𝐽delimited-⟨⟩subscript𝑀𝑖1subscript𝑓𝑖1subscript𝑦𝑖subscript1subscript2subscript𝔹𝑛𝑖J^{\prime}=\langle M_{i-1}\cup\{f_{i-1}\}\cup\{y_{i}+\ell_{1}\ell_{2}\}\rangle% \subseteq{\mathbb{B}}_{n,i}italic_J start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = ⟨ italic_M start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT ∪ { italic_f start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT } ∪ { italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT } ⟩ ⊆ blackboard_B start_POSTSUBSCRIPT italic_n , italic_i end_POSTSUBSCRIPT. For c=(c1,,cn+i)𝔽2n+i𝑐subscript𝑐1subscript𝑐𝑛𝑖superscriptsubscript𝔽2𝑛𝑖c=(c_{1},\dots,c_{n+i})\in{\mathbb{F}}_{2}^{n+i}italic_c = ( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_c start_POSTSUBSCRIPT italic_n + italic_i end_POSTSUBSCRIPT ) ∈ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n + italic_i end_POSTSUPERSCRIPT, we see that c𝒵(J)𝑐𝒵superscript𝐽c\in\operatorname{\mathcal{Z}}(J^{\prime})italic_c ∈ caligraphic_Z ( italic_J start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) if and only if (c1,,cn+i1)𝒵(J)subscript𝑐1subscript𝑐𝑛𝑖1𝒵𝐽(c_{1},\dots,c_{n+i-1})\in\operatorname{\mathcal{Z}}(J)( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_c start_POSTSUBSCRIPT italic_n + italic_i - 1 end_POSTSUBSCRIPT ) ∈ caligraphic_Z ( italic_J ) and cn+i=(ij)(c1,,cn+i1)subscript𝑐𝑛𝑖subscript𝑖subscript𝑗subscript𝑐1subscript𝑐𝑛𝑖1c_{n+i}=(\ell_{i}\ell_{j})(c_{1},\dots,c_{n+i-1})italic_c start_POSTSUBSCRIPT italic_n + italic_i end_POSTSUBSCRIPT = ( roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_c start_POSTSUBSCRIPT italic_n + italic_i - 1 end_POSTSUBSCRIPT ). Hence 𝒵(J)n+i1𝒵(J)subscript𝑛𝑖1𝒵𝐽𝒵superscript𝐽\operatorname{\mathcal{Z}}(J)\equiv_{n+i-1}\operatorname{\mathcal{Z}}(J^{% \prime})caligraphic_Z ( italic_J ) ≡ start_POSTSUBSCRIPT italic_n + italic_i - 1 end_POSTSUBSCRIPT caligraphic_Z ( italic_J start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ).

Now observe that fi=fi1+s(12+yi)fi1modJsubscript𝑓𝑖subscript𝑓𝑖1𝑠subscript1subscript2subscript𝑦𝑖modulosubscript𝑓𝑖1superscript𝐽f_{i}=f_{i-1}+s(\ell_{1}\ell_{2}+y_{i})\equiv f_{i-1}\mod J^{\prime}italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_f start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT + italic_s ( roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ≡ italic_f start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT roman_mod italic_J start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, and hence J=Mi1{fi}{yi+12}superscript𝐽delimited-⟨⟩subscript𝑀𝑖1subscript𝑓𝑖subscript𝑦𝑖subscript1subscript2J^{\prime}=\langle M_{i-1}\cup\{f_{i}\}\cup\{y_{i}+\ell_{1}\ell_{2}\}\rangleitalic_J start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = ⟨ italic_M start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT ∪ { italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } ∪ { italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT } ⟩. Thus Proposition 3.13 shows J=Mi{fi}superscript𝐽delimited-⟨⟩subscript𝑀𝑖subscript𝑓𝑖J^{\prime}=\langle M_{i}\cup\{f_{i}\}\rangleitalic_J start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = ⟨ italic_M start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∪ { italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } ⟩. Therefore we have 𝒵(f0)n𝒵(M{f})subscript𝑛𝒵subscript𝑓0𝒵𝑀𝑓\operatorname{\mathcal{Z}}(f_{0})\equiv_{n}\operatorname{\mathcal{Z}}(M\cup\{f\})caligraphic_Z ( italic_f start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) ≡ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT caligraphic_Z ( italic_M ∪ { italic_f } ) after every iteration of the inner loop, i.e., the output in Line 8888 is indeed a 2-XNF representation of the input f𝑓fitalic_f. ∎

Example 3.16.

Consider the polynomial f=x1x2x3𝔹3𝑓subscript𝑥1subscript𝑥2subscript𝑥3subscript𝔹3f=x_{1}x_{2}x_{3}\in{\mathbb{B}}_{3}italic_f = italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ∈ blackboard_B start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT. The ideal fdelimited-⟨⟩𝑓\langle f\rangle⟨ italic_f ⟩ is the algebraic representation of the clause ¬X1¬X2¬X3subscript𝑋1subscript𝑋2subscript𝑋3\neg X_{1}\lor\neg X_{2}\lor\neg X_{3}¬ italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ ¬ italic_X start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∨ ¬ italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT. We introduce a new indeterminate y1subscript𝑦1y_{1}italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and construct the ideal

I=f,y1+x1x2=y1x3,y1(x2+1),x2(x1+y1)𝔹3,1.𝐼𝑓subscript𝑦1subscript𝑥1subscript𝑥2subscript𝑦1subscript𝑥3subscript𝑦1subscript𝑥21subscript𝑥2subscript𝑥1subscript𝑦1subscript𝔹31I\;=\;\langle\,f,y_{1}+x_{1}x_{2}\,\rangle\;=\;\langle\,y_{1}x_{3},\,y_{1}(x_{% 2}+1),\,x_{2}(x_{1}+y_{1})\,\rangle\;\subseteq{\mathbb{B}}_{3,1}.italic_I = ⟨ italic_f , italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⟩ = ⟨ italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 ) , italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ⟩ ⊆ blackboard_B start_POSTSUBSCRIPT 3 , 1 end_POSTSUBSCRIPT .

Then we have 𝒵(f)3𝒵(I)subscript3𝒵𝑓𝒵𝐼\operatorname{\mathcal{Z}}(f)\equiv_{3}\operatorname{\mathcal{Z}}(I)caligraphic_Z ( italic_f ) ≡ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT caligraphic_Z ( italic_I ), which shows that the set S={y1x3,y1(x2+1),x2(x1+y1)}𝔹3,2𝑆subscript𝑦1subscript𝑥3subscript𝑦1subscript𝑥21subscript𝑥2subscript𝑥1subscript𝑦1subscript𝔹32S=\{y_{1}x_{3},\,y_{1}(x_{2}+1),\,x_{2}(x_{1}+y_{1})\}\subseteq{\mathbb{B}}_{3% ,2}italic_S = { italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 ) , italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) } ⊆ blackboard_B start_POSTSUBSCRIPT 3 , 2 end_POSTSUBSCRIPT is a 2-XNF representation of f𝑓fitalic_f. Notice that S𝑆Sitalic_S corresponds to the 2-XNF formula

(¬Y1¬X3)(¬Y1X2)(¬X2¬(X1Y1))subscript𝑌1subscript𝑋3subscript𝑌1subscript𝑋2subscript𝑋2direct-sumsubscript𝑋1subscript𝑌1(\neg Y_{1}\lor\neg X_{3})\,\land\,(\neg Y_{1}\lor X_{2})\,\land\,(\neg X_{2}% \lor\neg(X_{1}\oplus Y_{1})\,)( ¬ italic_Y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ ¬ italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ) ∧ ( ¬ italic_Y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ italic_X start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ∧ ( ¬ italic_X start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∨ ¬ ( italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊕ italic_Y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) )

in the variables X1,X2,X3,Y1subscript𝑋1subscript𝑋2subscript𝑋3subscript𝑌1X_{1},X_{2},X_{3},Y_{1}italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_X start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT , italic_Y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT.

Notice that 𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵\mathtt{ANFto2XNF}typewriter_ANFto2XNF employs Proposition 3.13 only for replacing products of two indeterminates. For quadratic polynomials, this uses one additional variable for every non-linear term. With the following optimised Algorithm 3, one may replace more than one term at a time.

1
Input : A Boolean polynomial f𝔹n𝑓subscript𝔹𝑛f\in{\mathbb{B}}_{n}italic_f ∈ blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT with deg(f)2degree𝑓2\deg(f)\leq 2roman_deg ( italic_f ) ≤ 2.
Output : A 2-XNF representation of f𝑓fitalic_f.
2 Let i=0𝑖0i=0italic_i = 0 and M=𝑀M=\emptysetitalic_M = ∅.
3 while deg(f)=2degree𝑓2\deg(f)=2roman_deg ( italic_f ) = 2 do
4       Increase i𝑖iitalic_i by 1111 and let yisubscript𝑦𝑖y_{i}italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT be a new indeterminate.
5       Write f=12+f𝑓subscript1subscript2superscript𝑓f=\ell_{1}\ell_{2}+f^{\prime}italic_f = roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT for distinct 1,2𝕃nsubscript1subscript2subscript𝕃𝑛\ell_{1},\ell_{2}\in{\mathbb{L}}_{n}roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT and for f𝔹n,i1superscript𝑓subscript𝔹𝑛𝑖1f^{\prime}\in{\mathbb{B}}_{n,i-1}italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ blackboard_B start_POSTSUBSCRIPT italic_n , italic_i - 1 end_POSTSUBSCRIPT such that Supp(f)Suppsuperscript𝑓\operatorname{Supp}(f^{\prime})roman_Supp ( italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) contains fewer non-linear terms than Supp(f)Supp𝑓\operatorname{Supp}(f)roman_Supp ( italic_f ).
6       Set f=yi+f𝑓subscript𝑦𝑖superscript𝑓f=y_{i}+f^{\prime}italic_f = italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT.
7       Adjoin {yi(2+1),2(1+yi)}subscript𝑦𝑖subscript21subscript2subscript1subscript𝑦𝑖\{y_{i}(\ell_{2}+1),~{}\ell_{2}(\ell_{1}+y_{i})\}{ italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 ) , roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) } to M𝑀Mitalic_M.
return M{f}𝑀𝑓M\cup\{f\}italic_M ∪ { italic_f }.
Algorithm 3 𝚀𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵𝚀𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵\mathtt{QANFto2XNF}typewriter_QANFto2XNF  –  Quadratic Boolean Polynomials to 2-XNF
Proposition 3.17.

Let f𝔹n𝑓subscript𝔹𝑛f\in{\mathbb{B}}_{n}italic_f ∈ blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT with deg(f)2degree𝑓2\deg(f)\leq 2roman_deg ( italic_f ) ≤ 2. Then 𝚀𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵𝚀𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵\mathtt{QANFto2XNF}typewriter_QANFto2XNF is an algorithm which returns a 2-XNF representation S=𝚀𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵(f)𝑆𝚀𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵𝑓S=\mathtt{QANFto2XNF}(f)italic_S = typewriter_QANFto2XNF ( italic_f ) of f𝑓fitalic_f.

Proof.

After each iteration of the loop (Lines 2222-6666), the support of f𝑓fitalic_f contains fewer non-linear terms. Therefore f𝑓fitalic_f eventually becomes linear and the loop terminates.

For proving correctness, consider the iterations of the loop. As in Proposition 3.15, we see that Mi1{fi1}{yi+12}=Mi{fi}delimited-⟨⟩subscript𝑀𝑖1subscript𝑓𝑖1subscript𝑦𝑖subscript1subscript2delimited-⟨⟩subscript𝑀𝑖subscript𝑓𝑖\langle M_{i-1}\cup\{f_{i-1}\}\cup\{y_{i}+\ell_{1}\ell_{2}\}\rangle=\langle M_% {i}\cup\{f_{i}\}\rangle⟨ italic_M start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT ∪ { italic_f start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT } ∪ { italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT } ⟩ = ⟨ italic_M start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∪ { italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } ⟩, where Misubscript𝑀𝑖M_{i}italic_M start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and fisubscript𝑓𝑖f_{i}italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT denote the values of f𝑓fitalic_f and M𝑀Mitalic_M after the i𝑖iitalic_i-th iteration, and f0subscript𝑓0f_{0}italic_f start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT is the initial value of f𝑓fitalic_f. In particular, this shows that we have 𝒵(f0)n𝒵(M{f})subscript𝑛𝒵subscript𝑓0𝒵𝑀𝑓\operatorname{\mathcal{Z}}(f_{0})\equiv_{n}\operatorname{\mathcal{Z}}(M\cup\{f\})caligraphic_Z ( italic_f start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) ≡ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT caligraphic_Z ( italic_M ∪ { italic_f } ) after every iteration. Thus the output is a 2-XNF representation of the input f𝑓fitalic_f. ∎

To implement Line 4444 of 𝚀𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵𝚀𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵\mathtt{QANFto2XNF}typewriter_QANFto2XNF efficiently, we may use different approaches. The following remark collects some of them.

Remark 3.18.

Let f𝔹n𝑓subscript𝔹𝑛f\in{\mathbb{B}}_{n}italic_f ∈ blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT be of degree 2absent2\leq 2≤ 2. In order to find 1,2𝕃nsubscript1subscript2subscript𝕃𝑛\ell_{1},\ell_{2}\in{\mathbb{L}}_{n}roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT such that Supp(f12)Supp𝑓subscript1subscript2\operatorname{Supp}(f-\ell_{1}\ell_{2})roman_Supp ( italic_f - roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) contains fewer quadratic terms than Supp(f)Supp𝑓\operatorname{Supp}(f)roman_Supp ( italic_f ), we may use one of the following methods.

  1. (a)

    Write f=xii+gi𝑓subscript𝑥𝑖subscript𝑖subscript𝑔𝑖f=x_{i}\ell_{i}+g_{i}italic_f = italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT with i{1,,n}𝑖1𝑛i\in\{1,\dots,n\}italic_i ∈ { 1 , … , italic_n } and i𝕃n𝔽2subscript𝑖subscript𝕃𝑛subscript𝔽2\ell_{i}\in{\mathbb{L}}_{n}\setminus{\mathbb{F}}_{2}roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ∖ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT such that no term in the support of gisubscript𝑔𝑖g_{i}italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is divisible by xisubscript𝑥𝑖x_{i}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. Then the support of fxii=gi𝑓subscript𝑥𝑖subscript𝑖subscript𝑔𝑖f-x_{i}\ell_{i}=g_{i}italic_f - italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is a proper subset of Supp(f)Supp𝑓\operatorname{Supp}(f)roman_Supp ( italic_f ). In particular, it contains fewer quadratic terms. Repeating this step requires at most n1𝑛1n-1italic_n - 1 substitutions until all non-linear terms in f𝑓fitalic_f have been replaced. Hence any quadratic polynomial f𝔹n𝑓subscript𝔹𝑛f\in{\mathbb{B}}_{n}italic_f ∈ blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT has a 2-XNF representation that uses fewer than n1𝑛1n-1italic_n - 1 additional indeterminates, even though the support of f𝑓fitalic_f may contain up to (n2)binomial𝑛2\binom{n}{2}( FRACOP start_ARG italic_n end_ARG start_ARG 2 end_ARG ) quadratic terms.

  2. (b)

    Let y1,,yn,z1,,znsubscript𝑦1subscript𝑦𝑛subscript𝑧1subscript𝑧𝑛y_{1},\dots,y_{n},z_{1},\dots,z_{n}italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_y start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_z start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT be new indeterminates, and let

    G=(y1x1++ynxn)(z1x1++znxn)𝔹n[y1,,yn,z1,,zn]𝐺subscript𝑦1subscript𝑥1subscript𝑦𝑛subscript𝑥𝑛subscript𝑧1subscript𝑥1subscript𝑧𝑛subscript𝑥𝑛subscript𝔹𝑛subscript𝑦1subscript𝑦𝑛subscript𝑧1subscript𝑧𝑛G\;=\;(y_{1}x_{1}+\cdots+y_{n}x_{n})\cdot(z_{1}x_{1}+\cdots+z_{n}x_{n})\in{% \mathbb{B}}_{n}[y_{1},\dots,y_{n},z_{1},\dots,z_{n}]italic_G = ( italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + ⋯ + italic_y start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) ⋅ ( italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + ⋯ + italic_z start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) ∈ blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT [ italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_y start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_z start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ]

    be a product of two generic linear Boolean polynomials. By multiplying out, we obtain a representation

    G=1i<jnGijxixj+k=1nHkxk.𝐺subscript1𝑖𝑗𝑛subscript𝐺𝑖𝑗subscript𝑥𝑖subscript𝑥𝑗superscriptsubscript𝑘1𝑛subscript𝐻𝑘subscript𝑥𝑘G\;=\;\textstyle\sum\limits_{1\leq i<j\leq n}G_{ij}x_{i}x_{j}+\textstyle\sum% \limits_{k=1}^{n}H_{k}x_{k}.italic_G = ∑ start_POSTSUBSCRIPT 1 ≤ italic_i < italic_j ≤ italic_n end_POSTSUBSCRIPT italic_G start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT + ∑ start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_H start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT .

    with Gij,Hk𝔽2[y1,,yn,z1,,zn]subscript𝐺𝑖𝑗subscript𝐻𝑘subscript𝔽2subscript𝑦1subscript𝑦𝑛subscript𝑧1subscript𝑧𝑛G_{ij},H_{k}\in{\mathbb{F}}_{2}[y_{1},\dots,y_{n},z_{1},\dots,z_{n}]italic_G start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT , italic_H start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∈ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT [ italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_y start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_z start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ].

    Write f=1i<jnfijxixj+k=1nfkxk+f0𝑓subscript1𝑖𝑗𝑛subscript𝑓𝑖𝑗subscript𝑥𝑖subscript𝑥𝑗superscriptsubscript𝑘1𝑛subscript𝑓𝑘subscript𝑥𝑘subscript𝑓0f=\sum_{1\leq i<j\leq n}f_{ij}x_{i}x_{j}+\sum_{k=1}^{n}f_{k}x_{k}+f_{0}italic_f = ∑ start_POSTSUBSCRIPT 1 ≤ italic_i < italic_j ≤ italic_n end_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT + ∑ start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT + italic_f start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT with fij,fk,f0𝔽2subscript𝑓𝑖𝑗subscript𝑓𝑘subscript𝑓0subscript𝔽2f_{ij},f_{k},f_{0}\in{\mathbb{F}}_{2}italic_f start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ∈ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. If we find a tuple c=(a1,,an,b1,,bn)𝔽22n𝑐subscript𝑎1subscript𝑎𝑛subscript𝑏1subscript𝑏𝑛superscriptsubscript𝔽22𝑛c=(a_{1},\dots,a_{n},b_{1},\dots,b_{n})\in{\mathbb{F}}_{2}^{2n}italic_c = ( italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_a start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_b start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) ∈ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 italic_n end_POSTSUPERSCRIPT such that as many of the equations fij=Gij(c)subscript𝑓𝑖𝑗subscript𝐺𝑖𝑗𝑐f_{ij}=G_{ij}(c)italic_f start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = italic_G start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ( italic_c ) as possible are satisfied, then the linear Boolean polynomials 1=a1x1++anxnsubscript1subscript𝑎1subscript𝑥1subscript𝑎𝑛subscript𝑥𝑛\ell_{1}=a_{1}x_{1}+\cdots+a_{n}x_{n}roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + ⋯ + italic_a start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT and 2=b1x1++bnxnsubscript2subscript𝑏1subscript𝑥1subscript𝑏𝑛subscript𝑥𝑛\ell_{2}=b_{1}x_{1}+\cdots+b_{n}x_{n}roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = italic_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + ⋯ + italic_b start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT satisfy the property that f12𝑓subscript1subscript2f-\ell_{1}\ell_{2}italic_f - roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT contains as few quadratic terms in its support as possible. Such a tuple c𝑐citalic_c can be found using an OMT solver, e.g., using 𝙾𝚙𝚝𝚒𝙼𝚊𝚝𝚑𝚂𝙰𝚃𝙾𝚙𝚝𝚒𝙼𝚊𝚝𝚑𝚂𝙰𝚃\mathtt{OptiMathSAT}typewriter_OptiMathSAT (see [37]), or by rephrasing the optimization problem as a MaxSAT problem and using an adequate solver, e.g., using 𝙼𝚊𝚡𝙷𝚂𝙼𝚊𝚡𝙷𝚂\mathtt{MaxHS}typewriter_MaxHS (see [16]).

The strategy of part (b) works well on small inputs, say polynomials having fewer than 20 indeterminates. For cases involving larger numbers of indeterminates, it is better to combine part (a) with the next observation.

Lemma 3.19.

Let f𝔹n𝑓subscript𝔹𝑛f\in{\mathbb{B}}_{n}italic_f ∈ blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT and 1,2,1,2𝕃nsubscript1subscript2superscriptsubscript1superscriptsubscript2subscript𝕃𝑛\ell_{1},\ell_{2},\ell_{1}^{\prime},\ell_{2}^{\prime}\in{\mathbb{L}}_{n}roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT with Supp(12)Supp(f)Suppsubscript1subscript2Supp𝑓\operatorname{Supp}(\ell_{1}\ell_{2})\subseteq\operatorname{Supp}(f)roman_Supp ( roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ⊆ roman_Supp ( italic_f ) and Supp(12)Supp(f)Suppsuperscriptsubscript1superscriptsubscript2Supp𝑓\operatorname{Supp}(\ell_{1}^{\prime}\ell_{2}^{\prime})\subseteq\operatorname{% Supp}(f)roman_Supp ( roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ⊆ roman_Supp ( italic_f ). Then we have Supp(m1m2)Supp(f)Suppsubscript𝑚1subscript𝑚2Supp𝑓\operatorname{Supp}(m_{1}m_{2})\subseteq\operatorname{Supp}(f)roman_Supp ( italic_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_m start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ⊆ roman_Supp ( italic_f ) for

m1=(Supp(1)Supp(1))andm2=(Supp(2)Supp(2)).formulae-sequencesubscript𝑚1Suppsubscript1Suppsuperscriptsubscript1andsubscript𝑚2Suppsubscript2Suppsuperscriptsubscript2m_{1}=\textstyle\sum(\operatorname{Supp}(\ell_{1})\cup\operatorname{Supp}(\ell% _{1}^{\prime}))\quad\text{and}\quad m_{2}=\textstyle\sum(\operatorname{Supp}(% \ell_{2})\cap\operatorname{Supp}(\ell_{2}^{\prime})).italic_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = ∑ ( roman_Supp ( roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ∪ roman_Supp ( roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ) and italic_m start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = ∑ ( roman_Supp ( roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ∩ roman_Supp ( roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ) .
Proof.

Let t=xi1xi2Supp(m1m2)𝑡subscript𝑥subscript𝑖1subscript𝑥subscript𝑖2Suppsubscript𝑚1subscript𝑚2t=x_{i_{1}}x_{i_{2}}\in\operatorname{Supp}(m_{1}m_{2})italic_t = italic_x start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∈ roman_Supp ( italic_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_m start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) where xi1Supp(m1)subscript𝑥subscript𝑖1Suppsubscript𝑚1x_{i_{1}}\in\operatorname{Supp}(m_{1})italic_x start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∈ roman_Supp ( italic_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) and xi2Supp(m2)subscript𝑥subscript𝑖2Suppsubscript𝑚2x_{i_{2}}\in\operatorname{Supp}(m_{2})italic_x start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∈ roman_Supp ( italic_m start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ). Then xi1Supp(1)subscript𝑥subscript𝑖1Suppsubscript1x_{i_{1}}\in\operatorname{Supp}(\ell_{1})italic_x start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∈ roman_Supp ( roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) or xi1Supp(1)subscript𝑥subscript𝑖1Suppsuperscriptsubscript1x_{i_{1}}\in\operatorname{Supp}(\ell_{1}^{\prime})italic_x start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∈ roman_Supp ( roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ), and xi2Supp(2)Supp(2)subscript𝑥subscript𝑖2Suppsubscript2Suppsuperscriptsubscript2x_{i_{2}}\in\operatorname{Supp}(\ell_{2})\cap\operatorname{Supp}(\ell_{2}^{% \prime})italic_x start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∈ roman_Supp ( roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ∩ roman_Supp ( roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ). This shows xi1xi2Supp(12)subscript𝑥subscript𝑖1subscript𝑥subscript𝑖2Suppsubscript1subscript2x_{i_{1}}x_{i_{2}}\in\operatorname{Supp}(\ell_{1}\ell_{2})italic_x start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∈ roman_Supp ( roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) or xi1xi2Supp(12)subscript𝑥subscript𝑖1subscript𝑥subscript𝑖2Suppsuperscriptsubscript1superscriptsubscript2x_{i_{1}}x_{i_{2}}\in\operatorname{Supp}(\ell_{1}^{\prime}\ell_{2}^{\prime})italic_x start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∈ roman_Supp ( roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ). Both imply tSupp(f)𝑡Supp𝑓t\in\operatorname{Supp}(f)italic_t ∈ roman_Supp ( italic_f ). ∎

Using the method of Remark 3.18.a, we can now find many distinct pairs (1,2)𝕃n2subscript1subscript2superscriptsubscript𝕃𝑛2(\ell_{1},\ell_{2})\in{\mathbb{L}}_{n}^{2}( roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ∈ blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT with Supp(12)Supp(f)Suppsubscript1subscript2Supp𝑓\operatorname{Supp}(\ell_{1}\ell_{2})\subseteq\operatorname{Supp}(f)roman_Supp ( roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ⊆ roman_Supp ( italic_f ). Applying the Lemma randomly to two such pairs of linear polynomials, we find more pairs (m1,m2)𝕃n2subscript𝑚1subscript𝑚2superscriptsubscript𝕃𝑛2(m_{1},m_{2})\in{\mathbb{L}}_{n}^{2}( italic_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_m start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ∈ blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT with Supp(m1m2)Supp(f)Suppsubscript𝑚1subscript𝑚2Supp𝑓\operatorname{Supp}(m_{1}m_{2})\subseteq\operatorname{Supp}(f)roman_Supp ( italic_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_m start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ⊆ roman_Supp ( italic_f ). Repeating this procedure for some time can generate many non-trivial such pairs, and we can simply choose the one which eliminates the most non-linear terms. This has proven to produce very good results, even for polynomials with a high number of indeterminates.

Example 3.20.

Let us apply Algorithm 𝚀𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵𝚀𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵\mathtt{QANFto2XNF}typewriter_QANFto2XNF to the Boolean polynomial f=x1x3+x2x3+x1x4+x2x4+x1𝔹4𝑓subscript𝑥1subscript𝑥3subscript𝑥2subscript𝑥3subscript𝑥1subscript𝑥4subscript𝑥2subscript𝑥4subscript𝑥1subscript𝔹4f=x_{1}x_{3}+x_{2}x_{3}+x_{1}x_{4}+x_{2}x_{4}+x_{1}\in{\mathbb{B}}_{4}italic_f = italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ blackboard_B start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT. In Line 4 we try to cancel out as many non-linear terms as possible, following the above approach. Using Remark 3.18.a, we see that Supp(x1(x3+x4+1))Supp(f)Suppsubscript𝑥1subscript𝑥3subscript𝑥41Supp𝑓\operatorname{Supp}(\,x_{1}\cdot(x_{3}+x_{4}+1)\,)\,\subseteq\,\operatorname{% Supp}(f)roman_Supp ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⋅ ( italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT + 1 ) ) ⊆ roman_Supp ( italic_f ) and Supp(x2(x3+x4))Supp(f)Suppsubscript𝑥2subscript𝑥3subscript𝑥4Supp𝑓\operatorname{Supp}(\,x_{2}\cdot(x_{3}+x_{4})\,)\,\subseteq\,\operatorname{% Supp}(f)roman_Supp ( italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⋅ ( italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT ) ) ⊆ roman_Supp ( italic_f ). By applying Lemma 3.19 with m1=x1+x2subscript𝑚1subscript𝑥1subscript𝑥2m_{1}=x_{1}+x_{2}italic_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and m2=x3+x4subscript𝑚2subscript𝑥3subscript𝑥4m_{2}=x_{3}+x_{4}italic_m start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT, we get Supp(m1m2)Supp(f)Suppsubscript𝑚1subscript𝑚2Supp𝑓\operatorname{Supp}(m_{1}m_{2})\subseteq\operatorname{Supp}(f)roman_Supp ( italic_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_m start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ⊆ roman_Supp ( italic_f ). Let y1subscript𝑦1y_{1}italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT be a new indeterminate and write f=m1m2+x1𝑓subscript𝑚1subscript𝑚2subscript𝑥1f=m_{1}m_{2}+x_{1}italic_f = italic_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_m start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. Now we replace f𝑓fitalic_f by y1+x1subscript𝑦1subscript𝑥1y_{1}+x_{1}italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and set

M={y1(x3+x4+1),(x3+x4)(x1+x2+y1)}.𝑀subscript𝑦1subscript𝑥3subscript𝑥41subscript𝑥3subscript𝑥4subscript𝑥1subscript𝑥2subscript𝑦1M\;=\;\{\,y_{1}(x_{3}+x_{4}+1),\,(x_{3}+x_{4})(x_{1}+x_{2}+y_{1})\,\}.italic_M = { italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT + 1 ) , ( italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT ) ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) } .

Notice that the loop now ends, as f𝑓fitalic_f is linear, and the 2-XNF representation {f}M𝑓𝑀\{f\}\cup M{ italic_f } ∪ italic_M of f𝑓fitalic_f is returned. This corresponds to the 2-XNF formula

(¬Y1(X3X4))(¬(X3X4)¬(X1X2Y1))¬(Y1X1))\left(\neg Y_{1}\lor(X_{3}\oplus X_{4})\right)\,\land\,(\neg(X_{3}\oplus X_{4}% )\lor\neg(X_{1}\oplus X_{2}\oplus Y_{1}))\,\land\,\neg(Y_{1}\oplus X_{1}))( ¬ italic_Y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ ( italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ⊕ italic_X start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT ) ) ∧ ( ¬ ( italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ⊕ italic_X start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT ) ∨ ¬ ( italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊕ italic_X start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⊕ italic_Y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ) ∧ ¬ ( italic_Y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊕ italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) )

in the variables X1,X2,X3,X4,Y1subscript𝑋1subscript𝑋2subscript𝑋3subscript𝑋4subscript𝑌1X_{1},X_{2},X_{3},X_{4},Y_{1}italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_X start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT , italic_X start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT , italic_Y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT.

After discussing the effective computation of 2-XNF representations of individual polynomials, we now turn our attention to Boolean polynomial ideals given by several generators. In this case we can avail ourselves of the following approaches.

Remark 3.21.

Let f1,,fs𝔹n{0}subscript𝑓1subscript𝑓𝑠subscript𝔹𝑛0f_{1},\dots,f_{s}\in{\mathbb{B}}_{n}\setminus\{0\}italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_f start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∈ blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ∖ { 0 }, and let I=f1,,fs𝐼subscript𝑓1subscript𝑓𝑠I=\langle f_{1},\dots,f_{s}\rangleitalic_I = ⟨ italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_f start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ⟩. The following methods can be applied to find a 2-XNF representation of I𝐼Iitalic_I.

  1. (a)

    The most basic approach is to apply 𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵\mathtt{ANFto2XNF}typewriter_ANFto2XNF (or 𝚀𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵𝚀𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵\mathtt{QANFto2XNF}typewriter_QANFto2XNF) to fisubscript𝑓𝑖f_{i}italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for i{1,,s}𝑖1𝑠i\in\{1,\dots,s\}italic_i ∈ { 1 , … , italic_s } and to combine the individual 2-XNF representations to get one for I𝐼Iitalic_I. Unfortunately, this tends to introduce more additional variables than necessary, since the same terms in different polynomials will be replaced with distinct additional indeterminates.

  2. (b)

    If f1,,fssubscript𝑓1subscript𝑓𝑠f_{1},\dots,f_{s}italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_f start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT are quadratic, the problem in (a) can be counteracted as follows. During the computation of the 2-XNF representations of the f1,,fssubscript𝑓1subscript𝑓𝑠f_{1},\dots,f_{s}italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_f start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT, we remember how the additional indeterminates y1,,ymsubscript𝑦1subscript𝑦𝑚y_{1},\dots,y_{m}italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_y start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT were used to substitute products 1112,,m1m2subscript11subscript12subscript𝑚1subscript𝑚2\ell_{11}\ell_{12},\dots,\ell_{m1}\ell_{m2}roman_ℓ start_POSTSUBSCRIPT 11 end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT , … , roman_ℓ start_POSTSUBSCRIPT italic_m 1 end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_m 2 end_POSTSUBSCRIPT in the execution of Lines 4444-5555 of 𝚀𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵𝚀𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵\mathtt{QANFto2XNF}typewriter_QANFto2XNF. After those individual conversions, we compute an 𝔽2subscript𝔽2{\mathbb{F}}_{2}blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT-basis {h1,,ht}𝕃msubscript1subscript𝑡subscript𝕃𝑚\{h_{1},\dots,h_{t}\}\subseteq{\mathbb{L}}_{m}{ italic_h start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_h start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } ⊆ blackboard_L start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT of the set of relations

    {g𝕃mg(1112,,m1m2)=0}.conditional-set𝑔subscript𝕃𝑚𝑔subscript11subscript12subscript𝑚1subscript𝑚20\{g\in{\mathbb{L}}_{m}\mid g(\ell_{11}\ell_{12},\dots,\ell_{m1}\ell_{m2})=0\}.{ italic_g ∈ blackboard_L start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ∣ italic_g ( roman_ℓ start_POSTSUBSCRIPT 11 end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT , … , roman_ℓ start_POSTSUBSCRIPT italic_m 1 end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_m 2 end_POSTSUBSCRIPT ) = 0 } .

    Then we return the union of all the individual 2-XNF representations and {h1,,ht}subscript1subscript𝑡\{h_{1},\dots,h_{t}\}{ italic_h start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_h start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT }. Each of these linear Boolean polynomials eliminates one variable in the process of computing 𝒵(I)𝒵𝐼\operatorname{\mathcal{Z}}(I)caligraphic_Z ( italic_I ).

In particular, instances coming from cryptographic attacks can be converted efficiently using those approaches. In many ciphers the only non-linearity appears in the so-called S-Boxes. Usually, these involve only a small number of indeterminates, i.e., they can be represented by relatively few non-linear polynomials in a small number of indeterminates. To illustrate this approach, let us examine the encryption map of the 𝙰𝚜𝚌𝚘𝚗𝙰𝚜𝚌𝚘𝚗\mathtt{Ascon}typewriter_Ascon cryptosystem (see [18]) which has been selected for the standardization of lightweight ciphers by NIST.

Example 3.22.

As specified in [18], the 𝙰𝚜𝚌𝚘𝚗𝙰𝚜𝚌𝚘𝚗\mathtt{Ascon}typewriter_Ascon cryptosystem is a 128-bit lightweight cipher.

  1. (a)

    Let s:𝔽25𝔽25:𝑠superscriptsubscript𝔽25superscriptsubscript𝔽25s\colon{\mathbb{F}}_{2}^{5}\to{\mathbb{F}}_{2}^{5}italic_s : blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT → blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT be the 5-bit S-box used in the 𝙰𝚜𝚌𝚘𝚗𝙰𝚜𝚌𝚘𝚗\mathtt{Ascon}typewriter_Ascon cipher. Consider the Boolean polynomial ring 𝔹5,5=𝔽2[x1,,x5,y1,,y5]subscript𝔹55subscript𝔽2subscript𝑥1subscript𝑥5subscript𝑦1subscript𝑦5{\mathbb{B}}_{5,5}={\mathbb{F}}_{2}[x_{1},\dots,x_{5},y_{1},\dots,y_{5}]blackboard_B start_POSTSUBSCRIPT 5 , 5 end_POSTSUBSCRIPT = blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT [ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_y start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT ] and let I𝔹5,5𝐼subscript𝔹55I\subseteq{\mathbb{B}}_{5,5}italic_I ⊆ blackboard_B start_POSTSUBSCRIPT 5 , 5 end_POSTSUBSCRIPT be the vanishing ideal of the set of points {(a,s(a))a𝔽25}𝔽210conditional-set𝑎𝑠𝑎𝑎superscriptsubscript𝔽25superscriptsubscript𝔽210\{(a,s(a))\mid a\in{\mathbb{F}}_{2}^{5}\}\,\subseteq\,{\mathbb{F}}_{2}^{10}{ ( italic_a , italic_s ( italic_a ) ) ∣ italic_a ∈ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT } ⊆ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 10 end_POSTSUPERSCRIPT. Using [6], we know that I𝐼Iitalic_I is generated by five quadratic polynomials in 𝔹5,5subscript𝔹55{\mathbb{B}}_{5,5}blackboard_B start_POSTSUBSCRIPT 5 , 5 end_POSTSUBSCRIPT. Applying 𝚀𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵𝚀𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵\mathtt{QANFto2XNF}typewriter_QANFto2XNF together with the method from Remark 3.18.b and Remark 3.21.b, we obtain a 2-XNF representation of I𝐼Iitalic_I consisting of 10101010 products of two linear polynomials and not a single additional indeterminate.

  2. (b)

    Altogether, these methods construct a 2-XNF representation of the entire 𝙰𝚜𝚌𝚘𝚗-𝟷𝟸𝟾𝙰𝚜𝚌𝚘𝚗-128\mathtt{Ascon\text{-}128}typewriter_Ascon - typewriter_128 cipher (processing 8888 bytes of plaintext) involving as little as 6080608060806080 variables and 17 6641766417\,66417 664 clauses.

    For comparison, converting the same polynomials to CNF using 𝙿𝚘𝚕𝚢𝙱𝚘𝚁𝚒𝙿𝚘𝚕𝚢𝙱𝚘𝚁𝚒\mathtt{PolyBoRi}typewriter_PolyBoRi (see [9]) requires 12 2241222412\,22412 224 variables and 137 739137739137\,739137 739 clauses, the methods from [29] require 55 8255582555\,82555 825 variables and 214 024214024214\,024214 024 clauses, and the conversion tool within 𝙱𝚘𝚜𝚙𝚑𝚘𝚛𝚞𝚜𝙱𝚘𝚜𝚙𝚑𝚘𝚛𝚞𝚜\mathtt{Bosphorus}typewriter_Bosphorus (see [11]) requires 49 2894928949\,28949 289 variables and 1 424 03414240341\,424\,0341 424 034 clauses for the logical representation of the cipher.

This shows that encoding XOR-rich formulas in 2-XNF yields far more compact representations than state-of-the-art conversions to sets of CNF clauses.

Remark 3.23.

To efficiently store instances in XNF, we suggest a derivation of the established DIMACS standard for CNFs: in the place of literals (encoded as -L or L) we encode linerals as literals connected (without whitespace) with the symbol +. Then the 𝙰𝚜𝚌𝚘𝚗𝙰𝚜𝚌𝚘𝚗\mathtt{Ascon}typewriter_Ascon S-Box has the following XNF-representation:

                           p xnf 10 10
-2 4+5+6 0
2+3 -1+2+4+5+7 0
-1 2+3+9 0
-2+3 1+5+7 0
-2 1+4+10 0
       1 -4 2+3+8 0
1 -2+3+4+5+9 0
2 -1+3+4+6 0
2 -4+5+10 0
4 2+3+5+8 0

Note that solvers supporting this encoding can also process usual DIMACS CNF files correctly.

4. Graph-based 2-XNF SAT Solving

It is well-known that a satisfiable assignment of a 2-CNF instance F𝐹Fitalic_F, i.e., a propositional logic formula in CNF where every clause has at most two literals, can be found with linear time and space complexity (see [5]). The key idea is to express the formula F𝐹Fitalic_F by a (directed) implication graph whose set of vertices is the set of literals occurring in F𝐹Fitalic_F and their respective negations, and for which every clause LiLjsubscript𝐿𝑖subscript𝐿𝑗L_{i}\lor L_{j}italic_L start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∨ italic_L start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT of F𝐹Fitalic_F corresponds to the pair of edges (¬Li,Lj)subscript𝐿𝑖subscript𝐿𝑗(\neg L_{i},L_{j})( ¬ italic_L start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_L start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) and (¬Lj,Li)subscript𝐿𝑗subscript𝐿𝑖(\neg L_{j},L_{i})( ¬ italic_L start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_L start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ). Then a greedy algorithm working along a topological ordering of the strongly connected components of this graph constructs a satisfying assignment. In this section we present a graph-based 2-XNF solver that follows a DPLL approach where the above ideas form the basis of the in-processing step.

4.1. Implication Graph Structures

Recall that, for a propositional logic formula F𝐹Fitalic_F in 2-XNF, the algebraic representation IF𝔹nsubscript𝐼𝐹subscript𝔹𝑛I_{F}\subseteq{\mathbb{B}}_{n}italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT ⊆ blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is of the form

IF=f1g1,,fkgk,1,,s𝔹nsubscript𝐼𝐹subscript𝑓1subscript𝑔1subscript𝑓𝑘subscript𝑔𝑘subscript1subscript𝑠subscript𝔹𝑛I_{F}=\langle f_{1}g_{1},\dots,f_{k}g_{k},\ell_{1},\dots,\ell_{s}\rangle% \subseteq{\mathbb{B}}_{n}italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT = ⟨ italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , roman_ℓ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ⟩ ⊆ blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT

for some fi,gi,j𝕃nsubscript𝑓𝑖subscript𝑔𝑖subscript𝑗subscript𝕃𝑛f_{i},g_{i},\ell_{j}\in{\mathbb{L}}_{n}italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , roman_ℓ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∈ blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. Based on the central idea of implication graph based linear time 2-CNF solving, we introduce the following notion.

Definition 4.1 (Implication Graph Structures).

Let F𝐹Fitalic_F be a formula in 2-XNF.

  1. (a)

    A tuple (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ), where L,V𝕃n𝐿𝑉subscript𝕃𝑛L,V\subseteq{\mathbb{L}}_{n}italic_L , italic_V ⊆ blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT and EV2𝐸superscript𝑉2E\subseteq V^{2}italic_E ⊆ italic_V start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT, is called an implication graph structure (IGS) for F𝐹Fitalic_F if the following conditions are satisfied:

    • (1)

      IF=L+fg(f+1,g)Esubscript𝐼𝐹delimited-⟨⟩𝐿inner-product𝑓𝑔𝑓1𝑔𝐸I_{F}=\langle L\rangle+\langle fg\mid(f+1,g)\in E\rangleitalic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT = ⟨ italic_L ⟩ + ⟨ italic_f italic_g ∣ ( italic_f + 1 , italic_g ) ∈ italic_E ⟩.

    • (2)

      (Skew-Symmetry) For all (f+1,g)E𝑓1𝑔𝐸(f+1,g)\in E( italic_f + 1 , italic_g ) ∈ italic_E, we have (g+1,f)E𝑔1𝑓𝐸(g+1,f)\in E( italic_g + 1 , italic_f ) ∈ italic_E.

    • (3)

      For all fV𝑓𝑉f\in Vitalic_f ∈ italic_V, we have (f,f)E𝑓𝑓𝐸(f,f)\notin E( italic_f , italic_f ) ∉ italic_E.

  2. (b)

    Let σ𝜎\sigmaitalic_σ be a term ordering. An IGS (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ) for F𝐹Fitalic_F is called σ𝜎\sigmaitalic_σ-reduced if the polynomials in L𝐿Litalic_L have pairwise distinct leading terms and

    LTσ(L)fVSupp(f)=.subscriptLT𝜎𝐿subscript𝑓𝑉Supp𝑓\mathop{\rm LT}\nolimits_{\sigma}(L)\cap\textstyle\bigcup_{f\in V}% \operatorname{Supp}(f)=\emptyset.roman_LT start_POSTSUBSCRIPT italic_σ end_POSTSUBSCRIPT ( italic_L ) ∩ ⋃ start_POSTSUBSCRIPT italic_f ∈ italic_V end_POSTSUBSCRIPT roman_Supp ( italic_f ) = ∅ .

For an IGS (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ), the pair (V,E)𝑉𝐸(V,E)( italic_V , italic_E ) is clearly a graph. Such graphs are called implication graphs in view of the following observation.

Remark 4.2.

Let (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ) be an IGS for a formula F𝐹Fitalic_F, and let (f,g)E𝑓𝑔𝐸(f,g)\in E( italic_f , italic_g ) ∈ italic_E. By definition, we then have (f+1)gIF𝑓1𝑔subscript𝐼𝐹(f+1)g\in I_{F}( italic_f + 1 ) italic_g ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT, and therefore

fIFg=fg+(f+1)gIF.formulae-sequence𝑓subscript𝐼𝐹𝑔𝑓𝑔𝑓1𝑔subscript𝐼𝐹f\in I_{F}\quad\implies\quad g\;=\;fg+(f+1)g\in I_{F}.italic_f ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT ⟹ italic_g = italic_f italic_g + ( italic_f + 1 ) italic_g ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT .

In other words, if the source node of an edge in the graph (V,E)𝑉𝐸(V,E)( italic_V , italic_E ) is contained in the ideal IFsubscript𝐼𝐹I_{F}italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT, then its target node is in IFsubscript𝐼𝐹I_{F}italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT, too. The set L𝐿Litalic_L simply collects all known linear information of IFsubscript𝐼𝐹I_{F}italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT.

Given an IGS G=(L,V,E)𝐺𝐿𝑉𝐸G=(L,V,E)italic_G = ( italic_L , italic_V , italic_E ) for a formula F𝐹Fitalic_F, a sequence f1,,fsVsubscript𝑓1subscript𝑓𝑠𝑉f_{1},\dots,f_{s}\in Vitalic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_f start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∈ italic_V with (fi,fi+1)Esubscript𝑓𝑖subscript𝑓𝑖1𝐸(f_{i},f_{i+1})\in E( italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ) ∈ italic_E for i{1,,s1}𝑖1𝑠1i\in\{1,\dots,s-1\}italic_i ∈ { 1 , … , italic_s - 1 } is called a path in G𝐺Gitalic_G. In this case we also write f1fssubscript𝑓1subscript𝑓𝑠f_{1}\to f_{s}italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT → italic_f start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT.

Lemma 4.3.

Let G𝐺Gitalic_G be an IGS for a formula F𝐹Fitalic_F, and let fg𝑓𝑔f\to gitalic_f → italic_g be a path in G𝐺Gitalic_G. Then we have (f+1)gIF𝑓1𝑔subscript𝐼𝐹(f+1)g\in I_{F}( italic_f + 1 ) italic_g ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT.

Proof.

Let the path fg𝑓𝑔f\to gitalic_f → italic_g be given by (fi,fi+1)Esubscript𝑓𝑖subscript𝑓𝑖1𝐸(f_{i},f_{i+1})\in E( italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ) ∈ italic_E for i{1,,s1}𝑖1𝑠1i\in\{1,\dots,s-1\}italic_i ∈ { 1 , … , italic_s - 1 }, where f=f1𝑓subscript𝑓1f=f_{1}italic_f = italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and g=fs𝑔subscript𝑓𝑠g=f_{s}italic_g = italic_f start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT for some s+𝑠subscripts\in{\mathbb{N}}_{+}italic_s ∈ blackboard_N start_POSTSUBSCRIPT + end_POSTSUBSCRIPT. We show the claim by induction on s𝑠sitalic_s. By Definition 4.1, the statement is true if s=1𝑠1s=1italic_s = 1. Assume that the claim is correct for paths of length s1𝑠1s-1italic_s - 1. Then we have (f2+1)fsIFsubscript𝑓21subscript𝑓𝑠subscript𝐼𝐹(f_{2}+1)f_{s}\in I_{F}( italic_f start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 ) italic_f start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT, and by Definition 4.1 also (f1+1)f2IFsubscript𝑓11subscript𝑓2subscript𝐼𝐹(f_{1}+1)f_{2}\in I_{F}( italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1 ) italic_f start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT. This shows

(f1+1)fs=(f1+1)f2fs+(f1+1)(f2+1)fsIF.subscript𝑓11subscript𝑓𝑠subscript𝑓11subscript𝑓2subscript𝑓𝑠subscript𝑓11subscript𝑓21subscript𝑓𝑠subscript𝐼𝐹(f_{1}+1)f_{s}\;=\;(f_{1}+1)f_{2}f_{s}+(f_{1}+1)(f_{2}+1)f_{s}\in I_{F}.( italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1 ) italic_f start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = ( italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1 ) italic_f start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT + ( italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1 ) ( italic_f start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 ) italic_f start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT .

This lemma implies that the transitive closure (V,E)𝑉superscript𝐸(V,E^{\prime})( italic_V , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) of (V,E)𝑉𝐸(V,E)( italic_V , italic_E ) yields an implication graph structure (L,V,E)𝐿𝑉superscript𝐸(L,V,E^{\prime})( italic_L , italic_V , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) for F𝐹Fitalic_F. It is easy to find an implication graph structure for a formula in 2-XNF, as the next remark indicates.

Remark 4.4 (Trivial Implication Graph Structures).

Let F𝐹Fitalic_F be a formula in 2-XNF with an algebraic representation of the form

IF=f1g1,,fkgk,1,,s𝔹nsubscript𝐼𝐹subscript𝑓1subscript𝑔1subscript𝑓𝑘subscript𝑔𝑘subscript1subscript𝑠subscript𝔹𝑛I_{F}\;=\;\langle f_{1}g_{1},\dots,f_{k}g_{k},\ell_{1},\dots,\ell_{s}\rangle% \subseteq{\mathbb{B}}_{n}italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT = ⟨ italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , roman_ℓ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ⟩ ⊆ blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT

where fi,gi,j𝕃nsubscript𝑓𝑖subscript𝑔𝑖subscript𝑗subscript𝕃𝑛f_{i},g_{i},\ell_{j}\in{\mathbb{L}}_{n}italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , roman_ℓ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∈ blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT are pairwise distinct.

  1. (a)

    Then the implication graph structure (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ) given by L={1,,s}𝐿subscript1subscript𝑠L=\{\ell_{1},\dots,\ell_{s}\}italic_L = { roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , roman_ℓ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT },

    V=i=1k{fi,fi+1,gi,gi+1}, and E=i=1k{(fi+1,gi),(gi+1,fi)}formulae-sequence𝑉superscriptsubscript𝑖1𝑘subscript𝑓𝑖subscript𝑓𝑖1subscript𝑔𝑖subscript𝑔𝑖1 and 𝐸superscriptsubscript𝑖1𝑘subscript𝑓𝑖1subscript𝑔𝑖subscript𝑔𝑖1subscript𝑓𝑖V\;=\;\bigcup_{i=1}^{k}\,\{\,f_{i},\,f_{i}+1,\,g_{i},\,g_{i}+1\,\},\hbox{\quad and% \quad}E\;=\;\bigcup_{i=1}^{k}\,\{\;(f_{i}+1,g_{i}),\,(g_{i}+1,f_{i})\;\}italic_V = ⋃ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT { italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 , italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 } , and italic_E = ⋃ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT { ( italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 , italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) , ( italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 , italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) }

    is called the trivial implication graph structure for F𝐹Fitalic_F.

  2. (b)

    The implication graph structure (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ) given by L={1,,s}𝐿subscript1subscript𝑠L=\{\ell_{1},\dots,\ell_{s}\}italic_L = { roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , roman_ℓ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT },

    V𝑉\displaystyle Vitalic_V ={fi,fi+1,gi,gi+1,fi+gi,fi+gi+11ik}, andabsentconditional-setsubscript𝑓𝑖subscript𝑓𝑖1subscript𝑔𝑖subscript𝑔𝑖1subscript𝑓𝑖subscript𝑔𝑖subscript𝑓𝑖subscript𝑔𝑖11𝑖𝑘 and\displaystyle\;=\;\{\,f_{i},\,f_{i}+1,\,g_{i},\,g_{i}+1,\,f_{i}+g_{i},\,f_{i}+% g_{i}+1\;\mid 1\leq i\leq k\},\hbox{\ and}= { italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 , italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 , italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 ∣ 1 ≤ italic_i ≤ italic_k } , and
    E𝐸\displaystyle Eitalic_E =i=1k{(fi+1,gi),(fi+1,fi+gi+1),(fi+gi,gi)}absentsuperscriptsubscript𝑖1𝑘subscript𝑓𝑖1subscript𝑔𝑖subscript𝑓𝑖1subscript𝑓𝑖subscript𝑔𝑖1subscript𝑓𝑖subscript𝑔𝑖subscript𝑔𝑖\displaystyle\;=\;\bigcup_{i=1}^{k}\{\;(f_{i}+1,g_{i}),\,(f_{i}+1,f_{i}+g_{i}+% 1),\,(f_{i}+g_{i},g_{i})\;\}= ⋃ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT { ( italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 , italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) , ( italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 , italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 ) , ( italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) }
    i=1k{(gi+1,fi),(fi+gi,fi),(gi+1,fi+gi+1)}superscriptsubscript𝑖1𝑘subscript𝑔𝑖1subscript𝑓𝑖subscript𝑓𝑖subscript𝑔𝑖subscript𝑓𝑖subscript𝑔𝑖1subscript𝑓𝑖subscript𝑔𝑖1\displaystyle\qquad\qquad\cup\bigcup_{i=1}^{k}\{\;(g_{i}+1,f_{i}),\,(f_{i}+g_{% i},f_{i}),\,(g_{i}+1,f_{i}+g_{i}+1)\;\}∪ ⋃ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT { ( italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 , italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) , ( italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) , ( italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 , italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 ) }

    is called the extended trivial implication graph structure for F𝐹Fitalic_F.

In both cases the size of the graph (V,E)𝑉𝐸(V,E)( italic_V , italic_E ) is linear in the input size of the formula F𝐹Fitalic_F, because we have #V6k#𝑉6𝑘\#V\leq 6k# italic_V ≤ 6 italic_k and #E3k#𝐸3𝑘\#E\leq 3k# italic_E ≤ 3 italic_k.

Example 4.5.

Let F𝐹Fitalic_F be a formula in 2-XNF with algebraic representation

IF=\displaystyle I_{F}=\Big{\langle}\,italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT = ⟨ (x1+1)x2,(x2+1)(x1+x3),(x2+1)x4,(x5+x2+1)(x1+x3),subscript𝑥11subscript𝑥2subscript𝑥21subscript𝑥1subscript𝑥3subscript𝑥21subscript𝑥4subscript𝑥5subscript𝑥21subscript𝑥1subscript𝑥3\displaystyle(x_{1}+1)x_{2},\,(x_{2}+1)(x_{1}+x_{3}),\,(x_{2}+1)x_{4},\,(x_{5}% +x_{2}+1)(x_{1}+x_{3}),\,( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1 ) italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , ( italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 ) ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ) , ( italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 ) italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT , ( italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 ) ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ) ,
(x1+x3+1)(x1+x2+x3+1),(x4+1)x3,(x5+1)x4𝔹5.\displaystyle(x_{1}+x_{3}+1)(x_{1}+x_{2}+x_{3}+1),\,(x_{4}+1)x_{3},\,(x_{5}+1)% x_{4}\,\Big{\rangle}\;\subseteq\;{\mathbb{B}}_{5}.( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + 1 ) ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + 1 ) , ( italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT + 1 ) italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT , ( italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT + 1 ) italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT ⟩ ⊆ blackboard_B start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT .

Then the trivial IGS of F𝐹Fitalic_F is (L0,V0,E0)subscript𝐿0subscript𝑉0subscript𝐸0(L_{0},V_{0},E_{0})( italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_V start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) where L0=subscript𝐿0L_{0}=\emptysetitalic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = ∅ and (V0,E0)subscript𝑉0subscript𝐸0(V_{0},E_{0})( italic_V start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) is the graph given in Figure 1.

x1subscript𝑥1x_{1}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPTx2subscript𝑥2x_{2}italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPTx1+x3subscript𝑥1subscript𝑥3x_{1}+x_{3}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPTx2+x5subscript𝑥2subscript𝑥5x_{2}+x_{5}italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPTx1+x2+x3+1subscript𝑥1subscript𝑥2subscript𝑥31x_{1}+x_{2}+x_{3}+1italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + 1x4subscript𝑥4x_{4}italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPTx5subscript𝑥5x_{5}italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPTx3subscript𝑥3x_{3}italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPTx1+1subscript𝑥11x_{1}+1italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1x2+1subscript𝑥21x_{2}+1italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1x1+x3+1subscript𝑥1subscript𝑥31x_{1}+x_{3}+1italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + 1x2+x5+1subscript𝑥2subscript𝑥51x_{2}+x_{5}+1italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT + 1x1+x2+x3subscript𝑥1subscript𝑥2subscript𝑥3x_{1}+x_{2}+x_{3}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPTx4+1subscript𝑥41x_{4}+1italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT + 1x5+1subscript𝑥51x_{5}+1italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT + 1x3+1subscript𝑥31x_{3}+1italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + 1
Figure 1. Implication graph (V0,E0)subscript𝑉0subscript𝐸0(V_{0},E_{0})( italic_V start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) from Example 4.5.

Our solving algorithm starts with such a trivial IGS for F𝐹Fitalic_F and improves it gradually by propagation, in-processing and guessing until we arrive at an IGS with an empty graph, i.e., a case where the corresponding ideal is generated just by linear polynomials. Given that the guesses were correct, a satisfying assignment of F𝐹Fitalic_F can then be deduced immediately from a solution to the corresponding system of linear equations. This improvement is measured in terms of the size of the linear part L𝐿Litalic_L and in the size of the graph (V,E)𝑉𝐸(V,E)( italic_V , italic_E ). The following relation specifies this in detail.

Definition 4.6.

Let F𝐹Fitalic_F be a formula in 2-XNF, and let G=(L,V,E)superscript𝐺superscript𝐿superscript𝑉superscript𝐸G^{\prime}=(L^{\prime},V^{\prime},E^{\prime})italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = ( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) as well as G=(L,V,E)𝐺𝐿𝑉𝐸G=(L,V,E)italic_G = ( italic_L , italic_V , italic_E ) be two implication graph structures for F𝐹Fitalic_F. Then we write GGprecedes-or-equalssuperscript𝐺𝐺G^{\prime}\preceq Gitalic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⪯ italic_G if and only if L𝔽2L𝔽2subscriptdelimited-⟨⟩𝐿subscript𝔽2subscriptdelimited-⟨⟩superscript𝐿subscript𝔽2\langle L^{\prime}\rangle_{\mathbb{F}_{2}}\supseteq\langle L\rangle_{\mathbb{F% }_{2}}⟨ italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⊇ ⟨ italic_L ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and #V#V#superscript𝑉#𝑉\#V^{\prime}\leq\#V# italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≤ # italic_V. Moreover, if one of the two conditions is strict, we write GGprecedessuperscript𝐺𝐺G^{\prime}\prec Gitalic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≺ italic_G.

The relation precedes-or-equals\preceq defines a partial quasi-ordering on the set of all implication graph structures, i.e., it is reflexive, transitive, and by the following lemma it satisfies the descending chain condition. The latter property is the key ingredient for proving finiteness of the upcoming algorithms.

Lemma 4.7 (Descending Chain Condition for Implication Graph Structures).

Let F𝐹Fitalic_F be a formula in 2-XNF. Then there is no infinite, strictly descending chain of implication graph structures for F𝐹Fitalic_F.

Proof.

For a contradiction, assume there is an infinite strictly descending chain (L1,V1,E2)(L2,V2,E2)succeedssubscript𝐿1subscript𝑉1subscript𝐸2subscript𝐿2subscript𝑉2subscript𝐸2succeeds(L_{1},V_{1},E_{2})\succ(L_{2},V_{2},E_{2})\succ\cdots( italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ≻ ( italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ≻ ⋯ of implication graph structures for F𝐹Fitalic_F. By definition, it follows that there is an ascending chain of subspaces L1𝔽2L2𝔽2subscriptdelimited-⟨⟩subscript𝐿1subscript𝔽2subscriptdelimited-⟨⟩subscript𝐿2subscript𝔽2\langle L_{1}\rangle_{\mathbb{F}_{2}}\subseteq\langle L_{2}\rangle_{\mathbb{F}% _{2}}\subseteq\cdots⟨ italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⊆ ⟨ italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⊆ ⋯ in 𝔹nsubscript𝔹𝑛{\mathbb{B}}_{n}blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. Since 𝔹nsubscript𝔹𝑛{\mathbb{B}}_{n}blackboard_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is a finite-dimensional 𝔽2subscript𝔽2{\mathbb{F}}_{2}blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT-vector space, this chain becomes eventually stationary, i.e., there exists a number k+𝑘subscriptk\in{\mathbb{N}}_{+}italic_k ∈ blackboard_N start_POSTSUBSCRIPT + end_POSTSUBSCRIPT such that Lk𝔽2=Li𝔽2subscriptdelimited-⟨⟩subscript𝐿𝑘subscript𝔽2subscriptdelimited-⟨⟩subscript𝐿𝑖subscript𝔽2\langle L_{k}\rangle_{\mathbb{F}_{2}}=\langle L_{i}\rangle_{\mathbb{F}_{2}}⟨ italic_L start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = ⟨ italic_L start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT for all ik𝑖𝑘i\geq kitalic_i ≥ italic_k. By Definition 4.6, this implies #Vi+1<#Vi#subscript𝑉𝑖1#subscript𝑉𝑖\#V_{i+1}<\#V_{i}# italic_V start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT < # italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for all ik𝑖𝑘i\geq kitalic_i ≥ italic_k. In this way, the #Vi#subscript𝑉𝑖\#V_{i}# italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT form a decreasing sequence in {\mathbb{N}}blackboard_N which eventually becomes stationary. Consequently, at some point in the sequence, we have Li+1𝔽2=Li𝔽2subscriptdelimited-⟨⟩subscript𝐿𝑖1subscript𝔽2subscriptdelimited-⟨⟩subscript𝐿𝑖subscript𝔽2\langle L_{i+1}\rangle_{\mathbb{F}_{2}}=\langle L_{i}\rangle_{\mathbb{F}_{2}}⟨ italic_L start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = ⟨ italic_L start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and #Vi+1=#Vi#subscript𝑉𝑖1#subscript𝑉𝑖\#V_{i+1}=\#V_{i}# italic_V start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT = # italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, i.e. the chain is not strictly decreasing. ∎

To conclude this section, we present the updating Algorithm 4 of our solver which computes the σ𝜎\sigmaitalic_σ-reduction of any given IGS. The method is an adaption of Gaußian Constraint Propagation (see [26, Algorithm 5.7]) to implication graph structures. Note that Gaußian Constraint Propagation itself is a generalization of Boolean Constraint Propagation, also known as Unit Propagation, in traditional CNF-based SAT solvers.

Input : An IGS G𝐺Gitalic_G for a formula F𝐹Fitalic_F, a term ordering σ𝜎\sigmaitalic_σ.
Output : A σ𝜎\sigmaitalic_σ-reduced IGS Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT for F𝐹Fitalic_F with GGprecedes-or-equalssuperscript𝐺𝐺G^{\prime}\preceq Gitalic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⪯ italic_G.
1 Write G=(L,V,E)𝐺𝐿𝑉𝐸G=(L,V,E)italic_G = ( italic_L , italic_V , italic_E ) and LTσsubscriptLT𝜎\mathop{\rm LT}\nolimits_{\sigma}roman_LT start_POSTSUBSCRIPT italic_σ end_POSTSUBSCRIPT-interreduce L𝐿Litalic_L.
2 Let (L,V,E)=(L,,)superscript𝐿superscript𝑉superscript𝐸𝐿(L^{\prime},V^{\prime},E^{\prime})=(L,\emptyset,\emptyset)( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) = ( italic_L , ∅ , ∅ ).
3 for (f,g)E𝑓𝑔𝐸(f,g)\in E( italic_f , italic_g ) ∈ italic_E do
4       Let f=NRσ(f,L)superscript𝑓subscriptNR𝜎𝑓𝐿f^{\prime}=\operatorname{NR}_{\sigma}(f,L)italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = roman_NR start_POSTSUBSCRIPT italic_σ end_POSTSUBSCRIPT ( italic_f , italic_L ) and g=NRσ(g,L)superscript𝑔subscriptNR𝜎𝑔𝐿g^{\prime}=\operatorname{NR}_{\sigma}(g,L)italic_g start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = roman_NR start_POSTSUBSCRIPT italic_σ end_POSTSUBSCRIPT ( italic_g , italic_L ).
5      if f=0superscript𝑓0f^{\prime}=0italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = 0 and g0superscript𝑔0g^{\prime}\neq 0italic_g start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≠ 0 then append gsuperscript𝑔g^{\prime}italic_g start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT to Lsuperscript𝐿L^{\prime}italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT.
6       if g=1superscript𝑔1g^{\prime}=1italic_g start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = 1 and f1superscript𝑓1f^{\prime}\neq 1italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≠ 1 then append f+1superscript𝑓1f^{\prime}+1italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT + 1 to Lsuperscript𝐿L^{\prime}italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT.
7       if f𝔽2superscript𝑓subscript𝔽2f^{\prime}\notin{\mathbb{F}}_{2}italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∉ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and g𝔽2superscript𝑔subscript𝔽2g^{\prime}\notin{\mathbb{F}}_{2}italic_g start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∉ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and fgsuperscript𝑓superscript𝑔f^{\prime}\neq g^{\prime}italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≠ italic_g start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT then
8            append (f,g)superscript𝑓superscript𝑔(f^{\prime},g^{\prime})( italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_g start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) to Esuperscript𝐸E^{\prime}italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, append fsuperscript𝑓f^{\prime}italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and gsuperscript𝑔g^{\prime}italic_g start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT to Vsuperscript𝑉V^{\prime}italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT.
9      
10if LL𝐿superscript𝐿L\neq L^{\prime}italic_L ≠ italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT then set (L,V,E)=(L,V,E)𝐿𝑉𝐸superscript𝐿superscript𝑉superscript𝐸(L,V,E)=(L^{\prime},V^{\prime},E^{\prime})( italic_L , italic_V , italic_E ) = ( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) and go to Line 2222.
11 else return (L,V,E)superscript𝐿superscript𝑉superscript𝐸(L^{\prime},V^{\prime},E^{\prime})( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ).
Algorithm 4 𝙶𝙶𝙲𝙿𝙶𝙶𝙲𝙿\mathtt{GGCP}typewriter_GGCP  –  Graph Gaußian Constraint Propagation
Proposition 4.8.

Let σ𝜎\sigmaitalic_σ be a term ordering, let F𝐹Fitalic_F be a formula in 2-XNF, and let G𝐺Gitalic_G be an IGS for F𝐹Fitalic_F. Then 𝙶𝙶𝙲𝙿𝙶𝙶𝙲𝙿\mathtt{GGCP}typewriter_GGCP is an algorithm which returns a σ𝜎\sigmaitalic_σ-reduced implication graph structure G=𝙶𝙶𝙲𝙿σ(G)superscript𝐺subscript𝙶𝙶𝙲𝙿𝜎𝐺G^{\prime}=\mathtt{GGCP}_{\sigma}(G)italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = typewriter_GGCP start_POSTSUBSCRIPT italic_σ end_POSTSUBSCRIPT ( italic_G ) for F𝐹Fitalic_F such that GGprecedes-or-equalssuperscript𝐺𝐺G^{\prime}\preceq Gitalic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⪯ italic_G.

Proof.

Since (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ) is an IGS for F𝐹Fitalic_F, we have LIF𝐿subscript𝐼𝐹L\subseteq I_{F}italic_L ⊆ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT and (f+1)gIF𝑓1𝑔subscript𝐼𝐹(f+1)g\in I_{F}( italic_f + 1 ) italic_g ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT for every pair (f,g)E𝑓𝑔𝐸(f,g)\in E( italic_f , italic_g ) ∈ italic_E. Thus we see that (f+1)g=(NRσ(f,L)+1)NRσ(g,L)IFsuperscript𝑓1superscript𝑔subscriptNR𝜎𝑓𝐿1subscriptNR𝜎𝑔𝐿subscript𝐼𝐹(f^{\prime}+1)g^{\prime}=(\operatorname{NR}_{\sigma}(f,L)+1)\operatorname{NR}_% {\sigma}(g,L)\in I_{F}( italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT + 1 ) italic_g start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = ( roman_NR start_POSTSUBSCRIPT italic_σ end_POSTSUBSCRIPT ( italic_f , italic_L ) + 1 ) roman_NR start_POSTSUBSCRIPT italic_σ end_POSTSUBSCRIPT ( italic_g , italic_L ) ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT holds in Line 4444.

For f=0superscript𝑓0f^{\prime}=0italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = 0, this yields gIFsuperscript𝑔subscript𝐼𝐹g^{\prime}\in I_{F}italic_g start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT, and for g=1superscript𝑔1g^{\prime}=1italic_g start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = 1, we get f+1IFsuperscript𝑓1subscript𝐼𝐹f^{\prime}+1\in I_{F}italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT + 1 ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT. For all other cases, where f𝔽2superscript𝑓subscript𝔽2f^{\prime}\in{\mathbb{F}}_{2}italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, g𝔽2superscript𝑔subscript𝔽2g^{\prime}\in{\mathbb{F}}_{2}italic_g start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, or f=gsuperscript𝑓superscript𝑔f^{\prime}=g^{\prime}italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = italic_g start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, we have (f+1)g=0superscript𝑓1superscript𝑔0(f^{\prime}+1)g^{\prime}=0( italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT + 1 ) italic_g start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = 0, and the corresponding edge can be ignored. This shows that after Lines 3333-8888 have been executed, the tuple G=(L,V,E)superscript𝐺superscript𝐿superscript𝑉superscript𝐸G^{\prime}=(L^{\prime},V^{\prime},E^{\prime})italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = ( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) is indeed an IGS for F𝐹Fitalic_F. Moreover, Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is σ𝜎\sigmaitalic_σ-reduced, because for all fVsuperscript𝑓superscript𝑉f^{\prime}\in V^{\prime}italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT we have LTσ(L)Supp(f)=subscriptLT𝜎𝐿Suppsuperscript𝑓\mathop{\rm LT}\nolimits_{\sigma}(L)\cap\operatorname{Supp}(f^{\prime})=\emptysetroman_LT start_POSTSUBSCRIPT italic_σ end_POSTSUBSCRIPT ( italic_L ) ∩ roman_Supp ( italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) = ∅ by construction.

Finally, note that we always have L𝔽2L𝔽2subscriptdelimited-⟨⟩𝐿subscript𝔽2subscriptdelimited-⟨⟩superscript𝐿subscript𝔽2\langle L^{\prime}\rangle_{\mathbb{F}_{2}}\supseteq\langle L\rangle_{\mathbb{F% }_{2}}⟨ italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⊇ ⟨ italic_L ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and #V#V#superscript𝑉#𝑉\#V^{\prime}\leq\#V# italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≤ # italic_V. This implies GGprecedes-or-equalssuperscript𝐺𝐺G^{\prime}\preceq Gitalic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⪯ italic_G for every iteration of Lines 2222-8888, and this relation is strict if LL𝐿superscript𝐿L\neq L^{\prime}italic_L ≠ italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. By Line 9999, these steps are repeated as long as this is the case, and the implication graph structures (L,V,E)superscript𝐿superscript𝑉superscript𝐸(L^{\prime},V^{\prime},E^{\prime})( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) resulting from these iterations form a strictly descending chain. By Lemma 4.7, this chain must be finite, i.e., there can only be finitely many iterations, and the procedure has to terminate in Line 10101010. ∎

4.2. Pre-Processing Techniques

In this subsection we present two results which allow us to deduce new information from a given implication graph structure. The first one derives new linerals, and the second one finds new edges between the vertices of a given implication graph. These techniques are computationally rather expensive and should be seen as pre-processing techniques which are only applied once before the main solving procedure.

Definition 4.9.

Let F𝐹Fitalic_F be a formula in 2-XNF, and let (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ) be an IGS for F𝐹Fitalic_F.

  1. (a)

    The set of descendants of a vertex fV𝑓𝑉f\in Vitalic_f ∈ italic_V is defined by

    Df={f}{gVthere is a path fg in (V,E)}.subscript𝐷𝑓𝑓conditional-set𝑔𝑉there is a path 𝑓𝑔 in 𝑉𝐸D_{f}\;=\;\{f\}\cup\{g\in V\mid\;\text{there is a path }f\to g\text{ in }(V,E)\}.italic_D start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT = { italic_f } ∪ { italic_g ∈ italic_V ∣ there is a path italic_f → italic_g in ( italic_V , italic_E ) } .

    Note that we consider f𝑓fitalic_f as a descendant of itself, since we have (f+1)f=0IF𝑓1𝑓0subscript𝐼𝐹(f+1)f=0\in I_{F}( italic_f + 1 ) italic_f = 0 ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT.

  2. (b)

    The vector space Δf=Df𝔽2𝕃nsubscriptΔ𝑓subscriptdelimited-⟨⟩subscript𝐷𝑓subscript𝔽2subscript𝕃𝑛\Delta_{f}=\langle D_{f}\rangle_{\mathbb{F}_{2}}\subseteq{\mathbb{L}}_{n}roman_Δ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT = ⟨ italic_D start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⊆ blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT will be called the space of descendants of f𝑓fitalic_f.

Note that, for a vector subspace U𝑈Uitalic_U of 𝕃nsubscript𝕃𝑛{\mathbb{L}}_{n}blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, we let 1+U={f+1fU}1𝑈conditional-set𝑓1𝑓𝑈1+U=\{f+1\mid f\in U\}1 + italic_U = { italic_f + 1 ∣ italic_f ∈ italic_U } be the affine subspace of 𝕃nsubscript𝕃𝑛{\mathbb{L}}_{n}blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT representing the negation of U𝑈Uitalic_U. The space of descendants of fV𝑓𝑉f\in Vitalic_f ∈ italic_V has the following useful properties.

Proposition 4.10.

Let F𝐹Fitalic_F be a formula in 2222-XNF, let (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ) be an implication graph structure for F𝐹Fitalic_F.

  1. (a)

    For all fV𝑓𝑉f\in Vitalic_f ∈ italic_V and gΔf𝑔subscriptΔ𝑓g\in\Delta_{f}italic_g ∈ roman_Δ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT, we have (f+1)gIF𝑓1𝑔subscript𝐼𝐹(f+1)g\in I_{F}( italic_f + 1 ) italic_g ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT.

  2. (b)

    Let f,gV𝑓𝑔𝑉f,g\in Vitalic_f , italic_g ∈ italic_V. If Δf(1+Δg)subscriptΔ𝑓1subscriptΔ𝑔\Delta_{f}\cap(1+\Delta_{g})\neq\emptysetroman_Δ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ∩ ( 1 + roman_Δ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT ) ≠ ∅ then (f+1)(g+1)IF𝑓1𝑔1subscript𝐼𝐹(f+1)(g+1)\in I_{F}( italic_f + 1 ) ( italic_g + 1 ) ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT.

  3. (c)

    For all fV𝑓𝑉f\in Vitalic_f ∈ italic_V, we have ΔfΔf+1IFsubscriptΔ𝑓subscriptΔ𝑓1subscript𝐼𝐹\Delta_{f}\cap\Delta_{f+1}\subseteq I_{F}roman_Δ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ∩ roman_Δ start_POSTSUBSCRIPT italic_f + 1 end_POSTSUBSCRIPT ⊆ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT.

Proof.

To show (a), let gΔf𝑔subscriptΔ𝑓g\in\Delta_{f}italic_g ∈ roman_Δ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT. We write g=j=1kgj𝑔superscriptsubscript𝑗1𝑘subscript𝑔𝑗g=\sum_{j=1}^{k}g_{j}italic_g = ∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT with gjDfsubscript𝑔𝑗subscript𝐷𝑓g_{j}\in D_{f}italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∈ italic_D start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT. By Lemma 4.3, we have (f+1)gjIF𝑓1subscript𝑔𝑗subscript𝐼𝐹(f+1)g_{j}\in I_{F}( italic_f + 1 ) italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT for j{1,,k}𝑗1𝑘j\in\{1,\dots,k\}italic_j ∈ { 1 , … , italic_k }. Hence we obtain (f+1)g=j=1k(f+1)gjIF𝑓1𝑔superscriptsubscript𝑗1𝑘𝑓1subscript𝑔𝑗subscript𝐼𝐹(f+1)g=\sum_{j=1}^{k}(f+1)g_{j}\in I_{F}( italic_f + 1 ) italic_g = ∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT ( italic_f + 1 ) italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT.

To prove (b), let hΔfsubscriptΔ𝑓h\in\Delta_{f}italic_h ∈ roman_Δ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT and h+1Δg1subscriptΔ𝑔h+1\in\Delta_{g}italic_h + 1 ∈ roman_Δ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT. Then (a) implies (f+1)hIF𝑓1subscript𝐼𝐹(f+1)h\in I_{F}( italic_f + 1 ) italic_h ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT and (g+1)(h+1)IF𝑔11subscript𝐼𝐹(g+1)(h+1)\in I_{F}( italic_g + 1 ) ( italic_h + 1 ) ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT. This shows

(f+1)(g+1)=(f+1)h(g+1)+(f+1)(h+1)(g+1)IF.𝑓1𝑔1𝑓1𝑔1𝑓11𝑔1subscript𝐼𝐹(f+1)(g+1)=(f+1)h(g+1)+(f+1)(h+1)(g+1)\in I_{F}.( italic_f + 1 ) ( italic_g + 1 ) = ( italic_f + 1 ) italic_h ( italic_g + 1 ) + ( italic_f + 1 ) ( italic_h + 1 ) ( italic_g + 1 ) ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT .

For the proof of (c), let gΔfΔf+1𝑔subscriptΔ𝑓subscriptΔ𝑓1g\in\Delta_{f}\cap\Delta_{f+1}italic_g ∈ roman_Δ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ∩ roman_Δ start_POSTSUBSCRIPT italic_f + 1 end_POSTSUBSCRIPT. From (a) we get (f+1)gIF𝑓1𝑔subscript𝐼𝐹(f+1)g\in I_{F}( italic_f + 1 ) italic_g ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT and fgIF𝑓𝑔subscript𝐼𝐹fg\in I_{F}italic_f italic_g ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT, and therefore g=fg+(f+1)gIF𝑔𝑓𝑔𝑓1𝑔subscript𝐼𝐹g=fg+(f+1)g\in I_{F}italic_g = italic_f italic_g + ( italic_f + 1 ) italic_g ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT. ∎

Example 4.11.

In the situation of Example 4.5, we have x1+x2Δx2Δx2+1subscript𝑥1subscript𝑥2subscriptΔsubscript𝑥2subscriptΔsubscript𝑥21x_{1}+x_{2}\in\Delta_{x_{2}}\cap\Delta_{x_{2}+1}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ roman_Δ start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∩ roman_Δ start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 end_POSTSUBSCRIPT. Proposition 4.10.c then implies x1+x2IFsubscript𝑥1subscript𝑥2subscript𝐼𝐹x_{1}+x_{2}\in I_{F}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT, and thus (L0{x1+x2},V0,E0)subscript𝐿0subscript𝑥1subscript𝑥2subscript𝑉0subscript𝐸0(L_{0}\cup\{x_{1}+x_{2}\},V_{0},E_{0})( italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ∪ { italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT } , italic_V start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) is an IGS for F𝐹Fitalic_F as well. Let σ=𝚕𝚎𝚡𝜎𝚕𝚎𝚡\sigma=\mathtt{lex}italic_σ = typewriter_lex and apply 𝙶𝙶𝙲𝙿𝚕𝚎𝚡subscript𝙶𝙶𝙲𝙿𝚕𝚎𝚡\mathtt{GGCP}_{\mathtt{lex}}typewriter_GGCP start_POSTSUBSCRIPT typewriter_lex end_POSTSUBSCRIPT to this tuple to get an IGS (L1,V1,E1)subscript𝐿1subscript𝑉1subscript𝐸1(L_{1},V_{1},E_{1})( italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) for F𝐹Fitalic_F where L1={x1+x2}subscript𝐿1subscript𝑥1subscript𝑥2L_{1}=\{x_{1}+x_{2}\}italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = { italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT } and (V1,E1)subscript𝑉1subscript𝐸1(V_{1},E_{1})( italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) is graph given in Figure 2.

x2subscript𝑥2x_{2}italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPTx2+x3subscript𝑥2subscript𝑥3x_{2}+x_{3}italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPTx5+x2subscript𝑥5subscript𝑥2x_{5}+x_{2}italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPTx4subscript𝑥4x_{4}italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPTx5subscript𝑥5x_{5}italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPTx3subscript𝑥3x_{3}italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPTx2+1subscript𝑥21x_{2}+1italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1x2+x3+1subscript𝑥2subscript𝑥31x_{2}+x_{3}+1italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + 1x5+x2+1subscript𝑥5subscript𝑥21x_{5}+x_{2}+1italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1x4+1subscript𝑥41x_{4}+1italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT + 1x5+1subscript𝑥51x_{5}+1italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT + 1x3+1subscript𝑥31x_{3}+1italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + 1
Figure 2. Implication graph (V1,E1)subscript𝑉1subscript𝐸1(V_{1},E_{1})( italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) from Example 4.11.

Using this proposition, we construct the following straightforward pre-processing Algorithm 5. It runs in polynomial time in the size of F𝐹Fitalic_F and can find new linear information as well as new edges. Notice that numerous intersections of affine 𝔽2subscript𝔽2{\mathbb{F}}_{2}blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT-subspaces of 𝔽2nsuperscriptsubscript𝔽2𝑛{\mathbb{F}}_{2}^{n}blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT have to be computed.

Input : An IGS G𝐺Gitalic_G for a formula F𝐹Fitalic_F, a term ordering σ𝜎\sigmaitalic_σ.
Output : A σ𝜎\sigmaitalic_σ-reduced IGS Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT for F𝐹Fitalic_F.
1 Let (L,V,E)=𝙶𝙶𝙲𝙿σ(G)superscript𝐿superscript𝑉superscript𝐸subscript𝙶𝙶𝙲𝙿𝜎𝐺(L^{\prime},V^{\prime},E^{\prime})=\mathtt{GGCP}_{\sigma}(G)( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) = typewriter_GGCP start_POSTSUBSCRIPT italic_σ end_POSTSUBSCRIPT ( italic_G ), let L𝚙𝚙=subscript𝐿𝚙𝚙L_{\mathtt{pp}}=\emptysetitalic_L start_POSTSUBSCRIPT typewriter_pp end_POSTSUBSCRIPT = ∅ and let E𝚙𝚙=subscript𝐸𝚙𝚙E_{\mathtt{pp}}=\emptysetitalic_E start_POSTSUBSCRIPT typewriter_pp end_POSTSUBSCRIPT = ∅.
2 for fV𝑓𝑉f\in Vitalic_f ∈ italic_V do
3       Add a basis of ΔfΔf+1subscriptΔ𝑓subscriptΔ𝑓1\Delta_{f}\cap\Delta_{f+1}roman_Δ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ∩ roman_Δ start_POSTSUBSCRIPT italic_f + 1 end_POSTSUBSCRIPT to L𝚙𝚙subscript𝐿𝚙𝚙L_{\mathtt{pp}}italic_L start_POSTSUBSCRIPT typewriter_pp end_POSTSUBSCRIPT.
4       for gV{f+1}𝑔𝑉𝑓1g\in V\setminus\{f+1\}italic_g ∈ italic_V ∖ { italic_f + 1 } do
5             if Δf(1+Δg)subscriptΔ𝑓1subscriptΔ𝑔\Delta_{f}\cap(1+\Delta_{g})\neq\emptysetroman_Δ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ∩ ( 1 + roman_Δ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT ) ≠ ∅ then add (f+1,g)𝑓1𝑔(f+1,g)( italic_f + 1 , italic_g ) and (g+1,f)𝑔1𝑓(g+1,f)( italic_g + 1 , italic_f ) to E𝚙𝚙subscript𝐸𝚙𝚙E_{\mathtt{pp}}italic_E start_POSTSUBSCRIPT typewriter_pp end_POSTSUBSCRIPT
6            
7      
8if L𝚙𝚙subscript𝐿𝚙𝚙L_{\mathtt{pp}}\neq\emptysetitalic_L start_POSTSUBSCRIPT typewriter_pp end_POSTSUBSCRIPT ≠ ∅ or E𝚙𝚙subscript𝐸𝚙𝚙E_{\mathtt{pp}}\neq\emptysetitalic_E start_POSTSUBSCRIPT typewriter_pp end_POSTSUBSCRIPT ≠ ∅ then set G=(LL𝚙𝚙,V,EE𝚙𝚙)𝐺superscript𝐿subscript𝐿𝚙𝚙superscript𝑉superscript𝐸subscript𝐸𝚙𝚙G=(L^{\prime}\cup L_{\mathtt{pp}},V^{\prime},E^{\prime}\cup E_{\mathtt{pp}})italic_G = ( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ italic_L start_POSTSUBSCRIPT typewriter_pp end_POSTSUBSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ italic_E start_POSTSUBSCRIPT typewriter_pp end_POSTSUBSCRIPT ) and go to Line 1111.
9 else return (L,V,E)superscript𝐿superscript𝑉superscript𝐸(L^{\prime},V^{\prime},E^{\prime})( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT )
Algorithm 5 𝙿𝙿𝙿𝙿\mathtt{PP}typewriter_PP  –  (Edge-Extending) Pre-Processing

It is clear that there is room for optimization of this algorithm if G𝐺Gitalic_G does not contain any cycles. In this case it suffices to check whether Δf(1+Δg)subscriptΔ𝑓1subscriptΔ𝑔\Delta_{f}\cap(1+\Delta_{g})\neq\emptysetroman_Δ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ∩ ( 1 + roman_Δ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT ) ≠ ∅ (see Line 5555) initially only for sources f,gV𝑓𝑔𝑉f,g\in Vitalic_f , italic_g ∈ italic_V of G𝐺Gitalic_G, i.e., for vertices with no incoming edges. Only if those spaces have a non-empty intersection, we need to consider their corresponding descendants. (This follows immediately from the fact that DgDfsubscript𝐷𝑔subscript𝐷𝑓D_{g}\subseteq D_{f}italic_D start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT ⊆ italic_D start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT if there is a path fg𝑓𝑔f\to gitalic_f → italic_g.) Even with this optimization, finding new edges is still computationally quite expensive. Hence Lines 4444 and 5555 are skipped in our implementation by default.

4.3. In-Processing Techniques

Next we introduce two algorithms which deduce new linear polynomials from a given implication graph structure more efficiently. Therefore they are suited as default in-processing techniques during the main solving procedure. In particular, the methods we look at here are (partial) generalizations of the notions of equivalent and failed literals, as discussed in [25].

As usual for directed graphs G=(V,E)𝐺𝑉𝐸G=(V,E)italic_G = ( italic_V , italic_E ), a subset SV𝑆𝑉S\subseteq Vitalic_S ⊆ italic_V is called a strongly connected component (SCC) of G𝐺Gitalic_G if, for all f,gS𝑓𝑔𝑆f,g\in Sitalic_f , italic_g ∈ italic_S, there is a path fg𝑓𝑔f\to gitalic_f → italic_g in G𝐺Gitalic_G and if S𝑆Sitalic_S is maximal with this property. It is well-known that for any directed graph, the set of all SCCs can be computed in 𝒪(#V+#E)𝒪#𝑉#𝐸\operatorname{\mathcal{O}}(\#V+\#E)caligraphic_O ( # italic_V + # italic_E ) space and time (see [40]). The following proposition indicates how these components can be used to deduce new linear information.

Proposition 4.12.

Let F𝐹Fitalic_F be a formula in 2-XNF, and let G=(L,V,E)𝐺𝐿𝑉𝐸G=(L,V,E)italic_G = ( italic_L , italic_V , italic_E ) be an IGS for F𝐹Fitalic_F. Denote the set of SCCs of (V,E)𝑉𝐸(V,E)( italic_V , italic_E ) by 𝒞𝒞\mathcal{C}caligraphic_C.

  1. (a)

    Let {f1,,fr}𝒞subscript𝑓1subscript𝑓𝑟𝒞\{f_{1},\dots,f_{r}\}\in\mathcal{C}{ italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT } ∈ caligraphic_C. Then f1+fiIFsubscript𝑓1subscript𝑓𝑖subscript𝐼𝐹f_{1}+f_{i}\in I_{F}italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT for i{1,,r}𝑖1𝑟i\in\{1,\dots,r\}italic_i ∈ { 1 , … , italic_r }.

  2. (b)

    If #𝒞#𝒞\#\mathcal{C}# caligraphic_C is odd, then F𝐹Fitalic_F is unsatisfiable, i.e., we have IF=1subscript𝐼𝐹delimited-⟨⟩1I_{F}=\langle 1\rangleitalic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT = ⟨ 1 ⟩.

Proof.

Due to the skew-symmetry of implication graph structures, for every strongly connected component S={f1,,fr}𝒞𝑆subscript𝑓1subscript𝑓𝑟𝒞S=\{f_{1},\dots,f_{r}\}\in\mathcal{C}italic_S = { italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT } ∈ caligraphic_C also S+1={f1+1,,fr+1}𝑆1subscript𝑓11subscript𝑓𝑟1S+1=\{f_{1}+1,\dots,f_{r}+1\}italic_S + 1 = { italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1 , … , italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT + 1 } is an SCC of (V,E)𝑉𝐸(V,E)( italic_V , italic_E ).

To show (a), we let i{1,,r}𝑖1𝑟i\in\{1,\dots,r\}italic_i ∈ { 1 , … , italic_r } and note that f1,fiSsubscript𝑓1subscript𝑓𝑖𝑆f_{1},f_{i}\in Sitalic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ italic_S implies that there are paths f1fisubscript𝑓1subscript𝑓𝑖f_{1}\to f_{i}italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT → italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and fif1subscript𝑓𝑖subscript𝑓1f_{i}\to f_{1}italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT → italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT in G𝐺Gitalic_G. By the skew-symmetry, we get f1+1fi+1subscript𝑓11subscript𝑓𝑖1f_{1}+1\to f_{i}+1italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1 → italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1. This shows f1,fiDf1subscript𝑓1subscript𝑓𝑖subscript𝐷subscript𝑓1f_{1},f_{i}\in D_{f_{1}}italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ italic_D start_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and f1+1,fi+1Df1+1subscript𝑓11subscript𝑓𝑖1subscript𝐷subscript𝑓11f_{1}+1,f_{i}+1\in D_{f_{1}+1}italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1 , italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 ∈ italic_D start_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1 end_POSTSUBSCRIPT, and hence f1+fiΔf1subscript𝑓1subscript𝑓𝑖subscriptΔsubscript𝑓1f_{1}+f_{i}\in\Delta_{f_{1}}italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ roman_Δ start_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT as well as f1+fi=(f1+1)+(fi+1)Δf1+1subscript𝑓1subscript𝑓𝑖subscript𝑓11subscript𝑓𝑖1subscriptΔsubscript𝑓11f_{1}+f_{i}=(f_{1}+1)+(f_{i}+1)\in\Delta_{f_{1}+1}italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = ( italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1 ) + ( italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 ) ∈ roman_Δ start_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1 end_POSTSUBSCRIPT. By Proposition 4.10.c, we thus have f1+fiIFsubscript𝑓1subscript𝑓𝑖subscript𝐼𝐹f_{1}+f_{i}\in I_{F}italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT.

For the proof of (b), notice that we can write 𝒞={S1,,Sc,S1+1,,Sc+1}𝒞subscript𝑆1subscript𝑆𝑐subscript𝑆11subscript𝑆𝑐1\mathcal{C}=\{S_{1},\dots,S_{c},S_{1}+1,\dots,S_{c}+1\}caligraphic_C = { italic_S start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_S start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT , italic_S start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1 , … , italic_S start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT + 1 } for some c𝑐c\in{\mathbb{N}}italic_c ∈ blackboard_N, where we have SiSjsubscript𝑆𝑖subscript𝑆𝑗S_{i}\neq S_{j}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ≠ italic_S start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT and SiSj+1subscript𝑆𝑖subscript𝑆𝑗1S_{i}\neq S_{j}+1italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ≠ italic_S start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT + 1 for ij𝑖𝑗i\neq jitalic_i ≠ italic_j. If #𝒞#𝒞\#\mathcal{C}# caligraphic_C is odd, there exists an index i{1,,r}𝑖1𝑟i\in\{1,\dots,r\}italic_i ∈ { 1 , … , italic_r } with Si=Si+1subscript𝑆𝑖subscript𝑆𝑖1S_{i}=S_{i}+1italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1. For fSi𝑓subscript𝑆𝑖f\in S_{i}italic_f ∈ italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, we then have f+1Si+1=Si𝑓1subscript𝑆𝑖1subscript𝑆𝑖f+1\in S_{i}+1=S_{i}italic_f + 1 ∈ italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 = italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and thus 1=f+(f+1)IF1𝑓𝑓1subscript𝐼𝐹1=f+(f+1)\in I_{F}1 = italic_f + ( italic_f + 1 ) ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT by (a). ∎

By repeatedly computing all linear polynomials resulting from the strongly connected components and propagating them using 𝙶𝙶𝙲𝙿𝙶𝙶𝙲𝙿\mathtt{GGCP}typewriter_GGCP, one can update a given implication graph structure (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ) such that it contains no cycles, i.e., such that (V,E)𝑉𝐸(V,E)( italic_V , italic_E ) becomes a directed acyclic graph (DAG). This is important, as for many graph-theoretic problems there are linear time algorithms if the underlying graph is a DAG. Algorithm 6 performs these updates.

Input : An IGS G𝐺Gitalic_G for a formula F𝐹Fitalic_F, a term ordering σ𝜎\sigmaitalic_σ.
Output : An acyclic σ𝜎\sigmaitalic_σ-reduced IGS Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT for F𝐹Fitalic_F with GGprecedes-or-equalssuperscript𝐺𝐺G^{\prime}\preceq Gitalic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⪯ italic_G.
1 Compute (L,V,E)=𝙶𝙶𝙲𝙿σ(G)superscript𝐿superscript𝑉superscript𝐸subscript𝙶𝙶𝙲𝙿𝜎𝐺(L^{\prime},V^{\prime},E^{\prime})=\mathtt{GGCP}_{\sigma}(G)( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) = typewriter_GGCP start_POSTSUBSCRIPT italic_σ end_POSTSUBSCRIPT ( italic_G ) and let L𝚂𝙲𝙲=subscript𝐿𝚂𝙲𝙲L_{\mathtt{SCC}}=\emptysetitalic_L start_POSTSUBSCRIPT typewriter_SCC end_POSTSUBSCRIPT = ∅.
2 Compute the set 𝒞𝒞\mathcal{C}caligraphic_C of all strongly connected components of (V,E)superscript𝑉superscript𝐸(V^{\prime},E^{\prime})( italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ).
3 if #𝒞#𝒞\#\mathcal{C}# caligraphic_C is odd then return (𝕃n,,)subscript𝕃𝑛({\mathbb{L}}_{n},\emptyset,\emptyset)( blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , ∅ , ∅ ).
4 for S𝒞𝑆𝒞S\in\mathcal{C}italic_S ∈ caligraphic_C do
5       Write S={f1,,fr}𝑆subscript𝑓1subscript𝑓𝑟S=\{f_{1},\dots,f_{r}\}italic_S = { italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT } and for all i{2,,r}𝑖2𝑟i\in\{2,\dots,r\}italic_i ∈ { 2 , … , italic_r } append f1+fisubscript𝑓1subscript𝑓𝑖f_{1}+f_{i}italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT to L𝚂𝙲𝙲subscript𝐿𝚂𝙲𝙲L_{\mathtt{SCC}}italic_L start_POSTSUBSCRIPT typewriter_SCC end_POSTSUBSCRIPT.
6      
7if L𝚂𝙲𝙲subscript𝐿𝚂𝙲𝙲L_{\mathtt{SCC}}\neq\emptysetitalic_L start_POSTSUBSCRIPT typewriter_SCC end_POSTSUBSCRIPT ≠ ∅ then set G=(LL𝚂𝙲𝙲,V,E)𝐺superscript𝐿subscript𝐿𝚂𝙲𝙲superscript𝑉superscript𝐸G=(L^{\prime}\cup L_{\mathtt{SCC}},V^{\prime},E^{\prime})italic_G = ( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ italic_L start_POSTSUBSCRIPT typewriter_SCC end_POSTSUBSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) and go to Line 1111.
8 else return (L,V,E)superscript𝐿superscript𝑉superscript𝐸(L^{\prime},V^{\prime},E^{\prime})( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ).
Algorithm 6 𝚌𝚛𝙶𝙶𝙲𝙿𝚌𝚛𝙶𝙶𝙲𝙿\mathtt{crGGCP}typewriter_crGGCP  –  cycle-removing GGCP
Proposition 4.13.

Let σ𝜎\sigmaitalic_σ be a term ordering, let F𝐹Fitalic_F be a formula in 2-XNF, and let G𝐺Gitalic_G be an IGS for F𝐹Fitalic_F. Then 𝚌𝚛𝙶𝙶𝙲𝙿𝚌𝚛𝙶𝙶𝙲𝙿\mathtt{crGGCP}typewriter_crGGCP is an algorithm which returns a tuple G=𝚌𝚛𝙶𝙶𝙲𝙿σ(G)superscript𝐺subscript𝚌𝚛𝙶𝙶𝙲𝙿𝜎𝐺G^{\prime}=\mathtt{crGGCP}_{\sigma}(G)italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = typewriter_crGGCP start_POSTSUBSCRIPT italic_σ end_POSTSUBSCRIPT ( italic_G ) with the following properties.

  1. (a)

    The tuple G=(L,V,E)superscript𝐺superscript𝐿superscript𝑉superscript𝐸G^{\prime}=(L^{\prime},V^{\prime},E^{\prime})italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = ( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) is a σ𝜎\sigmaitalic_σ-reduced implication graph structure for F𝐹Fitalic_F.

  2. (b)

    We have GGprecedes-or-equalssuperscript𝐺𝐺G^{\prime}\preceq Gitalic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⪯ italic_G.

  3. (c)

    The graph (V,E)superscript𝑉superscript𝐸(V^{\prime},E^{\prime})( italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) is acyclic.

Proof.

First note that if the procedure terminates in Line 3333, the output is correct by Proposition 4.12.b. Thus we may assume that the procedure does not terminate in Line 3.

The tuples (L,V,E)superscript𝐿superscript𝑉superscript𝐸(L^{\prime},V^{\prime},E^{\prime})( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) and (LL𝚂𝙲𝙲,V,E)superscript𝐿subscript𝐿𝚂𝙲𝙲superscript𝑉superscript𝐸(L^{\prime}\cup L_{\mathtt{SCC}},V^{\prime},E^{\prime})( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ italic_L start_POSTSUBSCRIPT typewriter_SCC end_POSTSUBSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) in Lines 1 and 6 are implication graph structures for F𝐹Fitalic_F with (L,V,E)(L,V,E)precedes-or-equalssuperscript𝐿superscript𝑉superscript𝐸𝐿𝑉𝐸(L^{\prime},V^{\prime},E^{\prime})\preceq(L,V,E)( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ⪯ ( italic_L , italic_V , italic_E ) by Propositions 4.8 and 4.12. Moreover, if L𝚂𝙲𝙲subscript𝐿𝚂𝙲𝙲L_{\mathtt{SCC}}\neq\emptysetitalic_L start_POSTSUBSCRIPT typewriter_SCC end_POSTSUBSCRIPT ≠ ∅ then it contains at least one linear polynomial f𝑓fitalic_f with LTσ(f)LTσ(L)subscriptLT𝜎𝑓subscriptLT𝜎superscript𝐿\mathop{\rm LT}\nolimits_{\sigma}(f)\notin\mathop{\rm LT}\nolimits_{\sigma}(L^% {\prime})roman_LT start_POSTSUBSCRIPT italic_σ end_POSTSUBSCRIPT ( italic_f ) ∉ roman_LT start_POSTSUBSCRIPT italic_σ end_POSTSUBSCRIPT ( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ), as (L,V,E)superscript𝐿superscript𝑉superscript𝐸(L^{\prime},V^{\prime},E^{\prime})( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) is a σ𝜎\sigmaitalic_σ-reduced IGS. This shows (LL𝚂𝙲𝙲,V,E)(L,V,E)precedessuperscript𝐿subscript𝐿𝚂𝙲𝙲superscript𝑉superscript𝐸superscript𝐿superscript𝑉superscript𝐸(L^{\prime}\cup L_{\mathtt{SCC}},V^{\prime},E^{\prime})\prec(L^{\prime},V^{% \prime},E^{\prime})( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ italic_L start_POSTSUBSCRIPT typewriter_SCC end_POSTSUBSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ≺ ( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ).

Next we observe that the repeated iterations of Lines 1111-6666 yield a strictly descending chain of IGSs which has to become stationary after finitely many steps by Lemma 4.7. Therefore we eventually have L𝚂𝙲𝙲=subscript𝐿𝚂𝙲𝙲L_{\mathtt{SCC}}=\emptysetitalic_L start_POSTSUBSCRIPT typewriter_SCC end_POSTSUBSCRIPT = ∅, and the procedure terminates in Line 7777. In that case, the graph (V,E)superscript𝑉superscript𝐸(V^{\prime},E^{\prime})( italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) cannot contain any cycles, as otherwise there would be a strongly connected component, and hence Line 5 would create elements in L𝚂𝙲𝙲subscript𝐿𝚂𝙲𝙲L_{\mathtt{SCC}}italic_L start_POSTSUBSCRIPT typewriter_SCC end_POSTSUBSCRIPT.

Finally, note that (L,V,E)superscript𝐿superscript𝑉superscript𝐸(L^{\prime},V^{\prime},E^{\prime})( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) is σ𝜎\sigmaitalic_σ-reduced by Proposition 4.8 and the fact that this tuple is not changed in the last iteration of Lines 2-6. ∎

As a second in-processing technique, we adapt the concept of failed literals, as discussed in [25], to our more general setting.

Definition 4.14.

Let F𝐹Fitalic_F be a formula in 2-XNF, and let G=(L,V,E)𝐺𝐿𝑉𝐸G=(L,V,E)italic_G = ( italic_L , italic_V , italic_E ) be an implication graph structure for F𝐹Fitalic_F.

  1. (a)

    A vertex fV𝑓𝑉f\in Vitalic_f ∈ italic_V is called a failed lineral of G𝐺Gitalic_G if 1Δf1subscriptΔ𝑓1\in\Delta_{f}1 ∈ roman_Δ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT.

  2. (b)

    A failed lineral fV𝑓𝑉f\in Vitalic_f ∈ italic_V of G𝐺Gitalic_G is called trivial if there is an element gV𝑔𝑉g\in Vitalic_g ∈ italic_V with fg𝑓𝑔f\to gitalic_f → italic_g, and with fg+1𝑓𝑔1f\to g+1italic_f → italic_g + 1 or ff+1𝑓𝑓1f\to f+1italic_f → italic_f + 1.

These literals are of interest for in-processing, if they can be found efficiently, since for every failed lineral we learn a new linear polynomial in IFsubscript𝐼𝐹I_{F}italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT in the following way.

Lemma 4.15.

Let F𝐹Fitalic_F be a formula in 2-XNF, and let G=(L,V,E)𝐺𝐿𝑉𝐸G=(L,V,E)italic_G = ( italic_L , italic_V , italic_E ) be an IGS for F𝐹Fitalic_F. If fV𝑓𝑉f\in Vitalic_f ∈ italic_V is a failed lineral of G𝐺Gitalic_G, then f+1IF𝑓1subscript𝐼𝐹f+1\in I_{F}italic_f + 1 ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT.

Proof.

Let f𝑓fitalic_f be a failed lineral of G𝐺Gitalic_G. Then 1Δf1subscriptΔ𝑓1\in\Delta_{f}1 ∈ roman_Δ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT yields f+1Δf𝑓1subscriptΔ𝑓f+1\in\Delta_{f}italic_f + 1 ∈ roman_Δ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT. Using Proposition 4.10.c and f+1Δf+1𝑓1subscriptΔ𝑓1f+1\in\Delta_{f+1}italic_f + 1 ∈ roman_Δ start_POSTSUBSCRIPT italic_f + 1 end_POSTSUBSCRIPT, we get f+1ΔfΔf+1IF𝑓1subscriptΔ𝑓subscriptΔ𝑓1subscript𝐼𝐹f+1\in\Delta_{f}\cap\Delta_{f+1}\subseteq I_{F}italic_f + 1 ∈ roman_Δ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ∩ roman_Δ start_POSTSUBSCRIPT italic_f + 1 end_POSTSUBSCRIPT ⊆ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT. ∎

To find a failed lineral, it is sufficient to check whether the vector subspace ΔfsubscriptΔ𝑓\Delta_{f}roman_Δ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT contains the constant polynomial 1111. This can be done for instance by computing the row-echelon form of a matrix in 𝔽2#Df×(n+1)superscriptsubscript𝔽2#subscript𝐷𝑓𝑛1{\mathbb{F}}_{2}^{\#D_{f}\times(n+1)}blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT # italic_D start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT × ( italic_n + 1 ) end_POSTSUPERSCRIPT. Thus we obtain an in-processing algorithm which runs in polynomial time and space. However, trivial failed linerals can be found in near-linear time, as the next remark indicates.

For an implication graph structure (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ) for a formula F𝐹Fitalic_F in 2-XNF, we denote the set of ancestors of a vertex fV𝑓𝑉f\in Vitalic_f ∈ italic_V by

Af={f}{gVthere is a path gf in (V,E)}.subscript𝐴𝑓𝑓conditional-set𝑔𝑉there is a path 𝑔𝑓 in 𝑉𝐸A_{f}\;=\;\{f\}\cup\{g\in V\mid\text{there is a path }g\to f\text{ in }(V,E)\}.italic_A start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT = { italic_f } ∪ { italic_g ∈ italic_V ∣ there is a path italic_g → italic_f in ( italic_V , italic_E ) } .
Remark 4.16.

Let F𝐹Fitalic_F be a formula in 2-XNF, and let (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ) be an acyclic implication graph structure for F𝐹Fitalic_F.

  1. (a)

    For every gV𝑔𝑉g\in Vitalic_g ∈ italic_V, all common ancestors of g𝑔gitalic_g and g+1𝑔1g+1italic_g + 1, i.e., the elements of AgAg+1subscript𝐴𝑔subscript𝐴𝑔1A_{g}\cap A_{g+1}italic_A start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT ∩ italic_A start_POSTSUBSCRIPT italic_g + 1 end_POSTSUBSCRIPT, are trivial failed linerals by definition. Conversely, every trivial failed lineral fV𝑓𝑉f\in Vitalic_f ∈ italic_V is contained in AgAg+1subscript𝐴𝑔subscript𝐴𝑔1A_{g}\cap A_{g+1}italic_A start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT ∩ italic_A start_POSTSUBSCRIPT italic_g + 1 end_POSTSUBSCRIPT for some gV𝑔𝑉g\in Vitalic_g ∈ italic_V. Thus the set gV(AgAg+1)subscript𝑔𝑉subscript𝐴𝑔subscript𝐴𝑔1\bigcup_{g\in V}(A_{g}\cap A_{g+1})⋃ start_POSTSUBSCRIPT italic_g ∈ italic_V end_POSTSUBSCRIPT ( italic_A start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT ∩ italic_A start_POSTSUBSCRIPT italic_g + 1 end_POSTSUBSCRIPT ) consists exactly of the trivial failed linerals of G𝐺Gitalic_G.

  2. (b)

    If gV𝑔𝑉g\in Vitalic_g ∈ italic_V is a failed lineral then every fAg𝑓subscript𝐴𝑔f\in A_{g}italic_f ∈ italic_A start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT is a failed lineral as well, since DgDfsubscript𝐷𝑔subscript𝐷𝑓D_{g}\subseteq D_{f}italic_D start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT ⊆ italic_D start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT. Thus, instead of searching for all common ancestors of g𝑔gitalic_g and g+1𝑔1g+1italic_g + 1, it suffices to find the so-called lowest common ancestors, i.e., the vertices fV𝑓𝑉f\in Vitalic_f ∈ italic_V such that no out-neighbour of f𝑓fitalic_f is a common ancestor of both g𝑔gitalic_g and g+1𝑔1g+1italic_g + 1.

  3. (c)

    For sparse graphs, one of the lowest common ancestors of two vertices can be found in constant time after a near-linear time pre-processing phase, see [15]. This produces many, but in general not all, trivial failed linerals rather quickly under the assumption that the graph (V,E)𝑉𝐸(V,E)( italic_V , italic_E ) is sparse (see Remark 4.4).

Our implementation does not feature this advanced method for finding trivial failed linerals, as the corresponding algorithms seem hard to implement. Instead we resort to the following simple Algorithm 7 which can be implemented using only breadth-first-searches (BFS). Moreover, unlike the method of the previous remark, it computes all trivial failed linerals.

Input : An acyclic IGS G𝐺Gitalic_G for a 2-XNF formula F𝐹Fitalic_F.
Output : All trivial failed linerals L𝚃𝙵subscript𝐿𝚃𝙵L_{\mathtt{TF}}italic_L start_POSTSUBSCRIPT typewriter_TF end_POSTSUBSCRIPT of G𝐺Gitalic_G.
1 Write G=(L,V,E)𝐺𝐿𝑉𝐸G=(L,V,E)italic_G = ( italic_L , italic_V , italic_E ), let M=𝑀M=\emptysetitalic_M = ∅, and let L𝚃𝙵=subscript𝐿𝚃𝙵L_{\mathtt{TF}}=\emptysetitalic_L start_POSTSUBSCRIPT typewriter_TF end_POSTSUBSCRIPT = ∅.
2 Compute the set S𝑆Sitalic_S of sources of (V,E)𝑉𝐸(V,E)( italic_V , italic_E ).
3 for sS𝑠𝑆s\in Sitalic_s ∈ italic_S do
4       if s+1Ds𝑠1subscript𝐷𝑠s+1\in D_{s}italic_s + 1 ∈ italic_D start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT then append (s,s+1)𝑠𝑠1(s,s+1)( italic_s , italic_s + 1 ) to M𝑀Mitalic_M.
5       for all gV𝑔𝑉g\in Vitalic_g ∈ italic_V with sg𝑠𝑔s\to gitalic_s → italic_g and sg+1𝑠𝑔1s\to g+1italic_s → italic_g + 1 do append (s,g)𝑠𝑔(s,g)( italic_s , italic_g ) to M𝑀Mitalic_M.
6      
7for (s,g)M𝑠𝑔𝑀(s,g)\in M( italic_s , italic_g ) ∈ italic_M do
8       Append all common ancestors of g𝑔gitalic_g and g+1𝑔1g+1italic_g + 1 to L𝚃𝙵subscript𝐿𝚃𝙵L_{\mathtt{TF}}italic_L start_POSTSUBSCRIPT typewriter_TF end_POSTSUBSCRIPT.
return L𝚃𝙵subscript𝐿𝚃𝙵L_{\mathtt{TF}}italic_L start_POSTSUBSCRIPT typewriter_TF end_POSTSUBSCRIPT
Algorithm 7 𝚝𝙵𝙻𝚂𝚝𝙵𝙻𝚂\mathtt{tFLS}typewriter_tFLS  –  Trivial Failed Lineral Search
Proposition 4.17.

Let F𝐹Fitalic_F be a formula in 2222-XNF, and let G𝐺Gitalic_G be an acyclic implication graph structure for F𝐹Fitalic_F. Then 𝚝𝙵𝙻𝚂𝚝𝙵𝙻𝚂\mathtt{tFLS}typewriter_tFLS is an algorithm which returns a set L=𝚝𝙵𝙻𝚂(G)𝐿𝚝𝙵𝙻𝚂𝐺L=\mathtt{tFLS}(G)italic_L = typewriter_tFLS ( italic_G ) containing all trivial failed linerals of G𝐺Gitalic_G satisfying 1+LIF1𝐿subscript𝐼𝐹1+L\subseteq I_{F}1 + italic_L ⊆ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT.

In particular, the algorithm can be implemented to run in 𝒪(#S(#V+#E))𝒪#𝑆#𝑉#𝐸\operatorname{\mathcal{O}}(\#S\cdot(\#V+\#E))caligraphic_O ( # italic_S ⋅ ( # italic_V + # italic_E ) ) time and space, where S𝑆Sitalic_S is the set of sources in (V,E)𝑉𝐸(V,E)( italic_V , italic_E ).

Proof.

The finiteness of the procedure is clear, since the graph (V,E)𝑉𝐸(V,E)( italic_V , italic_E ) is finite. The correctness follows from Remark 4.16 and the fact that in Line 7777 the elements of L𝚃𝙵subscript𝐿𝚃𝙵L_{\mathtt{TF}}italic_L start_POSTSUBSCRIPT typewriter_TF end_POSTSUBSCRIPT are exactly the common ancestors of vertices g𝑔gitalic_g and g+1𝑔1g+1italic_g + 1 for all gV𝑔𝑉g\in Vitalic_g ∈ italic_V. Now L+1IF𝐿1subscript𝐼𝐹L+1\subseteq I_{F}italic_L + 1 ⊆ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT follows immediately from Proposition 4.15. The claimed run-time complexity is a consequence of the observation #M#S#𝑀#𝑆\#M\leq\#S# italic_M ≤ # italic_S and the facts that Lines 4444-5555 can be implemented by a single BFS starting at s𝑠sitalic_s, and that Line 7777 amounts to two BFSs starting at g𝑔gitalic_g and g+1𝑔1g+1italic_g + 1 on the graph with reversed edges. ∎

To end this section we remark that our pre-processing algorithm 𝙿𝙿𝙿𝙿\mathtt{PP}typewriter_PP is superior to our in-processing methods in that it learns at least the same linear information, but might also increase the number of edges of the implication graph.

Remark 4.18.

Let σ𝜎\sigmaitalic_σ be a term ordering, let F𝐹Fitalic_F be a formula in 2222-XNF, let G𝐺Gitalic_G be an IGS for F𝐹Fitalic_F, and let G=(L,V,E)=𝙿𝙿σ(G)superscript𝐺superscript𝐿superscript𝑉superscript𝐸subscript𝙿𝙿𝜎𝐺G^{\prime}=(L^{\prime},V^{\prime},E^{\prime})=\mathtt{PP}_{\sigma}(G)italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = ( italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) = typewriter_PP start_POSTSUBSCRIPT italic_σ end_POSTSUBSCRIPT ( italic_G ). Then we have 1+𝚝𝙵𝙻𝚂(G)L𝔽21𝚝𝙵𝙻𝚂𝐺subscriptdelimited-⟨⟩superscript𝐿subscript𝔽21+\mathtt{tFLS}(G)\subseteq\langle L^{\prime}\rangle_{\mathbb{F}_{2}}1 + typewriter_tFLS ( italic_G ) ⊆ ⟨ italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and G𝚌𝚛𝙶𝙶𝙲𝙿(G)precedes-or-equalssuperscript𝐺𝚌𝚛𝙶𝙶𝙲𝙿𝐺G^{\prime}\preceq\mathtt{crGGCP}(G)italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⪯ typewriter_crGGCP ( italic_G ).

This follows immediately from the fact that 𝚝𝙵𝙻𝚂𝚝𝙵𝙻𝚂\mathtt{tFLS}typewriter_tFLS is based on Lemma 4.15 whose proof already shows that all failed linerals are contained in ΔfΔf+1IFsubscriptΔ𝑓subscriptΔ𝑓1subscript𝐼𝐹\Delta_{f}\cap\Delta_{f+1}\subseteq I_{F}roman_Δ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ∩ roman_Δ start_POSTSUBSCRIPT italic_f + 1 end_POSTSUBSCRIPT ⊆ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT for some fV𝑓𝑉f\in Vitalic_f ∈ italic_V. Thus these linerals are also found by 𝙿𝙿𝙿𝙿\mathtt{PP}typewriter_PP.

Similarly, Algorithm 𝚌𝚛𝙶𝙶𝙲𝙿𝚌𝚛𝙶𝙶𝙲𝙿\mathtt{crGGCP}typewriter_crGGCP is based on Proposition 4.12 whose proof shows that all linear polynomials which can be learnt here are already contained in ΔfΔf+1subscriptΔ𝑓subscriptΔ𝑓1\Delta_{f}\cap\Delta_{f+1}roman_Δ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ∩ roman_Δ start_POSTSUBSCRIPT italic_f + 1 end_POSTSUBSCRIPT for some fV𝑓𝑉f\in Vitalic_f ∈ italic_V. Once again, these linerals are found and propagated by 𝙿𝙿𝙿𝙿\mathtt{PP}typewriter_PP. Altogether, we see that 𝙿𝙿𝙿𝙿\mathtt{PP}typewriter_PP essentially emulates both 𝚌𝚛𝙶𝙶𝙲𝙿𝚌𝚛𝙶𝙶𝙲𝙿\mathtt{crGGCP}typewriter_crGGCP and 𝚝𝙵𝙻𝚂𝚝𝙵𝙻𝚂\mathtt{tFLS}typewriter_tFLS. As a consequence, Algorithm 𝙿𝙿𝙿𝙿\mathtt{PP}typewriter_PP also ensures that its output implication graph structure Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is acyclic.

While this shows that pre-processing with 𝙿𝙿𝙿𝙿\mathtt{PP}typewriter_PP is more powerful than in-processing with 𝚝𝙵𝙻𝚂𝚝𝙵𝙻𝚂\mathtt{tFLS}typewriter_tFLS and 𝚌𝚛𝙶𝙶𝙲𝙿𝚌𝚛𝙶𝙶𝙲𝙿\mathtt{crGGCP}typewriter_crGGCP, keep in mind that it is also rather expensive due to its polynomial runtime.

Example 4.19.

Let (L1,V1,E1)subscript𝐿1subscript𝑉1subscript𝐸1(L_{1},V_{1},E_{1})( italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) be the IGS from Example 4.11, then we have 𝚝𝙵𝙻𝚂(L1,V1,E1)={x2}𝚝𝙵𝙻𝚂subscript𝐿1subscript𝑉1subscript𝐸1subscript𝑥2\mathtt{tFLS}(L_{1},V_{1},E_{1})=\{x_{2}\}typewriter_tFLS ( italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) = { italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT }, since there is a path x2x2+1subscript𝑥2subscript𝑥21x_{2}\to x_{2}+1italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT → italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 (see Figure 2). This shows that x2subscript𝑥2x_{2}italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT is a failed lineral and we get x2+1IFsubscript𝑥21subscript𝐼𝐹x_{2}+1\in I_{F}italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT. An application of 𝙶𝙶𝙲𝙿𝚕𝚎𝚡subscript𝙶𝙶𝙲𝙿𝚕𝚎𝚡\mathtt{GGCP}_{\mathtt{lex}}typewriter_GGCP start_POSTSUBSCRIPT typewriter_lex end_POSTSUBSCRIPT to (L1{x2+1},V1,E1)subscript𝐿1subscript𝑥21subscript𝑉1subscript𝐸1(L_{1}\cup\{x_{2}+1\},V_{1},E_{1})( italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∪ { italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 } , italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) yields the IGS (L2,V2,E2)subscript𝐿2subscript𝑉2subscript𝐸2(L_{2},V_{2},E_{2})( italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) where L2={x1+1,x2+1}subscript𝐿2subscript𝑥11subscript𝑥21L_{2}=\{x_{1}+1,\,x_{2}+1\}italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = { italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1 , italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 } and (V2,E2)subscript𝑉2subscript𝐸2(V_{2},E_{2})( italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) is given in Figure 3.

x3+1subscript𝑥31x_{3}+1italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + 1x4+1subscript𝑥41x_{4}+1italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT + 1x5+1subscript𝑥51x_{5}+1italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT + 1x3subscript𝑥3x_{3}italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPTx4subscript𝑥4x_{4}italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPTx5subscript𝑥5x_{5}italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT
Figure 3. Implication graph (V2,E2)subscript𝑉2subscript𝐸2(V_{2},E_{2})( italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) from Example 4.19.

Notice that (V2,E2)subscript𝑉2subscript𝐸2(V_{2},E_{2})( italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) has two strongly connected components. Thus we can use Proposition 4.12.a with the SCC {x3,x4,x5}subscript𝑥3subscript𝑥4subscript𝑥5\{x_{3},\,x_{4},\,x_{5}\}{ italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT } to get x3+x5,x4+x5IFsubscript𝑥3subscript𝑥5subscript𝑥4subscript𝑥5subscript𝐼𝐹x_{3}+x_{5},\,x_{4}+x_{5}\in I_{F}italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT ∈ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT. Another application of 𝙶𝙶𝙲𝙿𝚕𝚎𝚡subscript𝙶𝙶𝙲𝙿𝚕𝚎𝚡\mathtt{GGCP}_{\mathtt{lex}}typewriter_GGCP start_POSTSUBSCRIPT typewriter_lex end_POSTSUBSCRIPT to (L2{x3+x5,x4+x5},V2,E2)subscript𝐿2subscript𝑥3subscript𝑥5subscript𝑥4subscript𝑥5subscript𝑉2subscript𝐸2(L_{2}\cup\{x_{3}+x_{5},\,x_{4}+x_{5}\},V_{2},E_{2})( italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∪ { italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT } , italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) yields the IGS (L3,,)subscript𝐿3(L_{3},\emptyset,\emptyset)( italic_L start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT , ∅ , ∅ ) for F𝐹Fitalic_F with L3={x1+1,x2+1,x3+x5,x4+x5}subscript𝐿3subscript𝑥11subscript𝑥21subscript𝑥3subscript𝑥5subscript𝑥4subscript𝑥5L_{3}=\{x_{1}+1,\,x_{2}+1,\,x_{3}+x_{5},\,x_{4}+x_{5}\}italic_L start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT = { italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1 , italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 , italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT }. By definition we now have IF=L3subscript𝐼𝐹delimited-⟨⟩subscript𝐿3I_{F}=\langle L_{3}\rangleitalic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT = ⟨ italic_L start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ⟩, i.e., a solution of F𝐹Fitalic_F can be found by solving a system of linear equations.

Note that this is exactly the IGS that is also derived by applying 𝙿𝙿𝚕𝚎𝚡subscript𝙿𝙿𝚕𝚎𝚡\mathtt{PP}_{\mathtt{lex}}typewriter_PP start_POSTSUBSCRIPT typewriter_lex end_POSTSUBSCRIPT to (L0,V0,E0)subscript𝐿0subscript𝑉0subscript𝐸0(L_{0},V_{0},E_{0})( italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_V start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) from Example 4.5.

4.4. Decision Heuristics

Before we introduce our main DPLL-Solving Algorithm in the final subsection, we discuss decision heuristics, i.e., methods to make good guesses. First of all, let us define what we precisely mean when we talk about decisions.

Definition 4.20.

Let F𝐹Fitalic_F be a formula in 2222-XNF, and let G=(L,V,E)𝐺𝐿𝑉𝐸G=(L,V,E)italic_G = ( italic_L , italic_V , italic_E ) be an IGS for F𝐹Fitalic_F. A decision for G𝐺Gitalic_G is a tuple (L0,L1)subscript𝐿0subscript𝐿1(L_{0},L_{1})( italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) with L0,L1𝕃nsubscript𝐿0subscript𝐿1subscript𝕃𝑛L_{0},L_{1}\subseteq{\mathbb{L}}_{n}italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊆ blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT such that the following conditions are satisfied.

  1. (a)

    L0L𝔽2subscript𝐿0subscriptdelimited-⟨⟩𝐿subscript𝔽2L_{0}\setminus\langle L\rangle_{\mathbb{F}_{2}}\neq\emptysetitalic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ∖ ⟨ italic_L ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ≠ ∅ and L1L𝔽2subscript𝐿1subscriptdelimited-⟨⟩𝐿subscript𝔽2L_{1}\setminus\langle L\rangle_{\mathbb{F}_{2}}\neq\emptysetitalic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∖ ⟨ italic_L ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ≠ ∅.

  2. (b)

    𝒵(IF)𝒵(IF+L0)𝒵(IF+L1)𝒵subscript𝐼𝐹𝒵subscript𝐼𝐹delimited-⟨⟩subscript𝐿0𝒵subscript𝐼𝐹delimited-⟨⟩subscript𝐿1\operatorname{\mathcal{Z}}(I_{F})\subseteq\operatorname{\mathcal{Z}}(I_{F}+% \langle L_{0}\rangle)\cup\operatorname{\mathcal{Z}}(I_{F}+\langle L_{1}\rangle)caligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT ) ⊆ caligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT + ⟨ italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⟩ ) ∪ caligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT + ⟨ italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⟩ ).

These conditions ensure that guessing either L0subscript𝐿0L_{0}italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT or L1subscript𝐿1L_{1}italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT will lead to a solution of F𝐹Fitalic_F – if there exists one at all. Moreover, it means that a decision (L0,L1)subscript𝐿0subscript𝐿1(L_{0},L_{1})( italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) for G=(L,V,E)𝐺𝐿𝑉𝐸G=(L,V,E)italic_G = ( italic_L , italic_V , italic_E ) implies that G0=(LL0,V,E)subscript𝐺0𝐿subscript𝐿0𝑉𝐸G_{0}=(L\cup L_{0},V,E)italic_G start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = ( italic_L ∪ italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_V , italic_E ) and G1=(LL1,V,E)subscript𝐺1𝐿subscript𝐿1𝑉𝐸G_{1}=(L\cup L_{1},V,E)italic_G start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = ( italic_L ∪ italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_V , italic_E ) satisfy GG0succeeds𝐺subscript𝐺0G\succ G_{0}italic_G ≻ italic_G start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and GG1succeeds𝐺subscript𝐺1G\succ G_{1}italic_G ≻ italic_G start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, i.e., both parts of the decisions improve our implication graph structure.

Traditionally, CNF-based SAT solvers use decisions of the form ({xi},{xi+1})subscript𝑥𝑖subscript𝑥𝑖1(\{x_{i}\},\,\{x_{i}+1\})( { italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } , { italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 } ) or ({xi+1},{xi})subscript𝑥𝑖1subscript𝑥𝑖(\{x_{i}+1\},\,\{x_{i}\})( { italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 } , { italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } ). Our more general point of view on decisions allows us to guess multiple linerals at once. Before we explicitly suggest three decision heuristics, let us consider the following general constructions.

Proposition 4.21.

Let σ𝜎\sigmaitalic_σ be a term ordering, let F𝐹Fitalic_F be a formula in 2222-XNF, and let G=(L,V,E)𝐺𝐿𝑉𝐸G=(L,V,E)italic_G = ( italic_L , italic_V , italic_E ) be a σ𝜎\sigmaitalic_σ-reduced IGS for F𝐹Fitalic_F.

  1. (a)

    For every fV𝑓𝑉f\in Vitalic_f ∈ italic_V, the tuple (Df,Df+1)subscript𝐷𝑓subscript𝐷𝑓1(D_{f},D_{f+1})( italic_D start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT , italic_D start_POSTSUBSCRIPT italic_f + 1 end_POSTSUBSCRIPT ) is a decision for G𝐺Gitalic_G.

  2. (b)

    If f1frsubscript𝑓1subscript𝑓𝑟f_{1}\to\dots\to f_{r}italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT → … → italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT is a path in G𝐺Gitalic_G then ({f1+fii{2,r}},{f1+1,fr})conditional-setsubscript𝑓1subscript𝑓𝑖𝑖2𝑟subscript𝑓11subscript𝑓𝑟(\{f_{1}+f_{i}\mid i\in\{2\dots,r\}\},\,\{f_{1}+1,f_{r}\})( { italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∣ italic_i ∈ { 2 … , italic_r } } , { italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1 , italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT } ) is a decision for G𝐺Gitalic_G.

Proof.

Let fV𝑓𝑉f\in Vitalic_f ∈ italic_V. Then the fact that G𝐺Gitalic_G is σ𝜎\sigmaitalic_σ-reduced yields f,f+1L𝔽2𝑓𝑓1subscriptdelimited-⟨⟩𝐿subscript𝔽2f,f+1\notin\langle L\rangle_{\mathbb{F}_{2}}italic_f , italic_f + 1 ∉ ⟨ italic_L ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. For every a𝒵(IF)𝑎𝒵subscript𝐼𝐹a\in\operatorname{\mathcal{Z}}(I_{F})italic_a ∈ caligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT ), we have f(a)=1𝑓𝑎1f(a)=1italic_f ( italic_a ) = 1 or f(a)=0𝑓𝑎0f(a)=0italic_f ( italic_a ) = 0. This shows that ({f},{f+1})𝑓𝑓1(\{f\},\{f+1\})( { italic_f } , { italic_f + 1 } ) is a decision for G𝐺Gitalic_G. Now it suffices to note that IF+f=IF+Δf=IF+Df𝔽2subscript𝐼𝐹delimited-⟨⟩𝑓subscript𝐼𝐹subscriptΔ𝑓subscript𝐼𝐹subscriptdelimited-⟨⟩subscript𝐷𝑓subscript𝔽2I_{F}+\langle f\rangle=I_{F}+\Delta_{f}=I_{F}+\langle D_{f}\rangle_{\mathbb{F}% _{2}}italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT + ⟨ italic_f ⟩ = italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT + roman_Δ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT = italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT + ⟨ italic_D start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT by Proposition 4.10 and Remark 4.2.

Next we let f1frsubscript𝑓1subscript𝑓𝑟f_{1}\to\dots\to f_{r}italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT → … → italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT be a path as in (b). Then we have f1+fr,frL𝔽2subscript𝑓1subscript𝑓𝑟subscript𝑓𝑟subscriptdelimited-⟨⟩𝐿subscript𝔽2f_{1}+f_{r},f_{r}\notin\langle L\rangle_{\mathbb{F}_{2}}italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ∉ ⟨ italic_L ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, since G𝐺Gitalic_G is σ𝜎\sigmaitalic_σ-reduced. Consider a point a𝒵(IF)𝑎𝒵subscript𝐼𝐹a\in\operatorname{\mathcal{Z}}(I_{F})italic_a ∈ caligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT ). If ((fr+1)f1)(a)=1subscript𝑓𝑟1subscript𝑓1𝑎1((f_{r}+1)f_{1})(a)=1( ( italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT + 1 ) italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ( italic_a ) = 1 then fr(a)=0subscript𝑓𝑟𝑎0f_{r}(a)=0italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ( italic_a ) = 0 and f1(a)=1subscript𝑓1𝑎1f_{1}(a)=1italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_a ) = 1, i.e., we have a𝒵(IF+f1+1,fr)𝑎𝒵subscript𝐼𝐹subscript𝑓11subscript𝑓𝑟a\in\operatorname{\mathcal{Z}}(I_{F}+\langle f_{1}+1,f_{r}\rangle)italic_a ∈ caligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT + ⟨ italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1 , italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ⟩ ). Otherwise, we have ((fr+1)f1)(a)=0subscript𝑓𝑟1subscript𝑓1𝑎0((f_{r}+1)f_{1})(a)=0( ( italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT + 1 ) italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ( italic_a ) = 0. In this case a𝑎aitalic_a is a zero of (fr+1)f1subscript𝑓𝑟1subscript𝑓1(f_{r}+1)f_{1}( italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT + 1 ) italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. Using Proposition 4.10, we deduce from a𝒵(IF)𝑎𝒵subscript𝐼𝐹a\in\operatorname{\mathcal{Z}}(I_{F})italic_a ∈ caligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT ) that a𝑎aitalic_a is a zero of (fi+1)fjsubscript𝑓𝑖1subscript𝑓𝑗(f_{i}+1)f_{j}( italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 ) italic_f start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT for all i,j{1,,r}𝑖𝑗1𝑟i,j\in\{1,\dots,r\}italic_i , italic_j ∈ { 1 , … , italic_r } with i<j𝑖𝑗i<jitalic_i < italic_j, as there is a path fifjsubscript𝑓𝑖subscript𝑓𝑗f_{i}\to f_{j}italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT → italic_f start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT in G𝐺Gitalic_G.

It follows that (fi+1)frf1+(fr+1)f1(fi+1)=(fi+1)f1subscript𝑓𝑖1subscript𝑓𝑟subscript𝑓1subscript𝑓𝑟1subscript𝑓1subscript𝑓𝑖1subscript𝑓𝑖1subscript𝑓1(f_{i}+1)f_{r}\cdot f_{1}+(f_{r}+1)f_{1}\cdot(f_{i}+1)=(f_{i}+1)f_{1}( italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 ) italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ⋅ italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + ( italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT + 1 ) italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⋅ ( italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 ) = ( italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 ) italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT vanishes at a𝑎aitalic_a for all i{1,,r}𝑖1𝑟i\in\{1,\dots,r\}italic_i ∈ { 1 , … , italic_r }. This shows that the point a𝑎aitalic_a is a zero of (f1+1)fi+(fi+1)f1=f1+fisubscript𝑓11subscript𝑓𝑖subscript𝑓𝑖1subscript𝑓1subscript𝑓1subscript𝑓𝑖(f_{1}+1)f_{i}+(f_{i}+1)f_{1}=f_{1}+f_{i}( italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1 ) italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + ( italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 ) italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for all i{2,,r}𝑖2𝑟i\in\{2,\dots,r\}italic_i ∈ { 2 , … , italic_r }. Finally, we get that a𝒵(IF+f1+fii{2,,r})𝑎𝒵subscript𝐼𝐹inner-productsubscript𝑓1subscript𝑓𝑖𝑖2𝑟a\in\operatorname{\mathcal{Z}}(I_{F}+\langle f_{1}+f_{i}\mid i\in\{2,\dots,r\}\rangle)italic_a ∈ caligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT + ⟨ italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∣ italic_i ∈ { 2 , … , italic_r } ⟩ ), and the claim follows. ∎

This proposition allows us to introduce several simple decision heuristics. In the next section, we will see that they prove quite effective on certain types of inputs.

Remark 4.22 (Decision Heuristics).

Let σ𝜎\sigmaitalic_σ be a term ordering, let F𝐹Fitalic_F be a 2-XNF formula, and let (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ) be a σ𝜎\sigmaitalic_σ-reduced acyclic IGS.

MaxReach. Find a source fV𝑓𝑉f\in Vitalic_f ∈ italic_V such that the number of paths starting at fV𝑓𝑉f\in Vitalic_f ∈ italic_V is maximal. Then we consider the decision (Df,{f+1})subscript𝐷𝑓𝑓1(D_{f},\{f+1\})( italic_D start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT , { italic_f + 1 } ). Since f𝑓fitalic_f is a source, the vertex f𝑓fitalic_f has no in-going edges. Thus the skew-symmetry of G𝐺Gitalic_G implies that f+1𝑓1f+1italic_f + 1 has no out-going edges. This yields Df+1={f+1}subscript𝐷𝑓1𝑓1D_{f+1}=\{f+1\}italic_D start_POSTSUBSCRIPT italic_f + 1 end_POSTSUBSCRIPT = { italic_f + 1 }.

MaxBottleneck. Instead of focusing on the first part of the decisions, another approach is to find fV𝑓𝑉f\in Vitalic_f ∈ italic_V such that the sum of the number of paths ending in f𝑓fitalic_f and the number of paths starting at f𝑓fitalic_f is maximal. Then we consider the decision (Df,Df+1)subscript𝐷𝑓subscript𝐷𝑓1(D_{f},D_{f+1})( italic_D start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT , italic_D start_POSTSUBSCRIPT italic_f + 1 end_POSTSUBSCRIPT ).

MaxPath. Let f1frsubscript𝑓1subscript𝑓𝑟f_{1}\to\dots\to f_{r}italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT → … → italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT be a maximal path in (V,E)𝑉𝐸(V,E)( italic_V , italic_E ). Then we consider the decision ({f1+fi1ir},{f1+1,fr})conditional-setsubscript𝑓1subscript𝑓𝑖1𝑖𝑟subscript𝑓11subscript𝑓𝑟(\{f_{1}+f_{i}\mid 1\leq i\leq r\},\,\{f_{1}+1,f_{r}\})( { italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∣ 1 ≤ italic_i ≤ italic_r } , { italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1 , italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT } ). Conceptually speaking, this means that instead of guessing vertices in the graph, we guess the edge frf1subscript𝑓𝑟subscript𝑓1f_{r}\to f_{1}italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT → italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, i.e., the polynomial (fr+1)f1subscript𝑓𝑟1subscript𝑓1(f_{r}+1)f_{1}( italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT + 1 ) italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. In view of the proof of Proposition 4.21 and of Remark 4.2, this yields a strongly connected component of (V,E)𝑉𝐸(V,E)( italic_V , italic_E ).

While the first two of these heuristics are close to the classical approach to decisions, the MaxPath heuristic is a rather new one. Note, however, that these heuristics are just some initial suggestions and should be combined with well-studied heuristics of established CDCL SAT solvers. Unfortunately, the adaptions of those heuristics to linerals are not straightforward.

The heuristics suggested in the previous remark are designed such that we can compute them efficiently, i.e., in linear time and space. Let us give some more information on how this can be done.

Remark 4.23 (Efficient Implementation of Decision Heuristics).

Recall that a topological ordering of a directed acyclic graph (V,E)𝑉𝐸(V,E)( italic_V , italic_E ) is a linear ordering \triangleleft of V𝑉Vitalic_V such that (f,g)E𝑓𝑔𝐸(f,g)\in E( italic_f , italic_g ) ∈ italic_E implies fg𝑓𝑔f\triangleleft gitalic_f ◁ italic_g, and that such an ordering can be computed in linear time and space (see [5]).

MaxReach. For fV𝑓𝑉f\in Vitalic_f ∈ italic_V, denote the number of paths starting at f𝑓fitalic_f by pfsubscript𝑝𝑓p_{f}italic_p start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT. Then we have pf=1+(f,g)Epgsubscript𝑝𝑓1subscript𝑓𝑔𝐸subscript𝑝𝑔p_{f}=1+\sum_{(f,g)\in E}\,p_{g}italic_p start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT = 1 + ∑ start_POSTSUBSCRIPT ( italic_f , italic_g ) ∈ italic_E end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT for every fV𝑓𝑉f\in Vitalic_f ∈ italic_V. This means that traversing the graph in a reverse topological order once allows us to find pfsubscript𝑝𝑓p_{f}italic_p start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT for all fV𝑓𝑉f\in Vitalic_f ∈ italic_V. In particular, the vertex fV𝑓𝑉f\in Vitalic_f ∈ italic_V which maximizes pfsubscript𝑝𝑓p_{f}italic_p start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT can be found in linear time.

MaxBottleneck. Similarly, we can find the number of paths ending in each vertex fV𝑓𝑉f\in Vitalic_f ∈ italic_V by a single traversal of the graph in topological order. Thus the vertex fV𝑓𝑉f\in Vitalic_f ∈ italic_V which has the most paths starting and ending in f𝑓fitalic_f can be found by a total of two graph traversals.

MaxPath. For fV𝑓𝑉f\in Vitalic_f ∈ italic_V, denote the length of the longest path starting at f𝑓fitalic_f by fsubscript𝑓\ell_{f}roman_ℓ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT. Then we have f=1+max(f,g)Egsubscript𝑓1subscript𝑓𝑔𝐸subscript𝑔\ell_{f}=1+\max_{(f,g)\in E}\ell_{g}roman_ℓ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT = 1 + roman_max start_POSTSUBSCRIPT ( italic_f , italic_g ) ∈ italic_E end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT. The value fsubscript𝑓\ell_{f}roman_ℓ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT for all fV𝑓𝑉f\in Vitalic_f ∈ italic_V can now be computed by a single traversal of the graph in a reverse topological order. By storing the vertex gV𝑔𝑉g\in Vitalic_g ∈ italic_V for which gsubscript𝑔\ell_{g}roman_ℓ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT is largest at every fV𝑓𝑉f\in Vitalic_f ∈ italic_V with (f,g)E𝑓𝑔𝐸(f,g)\in E( italic_f , italic_g ) ∈ italic_E, the path of length fsubscript𝑓\ell_{f}roman_ℓ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT starting at f𝑓fitalic_f can be recovered in linear time. Altogether, the MaxPath heuristic can be implemented in linear time and space.

4.5. Graph-based 2-XNF DPLL-Solving

Finally, we have all the tools at our disposal to present our graph-based 2-XNF solver which is based on the well-known DPLL-technique (see [17]).

Input : An IGS (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ) for a formula F𝐹Fitalic_F in 2-XNF, a term ordering σ𝜎\sigmaitalic_σ.
Output : 𝚄𝙽𝚂𝙰𝚃𝚄𝙽𝚂𝙰𝚃\mathtt{UNSAT}typewriter_UNSAT or an assignment a𝒮(F)𝑎𝒮𝐹a\in\operatorname{\mathcal{S}}(F)italic_a ∈ caligraphic_S ( italic_F ).
Let (L,V,E)=𝚌𝚛𝙶𝙶𝙲𝙿σ(L,V,E)𝐿𝑉𝐸subscript𝚌𝚛𝙶𝙶𝙲𝙿𝜎𝐿𝑉𝐸(L,V,E)=\mathtt{crGGCP}_{\sigma}(L,V,E)( italic_L , italic_V , italic_E ) = typewriter_crGGCP start_POSTSUBSCRIPT italic_σ end_POSTSUBSCRIPT ( italic_L , italic_V , italic_E ).
  // propagation
Let L𝙵𝙻=𝚝𝙵𝙻𝚂(L,V,E)subscript𝐿𝙵𝙻𝚝𝙵𝙻𝚂𝐿𝑉𝐸L_{\mathtt{FL}}=\mathtt{tFLS}(L,V,E)italic_L start_POSTSUBSCRIPT typewriter_FL end_POSTSUBSCRIPT = typewriter_tFLS ( italic_L , italic_V , italic_E ) and adjoin L𝙵𝙻subscript𝐿𝙵𝙻L_{\mathtt{FL}}italic_L start_POSTSUBSCRIPT typewriter_FL end_POSTSUBSCRIPT to L𝐿Litalic_L.
  // in-processing
1 if L𝙵𝙻subscript𝐿𝙵𝙻L_{\mathtt{FL}}\neq\emptysetitalic_L start_POSTSUBSCRIPT typewriter_FL end_POSTSUBSCRIPT ≠ ∅ then go to Line 1111.
2 if 1L𝔽21subscriptdelimited-⟨⟩𝐿subscript𝔽21\in\langle L\rangle_{\mathbb{F}_{2}}1 ∈ ⟨ italic_L ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT then return 𝚄𝙽𝚂𝙰𝚃𝚄𝙽𝚂𝙰𝚃\mathtt{UNSAT}typewriter_UNSAT
3 if E=𝐸E=\emptysetitalic_E = ∅ then return a𝒵(L)𝔽2n𝑎𝒵𝐿superscriptsubscript𝔽2𝑛a\in\operatorname{\mathcal{Z}}(L)\,\subseteq\,{\mathbb{F}}_{2}^{n}italic_a ∈ caligraphic_Z ( italic_L ) ⊆ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT.
Use Remark 4.22 to compute a decision (L0,L1)subscript𝐿0subscript𝐿1(L_{0},L_{1})( italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) for (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ).
  // decision
4 if 𝙶_𝟸𝚇𝙽𝙵_𝙳𝙿𝙻𝙻σ(LL0,V,E)𝙶_2𝚇𝙽𝙵_subscript𝙳𝙿𝙻𝙻𝜎𝐿subscript𝐿0𝑉𝐸\mathtt{G{\_\kern 0.80002pt}2XNF{\_\kern 1.19995pt}DPLL}_{\sigma}(L\cup L_{0},% V,E)typewriter_G _ typewriter_2 typewriter_X typewriter_N typewriter_F _ typewriter_DPLL start_POSTSUBSCRIPT italic_σ end_POSTSUBSCRIPT ( italic_L ∪ italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_V , italic_E ) returns a𝔽2n𝑎superscriptsubscript𝔽2𝑛a\in{\mathbb{F}}_{2}^{n}italic_a ∈ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT then return a𝑎aitalic_a.
5 else return 𝙶_𝟸𝚇𝙽𝙵_𝙳𝙿𝙻𝙻σ(LL1,V,E)𝙶_2𝚇𝙽𝙵_subscript𝙳𝙿𝙻𝙻𝜎𝐿subscript𝐿1𝑉𝐸\mathtt{G{\_\kern 0.80002pt}2XNF{\_\kern 1.19995pt}DPLL}_{\sigma}(L\cup L_{1},% V,E)typewriter_G _ typewriter_2 typewriter_X typewriter_N typewriter_F _ typewriter_DPLL start_POSTSUBSCRIPT italic_σ end_POSTSUBSCRIPT ( italic_L ∪ italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_V , italic_E ).
Algorithm 8 𝙶_𝟸𝚇𝙽𝙵_𝙳𝙿𝙻𝙻𝙶_2𝚇𝙽𝙵_𝙳𝙿𝙻𝙻\mathtt{G{\_\kern 0.80002pt}2XNF{\_\kern 1.19995pt}DPLL}typewriter_G _ typewriter_2 typewriter_X typewriter_N typewriter_F _ typewriter_DPLL  –  Graph-Based 2-XNF DPLL-Solver
Proposition 4.24.

Let F𝐹Fitalic_F be a formula in 2-XNF with an implication graph structure (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ), and let σ𝜎\sigmaitalic_σ be a term ordering. Then 𝙶_𝟸𝚇𝙽𝙵_𝙳𝙿𝙻𝙻𝙶_2𝚇𝙽𝙵_𝙳𝙿𝙻𝙻\mathtt{G{\_\kern 0.80002pt}2XNF{\_\kern 1.19995pt}DPLL}typewriter_G _ typewriter_2 typewriter_X typewriter_N typewriter_F _ typewriter_DPLL is an algorithm which returns 𝚄𝙽𝚂𝙰𝚃𝚄𝙽𝚂𝙰𝚃\mathtt{UNSAT}typewriter_UNSAT if and only if 𝒮(F)=𝒮𝐹\operatorname{\mathcal{S}}(F)=\emptysetcaligraphic_S ( italic_F ) = ∅. Otherwise, it returns an element a𝒮(F)𝑎𝒮𝐹a\in\operatorname{\mathcal{S}}(F)italic_a ∈ caligraphic_S ( italic_F ).

Proof.

First notice that Line 1 ensures that the IGS (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ) is always σ𝜎\sigmaitalic_σ-reduced and acyclic. Hence Line 6 can be performed efficiently, as explained in Remark 4.23.

Next we show the finiteness of the procedure. In every iteration of Lines 1111-3333 where L𝙵𝙻subscript𝐿𝙵𝙻L_{\mathtt{FL}}\neq\emptysetitalic_L start_POSTSUBSCRIPT typewriter_FL end_POSTSUBSCRIPT ≠ ∅ the IGS (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ) decreases strictly w.r.t. precedes\prec. By Lemma 4.7, we eventually reach L𝙵𝙻=subscript𝐿𝙵𝙻L_{\mathtt{FL}}=\emptysetitalic_L start_POSTSUBSCRIPT typewriter_FL end_POSTSUBSCRIPT = ∅ in Line 3333, and the loop stops after finitely many steps. For the finiteness of the recursive calls observe that if (L0,L1)subscript𝐿0subscript𝐿1(L_{0},L_{1})( italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) is a decision for (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ) as in Line 6, then dim𝔽2L𝔽2<dim𝔽2LL0𝔽2subscriptdimensionsubscript𝔽2subscriptdelimited-⟨⟩𝐿subscript𝔽2subscriptdimensionsubscript𝔽2subscriptdelimited-⟨⟩𝐿subscript𝐿0subscript𝔽2\dim_{{\mathbb{F}}_{2}}\langle L\rangle_{\mathbb{F}_{2}}<\dim_{{\mathbb{F}}_{2% }}\langle L\cup L_{0}\rangle_{\mathbb{F}_{2}}roman_dim start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⟨ italic_L ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT < roman_dim start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⟨ italic_L ∪ italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and dim𝔽2L𝔽2<dim𝔽2LL1𝔽2subscriptdimensionsubscript𝔽2subscriptdelimited-⟨⟩𝐿subscript𝔽2subscriptdimensionsubscript𝔽2subscriptdelimited-⟨⟩𝐿subscript𝐿1subscript𝔽2\dim_{{\mathbb{F}}_{2}}\langle L\rangle_{\mathbb{F}_{2}}<\dim_{{\mathbb{F}}_{2% }}\langle L\cup L_{1}\rangle_{\mathbb{F}_{2}}roman_dim start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⟨ italic_L ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT < roman_dim start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⟨ italic_L ∪ italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. This means that the dimension of L𝔽2subscriptdelimited-⟨⟩𝐿subscript𝔽2\langle L\rangle_{\mathbb{F}_{2}}⟨ italic_L ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT increases strictly with every recursive call. Now it suffices to note that this dimension is bounded from above by n+1𝑛1n+1italic_n + 1, and in case dim𝔽2L𝔽2=n+1subscriptdimensionsubscript𝔽2subscriptdelimited-⟨⟩𝐿subscript𝔽2𝑛1\dim_{{\mathbb{F}}_{2}}\langle L\rangle_{\mathbb{F}_{2}}=n+1roman_dim start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⟨ italic_L ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = italic_n + 1 we have 1L𝔽21subscriptdelimited-⟨⟩𝐿subscript𝔽21\in\langle L\rangle_{\mathbb{F}_{2}}1 ∈ ⟨ italic_L ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, i.e., the procedure terminates in Line 4.

To prove correctness, note that if the algorithm terminates in Line 4, then F𝐹Fitalic_F cannot have any solution since L𝔽2IFsubscriptdelimited-⟨⟩𝐿subscript𝔽2subscript𝐼𝐹\langle L\rangle_{\mathbb{F}_{2}}\subseteq I_{F}⟨ italic_L ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⊆ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT. Similarly, if it terminates in Line 5, the implication graph must be empty and we get IF=Lsubscript𝐼𝐹delimited-⟨⟩𝐿I_{F}=\langle L\rangleitalic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT = ⟨ italic_L ⟩, i.e., a𝒵(L)=𝒵(IF)=𝒮(F)𝑎𝒵𝐿𝒵subscript𝐼𝐹𝒮𝐹a\in\operatorname{\mathcal{Z}}(L)=\operatorname{\mathcal{Z}}(I_{F})=% \operatorname{\mathcal{S}}(F)italic_a ∈ caligraphic_Z ( italic_L ) = caligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT ) = caligraphic_S ( italic_F ). Next we show by induction on d𝑑ditalic_d that the output in all lines is correct if dimL𝔽2=ddimensionsubscriptdelimited-⟨⟩𝐿subscript𝔽2𝑑\dim\langle L\rangle_{\mathbb{F}_{2}}=droman_dim ⟨ italic_L ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = italic_d for d{0,,n+1}𝑑0𝑛1d\in\{0,\dots,{n+1}\}italic_d ∈ { 0 , … , italic_n + 1 }. Note that dim𝔽2L𝔽2=n+1subscriptdimensionsubscript𝔽2subscriptdelimited-⟨⟩𝐿subscript𝔽2𝑛1\dim_{{\mathbb{F}}_{2}}\langle L\rangle_{\mathbb{F}_{2}}=n+1roman_dim start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⟨ italic_L ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = italic_n + 1 implies 1L𝔽2IF1subscriptdelimited-⟨⟩𝐿subscript𝔽2subscript𝐼𝐹1\in\langle L\rangle_{\mathbb{F}_{2}}\subseteq I_{F}1 ∈ ⟨ italic_L ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⊆ italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT, i.e., the algorithm terminates already in Line 4 and is correct by the above. Now suppose that the algorithm terminates correctly if dim𝔽2L𝔽2>ssubscriptdimensionsubscript𝔽2subscriptdelimited-⟨⟩𝐿subscript𝔽2𝑠\dim_{{\mathbb{F}}_{2}}\langle L\rangle_{\mathbb{F}_{2}}>sroman_dim start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⟨ italic_L ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT > italic_s for some s{0,,n}𝑠0𝑛s\in\{0,\dots,n\}italic_s ∈ { 0 , … , italic_n } and let dim𝔽2L𝔽2=ssubscriptdimensionsubscript𝔽2subscriptdelimited-⟨⟩𝐿subscript𝔽2𝑠\dim_{{\mathbb{F}}_{2}}\langle L\rangle_{\mathbb{F}_{2}}{=s}roman_dim start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⟨ italic_L ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = italic_s. It suffices to consider the case where the algorithm terminates in Lines 7 or 8. Note that by definition of the decision (L0,L1)subscript𝐿0subscript𝐿1(L_{0},L_{1})( italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) from Line 6 we have 𝒵(IF)𝒵(IF+L0)𝒵(IF+L1)𝒵subscript𝐼𝐹𝒵subscript𝐼𝐹delimited-⟨⟩subscript𝐿0𝒵subscript𝐼𝐹delimited-⟨⟩subscript𝐿1\operatorname{\mathcal{Z}}(I_{F})\subseteq\operatorname{\mathcal{Z}}(I_{F}+% \langle L_{0}\rangle)\cup\operatorname{\mathcal{Z}}(I_{F}+\langle{L_{1}}\rangle)caligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT ) ⊆ caligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT + ⟨ italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⟩ ) ∪ caligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT + ⟨ italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⟩ ), and as above the dimension of L𝔽2subscriptdelimited-⟨⟩𝐿subscript𝔽2\langle L\rangle_{\mathbb{F}_{2}}⟨ italic_L ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT is strictly smaller than the dimensions of LL0𝔽2subscriptdelimited-⟨⟩𝐿subscript𝐿0subscript𝔽2\langle L\cup L_{0}\rangle_{\mathbb{F}_{2}}⟨ italic_L ∪ italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and LL1𝔽2subscriptdelimited-⟨⟩𝐿subscript𝐿1subscript𝔽2\langle L\cup L_{1}\rangle_{\mathbb{F}_{2}}⟨ italic_L ∪ italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⟩ start_POSTSUBSCRIPT blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, respectively. Thus the recursive call in Line 7 terminates correctly, i.e., returns 𝚄𝙽𝚂𝙰𝚃𝚄𝙽𝚂𝙰𝚃\mathtt{UNSAT}typewriter_UNSAT if and only if 𝒵(IF+L0)=𝒵subscript𝐼𝐹delimited-⟨⟩subscript𝐿0\operatorname{\mathcal{Z}}(I_{F}+\langle{L_{0}}\rangle)=\emptysetcaligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT + ⟨ italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⟩ ) = ∅, otherwise it returns a𝒵(IF+L0)𝒵(IF)𝑎𝒵subscript𝐼𝐹delimited-⟨⟩subscript𝐿0superset-of-or-equals𝒵subscript𝐼𝐹a\in\operatorname{\mathcal{Z}}(I_{F}+\langle{L_{0}}\rangle)\supseteq% \operatorname{\mathcal{Z}}(I_{F})italic_a ∈ caligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT + ⟨ italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⟩ ) ⊇ caligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT ). If the algorithm does not terminate here, then we must have 𝒵(IF+L0)=𝒵subscript𝐼𝐹delimited-⟨⟩subscript𝐿0\operatorname{\mathcal{Z}}(I_{F}+\langle L_{0}\rangle)=\emptysetcaligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT + ⟨ italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⟩ ) = ∅ and the algorithm terminates with the recursive call in Line 8. Analogous to the call in Line 7, we get 𝚄𝙽𝚂𝙰𝚃𝚄𝙽𝚂𝙰𝚃\mathtt{UNSAT}typewriter_UNSAT if and only if 𝒵(IF+L1)=𝒵subscript𝐼𝐹delimited-⟨⟩subscript𝐿1\operatorname{\mathcal{Z}}(I_{F}+\langle L_{1}\rangle)=\emptysetcaligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT + ⟨ italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⟩ ) = ∅, which occurs if and only if 𝒵(IF)𝒵(IF+L0)𝒵(IF+L1)=𝒵subscript𝐼𝐹𝒵subscript𝐼𝐹delimited-⟨⟩subscript𝐿0𝒵subscript𝐼𝐹delimited-⟨⟩subscript𝐿1\operatorname{\mathcal{Z}}(I_{F})\subseteq\operatorname{\mathcal{Z}}(I_{F}+% \langle L_{0}\rangle)\cup\operatorname{\mathcal{Z}}(I_{F}+\langle{L_{1}}% \rangle)=\emptysetcaligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT ) ⊆ caligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT + ⟨ italic_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⟩ ) ∪ caligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT + ⟨ italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⟩ ) = ∅. Otherwise it returns a satisfying assignment a𝒵(IF+L1)𝒵(IF)=𝒮(F)𝑎𝒵subscript𝐼𝐹delimited-⟨⟩subscript𝐿1superset-of-or-equals𝒵subscript𝐼𝐹𝒮𝐹a\in\operatorname{\mathcal{Z}}(I_{F}+\langle L_{1}\rangle)\,\supseteq\,% \operatorname{\mathcal{Z}}(I_{F})=\operatorname{\mathcal{S}}(F)italic_a ∈ caligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT + ⟨ italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⟩ ) ⊇ caligraphic_Z ( italic_I start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT ) = caligraphic_S ( italic_F ) of F𝐹Fitalic_F. ∎

To obtain an efficient implementation we need appropriate data structures which support fast backtracking. The following method allows us to avoid creating a copy of the entire implication graph structures in the recursive calls of Lines 7777 and 8888.

Remark 4.25 (Data Structures for Implication Graph Structures).

In order to store an implication graph structure (L,V,E)𝐿𝑉𝐸(L,V,E)( italic_L , italic_V , italic_E ) internally, it is beneficial to actually store a graph (V,E)superscript𝑉superscript𝐸(V^{\prime},E^{\prime})( italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) based on integer vertices Vsuperscript𝑉V^{\prime}\subseteq{\mathbb{Z}}italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⊆ blackboard_Z and a map λ:V𝕃n:𝜆superscript𝑉subscript𝕃𝑛\lambda:\;V^{\prime}\to{\mathbb{L}}_{n}italic_λ : italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT → blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT such that V=λ(V)𝑉𝜆superscript𝑉V=\lambda(V^{\prime})italic_V = italic_λ ( italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) and such that E={(λ(v),λ(w))(v,w)E}𝐸conditional-set𝜆𝑣𝜆𝑤𝑣𝑤superscript𝐸E=\{\,(\lambda(v),\lambda(w))\mid(v,w)\in E^{\prime}\}italic_E = { ( italic_λ ( italic_v ) , italic_λ ( italic_w ) ) ∣ ( italic_v , italic_w ) ∈ italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT }.

Let us suggest two data structures, one for the labeling map λ𝜆\lambdaitalic_λ, and one for the graph (V,E)superscript𝑉superscript𝐸(V^{\prime},E^{\prime})( italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) which are tailored towards efficient backtracking.

  1. (a)

    To efficiently represent λ𝜆\lambdaitalic_λ, we use a prefix tree, i.e., a tree whose non-root vertices are elements of {1,x1,,xn}1subscript𝑥1subscript𝑥𝑛\{1,x_{1},\dots,x_{n}\}{ 1 , italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT }, where the children of every node are bigger than their parent w.r.t. a term ordering σ𝜎\sigmaitalic_σ, and where the root is t0=0subscript𝑡00t_{0}=0italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = 0. Then every vertex vV𝑣superscript𝑉v\in V^{\prime}italic_v ∈ italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is associated to a vertex η(v)𝜂𝑣\eta(v)italic_η ( italic_v ) of the tree such that the unique path starting at the root t0tr=η(v)subscript𝑡0subscript𝑡𝑟𝜂𝑣t_{0}\to\dots\to t_{r}=\eta(v)italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT → … → italic_t start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT = italic_η ( italic_v ) satisfies λ(v)=t0++tr𝜆𝑣subscript𝑡0subscript𝑡𝑟\lambda(v)=t_{0}+\dots+t_{r}italic_λ ( italic_v ) = italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + ⋯ + italic_t start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT.

    Note that insertion can be performed in amortized linear time in the size of Supp(λ(v))Supp𝜆𝑣\operatorname{Supp}(\lambda(v))roman_Supp ( italic_λ ( italic_v ) ) if the children are accessed by hash maps, and deletion can be performed in constant time. If λ𝜆\lambdaitalic_λ needs to be copied, it suffices to copy η(v)𝜂𝑣\eta(v)italic_η ( italic_v ) for every vV𝑣superscript𝑉v\in V^{\prime}italic_v ∈ italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. The actual linear polynomials λ(v)𝜆𝑣\lambda(v)italic_λ ( italic_v ) are not copied. For the backtracking, we simply replace η𝜂\etaitalic_η internally, and the previous λ𝜆\lambdaitalic_λ is restored immediately.

  2. (b)

    For the graph itself, we suggest to use a modified lean hybrid graph representation, as devised in [1, 2, 3]. This data structure was proposed only for undirected graphs, but an extension to directed skew-symmetric graphs is possible. The data structure is rather advanced and allows backtracking of edge deletions and vertex contractions in constant time. In particular, it allows us to store any state of the graph with a space complexity of 𝒪(#V)𝒪#𝑉\operatorname{\mathcal{O}}(\#V)caligraphic_O ( # italic_V ). Backtracking to such a previous state has complexity 𝒪(#V)𝒪#𝑉\operatorname{\mathcal{O}}(\#V)caligraphic_O ( # italic_V ).

Altogether, it is possible to implement the algorithm with a space complexity of 𝒪((n+1)#V+#E)𝒪𝑛1#𝑉#𝐸\operatorname{\mathcal{O}}((n+1)\cdot\#V+\#E)caligraphic_O ( ( italic_n + 1 ) ⋅ # italic_V + # italic_E ), where (V,E)𝑉𝐸(V,E)( italic_V , italic_E ) is part of the initial trivial IGS.

Notice that 𝙶_𝟸𝚇𝙽𝙵_𝙳𝙿𝙻𝙻𝙶_2𝚇𝙽𝙵_𝙳𝙿𝙻𝙻\mathtt{G{\_\kern 0.80002pt}2XNF{\_\kern 1.19995pt}DPLL}typewriter_G _ typewriter_2 typewriter_X typewriter_N typewriter_F _ typewriter_DPLL is based on the well-known DPLL framework. An extension to a conflict-driven clause learning (CDCL) directive encounters the following obstacles.

Remark 4.26 (Conflict-Driven XNF Clause Learning).

Although the 2-XNF theory originates from the 𝚜-𝚁𝚎𝚜𝚜-𝚁𝚎𝚜\mathtt{s\text{-}Res}typewriter_s - typewriter_Res proof system which in turn is a generalization of classical resolution, it is not easy to extend conflict-driven clause learning to 2-XNF instances. This is mainly due to two problems:

  1. (1)

    The resolvent of two clauses may be the zero clause, i.e., resolving the conflict clause may lead to a clause that is trivially satisfied (see [26]).

  2. (2)

    In general, the resolvent is not in 2-XNF, i.e., it cannot be added to the implication graph structure in a straightforward way.

Overcoming these obstacles is an important objective of future research, because CDCL techniques promise significant speed-ups of XNF solvers.

5. Experiments and Timings

In this section we evaluate the methods of Section 4 on random 2-XNF instances and on instances coming from round-reduced 𝙰𝚜𝚌𝚘𝚗-𝟷𝟸𝟾𝙰𝚜𝚌𝚘𝚗-128\mathtt{Ascon\text{-}128}typewriter_Ascon - typewriter_128 key-recovery attacks. For comparison, we ran our 𝙲++𝙲++\mathtt{C\text{++}}typewriter_C ++ implementation of Algorithm 𝙶_𝟸𝚇𝙽𝙵_𝙳𝙿𝙻𝙻𝙶_2𝚇𝙽𝙵_𝙳𝙿𝙻𝙻\mathtt{G{\_\kern 0.80002pt}2XNF{\_\kern 1.19995pt}DPLL}typewriter_G _ typewriter_2 typewriter_X typewriter_N typewriter_F _ typewriter_DPLL, which we named 𝟸-𝚇𝚘𝚛𝚗𝚊𝚍𝚘2-𝚇𝚘𝚛𝚗𝚊𝚍𝚘\mathtt{2\text{-}Xornado}typewriter_2 - typewriter_Xornado, against SAT solvers with XOR support, i.e., CNF-based SAT solvers that can read and process XOR constraints on the variables natively. We say that formulas of the type processed by these solvers are in CNF-XOR.

State-of-the-art SAT solvers that support CNF-XOR input are 𝙲𝚛𝚢𝚙𝚝𝚘𝙼𝚒𝚗𝚒𝚂𝚊𝚝𝙲𝚛𝚢𝚙𝚝𝚘𝙼𝚒𝚗𝚒𝚂𝚊𝚝\mathtt{CryptoMiniSat}typewriter_CryptoMiniSat (see [39]), an established CDCL-based solver, and 𝚡𝚗𝚏𝚂𝙰𝚃𝚡𝚗𝚏𝚂𝙰𝚃\mathtt{xnfSAT}typewriter_xnfSAT (see [36]), which is based on a stochastic local search approach, i.e., it can only be used on satisfiable instances. (Note that 𝚡𝚗𝚏𝚂𝙰𝚃𝚡𝚗𝚏𝚂𝙰𝚃\mathtt{xnfSAT}typewriter_xnfSAT, despite its name, cannot work with XNFs as introduced in this article. It only supports CNF-XOR instances.) To use these solvers on XNF instances, we use the following reduction.

Remark 5.1.

Let F𝐹Fitalic_F be a 2-XNF formula involving n𝑛nitalic_n variables. Then we can write the XNF clauses of F𝐹Fitalic_F as C1,,Crsubscript𝐶1subscript𝐶𝑟C_{1},\dots,C_{r}italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_C start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT, L1,,Lssubscript𝐿1subscript𝐿𝑠L_{1},\dots,L_{s}italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_L start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT, where Ci=Li,1Li,2subscript𝐶𝑖subscript𝐿𝑖1subscript𝐿𝑖2C_{i}=L_{i,1}\lor L_{i,2}italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_L start_POSTSUBSCRIPT italic_i , 1 end_POSTSUBSCRIPT ∨ italic_L start_POSTSUBSCRIPT italic_i , 2 end_POSTSUBSCRIPT with linerals Li,jsubscript𝐿𝑖𝑗L_{i,j}italic_L start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT, and where L1,,Lssubscript𝐿1subscript𝐿𝑠L_{1},\dots,L_{s}italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_L start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT are already linerals. Now we introduce 2r2𝑟2r2 italic_r additional variables Yi,jsubscript𝑌𝑖𝑗Y_{i,j}italic_Y start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT and consider the CNF-XOR formula G𝐺Gitalic_G consisting of the clauses Ci=Yi,1Yi,2subscriptsuperscript𝐶𝑖subscript𝑌𝑖1subscript𝑌𝑖2C^{\prime}_{i}=Y_{i,1}\lor Y_{i,2}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_Y start_POSTSUBSCRIPT italic_i , 1 end_POSTSUBSCRIPT ∨ italic_Y start_POSTSUBSCRIPT italic_i , 2 end_POSTSUBSCRIPT, the XOR constraints ¬Yi,jLi,jdirect-sumsubscript𝑌𝑖𝑗subscript𝐿𝑖𝑗\neg Y_{i,j}\oplus L_{i,j}¬ italic_Y start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT ⊕ italic_L start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT for i{1,,r}𝑖1𝑟i\in\{1,\dots,r\}italic_i ∈ { 1 , … , italic_r } and j{1,2}𝑗12j\in\{1,2\}italic_j ∈ { 1 , 2 }, and the original XOR constraints L1,,Lssubscript𝐿1subscript𝐿𝑠L_{1},\dots,L_{s}italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_L start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT. Then we have 𝒵(F)n𝒵(G)subscript𝑛𝒵𝐹𝒵𝐺\operatorname{\mathcal{Z}}(F)\equiv_{n}\operatorname{\mathcal{Z}}(G)caligraphic_Z ( italic_F ) ≡ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT caligraphic_Z ( italic_G ).

Furthermore, a 2-XNF instance can also be seen as a system of quadratic Boolean polynomial equations that can be solved by an algebraic solver such as 𝙿𝚘𝚕𝚢𝙱𝚘𝚁𝚒𝙿𝚘𝚕𝚢𝙱𝚘𝚁𝚒\mathtt{PolyBoRi}typewriter_PolyBoRi (see [9]). This package offers an implementation of the Buchberger algorithm adapted to Boolean polynomial rings and employs highly optimized data structures. Additionally, we consider the solver 𝙱𝚘𝚜𝚙𝚑𝚘𝚛𝚞𝚜𝙱𝚘𝚜𝚙𝚑𝚘𝚛𝚞𝚜\mathtt{Bosphorus}typewriter_Bosphorus (see [11]), which employs both algebraic and logical reasoning, and processes ANF (and CNF) input. For instances with fewer than 40404040 variables, we also compare the solvers to 𝚡𝚗𝚏_𝚋𝚏𝚡𝚗𝚏_𝚋𝚏\mathtt{xnf{\_\kern 1.00006pt}bf}typewriter_xnf _ typewriter_bf, our 𝙲++𝙲++\mathtt{C\text{++}}typewriter_C ++ implementation of a brute-force XNF solver. Finally, we also consider the winner of the 2023 SAT competition 𝚂𝙱𝚅𝙰-𝙲𝚊𝙳𝚒𝙲𝚊𝙻𝚂𝙱𝚅𝙰-𝙲𝚊𝙳𝚒𝙲𝚊𝙻\mathtt{SBVA{\text{-}}CaDiCaL}typewriter_SBVA - typewriter_CaDiCaL (see [22]) which processes CNF inputs. The CNF files were generated from the CNF-XOR representation by converting the additional XOR constraints on the variables to a set of CNF clauses. Since a direct encoding of long XORs results in exponentially many CNF clauses, they are split using new variables such that we only consider direct encodings of XOR constraints involving at most 5555 variables. This corresponds to a linear encoding with cutting number 5555 (see [36]).

All experiments were run on an Intel Xeon E5-2623 v3 processor with 128GB of RAM under Debian 10. We used 𝙲𝚛𝚢𝚙𝚝𝚘𝙼𝚒𝚗𝚒𝚂𝚊𝚝𝙲𝚛𝚢𝚙𝚝𝚘𝙼𝚒𝚗𝚒𝚂𝚊𝚝\mathtt{CryptoMiniSat}typewriter_CryptoMiniSat version 5.85.85.85.8, 𝚡𝚗𝚏𝚂𝙰𝚃𝚡𝚗𝚏𝚂𝙰𝚃\mathtt{xnfSAT}typewriter_xnfSAT version 03v03𝑣03v03 italic_v, 𝙱𝚘𝚜𝚙𝚑𝚘𝚛𝚞𝚜𝙱𝚘𝚜𝚙𝚑𝚘𝚛𝚞𝚜\mathtt{Bosphorus}typewriter_Bosphorus version 3.03.03.03.0, and 𝚂𝙱𝚅𝙰-𝙲𝚊𝙳𝚒𝙲𝚊𝙻𝚂𝙱𝚅𝙰-𝙲𝚊𝙳𝚒𝙲𝚊𝙻\mathtt{SBVA{\text{-}}CaDiCaL}typewriter_SBVA - typewriter_CaDiCaL with 𝙲𝚊𝙳𝚒𝙲𝚊𝙻𝙲𝚊𝙳𝚒𝙲𝚊𝙻\mathtt{CaDiCaL}typewriter_CaDiCaL 2.0 (see [7]).

Random 2-XNF Clauses

First we consider random 2-XNF instances involving n𝑛nitalic_n variables and m𝑚mitalic_m clauses. Every clause in the formula is generated by picking two linerals uniformly at random in 𝕃n𝔽2subscript𝕃𝑛subscript𝔽2{\mathbb{L}}_{n}\setminus{\mathbb{F}}_{2}blackboard_L start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ∖ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. With m=3n𝑚3𝑛m=3\cdot nitalic_m = 3 ⋅ italic_n and n{21,,40}𝑛2140n\in\{21,\dots,40\}italic_n ∈ { 21 , … , 40 }, experiments showed that such an instance is 𝚄𝙽𝚂𝙰𝚃𝚄𝙽𝚂𝙰𝚃\mathtt{UNSAT}typewriter_UNSAT with a probability of at least 98%percent9898\%98 %. If a solution is desired, we simply choose a𝔽2n𝑎superscriptsubscript𝔽2𝑛a\in{\mathbb{F}}_{2}^{n}italic_a ∈ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT at random and for every clause that is not satisfied by a𝑎aitalic_a, we randomly flip the constant of one of the two linerals. This ensures that a𝑎aitalic_a indeed forms a satisfying assignment of the generated 2-XNF instance. Two random benchmark suites are considered, each containing 400400400400 random instances with n{21,,40}𝑛2140n\in\{21,\dots,40\}italic_n ∈ { 21 , … , 40 } variables in m=3n𝑚3𝑛m=3\cdot nitalic_m = 3 ⋅ italic_n clauses, where we have 20202020 instances for every n𝑛nitalic_n. One set contains only satisfiable instances, the other only unsatisfiable ones.

Refer to caption
(a) Benchmark suite consisting of 400400400400 random satisfiable 2-XNF instances in n𝑛nitalic_n indeterminates and 3n3𝑛3n3 italic_n clauses where n{21,,40}𝑛2140n\in\{21,\dots,40\}italic_n ∈ { 21 , … , 40 }.
Refer to caption
(b) Benchmark suite consisting of 400400400400 random unsatisfiable 2-XNF instances in n𝑛nitalic_n indeterminates and 3n3𝑛3n3 italic_n clauses where n{21,,40}𝑛2140n\in\{21,\dots,40\}italic_n ∈ { 21 , … , 40 }.
Figure 4. Cactus plots for the random benchmark suites.

The cactus plots in Figure 4 show that such small random instances are hard for state-of-the-art CNF and CNF-XOR solvers. In particular, we see that 𝚡𝚗𝚏𝚂𝙰𝚃𝚡𝚗𝚏𝚂𝙰𝚃\mathtt{xnfSAT}typewriter_xnfSAT and 𝚂𝙱𝚅𝙰-𝙲𝚊𝙳𝚒𝙲𝚊𝙻𝚂𝙱𝚅𝙰-𝙲𝚊𝙳𝚒𝙲𝚊𝙻\mathtt{SBVA{\text{-}}CaDiCaL}typewriter_SBVA - typewriter_CaDiCaL are even out-performed by a simple brute-force implementation. Algebraic solving with 𝙿𝚘𝚕𝚢𝙱𝚘𝚁𝚒𝙿𝚘𝚕𝚢𝙱𝚘𝚁𝚒\mathtt{PolyBoRi}typewriter_PolyBoRi performs not significantly worse than 𝙲𝚛𝚢𝚙𝚝𝚘𝙼𝚒𝚗𝚒𝚂𝚊𝚝𝙲𝚛𝚢𝚙𝚝𝚘𝙼𝚒𝚗𝚒𝚂𝚊𝚝\mathtt{CryptoMiniSat}typewriter_CryptoMiniSat. While the plot clearly shows that 𝟸-𝚇𝚘𝚛𝚗𝚊𝚍𝚘2-𝚇𝚘𝚛𝚗𝚊𝚍𝚘\mathtt{2\text{-}Xornado}typewriter_2 - typewriter_Xornado performs best on this benchmark, one should note that this is not due to some clever data structures that allow very fast propagation. The main reason for its better overall performance is that the required number of decisions of 𝟸-𝚇𝚘𝚛𝚗𝚊𝚍𝚘2-𝚇𝚘𝚛𝚗𝚊𝚍𝚘\mathtt{2\text{-}Xornado}typewriter_2 - typewriter_Xornado (with any heuristic) is smaller by a factor of 60606060-80808080 compared to the number of decisions taken by 𝙲𝚛𝚢𝚙𝚝𝚘𝙼𝚒𝚗𝚒𝚂𝚊𝚝𝙲𝚛𝚢𝚙𝚝𝚘𝙼𝚒𝚗𝚒𝚂𝚊𝚝\mathtt{CryptoMiniSat}typewriter_CryptoMiniSat.

Round-Reduced Ascon Key Recovery Attacks

Our second benchmark set consists of instances related to key-recovery attacks on round-reduced versions of the cipher 𝙰𝚜𝚌𝚘𝚗-𝟷𝟸𝟾𝙰𝚜𝚌𝚘𝚗-128\mathtt{Ascon\text{-}128}typewriter_Ascon - typewriter_128  (see [18]). In particular, we consider attacks where the 128128128128-bit nonce and the 320320320320-bit internal state are known and the goal is to undo the initialization step consisting of 12121212 rounds in order to obtain the 128128128128-bit secret key. If this problem can be solved efficiently, the cipher is broken in a nonce-misuse scenario, see [6]. Here we consider round-reduced variants: 20202020 instances with 2222 rounds, 20202020 instances with 3333 rounds and knowledge of the first k𝑘kitalic_k key bits for each k{55,,64}𝑘5564k\in\{55,\dots,64\}italic_k ∈ { 55 , … , 64 }, and 20202020 instances with 4444 rounds and knowledge of the first k𝑘kitalic_k key bits for each k{92,,100}𝑘92100k\in\{92,\dots,100\}italic_k ∈ { 92 , … , 100 }. The instances were generated by applying 𝚀𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵𝚀𝙰𝙽𝙵𝚝𝚘𝟸𝚇𝙽𝙵\mathtt{QANFto2XNF}typewriter_QANFto2XNF to a polynomial representation of the cryptosystem, see Example 3.22, augmented with some additional XNF clauses, which speed up propagation in 𝙶𝙶𝙲𝙿𝙶𝙶𝙲𝙿\mathtt{GGCP}typewriter_GGCP.

Refer to caption
Figure 5. Cactus plot for the benchmark suite consisting of 400400400400 satisfiable instances related to key-recovery attacks on round-reduced 𝙰𝚜𝚌𝚘𝚗-𝟷𝟸𝟾𝙰𝚜𝚌𝚘𝚗-128\mathtt{Ascon\text{-}128}typewriter_Ascon - typewriter_128.

Figure 5 contains a cactus plot for these cryptographic instances. Here 𝚡𝚗𝚏𝚂𝙰𝚃𝚡𝚗𝚏𝚂𝙰𝚃\mathtt{xnfSAT}typewriter_xnfSAT was not included due to its bad performance on the random set. It turns out that for the 2-round version 𝟸-𝚇𝚘𝚛𝚗𝚊𝚍𝚘2-𝚇𝚘𝚛𝚗𝚊𝚍𝚘\mathtt{2\text{-}Xornado}typewriter_2 - typewriter_Xornado can already solve all instances (starting with the trivial IGS) during pre-processing in less than 0.30.30.30.3 seconds on average. On these instances, 𝙲𝚛𝚢𝚙𝚝𝚘𝙼𝚒𝚗𝚒𝚂𝚊𝚝𝙲𝚛𝚢𝚙𝚝𝚘𝙼𝚒𝚗𝚒𝚂𝚊𝚝\mathtt{CryptoMiniSat}typewriter_CryptoMiniSat requires more than 80 0008000080\,00080 000 decisions and several seconds; and 𝚂𝙱𝚅𝙰-𝙲𝚊𝙳𝚒𝙲𝚊𝙻𝚂𝙱𝚅𝙰-𝙲𝚊𝙳𝚒𝙲𝚊𝙻\mathtt{SBVA{\text{-}}CaDiCaL}typewriter_SBVA - typewriter_CaDiCaL about 20 0002000020\,00020 000 decisions and one second. Our solver 𝟸-𝚇𝚘𝚛𝚗𝚊𝚍𝚘2-𝚇𝚘𝚛𝚗𝚊𝚍𝚘\mathtt{2\text{-}Xornado}typewriter_2 - typewriter_Xornado with the MaxBottleneck or the MaxReach heuristic and in-processing with 𝚝𝙵𝙻𝚂𝚝𝙵𝙻𝚂\mathtt{tFLS}typewriter_tFLS also performs very well on the remaining benchmark and comes out as the average best solver. The bad performance with the MaxPath heuristic may be attributed to the fact that the corresponding decision linerals contain more variables and therefore 𝚌𝚛𝙶𝙶𝙲𝙿𝚌𝚛𝙶𝙶𝙲𝙿\mathtt{crGGCP}typewriter_crGGCP execution requires more time, increases the average length of linerals of the implication graph vertices, i.e., increases its memory footprint, and thereby makes backtracking more expensive. It should be noted that on the 4-round instances the CNF-XOR solver 𝙲𝚛𝚢𝚙𝚝𝚘𝙼𝚒𝚗𝚒𝚂𝚊𝚝𝙲𝚛𝚢𝚙𝚝𝚘𝙼𝚒𝚗𝚒𝚂𝚊𝚝\mathtt{CryptoMiniSat}typewriter_CryptoMiniSat had a better performance with fewer timeouts. So its advanced decision heuristics, the highly optimized data structures, and the conflict-learning methods do pay off on larger instances. Nonetheless 𝟸-𝚇𝚘𝚛𝚗𝚊𝚍𝚘2-𝚇𝚘𝚛𝚗𝚊𝚍𝚘\mathtt{2\text{-}Xornado}typewriter_2 - typewriter_Xornado still requires fewer decisions by a factor of 60606060-80808080. The CNF-SAT solver 𝚂𝙱𝚅𝙰-𝙲𝚊𝙳𝚒𝙲𝚊𝙻𝚂𝙱𝚅𝙰-𝙲𝚊𝙳𝚒𝙲𝚊𝙻\mathtt{SBVA{\text{-}}CaDiCaL}typewriter_SBVA - typewriter_CaDiCaL, however, with data structures and conflict-learning methods similar to 𝙲𝚛𝚢𝚙𝚝𝚘𝙼𝚒𝚗𝚒𝚂𝚊𝚝𝙲𝚛𝚢𝚙𝚝𝚘𝙼𝚒𝚗𝚒𝚂𝚊𝚝\mathtt{CryptoMiniSat}typewriter_CryptoMiniSat could only solve 8888 of these instances. This highlights the effectiveness of the encodings of these innately XOR-rich problems in CNF-XOR and XNF. Also note that 𝙿𝚘𝚕𝚢𝙱𝚘𝚁𝚒𝙿𝚘𝚕𝚢𝙱𝚘𝚁𝚒\mathtt{PolyBoRi}typewriter_PolyBoRi could not solve a single instance when given in its ANF format, however when feeding it with the system of quadratic equations corresponding to the 2-XNF, some instances could be solved. The situation for 𝙱𝚘𝚜𝚙𝚑𝚘𝚛𝚞𝚜𝙱𝚘𝚜𝚙𝚑𝚘𝚛𝚞𝚜\mathtt{Bosphorus}typewriter_Bosphorus is similar, with better performance on the input that comes from our XNF encoding.

Conclusions

A generalization of the well-known CNF that allows compact representations of XOR-rich problems, like those originating from cryptographic attacks, has been introduced. On top of that we generalized pre- and in-processing techniques and introduced a DPLL-based solving algorithm with a simplistic decision heuristic that outperforms other state-of-the-art solving approaches on random instances and on problems originating from cryptographic attacks on 𝙰𝚜𝚌𝚘𝚗-𝟷𝟸𝟾𝙰𝚜𝚌𝚘𝚗-128\mathtt{Ascon\text{-}128}typewriter_Ascon - typewriter_128. An extension to CDCL-based solving is in preparation and better decision heuristics will be investigated.

Acknowledgements. During part of this research, the second author was supported by the DFG project Algebraische Fehlerangriffe KR 1907/6-2. The first author gratefully acknowledges Cusanuswerk e.V. for financial support.

References

  • [1] F. N. Abu-Khzam, K. A. Jahed, and A. E. Mouawad, A hybrid graph representation for exact graph algorithms, preprint 2014, available at arxiv.org/pdf/1404.6399.pdf (accessed on 23 February 2023).
  • [2] F. N. Abu-Khzam, D. Kim, M. Perry, K. Wang, and P. Shaw, Accelerating vertex cover optimization on a GPU architecture, in: Int. Symposium on Cluster, Cloud and Grid Computing (CCGRID), Washington 2018, IEEE Xplore, pp.616–625.
  • [3] F. N. Abu-Khzam, M. A. Langston, and C. P. Nolan, A hybrid graph representation for recursive backtracking algorithms, in: Frontiers in Algorithmics (FAW 2010), LNCS 6213, Springer-Verlag, Berlin 2010, pp. 136–147.
  • [4] M. Albrecht, C. Cid, L. Grassi, D. Khovratovich, R. Lüftenegger, C. Rechberger, and M. Schofnegger, Algebraic cryptanalysis of STARK-friendly designs: Application to MARVELlous and MiMC, in: Proc. Advances in Cryptology (ASIACRYPT 2019), Kobe 2019, LNCS 11923, Springer Int. Publ., Cham 2019, pp. 371–397.
  • [5] B. Aspvall, M. F. Plass, and R. E. Tarjan, A linear-time algorithm for testing the truth of certain quantified boolean formulas, Inform. Process. Lett. 8 (1979), 121–123.
  • [6] J. Baudrin, A. Canteaut, and L. Perrin, Practical cube attack against nonce-misused Ascon, IACR Transactions on Symmetric Cryptology 4 (2022), 120–144.
  • [7] A. Biere, T. Faller, K. Fazekas, M. Fleury, N. Froleyks, and F. Pollitt, CaDiCaL 2.0, in: Proc. Computer Aided Verification (CAV 2024), Montreal 2024, LNCS 14681, Springer Nature Switzerland, Cham 2024, pp. 133-152.
  • [8] M. Brickenstein, Boolean Gröbner Bases: Theory, Algorithms and Applications, Springer-Verlag, Berlin 2010.
  • [9] M. Brickenstein and A. Dreyer, PolyBoRi: A framework for Gröbner-basis computations with Boolean polynomials, J. Symbolic Comput. 44 (2009), 1326–1345.
  • [10] W. Castryck and T. Decru, An efficient key recovery attack on SIDH, in: Proc. Advances in Cryptology (EUROCRYPT 2023); Lyon 2023, LNCS 14008, Springer Int. Publ., Cham 2023, pp. 423–447.
  • [11] D. Choo, M. Soos, K. M. A. Chai, and K. S. Meel, Bosphorus: Bridging ANF and CNF solvers, in: Proc. Design, Automation, and Test in Europe (DATE), Florence 2019, IEEE Xplore, pp. 468-473.
  • [12] N. Courtois, A. Klimov, J. Patarin, and A. Shamir, Efficient algorithms for solving overdefined systems of multivariate polynomial equations, in: Proc. Advances in Cryptology (EUROCRYPT 2000), Brugge 2000, LNCS 1807, Springer-Verlag, Berlin 2000, pp. 392–407.
  • [13] N. Courtois, P. Sepehrdad, P. Sušil, and S. Vaudenay, The ElimLin algorithm revisited, in: Proc. Fast Software Encryption (FSE 2012), Washington 2012, LNCS 7549, Springer-Verlag, Berlin 2012, pp. 306–325.
  • [14] J. Danner and M. Kreuzer, A fault attack on KCipher-2, Int. J. Comput. Math. Comput. Syst. Theory 6 (2021), 281–312.
  • [15] S. K. Dash, S.-B. Scholz, S. Herhut, and B. Christianson, A scalable approach to computing representative lowest common ancestor in directed acyclic graphs, Theoret. Comput. Sci. 513 (2013), 25–37.
  • [16] J. Davies, Solving MAXSAT by decoupling optimization and satisfaction, dissertation, University of Toronto, Toronto 2013.
  • [17] M. Davis, G. Logemann, and D. Loveland, A machine program for theorem proving, Commun. ACM 5 (1962), 394–397.
  • [18] C. Dobraunig, M. Eichlseder, F. Mendel, and M. Schläffer, Ascon v1.2: Technical report, National Institute of Standards and Technology, 2019.
  • [19] J. M. Dudek, K. S. Meel, and M. Y. Vardi, The hard problems are almost everywhere for random CNF-XOR formulas. in: Proc. Int. Joint Conference on Artificial Intelligence (IJCAI’17), Melbourne, 2017; pp. 600–606.
  • [20] A. D. Dwivedi, M. Klouček, P. Morawiecki, I. Nikolić, J. Pieprzyk, and S. Wójtowicz, SAT-based cryptanalysis of authenticated ciphers from the CAESAR competition, in: Proc. Int. Joint Conference on e-Business and Telecommunications (ICETE 2017), SECRYPT, Madrid, 2017; pp. 237–246.
  • [21] G. Emdin, A. S. Kulikov, I. Mihajlin, and N. Slezkin, CNF Encodings of Symmetric Functions, Theory Comput. Sys. (2024).
  • [22] A. Haberlandt, H. Green, and M. J. H. Heule, Effective Auxiliary Variables via Structured Reencoding, in: Proc. Theory and Applications of Satisfiability Testing (SAT 2023), Alghero 2023, LIPIcs 271, Leibniz-Zentrum für Informatik, Dagstuhl 2023, pp. 11:1-11:19.
  • [23] H. Hadipour and M. Eichlseder, Autoguess: a tool for finding guess-and-determine attacks and key bridges, in: Proc. Applied Cryptography and Network Security (ACNS 2022), Rome 2022, LNCS 13269, Springer Nature Switzerland, Cham 2022, pp. 230–250.
  • [24] C. S. Han and J-H. R. Jiang, When Boolean satisfiability meets Gaussian elimination in a simplex way, in: Proc. Computer Aided Verification (CAV 2012), Berkeley 2012, LNCS 7358, Springer-Verlag, Berlin 2012, pp. 410–426.
  • [25] M. J. H. Heule, J. Matti, and A. Biere, Revisiting hyper binary resolution, in: Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems (CPAIOR 2013), LNCS 7874, Springer-Verlag, Berlin 2013, pp. 77–93.
  • [26] J. Horáček, Algebraic and logic solving methods for cryptanalysis, dissertation, Universität Passau, Passau 2020.
  • [27] J. Horáček and M. Kreuzer, Refutation of products of linear polynomials, in: Proc. Third Int. Workshop on Satisfiability Checking and Symbolic Computation (SC^2), Oxford 2018, available at http://ceur-ws.org/Vol-2189/.
  • [28] J. Horáček and M. Kreuzer, On conversions from CNF to ANF, J. Symbolic Comput. 100 (2020), 164–186.
  • [29] P. Jovanovic and M. Kreuzer, Algebraic attacks using SAT-solvers, Groups Complexity Cryptology 2 (2010), 247–259.
  • [30] M. Kreuzer and L. Robbiano, Computational Commutative Algebra 1, Springer-Verlag, Berlin 2000.
  • [31] F. Lafitte, J. Nakahara, and D. Van Heule, Applications of SAT solvers in cryptanalysis: finding weak keys and preimages, J. Satisf. Boolean Model. Comput. 9 (2014), 1–25.
  • [32] T. Laitinen, T. Junttila, and I. Niemelä, Conflict-Driven XOR-Clause Learning. in: Proc. Theory and Applications of Satisfiability Testing (SAT 2012), Trento 2012, LNCS 7317, Springer-Verlag, Berlin 2012, pp. 383–396.
  • [33] A. Leventi-Peetz, O. Zendel, W. Lennartz, and K. Weber, CryptoMiniSat switches-optimization for solving cryptographic instances, in: Proc. Pragmatics of SAT 2015 and 2018, EPiC Series in Computing 59, EasyChair 2019, pp. 79-93.
  • [34] I. Mironov and L. Zhang, Applications of SAT solvers to cryptanalysis of hash functions, in: Proc. Theory and Applications of Satisfiability Testing (SAT 2006), Seattle 2006, LNCS 4121, Springer-Verlag, Berlin 2006, pp. 102-115.
  • [35] M. W. Moskewicz, C. F. Madigan, Y. Zhao, L. Zhang, and S. Malik, Chaff: engineering an efficient SAT solver, in: Proc. Design Automation Conference (DAC), Las Vegas 2001, ACM, New York 2001, pp. 530-535.
  • [36] W. Nawrocki, Z. Liu, A. Fröhlich, M. J. H. Heule, and A. Biere, XOR local search for Boolean brent equations, in: Theory and Applications of Satisfiability Testing (SAT 2021), LNCS 12831, Springer Nature Switzerland, Cham 2021, pp. 417–435.
  • [37] R. Sebastiani and P. Trentin, OptiMathSAT: a tool for optimization modulo theories, J. Automat. Reason. 64 (2020), 423–460.
  • [38] M. Soos and K. S. Meel, BIRD: Engineering an efficient CNF-XOR SAT solver and its applications to approximate model counting, in: Proc. AIII Conference on Artificial Intelligence 2019, vol. 33, AIII Press, Palo Alto 2019, pp. 1592–1599.
  • [39] M. Soos, K. Nohl, and C. Castelluccia, Extending SAT solvers to cryptographic problems, in: Theory and Applications of Satisfiability Testing (SAT 2009), LNCS 5584, Springer-Verlag, Berlin 2009, pp. 244–257.
  • [40] R. Tarjan, Depth-first search and linear graph algorithms, SIAM J. Comput. 1 (1972), 146–160.
  • [41] M. Trimoska, S. Ionica, and G. Dequen, Parity (XOR) reasoning for the index calculus attack, in: Proc. Principles and Practice of Constraint Programming (CP 2020), Louvain-la-Neuve 2020, Springer Int. Publ., Cham 2020, pp. 774-790.