Documentation

Complexitylib.Circuits.DepthThree.LowerBound.Internal.ThresholdWeight

From the imported correlation estimate to full-language threshold weight #

Restrict each CNF feature along the hard input substitution and apply the correlation-to-margin inequality to the resulting features. The weights stay unchanged and the width bound is preserved by substitution.

theorem Complexity.DepthThreeLowerBound.language_slice_threshold_weight_proof (s : ℝ) (hs : 0 ≤ s) :
∃ (N : ℕ), 20480 ≤ N ∧ ∀ (n : ℕ), N ≤ n → ∃ (α : Fin n → Fin (dataDimension n) ⊕ Bool), ∀ (J : Type) [inst : Fintype J] (H : J → CNF (Fin (dataDimension n))) (a : J → ℝ), (∀ (j : J), (H j).WidthAtMost (degreeCutoff s (dataDimension n))) → (∀ (x : Cube (Fin (dataDimension n))), 1 ≤ sign (language (List.ofFn (GateInput.assignment α x))) * ∑ j : J, a j * indicator ((H j).eval x)) → 2 ^ (4 * (s + 1) * √↑(dataDimension n)) / 6 ≤ ∑ j : J, |a j|
theorem Complexity.DepthThreeLowerBound.language_threshold_weight_proof (s : ℝ) (hs : 0 ≤ s) :
∃ (N : ℕ), 20480 ≤ N ∧ ∀ (n : ℕ), N ≤ n → ∀ (J : Type) [inst : Fintype J] (H : J → CNF (Fin n)) (a : J → ℝ), (∀ (j : J), (H j).WidthAtMost (degreeCutoff s (dataDimension n))) → (∀ (x : Fin n → Bool), 1 ≤ sign (language (List.ofFn x)) * ∑ j : J, a j * indicator ((H j).eval x)) → 2 ^ (4 * (s + 1) * √↑(dataDimension n)) / 6 ≤ ∑ j : J, |a j|
theorem Complexity.DepthThreeLowerBound.language_integer_threshold_weight_proof (s : ℝ) (hs : 0 ≤ s) :
∃ (N : ℕ), 20480 ≤ N ∧ ∀ (n : ℕ), N ≤ n → ∀ (J : Type) [inst : Fintype J] (H : J → CNF (Fin n)) (z : J → ℤ), (∀ (j : J), (H j).WidthAtMost (degreeCutoff s (dataDimension n))) → (∀ (x : Fin n → Bool), language (List.ofFn x) = decide (0 ≤ ∑ j : J, z j * if (H j).eval x = true then 1 else 0)) → (2 ^ (4 * (s + 1) * √↑(dataDimension n)) / 6 - 1) / 2 ≤ ∑ j : J, |↑(z j)|