July 15, 2026
Stable Voting and Simple Stable Voting, introduced by Holliday and Pacuit, are Condorcet-consistent voting rules defined recursively: a candidate wins if they would win after removing some opponent they beat, taking the pair with the largest margin first. The computational complexity of winner determination under these rules has been an open question. We resolve this problem: winner determination is \(\mathsf{PSPACE}\)-complete under both Stable Voting and Simple Stable Voting.
Social choice studies the problem of aggregating individual preferences towards a collective decision. In the single-winner setting, a social choice function, or voting rule, maps a profile of voters’ preferences over a set of alternatives to a single winning alternative. Social choice functions are typically evaluated by the axioms they satisfy [1]. A central axiom in the field is Condorcet consistency, which states that whenever some candidate wins against every other in a head-to-head majority comparison, that candidate should be the unique winner. While Condorcet consistency is a compelling notion, majority comparisons can cycle: a majority may prefer \(A\) to \(B\), \(B\) to \(C\), and yet, \(C\) to \(A\). Hence, a Condorcet winner may not always exist. Rules that always output a Condorcet winner when one exists are called Condorcet consistent. Split Cycle, introduced by Holliday and Pacuit [2], and recently characterized axiomatically by Ding, Holliday, and Pacuit [3], is a Condorcet-consistent rule that resolves majority cycles using a simple principle: it considers every cycle of head-to-head majorities and deletes the edge with the smallest margin within that cycle; the winners are the candidates that remain undefeated according to the resulting relation (i.e., candidates with no incoming edges in the resulting defeat relation). Split Cycle satisfies a number of appealing axiomatic properties and can be computed in polynomial time, but it is not resolute: on some elections, it returns multiple winners.
Stable Voting (\(\mathrm{SV}\)) and Simple Stable Voting (\(\mathrm{SSV}\)), introduced by Holliday and Pacuit [4], refine Split Cycle into a resolute rule that selects a single winner. Both rules are defined recursively around the following principle: if a candidate \(A\) would win once another candidate \(B\) is removed, then it should win the whole election. Among such candidates, it selects the one with the largest \((A,B)\) margin. The two rules, \(\mathrm{SV}\)and \(\mathrm{SSV}\), differ only in which candidates they consider. \(\mathrm{SV}\)requires that candidates are undefeated according to Split Cycle, while \(\mathrm{SSV}\)does not have such a restriction. As a result, \(\mathrm{SV}\)always selects a winner among the Split Cycle winners, but that is not necessary for \(\mathrm{SSV}\)(there exists a counterexample with seven alternatives [5]). On any uniquely weighted tournament, both rules return a unique winner. \(\mathrm{SV}\)powers stablevoting.org, where it is used to run public polls on a daily basis.
The recursive definition of \(\mathrm{SV}\)and \(\mathrm{SSV}\)makes winner determination algorithmically challenging. To determine the winner of an \(n\)-candidate election, one must determine (at least naively) winners in many \((n-1)\)-candidate elections. A straightforward dynamic program over the candidate subsets runs in exponential time. In practice, this limits computation to elections of around 25 to 30 candidates [6], [7]. One might hope that this recursion can be bypassed using simple local features of the weighted tournament, such as the number of pairwise victories of each candidate. 1 shows that this is not the case. In the tournament shown, candidate \(c_1\) is nearly Condorcet: it beats ten of its fourteen opponents. Nevertheless, the winner is \(c_5\), which beats only one opponent. This also illustrates why the recursive structure cannot be replaced by a simple score-like proxy: even candidates that are locally dominant can lose, and candidates that look locally weak can win. In this paper, we resolve the computational complexity of \(\mathrm{SV}\)and \(\mathrm{SSV}\), previously posed as an open question [5], [6]: winner determination is PSPACE-complete under both rules.
We settle the computational complexity of winner determination for Stable Voting (\(\mathrm{SV}\)) and Simple Stable Voting (\(\mathrm{SSV}\)). We prove that, given a weighted tournament and a designated candidate, deciding whether that candidate is the winner is \(\mathsf{PSPACE}\)-complete for both rules. The hardness holds even for uniquely weighted tournaments, and even under the promise that the winner is one of two distinguished candidates, which we denote by \(C\) and \(D\).
The proof is by a reduction from \(\mathsf{TQBF}\). At a high level, the construction makes the recursion of winner-determination for \(\mathrm{SV}\)and \(\mathrm{SSV}\)simulate the recursive evaluation of a quantified Boolean formula. For each variable \(x_i\), the tournament contains two literal candidates, corresponding to setting \(x_i\) to true or false. The recursive deletion of one of these candidates encodes the choice of a truth value. The ordering of the relevant margins then implements the quantifier prefix: existential variables allow the recursion to select a branch favorable to \(C\), while universal variables allow \(D\) to win unless both branches are favorable to \(C\). Thus, the winner of the constructed tournament is \(C\) exactly when the quantified formula is true, and is \(D\) otherwise.
The main difficulty is that this simulation must be carried out inside a single complete weighted tournament. Since every pair of candidates has a specified comparison, the construction cannot isolate gadgets by omitting edges, as is often possible in graph-based reductions, nor can it rely on a simple global Condorcet-winner or Condorcet-loser structure. Moreover, the recursive rule examines many induced subtournaments, including subtournaments produced by deleting a candidate that the intended simulation would not delete. The auxiliary candidates therefore have to behave correctly not only on the intended prefix and full-assignment subtournaments, but also on the illegal subtournaments that arise from such deviations. We handle this using guard and clause candidates: guards prevent the recursion from leaving the space of legal partial assignments, while clause candidates check whether a completed assignment satisfies the formula.
We first prove \(\mathsf{PSPACE}\)-completeness for SSV, whose recursive definition is slightly simpler. We then show that the same construction also works for \(\mathrm{SV}\). Although \(\mathrm{SV}\)imposes the additional requirement that certain candidates be undefeated, we prove that this restriction does not change the outcome on the subtournaments relevant to our construction. Hence, \(\mathrm{SV}\)and \(\mathrm{SSV}\)agree on the instances produced by the reduction.
Conceptually, the result differs from the usual sources of high complexity in computational social choice. Many standard tournament solutions are polynomial-time computable, while others have \(\mathsf{NP}\)-hard or \(\mathsf{NP}\)-complete winner-membership problems; the tournament equilibrium set is known to be \(\mathsf{NP}\)-hard and in \(\mathsf{PSPACE}\), but no matching \(\mathsf{PSPACE}\)-hardness result is known [8]–[10]. Nearby \(\mathsf{PSPACE}\)-hardness results typically obtain their power from succinct or combinatorial preference representations, online or candidate-sequential elections, or explicit strategic game structure [11]–[14]. Here, by contrast, the alternation of the \(\mathsf{TQBF}\)instance is generated internally by the recursive winner-determination procedure itself. To the best of our knowledge, this is the first \(\mathsf{PSPACE}\)-completeness result for winner determination by a natural voting rule on an explicitly represented complete weighted tournament.
Voting rules based on pairwise comparisons differ in how much information from the weighted majority tournament they use [15], [16]. Tournament solutions such as Copeland, the Smith set, the uncovered set, the Banks set, and the tournament equilibrium set (TEQ) depend only on the orientation of the majority relation [17]–[21]. By contrast, Kemeny, Minimax, Ranked Pairs, and Beat Path additionally use the magnitudes of the pairwise margins [22]–[25], as does Split Cycle, which deletes the victories that are weakest on a cycle and returns the candidates that remain undefeated [2], [3]. Stable Voting and Simple Stable Voting are margin-based rules that recursively check claims of the form that \(A\) wins after \(B\) is removed. Like the rules above, however, they depend only on the relative ordering of the pairwise margins [4], [5].
The systematic study of computational complexity in voting was initiated by Bartholdi, Tovey, and Trick. They showed that winner determination under the rules of Dodgson and Kemeny is \(\mathsf{NP}\)-hard [26]. In follow-up work, they studied the computational hardness of strategic manipulation [27] and subsequently introduced the complexity-theoretic study of electoral control [28]. These initial hardness results were later sharpened to exact complexity characterizations: winner determination for Dodgson, Kemeny, and Young elections is complete for \(\Theta_2^p=\mathsf{P}^{\mathsf{NP}}_{\parallel}\), the class of problems solvable in polynomial time using parallel queries to an \(\mathsf{NP}\)oracle [29]–[31]. Among tournament solutions, deciding whether a designated candidate is a Banks winner is \(\mathsf{NP}\)-complete [9], while deciding membership in the recursively defined tournament equilibrium (TEQ) set is \(\mathsf{NP}\)-hard and belongs to \(\mathsf{PSPACE}\)[10].
Hardness also arises when a voting rule permits multiple outcomes through tie-breaking. Brill and Fischer showed that, for Tideman’s original neutral formulation of Ranked Pairs, deciding whether a designated candidate is a Ranked Pairs winner is \(\mathsf{NP}\)-complete, even though one Ranked Pairs winner can be found in polynomial time [24], [32]. Under parallel-universe tie-breaking, deciding whether a candidate can win is also \(\mathsf{NP}\)-complete for Single Transferable Vote (STV) and Ranked Pairs; Wang et al.give practical search and integer-programming algorithms for computing these winner sets [33]. Boehmer, Bredereck, and Peters give a fine-grained and parameterized analysis of related winner- and position-determination problems for sequential scoring rules, including STV, Coombs, and Baldwin [34].
The closest \(\mathsf{PSPACE}\)-completeness results in computational social choice concern problems with an explicit online, sequential, or strategic component. Hemaspaandra, Hemaspaandra, and Rothe show that online manipulation in sequential elections can be \(\mathsf{PSPACE}\)-complete, even for election systems with computationally simple winner problems [12]. The same authors subsequently show that online candidate control in candidate-sequential elections can also be \(\mathsf{PSPACE}\)-complete [13]. More recently, Cleveland, de Keijzer, and Polukarov show that deciding whether a subgame-perfect equilibrium exists in a sequential primary election is \(\mathsf{PSPACE}\)-complete [14]. In each of these settings, the complexity arises from an explicit sequence of strategic or irrevocable choices.
We study the computational complexity of winner determination in Stable Voting (SV) and Simple Stable Voting (SSV). Voting rules are typically defined on voting profiles (a set of candidates, a set of voters, and the voters’ preferences over the candidates). For our purposes, however, it is more convenient to work directly with the pairwise majority margins induced by a voting profile, which contain all the information necessary to compute the winner in SV and SSV. We represent these margins by a skew-symmetric weighted tournament:
Definition 1 (Skew-symmetric weighted tournament). A skew-symmetric weighted tournament* is a pair \(G=(V,w)\), where \(V\) is a finite set of candidates and \(w:V\times V\to\mathbb{Z}\) satisfies, for all distinct \(A,B\in V\), \[w(A,B)=-w(B,A) \qquad\text{and}\qquad w(A,B)\neq 0.\] We refer to \(w(A,B)\) as the weight of the arc \(A\to B\).*
We say that \(G\) is uniquely weighted if all values \(w(A,B)\), over ordered pairs \(A\neq B\), are distinct. Throughout the paper, we refer to skew-symmetric weighted tournaments simply as weighted tournaments. In figures, we draw only the positive-weight edge between each pair of candidates; the reverse edge, with the opposite weight, is implicit.
For a candidate \(A\in V\), let \(G\setminus\{ A \}\) denote the weighted tournament obtained from \(G\) by deleting \(A\) and all of its incident edges. More generally, for \(S\subseteq V\), let \(G\setminus S\) denote the subtournament induced by \(V\setminus S\). For a subset \(S\subseteq V\), let \(G_{S}\) denote the subtournament induced by \(S\).
Stable Voting and Simple Stable Voting depend only on the relative order of the pairwise margins. Therefore, the winner of a voting profile can be computed from its induced weighted tournament, which can itself be computed from the profile in polynomial time. Conversely, any realizable weighted tournament can be converted in polynomial time into a voting profile inducing it (see 7).
It is therefore without loss of generality to state our hardness reduction directly in terms of weighted tournaments. In our construction, for simplicity, the positive weights are \((1,\ldots,\binom{|V|}{2})\), so the resulting tournament need not be realizable as written. This is also without loss. Multiplying all weights by the same positive constant preserves the relative order of the margins, and hence preserves the winner under Stable Voting and Simple Stable Voting. Thus, after multiplying all weights by \(2\), the constructed tournament has the same winner and can be realized by a voting profile.
We now define Stable Voting and Simple Stable Voting recursively on weighted tournaments.
Definition 2 (Simple Stable Voting [4]). Let \(G=(V,w)\) be a weighted tournament. The winner \(\mathrm{SSV}(G)\in V\) is defined recursively as follows.
If \(G\) has a unique candidate \(A\), then \(\mathrm{SSV}(G):=A\).
Otherwise, consider all ordered pairs \((A,B)\) of distinct candidates in decreasing order of \(w(A,B)\). Let \((A,B)\) be the first pair such that \(\mathrm{SSV}(G\setminus\{B\})=A\). Then \(\mathrm{SSV}(G):=A\).
To define SV, we first need to define the notion of a defeat:
Definition 3 (\(B\) does not defeat \(A\)). Let \(G=(V,w)\) be a weighted tournament and let \(A, B \in V\) be two (distinct) candidates. We say that \(B\) does not defeat \(A\) if there exists a directed path \(A = x_0, x_1, \dots, x_t=B\) in \(G\) such that \[w(x_i,x_{i+1}) \ge w(B,A) \qquad\text{for all } i\in\{0,\dots,t-1\}.\] If no such path exists, then \(B\) defeats \(A\). We say that \(A\) is undefeated in \(G\) if no candidate defeats \(A\); equivalently, \(B\) does not defeat \(A\) for every \(B \in V \setminus \{A\}\).
Note that for two distinct candidates \(A\) and \(B\), it is possible that neither is defeated by the other; that is, \(B\) does not defeat \(A\) and \(A\) does not defeat \(B\) may hold at the same time. For instance, suppose \(w(A,B)>0\). Then \(B\) does not defeat \(A\), since the edge \(A\to B\) already satisfies the condition, and in fact this holds for any positive edge. If the remaining weights also give a directed path from \(B\) back to \(A\) in which every edge has weight at least \(w(A,B)\), then \(A\) does not defeat \(B\) as well. However, it is not possible that \(A\) defeats \(B\) and \(B\) defeats \(A\).
Definition 4 (Stable Voting [4]). Let \(G=(V,w)\) be a weighted tournament. The winner \(\mathrm{SV}(G)\in V\) is defined recursively as follows.
If \(G\) has a unique undefeated candidate \(A\), then \(\mathrm{SV}(G):=A\).
Otherwise, consider all ordered pairs \((A,B)\) such that \(A\) is undefeated, in decreasing order of \(w(A,B)\). Let \((A,B)\) be the first pair such that \(\mathrm{SV}(G\setminus\{B\})=A\). Then \(\mathrm{SV}(G):=A\).
Both \(\mathrm{SV}\)and \(\mathrm{SSV}\)have a winner, and, in fact, a unique winner when the tournament is uniquely weighted. Their distinction is based on whether the winner is undefeated, and it might result in a different winner between the two rules. By definition, the \(\mathrm{SV}\)winner is always among the undefeated candidates, whereas the \(\mathrm{SSV}\)winner need not be. 2 shows the smallest such example [5], with seven candidates, in which the \(\mathrm{SSV}\)winner \(a\) is defeated, while the undefeated candidates are \(b\), \(c\), and \(d\). Hence, \(\mathrm{SV}\)and \(\mathrm{SSV}\)select different winners here.
The recursive definition of \(\mathrm{SSV}\) scans candidate pairs in decreasing order of weight and selects the first pair \((A,B)\) such that \(\mathrm{SSV}(G\setminus\{ B \})=A\). Therefore, the winner is “determined” by an edge of the form \(A\to B\). We extend this idea to the subtournament induced after removing an arbitrary candidate \(U\in V(G)\). For weighted tournaments where all weights are unique, \(G\setminus\{U\}\) has a unique winner [4], and thus the relevant edge is of the form \(\mathrm{SSV}(G\setminus\{U\})\to U\). We call this the critical edge of \(U\). Formally:
Definition 5 (Critical edge). Let \(G=(V,w)\) be a weighted tournament. For each candidate \(B\in V\), the critical edge of \(B\) is the directed edge \(\mathrm{SSV}(G\setminus\{B\})\to B\) (with possibly negative weight). We denote the set of all critical edges by \[\mathsf{CE}_{\mathrm{SSV}}(G):=\{\,(\mathrm{SSV}(G\setminus\{B\}),B): B\in V\,\}.\]
Analogously, for Stable Voting, the critical edges are defined
\[\mathsf{CE}_{\mathrm{SV}}(G):=\bigl\{\,(\mathrm{SV}(G\setminus\{B\}),B): B\in V \text{ and } \mathrm{SV}(G\setminus\{B\}) \text{ is undefeated in } G\,\bigr\}.\]
This notion is crucial for our proofs, because it allows us to reason about a set of size at most \(|V|\) (the set of critical edges; at most one for each candidate1) instead of all \(\Theta(|V|^2)\) edges of \(G\). In particular, after identifying all critical edges, \(\mathrm{SSV}(G)\) and \(\mathrm{SV}(G)\) are determined by the maximum-weight critical edge.
The recursive definition of \(\mathrm{SV}\) and \(\mathrm{SSV}\) not only identifies the winner, but also determines a sequence of candidates that are removed one by one along the unique successful recursive branch. Starting from \(G\), the maximum-weight critical edge selects the first candidate to remove; applying the same rule to the resulting subtournament selects the next candidate to remove; and so on, until only the winner remains. We refer to this sequence as the elimination order. Formally,
Definition 6 (Elimination order). Let \(G\) be a uniquely weighted tournament and let \(\mathrm{SSV}(G)=A\). Define a sequence of subtournaments \(H_0,H_1,\dots,H_{|V|-1}\) recursively by setting \(H_0:=G\), and for each \(i\in\{1,\dots,|V|-1\}\), letting \(A\to B_i\) be the (possibly negatively weighted) maximum-weight critical edge of \(H_{i-1}\) and setting \(H_i := H_{i-1}\setminus\{ B_i\}.\) The resulting sequence \[B_1,B_2,\dots,B_{|V|-1}\] is called the elimination order of \(A\) in \(G\).
To illustrate the recursive winner determination, consider the uniquely weighted tournament \(G\) on candidates \(V=\{a,b,c,d\}\) shown in 3.
To determine \(\mathrm{SSV}(G)\), we compute the critical edge associated with each candidate \(v\in V\). Namely, for each \(v\), we first recursively determine the winner of the subtournament \(G\setminus\{v\}\), and then form the critical edge \(\mathrm{SSV}(G\setminus\{v\})\to v\). Since \(G\) is uniquely weighted, \(\mathrm{SSV}(G)\) is determined by the (unique) maximum-weight critical edge. Observe that the critical edge is always from the winner of the subtournament to the candidate removed from \(G\), even if the original edge is in the other direction (in which case the critical edge has a negative weight).
Four 3-candidate subtournaments result from the removal of a candidate in \(G\). For these subtournaments, the winner is easy to identify. If there is a Condorcet winner, they win. Otherwise, the three candidates form a directed cycle, and the winner is the candidate with the incoming edge that has the smallest weight. This follows directly from the recursive definition of \(\mathrm{SSV}\). 4 shows the subtournament winners and the corresponding critical edges.
Among the four critical edges shown in 4, the maximum-weight one is \(a\to d\), with weight \(3\). Therefore, the winner is \(a.\) To determine the elimination order, we recurse on the subtournament induced by removing \(d\) ([fig:G-d]). In the subtournament with candidates \(\{a,b,c\}\), each critical edge is again obtained by removing a candidate and taking the winner of the resulting two-candidate subtournament (the candidate with the outgoing edge). Hence, the critical edges are \(a\to c\) with weight \(-4\) (which we get from removing \(c\) from \(\{a,b,c\}\)), \(c\to b\) with weight \(-5\) (which we get from removing \(b\) from \(\{a,b,c\}\)), and \(b\to a\) with weight \(-6\) (which we get from removing \(a\) from \(\{a,b,c\}\)). The maximum among those is \(a\to c\) (observe that the maximum weight here is negative), so \(c\) is removed next. Finally, on the remaining subtournament \(\{a,b\}\), the winner is \(a\), so \(b\) is removed. Thus, \(\mathrm{SSV}(G)=a\), with elimination order \([d,c,b]\).
We prove hardness for SV and SSV by reducing from \(\mathsf{TQBF}\)(true quantified Boolean formula), the canonical \(\mathsf{PSPACE}\)-complete problem of deciding the truth of a fully quantified Boolean formula. An instance of \(\mathsf{TQBF}\)is a quantified Boolean formula expression of the form \[\Phi = Q_1x_1Q_2x_2\ldots Q_nx_n \;\varphi(x_1,x_2,\ldots,x_n)\] where each quantifier \(Q_i\) is either \(\exists\) or \(\forall\) and \(\varphi(x_1,x_2,\ldots,x_n)\) is a Boolean formula without quantifiers. Since all variables have a quantifier (i.e., there are no free variables), \(\Phi\) is either true or false. The problem \(\mathsf{TQBF}\) asks whether a given \(\mathsf{QBF}\) is true. In this paper, we assume that \(\varphi\) is in CNF form (\(\mathsf{TQBF}\)remains \(\mathsf{PSPACE}\)-complete under this assumption [35]), namely, \(\varphi = C_1 \wedge C_2 \wedge \cdots \wedge C_m\), where each clause \(C_j\) is a disjunction of literals. We assume without loss of generality that no clause contains both \(x_i\) and \(\neg x_i\) for any variable \(x_i\), and that duplicate literals have been removed. Indeed, tautological clauses may simply be deleted from the CNF formula.
In 3.1, we describe the weighted tournament \(G(\Phi)\) constructed from a given \(\mathsf{TQBF}\)instance \(\Phi\). In 3.2, we introduce several auxiliary definitions for \(G(\Phi)\) that are used in the analysis. In 4 we prove that \(\mathrm{SSV}\)is \(\mathsf{PSPACE}\)-hard; in 5 we extend our proof to \(\mathrm{SV}\). For simplicity, we focus our discussion on \(\mathrm{SSV}\)for the remainder of this section.
Fix a \(\mathsf{TQBF}\)instance \(\Phi = Q_1 x_1 \cdots Q_n x_n\; \varphi(x_1,\ldots,x_n)\) with \(n\) variables and \(m\) clauses, where \(\varphi\) is in CNF form. Our reduction constructs a uniquely weighted tournament \(G(\Phi)=(V(\Phi),w(\Phi))\). We have two designated candidates, \(C\) (winner) and \(D\) (loser), that encode whether the formula \(\Phi\) is trueor false. For each variable \(x_i\) (of \(\Phi\)), we have two candidates \(T_i,F_i\) for the two possible values of \(x_i\) and a “guard” \(X_i\). We refer to the candidates \(T_i\) and \(F_i\) as the literal candidates, or simply the literals, for variable \(x_i\). Finally, for each clause \(C_k\), we have a clause candidate \(L_k\). Formally, \[V(\Phi)\;=\;\{C,D\}\;\cup\;\{L_k:k\in[m]\}\;\cup\;\{T_i,F_i,X_i:i\in[n]\}.\]
[margin_groups] describes the rest of the construction, i.e., the orientation and weights of the edges of \(G(\Phi)\). Within each group, edges indexed by variables (“for all \(i \in [n]\)”) are ordered by increasing variable index, and edges indexed by clauses (“for all \(k\in[m]\)”) are ordered by increasing clause index; earlier edges in this order receive larger weights. Note that this construction can be done in polynomial time (\(|V| = 3n+m+2\) and \(|E| \in O((n + m)^2)\), and each edge is oriented and weighted by one of the explicit rules below).
We prove that \(C\) and \(D\) are the only two candidates that can win in \(G(\Phi)\). The remaining candidates have supporting roles that are easier to understand through the way \(\mathrm{SSV}\)computes the winner. Recall that \(\mathrm{SSV}\)is recursive, determining the winner by deleting one candidate at a time and recursing on the resulting subtournament. The truth value of a quantified formula is also evaluated recursively, fixing the variables one by one in the order of the quantifier prefix. Our construction makes these two recursions mirror each other. In the context of \(\mathrm{SSV}\), a variable \(x_i\) (of \(\Phi\)), corresponding to the candidate group \(i\) in \(G(\Phi)\), namely \(\{T_i,F_i,X_i\}\), is “assigned” a value (true/false) by deleting one of its two literals and recursing on the resulting subtournament. The remaining literal corresponds to the value being assigned to \(x_i\). The guards \(X_i\) ensure that this mirroring stays faithful, preventing the recursion from reaching “illegal” subtournaments in which both literals of a variable are deleted before the remaining variables are set. The \(\mathrm{SSV}\)recursion thus first sets all the variables, one by one, and then evaluates the resulting assignment. If the assignment satisfies the formula, then the winner is \(C\); otherwise, it is \(D.\) The formula is satisfied by an assignment (where exactly one literal \(\ell_i\) from each variable \(i\) is left) if each \(L_k\) candidate has at least one edge \(\ell_i\toL_k\) with positive weight. While the recursion is still setting variables, each subtournament it reaches encodes a partial assignment whose winner is \(C\) or \(D\) according to whether the formula is trueor falsegiven that assignment. At the top level, this gives \(\mathrm{SSV}(G(\Phi)) = C\) when \(\Phi\) is trueand \(\mathrm{SSV}(G(\Phi)) = D\) when \(\Phi\) is false. The orientation and the weights of the edges dictate the order in which \(\mathrm{SSV}\)examines candidates, and hence the winner it selects. The weights are chosen precisely so that this order achieves the behavior described above: fixing the variables along the quantifier prefix and yielding \(C\) or \(D\) according to the truth value at each step.
Directed edges of \(G(\Phi)\) in decreasing priority
\(C,D\) to literals: for all \(i\in[n]\), for each variable \(x_i\), the quantifier \(Q_i\) determines the relative order of the edges in this group:
if \(Q_i=\exists\), then \(C\rightarrow F_i,C\rightarrow T_i\), and \(D\rightarrow F_i,D\rightarrow T_i\).
if \(Q_i=\forall\), then \(D\rightarrow F_i,D\rightarrow T_i\), and \(C\rightarrow F_i,C\rightarrow T_i\).
Literals to their own guard: for all \(i\in[n]\), \(F_i\rightarrow X_i\) and \(T_i\rightarrow X_i\).
Literals to clauses that contain them: for clause \(k\in[m]\) and variable \(i\in[n]\).
If \(x_i\) appears positively in \(C_k\), then \(T_i\rightarrow L_k\).
If \(x_i\) appears negatively in \(C_k\), then \(F_i\rightarrow L_k\).
Clauses to literals not in them: for clause \(k\in[m]\) and variable \(i\in[n]\).
If \(x_i\) appears positively in \(C_k\), then \(L_k\rightarrow F_i\).
If \(x_i\) appears negatively in \(C_k\), then \(L_k\rightarrow T_i\).
If \(x_i\) does not appear in \(C_k\), then \(L_k\rightarrow F_i\) and \(L_k\rightarrow T_i\).
Guards to other literals: for all \(i\neq j\), \(X_i\rightarrow F_j\) and \(X_i\rightarrow T_j\).
Guards to clauses: for all \(i\in[n],k\in[m]\), \(X_i\rightarrow L_k\).
Clauses to \(C\) then \(D\) to clauses: for all \(k\in[m]\), \(L_k\rightarrow C\) and then for all \(k\in[m]\), \(D\rightarrow L_k\).
Guards to \(C\) then \(D\): for all \(i\in[n]\), \(X_i\rightarrow C\) and \(X_i\rightarrow D\).
Total order on literals:2 for all \(i\in[n]\), \(F_i\rightarrow T_i\), and for all \(i<j\), \[F_i\rightarrow F_j,\quad F_i\rightarrow T_j,\quad T_i\rightarrow F_j,\quad T_i\rightarrow T_j.\]
Total order on guards: for all \(i<j\), \(X_i\rightarrow X_j\).
Total order on clauses: for all \(k<k'\), \(L_k\rightarrow L_{k'}\).
Designated candidates: \(C\rightarrow D\).
5 gives a high-level view of the construction, organizing the edges into groups by the types of candidates they connect.
Fix a formula \(\Phi\) with \(n\) variables and \(m\) clauses, and let \(G(\Phi)=(V(\Phi),w(\Phi))\) be the tournament produced by the construction in 3.1. Here, we introduce some notation specific to the construction that will be used in the proofs.
We begin with a property of an induced subtournament that captures whether some guard \(X_i\) is still present while both of its corresponding literals, \(T_i\) and \(F_i\), are absent. If such a guard exists, the induced subtournament is “illegal”, since both \(T_i,F_i\) have been removed before its guard. The following definition returns the smallest such index, or \(0\) if no such guard exists.
Definition 7 (First uncovered guard). Let \(H\) be an induced subtournament of \(G(\Phi)\). Define \[\mathrm{FirstX}(H) := \min\bigl\{ i\in[n]: X_i\in V(H),\; T_i, F_i \notin V(H)\bigr\},\] with \(\mathrm{FirstX}(H)=0\) if the set is empty.
Recall that both \(\mathsf{TQBF}\)and \(\mathrm{SSV}\)process the quantified formula in order of the variables, setting one at a time. We define the prefix assignment where the first \(j-1\) variables are set, and the remaining variables are still unresolved. Formally,
Definition 8 (Prefix assignments and chosen literals). For \(j\in\{1,\dots,n+1\}\), a prefix assignment of length \(j-1\) is an assignment \[\alpha_{< j}\in\{T,F\}^{j-1}\] to the first \(j-1\) variables \(x_1,\dots,x_{j-1}\) in the quantifier prefix. We denote the empty assignment by \(\alpha_{<1}\). A prefix assignment of length \(n\) is a full assignment.
For a prefix assignment \(\alpha_{< j}\) and each \(i\in[j-1]\), define the chosen literal node as \[\ell_i(\alpha_{< j}) := \begin{cases} T_i, & \text{if } (\alpha_{< j})_i = T,\\[1mm] F_i, & \text{if } (\alpha_{< j})_i = F. \end{cases}\] For a full assignment \(\alpha=\alpha_{< n+1}\), we simply write \(\ell_i(\alpha)\) instead of \(\ell_i(\alpha_{<n+1})\).
A prefix assignment naturally induces a subtournament of the construction: for each assigned variable, keep only the chosen literal (denoted by \(\ell_i\)), while for each unassigned variable, keep both literals. The subtournament additionally contains the designated candidates \(C,D\), and all the guards (\(X_i\)’s) and clause (\(L_k\)’s) candidates.
Definition 9 (Prefix graph, Full-assignment graph). Let \(\alpha_{< j}\) be a prefix assignment of length \(j-1\). Define \[S_{\alpha_{< j}} := \{C,D\} \cup \{L_k : k\in[m]\} \cup \{X_i : i\in[n]\} \cup \{\ell_i(\alpha_{< j}) : i\in[j-1]\} \cup \{T_i,F_i : i\in[n]\setminus [j-1]\}.\] The induced subtournament \[G_{\alpha_{< j}} := G(\Phi)_{S_{\alpha_{< j}}}\] is called the prefix graph associated with \(\alpha_{< j}\). For a full assignment \(\alpha=\alpha_{< n+1}\), the prefix graph \(G_{\alpha}\) is called the full-assignment graph associated with \(\alpha\).
Next, we define a special type of induced subtournament, called an admissible graph, used throughout the intermediate claims. These are the graphs the \(\mathrm{SSV}\)recursion reaches after a full-assignment graph (as it keeps deleting candidates). Intuitively, an admissible graph represents a partial assignment on a subset of variables, where each variable has at most one of its two literals present. We further impose \(\mathrm{FirstX}(\cdot)=0\) to guarantee the assignment is legal, so that every present guard is paired with exactly one of its literals. The converse need not hold, as a present literal may have no corresponding guard. Aside from literals and guards, it may also contain the designated candidates \(C\) and \(D\) along with an arbitrary subset of clauses.
Definition 10 (Admissible graph). An induced subtournament \(H\) of \(G(\Phi)\) is an admissible graph if \(\mathrm{FirstX}(H)=0\) and, for every \(i\in[n]\), at most one of \(\{T_i,F_i\}\) is in \(V(H)\).
For an admissible graph \(H\), write \(\ell_i(H)\) (or \(\ell_i\) when the context makes it clear) for the unique literal in \(V(H)\cap\{T_i,F_i\}\) when such a literal is present.
The above definitions capture different stages of the subtournaments during the \(\mathrm{SSV}\)recursion. First, while the variables are being set, we prove that it stays on prefix graphs until it reaches a full-assignment graph, where all variables are set. From there on, it continues on admissible graphs, which become smaller at every step. We note that the set of prefix graphs intersects the set of admissible graphs at the set of full-assignment graphs. 6 shows examples of each type.
Finally, for an admissible graph \(H\), we define a property that captures whether the partial assignment satisfies the clauses present in \(H\). Recall a clause \(L_k\) in \(H\) is satisfied if there exists an \(\ell_i\) such that \(\ell_i\toL_k\) has a positive weight. If there exists an unsatisfied clause in \(H\), we define \(\mathrm{FirstUnsat}(H)\) as the clause with the smallest index. If all clauses are satisfied, \(\mathrm{FirstUnsat}(H)=0.\) Formally,
Definition 11 (First unsatisfied clause). Let \(H\) be an admissible graph. Define \[\mathrm{FirstUnsat}(H):= \min\Bigl\{\, k\in[m]: L_k\in V(H) \text{ and } \nexists i\in[n] \text{ such that } \ell_i\text{ is defined and }w(\ell_i,L_k)>0 \,\Bigr\},\] with \(\mathrm{FirstUnsat}(H)=0\) if the set is empty.
An admissible graph \(H\) is SAT if \(\mathrm{FirstUnsat}(H)=0\), and UNSAT otherwise.
In this section, we prove our main theorem, \(\mathsf{PSPACE}\)-completeness for winner determination in Simple Stable Voting. Here, by winner determination we mean the following decision problem: given a weighted tournament \(G\) and a candidate \(A\), decide whether \(\mathrm{SSV}(G)=A\). We extend the proof to Stable Voting in 5.
Theorem 1. Winner determination for Simple Stable Voting is \(\mathsf{PSPACE}\)-complete.
Proof of 1. Membership in \(\mathsf{PSPACE}\)is clear from the recursive definition of \(\mathrm{SSV}\). Given a weighted tournament \(G\) on \(N\) candidates, we can compute \(\mathrm{SSV}(G)\) using a depth-first recursion: scan the ordered pairs \((A,B)\) in decreasing order of \(w(A,B)\), recursively compute \(\mathrm{SSV}(G\setminus\{B\})\), and return the first \(A\) for which \(\mathrm{SSV}(G\setminus\{B\})=A\). Each recursive call removes one candidate, so the recursion depth is at most \(N\). At each level, it suffices to store the current subtournament, the current pair being scanned, and the returned candidate, all of which require only polynomially many bits. Thus, the recursion uses only polynomial space.
In the remainder of this proof, we show that, given a QBF formula \(\Phi\), in the tournament \(G(\Phi)\) produced by the construction in 3.1, \(\mathrm{SSV}(G(\Phi))=C\) if and only if \(\Phi\) is true. Otherwise, \(\mathrm{SSV}(G(\Phi))=D\).
The \(\mathrm{SSV}\)rule determines a winner by processing the edges in decreasing order of weight; hence, the first edges to be considered are from \(C,D\) to the literals since they are in the largest weight group (\(\mathsf g1\)). It is thus sufficient to show that the winner of the subtournament without one of those literals is \(C\) if the residual \(\mathsf{QBF}\)is true or \(D\) otherwise, and that the residual tournament respects the \(\mathsf{QBF}\)encoding.
To encode the \(\mathsf{QBF}\)formula at every step of the \(\mathrm{SSV}\)recursion, we need to maintain a valid prefix-assignment such that the winner (of the induced subtournament) correctly encodes the truth of the residual \(\mathsf{QBF}\). As we establish in [lem:guards], for each variable \(x_i\), the guard \(X_i\) prevents the deletion of both \(T_i\) and \(F_i\) before the recursion reaches a full assignment; in particular, \(X_i\) wins if both literals are removed, preventing \(C\) or \(D\) from winning.
lemmaXLemma Let \(G\) be an induced subtournament of the constructed tournament \(G(\Phi)\). Then, for \({i^*}\in[n],\) \[\mathrm{SSV}(G)=X_ {i^*}\iff \mathrm{FirstX}(G)= {i^*}.\]
[lem:sat-C-wins,lem:unsat-D-wins] show that when the recursion reaches a full assignment, the winner is the same as the truth value of \(\Phi\) (for that assignment).
lemmaSATLemma Let \(\alpha\in\{T,F\}^n\) be a full assignment to the variables of \(\varphi\) and let \(G_\alpha\) be the corresponding full-assignment graph (9). If \(\alpha\) satisfies \(\varphi\), then \(\mathrm{SSV}(G_\alpha)=C\).
lemmaUNSATLemma Let \(G\) be an admissible subtournament of \(G(\Phi)\) such that \(C,D\in V(G)\). If at least one clause candidate present in \(G\) is unsatisfied in \(G\), equivalently, \(\mathrm{FirstUnsat}(G)\neq 0\), then \(\mathrm{SSV}(G) = D\). In particular, if \(\alpha\in\{T,F\}^n\) is a full assignment that does not satisfy \(\varphi\), then \(\mathrm{SSV}(G_\alpha)=D\).
We prove [lem:guards,lem:sat-C-wins,lem:unsat-D-wins] in [subsec:gadget-proofs,subsec:winnerofafullassignmentCD].
The proof proceeds by backward induction on prefix assignments, where the base case is a full assignment. For a prefix assignment \(\alpha_{< j}\in\{T,F\}^{j-1}\), let \(\Phi_{\alpha_{<j}}\) denote the residual QBF obtained from \(\Phi\) after fixing the first \(j-1\) variables according to \(\alpha_{<j}\). For \(j\in\{1,\ldots,n+1\}\), consider the following statement: \[P(j): \text{ for every prefix assignment } \alpha_{< j} \text{ of length } j-1,\, \mathrm{SSV}(G_{\alpha_{< j}}) = \begin{cases} C& \text{ if \Phi_{\alpha_{< j}} is true}\\ D& \text{ otherwise.} \end{cases}\] We prove \(P(j)\) for all \(j\in\{1,\ldots,n+1\}\) by backward induction.
When \(j=n+1\), the prefix assignment is a full assignment. Let \(\alpha=\alpha_{<n+1}\) and \(G_\alpha\) be the full-assignment graph. If \(\alpha\) satisfies \(\varphi\), then by [lem:sat-C-wins], \(\mathrm{SSV}(G_\alpha)=C\). If \(\alpha\) does not satisfy \(\varphi\), then by [lem:unsat-D-wins], \(\mathrm{SSV}(G_\alpha)=D\). Thus \(P(n+1)\) holds.
Assume \(P(j+1)\) holds for some \(0< j\le n\); we show that \(P(j)\) holds. Fix an arbitrary prefix assignment \(\alpha:=\alpha_{< j}\), and let \(G_\alpha\) be the corresponding prefix graph. The residual \(\mathsf{QBF}\)has variables \(x_1\ldots x_{j-1}\) set according to \(\alpha\) and \(Q_jx_j\) is the first quantified variable. Hence, we need to show that the winner of \(G_\alpha\) correctly encodes the truth of the residual formula \(\Phi_\alpha\) based on \(Q_j\).
To determine \(\mathrm{SSV}(G_\alpha)\), we must identify the largest critical edge of \(G_\alpha\). Recall that the \(\mathrm{SSV}\)rule processes the edges in decreasing order of weight. We show that (i) the edges \(C,D\to T_i,F_i\) are not critical edges for all \(i<j\) (these are the heaviest edges in \(G_\alpha\), since weight decreases as the index \(i\) increases), and then (ii) the largest critical edge is one of \(C\toT_j\) and \(C\toF_j\) if \(\Phi_\alpha\) is true, and the largest critical edge is one of \(D\toT_j,F_j\) if \(\Phi_\alpha\) is false, thus producing the correct winner in each case.
(i) For every \(i<j\), exactly one of \(\{T_i,F_i\}\) is present in \(G_\alpha\); let that be \(\ell_i\). Observe that none of the edges \(C\to\ell_i\) and \(D\to\ell_i\) are critical, since deleting \(\ell_i\) makes \(\mathrm{FirstX}(G_\alpha\setminus\{\ell_i\})=i\), and thus, by [lem:guards], \(\mathrm{SSV}(G_\alpha\setminus\{\ell_i\})=X_i\) (that is, the critical edge produced by deleting \(\ell_i\) is \(X_i\to\ell_i\)).
(ii) The next edges in group \(\mathsf g1\) to be considered are the four from \(C,D\) to \(F_j,T_j\), whose order depends on the quantifier \(Q_j\). Let \(\alpha^T\) and \(\alpha^F\) be the two extensions of \(\alpha\) setting \(x_j=T\) and \(x_j=F\), respectively. Then \(G_\alpha\setminus\{F_j\}\) and \(G_\alpha\setminus\{T_j\}\) are the prefix graphs corresponding to \(\alpha^T\) and \(\alpha^F\), respectively. Since these extensions have length \(j\), the induction hypothesis applies to both graphs, so each is won by either \(C\) or \(D\) according to the truth value of the corresponding residual formula. Thus, among the four edges from \(C\) and \(D\) to \(F_j\) and \(T_j\), exactly two are critical, one for each deletion. By part (i), all earlier group \(\mathsf g1\) edges have already been ruled out, so the largest critical edge of \(G_\alpha\) is the first critical edge among these four.
- **(Case $Q_j=\exists$)** Recall that in group $\mathsf g1$, if
the quantifier is $\exists$, then the order of the edges between
$C,D$ and $T_j,F_j$ is
$$C\toF_j\quad > \quadC\toT_j\quad > \quadD\toF_j\quad > \quadD\toT_j$$
Since $Q_j=\exists$, $\Phi_\alpha$ is true exactly when at least
one of the two graphs above is won by $C$. In that case, the
largest critical edge among the four is a $C$-edge. If both
graphs are won by $D$, then neither $C$-edge is critical, so the
largest critical edge is $D\toF_j$. Thus
$\mathrm{SSV}(G_\alpha)=C$ if and only if $\Phi_\alpha$ is true,
and otherwise $\mathrm{SSV}(G_\alpha)=D$.
- **(Case $Q_j=\forall$)** Recall that in group $\mathsf g1$, if
the quantifier is $\forall$, then the order of the edges between
$C,D$ and $T_j,F_j$ is
$$D\toF_j\quad > \quadD\toT_j\quad > \quadC\toF_j\quad > \quadC\toT_j$$
Since $Q_j=\forall$, $\Phi_\alpha$ is true exactly when both
graphs above are won by $C$. If at least one of the two graphs is
won by $D$, then the largest critical edge among the four is a
$D$-edge. If both graphs are won by $C$, then neither $D$-edge is
critical, so the largest critical edge is $C\toF_j$. Thus
$\mathrm{SSV}(G_\alpha)=C$ if and only if $\Phi_\alpha$ is true,
and otherwise $\mathrm{SSV}(G_\alpha)=D$.
This proves \(P(j)\) and completes the induction step.
Taking \(j=1\), the prefix assignment is empty, so \(G_{\alpha_{<1}}=G(\Phi)\). Therefore, by \(P(1)\), \(\mathrm{SSV}(G(\Phi))=C\) if and only if \(\Phi\) is true, and otherwise \(\mathrm{SSV}(G(\Phi))=D\). This concludes the proof of 1. ◻
In this subsection, we prove the two local gadget lemmas underlying the construction. The first is the guard lemma, previously stated as one of the three core lemmas in the proof of 1. It shows that the guard nodes enforce a valid partial assignment throughout the recursion. The second is the clause lemma, which is used later in the proofs of [lem:sat-C-wins,lem:unsat-D-wins]. It characterizes what happens when an admissible graph is UNSAT but \(D\)is not present. In that case, the winner is the first unsatisfied clause.
These two lemmas play closely related roles. Each describes a local gadget that takes over precisely when the literals that would otherwise block it have been removed. For the guard gadget, \(X_i\) wins when both literals \(T_i\) and \(F_i\) are absent while \(X_i\) is still present. For the clause gadget, \(L_k\) wins when no literal is still present in the graph that satisfies it. This parallel is also reflected in the edge structure of the gadget. The literals \(T_i,F_i\) point to their own guard \(X_i\), while \(X_i\) points to all other literals; similarly, the literals that satisfy \(L_k\) point to \(L_k\), while \(L_k\) points to the literals that do not satisfy it. Thus, the guard gadget enforces consistency of the represented assignment, while the clause gadget detects unsatisfiability.
At a technical level, the proofs from this point on follow a similar pattern. Since on uniquely weighted tournaments the \(\mathrm{SSV}\)winner is determined by the maximum critical edge, it suffices to analyze the critical edge produced by each possible deletion. Thus, rather than reasoning about all edges of the tournament at once, we consider each candidate that could be removed, determine the winner of the resulting subtournament, identify the corresponding critical edge, and then compare these edges to find the maximum one. The proof of 1 avoided most of this because the relevant comparisons there occurred entirely among group \(\mathsf g1\) edges. In contrast, the lemmas below rely heavily on this critical-edge analysis. 7 shows, for each candidate, all incident edges and the groups they belong to, a useful reference for the following proofs.
Proof. We will prove the lemma by induction on \(t \mathrel{\vcenter{:}}= |V(G)|.\)
If \(V(G)=\{X_ {i^*}\}\), for some \({i^*}\), then \(\mathrm{FirstX}(G)= {i^*}\) and \(\mathrm{SSV}(G)=X_ {i^*}\). If \(V(G)=\{u\},\) where \(u\neq X_ {i^*}\;\forall {i^*}\), \(\mathrm{SSV}(G)=u\) with \(\mathrm{FirstX}(G)=0\). Thus, the claim holds.
Fix \(t\ge 2\) and assume that for every induced subtournament \(H\) of \(G(\Phi)\) with \(|V(H)|< t\), \(\forall X_ {i^*}\in V(H)\) with \({i^*}>0,\)
\[\mathrm{SSV}(H)=X_ {i^*}\iff \mathrm{FirstX}(H)= {i^*}.\]
Let \(G\) be an induced subtournament with \(|V(G)|=t\). We prove both directions.
Since \(\mathrm{FirstX}(G)= {i^*}\) we have that \(X_ {i^*}\in V(G)\) and \(T_ {i^*},F_ {i^*}\notin V(G)\). We show that the largest critical edge of \(G\) is from \(X_ {i^*}\), and thus \(\mathrm{SSV}(G)=X_ {i^*}\). We break the proof into two steps. First, we show that among the critical edges produced by deleting candidates \(u\neq X_ {i^*}\), the largest one has the form \(X_ {i^*}\to u\). Then, we show that the critical edge produced by deleting \(X_ {i^*}\), namely the edge \(\mathrm{SSV}(G\setminus\{X_ {i^*}\})\rightarrowX_ {i^*}\), is smaller than the edge \(X_ {i^*}\rightarrow u\). Toward our first claim, we focus on the critical edges produced by nodes in the set \(u\in V(G\setminus\{X_ {i^*}\})\). First, observe that the residual graph \(G\setminus\{u\}\) still has \(0<\mathrm{FirstX}(G\setminus\{u\})\le {i^*},\) since \(X_ {i^*}\in V(G\setminus\{u\})\) and still \(T_ {i^*},F_ {i^*}\notin V(G\setminus\{u\}).\) However, a deletion of a node may cause a guard \(X_j\) with a smaller index to be without both of its literals. We consider the following two cases:
\(\mathrm{FirstX}(G\setminus\{u\})= {i^*}\). Hence, by the induction hypothesis applied to \(G\setminus\{u\}\) we get \(\mathrm{SSV}(G\setminus\{u\})=X_ {i^*},\) and thus \(X_ {i^*}\rightarrow u\) is a critical edge of \(G\). The weight of that critical edge in \(G\) is bounded below by \(\min_u\{w(X_ {i^*},u)\}\ge-\mathsf g10\), given the edges adjacent to \(X_ {i^*}\) (7). (The only incoming edges to \(X_ {i^*}\) are from \(X_j\) with \(j< {i^*}\), as \(T_ {i^*},F_ {i^*}\notin G\) is given by the assumption that \(\mathrm{FirstX}(G)= {i^*}\).)
\(0<\mathrm{FirstX}(G\setminus\{u\})=j< {i^*}\). This can only happen if there exists a \(j\) such that exactly one of \(F_j\) or \(T_j\) is in \(V(G)\) and \(X_j\in V(G)\). Deleting the remaining literal introduces a \(\mathrm{FirstX}\) with a smaller index. By the induction hypothesis applied to \(G\setminus\{u\}\), we get \(\mathrm{SSV}(G\setminus\{u\})=X_j.\) Then, the critical edge in \(G\) is \(X_j \rightarrow F_j/T_j\) that has weight in group \(-\mathsf g_2.\)
Therefore, all critical edges arising from Case 1 have strictly larger weight than every critical edge arising from Case 2. Moreover, if Case 2 occurs for some \(j< {i^*}\) with critical edge \(X_j\to \ell_j\) (\(-\mathsf g2\)), then deleting \(X_j\) instead falls under Case 1, the edge \(X_ {i^*}\to X_j\)(\(-\mathsf g10>-\mathsf g2\)) is also critical. Hence, the largest critical edge in \(G\) produced by removing any node \(u\neq X_ {i^*}\) is produced in Case 1, and has the form \(X_ {i^*}\rightarrow u\).
It remains to compare the largest critical edge that we just showed with the critical edge associated with deleting \(X_ {i^*}\), namely \(w\to X_ {i^*}\) where \(w=\mathrm{SSV}(G\setminus\{X_ {i^*}\})\). Since \(\mathrm{FirstX}(G)= {i^*}\), every present guard \(X_k\) with \(k< {i^*}\) has at least one of its literals in \(G\). Deleting \(X_ {i^*}\) does not change this for any \(k< {i^*}\). Therefore, \(\mathrm{FirstX}(G\setminus\{X_ {i^*}\}) \in \{0\}\cup\{j:j> {i^*}\}.\) By the induction hypothesis, \(w\neq X_k\) for every \(0<k< {i^*}\). We analyze the two possible cases for \(\mathrm{FirstX}(G\setminus\{X_ {i^*}\})\).
\(\mathrm{FirstX}(G\setminus\{X_ {i^*}\})=0\). Then, by the induction hypothesis, \(w\) is not a guard node . Since \(T_{i^\ast},F_{i^\ast}\notin V(G)\), the edge \(w\to X_{i^\ast}\) lies in one of the groups \(-\mathsf g5\), \(-\mathsf g6\), or \(-\mathsf g8\). Hence its weight is at most \(-\mathsf g8\). Since we already identified a critical edge of weight at least \(-\mathsf g10\) and \(-\mathsf g10>-\mathsf g8\), the edge \(w\to X_{i^\ast}\) cannot be the maximum critical edge.
\(\mathrm{FirstX}(G\setminus\{X_ {i^*}\})=k> {i^*}\). Then, by the induction hypothesis, \(w=X_k\), so the critical edge associated with deleting \(X_ {i^*}\) is \(X_k\to X_ {i^*}\), which lies in group \(-\mathsf g10\).
Now consider deleting \(X_k\) instead. Since \(k> {i^*}\), the guard \(X_ {i^*}\) remains the first unguarded guard in \(G\setminus\{X_k\}\). Hence, by Case 1 above, the edge \(X_ {i^*}\to X_k\) is also critical, and this edge lies in group \(\mathsf g10\). Therefore, the critical edge produced by deleting \(X_ {i^*}\) cannot be the largest critical edge of \(G\).
Thus, in all cases, the largest critical edge of \(G\) is produced by deleting some vertex \(u\neq X_ {i^*}\) and has the form \(X_ {i^*}\to u\). Therefore \(\mathrm{SSV}(G)=X_ {i^*}\).
Suppose for the sake of contradiction that \(\mathrm{FirstX}(G)=j\neq {i^*}.\)
\(\mathrm{FirstX}(G)=j>0\) with \(j\neq {i^*}\). By the direction just proved \((\Leftarrow)\), applied with index \(j\), we get \(\mathrm{SSV}(G)=X_j\), contradicting \(\mathrm{SSV}(G)=X_ {i^*}\). Hence, this case is impossible.
\(\mathrm{FirstX}(G)=0\). Since \(\mathrm{SSV}(G)=X_ {i^*}\), the largest critical edge in \(G\) must be of the form \(X_ {i^*}\rightarrow u\) for some \(u\neq X_ {i^*}\). Applying the induction hypothesis to \(G\setminus\{u\}\), we get \(\mathrm{FirstX}(G\setminus\{u\})= {i^*}\). Since \(\mathrm{FirstX}(G)=0\) but \(\mathrm{FirstX}(G\setminus\{u\})= {i^*}\), deleting \(u\) must have removed the last present literal for \(X_ {i^*}\). Hence \(u\in\{T_ {i^*},F_ {i^*}\}\), and the critical edge \(X_ {i^*}\rightarrow u\) has weight in group \(-\mathsf g2\).
Now consider the critical edge associated with deleting \(X_ {i^*}\). Since \(\mathrm{FirstX}(G)=0\), every guard present in \(G\) has at least one of its literals present. Removing \(X_ {i^*}\) preserves this property for all remaining guards, and therefore \(\mathrm{FirstX}(G\setminus\{X_ {i^*}\})=0\). By the induction hypothesis, \(\mathrm{SSV}(G\setminus\{X_ {i^*}\})\) is not a guard node. Hence, by the edges adjacent to \(X_ {i^*}\), \(\mathrm{SSV}(G\setminus\{X_ {i^*}\})\rightarrowX_ {i^*}\) has weight at least \(-\mathsf g5\), and \(-\mathsf g5>-\mathsf g2\). Therefore, the critical edge that removes \(X_ {i^*}\) is larger than \(X_ {i^*}\rightarrow u\), contradicting the assumption that \(\mathrm{SSV}(G)=X_ {i^*}\).
This completes the proof of \(\mathrm{SSV}(G)=X_ {i^*}\iff \mathrm{FirstX}(G)= {i^*}\) for \({i^*}> 0.\) ◻
Analogously to the guard nodes, a clause \(L_k\) wins if no present literal satisfies it. The following lemma shows the winner is the first unsatisfied clause, and if every present clause is satisfied (\(\mathrm{FirstUnsat}(\cdot)=0\)), no clause candidate wins.
Lemma 1 (Clause Lemma). Let \(G\) be an admissible graph as in 10, with \(D\notin V(G)\), and let \(\mathrm{FirstUnsat}\) be as in 11. Then, for every clause candidate \(L_{k^*}\in V(G)\), \[\mathrm{SSV}(G)=L_{k^*}\iff \mathrm{FirstUnsat}(G)={k^*}.\]
**Proof.* We prove the claim by induction on \(t\mathrel{\vcenter{:}}= |V(G)|\).*
Recall that an admissible graph may contain \(C\), literals, guards, and clauses, contains at most one literal from each pair \(\{T_i,F_i\}\), and satisfies \(\mathrm{FirstX}(G)=0\). In this lemma we also assume that \(D\notin V(G)\).
If \(G=\{L_{k^*}\}\) for some \({k^*}\in[m]\), then \(\mathrm{SSV}(G)=L_{k^*}\). Since no literal is present, \(L_{k^*}\) is unsatisfied, and hence \(\mathrm{FirstUnsat}(G)={k^*}\). If \(G=\{u\}\) for some \(u\neq L_k\) for all \(k\in[m]\), then \(\mathrm{FirstUnsat}(G)=0\) and \(\mathrm{SSV}(G)=u\neq L_k\) for every \(k\in[m]\). Hence, the statement holds.
Fix \(t\ge 2\) and assume that the lemma holds for every admissible graph \(G'\) with \(D\notin V(G')\) and \(|V(G')|<t\).
Let \(G\) be an admissible graph with \(D\notin V(G)\) and \(|V(G)|=t\). We show that, for every \({k^*}\in[m]\) such that \(L_{k^*}\in V(G)\), \[\mathrm{SSV}(G)=L_{k^*}\iff \mathrm{FirstUnsat}(G)={k^*}.\]
Assume \(\mathrm{SSV}(G)=L_{k^*}\). Suppose, for the sake of contradiction, that \(\mathrm{FirstUnsat}(G)\neq {k^*}\). Since \(\mathrm{SSV}(G)=L_{k^*}\), the largest critical edge of \(G\) has the form \(L_{k^*}\to u\) for some \(u\neq L_{k^*}\) such that \(\mathrm{SSV}(G\setminus\{u\})=L_{k^*}.\) Since the winner of \(G\setminus\{u\}\) is a clause candidate, [lem:guards] implies that \(\mathrm{FirstX}(G\setminus\{u\})=0\). Hence \(G\setminus\{u\}\) is an admissible graph, and by the induction hypothesis, \(\mathrm{FirstUnsat}(G\setminus\{u\})={k^*}.\)
We consider all possible cases for \(\mathrm{FirstUnsat}(G)\): either \(\mathrm{FirstUnsat}(G)=0\), \(\mathrm{FirstUnsat}(G)=k>{k^*}\), or \(\mathrm{FirstUnsat}(G)=k<{k^*}\). In each case, we show a critical edge \(a\to b\), with \(a\neqL_{k^*}\), whose weight is larger than that of \(L_{k^*}\to u\), contradicting the assumption that \(\mathrm{SSV}(G)=L_{k^*}\).
\(\mathrm{FirstUnsat}(G)=0\). Since \(\mathrm{FirstUnsat}(G\setminus\{u\})={k^*}\) and \(\mathrm{FirstUnsat}(G)=0\), the clause \(L_{k^*}\) is satisfied in \(G\), but becomes the first unsatisfied clause in \(G\setminus\{u\}\). Therefore, \(u\) must be the unique present literal satisfying \(L_{k^*}\). Hence, the only critical edge out of \(L_{k^*}\) is \(L_{k^*}\to u\) with weight in group \(-\mathsf g3\) (any other possible \(u\) would not produce a critical edge as, by the inductive hypothesis, \(L_{k^*}\) only wins in the subtournament if and only if it is \(\mathrm{FirstUnsat}\)).
Now consider \(G\setminus\{L_{k^*}\}\). Deleting a clause does not change the set of literals, hence it does not change which remaining clauses are satisfied or unsatisfied. Thus, \(\mathrm{FirstUnsat}(G\setminus\{L_{k^*}\})=0\) and \(\mathrm{FirstX}(G\setminus\{L_{k^*}\})=0\). Let \(w=\mathrm{SSV}(G\setminus\{L_{k^*}\})\) be the winner of the residual graph. By the induction hypothesis, \(w\) is not a clause candidate, and by [lem:guards], it is not a guard candidate. Hence, \(w\) is either \(C\), if \(C\in V(G)\), or a literal.
If \(w=C\), the critical edge produced in \(G\), \(C\toL_{k^*}\), is in group \(-\mathsf g7.\) If \(w=\ell_i\in\{T_i,F_i\}\), then the critical edge produced in \(G\), \(\ell_i\toL_{k^*}\), is in \(\mathsf g3\) if \(\ell_i\) satisfies \(L_{k^*}\), and in group \(-\mathsf g4\) otherwise. In either case, \(w\toL_{k^*}\) has weight at least \(-\mathsf g4\). Since \((\mathsf g3>-\mathsf g7>)-\mathsf g4>-\mathsf g3\), the critical edge \(w\toL_{k^*}\) has a larger weight than the only critical edge out of \(L_{k^*}\), \(L_{k^*}\to u\), which is in \(-\mathsf g3\). This contradicts \(\mathrm{SSV}(G)=L_{k^*}\).
\(\mathrm{FirstUnsat}(G)=k>{k^*}\), so \(L_{k^*}\) is satisfied in \(G\). As in Case 1, since \(\mathrm{FirstUnsat}(G\setminus\{u\})={k^*}\) and \(L_{k^*}\) is satisfied in \(G\), the only way deleting \(u\) makes \(L_{k^*}\) the first unsatisfied clause is for \(u\) to be the unique literal satisfying \(L_{k^*}\). Hence the critical edge \(L_{k^*}\to u\) lies in group \(-\mathsf g3\).
Now consider \(G\setminus\{L_{k^*}\}\). Deleting a clause does not change the set of literals, so it does not change which clauses are satisfied; since \(L_k\) remains present and is still the first unsatisfied clause, we have \(\mathrm{FirstUnsat}(G\setminus\{L_{k^*}\})=k\) and \(\mathrm{FirstX}(G\setminus\{L_{k^*}\})=0\). By the induction hypothesis, \(\mathrm{SSV}(G\setminus\{L_{k^*}\})=L_k\), so \(L_k\toL_{k^*}\) is a critical edge of \(G\). Since \(k>{k^*}\), this edge lies in group \(-\mathsf g11\), and \(-\mathsf g11>-\mathsf g3\). Thus \(L_k\toL_{k^*}\) is larger than \(L_{k^*}\to u\), contradicting the choice of \(L_{k^*}\to u\) as the largest critical edge of \(G\).
\(\mathrm{FirstUnsat}(G)=k<{k^*}\). As in the previous case, consider \(G\setminus\{L_{k^*}\}\). Deleting a clause does not change the set of literals, so it does not change which clauses are satisfied; since \(L_k\) remains present and is still the first unsatisfied clause, we have \(\mathrm{FirstUnsat}(G\setminus\{L_{k^*}\})=k\) and \(\mathrm{FirstX}(G\setminus\{L_{k^*}\})=0\). By the induction hypothesis, \(\mathrm{SSV}(G\setminus\{L_{k^*}\})=L_k\). Thus \(L_k\toL_{k^*}\) is a critical edge of \(G\). Since \(k<{k^*}\), this edge lies in group \(\mathsf g11\). We consider two subcases according to whether \(L_{k^*}\) is satisfied in \(G\).
Subcase 3a: \(L_{k^*}\) is unsatisfied in \(G\). Since \(\mathrm{FirstUnsat}(G\setminus\{u\})={k^*}\) by the inductive hypothesis, the first unsatisfied clause increases from \(k\) in \(G\) to \({k^*}\) in \(G\setminus\{u\}\). Thus \(u\) must be \(L_k\); otherwise \(L_k\) remains present and unsatisfied, so the first unsatisfied clause cannot become \({k^*}\). Hence the critical edge \(L_{k^*}\to u\) is \(L_{k^*}\toL_k\), which has weight in group \(-\mathsf g11\). However, we have already shown that \(L_k\toL_{k^*}\) is a critical edge of \(G\), and this edge lies in group \(\mathsf g11\). Since \(\mathsf g11>-\mathsf g11\), this gives a critical edge of larger weight than \(L_{k^*}\to u\), a contradiction.
Subcase 3b: \(L_{k^*}\) is satisfied in \(G\). Then there is no \(u\) such that \(\mathrm{FirstUnsat}(G\setminus\{u\})={k^*}\). Notice that a literal \(\ell_i\) must be removed to make \(L_{k^*}\) unsatisfied. However, even if such a literal is removed, the clause \(L_k\) remains present and unsatisfied, so the first unsatisfied clause cannot be \(L_{k^*}\). Removing any other candidate does not make \(L_{k^*}\) unsatisfied. This contradicts the fact that \(\mathrm{FirstUnsat}(G\setminus\{u\})={k^*}\).
All cases lead to contradictions. Therefore, \(\mathrm{FirstUnsat}(G)={k^*}\).
Assume \(\mathrm{FirstUnsat}(G)={k^*}\). We show that the largest critical edge of \(G\) has the form \(L_{k^*}\to u\) for some \(u\neq L_{k^*}\). We consider all critical edges produced by deleting candidates in \(V(G)\setminus \{L_{k^*}\}\), and then compare them with the critical edge produced by deleting \(L_{k^*}\).
(Removing \(L_k\) with \(k\neq {k^*}\).) Deleting \(L_k\) does not change the set of literals, hence it does not change which remaining clauses are satisfied or unsatisfied. Therefore, \(\mathrm{FirstUnsat}(G\setminus\{L_k\})={k^*}\) and \(\mathrm{FirstX}(G\setminus\{L_k\})=0\). By the induction hypothesis, \(\mathrm{SSV}(G\setminus\{L_k\})=L_{k^*}\). Hence, \(L_{k^*}\toL_k\) is a critical edge of \(G\), with weight in group \(\pm\mathsf g11\), depending on the index of \(L_k.\)
(Removing \(X_i\).) Since \(G\) is an admissible graph, deleting \(X_i\) preserves \(\mathrm{FirstX}=0\). Moreover, deleting a guard does not change which clauses are satisfied, so \(\mathrm{FirstUnsat}(G\setminus\{X_i\})={k^*}\). By the induction hypothesis, \(\mathrm{SSV}(G\setminus\{X_i\})=L_{k^*}\). Hence, \(L_{k^*}\toX_i\) is a critical edge of \(G\), with weight in group \(-\mathsf g6\).
(Removing \(C\).) If \(C\in V(G)\), then deleting \(C\) preserves both \(\mathrm{FirstX}=0\) and \(\mathrm{FirstUnsat}={k^*}\). By the induction hypothesis, \(\mathrm{SSV}(G\setminus\{C\})=L_{k^*}\). Hence, \(L_{k^*}\toC\) is a critical edge of \(G\), with weight in group \(\mathsf g7\).
(Removing \(\ell_i\).) We consider two cases, depending on the existence of \(X_i.\)
Case A: If \(X_i\in V(G)\) then \(\mathrm{FirstX}(G\setminus\{\ell_i\})=i\). By [lem:guards], \(\mathrm{SSV}(G\setminus\{\ell_i\})=X_i\). Hence, the critical edge produced by deleting \(\ell_i\) is \(X_i\to\ell_i\), which has weight in group \(-\mathsf g2\). On the other hand, deleting \(X_i\) instead falls under the previous case, so \(L_{k^*}\toX_i\) is also a critical edge. This edge has weight in group \(-\mathsf g6\), and \(-\mathsf g6>-\mathsf g2\). Therefore, the edge \(X_i\to\ell_i\) cannot be the largest critical edge of \(G\).
Case B: If \(X_i\notin V(G)\) then \(\mathrm{FirstX}(G\setminus\{\ell_i\})=0\). Then \(G\setminus\{\ell_i\}\) is still an admissible graph. Since \(L_{k^*}\) remains present and unsatisfied, we have \(0<\mathrm{FirstUnsat}(G\setminus\{\ell_i\})\le {k^*}\), since deleting a literal may cause a clause with a smaller index to be unsatisfied.
Subcase B.1: If \(\mathrm{FirstUnsat}(G\setminus\{\ell_i\})={k^*}\), then by the induction hypothesis, \(\mathrm{SSV}(G\setminus\{\ell_i\})=L_{k^*}\), and hence \(L_{k^*}\to\ell_i\) is a critical edge of \(G\).
Subcase B.2: If instead \(\mathrm{FirstUnsat}(G\setminus\{\ell_i\})=r<{k^*}\), then by the induction hypothesis, \(\mathrm{SSV}(G\setminus\{\ell_i\})=L_r\), so the critical edge produced by deleting \(\ell_i\) is \(L_r\to\ell_i\). Since \(\mathrm{FirstUnsat}(G)={k^*}\), the clause \(L_r\) was satisfied in \(G\), and deleting \(\ell_i\) made it unsatisfied. Thus, \(\ell_i\) was the only satisfying literal for \(L_r\), and \(L_r\to\ell_i\) has weight in group \(-\mathsf g3\). But by the earlier case of removing a clause \(L_k\) with \(k\neq {k^*}\), deleting \(L_r\) instead produces the critical edge \(L_{k^*}\toL_r\). Since \(r<{k^*}\), this edge lies in group \(-\mathsf g11\), and \(-\mathsf g11>-\mathsf g3\). Therefore, the edge \(L_r\to\ell_i\) cannot be the largest critical edge of \(G\).
(Removing \(L_{k^*}\).) First observe that deleting \(L_{k^*}\) either removes the only unsatisfied clause or leaves a later unsatisfied clause as the first one. Thus, \(\mathrm{FirstUnsat}(G\setminus\{L_{k^*}\})\in \{0\}\cup\{k:k>{k^*}\}\). Let \(w=\mathrm{SSV}(G\setminus\{L_{k^*}\})\). We consider both cases.
Case A: \(\mathrm{FirstUnsat}(G\setminus\{L_{k^*}\})=k>{k^*}\). By the induction hypothesis, \(w=L_k\). Hence, the critical edge produced by deleting \(L_{k^*}\) is \(L_k\toL_{k^*}\), which lies in group \(-\mathsf g11\). However, we showed that removing \(L_k\) produces the critical edge \(L_{k^*}\toL_k\) in group \(\mathsf g11.\) Hence, \(L_k\toL_{k^*}\) is not the largest critical edge.
Case B: \(\mathrm{FirstUnsat}(G\setminus\{L_{k^*}\})=0\). By the induction hypothesis \(w\) is not a clause candidate, and since \(\mathrm{FirstX}(G\setminus\{L_{k^*}\})=0\), by [lem:guards] it is not a guard candidate. Hence \(w\) is \(C\) (if \(C\in V(G)\)) or a literal \(\ell_i\). In each case we show a critical edge coming out of \(L_{k^*}\) that is larger than \(w\toL_{k^*}\), so the latter is not the largest critical edge of \(G\).
Subcase B.1: If \(w=C\), then \(w\toL_{k^*}\) has negative weight, whereas \(L_{k^*}\toC\) (from removing \(C\) above) is also a critical edge with a positive weight.
Subcase B.2: If \(w=\ell_i\), then since \(L_{k^*}\) is unsatisfied in \(G\), the critical edge \(\ell_i\toL_{k^*}\) is in group \(-\mathsf g4\) (no positive edges point from \(\ell_i \to L_{k^*}\)). We show there is always a larger critical edge out of \(L_{k^*}\).
If \(X_i\in V(G)\), then \(L_{k^*}\toX_i\) (from removing \(X_i\) above) lies in group \(-\mathsf g6>-\mathsf g4\).
If \(X_i\notin V(G)\), by the case of removing \(\ell_i\) (Case \(4.B\) above) there is always a larger critical edge out of \(L_{k^*}\). (Either \(L_{k^*}\to\ell_i\) in \(\mathsf g_4>-\mathsf g4\) or \(L_{k^*}\toL_r\) in \(-\mathsf g11>-\mathsf g4.\))
Therefore, every critical edge that is not of the form \(L_{k^*}\to u\) is dominated by a critical edge of the form \(L_{k^*}\to v\) (for some \(v\)). Hence, the largest critical edge of \(G\) has the form \(L_{k^*}\to u\), and so \(\mathrm{SSV}(G)=L_{k^*}\). ◻
In this subsection, we prove the two remaining core lemmas, which determine the \(\mathrm{SSV}\)winner of full-assignment graphs and serve as the base cases in the proof of 1.
The proofs of the two core lemmas rely on a few auxiliary claims characterizing the winners of the intermediate admissible graphs that arise along the way. We defer the proofs of these claims to 10. Here we state two of these claims used in both proofs. The first claim shows that \(C\)and \(D\)are “robust” under the addition of further single literals. Once either is already the \(\mathrm{SSV}\)winner, adding single literals that are not yet present does not change that outcome.
claimaddingLits Let \(G\) be an admissible graph (10) with \(\mathrm{SSV}(G) \in \{C, D\}\) such that for each \(\ell_i \in G\), \(X_i \in G\). Let \(B\) be a set of literals containing at most one of \(\{T_j, F_j\}\) for each variable \(j \in [n]\), with \(\{T_j, F_j\} \cap V(G) = \emptyset\) for every \(\ell_j \in B\) (i.e., \(B\) adds only literals that are missing from \(G\)). Then \(G \cup B\) is admissible and \[\mathrm{SSV}(G \cup B) = \mathrm{SSV}(G) \,.\]
The second claim states that \(D\) wins every admissible graph (SAT or UNSAT), whenever \(C\) is not present.
claimDwithoutC Let \(G\) be an admissible graph as in 10 such that \(D\in V(G)\) and \(C\notin V(G)\). Then \(\mathrm{SSV}(G)=D\).
Notice that the converse is not true. In admissible graphs where \(C\) is present but \(D\) is not, \(C\) is not always the winner; it depends on whether the graph is SAT ([lem:C-wins-SAT-no-D] below) or UNSAT (1, as UNSAT implies the presence of clauses).
Next we prove [lem:unsat-D-wins] by induction on the number of clauses. The proof of [lem:unsat-D-wins] is organized around the elimination order (6) of an UNSAT full-assignment graph, which has the following form: \[\underbrace{ L_1, \ldots, L_{r-1}, L_{r+1}, \ldots, L_m, \underbrace{ C, L_r, \underbrace{ X_n, \ell_n, \ldots, X_1, \ell_1 }_{\text{\Cref{lem:D-wins-with-clauses-no-C-general}}} }_{\text{\Cref{lem:D-wins-with-C-and-one-unsat-clause}}} }_{\text{\Cref{lem:unsat-D-wins}}}\] where \(r\in[m]\) denotes the largest index of an unsatisfied clause in the admissible graph. The following claim captures the base case of [lem:unsat-D-wins], where there is a single unsatisfied clause with both designated candidates \(C\) and \(D\).
claimDBaseCase Let \(G\) be an admissible graph as in 10 such that \(C,D\in V(G)\). Suppose that the only clause candidate in \(G\) is \(L_k\), and that \(L_k\) is unsatisfied in \(G\). Then \(\mathrm{SSV}(G)=D.\)
With these auxiliary claims in place, we now prove [lem:unsat-D-wins]. The proof starts from the base case and then builds up by induction on the number of clauses.
Proof. By [lem:adding95lits95C95D95wins], it suffices to prove the lemma under the additional assumption that every present literal is accompanied by its guard. We prove this restricted statement by induction on the number of clauses.
Claim. Let \(I\subseteq[n]\), let \(K\subseteq[m],\, |K| > 0\), and, for every \(i\in I\), fix exactly one literal \(\ell_i\in\{T_i,F_i\}\). Let \(G(I,K)\) be the induced subtournament on \[V(G(I,K))=\{C,D\}\cup\{X_i,\ell_i:i\in I\}\cup\{L_k:k\in K\}.\] If at least one clause \(L_k\), \(k\in K\) is unsatisfied by the present literals, then \(\mathrm{SSV}(G(I,K))=D\).
For any set \(I'\subseteq I\). If \(|K|=1\), then the unique clause in \(K\) is unsatisfied. Hence, by [lem:D-wins-with-C-and-one-unsat-clause], we get \(\mathrm{SSV}(G(I,K))=D\).
Fix \(t\ge 2\) and assume the statement holds for every graph \(G(I',K')\) of the above form with \(I'\subseteq I\) and \(|K'|<t\).
Let \(G:=G(I,K)\) be a graph of the above form with \(|K|=t\), and fix an unsatisfied clause \(L_{r}\in K\). We show that the largest critical edge of \(G\) is of the form \(D\toL_k\) (in group \(\mathsf g7\)) for some \(L_k\in K\). We examine the critical edge produced by removing each possible type of node.
(Removing a clause \(L_k\).) If \(k\neq r\), then \(G\setminus\{L_k\}\) still contains the unsatisfied clause \(L_{r}\), so by the induction hypothesis \(\mathrm{SSV}(G\setminus\{L_k\})=D\). Therefore, the critical edge produced by removing \(L_k\) is \(D\toL_k\), in group \(\mathsf g7\). Such an edge always exists since the number of clauses \(t\ge 2.\)
It remains to consider removing \(L_{r}\). If there is another unsatisfied clause in \(G\), then the same induction argument applies and the critical edge produced by removing \(L_{r}\) is again an edge out of \(D\) in group \(\mathsf g7\).
So suppose that \(L_{r}\) is the unique unsatisfied clause. Then \(G\setminus\{L_{r}\}\) is SAT. We do not need to determine its winner exactly; we need to show that the critical edge produced has weight smaller than group \(\mathsf g7\). Now, the only edges into \(L_{r}\) with weight larger than group \(\mathsf g7\) are edges in groups \(\mathsf g3\) (\(\ell_i\toL_r\)) and \(\mathsf g6\) (\(X_i\toL_r\)), see 7. First, observe that removing a clause does not affect guards or literals; we still have \(\mathrm{FirstX}(G\setminus\{L_{r}\})=0\). By [lem:guards] no guard can win \(G\setminus\{L_{r}\}\), so no edge \(X_i\toL_r\) is critical. Additionally, we know that \(L_{r}\) is unsatisfied, so no present literal satisfies \(L_{r}\), and therefore no edge \(\ell_i\toL_{r}\) in group \(\mathsf g3\) is present. Therefore, \(w(\mathrm{SSV}(G\setminus\{L_r\}),L_r) \leq \mathsf g7\). Moreover, equality is possible only when \(\mathrm{SSV}(G\setminus\{L_r\})=D\), in which case the critical edge is \(D\to L_r\); otherwise the critical edge has weight strictly below group \(g_7\). Thus removing \(L_{r}\) produces either another group \(\mathsf g7\) edge out of \(D\), or a strictly smaller critical edge.
(Removing \(C\).) The graph \(G\setminus\{C\}\) is exactly of the form covered by [lem:D-wins-with-clauses-no-C-general], and it is still UNSAT. Hence \(\mathrm{SSV}(G\setminus\{C\})=D\). Therefore the critical edge produced by removing \(C\) is \(D\toC\), which lies in group \(-\mathsf g12<\mathsf g7\).
(Removing \(D\).) Since removing \(D\) does not affect literals or guards, we still have \(\mathrm{FirstX}(G\setminus\{D\})=0\). Moreover, \(G\setminus\{D\}\) is still UNSAT. Hence, by 1, the winner of \(G\setminus\{D\}\) is the first unsatisfied clause, say \(\mathrm{FirstUnsat}(G\setminus\{D\})={k^*}\). Therefore the critical edge produced by removing \(D\) is \(L_{{k^*}}\toD\), which lies in group \(-\mathsf g7<\mathsf g7\).
(Removing a literal \(\ell_i\).) Since \(X_i\) is still present and \(\ell_i\) was the unique present literal of variable \(i\), we have \(\mathrm{FirstX}(G\setminus\{\ell_i\})=i\). Hence, by [lem:guards], \(\mathrm{SSV}(G\setminus\{\ell_i\})=X_i\). Therefore the critical edge produced by removing \(\ell_i\) is \(X_i\to\ell_i\), which lies in group \(-\mathsf g2<\mathsf g7\).
(Removing a guard \(X_i\).) For ease of notation, let \(H:=G\setminus\{X_i\}\). We show that the critical edge \(\mathrm{SSV}(H)\toX_i\) has weight \(<\mathsf g7.\) By 7, the only incoming edge to \(X_i\) with larger weight is \(\ell_i\toX_i\) in group \(\mathsf g2.\) Hence it suffices to rule out \(\mathrm{SSV}(H)=\ell_i\).
We are going to break the proof into two steps; first we show that \(H\) has a critical edge with weight in \(\mathsf g7.\) Then we contradict that \(\mathrm{SSV}(H)=\ell_i.\)
Step 1: We consider the graph \(H'= H\setminus\{\ell_i,L_k\}\) (for an arbitrary fixed \(k\in K\setminus\{r\}\), such a clause always exists since \(|K|\ge2\)). This graph still contains the unsatisfied clause \(L_{r}\), and it has \(t-1\) clauses. Therefore, by the induction hypothesis, \(\mathrm{SSV}(H')=D\). By [lem:adding95lits95C95D95wins], adding any number of single non-present literals does not change a winner in \(\{C,D\}\), we get \(\mathrm{SSV}(H'\cup\{\ell_i\}) =\mathrm{SSV}(H\setminus\{L_k\})=D\). Hence \(D\toL_k\) is a critical edge of \(H\), in group \(\mathsf g7\).
Step 2: Next we show that \(\mathrm{SSV}(H)\neq\ell_i.\) Assume for the sake of contradiction that \(\mathrm{SSV}(H)=\ell_i.\) Since we have established a critical edge of \(H\) in \(\mathsf g7,\) to get \(\mathrm{SSV}(H)=\ell_i\) the maximum critical edge of \(H\) must be of the form \(\ell_i\to u\) with weight of at least \(\mathsf g7.\) The only possibility is \(\ell_i\toL_j\) for some clause satisfied by \(\ell_i\) which is in group \(\mathsf g3,\) since \(X_i\notin V(H).\) However, we have shown in Step 1 that in \(H\), removing any clause \(L_j\neqL_r\) makes the winner \(D\), which contradicts the assumption \(\mathrm{SSV}(H)=\ell_i\).
Thus, since \(\mathrm{SSV}(H) \neq \ell_i\), the critical edge produced by removing \(X_i\), \(\mathrm{SSV}(H)\toX_i\), has weight at most \(\mathsf g10 < \mathsf g7\), by 7.
We have now considered every possible removal. Removing any clause \(L_k\neqL_{r}\) produces a critical edge \(D\toL_k\) in group \(\mathsf g7\). Every critical edge produced by removing \(C\), \(D\), a literal, or a guard has strictly smaller weight, and removing \(L_{r}\) produces at most another group \(\mathsf g7\) edge out of \(D\). Therefore the maximum critical edge of \(G\) is of the form \(D\toL_k\) for some \(L_k\in K\), and hence \(\mathrm{SSV}(G)=D\).
This proves the restricted statement. We now deduce the lemma for an arbitrary admissible subtournament.
Let \(G\) be an arbitrary admissible subtournament satisfying the hypotheses of the lemma. Let \[B:=\{\ell_i\in V(G): X_i\notin V(G)\}\] be the set of present single literals whose guards are absent, and let \[G^\circ:=G\setminus B.\] Because \(G\) is admissible, \(G^\circ\) has the form \(G(I,K)\) for some \(I\subseteq[n]\) and \(K\subseteq[m]\). Moreover, since \(\mathrm{FirstUnsat}(G)\neq 0\), at least one clause candidate present in \(G\) is unsatisfied in \(G\). Removing literals cannot make an unsatisfied clause satisfied, so at least one clause candidate present in \(G^\circ\) is unsatisfied in \(G^\circ\). Hence the inductive claim gives \[\mathrm{SSV}(G^\circ)=D.\] By [lem:adding95lits95C95D95wins], applied to \(G^\circ\) and the set \(B\), we obtain \[\mathrm{SSV}(G)=D.\] This proves the main statement of the lemma.
The full-assignment statement follows by applying the main statement to \(G_\alpha\). ◻
Now we prove [lem:sat-C-wins]. First, we state two auxiliary claims that we use in the proofs. [lem:c-wins-without-clauses] serves as the base case of the main lemma, and the second ([lem:C-wins-SAT-no-D]) shows that \(C\) wins in admissible graphs in which \(D\) has already been removed. That implies that \(C\toD\) is critical. After establishing this claim, the proof of [lem:sat-C-wins] follows by comparing the critical edges produced by deleting each possible type of candidate.
claimCwinsNoClause Let \(G\) be an admissible graph as in 10 such that \(C,D\in V(G)\) and \(L_k\notin V(G)\), for all \(k\in[m]\). Then \(\mathrm{SSV}(G)=C.\)
claimCwinsNoD Let \(G\) be an admissible graph (10) with \(C\in V(G)\), \(D\notin V(G)\), and \(\mathrm{FirstUnsat}(G) = 0\). Then \(\mathrm{SSV}(G) = C\).
Proof. We prove the following stronger statement by strong induction on \(t:=|I|+|K|\).
Induction statement. Let \(I\subseteq[n]\), let \(K\subseteq[m]\), and for every \(i\in I\) fix exactly one literal \(\ell_i\in\{T_i,F_i\}\). Let \(G(I,K)\) be the induced subtournament on \[V(G(I,K))=\{C,D\}\cup\{X_i,\ell_i:i\in I\}\cup\{L_k:k\in K\}.\] Assume that every clause \(L_k\in K\) is satisfied by at least one present literal \(\ell_i\). Then \(\mathrm{SSV}(G(I,K))=C\). The lemma follows by taking \(I=[n]\), \(K=[m]\), and choosing the literals according to \(\alpha\).
If \(K=\emptyset\), then \(G(I,K)\) has no clause nodes for every \(I\subseteq[n]\). Hence, by [lem:c-wins-without-clauses], we get \(\mathrm{SSV}(G(I,\emptyset))=C\).
Fix \(t\ge 1\) and assume the statement holds for every satisfiable graph \(G(I',K')\) with \(|I'|+|K'|<t\).
Let \(G:=G(I,K)\) be satisfiable with \(|I|+|K|=t\). We show that the largest critical edge is \(C\toD\) with weight in \(\mathsf g12>0\). We examine the critical edge produced by removing each possible type of node and show that they are either from \(C\) or negative.
(Removing \(D\).) The graph \(G\setminus\{D\}\) is a SAT admissible graph with \(C\in V(G)\), \(D\notin V(G)\). By [lem:C-wins-SAT-no-D], the winner is \(C.\) Hence the edge \(C\toD\) is a critical edge with weight in group \(\mathsf g12\).
(Removing a clause \(L_k\).) The graph \(G\setminus\{L_k\}=G(I,K\setminus\{k\})\) is still satisfied, and \(|I|+|K\setminus\{k\}|=t-1\). Hence, by the induction hypothesis, \(\mathrm{SSV}(G\setminus\{L_k\})=C\). Therefore, the critical edge produced by removing \(L_k\) is \(C\toL_k\), which lies in group \(-\mathsf g7\).
(Removing \(C\).) The graph \(G\setminus\{C\}\) is an admissible graph without \(C\), with exactly one literal for every present variable and with \(\mathrm{FirstX}(G\setminus\{C\})=0\). Hence, by [lem:D-wins-with-clauses-no-C-general], we get \(\mathrm{SSV}(G\setminus\{C\})=D\). Therefore, the critical edge produced by removing \(C\) is \(D\toC\), which lies in group \(-\mathsf g12\). (\(C\toD\) is also a critical edge with positive weight.)
(Removing a literal \(\ell_i\).) Since \(X_i\) is still present and \(\ell_i\) was the unique present literal of variable \(i\), we have \(\mathrm{FirstX}(G\setminus\{\ell_i\})=i\). Hence, by [lem:guards], \(\mathrm{SSV}(G\setminus\{\ell_i\})=X_i\). Therefore, the critical edge produced by removing \(\ell_i\) is \(X_i\to\ell_i\), which lies in group \(-\mathsf g2\).
(Removing a guard \(X_i\).) We show that \(\mathrm{SSV}(G\setminus\{X_i\})\in\{C,D\}.\) Consider \(G\setminus\{X_i,\ell_i\}.\) This is a smaller graph of the same paired form, with variable set \(I\setminus\{i\}\) and the same clause set \(K\). If every clause in \(K\) remains satisfied after deleting \(\ell_i\), then by the induction hypothesis, \(\mathrm{SSV}(G\setminus\{X_i,\ell_i\})=C.\) Hence \(C\to\ell_i\) is a critical edge of \(G\setminus\{X_i\}\), in group \(\mathsf g1\). If instead some clause becomes unsatisfied after deleting \(\ell_i\), then by [lem:unsat-D-wins], \(\mathrm{SSV}(G\setminus\{X_i,\ell_i\})=D.\) Hence \(D\to\ell_i\) is a critical edge of \(G\setminus\{X_i\}\), also in group \(\mathsf g1\). Thus \(G\setminus\{X_i\}\) has a group \(\mathsf g1\) critical edge from \(C\) or \(D\) into \(\ell_i\). Since all group \(\mathsf g1\) edges originate from \(C\) or \(D\), it follows that \[\mathrm{SSV}(G\setminus\{X_i\})\in\{C,D\}.\] Therefore the critical edge produced by removing \(X_i\) is a negative edge \(\{C, D\} \to X_i\) in group \(-\mathsf g8\).
In all cases, every critical edge is either an edge out of \(C\) or has negative weight. Moreover, removing \(D\) produces the positive critical edge \(C\toD\). Hence \(\mathrm{SSV}(G)=C\). Applying the statement to the full-assignment graph \(G_\alpha\) completes the proof. ◻
In this section, we show that the same construction ([margin_groups]) gives \(\mathsf{PSPACE}\)-completeness for Stable Voting (\(\mathrm{SV}\)) as well. The main difference between the two rules is the “does not defeat” requirement (3). Specifically, \(\mathrm{SV}\)restricts the set of critical edges to \(A\to B\) such that \(A\) is undefeated, whereas \(\mathrm{SSV}\)does not have such a restriction. We show that throughout the recursion on \(G(\Phi)\), every \(\mathrm{SSV}\)winner that can affect the recursion is also undefeated in that subtournament. Hence, \(\mathrm{SV}\)never discards the largest critical edge that \(\mathrm{SSV}\)would use, and so \(\mathrm{SV}\)and \(\mathrm{SSV}\)make the same decision at every step. We proceed in three steps: we first characterize the types of subtournaments that the recursion can actually reach ([claim:reachability]); we then show that on those subtournaments the \(\mathrm{SSV}\)winner is undefeated whenever it is not a literal candidate (2); and finally we show that subtournaments won by literal candidates never change the recursion (3). Hence, \(\mathrm{SV}\)and \(\mathrm{SSV}\)agree wherever it matters (4).
Recall (3) that \(B\) does not defeat \(A\) in \(G\) if there is a (directed) path \(A=x_0,x_1,\ldots,x_t=B\) such that \(w(x_i,x_{i+1})\ge w(B,A)\) for all \(i\), and that \(A\) is undefeated in \(G\) if no candidate defeats it. We use the fact that, if \(w(A,B)>0\), then \(B\) trivially does not defeat \(A\) (the edge \(A\to B\) is itself such a path). Hence, to show that \(A\) is undefeated, it suffices to check every candidate \(B\) with \(w(A,B)<0\). Since the weight groups satisfy \(\mathsf g1 > \mathsf g2 > \cdots > \mathsf g12\), a path certifies that \(B\) does not defeat \(A\) as long as every edge it contains lies in a group with index strictly smaller than that of the edge \(B \to A\). All the paths exhibited in this section are of this form, so no comparisons within a group are ever needed. Conversely, since a certifying path must leave \(A\) along an edge of weight at least \(w(B,A)\), and must enter \(B\) along such an edge, we get a simple sufficient condition for a defeat. All omitted proofs can be found in 11.
Observation 2 (Blocking). Let \(G\) be a weighted tournament and let \(A,B\in V(G)\) with \(w(B,A)>0\). If every edge of \(G\) leaving \(A\), or every edge of \(G\) entering \(B\), has weight smaller than \(w(B,A)\), then \(B\) defeats \(A\).
During the evaluation of \(G(\Phi)\) according to \(\mathrm{SSV}\)(or \(\mathrm{SV}\)), only a small subset of subtournaments is reached: those evaluated before the scan finds its first critical pair. Formally, the recursion on \(G\) evaluates \(\mathrm{SSV}(G\setminus\{B\})\) exactly for the pairs \((A,B)\) of weight at least that of the maximum critical edge of \(G\). Call these subtournaments, together with \(G(\Phi)\) itself, the ones arising in the recursive evaluation of \(\mathrm{SSV}(G(\Phi))\). The next claim shows that only three types of subtournaments ever arise: prefix graphs, graphs whose winner is forced to be a guard, and admissible graphs. In particular, the recursion never reaches a subtournament that has \(\mathrm{FirstX}(\cdot)=0\) while containing both literals of some variable with a smaller index (i.e., the induced subtournament on \(\{T_1,F_1,T_2,X_2,L_1\}\) which is neither a prefix graph nor admissible).
claimReachability Every induced subtournament that arises in the recursive evaluation of \(\mathrm{SSV}(G(\Phi))\) belongs to at least one of the following families:
Corollary 1. Let \(G\) be an induced subtournament of \(G(\Phi)\) that arises in the recursive evaluation of \(\mathrm{SSV}(G(\Phi))\).
If no guard candidate is present in \(G\), then \(G\) is admissible.
If \(\mathrm{SSV}(G)\) is a clause candidate or a literal candidate, then \(G\) is admissible.
Proof. By [claim:reachability], \(G\) is a prefix graph, has \(\mathrm{FirstX}(G)\neq0\), or is admissible. Every prefix graph contains all guard candidates, and every graph with \(\mathrm{FirstX}(G)= {i^*}\neq0\) contains the guard \(X_{ {i^*}}\); this proves the first part. For the second part: every prefix graph is won by \(C\) or \(D\) (statement \(P(j)\) in the proof of 1), and every graph with \(\mathrm{FirstX}(G)\neq0\) is won by a guard ([lem:guards]); so a clause or literal winner is only possible when \(G\) is admissible. ◻
The recursion below the full-assignment graphs runs on admissible graphs, whose winners were characterized in 4 and 10. The next claim characterizes the different types of admissible graphs depending on the winner and the candidates present.
claimwinnersAdmissible Let \(G\) be an admissible graph and let \(A = \mathrm{SSV}(G)\), then the following hold.
If \(C, D\in V(G)\), then \(A \in \{C, D\}\).
If \(A = C\), then \(\mathrm{FirstUnsat}(G) = 0\); that is, every present clause is satisfied by a present literal.
If \(A = L_{{k^*}}\) for some clause candidate, then \(D\notin V(G)\) and \(\mathrm{FirstUnsat}(G) = {k^*}\); in particular, \(L_{{k^*}}\) is unsatisfied and every present clause \(L_{k'}\) with \(k' < {k^*}\) is satisfied by a present literal.
If \(A\) is a literal candidate, then \(C, D\notin V(G)\) and \(\mathrm{FirstUnsat}(G) = 0\).
We now show that when \(\mathrm{SSV}(G) \in \{C, D, X_{ {i^*}}, L_{{k^*}}\}\), the winner is undefeated in \(G\), so that \(\mathrm{SV}\)does not discard the maximum critical edge of \(G\). We make use of 8 for a visual representation of the does-not-defeat paths used in the following lemma.
Lemma 2 (\(\mathrm{SSV}\)winners are undefeated). Let \(G\) be any induced subtournament of \(G(\Phi)\) that arises in the recursive evaluation of \(\mathrm{SSV}(G(\Phi))\), and suppose that \(\mathrm{SSV}(G)\) is not a literal candidate. Then \(\mathrm{SSV}(G)\) is undefeated in \(G\).
Proof. Fix such a subtournament \(G\), and let \(A = \mathrm{SSV}(G)\) be its winner; by assumption, \(A\) is one of the designated candidates \(C\) or \(D\), a guard \(X_{ {i^*}}\), or a clause \(L_{{k^*}}\). We treat each case separately, showing that for every candidate \(B\) that beats \(A\) head-to-head, there is a does-not-defeat path \(A \rightsquigarrow B\) all of whose edges have strictly larger weight than \(B \to A\). In each case, we also show that the candidates of the path are present in \(G\); 8 shows all such paths. Throughout, note that whenever the winner is not a guard, [lem:guards] gives \(\mathrm{FirstX}(G) = 0\), so every present guard \(X_i\) has one of its literals present; we denote such a literal by \(\ell_i\).
(\(\mathrm{SSV}(G) = C\).) The only in-edges to \(C\) are from clauses \(L_k\) (group \(\mathsf g7\)) and from guards \(X_i\) (group \(\mathsf g8\)). For a guard \(X_i\), the path is \(C\to \ell_i \to X_i\) (\(\mathsf g1,\mathsf g2\)); \(\ell_i\) must be present for \(X_i\) to not win. For a clause \(L_k\), we distinguish two subcases.
If some guard \(X_i\) is present in \(G\), the path is \(C\to \ell_i \to X_i \to L_k\) (\(\mathsf g1,\mathsf g2,\mathsf g6\)).
If no guard is present in \(G\), then \(G\) is admissible by 1, and by [claim:admissible-winners](b) the clause \(L_k\) is satisfied by some present literal \(\ell_j\); the path is \(C\to \ell_j \to L_k\) (\(\mathsf g1,\mathsf g3\)).
All path edges lie in groups of smaller index than the edges into \(C\), so \(C\) is undefeated.
(\(\mathrm{SSV}(G) = D\).) The only in-edges to \(D\) are from \(C\) (group \(\mathsf g{12}\)) and from guards \(X_i\) (group \(\mathsf g8\)). For a guard \(X_i\), the path is \(D\to \ell_i \to X_i\) (\(\mathsf g1,\mathsf g2\)); \(\ell_i\) must be present for \(X_i\) to not win. Now suppose \(C\in V(G)\); we show that \(C\) does not defeat \(D\), in two subcases.
If some guard \(X_i\) is present in \(G\), the path is \(D\to \ell_i \to X_i \to C\) (\(\mathsf g1,\mathsf g2,\mathsf g8\)), and all three groups have index smaller than \(12\).
If no guard is present in \(G\), then \(G\) is admissible by 1. For \(D\) to win in \(G\), a clause candidate must then be present; otherwise, by [lem:c-wins-without-clauses] we would get \(\mathrm{SSV}(G) = C\neq D\) for an admissible graph with \(C, D\in V(G)\) and \(L_k\notin V(G).\) The path \(D\to L_k \to C\) (\(\mathsf g7,\mathsf g7\)) then shows that \(C\) does not defeat \(D\).
All path edges lie in groups of smaller index than the edges into \(D\), so \(D\) is undefeated.
(\(\mathrm{SSV}(G) = X_{ {i^*}}\).) By [lem:guards], \(\mathrm{FirstX}(G) = {i^*}\), so the literals \(T_{ {i^*}}, F_{ {i^*}}\) are absent, and the edges \(\{T_{ {i^*}}, F_{ {i^*}}\}\toX_{ {i^*}}\) (group \(\mathsf g2\)) are gone. The only remaining in-edges to \(X_{ {i^*}}\) are from guards \(X_j\) with \(j < {i^*}\) (group \(\mathsf g{10}\)). For each such \(X_j\), one of its literals \(\ell_j\) is present, since \(j < {i^*}= \mathrm{FirstX}(G)\). Hence, the path \(X_{ {i^*}} \to \ell_j \to X_j\) has edges in groups \(\mathsf g5\) and \(\mathsf g2\), both of index smaller than \(10\). Hence \(X_j\) does not defeat \(X_{ {i^*}}\), and \(X_{ {i^*}}\) is undefeated in \(G\).
(\(\mathrm{SSV}(G) = L_{{k^*}}\).) By 1, \(G\) is admissible, and by [claim:admissible-winners](c), \(D\notin V(G)\) and \(\mathrm{FirstUnsat}(G) = {k^*}\). Since \(L_{{k^*}}\) is unsatisfied, there is no edge \(\ell_i\to L_{k^*}\) in group \(\mathsf g3\). So the only candidates beating \(L_{{k^*}}\) are the guards \(X_i\) (group \(\mathsf g6\)) and the earlier clauses \(L_{k'}\) with \(k' < {k^*}\) (group \(\mathsf g{11}\)). Since \(L_{{k^*}}\) is unsatisfied, the edge \(L_{{k^*}} \to \ell_i\) is positive (group \(\mathsf g4\)) for every present literal \(\ell_i\); and \(\mathrm{FirstX}(G) = 0\), so every present guard has its literal present. Hence, for a guard \(X_i\), the path is \(L_{{k^*}} \to \ell_i \to X_i\) (\(\mathsf g4,\mathsf g2\)). For an earlier clause \(L_{k'}\), it is satisfied (as \(k' < {k^*}= \mathrm{FirstUnsat}(G)\)), so a satisfying literal \(\ell_j\) gives the path \(L_{{k^*}} \to \ell_j \to L_{k'}\) (\(\mathsf g4,\mathsf g3\)). All path edges lie in groups of smaller index than the edges into \(L_{{k^*}}\), so \(L_{{k^*}}\) is undefeated.
◻
It remains to deal with the subtournaments whose \(\mathrm{SSV}\)winner is a literal candidate. Such subtournaments do arise in the recursion (e.g., deleting \(C\) and \(D\) from a small admissible graph makes a literal win) and the winning literal need not be undefeated. The next lemma shows that these subtournaments can never cause \(\mathrm{SV}\)and \(\mathrm{SSV}\)to disagree in our construction. Whenever the winner is not a literal, no literal is even eligible as an \(\mathrm{SV}\)winner since they are defeated. Whenever the \(\mathrm{SSV}\)winner is a literal, the \(\mathrm{SV}\)winner is also a literal (though possibly a different one) since they are the only undefeated candidates (which \(\mathrm{SV}\)must select from). This is all that the comparison in 4 requires.
Lemma 3 (Literal candidates and undefeatedness). Let \(G\) be an induced subtournament of \(G(\Phi)\) that arises in the recursive evaluation of \(\mathrm{SSV}(G(\Phi))\).
If \(\mathrm{SSV}(G)\neq \ell_i\) for some literal candidate \(\ell_i\), then \(\mathrm{SSV}(G)\) defeats every literal candidate in \(V(G)\).
If \(\mathrm{SSV}(G)=\ell_i\) for some literal candidate \(\ell_i\), then every undefeated candidate of \(G\) is a literal candidate, hence \(\mathrm{SV}(G)\) is a literal candidate (potentially different than \(\ell_i\)).
Proof. (a) Let \(A = \mathrm{SSV}(G)\) and let \(\ell_i \in V(G)\) be any literal candidate for some \(i\in [n]\). In each case below, every incoming edge to \(A\) lies in a group of strictly larger index (hence smaller weight) than the edge \(A \to \ell_i\), so \(A\) defeats \(\ell_i\) by 2.
\(A = C\): the edge \(C\to \ell_i\) lies in group \(\mathsf g1\); the in-edges of \(C\) lie in groups \(\mathsf g7\) and \(\mathsf g8\).
\(A = D\): the edge \(D\to \ell_i\) lies in group \(\mathsf g1\); the in-edges of \(D\) lie in groups \(\mathsf g{12}\) and \(\mathsf g8\).
\(A = X_{ {i^*}}\): by [lem:guards], \(\mathrm{FirstX}(G) = {i^*}\), so \(T_{ {i^*}},F_{ {i^*}} \notin V(G)\), and every present literal belongs to another variable; hence the edge \(X_{ {i^*}} \to \ell_i\) lies in group \(\mathsf g5\). The in-edges of \(X_{ {i^*}}\) from its own literals (group \(\mathsf g2\)) are absent, leaving only the edges from guards \(X_j\) with \(j< {i^*}\), in group \(\mathsf g{10}\).
\(A = L_{{k^*}}\): by 1, \(G\) is admissible, and by [claim:admissible-winners](c), \(L_{{k^*}}\) is unsatisfied and \(D\notin V(G)\); hence the edge \(L_{{k^*}} \to \ell\) lies in group \(\mathsf g4\) for every present literal \(\ell\). The in-edges of \(L_{{k^*}}\) from satisfying literals (group \(\mathsf g3\)) and from \(D\) (group \(\mathsf g7\)) are absent, leaving only the edges from guards (group \(\mathsf g6\)) and earlier clauses (group \(\mathsf g{11}\)).
(b) Let \(\mathrm{SSV}(G)=\ell_i\) for some \(i\in[n]\). By 1, \(G\) is admissible, and by [claim:admissible-winners](d), \(C, D\notin V(G)\) and every present clause is satisfied by a present literal (\(\mathrm{FirstUnsat}(G)=0\)); moreover \(\mathrm{FirstX}(G) = 0\) since \(G\) is an admissible graph. We show that every guard and every clause of \(G\) is defeated (which only requires one candidate to defeat them, as opposed to being undefeated by any other candidate); since \(C\) and \(D\) are absent, only literal candidates can then be undefeated.
Let \(X_j \in V(G)\). Its literal \(\ell_j\) is present, and the edge \(\ell_j\to X_j\) is in group \(\mathsf g2\). Every positive edge leaving \(X_j\) lies in group \(\mathsf g5\) (other literals), \(\mathsf g6\) (clauses), or \(\mathsf g{10}\) (later guards) all strictly smaller than \(\mathsf g2\). By 2, \(\ell_j\) defeats \(X_j\).
Let \(L_k \in V(G)\), and let \(\ell_j\) be a present literal satisfying it; the edge \(\ell_j \to L_k\) lies in group \(\mathsf g3\). Every positive edge leaving \(L_k\) lies in group \(\mathsf g4\) (non-satisfying literals) or \(\mathsf g{11}\) (later clauses) all strictly smaller than \(\mathsf g3\). By 2, \(\ell_j\) defeats \(L_k\).
Finally, by 3 and the definition of \(\mathrm{SV}\), the candidate \(\mathrm{SV}(G)\) is undefeated in \(G\); since literals are the only undefeated candidates, \(\mathrm{SV}(G)\) is a literal candidate. ◻
Having shown that every \(\mathrm{SSV}\)winner that is not a literal is undefeated, we now use this to prove that \(\mathrm{SV}\) and \(\mathrm{SSV}\)agree on every subtournament that the recursion reaches.
Lemma 4 (\(\mathrm{SV}\)agrees with \(\mathrm{SSV}\)). Let \(G\) be any induced subtournament of \(G(\Phi)\) that arises in the recursive evaluation of \(\mathrm{SSV}(G(\Phi))\). If \(\mathrm{SSV}(G)\in\{C,D,L_k,X_i:k\in[m], i\in[n]\}\), then \(\mathrm{SV}(G) = \mathrm{SSV}(G)\); otherwise, \(\mathrm{SV}(G),\mathrm{SSV}(G)\in\{\ell_i: i\in[n]\}\).
Proof. The second assertion is 3(b). We prove the first by strong induction on \(|V(G)|\).
(\(|V(G)| = 1\)). Both rules return the unique candidate, so \(\mathrm{SV}(G) = \mathrm{SSV}(G)\).
Assume the statement holds for every induced subtournament \(G'\) arising in the recursive evaluation of \(\mathrm{SSV}(G(\Phi))\) with \(|V(G')| < |V(G)|\).
Let \(A= \mathrm{SSV}(G)\) be a non-literal winner, determined by the maximum-weight critical edge \(A\to B\); that is, \(\mathrm{SSV}(G\setminus\{B\}) = A\). By 2, \(A\) is undefeated in \(G\).
If \(G\) has a unique undefeated candidate \(U\), then \(A= U\), and \(\mathrm{SV}\)returns \(U = A\) directly, so \(\mathrm{SV}(G) = \mathrm{SSV}(G)\). Otherwise, recall that \(\mathrm{SV}\)scans the ordered pairs \((U,V)\) with \(U\) undefeated in \(G\) in decreasing \(w(U,V)\), returning the first with \(\mathrm{SV}(G\setminus\{V\}) = U\). We make two observations. First, since \(\mathrm{SSV}\)scans all ordered pairs in decreasing weight down to \((A,B)\), every pair with weight at least \(w(A,B)\) was scanned by \(\mathrm{SSV}\), so for every such pair \((U,V)\) the subtournament \(G\setminus\{V\}\) arises in the recursive evaluation of \(\mathrm{SSV}(G(\Phi))\) and the induction hypothesis applies to it. Second, by 3(a), no literal candidate is undefeated in \(G\), so every tail \(U\) that \(\mathrm{SV}\)scans is a non-literal candidate.
The pair \((A, B)\) is critical for \(\mathrm{SV}\), since the winner \(A\) is undefeated in \(G\), and \(\mathrm{SSV}(G\setminus\{B\}) = A\) is not a literal, the induction hypothesis gives \(\mathrm{SV}(G\setminus\{B\}) = \mathrm{SSV}(G\setminus\{B\}) = A\).
It remains to show that \(\mathrm{SV}\)does not stop at any earlier pair. Suppose, for contradiction, that \(\mathrm{SV}\)stops at a pair \((U,V)\) with \(w(U,V) > w(A,B)\); then \(U\) is undefeated in \(G\) (hence not a literal) and \(\mathrm{SV}(G\setminus\{V\}) = U\). The subtournament \(G\setminus\{V\}\) arises in the evaluation of \(\mathrm{SSV}(G(\Phi))\), so the induction hypothesis applies to it, and we consider two cases. If \(\mathrm{SSV}(G\setminus\{V\})\) is a literal candidate, then \(\mathrm{SV}(G\setminus\{V\})\) is also a literal candidate, contradicting \(\mathrm{SV}(G\setminus\{V\}) = U\) with \(U\) not a literal. If \(\mathrm{SSV}(G\setminus\{V\})\) is not a literal, then \(\mathrm{SSV}(G\setminus\{V\}) = \mathrm{SV}(G\setminus\{V\}) = U\), so \((U,V)\) is a critical edge of \(G\) for \(\mathrm{SSV}\)with weight larger than \(w(A,B)\), contradicting the maximality of \((A,B)\).
Hence \(\mathrm{SV}\)stops exactly at \((A,B)\), giving \(\mathrm{SV}(G) = A= \mathrm{SSV}(G)\). ◻
Theorem 3. Winner determination for Stable Voting is \(\mathsf{PSPACE}\)-complete.
Proof. Membership in \(\mathsf{PSPACE}\)follows as in 1: \(\mathrm{SV}\)admits the same depth-first recursion, and the additional test of whether a candidate is undefeated is a reachability computation that requires only polynomial space. For hardness, let \(\Phi\) be a TQBF instance and let \(G(\Phi)\) be the tournament of [margin_groups]. The tournament \(G(\Phi)\) trivially arises in the recursive evaluation of \(\mathrm{SSV}(G(\Phi))\), and by 1 its winner \(\mathrm{SSV}(G(\Phi))\) is \(C\) or \(D\) (in particular, not a literal candidate). Hence, by 4, \(\mathrm{SV}(G(\Phi)) = \mathrm{SSV}(G(\Phi))\), and so \(\mathrm{SV}(G(\Phi)) = C\) if and only if \(\Phi\) is true. The same polynomial-time reduction therefore establishes \(\mathsf{PSPACE}\)-hardness for \(\mathrm{SV}\). ◻
In this paper, we prove that winner determination is a \(\mathsf{PSPACE}\)-complete problem under both Stable Voting and Simple Stable Voting. In fact, our reduction establishes hardness for a somewhat stronger, promise version: even when we are promised that the winner is one of two distinguished candidates, \(C\) or \(D\), it is \(\mathsf{PSPACE}\)-hard to decide whether the winner is \(C\). Thus, hardness persists even when the outcome has been narrowed down to a binary choice.
Several natural directions remain open. First is to identify tractable special cases. Since the recursive definitions of SV and SSV can be evaluated by brute force on a small candidate set, winner determination is fixed-parameter tractable in the number of relevant candidates. This suggests looking for structural conditions under which the recursion can be confined to a small subset. More generally, it would be interesting to find graph-theoretic or margin-based assumptions that allow for tractable winner determination.
A second direction is to understand the average-case complexity of winner determination. Our construction relies on carefully chosen edge orientations and weights. This leaves open whether natural stochastic models of preferences or pairwise margins lead to polynomial-time winner determination with high probability.
Finally, one can study the associated search problem: given a tournament, output an \(\mathrm{SV}\)or \(\mathrm{SSV}\)winner. This problem is total, since the rules always select a winner. But, it is not obviously a \(\mathsf{TFNP}\) problem: \(\mathsf{TFNP}\) concerns total search problems whose solutions are polynomial-time verifiable, whereas deciding whether a proposed candidate is the \(\mathrm{SV}\)or \(\mathrm{SSV}\)winner is \(\mathsf{PSPACE}\)-complete. We conjecture that this search problem is complete for a natural total-search class beyond \(\mathsf{TFNP}\). Recent work has introduced several such classes [36], [37]; identifying the right class that captures recursive voting rules such as \(\mathrm{SV}\)and \(\mathrm{SSV}\)is an interesting open problem.
We implemented \(\mathrm{SV}\)and \(\mathrm{SSV}\)in C++ [7] to check
our construction as we developed it and to see how many candidates exact winner determination can handle in practice. Our solver memoizes the winner of each candidate subset it reaches during the recursion. It agrees with the reference package
pref_voting [38] on every winner we tested, and is one or two orders of magnitude faster on random uniquely
weighted tournaments. Even so, it reaches only about \(30\) candidates, in line with the range reported in [6]: the memo has one
entry per subset, so both time and space double with each additional candidate. Memoizing trades the exponential running time of the depth-first recursion of 1 for exponential space; the theorem says that, unless \(\mathsf{P} = \mathsf{PSPACE}\), no implementation avoids both.
The authors used ChatGPT as a sounding board for quickly exploring and stress-testing possible directions the authors were considering during gadget development, as well as for proofreading, identifying potential issues in proofs and figures, and assisting with portions of the C++ testing code, which was used by the authors to evaluate candidate constructions and inform the development of the final construction. The authors made all substantive design decisions, and reviewed and verified all AI-assisted material. The authors take full responsibility for all claims and results in the paper.
In 2 we noted that any weighted tournament can be induced by a voting profile after appropriately rescaling the weights. Here we present this construction formally, using classic techniques of McGarvey [39] and Debord [40].
Recall that \(\mathrm{SSV}\)and \(\mathrm{SV}\)depend only on the relative order of their margins, so rescaling the weights does not change the winner as long as their order is preserved. Let \(N=|V(G(\Phi))|\) Our construction produces a weighted tournament \(G(\Phi)\) with weights \(1,\ldots, \binom{N}{2}\). For a weighted tournament to be realizable by a voting profile, all weights must have the same parity. Multiplying every weight by 2 preserves their order and makes all of them even.
Let \(S=\{A_1,\ldots,A_N\}\) be a set of \(N\) alternatives and \(G\) a weighted tournament (with all even weights). Fix an arbitrary ordering of the alternatives. For any positive edge \(A\to B\) with weight \(2x\), let \(C_1, \ldots, C_{N-2}\) be the remaining alternatives in this fixed order, and add the following \(2x\) voters:
\(x\) voters with preferences \(A\succ B \succ C_1 \succ \ldots \succ C_{N-2}\)
\(x\) voters with preferences \(C_{N-2} \succ \ldots \succ C_{1} \succ A \succ B\)
All \(2x\) voters rank \(A\) above \(B\), so this contributes \(+2x\) to the margin of \(A\) over \(B\), matching the edge weight. For every other pair of alternatives \((U,W)\) there are \(x\) voters with \(U\succ W\); the two groups rank them in opposite orders, so \(x\) voters have \(U\succ W\) and \(x\) have \(W\succ U\), contributing \(0\) to that margin. Thus each edge is realized independently of the others. Repeating this for every edge, the total number of voters is \[\sum_{i=1}^{\binom{N}{2}} 2i \;=\; \binom{N}{2}\!\left(\binom{N}{2}+1\right) \;=\; O(N^4),\] and each ballot has length \(N\), thus the profile is constructed in polynomial time. Since its margins induce the same edge order as \(G(\Phi)\), the profile has the same \(\mathrm{SSV}\)and \(\mathrm{SV}\)winner.
For completeness, 1 gives the order of edges in the full weighted tournament shown in 1, from which the \(\mathrm{SSV}\)winner can be verified (see
fig1_tournament.cpp in [7].)
| \(c_{1}\) | \(c_{2}\) | \(c_{3}\) | \(c_{4}\) | \(c_{5}\) | \(c_{6}\) | \(c_{7}\) | \(c_{8}\) | \(c_{9}\) | \(c_{10}\) | \(c_{11}\) | \(c_{12}\) | \(c_{13}\) | \(c_{14}\) | \(c_{15}\) | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| \(c_{1}\) | . | 75 | 81 | 76 | 77 | 1 | -39 | -43 | -47 | -17 | 6 | 8 | 11 | 13 | 15 |
| \(c_{2}\) | -75 | . | 78 | 82 | 83 | -35 | 2 | -44 | -48 | -18 | 7 | 9 | -26 | -29 | 16 |
| \(c_{3}\) | -81 | -78 | . | 79 | 80 | -36 | -40 | 3 | -49 | -19 | -21 | 10 | -27 | 14 | -32 |
| \(c_{4}\) | -76 | -82 | -79 | . | 84 | -37 | -41 | -45 | 4 | -20 | -22 | -24 | 12 | -30 | -33 |
| \(c_{5}\) | -77 | -83 | -80 | -84 | . | -38 | -42 | -46 | -50 | 5 | -23 | -25 | -28 | -31 | -34 |
| \(c_{6}\) | -1 | 35 | 36 | 37 | 38 | . | 85 | 86 | 87 | 51 | 52 | 53 | 54 | 55 | 56 |
| \(c_{7}\) | 39 | -2 | 40 | 41 | 42 | -85 | . | 88 | 89 | 57 | 58 | 59 | 60 | 61 | 62 |
| \(c_{8}\) | 43 | 44 | -3 | 45 | 46 | -86 | -88 | . | 90 | 63 | 64 | 65 | 66 | 67 | 68 |
| \(c_{9}\) | 47 | 48 | 49 | -4 | 50 | -87 | -89 | -90 | . | 69 | 70 | 71 | 72 | 73 | 74 |
| \(c_{10}\) | 17 | 18 | 19 | 20 | -5 | -51 | -57 | -63 | -69 | . | 91 | 92 | 93 | 94 | 95 |
| \(c_{11}\) | -6 | -7 | 21 | 22 | 23 | -52 | -58 | -64 | -70 | -91 | . | 96 | 97 | 98 | 99 |
| \(c_{12}\) | -8 | -9 | -10 | 24 | 25 | -53 | -59 | -65 | -71 | -92 | -96 | . | 100 | 101 | 102 |
| \(c_{13}\) | -11 | 26 | 27 | -12 | 28 | -54 | -60 | -66 | -72 | -93 | -97 | -100 | . | 103 | 104 |
| \(c_{14}\) | -13 | 29 | -14 | 30 | 31 | -55 | -61 | -67 | -73 | -94 | -98 | -101 | -103 | . | 105 |
| \(c_{15}\) | -15 | -16 | 32 | 33 | 34 | -56 | -62 | -68 | -74 | -95 | -99 | -102 | -104 | -105 | . |
4pt
Algorithm [alg:build-tournament] gives an explicit procedure for constructing the tournament \(G(\Phi)\) from a \(\mathsf{TQBF}\)instance \(\Phi\).
BuildTournament\((\Phi)\)
A prenex \(\mathsf{TQBF}\)instance \(\Phi = Q_1x_1\cdots Q_nx_n\,\varphi\), where \(\varphi = C_1\wedge \cdots \wedge C_m\) is a CNF formula. A uniquely weighted tournament \(G(\Phi)=(V(\Phi),w(\Phi))\).
\(V(\Phi)\gets \{C,D\} \cup \{L_k : k\in[m]\} \cup \{T_i,F_i,X_i : i\in[n]\}.\)
Let \(W \gets \binom{|V(\Phi)|}{2}\).
\(w(A,B)\gets W\) \(w(B,A)\gets -W\) \(W\gets W-1\)
Group \(\mathsf g_1\): designated candidates to literals ; ; ; ; ; ;
Group \(\mathsf g_2\): literals to their own guards ;
Group \(\mathsf g_3\): literals to clauses they satisfy
Group \(\mathsf g_4\): clauses to literals not appearing in them ;
BuildTournament\((\Phi)\) (continued)
Group \(\mathsf g_5\): guards to other literals ;
Group \(\mathsf g_6\): guards to clauses
Group \(\mathsf g_7\): clauses to \(C\), and \(D\) to clauses ;
Group \(\mathsf g_8\): guards to designated candidates ;
Group \(\mathsf g_9\): total order on literals
BuildTournament\((\Phi)\) (continued)
Group \(\mathsf g_{10}\): total order on guards
Group \(\mathsf g_{11}\): total order on clauses
Group \(\mathsf g_{12}\): designated candidates
\(G(\Phi)=(V(\Phi),w(\Phi))\)
The next lemma is the basic robustness statement used throughout the appendix. It allows us to safely ignore extra single literals and focus on the part of the graph where literals appear together with their guards.
Proof. We proceed by induction on \(t\mathrel{\vcenter{:}}=|B|\) for some \(B\) as defined above.
(\(t=0\)) This is trivially true.
Fix \(t \ge 1\) and assume the claim holds for \(t-1\). That is, given any \(B\) of size \(t\) (as defined above), \[\mathrm{SSV}(G \cup ( B \setminus \{\ell_i\} )) = \mathrm{SSV}(G) \quad \forall \, \ell_i \in B\]
Fix any arbitrary \(B\) of size \(t\) and define \(H \mathrel{\vcenter{:}}= G \cup B\). Let \(M \in \{C, D\}\) be the designated winner, \(\mathrm{SSV}(G) = M\).
By the inductive hypothesis, we know that the edges \(M \rightarrow \ell_i\) (in group \(\mathsf g1\)) are critical edges of \(H\) for all \(\ell_i \in B\), since \(\mathrm{SSV}(H\setminus\{\ell_i\}) = M\). Let \(M \rightarrow \ell_{i^*}\) be the largest among those (\({i^*}= \mathop{\mathrm{arg\,min}}_i \{\ell_i\in B\}\)). Note that the only other possible critical edge of larger weight is \(M \rightarrow \ell_j\) for \(j< {i^*},\;\ell_j \in V(G)\), i.e., the designated winner to some other literal already present in \(G\) with a smaller index. However, the critical edge produced by removing \(\ell_j\) is \(X_j \rightarrow \ell_j\) by [lem:guards] since \(\mathrm{FirstX}(H\setminus\{\ell_j\})=j\), therefore the largest set of critical edges in \(H\) is \(M \rightarrow \ell_ {i^*},\, \ell_ {i^*}\in B\) and \(\mathrm{SSV}(H)=M\). ◻
[lem:adding95lits95C95D95wins] allows us to focus on admissible graphs for which all literals are paired with their guards whenever we want to prove the winner is \(C\) or \(D\). We formalize this in the observation below.
Observation 4. Let \(G\) be an arbitrary admissible graph. Let \(S=\{T_i,F_i,X_i : i\in[n]\}\cap V(G)\) be the set of present literals and guards. By definition of admissible graphs, \(\mathrm{FirstX}(G)=0\) and for every \(i\) at most one literal is present. Define \(I \mathrel{\vcenter{:}}= \{\,i\in[n]: X_i \in S\,\}\) as the set of present guards. Since \(\mathrm{FirstX}(G)=0\), every guard present in \(S\) has its corresponding literal present as well. Hence, for each \(i\in I\), there is a unique literal \(\ell_i \in \{T_i,F_i\}\cap S\). We write \[S_I \mathrel{\vcenter{:}}= \{X_i,\ell_i : i\in I\} \qquad\text{and}\qquad B \mathrel{\vcenter{:}}= S\setminus S_I.\] Thus, \(S_I\) is the paired core, while \(B\) consists of the remaining single literals whose corresponding guards are absent. By [lem:adding95lits95C95D95wins], once \(C\)or \(D\)is shown to win on the paired core, adding back the literals in \(B\) does not change the winner. Therefore, in the proofs below, we first work on the paired core and then restore the literals in \(B\) at the end.
Claim 5 (\(D\) wins admissible graphs without \(C\) or \(L_k\)’s). Let \(G\) be an admissible graph such that \(C,L_k\notin V(G)\) for all \(k\in[m]\) and \(D\in V(G).\) Then \(\mathrm{SSV}(G)=D\).
**Proof.* Using 4, it suffices to prove the claim for the paired core. We write \(S=S_I\cup B\), where \(S_I\) is the paired core and \(B\) is the set of extra single literals. Let \(G_I\) be the induced subtournament on \(V(G_I)=\{D\}\cup S_I\). We show that \(\mathrm{SSV}(G_I)=D\) by induction on the number of pairs, then by [lem:adding95lits95C95D95wins], it follows that \(\mathrm{SSV}(G)=D.\) For each integer \(t\ge 0\), define \(P(t)\) to be the statement:*
\(P(t):\) \(\forall J\subseteq I\) with \(|J|=t\), if \(G_J\) is the induced subtournament on \(V(G_J)=\{D\}\cup S_J,\) then \(\mathrm{SSV}(G_J)=D\).
We prove \(P(t)\) by induction on \(t\). We note that at each step the graphs differ by two nodes, a literal \(\ell_i\) and its guard \(X_i\) for some \(i\in [n]\).
then \(J=\emptyset\) and \(G=\{D\}\), by definition \(\mathrm{SSV}(G)=D.\)
Fix \(t\ge 1\) and assume \(P(t-1)\) holds.
Fix \(J\) with \(|J|=t.\) Let \(G:=G_J\). We will show that \(\mathrm{SSV}(G)=D\) by showing that the edge \(D\rightarrow X_r,\) where \(r=\max\{J\}\), is the largest critical edge of \(G\). We will break the proof into the following three steps, building up from smaller subtournaments where we know the winner:
Show that \(\mathrm{SSV}(G\setminus\{X_i,\ell_i\})=D\) for all \(i\in J.\)
Show \(\mathrm{SSV}(G\setminus\{X_i\})=D\) with the largest critical edge being \(D\rightarrow\ell_i\) for all \(i\in J.\)
Show \(\mathrm{SSV}(G)=D\) with the largest critical edge being \(D\rightarrowX_r.\)
Towards Step 1, consider the subtournament \(G\setminus\{\ell_i,X_i\}\) for some \(i\in J.\) By the induction hypothesis, \(\mathrm{SSV}(G\setminus\{\ell_i,X_i\})=D\). By the definition of critical edges (5)
the edge \(D\rightarrow\ell_i\) is a critical edge of \(G\setminus\{X_i\}\), and
the edge \(D\rightarrowX_i\) is a critical edge of \(G\setminus\{\ell_i\}\) .
Towards Step 2, let us focus on the subtournament \(G\setminus\{X_i\}.\) We have shown that \(D\to\ell_i\) is a critical edge of \(G\setminus\{X_i\},\) next we will show that is also the largest. Notice that the only edges that could have a larger weight than \(D\rightarrow\ell_i\) (which are in \(\mathsf g1\)) are \(D\rightarrow\ell_j\) for \(j<i.\) However, the critical edge produced by removing \(\ell_j\) is \(X_j\to\ell_j\) (\(-\mathsf g2\)) since \(\mathrm{FirstX}(G\setminus\{X_i,\ell_j\})=j,\) and by [lem:guards] \(\mathrm{SSV}(G\setminus\{X_i,\ell_j\})=X_j.\) Hence, we can conclude that \(\mathrm{SSV}(G\setminus\{X_i\})=D.\)
Finally, toward Step 3,We just shown that \(\mathrm{SSV}(G\setminus\{X_i\})=D\). Hence, \(D\rightarrowX_i\) (\(-\mathsf g8\)) is a critical edge in \(G\) for all \(i.\) The largest among those is \(D\rightarrowX_r,\) where \(r=\max\{J\}\). To conclude the proof that \(\mathrm{SSV}(G)=D\), we must show that \(D\rightarrowX_r\) is larger (less negative) than the remaining critical edges, defined by removing any other node (\(\ell_i\) or \(D\)). We will consider both cases:
(Removing \(\ell_i\)). By [lem:guards] that \(\mathrm{SSV}(G\setminus\{\ell_i\})=X_i\), since \(\mathrm{FirstX}(G\setminus\{\ell_i\})=i\). Thus, the critical edges in \(G\) produced by removing \(\ell_i\) are \(X_i\rightarrow\ell_i\) in group \(-\mathsf g2 \; (< -\mathsf g8)\).
(Removing \(D\)). First we note that \(\mathrm{FirstX}(G\setminus\{D\})=0\), hence \(\mathrm{SSV}(G\setminus\{D\})\neq X_j, \forall j\) by [lem:guards]. Therefore the critical edge must be \(\ell_i\rightarrowD\) for some \(i\), but these edges are in group \(-\mathsf g1 \; (<-\mathsf g8)\).
These are all possible deletions. Therefore \(D\to X_r\) is the maximum critical edge of \(G_J\), and \[\mathrm{SSV}(G_J)=D.\] This proves \(P(t)\). Taking \(J=I\) gives \(\operatorname{SSV}(G_I)=D\), and adding back the single literals in \(B\) using [lem:adding95lits95C95D95wins] yields \(\mathrm{SSV}(G)=D\). ◻
Claim 6 (Without \(D\) or \(L\), \(C\) wins). Let \(G\) be an admissible graph such that \(D,L_k\notin V(G)\) for all \(k\in[m],\) and \(C\in V(G).\) Then \(\mathrm{SSV}(G)=C.\)
Let \(S \subseteq \{T_i,F_i,X_i : i\in[n]\}\) be a subset of literals and guards such that \(\mathrm{FirstX}(G_S)=0\) and, for every \(i\in[n]\), at most one of \(\{T_i,F_i\} \in S\). Let \(G\) be the induced subtournament on \(V(G)=\{C\}\cup S.\) Then \(\mathrm{SSV}(G)=C\).
**Proof.* Let \(G^{D}{=(G\setminus\{C\}})\cup\{D\}.\) Then \(V(G^{D})=\{D\}\cup S\), and \(G^{D}\) satisfies the conditions of 5. Thus \(\mathrm{SSV}(G^{D})=D.\)*
Next, we will show that \(G\) and \(G^D\) are order-isomorphic. First, the set \(S\) is the same in both graphs; all edges with both endpoints in \(S\) are unchanged. Thus, we only need to consider edges between \(S\) and \(C\) in \(G\), respectively \(D\) in \(G^{D}.\) By construction, these are exactly the edges in \(\mathsf g1\) and \(\mathsf g8\), and replacing \(C\) by \(D\) preserves both their orientations and their relative order in the weight ranking. Hence the subtournaments induced by \(\{C\}\cup S\) and by \(\{D\}\cup S\) are identical after relabeling \(C\) as \(D\). Therefore, \(\mathrm{SSV}(G)=C.\) ◻
Proof. Using 4, we are going to decompose into the different types of nodes. Let \(S_I\) be the paired core of literals and guards and \(B\) the set of extra single literals. And let \(K\subseteq[m]\) be the present clauses. By [lem:adding95lits95C95D95wins], it suffices to prove the claim for the paired core. Let \(G_{I,K}\) be the induced subtournament on \(V(G_{I,K})=\{D\}\cup\{L_k:k\in K\}\cup S_I\). We will show that \(\mathrm{SSV}(G_{I,K})=D\) and thus \(\mathrm{SSV}(G)=D\).
We prove the statement by induction on the number of clauses. For each integer \(t\ge 0\), define the statement \(P(t)\) as follows:
\(P(t)\): \(\forall \, J\subseteq I, \forall \, K'\subseteq K\) with \(|K'|=t\), the \(\mathrm{SSV}(H_{J,K'})=D\) where \(H_{J,K'}\) is the induced subtournament on \[V(H_{J,K'})=\{D\}\cup \{\ell_j,X_j:j\in J\} \cup \{L_k:k\in K'\}.\]
Let \(J\subseteq I\) and let \(K'=\emptyset\). Then \(V(H_{J,K'})=\{D\}\cup \{\ell_j,X_j:j\in J\}\), so \(\mathrm{SSV}(H_{J,K'})=D\) by 5. Hence \(P(0)\) holds.
Fix \(t\ge 1\) and assume that \(P(r)\) holds for every \(r<t\).
We prove \(P(t)\). Fix \(J\subseteq I\), \(K'\subseteq K\) with \(|K'|=t\), and \(H\mathrel{\vcenter{:}}= H_{J,K'}\). We assume \(|J|>0\), since \(|J|=0\) implies that \(D\) is a Condorcet winner of the corresponding graph. By definition, since every present guard in \(H\) has its corresponding literal also present, we have \(\mathrm{FirstX}(H)=0\). We will show that the largest critical edge of \(H\) is of the form \(D\to L_k\) for some \(k\in K'\), which implies \(\mathrm{SSV}(H)=D\).
We consider the critical edge produced by removing each type of node.
(Removing a clause \(L_k\) .) The graph \(H\setminus \{L_k\}\) is exactly of the form covered by \(P(t-1)\), with the same set \(J\) and clause set \(K'\setminus\{k\}\). Since \(|K'\setminus\{k\}|=t-1\), the induction hypothesis gives \(\mathrm{SSV}(H\setminus\{ L_k\})=D\). Therefore, \(D\to L_k\) is a critical edge of \(H\), and it lies in group \(\mathsf g7\).
(Removing a literal \(\ell_i\) .) By assumption \(|J|>0.\) Since \(X_i\) is still present and \(\ell_i\) was the unique present literal of variable \(i\), we have \(\mathrm{FirstX}(H\setminus \{\ell_i\})=i\). By [lem:guards], \(\mathrm{SSV}(H\setminus \{\ell_i\})=X_i\). Hence the critical edge produced by removing \(\ell_i\) is \(X_i\to \ell_i\), which lies in group \(-\mathsf g2\). Hence, this critical edge is smaller than \(D\to L_k\) in \(\mathsf g_7.\)
(Removing \(D\) .) Since removing \(D\) does not affect literals or guards, we still have \(\mathrm{FirstX}(H\setminus \{D\})=0\). Hence, by [lem:guards], no guard can win \(H\setminus \{D\}\). We distinguish two cases.
If \(H\setminus \{D\}\) is UNSAT, then by 1, \(\mathrm{SSV}(H\setminus \{D\})=L_{k^*}\), where \(L_{k^*}=\mathrm{FirstUnsat}(H\setminus \{D\})\) is the first unsatisfied clause. Thus the critical edge produced by removing \(D\) is \(L_{k^*}\to D\), which lies in group \(-\mathsf g7\).
If \(H\setminus \{D\}\) is SAT, then \(\mathrm{FirstUnsat}(H\setminus \{D\})=0\), so by 1 no clause can win \(H\setminus \{D\}\). As no guard can win \(H\setminus \{D\}\), the winner must be some literal \(\ell_j\), and the critical edge produced by removing \(D\) is \(\ell_j\to D\), which lies in group \(-\mathsf g1\).
In either case, the critical edge produced by removing \(D\) is negative, hence strictly smaller than every positive group \(\mathsf g7\) edge.
(Removing a guard \(X_i\).) Let \(H_i:=H\setminus\{X_i\}\). We show that the critical edge produced by removing \(X_i\) has weight \(<\mathsf g7\). First, \(\mathrm{FirstX}(H_i)=0\), so by [lem:guards], no guard can win \(H_i\).
We claim that, for every \(k\in K'\), \(\mathrm{SSV}(H_i\setminus\{L_k\})=D.\) Indeed, \(H_i\setminus\{L_k,\ell_i\} = H_{J\setminus\{i\},K'\setminus\{k\}},\) so by the induction hypothesis it is won by \(D\). Since \(X_i\notin V(H_i\setminus\{L_k\})\), adding back the single literal \(\ell_i\) does not change a designated winner, by [lem:adding95lits95C95D95wins]. Hence \[\mathrm{SSV}(H_i\setminus\{L_k\})=D.\] Thus every edge \(D\toL_k\), \(k\in K'\), is a critical edge of \(H_i\), in group \(\mathsf g7\).
It remains to rule out \(\mathrm{SSV}(H_i)=\ell_i\). If \(\ell_i\) won \(H_i\), then its winning critical edge would have to beat the group \(\mathsf g7\) edge \(D\toL_k\). Since \(X_i\notin V(H_i)\), the group \(\mathsf g2\) edge \(\ell_i\toX_i\) is absent. The only remaining edges out of \(\ell_i\) that can beat group \(\mathsf g7\) are edges \(\ell_i\toL_k\) in group \(\mathsf g3\). But for every \(L_k\in K'\), we just proved that \(\mathrm{SSV}(H_i\setminus\{L_k\})=D,\) so the critical edge produced by deleting \(L_k\) is \(D\toL_k\), not \(\ell_i\toL_k\). Therefore \(\ell_i\) cannot win \(H_i\).
Thus neither a guard nor \(\ell_i\) can win \(H_i\). Hence the critical edge into \(X_i\) is not the positive edge \(\ell_i\toX_i\); all remaining possible edges into \(X_i\) have weight \(<\mathsf g7\).
We have now examined all possible removals from \(H\). Removing any clause \(L_k\) produces a critical edge \(D\to L_k\) in group \(\mathsf g7\), while every critical edge produced by removing a literal, a guard, or \(D\) has weight strictly smaller than \(\mathsf g7\). Therefore, the largest critical edge of \(H\) is of the form \(D\to L_k\), and consequently \(\mathrm{SSV}(H)=D\). This concludes the proof of \(P(t)\).
Applying \(P(|K'|)\) to \(J=I\) and \(K'=K\), we get \(\mathrm{SSV}(G_{J,K})=D\). We can apply [lem:adding95lits95C95D95wins] to add the literals in \(B\), to get \(\mathrm{SSV}(G)=D\). ◻
Proof. Using 4, we write \(S=S_I\cup B\), where \(S_I\) is the paired core and \(B\) is the set of extra single literals. Let \(G_I\) be the induced subtournament on \(V(G_I)=\{C,D\}\cup S_I\). We will show that \(\mathrm{SSV}(G_I)=C\). By [lem:adding95lits95C95D95wins], it follows that \(\mathrm{SSV}(G)=C\).
We do this by proving that the maximum critical edge of \(G_I\) is \(C\toD\), and comparing it to the critical edges produced by removing every other node of \(G_I\).
(Removing \(D\).) \(\mathrm{SSV}(G_I\setminus \{D\}) = C\) by 6, producing a critical edge in group \(\mathsf g12\).
(Removing \(C\).) \(\mathrm{SSV}(G_I\setminus C) = D\) by 5, producing a critical edge in group \(-\mathsf g12\).
(Removing \(\ell_i\).) Since in \(G_I\) all the literals are paired with their guards, we get \(\mathrm{FirstX}(G_I\setminus\{\ell_i\}) = i\), implying \(X_i \rightarrow \ell_i\) is the critical edge produced by removing \(\ell_i\), in group \(-\mathsf g2\).
(Removing \(X_i\).) It suffices to show that the critical edge produced by removing \(X_i\) has weight \(< \mathsf g12\). That is, the edge \(w \rightarrow X_i\) has weight less than \(\mathsf g12,\) where \(w=\mathrm{SSV}(G_I\setminus \{X_i\})\) Suppose, for contradiction, that the critical edge has weight \(>\mathsf g12\). The only two candidate sets for the critical edges are thus \(X_{j<i} \rightarrow X_i\) (\(\mathsf g10\)) and \(\ell_i \rightarrow X_i\) (\(\mathsf g2\)). We show that \(w\neqX_j\) and \(w\neq\ell_i.\)
By [lem:guards], \(X_j\) can only win if its corresponding literal is removed, and by assumption, \(\mathrm{FirstX}(G_I)=0\), hence \(\mathrm{FirstX}(G_I\setminus\{X_i\})=0.\)
Since the winner is \(w=\ell_i,\) the largest critical edge of \(G_I\setminus \{X_i\}\) must be of the form \(\ell_i \rightarrow u\), for some \(u\in G_I\setminus\{X_i\}\). We proceed by case analysis:
By [lem:guards], the winner would be in \(X_j\), since \(\mathrm{FirstX}(G\setminus\{X_i,\ell_j\})=j.\)
Then the critical edge of \(G\setminus\{X_i\}\) would be in group \(-\mathsf g5.\)
By 5, \(D\) wins. Hence, a critical edge of \(G\setminus\{X_i\}\) is \(D\toC\) that is in group \(-\mathsf g12 > -\mathsf g5.\)
By 6, \(C\) wins. Hence, a critical edge of \(G\setminus\{X_i\}\) is \(C\toD\) which is in group \(\mathsf g12>-\mathsf g5.\)
Thus, \(\ell_i\) cannot win in \(G_I\setminus \{X_i\}\) since there exists a critical edge (\(C\toD\)) in \(G_I\setminusX_i\) with a larger weight than the largest critical edge of the form \(\ell_i\to u.\)
Thus, the critical edge produced by removing \(X_i\) has weight \(<0<\mathsf g12\).
Thus, the highest critical edge in \(G_I\) is \(C\rightarrow D\), and \(C\) wins. ◻
Proof. We will show that the largest critical edge is \(D\rightarrowC\), by comparing it to all other critical edges produced by removing any node in \(V(G)\setminus\{D\}.\) We begin by removing all unpaired literals \(\ell_i\): literals for whom no guard \(X_i\) is present. A simple argument uses [lem:adding95lits95C95D95wins] to add these back at the end.
(Removing \(C\).) \(\mathrm{SSV}(G\setminus C) = D\) by [lem:D-wins-with-clauses-no-C-general], producing a critical edge in group \(-\mathsf g12\).
(Removing \(D\).) \(\mathrm{SSV}(G\setminus \{D\}) = L_k\) by 1 since \(L_k\) is unsatisfied and \(D\) is not in the graph. Hence, the critical edge produced is in group \(-\mathsf g7\).
(Removing \(L_k\).) \(\mathrm{SSV}(G\setminus\{L_k\})=C\) by [lem:c-wins-without-clauses], hence the critical edge produced is \(C\toL_k\) with weight in \(-\mathsf g7.\)
(Removing \(\ell_i\).) \(\mathrm{FirstX}(G\setminus\{\ell_i\}) = i \implies \mathrm{SSV}(G\setminus\{\ell_i\}) = X_i\), by [lem:guards]. Hence, \(X_i \rightarrow \ell_i\) is the critical edge produced, which is in group \(-\mathsf g2\).
(Removing \(X_i\).) It suffices to show that the critical edge produced by removing \(X_i\) has weight \(<- \mathsf g12\). That is, the edge \(\mathrm{SSV}(G\setminus \{X_i\}) \rightarrow X_i\) has weight less than \(-\mathsf g12.\) Suppose, for contradiction, that the critical edge has weight \(>-\mathsf g12\). The only two candidate sets for the critical edges are thus \(X_{j<i} \rightarrow X_i\) (\(\mathsf g10\)) and \(\ell_i \rightarrow X_i\) (\(\mathsf g2\)).
By [lem:guards], \(X_j\) can only win if its corresponding literal is removed, and by assumption, \(\mathrm{FirstX}(G)=0\).
Assume, for the sake of contradiction, that \(SSV(G\setminus \{X_i\}) = \ell_i\). Then the largest critical edge of \(G\setminus \{X_i\}\) must be of the form \(\ell_i \rightarrow u\), for some \(u\in V(G\setminusX_i)\). We proceed by case analysis:
By [lem:guards], the winner would be in \(X_j\).
Then the critical edge of \(G\setminusX_i\) would be in group \(-\mathsf g5.\)
By [lem:D-wins-with-clauses-no-C-general], \(D\) wins. Hence, a critical edge of \(G\setminusX_i\) is \(D\toC\) that is in group \(-\mathsf g12 > -\mathsf g5.\)
By 1, \(L_k\) wins. Hence, a critical edge of \(G\setminusX_i\) is \(L_k\toD\), which is in group \(-\mathsf g7<-\mathsf g12,\) which is smaller than the critical edge \(D\toC\) in group \(-\mathsf g12\).
by [lem:c-wins-without-clauses] \(C\) wins. Hence, a critical edge of \(G\setminusX_i\) is \(C\toL_k\), which is in group \(-\mathsf g7<-\mathsf g12,\) which is smaller than the critical edge \(D\toC\) in group \(-\mathsf g12\).
Thus, \(\ell_i\) cannot win in \(G\setminus \{X_i\}\) since there exists a critical edge (\(D\toC\)) in \(G\setminusX_i\) with a larger weight than any critical edge of the form \(\ell_i\to u.\)
Thus, the critical edge produced by removing \(X_i\) has weight \(<-\mathsf g12\).
As mentioned at the start, we use the simple argument implied by [lem:adding95lits95C95D95wins] to add back the unpaired literals and prove the claim.
Thus, the highest critical edge in \(G\) is \(D\rightarrow C\), and \(D\) wins. ◻
Proof. We proceed by induction on \(t := |V(G)|\).
(\(t = 1\)). \(V(G) = \{C\}\), so \(\mathrm{SSV}(G) = C\).
Fix \(t \ge 2\) and assume the claim holds for every admissible graph \(G'\) with \(C\in V(G')\), \(D\notin V(G')\), \(\mathrm{FirstUnsat}(G') = 0\), and \(|V(G')| < t\).
Let \(G\) be such a graph with \(|V(G)| = t\). Since \(G\) is an admissible graph, \(\mathrm{FirstX}(G) = 0\). We consider all possible critical edges produced by removing each type of node.
(Removing \(X_i\).) Since \(\mathrm{FirstX}(G) = 0\), the literal \(\ell_i\) is present in \(G\). Removing \(X_i\) does not expose any other guard, hence \(\mathrm{FirstX}(G \setminus \{X_i\}) = 0\). Removing a guard does not affect clause satisfaction, so \(\mathrm{FirstUnsat}(G \setminus \{X_i\}) = 0\). Thus \(G \setminus \{X_i\}\) is a strictly smaller admissible graph with \(C\) present, \(D\) absent, and \(\mathrm{FirstUnsat}= 0\). By the inductive hypothesis, \(\mathrm{SSV}(G \setminus \{X_i\}) = C\). Therefore, \(C\to X_i\) is a critical edge of \(G\) with weight in group \(-\mathsf g8\).
(Removing \(L_k\).) Removing a clause does not affect guards or literals, so \(\mathrm{FirstX}(G \setminus \{L_k\}) = 0\) and \(\mathrm{FirstUnsat}(G \setminus \{L_k\}) = 0\). By the inductive hypothesis, \(\mathrm{SSV}(G \setminus \{L_k\}) = C\). Therefore, \(C\to L_k\) is a critical edge of \(G\) with weight in group \(-\mathsf g7\).
(Removing \(\ell_i\) with \(X_i \in V(G)\).) We have \(\mathrm{FirstX}(G \setminus \{\ell_i\}) = i > 0\). By [lem:guards], \(\mathrm{SSV}(G \setminus \{\ell_i\}) = X_i\). The critical edge is \(X_i \to \ell_i\) with weight in group \(-\mathsf g2\). However, \(C\toX_i\) is also a critical edge with a larger weight.
(Removing a literal \(\ell_i\) with \(X_i \notin V(G)\).) Since \(X_i\) is absent, \(\mathrm{FirstX}(G \setminus \{\ell_i\}) = 0\), so \(G \setminus \{\ell_i\}\) is an admissible graph with \(C\) present and \(D\) absent.
Case 1: \(\mathrm{FirstUnsat}(G \setminus \{\ell_i\}) = 0\). By the inductive hypothesis, \(\mathrm{SSV}(G \setminus \{\ell_i\}) = C\). The critical edge is \(C\to \ell_i\) with weight in group \(\mathsf g1\).
Case 2: \(\mathrm{FirstUnsat}(G \setminus \{\ell_i\}) = r > 0\). The literal \(\ell_i\) was the unique satisfying literal for clause \(L_r\), and \(D\notin V(G \setminus \{\ell_i\})\). By 1, \(\mathrm{SSV}(G \setminus \{\ell_i\}) = L_r\). Since \(\ell_i\) satisfied \(L_r\), the edge \(\ell_i \to L_r\) lies in group \(\mathsf g3\), so the critical edge \(L_r \to \ell_i\) has weight in group \(-\mathsf g3\). But the edge \(C\toL_r\) is also critical with a larger weight.
(Removing \(C\).) Removing \(C\) does not affect guards or literals, so \(\mathrm{FirstX}(G \setminus \{C\}) = 0\). By [lem:guards], no guard wins \(G \setminus \{C\}\). Since \(\mathrm{FirstUnsat}(G \setminus \{C\}) = 0\) and \(D\notin V(G \setminus \{C\})\), 1 implies no clause wins \(G \setminus \{C\}\) either. Hence, \(\mathrm{SSV}(G \setminus \{C\}) = \ell_j\) for some literal, and the critical edge \(\ell_j \to C\) has weight in group \(-\mathsf g1\). But, as we showed in the previous cases, there is always a critical edge from \(C\) with a larger weight.
By the case analysis above, every critical edge that is not from \(C\) is dominated by a critical edge from \(C\). Therefore, the maximum critical edge is from \(C\), and hence \(\mathrm{SSV}(G)=C\). ◻
Proof of [claim:reachability]. The evaluation starts at \(G(\Phi) = G_{\alpha_{<1}}\), which is a prefix graph. We show that whenever the rule is evaluated on a graph \(G\) in \((\mathcal{P})\cup(\mathcal{A})\cup(\mathcal{F})\), every subtournament \(G\setminus\{B\}\) on which it recurses also lies in \((\mathcal{P})\cup(\mathcal{A})\cup(\mathcal{F})\); the claim then follows by induction on the depth of the recursion.
\(G = G_{\alpha_{<j}}\) is a prefix graph. If \(j = n+1\) then \(G\) is a full-assignment graph, hence admissible, and the admissible case applies. So let \(j \le n\). The proof of 1 shows that the scan on \(G\) is resolved within the group \(\mathsf g1\) edges of variables \(1,\ldots,j\): for \(i<j\) the pairs \((C,\ell_i)\) and \((D,\ell_i)\) are not critical, since \(\mathrm{FirstX}(G\setminus\{\ell_i\}) = i\) and so \(\mathrm{SSV}(G\setminus\{\ell_i\}) = X_i\) by [lem:guards]; and among the four pairs of variable \(j\), one is critical, because \(G\setminus\{F_j\}\) and \(G\setminus\{T_j\}\) are the prefix graphs of the two extensions of \(\alpha_{<j}\) and each is won by \(C\) or \(D\) by \(P(j{+}1)\). Hence the evaluated subtournaments are \(G\setminus\{\ell_i\} \in (\mathcal{F})\) for \(i<j\), and \(G\setminus\{F_j\}, G\setminus\{T_j\} \in (\mathcal{P})\).
\(G\) is admissible. Let \(B \in V(G)\) be arbitrary; we show \(G\setminus\{B\}\in(\mathcal{F})\cup(\mathcal{A})\) regardless of whether the pair is scanned. Deleting a candidate cannot make both literals of a variable present, so \(G\setminus\{B\}\) contains at most one literal per variable. Since \(\mathrm{FirstX}(G)=0\), every present guard has its literal present. If \(B = \ell_i\) is a literal with \(X_i \in V(G)\), then deleting \(B\) uncovers exactly the guard \(X_i\), so \(\mathrm{FirstX}(G\setminus\{B\}) = i \neq 0\) and \(G\setminus\{B\}\in(\mathcal{F})\). For every other \(B\) (a designated candidate, a clause, a guard, or a literal whose guard is absent), every remaining guard keeps its literal, so \(\mathrm{FirstX}(G\setminus\{B\}) = 0\) and \(G\setminus\{B\}\) is admissible.
Graphs with \(\mathrm{FirstX}(G) = {i^*}\neq 0\). By [lem:guards], \(\mathrm{SSV}(G) = X_{ {i^*}}\), so the maximum critical edge of \(G\) has the form \(X_{ {i^*}} \to u\). For every \(B \neq X_{ {i^*}}\), the guard \(X_{ {i^*}}\) remains present in \(G\setminus\{B\}\) with both of its literals absent, so \(\mathrm{FirstX}(G\setminus\{B\}) \in \{1,\ldots, {i^*}\}\), and \(G\setminus\{B\}\in(\mathcal{F})\). It remains to consider \(B = X_{ {i^*}}\), and we distinguish two cases.
If \(G\) contains at most one literal per variable: deleting \(X_{ {i^*}}\) cannot uncover a guard with a smaller index (those were covered in \(G\) and keep their literals), so \(\mathrm{FirstX}(G\setminus\{X_{ {i^*}}\})\) is either \(0\), in which case \(G\setminus\{X_{ {i^*}}\}\) is admissible, or some \(j > {i^*}\), in which case \(G\setminus\{X_{ {i^*}}\}\in(\mathcal{F})\).
If \(G\) contains both literals \(T_m, F_m\) of some variable \(m\) (note \(m \neq {i^*}\), as \(T_{ {i^*}},F_{ {i^*}}\notin V(G)\)), we show that the pair \((Z, X_{ {i^*}})\) is never scanned, for any \(Z\), so \(G\setminus\{X_{ {i^*}}\}\) never arises. Deleting \(T_m\) leaves \(F_m\) present, so no guard becomes uncovered and \(\mathrm{FirstX}(G\setminus\{T_m\}) = {i^*}\); by [lem:guards], \(\mathrm{SSV}(G\setminus\{T_m\}) = X_{ {i^*}}\), and the edge \(X_{ {i^*}}\toT_m\), which lies in group \(\mathsf g5\), is critical. Hence the maximum critical edge of \(G\) has weight at least that of a group \(\mathsf g5\) edge. On the other hand, since \(T_{ {i^*}},F_{ {i^*}}\notin V(G)\), the only positive edges entering \(X_{ {i^*}}\) come from guards \(X_j\) with \(j< {i^*}\), in group \(\mathsf g{10}\). Since \(\mathsf g5 > \mathsf g{10}\), every pair \((Z, X_{ {i^*}})\) has weight strictly below the maximum critical edge, so the scan stops before reaching it.
◻
Proof of [claim:admissible-winners]. As in 4, write \(B := \{\ell_j \in V(G) : X_j \notin V(G)\}\) for the single literals whose guards are absent, and let the core of \(G\) be the induced subtournament on \(V(G)\setminus B\). The core is admissible, contains no literal of any variable \(j\) with \(\ell_j \in B\), and consists of the designated candidates \(\{C, D\}\) present in \(G\), the paired guards and literals \(\{X_i, \ell_i : i \in I\}\), and the clause candidates of \(G\). By [lem:adding95lits95C95D95wins], if the winner of the core is \(C\) or \(D\), then it is also the winner of \(G\).
Suppose \(C, D\in V(G)\). The core then has exactly the form \(G(I,K)\) appearing in the induction statements established in the proofs of [lem:sat-C-wins,lem:unsat-D-wins]. If every clause of the core is satisfied by a present (paired) literal, the statement in the proof of [lem:sat-C-wins] gives \(\mathrm{SSV}(\mathrm{core}) = C\) (when no clause is present, this is [lem:c-wins-without-clauses]); if some clause of the core is unsatisfied, the statement in the proof of [lem:unsat-D-wins] gives \(\mathrm{SSV}(\mathrm{core}) = D\). In both cases [lem:adding95lits95C95D95wins] lifts the winner to \(G\), so \(A \in \{C,D\}\).
Suppose \(A = C\). If \(D\in V(G)\): by the dichotomy in (a), \(A = C\) forces every clause of the core to be satisfied by a paired literal; since paired literals are present in \(G\) and \(G\) has the same clauses as its core, \(\mathrm{FirstUnsat}(G) = 0\).
If \(D\notin V(G)\): by 1, the winner is a clause candidate if and only if \(\mathrm{FirstUnsat}(G) \neq 0\); since \(A = C\), \(\mathrm{FirstUnsat}(G) = 0\).
Suppose \(A = L_{{k^*}}\). First, we show \(D\notin V(G)\). If \(D\in V(G)\) and \(C\notin V(G)\), then [lem:D-wins-with-clauses-no-C-general] gives \(A = D\), a contradiction; and if \(C, D\in V(G)\), then (a) gives \(A \in \{C,D\}\), again a contradiction. Now that \(D\notin V(G)\), 1 applies and gives \(\mathrm{FirstUnsat}(G) = {k^*}\).
Suppose \(A\) is a literal. As in (c), \(D\in V(G)\) leads to \(A \in \{C,D\}\) or \(A = D\), a contradiction; so \(D\notin V(G)\). If \(C\in V(G)\): were \(\mathrm{FirstUnsat}(G) = 0\), [lem:C-wins-SAT-no-D] would give \(A = C\); were \(\mathrm{FirstUnsat}(G) \neq 0\), 1 would give a clause winner; either way a contradiction, so \(C\notin V(G)\). Finally, by 1 (with \(D\notin V(G)\)), the winner is a clause candidate if and only if \(\mathrm{FirstUnsat}(G) \neq 0\); since \(A\) is a literal, \(\mathrm{FirstUnsat}(G) = 0\).
◻
\(\mathrm{SSV}\) has exactly \(|V|\) critical edges, but \(\mathrm{SV}\) has at most \(|V|\) since defeated candidates do not produce critical edges.↩︎
The relative order within \(\mathsf g9\) does not matter; [alg:build-tournament] specifies the order we use.↩︎