Extremely Deep Proofs

Post on 04-May-2022

2 views 0 download

Transcript of Extremely Deep Proofs

Extremely Deep Proofs

Noah Fleming University of California, San Diego Joint work with Toniann Pitassi and Robert Robere

Recently, several works exhibited an extremely strong type of tradeoff

A New Kind of Tradeoff

Recently, several works exhibited an extremely strong type of tradeoff

A New Kind of Tradeoff

Supercritical TradeoffWhen one parameter is restricted, the other is pushed beyond worst-case.

Recently, several works exhibited an extremely strong type of tradeoff

A New Kind of Tradeoff

Supercritical TradeoffWhen one parameter is restricted, the other is pushed beyond worst-case.

Phenomenon observed primarily in proof complexity

Recently, several works exhibited an extremely strong type of tradeoff

A New Kind of Tradeoff

Supercritical TradeoffWhen one parameter is restricted, the other is pushed beyond worst-case.

Phenomenon observed primarily in proof complexity

• First observed by [BBI16] — supercritical size/space tradeoff for Resolution

Recently, several works exhibited an extremely strong type of tradeoff

A New Kind of Tradeoff

Supercritical TradeoffWhen one parameter is restricted, the other is pushed beyond worst-case.

Phenomenon observed primarily in proof complexity

• First observed by [BBI16] — supercritical size/space tradeoff for Resolution

• [Razborov16] proved a particularly strong tradeoff for tree-Resolution — there is an unsatisfiable CNF such that any low width proof requires doubly exponential sizeF

Recently, several works exhibited an extremely strong type of tradeoff

A New Kind of Tradeoff

Supercritical TradeoffWhen one parameter is restricted, the other is pushed beyond worst-case.

Phenomenon observed primarily in proof complexity

• First observed by [BBI16] — supercritical size/space tradeoff for Resolution

• [Razborov16] proved a particularly strong tradeoff for tree-Resolution — there is an unsatisfiable CNF such that any low width proof requires doubly exponential sizeF

Our work based on [Razborov16]→

This work: The first supercritical tradeoff between size and depth.

Supercritical TradeoffWhen one parameter is restricted, the other is pushed beyond worst-case.

This work

This work: The first supercritical tradeoff between size and depth. For

• Resolution

• -DNF Resolution

• Cutting Planes

k

Supercritical TradeoffWhen one parameter is restricted, the other is pushed beyond worst-case.

This work

This work: The first supercritical tradeoff between size and depth. For

• Resolution — Focus on for today

• -DNF Resolution

• Cutting Planes

k

Supercritical TradeoffWhen one parameter is restricted, the other is pushed beyond worst-case.

This work

Resolution: A method for proving that a CNF formula is unsatisfiable

Resolution

Resolution: A method for proving that a CNF formula is unsatisfiable

Resolution

Given an unsatisfiable CNF formula as a set of clausesF

(x2 ∨ x3) (x̄1 ∨ x̄3) (x̄2) (x1 ∨ ¬x3)F =

Resolution: A method for proving that a CNF formula is unsatisfiable

Resolution

Given an unsatisfiable CNF formula as a set of clausesFDerive new clauses from old ones using:

(x2 ∨ x3) (x̄1 ∨ x̄3) (x̄2) (x1 ∨ ¬x3)

Resolution rule:

C1 ∨ x, C2 ∨ ¬xC1 ∨ C2

Π

Resolution: A method for proving that a CNF formula is unsatisfiable

Resolution

Given an unsatisfiable CNF formula as a set of clausesFDerive new clauses from old ones using:

(x2 ∨ x3) (x̄1 ∨ x̄3) (x̄2) (x1 ∨ ¬x3)

Resolution rule:

C1 ∨ x, C2 ∨ ¬xC1 ∨ C2

Π

Resolution: A method for proving that a CNF formula is unsatisfiable

Resolution

Given an unsatisfiable CNF formula as a set of clausesFDerive new clauses from old ones using:

(x2 ∨ x3) (x̄1 ∨ x̄3) (x̄2) (x1 ∨ ¬x3)

Resolution rule:

C1 ∨ x, C2 ∨ ¬xC1 ∨ C2

x3

Π

Resolution: A method for proving that a CNF formula is unsatisfiable

Resolution

Given an unsatisfiable CNF formula as a set of clausesFDerive new clauses from old ones using:

(x2 ∨ x3) (x̄1 ∨ x̄3) (x̄2) (x1 ∨ ¬x3)

Resolution rule:

C1 ∨ x, C2 ∨ ¬xC1 ∨ C2

Goal: Derive empty clause Λx3

Resolution is sound is unsatisfiable

⟹ F

Π

Resolution: A method for proving that a CNF formula is unsatisfiable

Resolution

Given an unsatisfiable CNF formula as a set of clausesFDerive new clauses from old ones using:

(x2 ∨ x3) (x̄1 ∨ x̄3) (x̄2) (x1 ∨ ¬x3)

Resolution rule:

C1 ∨ x, C2 ∨ ¬xC1 ∨ C2

Goal: Derive empty clause Λx̄3x3

Resolution is sound is unsatisfiable

⟹ F

Π

Resolution: A method for proving that a CNF formula is unsatisfiable

Resolution

Given an unsatisfiable CNF formula as a set of clausesFDerive new clauses from old ones using:

(x2 ∨ x3) (x̄1 ∨ x̄3) (x̄2) (x1 ∨ ¬x3)

Resolution rule:

C1 ∨ x, C2 ∨ ¬xC1 ∨ C2

Goal: Derive empty clause Λ

Λ

x̄3x3

Resolution is sound is unsatisfiable

⟹ F

Π

Resolution: A method for proving that a CNF formula is unsatisfiable

Resolution

Given an unsatisfiable CNF formula as a set of clausesFDerive new clauses from old ones using:

(x2 ∨ x3) (x̄1 ∨ x̄3) (x̄2) (x1 ∨ ¬x3)

Resolution rule:

C1 ∨ x, C2 ∨ ¬xC1 ∨ C2

Goal: Derive empty clause Λ

Λ

x̄3x3

Resolution is sound is unsatisfiable

⟹ F

Parameters of proofs

: # of clauses (7)𝗌𝗂𝗓𝖾(Π)

Π

Resolution: A method for proving that a CNF formula is unsatisfiable

Resolution

Given an unsatisfiable CNF formula as a set of clausesFDerive new clauses from old ones using:

(x2 ∨ x3) (x̄1 ∨ x̄3) (x̄2) (x1 ∨ ¬x3)

Resolution rule:

C1 ∨ x, C2 ∨ ¬xC1 ∨ C2

Goal: Derive empty clause Λ

Λ

x̄3x3

Resolution is sound is unsatisfiable

⟹ F

Parameters of proofs

: # of clauses (7)𝗌𝗂𝗓𝖾(Π)

: max # of variables in any clause (2)𝗐𝗂𝖽𝗍𝗁(Π)

Π

Resolution: A method for proving that a CNF formula is unsatisfiable

Resolution

Given an unsatisfiable CNF formula as a set of clausesFDerive new clauses from old ones using:

(x2 ∨ x3) (x̄1 ∨ x̄3) (x̄2) (x1 ∨ ¬x3)

Resolution rule:

C1 ∨ x, C2 ∨ ¬xC1 ∨ C2

Goal: Derive empty clause Λ

Λ

x̄3x3

Resolution is sound is unsatisfiable

⟹ F

Parameters of proofs

: # of clauses (7)𝗌𝗂𝗓𝖾(Π)

: max # of variables in any clause (2)𝗐𝗂𝖽𝗍𝗁(Π)

: longest root-to-leaf path (3)𝖽𝖾𝗉𝗍𝗁(Π)

Resolution: A method for proving that a CNF formula is unsatisfiable

Resolution

Given an unsatisfiable CNF formula as a set of clausesFDerive new clauses from old ones using:

(x2 ∨ x3) (x̄1 ∨ x̄3) (x̄2) (x1 ∨ ¬x3)

Resolution rule:

C1 ∨ x, C2 ∨ ¬xC1 ∨ C2

Goal: Derive empty clause Λ

Λ

x̄3x3

Resolution is sound is unsatisfiable

⟹ F

Parameters of proofs

= 𝗌𝗂𝗓𝖾𝖱𝖾𝗌(F) minΠ

𝗌𝗂𝗓𝖾(Π)

= 𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F) minΠ

𝗐𝗂𝖽𝗍𝗁(Π)

𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) = minΠ

𝖽𝖾𝗉𝗍𝗁(Π)

Π

Like circuit depth, proof depth captures a notion of “parallelism” of a proof

Depth

Like circuit depth, proof depth captures a notion of “parallelism” of a proof

Depth

Resolution proofs capture the complexity of modern algorithms for SAT

Like circuit depth, proof depth captures a notion of “parallelism” of a proof

Depth

Resolution proofs capture the complexity of modern algorithms for SAT Size lower bounds runtime→

Like circuit depth, proof depth captures a notion of “parallelism” of a proof

Depth

Resolution proofs capture the complexity of modern algorithms for SAT Size lower bounds runtime Depth lower bounds parallelizability

→→

Like circuit depth, proof depth captures a notion of “parallelism” of a proof

Depth

There is always a depth Resolution proof (but may have size )n 2n

n

2n

Resolution proofs capture the complexity of modern algorithms for SAT Size lower bounds runtime Depth lower bounds parallelizability

→→

Like circuit depth, proof depth captures a notion of “parallelism” of a proof

Depth

There is always a depth Resolution proof (but may have size )n 2n

n

2n

Many strong proof systems can be balanced — depth is always at most log of the size

Resolution proofs capture the complexity of modern algorithms for SAT Size lower bounds runtime Depth lower bounds parallelizability

→→

Like circuit depth, proof depth captures a notion of “parallelism” of a proof

Depth

There is always a depth Resolution proof (but may have size )n 2n

n

2n

Many strong proof systems can be balanced — depth is always at most log of the size Resolution (Res(k), Cutting Planes) cannot always be balanced→

Resolution proofs capture the complexity of modern algorithms for SAT Size lower bounds runtime Depth lower bounds parallelizability

→→

This Work

There is a CNF formula on variables such that

- There is a polynomial size -proof of

- Any subexponential-size -proof of must have polynomial depth

F nP F

P F

poly(n)

For any Resolution, Res(k), Cutting PlanesP ∈ { }

There is a CNF formula on variables such that

- There is a weakly exponential size -proof of

- Any subexponential-size -proof of must have weakly exponential depth

F nP F

P F

exp(nδ)

For any Resolution, Res(k), Cutting PlanesP ∈ { }

This Work

Main Theorem (Res): There is a CNF formula on variables s.t. F n

This WorkLet , let be real-valued parameter that will control our tradeoffε > 0 c ≥ 1

Main Theorem (Res): There is a CNF formula on variables s.t. 1. There is a Resolution-proof of size

F nnc ⋅ 2O(c)

This WorkLet , let be real-valued parameter that will control our tradeoffε > 0 c ≥ 1

Main Theorem (Res): There is a CNF formula on variables s.t. 1. There is a Resolution-proof of size 2. If is a Resolution-proof with then

F nnc ⋅ 2O(c)

Π 𝗌𝗂𝗓𝖾(Π) ≤ exp(o(n1−ε/c))

𝖽𝖾𝗉𝗍𝗁(Π) ⋅ log 𝗌𝗂𝗓𝖾(Π) = Ω ( nc

c log n )

This WorkLet , let be real-valued parameter that will control our tradeoffε > 0 c ≥ 1

Main Theorem (Res): There is a CNF formula on variables s.t. 1. There is a Resolution-proof of size 2. If is a Resolution-proof with then

F nnc ⋅ 2O(c)

Π 𝗌𝗂𝗓𝖾(Π) ≤ exp(o(n1−ε/c))

𝖽𝖾𝗉𝗍𝗁(Π) ⋅ log 𝗌𝗂𝗓𝖾(Π) = Ω ( nc

c log n )

This WorkLet , let be real-valued parameter that will control our tradeoffε > 0 c ≥ 1

Caveat: has many clauses — We’ll come back to this later! F nO(c)

Proof Technique1. Find CNF formula on variables such that

(a) has small size proofs (b) requires deep proofs

F NFF

Hardness Condensation

Proof Technique1. Find CNF formula on variables such that (e.g. pebbling formulas)

(a) has small size proofs — (b) requires deep proofs —

F NF NF Ω(N/log N)

Hardness Condensation

Proof TechniqueHardness Condensation1. Find CNF formula on variables such that (e.g. pebbling formulas)

(a) has small size proofs — (b) requires deep proofs —

F NF NF Ω(N/log N)

2. Compress the number of variables of to while maintaining that (a) and (b) hold for any small size proof

F n ≪ N

Proof Technique

Upshot: New requires depth but only has variables! If we get supercritical depth lower bounds for small proofs!

F Ω(N/log N) n→ n = o(N/log N)

Hardness Condensation

2. Compress the number of variables of to while maintaining that (a) and (b) hold for any small size proof

F n ≪ N

1. Find CNF formula on variables such that (e.g. pebbling formulas)(a) has small size proofs — (b) requires deep proofs —

F NF NF Ω(N/log N)

Proof TechniqueHardness Condensation1. Find CNF formula on variables such that (e.g. pebbling formulas)

(a) has small size proofs — (b) requires deep proofs —

F NF NF Ω(N/log N)

Upshot: New requires depth but only has variables! If we get supercritical depth lower bounds for small proofs!

F Ω(N/log N) n→ n = o(N/log N)

2. Compress the number of variables of to while maintaining that (a) and (b) hold for any small size proof

F n ≪ N

How do we do this compression?

Proof TechniqueHardness Condensation

How do we do this compression? Lifting!

1. Find CNF formula on variables such that (e.g. pebbling formulas)(a) has small size proofs — (b) requires deep proofs —

F NF NF Ω(N/log N)

Upshot: New requires depth but only has variables! If we get supercritical depth lower bounds for small proofs!

F Ω(N/log N) n→ n = o(N/log N)

2. Compress the number of variables of to while maintaining that (a) and (b) hold for any small size proof

F n ≪ N

Lifting (Composition)

Composition is one of our most powerful tools for proving lower bounds

Lifting (Composition)

• Let be a CNF formulaF(z1, …, zN) = C1 ∧ … ∧ Cm

Composition is one of our most powerful tools for proving lower bounds

Lifting (Composition)

• Let be a CNF formula

• Let be a “gadget” function

F(z1, …, zN) = C1 ∧ … ∧ Cm

g : {0,1}t → {0,1}

Composition is one of our most powerful tools for proving lower bounds

Lifting (Composition)

• Let be a CNF formula

• Let be a “gadget” functionThe composed function is

F(z1, …, zN) = C1 ∧ … ∧ Cm

g : {0,1}t → {0,1}F ∘ g := F(g(x1), …, g(xN))

Composition is one of our most powerful tools for proving lower bounds

Lifting (Composition)

Typically are disjoint sets

x1, …, xN

Composition is one of our most powerful tools for proving lower bounds

• Let be a CNF formula

• Let be a “gadget” functionThe composed function is

F(z1, …, zN) = C1 ∧ … ∧ Cm

g : {0,1}t → {0,1}F ∘ g := F(g(x1), …, g(xN))

Lifting (Composition)

Let be two proof systemsP, QA lifting theorem relates the complexity of

• -proofs of

• -proofs of P FQ F ∘ g

Typically are disjoint sets

x1, …, xN

Composition is one of our most powerful tools for proving lower bounds

• Let be a CNF formula

• Let be a “gadget” functionThe composed function is

F(z1, …, zN) = C1 ∧ … ∧ Cm

g : {0,1}t → {0,1}F ∘ g := F(g(x1), …, g(xN))

Lifting (Composition)

Simple Example: then g = 𝖷𝖮𝖱2 F ∘ 𝖷𝖮𝖱2 := F(x1 ⊕ y1, …, xN ⊕ yN)

Lifting (Composition)

Width-to-Size Lifting Theorem: Let be any unsatisfiable formula. ThenF𝗌𝗂𝗓𝖾𝖱𝖾𝗌(F ∘ 𝖷𝖮𝖱2) ≥ 2Ω(𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F))

Simple Example: then g = 𝖷𝖮𝖱2 F ∘ 𝖷𝖮𝖱2 := F(x1 ⊕ y1, …, xN ⊕ yN)

Lifting (Composition)

Width-to-Size Lifting Theorem: Let be any unsatisfiable formula. ThenF

• Resolution

• ResolutionP =Q =

Simple Example: then g = 𝖷𝖮𝖱2 F ∘ 𝖷𝖮𝖱2 := F(x1 ⊕ y1, …, xN ⊕ yN)

𝗌𝗂𝗓𝖾𝖱𝖾𝗌(F ∘ 𝖷𝖮𝖱2) ≥ 2Ω(𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F))

Lifting (Composition)

Width-to-Size Lifting Theorem: Let be any unsatisfiable formula. ThenF

• Resolution

• ResolutionP =Q =

If has a proof of size and width has a proof of size F s w ⟹ F ∘ 𝖷𝖮𝖱2 O(s2w)

Simple Example: then g = 𝖷𝖮𝖱2 F ∘ 𝖷𝖮𝖱2 := F(x1 ⊕ y1, …, xN ⊕ yN)

𝗌𝗂𝗓𝖾𝖱𝖾𝗌(F ∘ 𝖷𝖮𝖱2) ≥ 2Ω(𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F))

Lifting (Composition)

Width-to-Size Lifting Theorem: Let be any unsatisfiable formula. ThenF

• Resolution

• ResolutionP =Q =

If has a proof of size and width has a proof of size F s w ⟹ F ∘ 𝖷𝖮𝖱2 O(s2w) Locally simulate the XOR in every step of the proof of → F

Simple Example: then g = 𝖷𝖮𝖱2 F ∘ 𝖷𝖮𝖱2 := F(x1 ⊕ y1, …, xN ⊕ yN)

𝗌𝗂𝗓𝖾𝖱𝖾𝗌(F ∘ 𝖷𝖮𝖱2) ≥ 2Ω(𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F))

Lifting (Composition)

Width-to-Size Lifting Theorem: Let be any unsatisfiable formula. ThenF

• Resolution

• ResolutionP =Q =

If has a proof of size and width has a proof of size F s w ⟹ F ∘ 𝖷𝖮𝖱2 O(s2w) Locally simulate the XOR in every step of the proof of

Naively simulation is essentially the best! → F⟹

Simple Example: then g = 𝖷𝖮𝖱2 F ∘ 𝖷𝖮𝖱2 := F(x1 ⊕ y1, …, xN ⊕ yN)

𝗌𝗂𝗓𝖾𝖱𝖾𝗌(F ∘ 𝖷𝖮𝖱2) ≥ 2Ω(𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F))

Lifting (Composition)

Width-to-Size Lifting Theorem: Let be any unsatisfiable formula. ThenF

• Resolution

• ResolutionP =Q =

If has a proof of size and width has a proof of size F s w ⟹ F ∘ 𝖷𝖮𝖱2 O(s2w) Locally simulate the XOR in every step of the proof of

Naively simulation is essentially the best! Theme of lifting theorems

→ F⟹→

Simple Example: then g = 𝖷𝖮𝖱2 F ∘ 𝖷𝖮𝖱2 := F(x1 ⊕ y1, …, xN ⊕ yN)

𝗌𝗂𝗓𝖾𝖱𝖾𝗌(F ∘ 𝖷𝖮𝖱2) ≥ 2Ω(𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F))

Lifting (Composition)

Proof: Let be a proof of Π F ∘ 𝖷𝖮𝖱2 := F(x1 ⊕ y1, …, xN ⊕ yN)

Width-to-Size Lifting Theorem: 𝗌𝗂𝗓𝖾𝖱𝖾𝗌(F ∘ 𝖷𝖮𝖱2) ≥ 2Ω(𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F))

Lifting (Composition)

Proof: Let be a proof of Π F ∘ 𝖷𝖮𝖱2 := F(x1 ⊕ y1, …, xN ⊕ yN)

Width-to-Size Lifting Theorem:

Let be generated as followsρ ∈ {0,1,*}2N

𝗌𝗂𝗓𝖾𝖱𝖾𝗌(F ∘ 𝖷𝖮𝖱2) ≥ 2Ω(𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F))

Lifting (Composition)

Proof: Let be a proof of Π F ∘ 𝖷𝖮𝖱2 := F(x1 ⊕ y1, …, xN ⊕ yN)

Width-to-Size Lifting Theorem:

Let be generated as follows — Flip a coin for each :

• Heads: set to a random bit, set

• Tails: set to a random bit, set

ρ ∈ {0,1,*}2N i ∈ [N]xi yi = *

yi xi = *

𝗌𝗂𝗓𝖾𝖱𝖾𝗌(F ∘ 𝖷𝖮𝖱2) ≥ 2Ω(𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F))

Lifting (Composition)

Proof: Let be a proof of Π F ∘ 𝖷𝖮𝖱2 := F(x1 ⊕ y1, …, xN ⊕ yN)

Width-to-Size Lifting Theorem:

Let be generated as follows — Flip a coin for each :

• Heads: set to a random bit, set

• Tails: set to a random bit, set

ρ ∈ {0,1,*}2N i ∈ [N]xi yi = *

yi xi = *Observe: (some variables negated)F ∘ 𝖷𝖮𝖱2 ↾ ρ = F

𝗌𝗂𝗓𝖾𝖱𝖾𝗌(F ∘ 𝖷𝖮𝖱2) ≥ 2Ω(𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F))

Lifting (Composition)

Proof: Let be a proof of Π F ∘ 𝖷𝖮𝖱2 := F(x1 ⊕ y1, …, xN ⊕ yN)

Width-to-Size Lifting Theorem:

Let be generated as follows — Flip a coin for each :

• Heads: set to a random bit, set

• Tails: set to a random bit, set

ρ ∈ {0,1,*}2N i ∈ [N]xi yi = *

yi xi = *Observe: (some variables negated) is a proof of F ∘ 𝖷𝖮𝖱2 ↾ ρ = F ⟹ Π ↾ ρ F

𝗌𝗂𝗓𝖾𝖱𝖾𝗌(F ∘ 𝖷𝖮𝖱2) ≥ 2Ω(𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F))

Lifting (Composition)

Proof: Let be a proof of Π F ∘ 𝖷𝖮𝖱2 := F(x1 ⊕ y1, …, xN ⊕ yN)

Width-to-Size Lifting Theorem:

Let be generated as follows — Flip a coin for each :

• Heads: set to a random bit, set

• Tails: set to a random bit, set

ρ ∈ {0,1,*}2N i ∈ [N]xi yi = *

yi xi = *Observe: (some variables negated) is a proof of F ∘ 𝖷𝖮𝖱2 ↾ ρ = F ⟹ Π ↾ ρ FIf is a clause of width then C ≥ w := 𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F) 𝖯𝗋[C ↾ ρ ≠ 1] ≤ (3/4)w

𝗌𝗂𝗓𝖾𝖱𝖾𝗌(F ∘ 𝖷𝖮𝖱2) ≥ 2Ω(𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F))

Lifting (Composition)

Proof: Let be a proof of Π F ∘ 𝖷𝖮𝖱2 := F(x1 ⊕ y1, …, xN ⊕ yN)

Width-to-Size Lifting Theorem:

Let be generated as follows — Flip a coin for each :

• Heads: set to a random bit, set

• Tails: set to a random bit, set

ρ ∈ {0,1,*}2N i ∈ [N]xi yi = *

yi xi = *Observe: (some variables negated) is a proof of F ∘ 𝖷𝖮𝖱2 ↾ ρ = F ⟹ Π ↾ ρ FIf is a clause of width then C ≥ w := 𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F) 𝖯𝗋[C ↾ ρ ≠ 1] ≤ (3/4)w

Union bound ⟹ 𝖯𝗋[∃C ∈ Π : 𝗐𝗂𝖽𝗍𝗁(C) ≥ w, C ↾ ρ ≠ 1] ≤ |Π | (3/4)w

𝗌𝗂𝗓𝖾𝖱𝖾𝗌(F ∘ 𝖷𝖮𝖱2) ≥ 2Ω(𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F))

Lifting (Composition)

Proof: Let be a proof of Π F ∘ 𝖷𝖮𝖱2 := F(x1 ⊕ y1, …, xN ⊕ yN)

Width-to-Size Lifting Theorem:

Let be generated as follows — Flip a coin for each :

• Heads: set to a random bit, set

• Tails: set to a random bit, set

ρ ∈ {0,1,*}2N i ∈ [N]xi yi = *

yi xi = *Observe: (some variables negated) is a proof of F ∘ 𝖷𝖮𝖱2 ↾ ρ = F ⟹ Π ↾ ρ FIf is a clause of width then C ≥ w := 𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F) 𝖯𝗋[C ↾ ρ ≠ 1] ≤ (3/4)w

If then|Π | < (4/3)w

Union bound ⟹ 𝖯𝗋[∃C ∈ Π : 𝗐𝗂𝖽𝗍𝗁(C) ≥ w, C ↾ ρ ≠ 1] ≤ |Π | (3/4)w

𝗌𝗂𝗓𝖾𝖱𝖾𝗌(F ∘ 𝖷𝖮𝖱2) ≥ 2Ω(𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F))

Lifting (Composition)

Proof: Let be a proof of Π F ∘ 𝖷𝖮𝖱2 := F(x1 ⊕ y1, …, xN ⊕ yN)

Width-to-Size Lifting Theorem:

Let be generated as follows — Flip a coin for each :

• Heads: set to a random bit, set

• Tails: set to a random bit, set

ρ ∈ {0,1,*}2N i ∈ [N]xi yi = *

yi xi = *Observe: (some variables negated) is a proof of F ∘ 𝖷𝖮𝖱2 ↾ ρ = F ⟹ Π ↾ ρ FIf is a clause of width then C ≥ w := 𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F) 𝖯𝗋[C ↾ ρ ≠ 1] ≤ (3/4)w

If then|Π | < (4/3)w

Union bound ⟹ 𝖯𝗋[∃C ∈ Π : 𝗐𝗂𝖽𝗍𝗁(C) ≥ w, C ↾ ρ ≠ 1] ≤ |Π | (3/4)w < 1

𝗌𝗂𝗓𝖾𝖱𝖾𝗌(F ∘ 𝖷𝖮𝖱2) ≥ 2Ω(𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F))

Lifting (Composition)

Proof: Let be a proof of Π F ∘ 𝖷𝖮𝖱2 := F(x1 ⊕ y1, …, xN ⊕ yN)

Width-to-Size Lifting Theorem:

Let be generated as follows — Flip a coin for each :

• Heads: set to a random bit, set

• Tails: set to a random bit, set

ρ ∈ {0,1,*}2N i ∈ [N]xi yi = *

yi xi = *Observe: (some variables negated) is a proof of F ∘ 𝖷𝖮𝖱2 ↾ ρ = F ⟹ Π ↾ ρ FIf is a clause of width then C ≥ w := 𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F) 𝖯𝗋[C ↾ ρ ≠ 1] ≤ (3/4)w

If then such that |Π | < (4/3)w ∃ρ 𝗐𝗂𝖽𝗍𝗁(Π ↾ ρ) < 𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F)Union bound ⟹ 𝖯𝗋[∃C ∈ Π : 𝗐𝗂𝖽𝗍𝗁(C) ≥ w, C ↾ ρ ≠ 1] ≤ |Π | (3/4)w < 1

𝗌𝗂𝗓𝖾𝖱𝖾𝗌(F ∘ 𝖷𝖮𝖱2) ≥ 2Ω(𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F))

Lifting (Composition)

Proof: Let be a proof of Π F ∘ 𝖷𝖮𝖱2 := F(x1 ⊕ y1, …, xN ⊕ yN)

Width-to-Size Lifting Theorem:

Let be generated as follows — Flip a coin for each :

• Heads: set to a random bit, set

• Tails: set to a random bit, set

ρ ∈ {0,1,*}2N i ∈ [N]xi yi = *

yi xi = *Observe: (some variables negated) is a proof of F ∘ 𝖷𝖮𝖱2 ↾ ρ = F ⟹ Π ↾ ρ FIf is a clause of width then C ≥ w := 𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F) 𝖯𝗋[C ↾ ρ ≠ 1] ≤ (3/4)w

If then such that Contradiction!

|Π | < (4/3)w ∃ρ 𝗐𝗂𝖽𝗍𝗁(Π ↾ ρ) < 𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F)Union bound ⟹ 𝖯𝗋[∃C ∈ Π : 𝗐𝗂𝖽𝗍𝗁(C) ≥ w, C ↾ ρ ≠ 1] ≤ |Π | (3/4)w < 1

𝗌𝗂𝗓𝖾𝖱𝖾𝗌(F ∘ 𝖷𝖮𝖱2) ≥ 2Ω(𝗐𝗂𝖽𝗍𝗁𝖱𝖾𝗌(F))

Lifting (Composition)

Typically

• is a “weak” proof system

• is a “strong” proof systemPQ

A lifting theorem shows that the most efficient -proof of is to simulate the most efficient -proof of (with some extra overhead to handle )

Q F ∘ gP F g

Our Lifting Does the opposite!

Our Lifting Does the opposite! — Lifts depth lower bounds on a strong proof system to (much stronger) depth lower bounds on weak proof system

Our Lifting Does the opposite! — Lifts depth lower bounds on a strong proof system to (much stronger) depth lower bounds on weak proof system

• is Resolution

• is size-bounded ResolutionPQ

Our Lifting Does the opposite! — Lifts depth lower bounds on a strong proof system to (much stronger) depth lower bounds on weak proof system

• is Resolution

• is size-bounded ResolutionPQ

Proof Idea: Find a gadget such that g

Our Lifting Does the opposite! — Lifts depth lower bounds on a strong proof system to (much stronger) depth lower bounds on weak proof system

• is Resolution

• is size-bounded ResolutionPQ

Proof Idea: Find a gadget such that 1. The number of variables of will be much smaller than

gn F ∘ g N

Our Lifting Does the opposite! — Lifts depth lower bounds on a strong proof system to (much stronger) depth lower bounds on weak proof system

• is Resolution

• is size-bounded ResolutionPQ

Proof Idea: Find a gadget such that 1. The number of variables of will be much smaller than 2. Any small-size Resolution proof of will require the same depth as proving

gn F ∘ g N

F ∘ g F

The Gadget Our gadget will be the XOR functionF(𝖷𝖮𝖱(x1), …, 𝖷𝖮𝖱(xN))

The Gadget Our gadget will be the XOR function

… With a twist! F(𝖷𝖮𝖱(x1), …, 𝖷𝖮𝖱(xN))

The variable sets will no longer be disjoint!x1, …, xN

The Gadget Our gadget will be the XOR function

… With a twist! F(𝖷𝖮𝖱(x1), …, 𝖷𝖮𝖱(xN))

The variable sets will no longer be disjoint!x1, …, xN

Composing will reduce the total number of variables to → n ≪ N

The Gadget Let be an bipartite graphG N × n

The Gadget Let be an bipartite graphG N × n

x1

x2

x3

z1

z2

z3

z4

z5

[n][N] = [nc]

The Gadget Let be an bipartite graphG N × n

x1

x2

x3

z1

z2

z3

z4

z5

[n][N] = [nc]

Original variablesNew variables

The Gadget x1

x2

x3

z1

z2

z3

z4

z5

[n][N] = [nc]

Original variablesNew variables

Let be an bipartite graph

replaces

G N × nF ∘ 𝖷𝖮𝖱G zi ↦ ⨁

xj∈𝖭(zi)

xj

The Gadget Let be an bipartite graph

replaces

G N × nF ∘ 𝖷𝖮𝖱G zi ↦ ⨁

xj∈𝖭(zi)

xj

x1

x2

x3

z1

z2

z3

z4

z5

[n][N] = [nc]

Original variablesNew variables

x1 ⊕ x3

x1 ⊕ x2

x2

x1

x2 ⊕ x3

The Gadget x1

x2

x3

z1

z2

z3

z4

z5

[n][N] = [nc]

x1 ⊕ x3

x1 ⊕ x2

x2

x2 ⊕ x3

x1

E.g. ((z1 ∨ ¬z2) ∧ z5) ∘ 𝖷𝖮𝖱G

Let be an bipartite graph

replaces

G N × nF ∘ 𝖷𝖮𝖱G zi ↦ ⨁

xj∈𝖭(zi)

xj

The Gadget x1

x2

x3

z1

z2

z3

z4

z5

[n][N] = [nc]

x1 ⊕ x3

x1 ⊕ x2

x2

x2 ⊕ x3

x1

E.g.

((x1 ⊕ x3) ∨ ¬(x1 ⊕ x2)) ∧ x1

((z1 ∨ ¬z2) ∧ z5) ∘ 𝖷𝖮𝖱G

Let be an bipartite graph

replaces

G N × nF ∘ 𝖷𝖮𝖱G zi ↦ ⨁

xj∈𝖭(zi)

xj

The Gadget

Idea: If the edges of are sufficiently “spread out” GIdea: If the edges of are sufficiently “spread out” G

x1

x2

x3

z1

z2

z3

z4

z5

[n][N] = [nc]

x1 ⊕ x3

x1 ⊕ x2

x2

x2 ⊕ x3

x1

Let be an bipartite graph

replaces

G N × nF ∘ 𝖷𝖮𝖱G zi ↦ ⨁

xj∈𝖭(zi)

xj

The Gadget

Idea: If the edges of are sufficiently “spread out” learning the value of one XOR won’t reveal much

information about any other XOR

G→Idea: If the edges of are sufficiently “spread out” G

x1

x2

x3

z1

z2

z3

z4

z5

[n][N] = [nc]

x1 ⊕ x3

x1 ⊕ x2

x2

x2 ⊕ x3

x1

Let be an bipartite graph

replaces

G N × nF ∘ 𝖷𝖮𝖱G zi ↦ ⨁

xj∈𝖭(zi)

xj

The Gadget

Idea: If the edges of are sufficiently “spread out” learning the value of one XOR won’t reveal much

information about any other XOR The best Resolution proof of should

essentially be to simulate the best proof of

G→

→ F ∘ 𝖷𝖮𝖱GF

Idea: If the edges of are sufficiently “spread out” G

x1

x2

x3

z1

z2

z3

z4

z5

[n][N] = [nc]

x1 ⊕ x3

x1 ⊕ x2

x2

x2 ⊕ x3

x1

Let be an bipartite graph

replaces

G N × nF ∘ 𝖷𝖮𝖱G zi ↦ ⨁

xj∈𝖭(zi)

xj

The Gadget

Idea: If the edges of are sufficiently “spread out” G

x1

x2

x3

z1

z2

z3

z4

z5

[n][N] = [nc]

x1 ⊕ x3

x1 ⊕ x2

x2

x2 ⊕ x3

x1

Let be an bipartite graph

replaces

G N × nF ∘ 𝖷𝖮𝖱G zi ↦ ⨁

xj∈𝖭(zi)

xj

Boundary: of is the number of “unique neighbours” of Number of variables that occur in exactly one XOR in

δ(U) U ⊆ [N] U→ U

The Gadget

Idea: If the edges of are sufficiently “spread out” G

x1

x2

x3z5

[n][N] = [nc]

x1 ⊕ x3

x1 ⊕ x2

x2

x2 ⊕ x3

x1

z2

z3

z4

z1

U

Let be an bipartite graph

replaces

G N × nF ∘ 𝖷𝖮𝖱G zi ↦ ⨁

xj∈𝖭(zi)

xj

Boundary: of is the number of “unique neighbours” of Number of variables that occur in exactly one XOR in

δ(U) U ⊆ [N] U→ U

The Gadget

Idea: If the edges of are sufficiently “spread out” G

x1

x2

x3

[n][N] = [nc]

x1 ⊕ x3

x1 ⊕ x2

x2

x2 ⊕ x3

x1

U

δ(U)

z5

z2

z3

z4

z1

Let be an bipartite graph

replaces

G N × nF ∘ 𝖷𝖮𝖱G zi ↦ ⨁

xj∈𝖭(zi)

xj

Boundary: of is the number of “unique neighbours” of Number of variables that occur in exactly one XOR in

δ(U) U ⊆ [N] U→ U

The Gadget

Idea: If the edges of are sufficiently “spread out” G

x1

x2

x3

[n][N] = [nc]

x1 ⊕ x3

x1 ⊕ x2

x2

x2 ⊕ x3

x1

U

δ(U)

z5

z2

z3

z4

z1

Let be an bipartite graph

replaces

G N × nF ∘ 𝖷𝖮𝖱G zi ↦ ⨁

xj∈𝖭(zi)

xj

Boundary: of is the number of “unique neighbours” of Number of variables that occur in exactly one XOR in

δ(U) U ⊆ [N] U→ U

-(Boundary) Expander: If every with has (r, c) U ⊆ [N] |U | ≤ r |δ(U) | ≥ c |U |

The Gadget

Idea: If the edges of are sufficiently “spread out” G

Boundary: of is the number of “unique neighbours” of Number of variables that occur in exactly one XOR in

δ(U) U ⊆ [N] U→ U

x1

x2

x3

[n][N] = [nc]

x1 ⊕ x3

x1 ⊕ x2

x2

x2 ⊕ x3

x1

U

δ(U)

-(Boundary) Expander: If every with has (r, c) U ⊆ [N] |U | ≤ r |δ(U) | ≥ c |U |

z5

z2

z3

z4

z1

Let be an bipartite graph

replaces

G N × nF ∘ 𝖷𝖮𝖱G zi ↦ ⨁

xj∈𝖭(zi)

xj

Our gadget will be for expanding → g 𝖷𝖮𝖱G G

Depth Condensation

Depth Condensation Theorem: ([Razborov16] stated for tree-Res)Let be an -boundary expander, any unsatisfiable formula. If is a Resolution proof of with then

G (r,2) FΠ F ∘ 𝖷𝖮𝖱G 𝗐𝗂𝖽𝗍𝗁(Π) ≤ r/4

𝖽𝖾𝗉𝗍𝗁(Π)𝗐𝗂𝖽𝗍𝗁(Π) = Ω(𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F))

Main workhorse behind our tradeoff:

Depth Condensation

Depth Condensation Theorem: ([Razborov16] stated for tree-Res)Let be an -boundary expander, any unsatisfiable formula. If is a Resolution proof of with then

G (r,2) FΠ F ∘ 𝖷𝖮𝖱G 𝗐𝗂𝖽𝗍𝗁(Π) ≤ r/4

𝖽𝖾𝗉𝗍𝗁(Π)𝗐𝗂𝖽𝗍𝗁(Π) = Ω(𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F))

We give a simple proof→

Main workhorse behind our tradeoff:

Depth Condensation

Depth Condensation Theorem: ([Razborov16] stated for tree-Res)Let be an -boundary expander, any unsatisfiable formula. If is a Resolution proof of with then

G (r,2) FΠ F ∘ 𝖷𝖮𝖱G 𝗐𝗂𝖽𝗍𝗁(Π) ≤ r/4

𝖽𝖾𝗉𝗍𝗁(Π)𝗐𝗂𝖽𝗍𝗁(Π) = Ω(𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F))

Combine this with the width-to-size lifting theorem to prove our main tradeoff! → We give a simple proof→

Main workhorse behind our tradeoff:

Main Tradeoff (For Resolution)

Main Theorem: There is a CNF formula on variables such that 1. There is a -proof of of size 2. If is a -proof of with then

F nP F nc ⋅ 2O(c)

Π P F 𝗌𝗂𝗓𝖾(Π) ≤ exp(o(n1−ε/c))

𝖽𝖾𝗉𝗍𝗁(Π) ⋅ log 𝗌𝗂𝗓𝖾(Π) = Ω ( nc

c log n )

Let , let be real-valued parameterε > 0 c ≥ 1

Main Tradeoff (For Resolution)

Idea: Set .N = nc

1. There is a Resolution proof of of size 2. If is a Resolution proof of with then

F nc ⋅ 2O(c)

Π F 𝗌𝗂𝗓𝖾(Π) ≤ exp(o(n1−ε/c))

𝖽𝖾𝗉𝗍𝗁(Π) ⋅ log 𝗌𝗂𝗓𝖾(Π) = Ω ( nc

c log n )

Main Tradeoff (For Resolution)

Idea: Set . Take a formula on variables which requires large depth but small size

N = nc N

1. There is a Resolution proof of of size 2. If is a Resolution proof of with then

F nc ⋅ 2O(c)

Π F 𝗌𝗂𝗓𝖾(Π) ≤ exp(o(n1−ε/c))

𝖽𝖾𝗉𝗍𝗁(Π) ⋅ log 𝗌𝗂𝗓𝖾(Π) = Ω ( nc

c log n )

Main Tradeoff (For Resolution)

Idea: Set . Take a formula on variables which requires large depth but small size — Pebbling requires depth but has size proofs

N = nc NΩ(N/log N) N

1. There is a Resolution proof of of size 2. If is a Resolution proof of with then

F nc ⋅ 2O(c)

Π F 𝗌𝗂𝗓𝖾(Π) ≤ exp(o(n1−ε/c))

𝖽𝖾𝗉𝗍𝗁(Π) ⋅ log 𝗌𝗂𝗓𝖾(Π) = Ω ( nc

c log n )

Main Tradeoff (For Resolution)

Idea: Set . Take a formula on variables which requires large depth but small size — Pebbling requires depth but has size proofs

Compose with and the depth condensation theorem to compress

N = nc NΩ(N/log N) N

→ 𝖷𝖮𝖱G

1. There is a Resolution proof of of size 2. If is a Resolution proof of with then

F nc ⋅ 2O(c)

Π F 𝗌𝗂𝗓𝖾(Π) ≤ exp(o(n1−ε/c))

𝖽𝖾𝗉𝗍𝗁(Π) ⋅ log 𝗌𝗂𝗓𝖾(Π) = Ω ( nc

c log n )

Main Tradeoff (For Resolution)

Idea: Set . Take a formula on variables which requires large depth but small size — Pebbling requires depth but has size proofs

Compose with and the depth condensation theorem to compress Compose with to translate the width bound to size

N = nc NΩ(N/log N) N

→ 𝖷𝖮𝖱G→ 𝖷𝖮𝖱2

1. There is a Resolution proof of of size 2. If is a Resolution proof of with then

F nc ⋅ 2O(c)

Π F 𝗌𝗂𝗓𝖾(Π) ≤ exp(o(n1−ε/c))

𝖽𝖾𝗉𝗍𝗁(Π) ⋅ log 𝗌𝗂𝗓𝖾(Π) = Ω ( nc

c log n )

Main Tradeoff (For Resolution)

Pf: Set . requires depth but has size proofsN = nc 𝖯𝖾𝖻N Ω(N/log N) N

1. There is a Resolution proof of of size 2. If is a Resolution proof of with then

F nc ⋅ 2O(c)

Π F 𝗌𝗂𝗓𝖾(Π) ≤ exp(o(n1−ε/c))

𝖽𝖾𝗉𝗍𝗁(Π) ⋅ log 𝗌𝗂𝗓𝖾(Π) = Ω ( nc

c log n )

Main Tradeoff (For Resolution)

Pf: Set . requires depth but has size proofsN = nc 𝖯𝖾𝖻N Ω(N/log N) N

1. There is a Resolution proof of of size 2. If is a Resolution proof of with then

F nc ⋅ 2O(c)

Π F 𝗌𝗂𝗓𝖾(Π) ≤ exp(o(n1−ε/c))

𝖽𝖾𝗉𝗍𝗁(Π) ⋅ log 𝗌𝗂𝗓𝖾(Π) = Ω ( nc

c log n )

[R16]: Exist bipartite -expander [N] × [n] (n1−ε/c, 2) G

Main Tradeoff (For Resolution)

Pf: Set . requires depth but has size proofsN = nc 𝖯𝖾𝖻N Ω(N/log N) N

1. There is a Resolution proof of of size 2. If is a Resolution proof of with then

F nc ⋅ 2O(c)

Π F 𝗌𝗂𝗓𝖾(Π) ≤ exp(o(n1−ε/c))

𝖽𝖾𝗉𝗍𝗁(Π) ⋅ log 𝗌𝗂𝗓𝖾(Π) = Ω ( nc

c log n )

[R16]: Exist bipartite -expander [N] × [n] (n1−ε/c, 2) G

Depth Condensation: If is a proof of with then

Π 𝖯𝖾𝖻𝖭 ∘ 𝖷𝖮𝖱𝖦 𝗐𝗂𝖽𝗍𝗁(Π) ≤ (n1−ε/c)𝗐𝗂𝖽𝗍𝗁(Π)𝖽𝖾𝗉𝗍𝗁(Π) = Ω(𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(𝖯𝖾𝖻N)) = Ω(nc/c log n)

Main Tradeoff (For Resolution)

Pf: Set . requires depth but has size proofsN = nc 𝖯𝖾𝖻N Ω(N/log N) N

1. There is a Resolution proof of of size 2. If is a Resolution proof of with then

F nc ⋅ 2O(c)

Π F 𝗌𝗂𝗓𝖾(Π) ≤ exp(o(n1−ε/c))

𝖽𝖾𝗉𝗍𝗁(Π) ⋅ log 𝗌𝗂𝗓𝖾(Π) = Ω ( nc

c log n )

[R16]: Exist bipartite -expander [N] × [n] (n1−ε/c, 2) G

Depth Condensation: If is a proof of with then

Π 𝖯𝖾𝖻𝖭 ∘ 𝖷𝖮𝖱𝖦 𝗐𝗂𝖽𝗍𝗁(Π) ≤ (n1−ε/c)

Width-to-Size Lifting: If is a Resolution proof of thenΠ 𝖯𝖾𝖻𝖭 ∘ 𝖷𝖮𝖱𝖦 ∘ 𝖷𝖮𝖱𝟤

log 𝗌𝗂𝗓𝖾(Π)𝖽𝖾𝗉𝗍𝗁(Π) ≥ Ω(nc/c log n)

𝗐𝗂𝖽𝗍𝗁(Π)𝖽𝖾𝗉𝗍𝗁(Π) = Ω(𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(𝖯𝖾𝖻N)) = Ω(nc/c log n)

Main Tradeoff (For Resolution)

Pf: Set . requires depth but has size proofsN = nc 𝖯𝖾𝖻N Ω(N/log N) N

1. There is a Resolution proof of of size 2. If is a Resolution proof of with then

F nc ⋅ 2O(c)

Π F 𝗌𝗂𝗓𝖾(Π) ≤ exp(o(n1−ε/c))

𝖽𝖾𝗉𝗍𝗁(Π) ⋅ log 𝗌𝗂𝗓𝖾(Π) = Ω ( nc

c log n )

[R16]: Exist bipartite -expander [N] × [n] (n1−ε/c, 2) G (left-degree )O(c)

Main Tradeoff (For Resolution)

Pf: Set . requires depth but has size proofsN = nc 𝖯𝖾𝖻N Ω(N/log N) N

1. There is a Resolution proof of of size 2. If is a Resolution proof of with then

F nc ⋅ 2O(c)

Π F 𝗌𝗂𝗓𝖾(Π) ≤ exp(o(n1−ε/c))

𝖽𝖾𝗉𝗍𝗁(Π) ⋅ log 𝗌𝗂𝗓𝖾(Π) = Ω ( nc

c log n )

Each in contains variables→ 𝖷𝖮𝖱 𝖯𝖾𝖻𝖭 ∘ 𝖷𝖮𝖱𝖦 ∘ 𝖷𝖮𝖱𝟤 O(c)

[R16]: Exist bipartite -expander [N] × [n] (n1−ε/c, 2) G (left-degree )O(c)

Main Tradeoff (For Resolution)

Pf: Set . requires depth but has size proofsN = nc 𝖯𝖾𝖻N Ω(N/log N) N

1. There is a Resolution proof of of size 2. If is a Resolution proof of with then

F nc ⋅ 2O(c)

Π F 𝗌𝗂𝗓𝖾(Π) ≤ exp(o(n1−ε/c))

𝖽𝖾𝗉𝗍𝗁(Π) ⋅ log 𝗌𝗂𝗓𝖾(Π) = Ω ( nc

c log n )

[R16]: Exist bipartite -boundary expanders[N] × [n] (n1−ε/c, 2)

Each in contains variables→ 𝖷𝖮𝖱 𝖯𝖾𝖻𝖭 ∘ 𝖷𝖮𝖱𝖦 ∘ 𝖷𝖮𝖱𝟤 O(c)Locally simulate the XOR in every step of the size proof of N 𝖯𝖾𝖻N

[R16]: Exist bipartite -expander [N] × [n] (n1−ε/c, 2) G (left-degree )O(c)

Main Tradeoff (For Resolution)

Pf: Set . requires depth but has size proofsN = nc 𝖯𝖾𝖻N Ω(N/log N) N

1. There is a Resolution proof of of size 2. If is a Resolution proof of with then

F nc ⋅ 2O(c)

Π F 𝗌𝗂𝗓𝖾(Π) ≤ exp(o(n1−ε/c))

𝖽𝖾𝗉𝗍𝗁(Π) ⋅ log 𝗌𝗂𝗓𝖾(Π) = Ω ( nc

c log n )

Each in contains variables→ 𝖷𝖮𝖱 𝖯𝖾𝖻𝖭 ∘ 𝖷𝖮𝖱𝖦 ∘ 𝖷𝖮𝖱𝟤 O(c)Locally simulate the XOR in every step of the size proof of

size Resolution proofN 𝖯𝖾𝖻N

→ nc ⋅ 2O(c)

[R16]: Exist bipartite -expander [N] × [n] (n1−ε/c, 2) G (left-degree )O(c)

Main TradeoffsTradeoffs for other proof systems are obtained by an extra step of lifting!

Main TradeoffsTradeoffs for other proof systems are obtained by an extra step of lifting! • For Cutting Planes we use the lifting theorem of [GGKS18]

Main TradeoffsTradeoffs for other proof systems are obtained by an extra step of lifting! • For Cutting Planes we use the lifting theorem of [GGKS18]

• For Res(k) we prove a lifting theorem from Resolution width to Res(k) size using the switching lemma of [SBI04]

XOR2

Prover Adversary Games: Characterizes Resolution depth of proving F

Proof of Depth Condensation

Prover Adversary Games: Characterizes Resolution depth of proving Two players Prover, Adversary share a state , initially

Fρ ∈ {0,1,*}n ρ = *n

Proof of Depth Condensation

Prover Adversary Games: Characterizes Resolution depth of proving Two players Prover, Adversary share a state , initially

• Prover wants to construct such that there is such that

Fρ ∈ {0,1,*}n ρ = *n

ρ C ∈ F C(ρ) = 0

Proof of Depth Condensation

Prover Adversary Games: Characterizes Resolution depth of proving Two players Prover, Adversary share a state , initially

• Prover wants to construct such that there is such that • Adversary wants to prolong the game

Fρ ∈ {0,1,*}n ρ = *n

ρ C ∈ F C(ρ) = 0

Proof of Depth Condensation

Prover Adversary Games: Characterizes Resolution depth of proving Two players Prover, Adversary share a state , initially

• Prover wants to construct such that there is such that • Adversary wants to prolong the gameEach round:

Fρ ∈ {0,1,*}n ρ = *n

ρ C ∈ F C(ρ) = 0

Proof of Depth Condensation

Prover Adversary Games: Characterizes Resolution depth of proving Two players Prover, Adversary share a state , initially

• Prover wants to construct such that there is such that • Adversary wants to prolong the gameEach round:

• Prover chooses such that

Fρ ∈ {0,1,*}n ρ = *n

ρ C ∈ F C(ρ) = 0

i ∈ [n] ρi = *

Proof of Depth Condensation

Prover Adversary Games: Characterizes Resolution depth of proving Two players Prover, Adversary share a state , initially

• Prover wants to construct such that there is such that • Adversary wants to prolong the gameEach round:

• Prover chooses such that

• Adversary chooses and sets

Fρ ∈ {0,1,*}n ρ = *n

ρ C ∈ F C(ρ) = 0

i ∈ [n] ρi = *b ∈ {0,1} ρi = b

Proof of Depth Condensation

Prover Adversary Games: Characterizes Resolution depth of proving Two players Prover, Adversary share a state , initially

• Prover wants to construct such that there is such that • Adversary wants to prolong the gameEach round:

• Prover chooses such that

• Adversary chooses and sets

• Prover chooses and sets for all (Forgetting)

Fρ ∈ {0,1,*}n ρ = *n

ρ C ∈ F C(ρ) = 0

i ∈ [n] ρi = *b ∈ {0,1} ρi = b

S ⊆ [n] ρi = * i ∈ S

Proof of Depth Condensation

Prover Adversary Games: Characterizes Resolution depth of proving Two players Prover, Adversary share a state , initially

• Prover wants to construct such that there is such that • Adversary wants to prolong the gameEach round:

• Prover chooses such that

• Adversary chooses and sets

• Prover chooses and sets for all (Forgetting)

Fρ ∈ {0,1,*}n ρ = *n

ρ C ∈ F C(ρ) = 0

i ∈ [n] ρi = *b ∈ {0,1} ρi = b

S ⊆ [n] ρi = * i ∈ S-Bounded Game: If alwaysw |ρ | ≤ w

Proof of Depth Condensation

Prover Adversary Games: Characterizes Resolution depth of proving Two players Prover, Adversary share a state , initially

• Prover wants to construct such that there is such that • Adversary wants to prolong the gameEach round:

• Prover chooses such that

• Adversary chooses and sets

• Prover chooses and sets for all (Forgetting)

Fρ ∈ {0,1,*}n ρ = *n

ρ C ∈ F C(ρ) = 0

i ∈ [n] ρi = *b ∈ {0,1} ρi = b

S ⊆ [n] ρi = * i ∈ S-Bounded Game: If alwaysw |ρ | ≤ w

Unbounded Game: No bound on |ρ |

Proof of Depth Condensation

Proof of Depth Condensation Claim: For any , if there is a Resolution proof of of width and depth

then there is a strategy for the Prover to win the -bounded game in rounds.

F Π F ≤ w≤ d (w + 1) d

Pf:Λ

C1 C2 Cm…

Proof of Depth Condensation Claim: For any , if there is a Resolution proof of of width and depth

then there is a strategy for the Prover to win the -bounded game in rounds.

F Π F ≤ w≤ d (w + 1) d

Π

Pf: Prover will walk from the root of to a leafΠΛ

C1 C2 Cm…

Proof of Depth Condensation Claim: For any , if there is a Resolution proof of of width and depth

then there is a strategy for the Prover to win the -bounded game in rounds.

F Π F ≤ w≤ d (w + 1) d

Π

Claim: For any , if there is a Resolution proof of of width and depth then there is a strategy for the Prover to win the -bounded game in

rounds.

F Π F ≤ w≤ d (w + 1) d

Λ

C1 C2 Cm…

Proof of Depth Condensation

Π

Pf: Prover will walk from the root of to a leafΠInvariant: If current clause is then , C C(ρ) = 0 |ρ | ≤ w

Λ

C1 C2 Cm…

Proof of Depth Condensation Claim: For any , if there is a Resolution proof of of width and depth

then there is a strategy for the Prover to win the -bounded game in rounds.

F Π F ≤ w≤ d (w + 1) d

Π

Pf: Prover will walk from the root of to a leafΠInvariant: If current clause is then ,

Root case is satisfied: is identically falseC C(ρ) = 0 |ρ | ≤ w

→ Λ

Λ

C1 C2 Cm…

Suppose current clause is A ∨ B A ∨ B

A ∨ xi B ∨ x̄i

Invariant: If current clause is then , Root case is satisfied: is identically false

C C(ρ) = 0 |ρ | ≤ w→ Λ

Proof of Depth Condensation Claim: For any , if there is a Resolution proof of of width and depth

then there is a strategy for the Prover to win the -bounded game in rounds.

F Π F ≤ w≤ d (w + 1) d

Π

Pf: Prover will walk from the root of to a leafΠ

Λ

C1 C2 Cm…

Suppose current clause is

• Prover asks about A ∨ B

xi

A ∨ B

A ∨ xi B ∨ x̄i

Invariant: If current clause is then , Root case is satisfied: is identically false

C C(ρ) = 0 |ρ | ≤ w→ Λ

Proof of Depth Condensation Claim: For any , if there is a Resolution proof of of width and depth

then there is a strategy for the Prover to win the -bounded game in rounds.

F Π F ≤ w≤ d (w + 1) d

Π

Pf: Prover will walk from the root of to a leafΠ

Λ

C1 C2 Cm…

Suppose current clause is

• Prover asks about

• If Delayer says then move to . Forget

A ∨ Bxi

xi = 0 A ∨ xi B∖A

A ∨ B

A ∨ xi B ∨ x̄i

Invariant: If current clause is then , Root case is satisfied: is identically false

C C(ρ) = 0 |ρ | ≤ w→ Λ

Proof of Depth Condensation Claim: For any , if there is a Resolution proof of of width and depth

then there is a strategy for the Prover to win the -bounded game in rounds.

F Π F ≤ w≤ d (w + 1) d

Π

Pf: Prover will walk from the root of to a leafΠ

Λ

C1 C2 Cm…

Suppose current clause is

• Prover asks about

• If Delayer says then move to . Forget

• Otherwise, move to . Forget

A ∨ Bxi

xi = 0 A ∨ xi B∖AB ∨ x̄i A∖B

A ∨ B

A ∨ xi B ∨ x̄i

Invariant: If current clause is then , Root case is satisfied: is identically false

C C(ρ) = 0 |ρ | ≤ w→ Λ

Proof of Depth Condensation Claim: For any , if there is a Resolution proof of of width and depth

then there is a strategy for the Prover to win the -bounded game in rounds.

F Π F ≤ w≤ d (w + 1) d

Π

Pf: Prover will walk from the root of to a leafΠ

Proof of Depth Condensation Depth Condensation Theorem: Let be an -boundary expander, any unsatisfiable formula. If is a Resolution proof of with then

G (r,2) FΠ F ∘ XORG 𝗐𝗂𝖽𝗍𝗁(Π) ≤ r/4

𝖽𝖾𝗉𝗍𝗁(Π)𝗐𝗂𝖽𝗍𝗁(Π) = Ω(𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F))

Proof of Depth Condensation Depth Condensation Theorem: Let be an -boundary expander, any unsatisfiable formula. If is a Resolution proof of with then

G (r,2) FΠ F ∘ XORG 𝗐𝗂𝖽𝗍𝗁(Π) ≤ r/4

𝖽𝖾𝗉𝗍𝗁(Π)𝗐𝗂𝖽𝗍𝗁(Π) = Ω(𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F))

Simplifying Assumption: Delayer can query variables as well

Proof of Depth Condensation

High Level: If strategy for the Adversary to survive rounds in the unbounded game on

𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A dF

Depth Condensation Theorem: Let be an -boundary expander, any unsatisfiable formula. If is a Resolution proof of with then

G (r,2) FΠ F ∘ XORG 𝗐𝗂𝖽𝗍𝗁(Π) ≤ r/4

𝖽𝖾𝗉𝗍𝗁(Π)𝗐𝗂𝖽𝗍𝗁(Π) = Ω(𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F))

Simplifying Assumption: Delayer can query variables as well

Proof of Depth Condensation

High Level: If strategy for the Adversary to survive rounds in the unbounded game on

𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A dF

Depth Condensation Theorem: Let be an -boundary expander, any unsatisfiable formula. If is a Resolution proof of with then

G (r,2) FΠ F ∘ XORG 𝗐𝗂𝖽𝗍𝗁(Π) ≤ r/4

𝖽𝖾𝗉𝗍𝗁(Π)𝗐𝗂𝖽𝗍𝗁(Π) = Ω(𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F))

Use to construct an Adversary Strategy for the -bounded game on to survive rounds, for any .

→ D wF ∘ XORG Ω(d/w) w ≤ r/4

Simplifying Assumption: Delayer can query variables as well

Proof Overview

Suppose and Prover asks about

High Level: If strategy for the Adversary to survive rounds in the unbounded game on

𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A dF

Adversary strategy for :F ∘ 𝖷𝖮𝖱G

Proof Overview

If Prover queries there are two casesxi

Suppose and Prover asks about

High Level: If strategy for the Adversary to survive rounds in the unbounded game on

𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A dF

Adversary strategy for :F ∘ 𝖷𝖮𝖱G

Proof Overview

If Prover queries there are two cases

• If is the last variable in (for some ) not set in :

xi

xi 𝖭(zj) zj ρ

Suppose and Prover asks about

High Level: If strategy for the Adversary to survive rounds in the unbounded game on

𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A dF

Adversary strategy for :F ∘ 𝖷𝖮𝖱G

Proof Overview

If Prover queries there are two cases

• If is the last variable in (for some ) not set in :

— Query for the value of on state .

xi

xi 𝖭(zj) zj ρA b zj 𝖷𝖮𝖱G(ρ)

Suppose and Prover asks about

High Level: If strategy for the Adversary to survive rounds in the unbounded game on

𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A dF

Adversary strategy for :F ∘ 𝖷𝖮𝖱G

Proof Overview

If Prover queries there are two cases

• If is the last variable in (for some ) not set in :

— Query for the value of on state .

— Set so that

xi

xi 𝖭(zj) zj ρA b zj 𝖷𝖮𝖱G(ρ)

xi ⊕t:xt∈N(zj) xt = b

Suppose and Prover asks about

High Level: If strategy for the Adversary to survive rounds in the unbounded game on

𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A dF

Adversary strategy for :F ∘ 𝖷𝖮𝖱G

Proof Overview

If Prover queries there are two cases

• If is the last variable in (for some ) not set in :

— Query for the value of on state .

— Set so that

• If there are at least two variables in for every : set arbitrarily

xi

xi 𝖭(zj) zj ρA b zj 𝖷𝖮𝖱G(ρ)

xi ⊕t:xt∈N(zj) xt = b

𝖭(zj) zj xi

Suppose and Prover asks about

High Level: If strategy for the Adversary to survive rounds in the unbounded game on

𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A dF

Adversary strategy for :F ∘ 𝖷𝖮𝖱G

Proof Overview

Suppose and Prover asks about

High Level: If strategy for the Adversary to survive rounds in the unbounded game on

𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A dF

Adversary strategy for :F ∘ 𝖷𝖮𝖱G

Unfortunately there is a problem — constraints are correlated!

If Prover queries there are two cases

• If is the last variable in (for some ) not set in :

— Query for the value of on state .

— Set so that

• If there are at least two variables in for every : set arbitrarily

xi

xi 𝖭(zj) zj ρA b zj 𝖷𝖮𝖱G(ρ)

xi ⊕t:xt∈N(zj) xt = b

𝖭(zj) zj xi

Proof Overview

x1

x2

x3

z1

z2

z3

z4

z5

[n][N] = [nc]

x1 ⊕ x3

x1 ⊕ x2

x2

x2 ⊕ x3

x1

Suppose and Prover asks about

e.g. Suppose and currently n = 3 ρ = [1, * , * ]Unfortunately there is a problem — constraints are correlated!

Proof Overview

x1

x2

x3

z1

z2

z3

z4

z5

[n][N] = [nc]

x1 ⊕ x3

x1 ⊕ x2

x2

x2 ⊕ x3

x1

Suppose and Prover asks about

e.g. Suppose and currently n = 3 ρ = [1, * , * ]Suppose Prover asks about x2

Unfortunately there is a problem — constraints are correlated!

Proof Overview

x1

x2

x3

z1

z2

z3

z4

z5

[n][N] = [nc]

x1 ⊕ x3

x1 ⊕ x2

x2

x2 ⊕ x3

x1

Suppose and Prover asks about

e.g. Suppose and currently n = 3 ρ = [1, * , * ]Suppose Prover asks about x2

is the last unset variable in → x2 𝖭(z2)

Unfortunately there is a problem — constraints are correlated!

Proof Overview

x1

x2

x3

z1

z2

z3

z4

z5

[n][N] = [nc]

x1 ⊕ x3

x1 ⊕ x2

x2

x2 ⊕ x3

x1

Suppose and Prover asks about

e.g. Suppose and currently n = 3 ρ = [1, * , * ]Suppose Prover asks about x2

is the last unset variable in → x2 𝖭(z2)

Query for on state A z2 𝖷𝖮𝖱G(ρ) = [ * , * , * , * ,1]

Unfortunately there is a problem — constraints are correlated!

Proof Overview

x1

x2

x3

z1

z2

z3

z4

z5

[n][N] = [nc]

x1 ⊕ x3

x1 ⊕ x2

x2

x2 ⊕ x3

x1

Suppose and Prover asks about

e.g. Suppose and currently n = 3 ρ = [1, * , * ]Suppose Prover asks about x2

is the last unset variable in → x2 𝖭(z2)

Query for on state A z2 𝖷𝖮𝖱G(ρ) = [ * , * , * , * ,1] Suppose responds with → A z2 = 0

Unfortunately there is a problem — constraints are correlated!

Proof Overview

x1

x2

x3

z1

z2

z3

z4

z5

[n][N] = [nc]

x1 ⊕ x3

x1 ⊕ x2

x2

x2 ⊕ x3

x1

Suppose and Prover asks about

e.g. Suppose and currently n = 3 ρ = [1, * , * ]Suppose Prover asks about x2

Query for on state A z2 𝖷𝖮𝖱G(ρ) = [ * , * , * , * ,1] Suppose responds with → A z2 = 0 Update so that → ρ = [1,1,*] z2 = x1 ⊕ x2 = 0

Unfortunately there is a problem — constraints are correlated!

is the last unset variable in → x2 𝖭(z2)

Proof Overview

x1

x2

x3

z1

z2

z3

z4

z5

[n][N] = [nc]

x1 ⊕ x3

x1 ⊕ x2

x2

x2 ⊕ x3

x1

Suppose and Prover asks about

e.g. Suppose and currently n = 3 ρ = [1, * , * ]Suppose Prover asks about x2

Query for on state A z2 𝖷𝖮𝖱G(ρ) = [ * , * , * , * ,1] Suppose responds with → A z2 = 0 Update so that → ρ = [1,1,*] z2 = x1 ⊕ x2 = 0

This forces !z3 = 1

Unfortunately there is a problem — constraints are correlated!

is the last unset variable in → x2 𝖭(z2)

Proof Overview

x1

x2

x3

z1

z2

z3

z4

z5

[n][N] = [nc]

x1 ⊕ x3

x1 ⊕ x2

x2

x2 ⊕ x3

x1

Suppose and Prover asks about

e.g. Suppose and currently n = 3 ρ = [1, * , * ]Suppose Prover asks about x2

Query for on state A z2 𝖷𝖮𝖱G(ρ) = [ * , * , * , * ,1] Suppose responds with → A z2 = 0 Update so that → ρ = [1,1,*] z2 = x1 ⊕ x2 = 0

This forces !— If on state sets

z3 = 1[*,0, * , * ,1] A z3 = 0

Unfortunately there is a problem — constraints are correlated!

is the last unset variable in → x2 𝖭(z2)

Proof Overview

x1

x2

x3

z1

z2

z3

z4

z5

[n][N] = [nc]

x1 ⊕ x3

x1 ⊕ x2

x2

x2 ⊕ x3

x1

Suppose and Prover asks about

e.g. Suppose and currently n = 3 ρ = [1, * , * ]Suppose Prover asks about x2

Query for on state A z2 𝖷𝖮𝖱G(ρ) = [ * , * , * , * ,1] Suppose responds with → A z2 = 0 Update so that → ρ = [1,1,*] z2 = x1 ⊕ x2 = 0

This forces !— If on state sets

We cannot follow !

z3 = 1[*,0, * , * ,1] A z3 = 0

→ A

Unfortunately there is a problem — constraints are correlated!

is the last unset variable in → x2 𝖭(z2)

Proof Overview

Suppose and Prover asks about

Use expansion to avoid bad situations where setting the value of determines more than one -variable!xi z

x2

[n][N] = [nc]

x1

x3

Unfortunately there is a problem — constraints are correlated!

z1

z2

z4

z5

z3

z1

z5

Proof Overview

Suppose and Prover asks about

Use expansion to avoid bad situations where setting the value of determines more than one -variable!xi z

x2

[n][N] = [nc]

x1

x3

Unfortunately there is a problem — constraints are correlated!

z1

z2

z4

z5

z3Let be induced by removing the -variables set by and -variables determined by :

G∖ρ x ρz ρ

𝖥𝗂𝗑𝖾𝖽(ρ) := {zj ∈ [N] : 𝖭(zj) is in ρ}

z1

z5

Proof Overview

Suppose and Prover asks about

Use expansion to avoid bad situations where setting the value of determines more than one -variable!xi z

x2

[n][N] = [nc]

x1

x3

Unfortunately there is a problem — constraints are correlated!

z1

z2

z4

z5

z3

e.g. then is:ρ = [1, * ,0] G∖ρ

Let be induced by removing the -variables set by and -variables determined by :

G∖ρ x ρz ρ

𝖥𝗂𝗑𝖾𝖽(ρ) := {zj ∈ [N] : 𝖭(zj) is in ρ}

z1

z5

Proof Overview

Suppose and Prover asks about

Use expansion to avoid bad situations where setting the value of determines more than one -variable!xi z

x2

[n][N] = [nc]

x1

x3

ρUnfortunately there is a problem — constraints are correlated!

z1

z2

z4

z5

z3

e.g. then is:ρ = [1, * ,0] G∖ρ

Let be induced by removing the -variables set by and -variables determined by :

G∖ρ x ρz ρ

𝖥𝗂𝗑𝖾𝖽(ρ) := {zj ∈ [N] : 𝖭(zj) is in ρ}

z1

z5

Proof Overview

Suppose and Prover asks about

Use expansion to avoid bad situations where setting the value of determines more than one -variable!xi z

x2

[n][N] = [nc]

x1

x3

ρUnfortunately there is a problem — constraints are correlated!

z1

z2

z4

z5

z3

e.g. then is:ρ = [1, * ,0] G∖ρ

Let be induced by removing the -variables set by and -variables determined by :

G∖ρ x ρz ρ

𝖥𝗂𝗑𝖾𝖽(ρ) := {zj ∈ [N] : 𝖭(zj) is in ρ}

𝖥𝗂𝗑𝖾𝖽(ρ)

z1

z5

Proof Overview

Suppose and Prover asks about

Use expansion to avoid bad situations where setting the value of determines more than one -variable!xi z

x2

[n][N] = [nc]

Unfortunately there is a problem — constraints are correlated!

z1

z2

z4

z5

z3

e.g. then is:ρ = [1, * ,0] G∖ρ

Let be induced by removing the -variables set by and -variables determined by :

G∖ρ x ρz ρ

𝖥𝗂𝗑𝖾𝖽(ρ) := {zj ∈ [N] : 𝖭(zj) is in ρ}

𝖥𝗂𝗑𝖾𝖽(ρ)

z1

z5

Proof Overview

Suppose and Prover asks about

Use expansion to avoid bad situations where setting the value of determines more than one -variable!xi z

x2

[n][N] = [nc]

e.g. then is:ρ = [1, * ,0] G∖ρ

Let be induced by removing the -variables set by and -variables determined by :

G∖ρ x ρz ρ

Unfortunately there is a problem — constraints are correlated!

z2

z4

z3

𝖥𝗂𝗑𝖾𝖽(ρ) := {zj ∈ [N] : 𝖭(zj) is in ρ}

G∖ρ

Proof Overview

Suppose and Prover asks about

Use expansion to avoid bad situations where setting the value of determines more than one -variable!xi z

x2

[n][N] = [nc]

e.g. then is:ρ = [1, * ,0] G∖ρ

Let be induced by removing the -variables set by and -variables determined by :

G∖ρ x ρz ρ

Unfortunately there is a problem — constraints are correlated!

z2

z4

z3

We will maintain the following invariant

𝖥𝗂𝗑𝖾𝖽(ρ) := {zj ∈ [N] : 𝖭(zj) is in ρ}

G∖ρ

Invariant: is -expandingG∖ρ (r/2,3/2)

Proof Overview

Suppose and Prover asks about

Use expansion to avoid bad situations where setting the value of determines more than one -variable!xi z

x2

[n][N] = [nc]

e.g. then is:ρ = [1, * ,0] G∖ρ

Let be induced by removing the -variables set by and -variables determined by :

G∖ρ x ρz ρ

Unfortunately there is a problem — constraints are correlated!

z2

z4

z3

We will maintain the following invariant

𝖥𝗂𝗑𝖾𝖽(ρ) := {zj ∈ [N] : 𝖭(zj) is in ρ}

G∖ρ

Setting doesn’t determine any -variable→ xi zInvariant: is -expandingG∖ρ (r/2,3/2)

Expansion RestorationHowever, after setting , may no longer be -expanding…xi G∖ρ (r/2,3/2)

Query additional variables to restore expansion!→

Expansion RestorationHowever, after setting , may no longer be -expanding…xi G∖ρ (r/2,3/2)

Query additional variables to restore expansion!→

Expansion Restoration

Want to assign few -variables while doing this z

However, after setting , may no longer be -expanding…xi G∖ρ (r/2,3/2)

Query additional variables to restore expansion!→

Expansion Restoration

Want to assign few -variables while doing this each time we fix a -variable we query the Adversary strategy for its value

— can only do at most times in total

z→ z A

d

However, after setting , may no longer be -expanding…xi G∖ρ (r/2,3/2)

Query additional variables to restore expansion!→

Expansion Restoration

Want to assign few -variables while doing this each time we fix a -variable we query the Adversary strategy for its value

— can only do at most times in total

z→ z A

dClosure Lemma [Alek05]: If is an -boundary expander, then for any ,

there exists , such that G (r,2) ρ

|ρ | ≤ r/4 𝖢𝗅(ρ) ⊆ [n] 𝖢𝗅(ρ) ⊇ ρ

However, after setting , may no longer be -expanding…xi G∖ρ (r/2,3/2)

Query additional variables to restore expansion!→

Expansion Restoration

Want to assign few -variables while doing this each time we fix a -variable we query the Adversary strategy for its value

— can only do at most times in total

z→ z A

dClosure Lemma [Alek05]: If is an -boundary expander, then for any ,

there exists , such that 1. The sets few -variables:

G (r,2) ρ|ρ | ≤ r/4 𝖢𝗅(ρ) ⊆ [n] 𝖢𝗅(ρ) ⊇ ρ

z |𝖥𝗂𝗑𝖾𝖽(𝖢𝗅(ρ)) | ≤ 2 |ρ |

However, after setting , may no longer be -expanding…xi G∖ρ (r/2,3/2)

Query additional variables to restore expansion!→

Expansion Restoration

Want to assign few -variables while doing this each time we fix a -variable we query the Adversary strategy for its value

— can only do at most times in total

z→ z A

dClosure Lemma [Alek05]: If is an -boundary expander, then for any ,

there exists , such that 1. The sets few -variables: 2. is an -boundary expander

G (r,2) ρ|ρ | ≤ r/4 𝖢𝗅(ρ) ⊆ [n] 𝖢𝗅(ρ) ⊇ ρ

z |𝖥𝗂𝗑𝖾𝖽(𝖢𝗅(ρ)) | ≤ 2 |ρ |G∖𝖢𝗅(ρ) (r/2,3/2)

However, after setting , may no longer be -expanding…xi G∖ρ (r/2,3/2)

Query additional variables to restore expansion!→

Expansion Restoration

Want to assign few -variables while doing this each time we fix a -variable we query the Adversary strategy for its value

— can only do at most times in total

z→ z A

dClosure Lemma [Alek05]: If is an -boundary expander, then for any ,

there exists , such that 1. The sets few -variables: 2. is an -boundary expander

G (r,2) ρ|ρ | ≤ r/4 𝖢𝗅(ρ) ⊆ [n] 𝖢𝗅(ρ) ⊇ ρ

z |𝖥𝗂𝗑𝖾𝖽(𝖢𝗅(ρ)) | ≤ 2 |ρ |G∖𝖢𝗅(ρ) (r/2,3/2)

To restore expansion, set the variables in → 𝖢𝗅(ρ)

However, after setting , may no longer be -expanding…xi G∖ρ (r/2,3/2)

Query additional variables to restore expansion!→

Expansion Restoration

Want to assign few -variables while doing this each time we fix a -variable we query the Adversary strategy for its value

— can only do at most times in total

z→ z A

dClosure Lemma [Alek05]: If is an -boundary expander, then for any ,

there exists , such that 1. The sets few -variables: 2. is an -boundary expander

G (r,2) ρ|ρ | ≤ r/4 𝖢𝗅(ρ) ⊆ [n] 𝖢𝗅(ρ) ⊇ ρ

z |𝖥𝗂𝗑𝖾𝖽(𝖢𝗅(ρ)) | ≤ 2 |ρ |G∖𝖢𝗅(ρ) (r/2,3/2)

To restore expansion, set the variables in → 𝖢𝗅(ρ)— Must be able to set -variables in consistent with while doing this z 𝖥𝗂𝗑𝖾𝖽(𝖢𝗅(ρ)) A

However, after setting , may no longer be -expanding…xi G∖ρ (r/2,3/2)

Query additional variables to restore expansion!→

Expansion Restoration

Want to assign few -variables while doing this each time we fix a -variable we query the Adversary strategy for its value

— can only do at most times in total

z→ z A

dClosure Lemma [Alek05]: If is an -boundary expander, then for any ,

there exists , such that 1. The sets few -variables: 2. is an -boundary expander

G (r,2) ρ|ρ | ≤ r/4 𝖢𝗅(ρ) ⊆ [n] 𝖢𝗅(ρ) ⊇ ρ

z |𝖥𝗂𝗑𝖾𝖽(𝖢𝗅(ρ)) | ≤ 2 |ρ |G∖𝖢𝗅(ρ) (r/2,3/2)

To restore expansion, set the variables in → 𝖢𝗅(ρ)— Must be able to set -variables in consistent with while doing this z 𝖥𝗂𝗑𝖾𝖽(𝖢𝗅(ρ)) A

However, after setting , may no longer be -expanding…xi G∖ρ (r/2,3/2)

may be larger than , but don’t worry about that

for now

|𝖢𝗅(ρ) |w = r/4

we query at most times

Expansion RestorationHowever, after setting , may no longer be -expanding…xi G∖ρ (r/2,3/2)

we query at most times

Expansion RestorationHowever, after setting , may no longer be -expanding…xi G∖ρ (r/2,3/2)But it is -expanding! (r/2,1/2)

we query at most times

Expansion RestorationHowever, after setting , may no longer be -expanding…xi G∖ρ (r/2,3/2)But it is -expanding! (r/2,1/2)

Setting a single -variable can only decrease the boundary by at most 1→ x

we query at most times

Expansion RestorationHowever, after setting , may no longer be -expanding…xi G∖ρ (r/2,3/2)But it is -expanding! (r/2,1/2)

Setting a single -variable can only decrease the boundary by at most 1→ xUse this remaining expansion to set the variables in consistently with !𝖢𝗅(ρ) A

we query at most times

Expansion RestorationHowever, after setting , may no longer be -expanding…xi G∖ρ (r/2,3/2)But it is -expanding! (r/2,1/2)

Setting a single -variable can only decrease the boundary by at most 1→ xUse this remaining expansion to set the variables in consistently with !

If is -expanding then we can find a strong system of distinct representatives (SDR)

𝖢𝗅(ρ) A→ G∖ρ (r/2,1/2)

A strong SDR of is a set such thatI = {I1, …, It} ⊆ [N] J = {J1, …Jt} ⊆ [n]

x3

[n][N] = [nc]

x1

x2

z1

z2

z3

z4

z5

Expansion Restoration

A strong SDR of is a set such that

1. There is a matching between and in

I = {I1, …, It} ⊆ [N] J = {J1, …Jt} ⊆ [n]I J G

x3

[n][N] = [nc]

x1

x2

z1

z2

z3

z4

z5

Expansion Restoration

A strong SDR of is a set such that

1. There is a matching between and in 2. is not adjacent to for

I = {I1, …, It} ⊆ [N] J = {J1, …Jt} ⊆ [n]I J G

zIixJj

j > i

x3

[n][N] = [nc]

x1

x2

z1

z2

z3

z4

z5

Expansion Restoration

A strong SDR of is a set such that

1. There is a matching between and in 2. is not adjacent to for

I = {I1, …, It} ⊆ [N] J = {J1, …Jt} ⊆ [n]I J G

zIixJj

j > i

x3

[n][N] = [nc]

x1

x2

z1

z2

z3

z4

z5

I1

I2

Expansion Restoration

A strong SDR of is a set such that

1. There is a matching between and in 2. is not adjacent to for

I = {I1, …, It} ⊆ [N] J = {J1, …Jt} ⊆ [n]I J G

zIixJj

j > i

x3

[n][N] = [nc]

I1

I2

J2

J1

x1

x2

z1

z2

z3

z4

z5

Expansion Restoration

A strong SDR of is a set such that

1. There is a matching between and in 2. is not adjacent to for

I = {I1, …, It} ⊆ [N] J = {J1, …Jt} ⊆ [n]I J G

zIixJj

j > i

x3

[n][N] = [nc]

J2

J1

x1

x2

z1

z2

z3

z4

z5

Allows us to set the constraints in however we likeI I1

I2

Expansion Restoration

A strong SDR of is a set such that

1. There is a matching between and in 2. is not adjacent to for

I = {I1, …, It} ⊆ [N] J = {J1, …Jt} ⊆ [n]I J G

zIixJj

j > i

x3

[n][N] = [nc]

J2

J1

x1

x2

z1

z2

z3

z4

z5

Allows us to set the constraints in however we like Fix the variables in

I→ 𝖭(zI1

)I1

I2

Expansion Restoration

A strong SDR of is a set such that

1. There is a matching between and in 2. is not adjacent to for

I = {I1, …, It} ⊆ [N] J = {J1, …Jt} ⊆ [n]I J G

zIixJj

j > i

x3

[n][N] = [nc]

J2

J1

x1

x2

z1

z2

z3

z4

z5

Allows us to set the constraints in however we like Fix the variables in by (2) there is at least one free variable for

I→ 𝖭(zI1

)→ zI2

, …, zIt

I1

I2

Expansion Restoration

A strong SDR of is a set such that

1. There is a matching between and in 2. is not adjacent to for

I = {I1, …, It} ⊆ [N] J = {J1, …Jt} ⊆ [n]I J G

zIixJj

j > i

x3

[n][N] = [nc]

J2

J1

x1

x2

z1

z2

z3

z4

z5

Allows us to set the constraints in however we like Fix the variables in by (2) there is at least one free variable for etc.

I→ 𝖭(zI1

)→ zI2

, …, zIt

I1

I2

Expansion Restoration

A strong SDR of is a set such that

1. There is a matching between and in 2. is not adjacent to for

I = {I1, …, It} ⊆ [N] J = {J1, …Jt} ⊆ [n]I J G

zIixJj

j > i

x3

[n][N] = [nc]

J2

J1

x1

x2

SDR Lemma: If is a -boundary expander any has a strong SDRG∖ρ (r/2,1/2) ⟹ | I | ≤ r/2

z1

z2

z3

z4

z5

I1

I2Allows us to set the constraints in however we like

Fix the variables in by (2) there is at least one free variable for etc.

I→ 𝖭(zI1

)→ zI2

, …, zIt

Expansion Restoration

To restore expansion, set the variables in as follows: let be the adversary for 𝖢𝗅(ρ) A F

we query at most times

Expansion Restoration

To restore expansion, set the variables in as follows: let be the adversary for 𝖢𝗅(ρ) A F

we query at most times

RestoreExpansion :(ρ, 𝖢𝗅(ρ))

Expansion RestorationSuch that is a -expanderG∖ρ (r/2,1/2)

To restore expansion, set the variables in as follows: let be the adversary for 𝖢𝗅(ρ) A F

SDR Lemma: has a strong SDR 𝖥𝗂𝗑𝖾𝖽(𝖢𝗅(ρ))∖𝖥𝗂𝗑𝖾𝖽(ρ) = {I1, …, It}J = J1, …, Jt

we query at most times

RestoreExpansion :(ρ, 𝖢𝗅(ρ))

Expansion RestorationSuch that is a -expanderG∖ρ (r/2,1/2)

To restore expansion, set the variables in as follows: let be the adversary for 𝖢𝗅(ρ) A F

Set the variables in arbitrarily — they do not fix any -variables→ 𝖢𝗅(ρ)∖J z

we query at most times

RestoreExpansion :(ρ, 𝖢𝗅(ρ))

Expansion RestorationSuch that is a -expanderG∖ρ (r/2,1/2)

SDR Lemma: has a strong SDR 𝖥𝗂𝗑𝖾𝖽(𝖢𝗅(ρ))∖𝖥𝗂𝗑𝖾𝖽(ρ) = {I1, …, It}J = J1, …, Jt

To restore expansion, set the variables in as follows: let be the adversary for 𝖢𝗅(ρ) A F

Set the variables in arbitrarily — they do not fix any -variables→ 𝖢𝗅(ρ)∖J z For :→ ℓ = 1,…, t

we query at most times

RestoreExpansion :(ρ, 𝖢𝗅(ρ))

Expansion RestorationSuch that is a -expanderG∖ρ (r/2,1/2)

SDR Lemma: has a strong SDR 𝖥𝗂𝗑𝖾𝖽(𝖢𝗅(ρ))∖𝖥𝗂𝗑𝖾𝖽(ρ) = {I1, …, It}J = J1, …, Jt

To restore expansion, set the variables in as follows: let be the adversary for 𝖢𝗅(ρ) A F

Set the variables in arbitrarily — they do not fix any -variables→ 𝖢𝗅(ρ)∖J z For : • has exactly one unset variable,

→ ℓ = 1,…, tzIℓ

xJℓ

we query at most times

RestoreExpansion :(ρ, 𝖢𝗅(ρ))

Expansion RestorationSuch that is a -expanderG∖ρ (r/2,1/2)

SDR Lemma: has a strong SDR 𝖥𝗂𝗑𝖾𝖽(𝖢𝗅(ρ))∖𝖥𝗂𝗑𝖾𝖽(ρ) = {I1, …, It}J = J1, …, Jt

To restore expansion, set the variables in as follows: let be the adversary for 𝖢𝗅(ρ) A F

Set the variables in arbitrarily — they do not fix any -variables→ 𝖢𝗅(ρ)∖J z For : • has exactly one unset variable,

• Query on state for the value to set

→ ℓ = 1,…, tzIℓ

xJℓ

A 𝖷𝖮𝖱G(ρ) b ∈ {0,1} zIℓ

we query at most times

RestoreExpansion :(ρ, 𝖢𝗅(ρ))

Expansion RestorationSuch that is a -expanderG∖ρ (r/2,1/2)

SDR Lemma: has a strong SDR 𝖥𝗂𝗑𝖾𝖽(𝖢𝗅(ρ))∖𝖥𝗂𝗑𝖾𝖽(ρ) = {I1, …, It}J = J1, …, Jt

To restore expansion, set the variables in as follows: let be the adversary for 𝖢𝗅(ρ) A F

Set the variables in arbitrarily — they do not fix any -variables→ 𝖢𝗅(ρ)∖J z For : • has exactly one unset variable,

• Query on state for the value to set

• Set so that

→ ℓ = 1,…, tzIℓ

xJℓ

A 𝖷𝖮𝖱G(ρ) b ∈ {0,1} zIℓ

xIj⊕xi∈𝖭(zIℓ) xi = b

we query at most times

RestoreExpansion :(ρ, 𝖢𝗅(ρ))

Expansion RestorationSuch that is a -expanderG∖ρ (r/2,1/2)

SDR Lemma: has a strong SDR 𝖥𝗂𝗑𝖾𝖽(𝖢𝗅(ρ))∖𝖥𝗂𝗑𝖾𝖽(ρ) = {I1, …, It}J = J1, …, Jt

To restore expansion, set the variables in as follows: let be the adversary for 𝖢𝗅(ρ) A F

Set the variables in arbitrarily — they do not fix any -variables→ 𝖢𝗅(ρ)∖J z For : • has exactly one unset variable,

• Query on state for the value to set

• Set so that

→ ℓ = 1,…, tzIℓ

xJℓ

A 𝖷𝖮𝖱G(ρ) b ∈ {0,1} zIℓ

xIj⊕xi∈𝖭(zIℓ) xi = b

By the closure lemma, is now a -expander — Invariant restored!→ G∖ρ (r/2,3/2)

we query at most times

RestoreExpansion :(ρ, 𝖢𝗅(ρ))

Expansion RestorationSuch that is a -expanderG∖ρ (r/2,1/2)

SDR Lemma: has a strong SDR 𝖥𝗂𝗑𝖾𝖽(𝖢𝗅(ρ))∖𝖥𝗂𝗑𝖾𝖽(ρ) = {I1, …, It}J = J1, …, Jt

Set the variables in arbitrarily — they do not fix any -variables→ 𝖢𝗅(ρ)∖J z

RestoreExpansion :(ρ, 𝖢𝗅(ρ))To restore expansion, set the variables in as follows: let be the adversary for 𝖢𝗅(ρ) A F

(Closure Lemma) |ρ | ≤ r/4 ⟹ t ≤ |𝖥𝗂𝗑𝖾𝖽(𝖢𝗅(ρ)) | ≤ r/2

Cost:

Expansion Restoration

For :→ ℓ = 1,…, t

Such that is a -expanderG∖ρ (r/2,1/2)SDR Lemma: has a strong SDR 𝖥𝗂𝗑𝖾𝖽(𝖢𝗅(ρ))∖𝖥𝗂𝗑𝖾𝖽(ρ) = {I1, …, It}J = J1, …, Jt

Set the variables in arbitrarily — they do not fix any -variables→ 𝖢𝗅(ρ)∖J z

RestoreExpansion :(ρ, 𝖢𝗅(ρ))To restore expansion, set the variables in as follows: let be the adversary for 𝖢𝗅(ρ) A F

Cost:

Expansion Restoration

For :→ ℓ = 1,…, t

(Closure Lemma) We query at most times|ρ | ≤ r/4 ⟹ t ≤ |𝖥𝗂𝗑𝖾𝖽(𝖢𝗅(ρ)) | ≤ r/2

⟹ A r/2 = O(w)

Such that is a -expanderG∖ρ (r/2,1/2)SDR Lemma: has a strong SDR 𝖥𝗂𝗑𝖾𝖽(𝖢𝗅(ρ))∖𝖥𝗂𝗑𝖾𝖽(ρ) = {I1, …, It}J = J1, …, Jt

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d F

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d F

Adversary strategy for -game on simulates as follows:w F ∘ 𝖷𝖮𝖱G A

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d F

Adversary strategy for -game on simulates as follows:w F ∘ 𝖷𝖮𝖱G AInvariant: is an -boundary expanderG∖ρ (r/2,3/2)

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d F

Adversary strategy for -game on simulates as follows:w F ∘ 𝖷𝖮𝖱G A

Query: If Prover asks for the value of xi

Invariant: is an -boundary expanderG∖ρ (r/2,3/2)

Set arbitrarily→ xi

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d F

Adversary strategy for -game on simulates as follows:w F ∘ 𝖷𝖮𝖱G A

Query: If Prover asks for the value of xi

Invariant: is an -boundary expanderG∖ρ (r/2,3/2)

Set arbitrarily — Since is expanding, setting doesn’t determine any → xi G∖ρ xi zj

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d F

Adversary strategy for -game on simulates as follows:w F ∘ 𝖷𝖮𝖱G A

Query: If Prover asks for the value of xi

Invariant: is an -boundary expanderG∖ρ (r/2,3/2)

Restore Expansion: Run RestoreExpansion(ρ, 𝖢𝗅(ρ))

Set arbitrarily — Since is expanding, setting doesn’t determine any → xi G∖ρ xi zj

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d F

Adversary strategy for -game on simulates as follows:w F ∘ 𝖷𝖮𝖱G A

Query: If Prover asks for the value of xi

Invariant: is an -boundary expanderG∖ρ (r/2,3/2)

Restore Expansion: Run RestoreExpansion(ρ, 𝖢𝗅(ρ))

Each round uses queries to and so we can continue for rounds!O(w) A Ω(d/w)

Set arbitrarily — Since is expanding, setting doesn’t determine any → xi G∖ρ xi zj

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d F

Adversary strategy for -game on simulates as follows:w F ∘ 𝖷𝖮𝖱G A

Query: If Prover asks for the value of xi

Invariant: is an -boundary expanderG∖ρ (r/2,3/2)

Set arbitrarily — Since is expanding, setting doesn’t determine any → xi G∖ρ xi yj

Restore Expansion: Run RestoreExpansion(ρ, 𝖢𝗅(ρ))

Each round uses queries to and so we can continue for rounds!O(w) A Ω(d/w)

Problem! Only the Prover can query variables Cannot carry out RestoreExpansion→

Adversary StrategyProblem! Only the Prover can query variables Cannot carry out RestoreExpansion→

Adversary StrategyProblem! Only the Prover can query variables Cannot carry out RestoreExpansion→Simulate querying by having the Adversary track an additional state ρ * ⊇ ρ

Adversary StrategyProblem! Only the Prover can query variables Cannot carry out RestoreExpansion→Simulate querying by having the Adversary track an additional state

will record the assignment to ρ * ⊇ ρ

→ ρ* 𝖢𝗅(ρ)

Adversary StrategyProblem! Only the Prover can query variables Cannot carry out RestoreExpansion→Simulate querying by having the Adversary track an additional state

will record the assignment to We will maintain that is expanding, rather than

ρ * ⊇ ρ→ ρ* 𝖢𝗅(ρ)→ G∖ρ* G∖ρ

Adversary StrategyProblem! Only the Prover can query variables Cannot carry out RestoreExpansion→Simulate querying by having the Adversary track an additional state

will record the assignment to We will maintain that is expanding, rather than

If the Prover asks about a variable such that set

ρ * ⊇ ρ→ ρ* 𝖢𝗅(ρ)→ G∖ρ* G∖ρ→ xi ρ*i ≠ * → xi = ρ*i

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d FAdversary strategy for -game on simulates as follows:w F ∘ 𝖷𝖮𝖱G A

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d FAdversary strategy for -game on simulates as follows:w F ∘ 𝖷𝖮𝖱G AInvariant: is an -boundary expanderG∖ρ* (r/2,3/2)

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d FAdversary strategy for -game on simulates as follows:w F ∘ 𝖷𝖮𝖱G A

Query: If Prover asks for the value of , set where xi xi = bInvariant: is an -boundary expanderG∖ρ* (r/2,3/2)

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d FAdversary strategy for -game on simulates as follows:w F ∘ 𝖷𝖮𝖱G A

Query: If Prover asks for the value of , set where xi xi = bInvariant: is an -boundary expanderG∖ρ* (r/2,3/2)

If then → ρ*i ≠ * b = ρ*i

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d FAdversary strategy for -game on simulates as follows:w F ∘ 𝖷𝖮𝖱G A

Query: If Prover asks for the value of , set where xi xi = bInvariant: is an -boundary expanderG∖ρ* (r/2,3/2)

If then If then is an arbitrary value in (we know is expanding)

→ ρ*i ≠ * b = ρ*i→ ρ*i = * b {0,1} G∖ρ*

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d FAdversary strategy for -game on simulates as follows:w F ∘ 𝖷𝖮𝖱G A

Query: If Prover asks for the value of , set where xi xi = bInvariant: is an -boundary expanderG∖ρ* (r/2,3/2)

If then If then is an arbitrary value in (we know is expanding)

→ ρ*i ≠ * b = ρ*i→ ρ*i = * b {0,1} G∖ρ*Let be the state that results after querying and forgetting some other variablesμ xi

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d FAdversary strategy for -game on simulates as follows:w F ∘ 𝖷𝖮𝖱G A

Query: If Prover asks for the value of , set where xi xi = bInvariant: is an -boundary expanderG∖ρ* (r/2,3/2)

If then If then is an arbitrary value in (we know is expanding)

→ ρ*i ≠ * b = ρ*i→ ρ*i = * b {0,1} G∖ρ*

Restore Expansion:

Let be the state that results after querying and forgetting some other variablesμ xi

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d FAdversary strategy for -game on simulates as follows:w F ∘ 𝖷𝖮𝖱G A

Query: If Prover asks for the value of , set where xi xi = bInvariant: is an -boundary expanderG∖ρ* (r/2,3/2)

If then If then is an arbitrary value in (we know is expanding)

→ ρ*i ≠ * b = ρ*i→ ρ*i = * b {0,1} G∖ρ*

Restore Expansion: Run RestoreExpansion to get (ρ* ∪ {xi = b}, 𝖢𝗅(μ)) μ*

Let be the state that results after querying and forgetting some other variablesμ xi

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d FAdversary strategy for -game on simulates as follows:w F ∘ 𝖷𝖮𝖱G A

Query: If Prover asks for the value of , set where xi xi = bInvariant: is an -boundary expanderG∖ρ* (r/2,3/2)

If then If then is an arbitrary value in (we know is expanding)

→ ρ*i ≠ * b = ρ*i→ ρ*i = * b {0,1} G∖ρ*

Restore Expansion: Run RestoreExpansion to get

— extends to set the variables in consistently with

(ρ* ∪ {xi = b}, 𝖢𝗅(μ)) μ*μ* ρ* 𝖢𝗅(μ) A

Let be the state that results after querying and forgetting some other variablesμ xi

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d FAdversary strategy for -game on simulates as follows:w F ∘ 𝖷𝖮𝖱G A

Query: If Prover asks for the value of , set where xi xi = bInvariant: is an -boundary expanderG∖ρ* (r/2,3/2)

If then If then is an arbitrary value in (we know is expanding)

→ ρ*i ≠ * b = ρ*i→ ρ*i = * b {0,1} G∖ρ*

Restore Expansion: Run RestoreExpansion to get

— extends to set the variables in consistently with Forget from the variables not in

(ρ* ∪ {xi = b}, 𝖢𝗅(μ)) μ*μ* ρ* 𝖢𝗅(μ) A

μ* 𝖢𝗅(μ)

Let be the state that results after querying and forgetting some other variablesμ xi

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d FAdversary strategy for -game on simulates as follows:w F ∘ 𝖷𝖮𝖱G A

Query: If Prover asks for the value of , set where xi xi = bInvariant: is an -boundary expanderG∖ρ* (r/2,3/2)

If then If then is an arbitrary value in (we know is expanding)

→ ρ*i ≠ * b = ρ*i→ ρ*i = * b {0,1} G∖ρ*Let be the state that results after querying and forgetting some other variablesμ xi

Uses queries to O(w) A

Restore Expansion: Run RestoreExpansion to get

— extends to set the variables in consistently with Forget from the variables not in

(ρ* ∪ {xi = b}, 𝖢𝗅(μ)) μ*μ* ρ* 𝖢𝗅(μ) A

μ* 𝖢𝗅(μ)

Adversary StrategyIf strategy for the Adversary to survive rounds on 𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F) ≥ d ⟹ A d FAdversary strategy for -game on simulates as follows:w F ∘ 𝖷𝖮𝖱G A

Query: If Prover asks for the value of , set where xi xi = bInvariant: is an -boundary expanderG∖ρ* (r/2,3/2)

If then If then is an arbitrary value in (we know is expanding)

→ ρ*i ≠ * b = ρ*i→ ρ*i = * b {0,1} G∖ρ*Let be the state that results after querying and forgetting some other variablesμ xi

Uses queries to Adversary can continue the game for rounds

O(w) A ⟹Ω(d/w)

Restore Expansion: Run RestoreExpansion to get

— extends to set the variables in consistently with Forget from the variables not in

(ρ* ∪ {xi = b}, 𝖢𝗅(μ)) μ*μ* ρ* 𝖢𝗅(μ) A

μ* 𝖢𝗅(μ)

Depth Condensation TheoremDepth Condensation Theorem: Let be an -boundary expander, any unsatisfiable formula. If is a Resolution proof of with then

G (r,2) FΠ F ∘ XORG 𝗐𝗂𝖽𝗍𝗁(Π) ≤ r/4

𝖽𝖾𝗉𝗍𝗁(Π)𝗐𝗂𝖽𝗍𝗁(Π) = Ω(𝖽𝖾𝗉𝗍𝗁𝖱𝖾𝗌(F))

Open QuestionsSupercritical size/depth tradeoffs for monotone circuits? Q .

Open QuestionsSupercritical size/depth tradeoffs for monotone circuits? Q .

For any , a Cutting Planes proof of implies a monotone circuits computing an associated function with the same topology [P96, HP17, FPPR17].→ F F

fF

Open QuestionsSupercritical size/depth tradeoffs for monotone circuits? Q .

For any , a Cutting Planes proof of implies a monotone circuits computing an associated function with the same topology [P96, HP17, FPPR17].

However, the number of variables of is equal to the number of clauses of

→ F FfF

→ fF F

Open QuestionsSupercritical size/depth tradeoffs for monotone circuits? Q .

For any , a Cutting Planes proof of implies a monotone circuits computing an associated function with the same topology [P96, HP17, FPPR17].

However, the number of variables of is equal to the number of clauses of Our tradeoffs do not imply supercritical tradeoffs for monotone circuits

→ F FfF

→ fF F⟹

Open QuestionsSupercritical size/depth tradeoffs for monotone circuits? Q .

For any , a Cutting Planes proof of implies a monotone circuits computing an associated function with the same topology [P96, HP17, FPPR17].

However, the number of variables of is equal to the number of clauses of Our tradeoffs do not imply supercritical tradeoffs for monotone circuits

→ F FfF

→ fF F⟹

Does every formula on clauses have a Resolution proof of depth ?Q . F m O(m)

Open QuestionsSupercritical size/depth tradeoffs for monotone circuits? Q .

For any , a Cutting Planes proof of implies a monotone circuits computing an associated function with the same topology [P96, HP17, FPPR17].

However, the number of variables of is equal to the number of clauses of Our tradeoffs do not imply supercritical tradeoffs for monotone circuits

→ F FfF

→ fF F⟹

If no, then supercritical size/depth tradeoffs for monotone circuits follow from the lifting theorem of [GGKS18].→

Does every formula on clauses have a Resolution proof of depth ?Q . F m O(m)