The counting class #P #
#P (sharp-P) is the class of functions that count the accepting computation
paths of a polynomial-time nondeterministic machine, defined here directly on the
existing NTM.acceptCount path semantics (roadmap track L5).
Main definitions and results #
SharpP— the counting classNTM.acceptCount_le— a machine has at most2 ^ Taccepting paths among the2 ^ Tlength-Tchoice sequencesSharpP.le_two_pow— every#Pfunction is bounded by2 ^ T(|x|)for its polynomial clockT
#P (sharp-P): the class of functions f : List Bool → ℕ counting the
accepting computation paths of a polynomial-time nondeterministic machine.
f ∈ SharpP when some NTM halts on every path within a polynomial time bound
T and f x equals its number of accepting length-T(|x|) choice
sequences. Mirrors the existential shape of NP, but counts paths
(NTM.acceptCount) rather than merely asserting one exists.
Equations
- One or more equations did not get rendered due to their size.
Instances For
GapP: the class of integer-valued functions expressible as the difference
of two #P functions (equivalently, accepting minus rejecting paths of a
polynomial-time nondeterministic machine).