Small-gap polynomial time #
SPP consists of languages whose characteristic function belongs to GapP, following
Fenner, Fortnow and Kurtz and Fortnow, Classification 4.4.
We use the library's verifier-based counting functions, without claiming a counting-machine
characterization. The Boolean closure proofs below are elementary consequences of the GapP
ring operations: complement uses 1 - f, intersection f * g, and union De Morgan's law.
Main definitions #
Cslib.Complexity.SPP: characteristic functions inGapP.
Main results #
Cslib.Complexity.mem_SPP: unfolding the definition.Cslib.Complexity.UP_subset_SPP,Cslib.Complexity.SPP_subset_CeqP.Cslib.Complexity.compl_mem_SPP,Cslib.Complexity.inter_mem_SPP,Cslib.Complexity.union_mem_SPP,Cslib.Complexity.diff_mem_SPP,Cslib.Complexity.symmDiff_mem_SPP,Cslib.Complexity.PolyTimeReducible.mem_SPP.
References #
Small-gap polynomial time: a GapP function is one on members and zero on nonmembers Fenner, Fortnow and Kurtz, Fortnow, Classification 4.4.
Instances For
UP ⊆ SPP Fortnow, Corollary 4.11.
def Cslib.Complexity.SPP.booleanSubalgebra {α : Type} (enc : α ↪ List Bool) :
BooleanSubalgebra (Set α)
SPP as a Boolean subalgebra of Set α.
Instances For
@[simp]