Unrestricted depth-three lower bound: circuit deletion #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Computability/DepthThree/CircuitDeletion.lean
Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical proofs are retained.
noncomputable def
Complexity.DepthThreeLowerBound.CNF.deleteWide
{V : Type uDepth1}
(H : CNF V)
(k : ℕ)
:
CNF V
Discard clauses whose width exceeds the given cutoff.
Equations
- H.deleteWide k = List.filter (fun (C : Complexity.DepthThreeLowerBound.Clause V) => decide (C.width ≤ k)) H
Instances For
@[simp]
@[simp]
theorem
Complexity.DepthThreeLowerBound.CNF.deleteWide_cons
{V : Type uDepth1}
(C : Clause V)
(H : CNF V)
(k : ℕ)
:
theorem
Complexity.DepthThreeLowerBound.CNF.deleteWide_widthAtMost
{V : Type uDepth1}
(H : CNF V)
(k : ℕ)
:
(H.deleteWide k).WidthAtMost k
theorem
Complexity.DepthThreeLowerBound.CNF.deleteWide_normalized
{V : Type uDepth1}
(H : CNF V)
(hH : H.Normalized)
(k : ℕ)
:
(H.deleteWide k).Normalized
theorem
Complexity.DepthThreeLowerBound.CNF.deleteWide_length_le
{V : Type uDepth1}
(H : CNF V)
(k : ℕ)
:
theorem
Complexity.DepthThreeLowerBound.CNF.deletion_error_bound
{V : Type uDepth1}
[Fintype V]
(H : CNF V)
(hH : H.Normalized)
(k : ℕ)
: