Catalytic Computing and Register Programs Beyond Log-Depth
Abstract
In a seminal work, Buhrman et al. (STOC 2014) defined the class of problems solvable in space with an additional catalytic tape of size , which is a tape whose initial content must be restored at the end of the computation. They showed that uniform TC1 circuits are computable in catalytic logspace, i.e., , thus giving strong evidence that catalytic space gives L strict additional power. Their study focuses on an arithmetic model called register programs, which has been a focal point in development since then.
Understanding CL remains a major open problem, as TC1 remains the most powerful containment to date. In this work, we study the power of catalytic space and register programs to compute circuits of larger depth. Using register programs, we show that for every ,
On the other hand, we know that . Our result thus shows an factor improvement on the free space needed to compute SAC2, at the expense of a nearly-polynomial-sized catalytic tape.
We also exhibit non-trivial register programs for matrix powering, which is a further step towards showing .
Keywords and phrases:
catalytic computing, circuit classes, polynomial methodFunding:
Yaroslav Alekseev: Supported by ISF grant 507/24.Copyright and License:
2012 ACM Subject Classification:
Theory of computation Circuit complexity ; Theory of computation Complexity classesEditors:
Paweł Gawrychowski, Filip Mazowiecki, and Michał SkrzypczakSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
1.1 Catalytic Computation
In the realm of space-bounded computation, the catalytic computing framework, first introduced by Buhrman et al.[10], investigates the power of having additional storage which has to be restored to its original value at the end of computation. A catalytic Turing machine is a space-bounded Turing machine with two read-write tapes: a standard work tape of size and an additional, dedicated catalytic tape of size . However, the catalytic tape begins completely filled in with some memory , and despite being available for use as work space, the catalytic tape must be restored to its initial state at the end of the computation.
While , the class of functions solvable with work space and catalytic space , clearly sits between and , naïvely it might seem that catalytic space should not improve the power of machines, as was conjectured in many previous works [19, 33, 24, 29]. Unexpectedly, [10] showed that catalytic logspace (), the catalytic analogue of the complexity class L, contains the circuit class TC1, which contains non-deterministic and randomized logspace (NL and BPL, respectively) as well as functions, such as determinant, widely believed to be outside both. Thus, they gave a strong case for the power of catalytic memory as a resource.
Building on this result, the catalytic approach and its methods have seen growing interest. Many follow-up works have sought to understand variants and properties of catalytic space have been studied, such as non-deterministic and randomized analogues [11, 22, 14, 31], non-uniform catalytic models [37, 40, 17, 18], robustness to errors in catalytic resetting [28, 25], catalytic communication protocols [39], and other variants [27, 6, 5] (see surveys by Koucký [30] and Mertz [35] for more discussion of these and other works).
Furthermore, applying catalytic tools to other complexity-theoretic questions has seen successful results in recent years. Two of the most successful approaches have been 1) approaches to derandomizing non-catalytic space-bounded classes [38, 23, 32]; and 2) space-bounded algorithms for function composition [15, 16, 18], which recently culminated in a breakthrough simulation by Williams [46] of time with quadratically less space.
Nevertheless, the exact strength of catalytic space remains open. In their first work, [10] showed , with the key open problem being the relationship of CL to P. Further work has shown slight progress on both ends; Cook et al. [14] showed that CL reduces to the lossy coding problem, which itself is in ZPP, while Agarwala and Mertz [1] showed that bipartite matching, a function not known to be anywhere in the NC hierarchy, can be solved in CL.
The key open question in this work is whether or not CL contains higher levels of the NC hierarchy. Mertz [35] posed a concrete approach to showing via register programs, which we turn to now.
1.2 Register Programs
Register programs were first introduced by Coppersmith and Grossmann [21], and revived later by Ben-Or and Cleve to generalize Barrington’s theorem to arithmetic circuits [12, 13]. A register program over a ring and a set of inputs is defined as a sequence of instructions applied to a set of registers .
The key technique of Buhrman et al. [10] was based on register programs, which they showed can be directly simulated on a catalytic machine. They constructed a register program computing the th power of some value with registers and accesses to the value ; using some extensions and other works, they showed that CL contains the circuit class TC1. This was also the driving force behind the result of Cook and Mertz [18], and by extension the work of Williams [46], who showed that the Tree Evaluation problem, which was suggested as a function which would separate L from P [19], can be computed in space .
As with catalytic space more generally, the power of register programs is still a mystery and deserves to be investigated thoroughly. The approach suggested in [35] for CL versus NC2 is to find a register program computing the th power of a matrix with a register program matching the initial result of [10] in the non-commutative setting. More generally, it was proposed that further algebraic extension of these and other works could pave the way to improving the strength of CL.
1.3 Our Results
In this work, we investigate the complexity of computing polynomials in the register program framework, and make the first progress towards catalytic algorithms for circuit classes beyond TC1. We present register programs for different kinds of polynomials (such as symmetric polynomials and polynomials representing Boolean functions), as well as more efficient programs for evaluating non-constant depth boolean circuits with a constant number of recursive calls.
From this, we deduce that the class SAC2 of Boolean circuits of polynomial size and depth , with bounded fan-in gates and unbounded fan-in gates, can be computed with work space when given access to nearly polynomial catalytic space.
Theorem 1.
For all ,
Our technique also gives such an improvement for NC2 with only polynomial catalytic space, although this can be derived more directly from the results of [10]. It also extends to #SAC2, the arithmetic variant of SAC2.
Second, we show sublinear register programs to compute matrix powering, thus making initial progress towards the program of [34]:
Theorem 2.
Let , where is prime. Let . For all there is a register program that computes with
-
recursive calls to ,
-
basic instructions, and
-
registers over .
1.4 Main Contribution
We introduce a novel clean register program for computing multivariate polynomials. Current state-of-the-art register programs for degree multivariate polynomials require recursive calls and registers [18]. Our approach dramatically reduces the number of recursive calls to a constant number, albeit at the cost of using more registers. This efficiency gain stems from our fundamental observation: the number of recursive calls is solely dependent on the number of multiplications.
Therefore, unlike traditional techniques that compute the polynomial directly or rely on interpolation, we propose a new strategy: constructing weaker polynomial representations, composed exclusively of additions and powers, over larger fields. This generalizes the technique employed in [10] for computing unbounded Majority gates. As established in [10] and [12], and as we will further elaborate, a class of functions admitting register programs with at most recursive calls implies the existence of a register program cleanly computing depth-d circuits comprising functions from this class by register programs with at most recursive calls. This register program can thus be described in space. Our register program for polynomials, by achieving a constant number of recursive calls, allows us to eliminate this term, thereby reducing the descriptive complexity for those circuits.
2 Preliminaries
2.1 Circuits
A Boolean circuit is a directed acyclic graph with -valued inputs and outputs. Internal nodes (gates) are labeled with Boolean operations from a given set . The circuit size is the number of nodes, and its depth is the longest input-output path. While Boolean circuits had been studied earlier [43], their importance for parallel computing gained significant attention in the late 1970s [7, 36, 41, 8].
Definition 3.
We define the following circuit families over input literals
:
-
NC circuits: fan-in 2 AND and OR gates
-
SAC circuits: fan-in 2 AND gates and unbounded fan-in OR gates111Since is closed under complement for all (see [9]), these fan-ins can also be reversed, but for our argument we specifically use this version.
-
AC circuits: unbounded fan-in AND and OR gates
-
TC circuits: unbounded fan-in threshold gates
We denote by , , the family of functions computable by NC SAC, AC, TC circuits of polynomial size and depth. By NC we denote and similarly for SAC, AC, and TC.
The relations between these different classes have been extensively studied [41, 45]. For all , we have the following relations:
As a consequence, we have that
Furthermore, other lines of research [7, 20, 44] have established other relationships for (logspace) uniform circuit classes:
While all containments are widely conjectured to be strict, no separations are known.
2.2 Catalytic Computation
Central to this work is the notion, introduced by Buhrman et al. [10], of catalytic space.
Definition 4.
A catalytic Turing machine with work space and catalytic space is a space-bounded Turing machine with access to two read-write tapes: a standard work tape of size , and a catalytic tape of size . The catalytic tape has the additional restriction that for every , if we run on any input with the catalytic tape in initial configuration , the catalytic tape has final configuration as well.
This definition gives rise to natural complexity classes:
Definition 5.
We define as the class of problems solvable by a catalytic Turing machine with a work tape of size and a catalytic tape of size . Furthermore, we denote catalytic logspace to be .
We can view CL as a logspace machine equipped with the maximal effective amount of catalytic tape. Indeed, if a space has a catalytic tape of size , then storing the catalytic tape’s head’s position would already exceed its free space . This suggests that, beyond , a catalytic tape offers no additional computational power.
2.3 Register Programs
Inspired by Ben-Or and Cleve’s work on straight-line programs and and their simulation of NC1 circuits on this model [3, 12], Buhrman et al. [10] investigated the potential for optimization on a wider class of circuits, examining a more generic type of computational model due to Coppersmith and Grossman [21].
Definition 6.
Let be a ring. An -register program over input with space is defined as a sequence of instructions applied to a set of registers , where each instruction has one of the following two forms:
-
Basic instruction: updating a register with a polynomial over the other registers:
-
Input access/Recursive call: adds the input (scaled by some ) to one register :
The time of the register program is the number of instructions .
Furthermore, a register program computes a function if there is a set of registers , initially holding some value , such that, once all the instructions are applied, we have:
With regards to such subroutines, it will be important to restrict our register programs to be of a form amenable to composition:
Definition 7.
A -register program cleanly computes a function if, assuming all registers are initialized to some initial value, :
-
The register program computes on a subset of registers
-
For every other register , .
We note that in Definition 6, we use the term input access when we are given direct access to the input , while we use the term recursive call when we are designing a subroutine whose input is being received not from the global function but rather from some preceding intermediate computation. We will make this distinction clear where necessary.
We present the following composition lemma to highlight the distinction between these two terms, and also to illustrate the use of clean computation.
Lemma 8 (Composition Lemma).
Let and be functions. Let and be clean register programs computing and with and input accesses, and basic instructions, and and registers, respectively. Then there exists a clean register program that computes with
-
input accesses,
-
basic instructions, and
-
registers.
Proof.
Let and let , so . We can cleanly compute using , with recursive calls to , basic instructions and registers.
On the other hand, we can cleanly compute into the registers of using input accesses and basic instructions for each of the recursive calls made to .
There are now two cases:
-
If , since cleanly computes , we can use the additional registers of to compute .
-
If , we add registers and compute using the latter registers as well as the additional registers of .
Thus we can compute with input accesses to and registers.
Lastly, we connect clean register programs to catalytic computation:
Lemma 9 (Lemma 15 in [10]).
Any clean register program of time , space , and with inputs over a finite ring can be simulated by a catalytic Turing machine in pure space and catalytic space .
2.4 Polynomial Representation
The question of representing Boolean functions as multivariate polynomials over a ring has been intensively studied and has proven to be a useful tool in circuit complexity (see [2] for a survey). We will consider two kinds of representation: one that we will call the representation of , and the other the weak representation of .
Definition 10.
Let be a polynomial on variables over a ring , and let be a Boolean function with inputs. We say represents if for all inputs , we have if and only if .
Let us underline the difference between these two definitions of representation with an example. Let us consider the -ary AND function. Observe that the polynomial over any , where , weakly computes AND. Indeed, we can take and . On the other hand, does not represent AND, and in general, it is known that AND cannot be represented by a degree polynomial.
Definition 11.
We will say that a Boolean function has a -representation if there is a degree polynomial which represents it. We also define -representation, where additionally the polynomial is required to have at most monomials.
3 Register Programs for Polynomials
To prove our main theorem, our main task will be to find an efficient register program to cleanly compute multivariate polynomials. In this section, we present such a register program for multivariate polynomials for , for any prime , as well as a register program specifically for the Boolean case.
3.1 Computing Univariate Polynomials
In order to prove , [10] designs a register program to compute for any element in a commutative field. We state a straightforward generalization of their lemma and corresponding program to compute arbitrary univariate polynomials:
Lemma 12.
Let be a prime number, and let be a univariate polynomial of degree at most . For all , there is a clean register program that computes with
-
input accesses to ,
-
basic instructions, and
-
registers.
Proof.
Let for some coefficients . Let be a register initially equal to , in which we will apply our input accesses on .
It is straightforward to show, by writing as , that
Making this observation, [10] presents in Lemma a register program that cleanly computes with registers and input accesses.
We will use the latter register program to compute to construct a register program to compute , given in Figure 1.
As discussed in [10, 18], this program can be adapted to compute a set of polynomials with similar parameters:
Lemma 13.
Let be a prime number, and let be univariate polynomials of degree at most . For all , there is a clean register program that cleanly computes with
-
recursive calls to ,
-
basic instructions, and
-
registers.
Proof.
The program is the same as that of Lemma 12, but with each instruction involving replaced by instructions of the same form, where each involves a different output register and the corresponding polynomial .
3.2 Computing Multivariate Polynomials
In the last section, we showed that computing powers of elements in a commutative ring can be done with a constant number of recursive calls. Moreover, it should be clear that computing the sum of variables is an easy operation: we simply add each variable to a fixed output register in turn (see [10]).
Thus, our goal is to represent our polynomial in a way that requires only addition and powering operations.
Theorem 14 ([42, 4]).
Let be a homogeneous polynomial of degree . There exist , elements and elements such that:
Moreover, .
Representing our polynomial in that form does not involve any multiplication. We can thus describe a register program that computes a polynomial in recursive calls:
Lemma 15.
Let be a homogeneous degree polynomial over . There is a register program that cleanly computes with
-
recursive calls to each ,
-
basic instructions, and
-
registers over .
Proof.
We use Theorem 14 and write as:
Let and . Then by the above discussion:
-
can be cleanly computed with recursive call to each , basic instructions, and register.
-
can be cleanly computed with recursive calls, basic instructions, and registers using the register program from Lemma 12.
Hence combining Lemma 8 and slightly modifying the register program from Lemma 13 to share the same output register, there exists a register program that cleanly computes in with:
-
recursive calls to each ,
-
basic instructions, and
-
registers,
as required in the statement of the lemma.
This register program immediately generalizes to a non-homogeneous polynomial by considering the decomposition , where each is a homogeneous degree polynomial.
Corollary 16.
Let be a degree polynomial over . There is a register program that cleanly computes with
-
recursive calls to each ,
-
basic instructions, and
-
registers over .
This register program has the advantage of employing a constant number of recursive calls. However, this method has two caveats. First, the cost in the number of registers is superpolynomial when is non-constant. Second, the degree is upper bounded by the field size.
Concerning the field issue, we will instead consider the field for some , such that . Observe that for any degree polynomial over where the coefficients are smaller than , the polynomial evaluation for , where , is upper bounded by
Hence, we can first evaluate over a field of size . This yields the most general register program, yet leaves the problem with the number of registers unresolved.
Corollary 17.
Let be a degree polynomial over . There is a register program that cleanly computes with
-
recursive calls to each ,
-
basic instructions,
-
registers over , where , and
-
register over .
We also note one register program of orthogonal strength, namely greater in recursive calls but much less in space. In order to prove that Tree Evaluation is in (later improved by Stoeckl, see [26]), Cook and Mertz [18] present a register program to compute multivariate polynomials, which we will also use later:
Lemma 18.
Let be a polynomial of degree over a prime field . There exists a register program that cleanly computes with:
-
registers, including a single output register,
-
basic instructions,
-
instructions of the type or its inverse , where:
3.3 Computing Boolean functions
In the preceding section, we presented a register program to compute polynomials over any finite field. However, for the case of polynomials over , i.e. Boolean functions, there are specific properties that we can exploit to make them simpler to compute, the most important being that any polynomial over is multilinear since .
Since any Boolean function is uniquely represented by a polynomial over , we will directly consider Boolean functions in this section. Let us present a register program that computes any Boolean function given a representation of .
Let us first consider the case of symmetric functions. Given a symmetric function in variables, there is some univariate polynomial such that . We can compute using Lemma 12, which yields the following register program:
Lemma 19.
Let , and let be a symmetric polynomial function. Let be a prime number such that . There is a register program that cleanly computes with:
-
recursive calls to each ,
-
basic instructions, and
-
registers over .
From this, we deduce the following lemma for polynomials in general:
Lemma 20.
Let be a Boolean function which is -represented, and let be a prime number such that . There is a register program which cleanly computes with:
-
recursive calls to each ,
-
basic instructions, and
-
registers over .
Proof.
Let be the polynomial that represents , which we write as a sum of terms
where each term has the form
Observe that each is symmetric, and so using the register program given by Lemma 19, we deduce that we can compute all the terms in parallel with
-
recursive calls to each ,
-
basic instructions, and
-
registers over .
To compute , we can again use the register program of Lemma 19. This yields a register program with
-
recursive calls to each ,
-
basic instructions, and
-
registers over .
Composing the two register programs using Lemma 8, we have a register program which computes with
-
recursive calls to each ,
-
basic instructions, and
-
registers over .
Lastly, we convert the computation of into a computation of . Note that our final output register for is over , which we represent in binary with bits. We now apply the register program for the OR function from Lemma 12 which uses recursive calls, basic instructions, and registers. Composing this with the rest of the program gives us a final program for computing with
-
recursive calls to each ,
-
basic instructions, and
-
registers over .
which completes the lemma.
4 Results for Circuits and Matrix Powering
We now apply the register programs we found for polynomials to the central computation models in question. We first show how to use the register programs to compute non-constant depth Boolean circuits, and later present a register program computing powers of matrices.
4.1 Circuits via Merging Layers
In this section, we will find efficient register programs for circuits, and hence efficient catalytic algorithms, by a strategy of merging layers and directly computing the “super-functions” that emerge. Our starting point is the following lemma, used in [12, 10].
Lemma 21.
Let be a set of Boolean functions such that for any function we have a clean register program with at most input accesses, basic instructions, and registers computing . Let be a depth , size circuit whose gates are functions in . Then can be cleanly computed by a register program with
-
recursive calls,
-
instructions, and
-
registers.
Proof.
We will perform the operations of each layer of the circuit in parallel. Each layer uses recursive calls to the previous layer and basic instructions; hence, for a depth circuit, applying Lemma 8 iteratively gives recursive calls to the last layer and total basic instructions. Since each layer has at most gates, we will need at most registers at each layer, and so again by Lemma 8 this gives registers in total.
Our strategy will be as follows: instead of computing a height circuit with AND and OR gates layer by layer, we will show that we can compute layers at a time by an efficient register program, and thus consider the circuit of height whose gates are themselves depth circuits. We do this using polynomial representations of such circuits, which we then combine with Lemma 20 to obtain the register programs in question. Our main statement is the following:
Lemma 22.
Let be a Boolean function. Let be a size depth circuit with fan-in AND gates and fan-in OR gates for some , computing . Then can be represented by a degree polynomial with terms over .
Proof.
The proof is by induction. The claim for follows immediately since, in this case, the circuit computes one of the inputs.
We now assume that the claim holds for depth , and let be a depth circuit. We apply the induction hypothesis to the children of the top gate , and we have two cases for itself:
- If the top gate is an OR gate:
-
We can find a polynomial representing the circuit , where is the polynomial for each input of the OR gate. Using the induction hypothesis
Moreover, if we let be the number of terms of each , the number of terms of is
- If the output gate is a binary AND gate:
-
Let and respectively be the polynomials representing the left and right children. The polynomial represents the circuit , and
On the other hand,
which completes the proof.
Combining Lemma 22 for with our register program for representations in Lemma 20, we immediately obtain the following corollary.
Corollary 23.
Let be a size depth circuit on inputs with unbounded fan-in OR gates and fan-in AND gates, and let be a prime number such that . There is a register program which cleanly computes with:
-
recursive calls to each ,
-
basic instructions, and
-
registers over .
Our main result follows for the right choice of .
Proof of Theorem 1.
Let be such that . Corollary 23 provides a register program cleanly computing any size depth bounded fan-in OR fan-in AND circuit with
-
recursive calls to each ,
-
basic instructions, and
-
registers over , where .
Given an SAC2 circuit of size and depth , we will rewrite it as a circuit of size at most and depth , where each gate is a size depth circuit with unbounded fan-in OR and fan-in 2 AND gates. Hence using Lemma 21, for we have a register program for with
-
recursive calls to each ,
-
basic instructions, and
-
registers over .
At the end, these recursive calls translate into basic instructions reading the input, giving a total time of . We can thus translate this register program to a catalytic machine using Lemma 9, and we deduce that:
as claimed.
4.1.1 Extension to other models
We briefly note other circuit classes for which the polynomial representation of Lemma 22 gives similar results to Theorem 1. First, using the same technique as above for , i.e. NC circuits, we get the following result:
Theorem 24.
Alternatively, we can show that CL can compute NC circuits of slightly more than logarithmic depth:
Theorem 25.
We note that in these cases, Lemma 22 follows immediately from the DNF representation of circuits and thus Theorem 24 and Theorem 25 do not require techniques such as polynomial representation.
While we have exclusively discussed Boolean circuits in this paper, it is also worth noting that Theorem 1 generalizes to arithmetic circuits as well. Indeed, the following lemma is analogous to Lemma 22, and follows even more directly from the definition:
Lemma 26.
Let be a polynomial size depth circuit with fan-in gates and fan-in gates over , for some . Then can be represented by a degree polynomial with terms over .
Considering a prime and using Corollary 17, we have a register program to compute such circuits:
Lemma 27.
Any size , depth arithmetic circuits over with fan-in gates can be computed by a register program with
-
recursive calls to each ,
-
basic instructions,
-
registers over where , and
-
register over .
Define now to be the class of polynomial size depth circuit with bounded fan-in gates and unbounded fan-in gates. Taking and in Lemma 27, we get the following result for :
Theorem 28.
For all , for all ,
4.2 Matrix Powering via Decomposition
We now move to register programs for computing powers of a matrix . A first attempt can be given by simply applying Lemma 15, as computing is equivalent to computing degree polynomial in the coefficients; namely, if we denote by the coefficient of , we have:
We can therefore use Lemma 15 to compute for .
Lemma 29.
Let . There is a register program that cleanly computes for with:
-
recursive calls to ,
-
basic instructions, and
-
registers over .
The register program from Lemma 29 is a first step towards a more generic program for matrix powering, but it has two major issues:
-
The program can only compute powers up to .
-
The number of registers grows exponentially with .
We address these issues independently to get a register program that can handle all the cases.
Computing any power
Let and let be the natural extension of to integers. Observe that the coefficients of are evaluations of degree polynomials with terms, and hence .
Let us consider the first prime number greater than . In this case, we have . Hence, we can use the register program of Lemma 29 for and have an output register over for each coefficient. This yields the following:
Lemma 30.
Let . There is a register program that cleanly computes with:
-
recursive calls to ,
-
basic instructions,
-
registers over , and
-
registers over .
Reducing the Number of Registers
The latter register program works for all and has a constant number of recursive calls. However, the number of registers is still exponential in , and therefore it is not usable as is. To fix this issue, let us observe that if we let be the powering function , we have , where means composing times the same function. An iterated application of Lemma 8 gives the following:
Lemma 31.
Let be a ring, and . Suppose that for all there is a clean register program computing with at most recursive calls, basic instructions, and registers. Then, there exists a register program that computes with
-
at most recursive calls,
-
basic instructions, and
-
registers over .
Proof.
Let be the functions that computes for all . Observe that
where are non-negative integers smaller than . Therefore
Note that . We can apply Lemma 8 to obtain a register program that cleanly computes with recursive calls, basic instructions, and registers. Then, using Lemma 18 for , we can compute by calling times each program , and using a single additional register. In total, we require
-
at most recursive calls to ,
-
basic instructions, and
-
registers.
Hence, we fix some , and we can compute for all based on the register program for . This yields our register program for Theorem 2.
Proof of Theorem 2.
Let . Combining Lemma 30 and Lemma 31, we get that for all , there exists a register program that computes with:
-
recursive calls to ,
-
basic instructions,
-
registers over .
Replacing by , yields a program with
-
recursive calls to ,
-
basic instructions,
-
registers over for , and
-
registers over .
And this completes the proof.
5 Conclusion and Open problems
In this paper, we introduce a novel approach to compute functions recognized by non-constant depth polynomial-size circuits with bounded fan-in and unbounded fan-in. Our method relies on representing these functions in a weak polynomial form over a field for a sufficiently large prime .
This work marks the first new connection between circuit complexity and catalytic computation classes since the seminal result [10].
An open question stemming from our paper is the extensibility of our method to compute circuits of greater depth. Progress in this direction would likely necessitate exploring weaker polynomial representations that allow more efficient register programs for deeper or different types of circuits. For instance, building on existing concepts in the literature, perhaps a program which weakly represents , i.e. iff for some fixed sets , could allow us to make further progress.
References
- [1] Aryan Agarwala and Ian Mertz. Bipartite matching is in catalytic logspace. In Electron. Colloquium Comput. Complex, volume 48, 2025.
- [2] Richard Beigel. The polynomial method in circuit complexity. In [1993] Proceedings of the Eigth Annual Structure in Complexity Theory Conference, pages 82–95. IEEE, 1993. doi:10.1109/SCT.1993.336538.
- [3] Michael Ben-Or and Richard Cleve. Computing algebraic formulas using a constant number of registers. SIAM J. Comput., 21(1):54–58, 1992. doi:10.1137/0221006.
- [4] Andrzej Białynicki-Birula and Andrzej Schinzel. Representations of multivariate polynomials by sums of univariate polynomials in linear forms. In Colloquium Mathematicum, volume 2, pages 201–233, 2008.
- [5] Sagar Bisoyi, Krishnamoorthy Dinesh, Bhabya Deep Rai, and Jayalal Sarma. Almost-catalytic computation. arXiv preprint arXiv:2409.07208, 2024.
- [6] Sagar Bisoyi, Krishnamoorthy Dinesh, and Jayalal Sarma. On pure space vs catalytic space. Theoretical Computer Science, 921:112–126, 2022. doi:10.1016/J.TCS.2022.04.005.
- [7] Allan Borodin. On relating time and space to size and depth. SIAM journal on computing, 6(4):733–744, 1977. doi:10.1137/0206054.
- [8] Allan Borodin, Stephen Cook, and Nicholas Pippenger. Parallel computation for well-endowed rings and space-bounded probabilistic machines. Information and control, 58(1-3):113–136, 1983. doi:10.1016/S0019-9958(83)80060-6.
- [9] Allan Borodin, Stephen A. Cook, Patrick W. Dymond, Walter L. Ruzzo, and Martin Tompa. Two applications of inductive counting for complementation problems. SIAM J. Comput., 18(3):559–578, 1989. doi:10.1137/0218038.
- [10] Harry Buhrman, Richard Cleve, Michal Kouckỳ, Bruno Loff, and Florian Speelman. Computing with a full memory: catalytic space. In Proceedings of the forty-sixth annual ACM symposium on Theory of computing, pages 857–866, 2014.
- [11] Harry Buhrman, Michal Kouckỳ, Bruno Loff, and Florian Speelman. Catalytic space: Non-determinism and hierarchy. Theory of Computing Systems, 62:116–135, 2018. doi:10.1007/S00224-017-9784-7.
- [12] Richard Cleve. Computing algebraic formulas with a constant number of registers. In Proceedings of the twentieth annual ACM symposium on Theory of computing, pages 254–257, 1988.
- [13] Richard Erwin Cleve. Methodologies for designing block ciphers and cryptographic protocols. PhD thesis, University of Toronto, 1990.
- [14] James Cook, Jiatu Li, Ian Mertz, and Edward Pyne. The structure of catalytic space: Capturing randomness and time via compression. ECCC TR24-106, 2024.
- [15] James Cook and Ian Mertz. Catalytic approaches to the tree evaluation problem. In Proceedings of the 52nd Annual ACM SIGACT Symposium on Theory of Computing, pages 752–760, 2020. doi:10.1145/3357713.3384316.
- [16] James Cook and Ian Mertz. Encodings and the tree evaluation problem. In Electron. Colloquium Comput. Complex, volume 54, 2021.
- [17] James Cook and Ian Mertz. Trading time and space in catalytic branching programs. In 37th Computational Complexity Conference (CCC 2022). Schloss-Dagstuhl-Leibniz Zentrum für Informatik, 2022.
- [18] James Cook and Ian Mertz. Tree evaluation is in space o (log n· log log n). In Electron. Colloquium Comput. Complex., 2023.
- [19] Stephen Cook, Pierre McKenzie, Dustin Wehr, Mark Braverman, and Rahul Santhanam. Pebbles and branching programs for tree evaluation. ACM Transactions on Computation Theory (TOCT), 3(2):1–43, 2012. doi:10.1145/2077336.2077337.
- [20] Stephen A Cook. The classification of problems which have fast parallel algorithms. In International Conference on Fundamentals of Computation Theory, pages 78–93. Springer, 1983. doi:10.1007/3-540-12689-9_95.
- [21] Don Coppersmith and Edna Grossman. Generators for certain alternating groups with applications to cryptography. SIAM Journal on Applied Mathematics, 29(4):624–627, 1975.
- [22] Samir Datta, Chetan Gupta, Rahul Jain, Vimal Raj Sharma, and Raghunath Tewari. Randomized and symmetric catalytic computation. In International Computer Science Symposium in Russia, pages 211–223. Springer, 2020. doi:10.1007/978-3-030-50026-9_15.
- [23] Dean Doron, Edward Pyne, and Roei Tell. Opening up the distinguisher: A hardness to randomness approach for bpl= l that uses properties of bpl. In Proceedings of the 56th Annual ACM Symposium on Theory of Computing, pages 2039–2049, 2024. doi:10.1145/3618260.3649772.
- [24] Jeff Edmonds, Venkatesh Medabalimi, and Toniann Pitassi. Hardness of function composition for semantic read once branching programs. In 33rd Computational Complexity Conference (CCC 2018). Schloss-Dagstuhl-Leibniz Zentrum für Informatik, 2018.
- [25] Marten Folkertsma, Ian Mertz, Florian Speelman, and Quinten Tupker. Fully characterizing lossy catalytic computation. arXiv preprint arXiv:2409.05046, 2024. doi:10.48550/arXiv.2409.05046.
- [26] Oded Goldreich. Solving tree evaluation in o (log n· log log n) space. ECCC, TR24-124, 2024.
- [27] Chetan Gupta, Rahul Jain, Vimal Raj Sharma, and Raghunath Tewari. Unambiguous catalytic computation. In 39th IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2019). Schloss-Dagstuhl-Leibniz Zentrum für Informatik, 2019.
- [28] Chetan Gupta, Rahul Jain, Vimal Raj Sharma, and Raghunath Tewari. Lossy catalytic computation. arXiv preprint arXiv:2408.14670, 2024. doi:10.48550/arXiv.2408.14670.
- [29] Kazuo Iwama and Atsuki Nagao. Read-once branching programs for tree evaluation problems. ACM Transactions on Computation Theory (TOCT), 11(1):1–12, 2018. doi:10.1145/3282433.
- [30] Michal Koucký et al. Catalytic computation. Bulletin of EATCS, 1(118), 2016.
- [31] Michal Koucký, Ian Mertz, Ted Pyne, and Sasha Sami. Collapsing catalytic classes. In Electron. Colloquium Comput. Complex, volume 19, 2025.
- [32] Jiatu Li, Edward Pyne, and Roei Tell. Distinguishing, predicting, and certifying: On the long reach of partial notions of pseudorandomness. In 2024 IEEE 65th Annual Symposium on Foundations of Computer Science (FOCS), pages 1–13. IEEE, 2024. doi:10.1109/FOCS61266.2024.00095.
- [33] David Liu. Pebbling arguments for tree evaluation. arXiv preprint arXiv:1311.0293, 2013. arXiv:1311.0293.
- [34] Ian Mertz. Catalytic computing, tree evaluation, & clean computation, 2020.
- [35] Ian Mertz et al. Reusing space: Techniques and open problems. Bulletin of EATCS, 141(3), 2023.
- [36] Nicholas Pippenger. On simultaneous resource bounds. In 20th Annual Symposium on Foundations of Computer Science (sfcs 1979), pages 307–311. IEEE, 1979.
- [37] Aaron Potechin. A note on amortized branching program complexity. arXiv preprint arXiv:1611.06632, 2016.
- [38] Edward Pyne. Derandomizing logspace with a small shared hard drive. In 39th Computational Complexity Conference (CCC 2024). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2024.
- [39] Edward Pyne, Nathan S. Sheffield, and William Wang. Catalytic Communication. In Raghu Meka, editor, 16th Innovations in Theoretical Computer Science Conference (ITCS 2025), volume 325 of Leibniz International Proceedings in Informatics (LIPIcs), pages 79:1–79:24, Dagstuhl, Germany, 2025. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.ITCS.2025.79.
- [40] Robert Robere and Jeroen Zuiddam. Amortized circuit complexity, formal complexity measures, and catalytic algorithms. In 2021 IEEE 62nd Annual Symposium on Foundations of Computer Science (FOCS), pages 759–769. IEEE, 2022.
- [41] Walter L Ruzzo. On uniform circuit complexity. Journal of Computer and System Sciences, 22(3):365–383, 1981. doi:10.1016/0022-0000(81)90038-6.
- [42] Andrzej Schinzel. On a decomposition of polynomials in several variables. Journal de théorie des nombres de Bordeaux, 14(2):647–666, 2002.
- [43] Claude E Shannon. The synthesis of two-terminal switching circuits. The Bell System Technical Journal, 28(1):59–98, 1949. doi:10.1002/J.1538-7305.1949.TB03624.X.
- [44] H Venkateswaran. Circuit definitions of nondeterministic complexity classes. SIAM Journal on Computing, 21(4):655–670, 1992. doi:10.1137/0221040.
- [45] Heribert Vollmer. Introduction to circuit complexity: a uniform approach. Springer Science & Business Media, 1999.
- [46] Ryan Williams. Simulating time with square-root space. In Proceedings of the nineteenth annual ACM symposium on Theory of computing, 2025.
