Unrestricted depth-three lower bound: finite probability bounds #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Computability/DepthThree/FiniteProbabilityBounds.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.finiteProb
{Ω : Type uDepth1}
[Fintype Ω]
(P : Ω → Prop)
:
Uniform probability of a predicate on a finite type.
Equations
- Complexity.DepthThreeLowerBound.finiteProb P = Complexity.DepthThreeLowerBound.finiteAvg fun (ω : Ω) => if P ω then 1 else 0
Instances For
theorem
Complexity.DepthThreeLowerBound.finiteProb_nonneg
{Ω : Type uDepth2}
[Fintype Ω]
(P : Ω → Prop)
:
theorem
Complexity.DepthThreeLowerBound.finiteProb_le_one
{Ω : Type uDepth2}
[Fintype Ω]
[Nonempty Ω]
(P : Ω → Prop)
:
theorem
Complexity.DepthThreeLowerBound.finiteProb_mono
{Ω : Type uDepth2}
[Fintype Ω]
{P Q : Ω → Prop}
(h : ∀ (ω : Ω), P ω → Q ω)
:
theorem
Complexity.DepthThreeLowerBound.finiteAvg_restrictionAvg
{Ω : Type uDepth2}
[Fintype Ω]
{V : Type uDepth5}
[Fintype V]
(p : ℝ)
(F : Ω → Restriction V → ℝ)
:
(finiteAvg fun (ω : Ω) => restrictionAvg p (F ω)) = restrictionAvg p fun (σ : Restriction V) => finiteAvg fun (ω : Ω) => F ω σ