1 Introduction
The complexity class TFNP is the class of all search problems such that every instance has a least one solution and any solution can be checked in polynomial time. It has attracted a lot of interest, because, in some sense, it lies between P and NP. Moreover, TFNP contains many natural problems for which no polynomial algorithm is known, such as Factoring (given a integer, find a prime factor) or Nash (given a bimatrix game, find a Nash equilibrium). However, no problem in TFNP can be NPhard, unless NP coNP [27]. Furthermore, it is believed that no TFNPcomplete problem exists [30, 32]. Thus, the challenge is to find some way to provide evidence that these TFNP problems are indeed hard.
Papadimitriou [30] proposed the following idea: define subclasses
of TFNP and classify the natural problems of interest with respect to these classes. Proving that many natural problems are complete for such a class, shows that they are “equally” hard. Then, investigating how these classes relate to each other, yields a relative classification of all these problems. In other words, it provides a unified framework that gives a better understanding of how these problems relate to each other. TFNP subclasses are based on various nonconstructive existence results. Some of these classes and their corresponding existence principle are:

PPAD : given a directed graph and an unbalanced vertex (i.e. outdegree indegree), there must exist another unbalanced vertex.

PPA : given an undirected graph and vertex with odd degree, there must exist another vertex with odd degree (Handshaking Lemma).

PPP : given a function mapping a finite set to a smaller set, there must exist a collision (Pigeonhole Principle).
Other TFNP subclasses are PPADS, PLS [24], CLS [11], PTFNP [19], EOPL and UEOPL [15]. It is known that , and . Any separation of these classes would imply P NP, but various oracle separations exist [2, 29, 4, 5] (see Section 2 for more details).
TFNP subclasses have been very successful in capturing the complexity of natural problems. The most famous result is that the problem Nash is PPADcomplete [10, 7], but various other natural problems have also been shown PPADcomplete [9, 6, 8, 25]. Many local optimisation problems have been proved PLScomplete [24, 31, 26, 14, 13]. Recently, the first natural complete problems were found for PPA [16, 17] and PPP [33]. The famous Factoring problem has been partially related to PPA and PPP [22].
NecklaceSplitting.
The natural problem recently shown PPAcomplete is a problem in fair division, called the NecklaceSplitting problem [17]. For , the premise of the NecklaceSplitting problem is as follows. Imagine that thieves have stolen a necklace that has beads of different colours. Since the thieves are unsure of the value of the different beads, they want to divide the necklace into parts such that each part contains the same number of beads of each colour. However, the string of the necklace is made of precious metal, so the thieves don’t want to use too many cuts. Alon’s famous result [1] says that this can always be achieved with a limited number of cuts.
The corresponding computational problem can be described as follows. We are given an open necklace (i.e. a segment) with beads of different colours, i.e. there are beads of colour and . Furthermore, assume that for each , is divisible by (the number of thieves). The goal is to cut the necklace in (at most) places and allocate the pieces to the thieves, such that every thief gets exactly beads of colour , for each colour . By Alon’s result [1], a solution always exists, and thus the problem lies in TFNP.
The complexity of this problem has been an open problem for almost 30 years [30]. While the 2thieves version is now resolved, the complexity of the problem with thieves () remains open. The main motivation of the present paper is to investigate the classes PPA, which are believed to be the most likely candidates to capture the complexity of NecklaceSplitting. Indeed, in the conclusion of the paper where they prove that NecklaceSplitting is PPAcomplete, FilosRatsikas and Goldberg [17, arXiv version] mention:
“What is the computational complexity of thief Necklacesplitting, for not a power of 2? As discussed in [28, 12], the proof that it is a total search problem, does not seem to boil down to the PPA principle. Right now, we do not even even know if it belongs to PTFNP [19].
Interestingly, Papadimitriou in [30] (implicitly) also defined a number of computational complexity classes related to PPA, namely PPA, for a parameter . […] Given the discussion above, it could possibly be the case that the principle associated with NecklaceSplitting for thieves is the PPA principle instead.”
Ppa.
The TFNP subclasses PPA were defined by Papadimitriou almost 30 years ago in his seminal paper [30]. Recall that the existence of a solution to a PPA problem is guaranteed by a parity argument, i.e. an argument modulo . The classes PPA are a generalisation of this. For every prime , the existence of a solution to a PPA problem is guaranteed by an argument modulo . In particular, . Surprisingly, these classes have received very little attention. As far as we know, they have only been studied in the following:

In [30] Papadimitriou defined the classes PPA and proved that a problem called Chevalleymod lies in PPA and a problem called CubicSubgraph lies in PPA.

In an online thread on Stack Exchange [21], Jeřábek provided two other equivalent ways to define PPA. The problems and proofs can be generalised to any prime .

In his thesis [23], Johnson defined the classes for any , which were intended to capture the complexity of counting arguments modulo . He proved various oracle separation results involving his classes and other TFNP classes. While the PPA classes are not mentioned by Johnson, using Jeřábek’s results [21] it is easy to show that for any prime . In Section 6, we characterise in terms of the classes PPA when is not prime. In particular, we show that only partially captures existence arguments modulo .
Our contribution.
In this paper, we use the natural generalisation of Papadimitriou’s definition of the classes PPA to define PPA for any . We then provide a characterisation of PPA in terms of the classes PPA. In particular, we show that PPA is completely determined by the set of prime factors of . In order to gain a better understanding of the inner structure of the class PPA, we also define new subclasses that we denote PPA and investigate how they relate to the other classes. We show that PPA is completely determined by the set of prime factors of .
Furthermore, we provide various equivalent complete problems that can be used to define PPA and PPA (Section 4). While these problems are not “natural”, we believe that they provide additional tools that can be very useful when proving that natural problems are complete for these classes. In Section 7, we provide an additional tool for showing that problems lie in these classes: we prove that PPA ( prime, ) and PPA () are closed under Turing reductions. On the other hand, we provide evidence that PPA might not be closed under Turing reductions when is not a prime power.
Finally, in Section 6 we investigate the classes defined by Johnson [23] and provide a full characterisation in terms of the classes PPA. In particular, we show that if is a prime power. However, when is not a prime power, we provide evidence that does not capture the full strength of existence arguments modulo , unlike PPA. This characterisation of in terms of PPA leads to some oracle separation results involving PPA and other TFNP classes (using Johnson’s oracle separation results). We note that a significant fraction of our results were also obtained by Göös, Kamath, Sotiraki and Zampetakis in concurrent and independent work [20].
2 Preliminaries
Tfnp.
Let denote the set of all finite length bitstrings and for let be its length. A computational search problem is given by a binary relation . The problem is: given an instance , find a such that , or return that no such exists. The search problem is in FNP (Functions in NP), if is polynomialtime computable (i.e. can be decided in polynomial time in ) and there exists some polynomial such that . Thus, FNP is the search problem version of NP (and FNPcomplete problems are equivalent to NPcomplete problems under Turing reductions).
The class TFNP (Total Functions in NP [27]) contains all FNP search problems that are total: for every there exists such that . With a slight abuse of notation, we can say that P lies in TFNP. Indeed, if a decision problem is solvable in polynomial time, then both the “yes” and “no” answers can be verified in polynomial time. In this sense, TFNP lies between P and NP.
Note that the totality of problems in TFNP does not rely on any “promise”. Instead, there is a syntactic guarantee of totality: for any instance in , there is always at least one solution. Nevertheless, TFNP can capture various settings where the instance space is restricted. For example, if a problem in FNP is total only on a subset of the instances and , then we can transform it into a TFNP problem by adding to for all .
Reductions.
Let and be total search problems in TFNP. We say that (manyone) reduces to , denoted , if there exist polynomialtime computable functions such that
Note that if is polynomialtime solvable, then so is . We say that two problems and are (polynomialtime) equivalent, if and .
There is also a more general type of reduction. A Turing reduction from to
is a polynomialtime oracle Turing machine that solves problem
with the help of queries to an oracle for . Note that a Turing reduction that only makes a single oracle query immediately yields a manyone reduction.Ppa.
The class PPA (Polynomial Parity Argument) [30] is defined as the set of all TFNP problems that manyone reduce to the problem Leaf [30, 2]: given an undirected graph with maximum degree 2 and a leaf (i.e. a vertex of degree 1), find another leaf. The important thing to note is that the graph is not given explicitly (in which case the problem would be very easy), but it is provided implicitly through a succinct representation.
The vertex set is and the edges are given by a Boolean circuit . For any , we abuse notation and interpret as the set . Thus, is the set of potential neighbours of . We say that there is an edge between and if and . Thus, every vertex has at most two neighbours. Note that the size of the graph can be exponential with respect to its description size.
The full formal definition of the problem Leaf is: given a Boolean circuit such that (i.e. is a leaf), find

such that (another leaf)

or such that but (an inconsistent edge)
Type 2 Problems and Oracle Separations.
We work in the standard Turing machine model, but TFNP subclasses have also been studied in the blackbox model. In this model, one considers the type 2 versions of the problems, namely, the circuits in the input are replaced by blackboxes. In that case, it is possible to prove unconditional separations between type 2 TFNP subclasses (in the standard model this would imply P NP). The interesting point here is that separations between type 2 classes yield separations of the corresponding classes in the standard model with respect to any generic oracle (see [2] for more details on this). This technique has been used to prove various oracle separations between TFNP subclasses [2, 29, 4, 5]. In Section 6 we provide some oracle separations involving PPA and other TFNP subclasses.
On the other hand, any reduction that works in the type 2 setting, also works in the standard setting. Indeed, it suffices to replace the calls to the black boxes by the corresponding circuits that compute them. In this paper, our reductions are stated in the standard model, but they also work in the type 2 setting, because they don’t examine the inner workings of the circuits.
3 Definition of the Classes
3.1 Ppa : Polynomial Argument modulo
For any prime , Papadimitriou [30] defined the class PPA as the set of all TFNP problems that manyone reduce to the following problem, that we call Bipartitemod : We are given an undirected bipartite graph (implicitly represented by circuits) and a vertex with degree (which we call the trivial solution). The goal is to find another such vertex. This problem lies in TFNP: if all other vertices had degree , then the sum of the degrees of all vertices on each side would have a different value modulo , which is impossible.
The problem remains welldefined and total if is not a prime, and so we will instead define it for any . Let us now provide a formal definition of the problem. A vertex of the bipartite graph is represented as a bitstring in , where the first bit indicates whether the vertex lies on the “left” or “right” side of the bipartite graph. Given a vertex, a Boolean circuit outputs the set of its neighbours (at most , see Remark 1). Note that we can syntactically enforce that the graph is bipartite, i.e. a vertex can only have neighbours of the type and viceversa.
Definition 1 (Bipartitemod [30]).
Let . The problem Bipartitemod is defined as: given a Boolean circuit that computes a bipartite graph on the vertex set with , find

such that

or such that but .
Here the trivial solution is the vertex . The first type of solution corresponds to a vertex with degree . The second type of solution corresponds to an edge that is not welldefined. We can always ensure that all edges are welldefined by doing some preprocessing. Indeed, in polynomial time we can construct a circuit such that all solutions are of the first type and yield a solution for . On input the circuit first computes and then for each removes from this list, if .
Remark 1.
Note that in this problem statement we take all degrees to lie in . This is easily seen to be equivalent to the more general formulation, since any vertex with degree higher than can be split into multiple vertices that each have degree at most , and a solution of the original problem is easily recovered from a solution in this new version. Note that since the set of neighbours is given as the output of a circuit, it will have length bounded by some polynomial in the input size and so this argument can indeed be applied.
Definition 2 (Ppa [30]).
For any , the class PPA is defined as the set of all TFNP problems that manyone reduce to Bipartitemod.
As a warmup let us show the following:
Proposition 1 ([30]).
PPA PPA
Proof.
Recall that PPA can be defined using the canonical complete problem Leaf [30, 2]: given an undirected graph where every vertex has degree at most 2, and a leaf (i.e. degree ), find another leaf. This immediately yields PPA PPA, since Bipartitemod is just a special case of Leaf where the graph is bipartite.
Given an instance of Leaf with graph we construct an instance of Bipartitemod on the vertex set as follows. For any we have a vertex on the left side of the bipartite graph. For any edge ( ordered lexicographically) we have a vertex on the right side of the bipartite graph and we create the edges and . All other vertices in are isolated. In polynomial time we can construct a circuit that computes the neighbours of any vertex. Furthermore, is a leaf, if and only if has degree 1. Finally, all vertices on the righthand side have degree 0 or 2. ∎
3.2 Ppa : Fixing the degree of the trivial solution
In the definition of the PPAcomplete problem Bipartitemod (Definition 1) the degree of the trivial solution can be any number in . In this section we define more refined classes where the degree of the trivial solution is fixed. In Section 5, these classes will be very useful to describe how the PPA classes relate to each other. These definitions are inspired by the corresponding “counting principles” studied in Beame et al. [3] that were also defined in a refined form in order to describe how they relate to each other. We believe that these refined classes will also be useful to capture the complexity of natural problems. Note that for , the degree of the trivial solution will be always be and thus the question does not even appear in the study of PPA.
Definition 3.
Let and . The problem Bipartitemod is defined as Bipartitemod (Definition 1) but with the additional condition .
Note that this condition can be enforced syntactically and so this problem also lies in TFNP.
Definition 4 (Ppa).
Let and . The class PPA is defined as the set of all TFNP problems that manyone reduce to Bipartitemod.
If is some prime , then these classes are not interesting. Indeed, it holds that PPA PPA for all . This can be shown using the following technique: take multiple copies of the instance and “glue” the trivial solutions together. If is prime, then any other degree of the glued trivial solution can be obtained (by taking the right number of copies). In fact this technique yields the stronger result:
Lemma 1.
If divides , then PPA PPA.
Proof.
Since divides , there exists such that . Given an instance of Bipartitemod, take the union of copies of the instance, i.e. vertices on each side (and any additional isolated vertices needed to reach a power of ). Then, merge the different copies of the trivial solution into one (by redirecting edges to a single one). This vertex will have degree . Finally, apply the usual trick to ensure all degrees are in (Remark 1). ∎
In particular, we also get the nice result PPA PPA. Applying the result to the case , we get that PPA PPA, PPA PPA, as well as PPA PPA and PPA PPA. Thus, we have three “equivalence classes” , and and the relationships and . In Section 5, we will show that corresponds to PPA, to PPA and to PPA PPA.
Now let us introduce some notation that will allow us to precisely describe the relationship between PPA and the PPA.
Definition 5 ( operation [5]).
Let and be two TFNP problems. Then the problem is defined as: given an instance of , an instance of and a bit , find a solution to .
This operation is commutative and associative (up to manyone equivalence). Indeed, is manyone equivalent to , and is manyone equivalent to . Since the operation is associative, the problem is welldefined up to manyone equivalence. It is also equivalent to the following problem: given instances of and an integer , find a solution to .
We extend the operation to TFNP subclasses in the natural way. Let and be TFNP subclasses with complete problems and respectively. Then is the class of all TFNP problems that manyone reduce to . Note that the choice of complete problems does not matter. Intuitively, this class contains all problems that can be solved in polynomial time by a Turing machine with a single oracle query to either or . The following result is easy to prove:
Lemma 2.
For all we have PPA PPA.
Together with Lemma 1, this yields e.g. PPA PPA PPA.
4 Equivalent Definitions
In this section we show that PPA can be defined by using other problems instead of Bipartitemod. The totality of these problems is again based on arguments modulo . By showing that these problems are indeed PPAcomplete, we provide additional support for the claim that PPA captures the complexity of “polynomial arguments modulo ”. While these problems are not “natural” and thus not interesting in their own right, they provide equivalent ways of defining of PPA, which can be very useful when working with these classes. In particular, we make extensive use of this equivalence in this work.
The TFNP problems we consider are the following:

Imbalancemod : given a directed graph and a vertex that is unbalancedmod, i.e. outdegree indegree , find another such vertex.

Hypergraphmod : given a hypergraph and a vertex that has degree , find another such vertex or a hyperedge that has size .

Partitionmod : given a set of size and a partition into subsets, find a subset that has size .
As usual, the size of the graph (respectively hypergraph, set) can be exponential in the input size, and the edges (resp. hyperedges, subsets) can be computed efficiently locally. We also define the corresponding problems Imbalancemod, Hypergraphmod and Partitionmod analogously. The formal definitions of all these problems are provided in Section 4.1.
Theorem 1.
Let and .

Imbalancemod, Hypergraphmod, Partitionmod are PPAcomplete,

Imbalancemod, Hypergraphmod, Partitionmod are PPAcomplete.
In his online post [21], Jeřábek proves that Bipartitemod, Imbalancemod and Partitionmod are equivalent and (correctly) claims that the proof generalises to any other prime. Thus, our contribution is the definition of the problems for any (and the parameter versions) and the generalisation of the result to any (not only primes) and to the parameter versions of the problems, as well as to the new problem Hypergraphmod. The proof of Theorem 1 can be found in Section 4.2.
The problem Imbalancemod is a generalisation of the PPADcomplete problem Imbalance [2, 18] : given a directed graph and a vertex that is unbalanced (i.e. outdegree indegree ), find another unbalanced vertex. Since the latter trivially reduces to the former, Theorem 1 also yields^{1}^{1}1This observation was also made by Jeřábek for the classes PPA ( prime).:
Corollary 1.
For all , we have PPAD PPA.
Furthermore, if we set , then Imbalancemod actually corresponds to Imbalance. Thus, in a certain sense we could define . On the other hand, Imbalancemod is a trivial problem.
4.1 Formal definitions
A directed graph on the vertex set is represented by Boolean circuits that output the successor and predecessor list (respectively) of a given vertex. As usual, it is enough to consider the case where in and outdegree of any vertex is at most , since the general case reduces to this (analogously to Remark 1). Note that even though we take the output of the circuits to be in , we can also have successors/predecessors, e.g. by filling out the list with copies of the string until it reaches length . The following problem was defined by Jeřábek [21], but only for prime and without the parameter version.
Definition 6.
Let . The problem Imbalancemod is defined as: given Boolean circuits with , find

such that

or such that but , or but .
For , Imbalancemod is defined with the additional condition .
A hypergraph is represented as follows. For every vertex in , a circuit outputs (explicitly) the list of all hyperedges containing . As usual, we only need to consider the case where every vertex is contained in at most hyperedges and every hyperedge has size at most . Thus, output bits are indeed enough.
Definition 7.
Let . The problem Hypergraphmod is defined as: given a Boolean circuit that represents a hypergraph with , find

such that

or such that contains a hyperedge of size

or such that and are not consistent with one another.
For , Hypergraphmod is defined with the additional condition .
Note that for this problem corresponds to the PPAcomplete problem Odd [30, 2]: given an undirected graph and a vertex with odd degree, find another one.
In the definition of the following problem we identify and in the natural way. This problem is inspired by the problems defined by Buss and Johnson [5] (for prime ) and by Johnson [23] (for any ). In Section 6 we argue that, unlike the problem defined below, the problems only partially capture the complexity of arguments modulo (when is not a prime power). The problem was also defined by Jeřábek [21], but only for prime and without the parameter version.
Definition 8 (Partitionmod).
Let . The problem Partitionmod is defined as: given with and a Boolean circuit , such that for all , find

and such that and ,

or such that
where ( times) and means that divides .
For , Partitionmod is defined with the additional condition .
The circuit encodes a partition as follows: lies in the subset given by the orbit of with respect to , i.e. . For this problem corresponds to the PPAcomplete problem Lonely [2].
4.2 Proof of Theorem 1
We omit some details that are easy to fill in. For example, when given an instance of Imbalancemod, we assume that all the edges are welldefined, i.e. solutions of the second type never occur. Indeed, given a generic instance of the problem, it can be reduced to an instance where this holds by modifying the circuits so that they check and correct the successor/predecessor list before outputting it. Note that in the new instance only solutions of the first type can occur, but they can yield a solution of the second type of the original problem. The same observation also holds for Bipartitemod (edges welldefined), Hypergraphmod (hyperedges welldefined) and Partitionmod (size of any subset divides ).
Bipartitemod Hypergraphmod :
We construct a hypergraph on the vertex set . We identify every vertex of the hypergraph with the vertex on the lefthand side of the bipartite graph. The hyperedges are given by the vertices on the righthand side of the bipartite graph. More precisely, if for every righthand side vertex we let be the set of neighbours (on the lefthand side), then the set of hyperedges is exactly . Note that given , we can find all the hyperedges containing in polynomial time. Furthermore, since the vertex has degree in the bipartite graph, the corresponding vertex in the hypergraph will also have degree . It is easy to check that any solution of the Hypergraphmod instance (in particular also any hyperedge that has not size ) yields a solution to the Bipartitemod instance.
Hypergraphmod Imbalancemod :
We construct a directed graph on the vertex set . For each vertex of the hypergraph there is a vertex in the directed graph (e.g. ) and for each hyperedge of the hypergraph there is a vertex in the directed graph (e.g. where ordered lexicographically). We put a directed edge from to iff (i.e. iff appears in the hyperedge list of ). All other vertices are isolated. Note that has imbalance and for any vertex in we can compute the predecessors and successors in polynomial time. If there is an imbalance modulo in a vertex , then the corresponding hyperedge does not have size . If there is an imbalance modulo in a vertex , then has degree in the hypergraph.
Imbalancemod Partitionmod :
Consider an instance of Imbalancemod. Split every vertex into two vertices and , such that gets all the incoming edges and gets all the outgoing edges. If was balanced, i.e. indeg() outdeg() , then we add edges from to . We can assume that outdeg() and indeg() (just create a copy of that takes indeg() incoming and outgoing edges), and thus outdeg() and indeg() . Note that we are using multiedges, which are not allowed in the definition of the problem. However, this is fine, since this is just an intermediate step of the reduction. This new instance has the property that no vertex has both incoming and outgoing edges. Furthermore, any solution (i.e. a vertex with in or outdegree not in , except ) yields a solution of the original instance.
Thus, we can assume wlog that the Imbalancemod instance (with multiedges) is such that no vertex has both incoming and outgoing edges. We construct an instance of Partitionmod on the set . Every vertex of the directed graph has corresponding elements in the set , namely , , . If does not have any outgoing edges, then form a subset of the partition, i.e. . If has outgoing edges to (, ordered lexicographically), then for every we put in a subset that we denote . are put into isolated subsets, i.e. for all . Note that if has incoming edges, then will contain elements. Given any element , we can compute all the elements in its subset in polynomial time (and thus efficiently construct that cycles through them in lexicographic order). Furthermore, since outdeg() , the vertices will be in singleton sets. Consider the subset of . Then . It is easy to check that any element in that is not contained in a subset of size (according to ), must yield a solution to the Imbalancemod instance. Finally, the last step is to construct an efficient bijection between and the set of all integers , which is easy to do. Thus, we have reduced the original instance to an instance of Partitionmod with inputs and (modified according to the bijection).
Partitionmod Bipartitemod :
Let us consider any instance of Partitionmod with parameter . In particular, it holds that and . We construct a bipartite graph as follows. On each side there are vertices. Most of those vertices will be isolated. Let and denote the set of vertices on the left and right side respectively. We can define a canonical partition of the numbers into sets of size (and one set of size ). For example, , , etc. A vertex in is valid, if it contains a lexicographically ordered list of vertices that all lie in the same set in the canonical partition. For the set of size in the canonical partition, we introduce a special case: it is represented by . Thus, for any , we can define , which is the valid vertex in that is associated to it.
Every subset in the partition of given by the Partitionmod instance, yields a vertex in (e.g. , where is the bitstring of the lowest number in the subset). For every such vertex we add an edge to , for all in this subset of the partition. Note that we can have and and lying in the same subset in the Partitionmod instance too. Thus, the bipartite graph we have constructed may have multiedges. We resolve this by using the Mitosis gadgets described below. Note that the vertex will have degree . It is easy to check that any other vertex with degree yields a solution to the original Partitionmod instance.
Mitosis gadgets.
Let . We now show how to construct a small bipartite graph such that exactly one vertex on each side has degree and all other vertices have degree (or ). This “gadget” can then be used to increase the degree of two vertices (one on each side of the bipartite graph) without adding any solutions, i.e. vertices with degree .
The gadget is a bipartite graph with vertices on each side: and . It contains all the edges for , except the edge . It also contains the edges and . Thus, all vertices have degree , except for and which have degree .
We call this the “Mitosis” gadget, because it allows us to duplicate edges that already exist. Let and be two vertices in a bipartite graph, one on each side. Furthermore, consider the case where there is an edge . We would like to increase the degree of and by , but without introducing any new solutions, in particular without introducing any vertex with degree . Using the Mitosis gadget, we can just add new vertices and , and identify with and with . Adding the corresponding vertices of the gadget yields a bipartite graph where the degree of and has increased by , but no new solutions have been introduced. Note that this gadget can, in particular, be used to turn a bipartite graph with multiedges into one without them, without changing the degree of existing vertices and without adding any new solutions.
5 Relationship Between the Classes
In this section, we present some results that provide deeper insights into how the classes relate to each other. For any , denotes the set of all prime factors of . The main conceptual result is that PPA is entirely determined by the set of prime factors of :
Theorem 2.
For any we have PPA PPA.
This equation can be understood as saying the following:

Given a single query to an oracle for PPA, we can solve any problem in PPA for any

Given a single query to an oracle that solves any PPA problem for any , we can solve any problem in PPA.
Corollary 2.
In particular, we have:

For , if , then PPA PPA.

For all , PPA PPA PPA.

For all and all we have PPA PPA.
Using the PPA classes, we can formulate an even stronger and more detailed result. For any , , we define . In this case the conceptual result says that PPA is entirely determined by the set of prime factors of .
Theorem 3.
Let , . Then
The proof of Theorem 3 can be found in the next section. Before we move on to that, let us briefly show that Theorem 2 follows from Theorem 3.
Proof of Theorem 2.
5.1 Proof overview
Proof of Theorem 3.
All containment results follow from Theorem 4 below, except
Let . We will show how to combine a set of instances , where is an instance of Partitionmod, into a single instance of Partitionmod, where , such that any solution to this instance yields a solution to one of the instances. Without loss of generality, we can assume that the parameter is the same for all instances. Without loss of generality, we can assume that for all , because we can add at most classes of size to achieve this (see the proof of Lemma 5). Note that we then have . Furthermore, for and with we can define if and only if for all , where means that and lie in the same set in instance . If for all , lies in a set of size in , then will lie in a set of size . Thus any solution yields a solution to one of the original instances. The details to fully formalise this are very similar to the proof of Lemma 6. ∎
In [3] Beame et al. investigated the relative proof complexity of socalled “counting principles”. These counting principles are formulas that represent the fact that a set of size cannot be partitioned into sets of size . They investigated the relationship between these principles in terms of whether one can be proved from the other by using a constantdepth, polynomialsize Frege proof. Their main result is a full characterisation of when this is possible or not. As noted by Johnson [23], these counting formulas do not yield NP search problems, but they can be related to corresponding NP search problems (TFNP, in fact). Indeed, Johnson uses this connection to obtain some separation results between his classes (see Section 6) from Beame et al.’s negative results. Our contribution is using Beame et al.’s positive results in order to prove inclusion results about the PPA classes. More precisely, we modify their proofs to obtain polynomialtime reductions between our Partitionmod problems. Thus, we obtain the following analogous result:
Theorem 4.
Let and for . If , then .
Proof.
From Lemma 1 we know that PPA = PPA for . The result then follows from a few technical lemmas proved in Appendix A:
∎
6 Johnson’s Classes and Oracle Separations
Inspired by the definition of the PPAcomplete problem Lonely [2], Buss and Johnson [5] defined TFNP problems called to represent arguments modulo some prime . Their main motivation was to use these problems to show separations (in the type 2 setting) between Turing reductions with oracle queries and Turing reductions with oracle queries. In his thesis [23], Johnson generalised the definition of to any and defined corresponding classes . He also proved some separations between these classes and other TFNP classes in the type 2 setting (which yield oracle separations in the standard setting). It seems that Johnson was not aware of Papadimitriou’s [30] PPA classes.
In this section, we study the classes and prove a characterisation in terms of the classes PPA. In particular, we show that does not capture the full strength of arguments modulo , when is not a prime power. This characterisation also allows us to use Johnson’s separations to obtain some oracle separations involving PPA and other TFNP classes.
Informally, the problem can be defined as follows. We are given a partition of into subsets and the goal is to find one of these subsets that has size . If is not a power of , then such a subset must exist. If is a power of , then we instead consider and the problem remains total.
Definition 9 ( [5, 23]).
Let . The problem is defined as: given a Boolean circuit with inputs and outputs,

If is not a power of : Find

and such that and ,

or such that


If is a power of : Let additionally and find

and such that and ,

or such that

where ( times) and means that divides .
Definition 10 ( [23]).
For any , the class is defined as the set of all TFNP problems that manyone reduce to .
Note that the problem is a special case of our problem Partitionmod (which was indeed inspired by this definition). As a result, we immediately get that . Unless is a prime power, we don’t expect this to hold with equality. The intuition is that restricting the size of the base set to always be a power has the effect of only achieving a subset of the possible parameter values of PPA. Namely, only are achieved (for not a power of 2).
Johnson proves a lemma [23, Lemma 7.4.5] that gives some idea of how the classes relate to each other. It can be stated as follows: if , where the are distinct primes, then . He proves this if all and claims that the proof also works if some . However, if some then the proof does not work. This is easy to see, since our results below prove that which is not equal to , unless . However, Johnson proves that in the type 2 setting.
The following result provides a full characterisation of in terms of the classes PPA.
Theorem 5.
Let .

if is not a power of , then where is the largest odd divisor of

if is a power of , then .
The proof of Theorem 5 is given below in Section 6.1.
Corollary 3.
In particular, we have:

for all primes and ,

for all ,

for all odd ,
If is a prime power, then is the same as PPA. However, for other values of , we argue that fails to capture the full strength of arguments modulo . For example, , whereas . This means that PPA can solve any problem that lies in PPA or PPA, while can only solve problems that lie both in PPA and PPA. In particular, if , then it would follow that , which is not believed to hold (see oracle separations below). Even worse perhaps, is the fact that for any . In particular, this means that , which indicates that does not really capture arguments modulo .
Nevertheless, Johnson’s oracle separation results (obtained from the corresponding type 2 separations as in [2]) also yield corresponding results for the PPA classes (using Theorem 5). We briefly mention a few of the results obtained this way. See Johnson [23, Chapter 8] for additional results. Relative to any generic oracle (see [2]):

for any distinct primes

, , for any

, for any prime
6.1 Proof of Theorem 5
For , corresponds to the PPAcomplete problem Lonely [2], and thus . Let . Consider an instance of Partitionmod on the set
Comments
There are no comments yet.