Documentation

Complexitylib.Classes.Promise.CircuitSize.Internal

Nonuniform circuit size for promise problems -- proof internals #

theorem Complexity.mem_PromiseSIZEWithBasis_iff_internal (problem : PromiseProblem) (B : Basis) (bound : ℕ → ℕ) :
problem ∈ PromiseSIZEWithBasis B bound ↔ ∃ (family : CircuitFamily B), problem.SolvedBy family.evalList ∧ family.SizeBoundedBy bound
theorem Complexity.mem_PromiseSIZE_iff_internal (problem : PromiseProblem) (bound : ℕ → ℕ) :
problem ∈ PromiseSIZE bound ↔ ∃ (family : CircuitFamily Basis.andOr2), problem.SolvedBy family.evalList ∧ family.SizeBoundedBy bound
theorem Complexity.CircuitFamily.EventuallySizeBoundedBy.mono_internal {B : Basis} {family : CircuitFamily B} {first second : ℕ → ℕ} (hbound : family.EventuallySizeBoundedBy first) (hle : ∀ (n : ℕ), first n ≤ second n) :
theorem Complexity.CircuitFamily.EventuallySizeBoundedBy.trans_eventually_internal {B : Basis} {family : CircuitFamily B} {first second : ℕ → ℕ} (hbound : family.EventuallySizeBoundedBy first) (hle : ∀ᶠ (n : ℕ) in Filter.atTop, first n ≤ second n) :
theorem Complexity.PromiseSIZEWithBasis_mono_internal (B : Basis) {first second : ℕ → ℕ} (hle : ∀ (n : ℕ), first n ≤ second n) :
theorem Complexity.PromiseEventuallySIZEWithBasis_mono_internal (B : Basis) {first second : ℕ → ℕ} (hle : ∀ (n : ℕ), first n ≤ second n) :
theorem Complexity.PromiseSIZEWithBasis_mapBasis_subset_internal {source target : Basis} (hom : source.Hom target) (bound : ℕ → ℕ) :
PromiseSIZEWithBasis source bound ⊆ PromiseSIZEWithBasis target bound
theorem Complexity.PromiseEventuallySIZEWithBasis_mapBasis_subset_internal {source target : Basis} (hom : source.Hom target) (bound : ℕ → ℕ) :
theorem Complexity.PromiseSIZEWithBasis_eq_of_homs_internal {first second : Basis} (forward : first.Hom second) (reverse : second.Hom first) (bound : ℕ → ℕ) :
theorem Complexity.PromiseEventuallySIZEWithBasis_eq_of_homs_internal {first second : Basis} (forward : first.Hom second) (reverse : second.Hom first) (bound : ℕ → ℕ) :