Counting accepted strings #
Cslib.Complexity.acceptCount V a n is the number of strings w of length n with
V (a, w) = true, for any Boolean predicate V : α × List Bool → Bool. No efficiency of V is
assumed. It counts the certificates of a verifier in the counting classes
(Cslib.Complexity.SharpP), the random strings accepted by a bounded-error or majority verifier,
and the choice strings accepted by a fair-coin machine (Turing.MultiTapePTM.acceptCount).
Main definitions #
Cslib.Complexity.acceptCount: the number of accepted strings of a given length.
Main results #
Cslib.Complexity.acceptCount_le_two_pow,Cslib.Complexity.acceptCount_pos_iff,Cslib.Complexity.acceptCount_eq_zero_iff: the range and support of the count.Cslib.Complexity.acceptCount_add: counting accepted strings by their prefixes.Cslib.Complexity.acceptCount_zero,Cslib.Complexity.acceptCount_add_acceptCount_not,Cslib.Complexity.acceptCount_not: counts of trivial and negated verifiers.
@[simp]
The verifier rejecting everything accepts no string.