expositions

This page contains a collection of notes that describe and explain known results. These are typically slightly-more-polished versions of texts that I wrote to myself and/or to friends, and that I'm putting online hoping that they can also be useful to others. 

Disclaimer: While the texts describe results that were proved by others, all the mistakes are solely mine (do let me know if you spot one...). Note that I sometimes update the texts without warning, mostly for minor fixes; there will be a new timestamp on the updated document in such a case.

2023.08.21 sumcheck.pdf

A Way to Visualize the Sumcheck Protocol and Some of its Extensions

The point of this text is to share a simple visualization that helps me imagine the celebrated sumcheck protocol of Lund, Fortnow, Karloff, and Nisan (1992). The visualization also facilitates understanding two extensions of the protocol: A stronger property called batchability that the protocol can support, and the more general interactive proof of Goldwasser, Kalai and Rothblum (2015).

2021.01.02 cook.pdf

Cook’s Proof of the Non-deterministic Time Hierarchy Theorem

The first proof of a non-deterministic time hierarchy theorem, by Cook (1973), is not typically taught in textbooks and courses, since subsequent proofs are simpler and yield better results. Nevertheless, the proof is interesting and based on a very natural idea. In this text I describe it.

2020.04.10 ac0.pdf

On implications of better sub-exponential lower bounds for AC0

Lower bounds for AC0 circuits of sub-exponential size have been known since the ‘80s. The point of this text is to highlight the (known) fact that lower bounds for AC0 circuits of significantly larger sub-exponential size imply lower bounds for polynomial-sized circuits from circuit classes such as AC0[Sym], linear threshold circuits of constant depth, and NC1.

2020.09.02 kl.pdf

Karp-Lipton theorems: Translating non-uniform "collapses" into uniform "collapses"

Assume that there exists an infinite sequence of small circuits, one for each input length, that solves some “hard” problem. Can we use this fact to construct a single efficient algorithm that solves some (possibly different) “hard” problem on all input lengths? This is the technical question that underlies many results that are typically referred to as “Karp-Lipton theorems”, following the classic result in this spirit by Karp and Lipton (1980). My goal in this text is to describe the various ideas that were introduced over the years to try and answer the question.

2017.08.15 rw.pdf

Non-trivial derandomization implies weak lower bounds: An (almost) elementary proof

Ryan Williams' fundamental result asserts that any non-trivial derandomization of a circuit class C implies weak lower bounds for C. This text presents an alternative (known) argument, in which C is separated from the class E^{NP} (rather than from the class NEXP, as in the original result). The proof is short, almost completely self-contained, and applies to more classes C than the original result. 

2017.12.11 brb.pdf

The Bazzi-Razborov-Braverman Theorems: Polylogarithmic Independence Fools AC0

A step-by-step review of the proof that polylog-wise independent distributions fool AC0. The text starts from Bazzi's proof framework, and tries to articulate exactly what we need (and are trying to do) in each step, while abstracting some general parts of the proof. The presentation of Braverman's proof is somewhat non-standard, relying on the notion of randomized tests.

2018.06.23 lrr.pdf

Overview of the lower bound of Li, Razborov, and Rossman for subgraph isomorphism in AC0

An interesting line of research in low-level complexity in the last decade deals with polynomial lower bounds for circuits of small depth solving subgraph isomorphism. Since the problem is NP-complete, the hope is that these lower bounds can be extended to large classes (e.g., to NC1). The text is an overview of a key result in this context, and is intended to be as simple and self-contained as possible.

short expositions for well-known facts 

The following short notes refer to well-known facts or definitions to which I didn't have intuition initially. Typically in such cases, when I finally "get it" (i.e., have that "ping moment" when things become obvious and internalized) I take a moment to write down a short explanation. 

2019.11.19 polys-interpolate-line.pdf

Linear interpolation of polynomials on lines

2019.07.28 poly-extensions.pdf

Multilinear and low-degree extensions 

2019.09.24 instance-checkers.pdf

Instance checkers 

2016.04.11 fourier-normalization.pdf

Consistent normalizations when working with Fourier 

2019.07.27 manifold variety.pdf

Manifolds and varieties 

2019.07.21 mono-traces.pdf

Every function F_{q^n} -> F_q is a sum of monomial traces