Documentation

Complexitylib.Classes.PPoly.Unrolling.Internal

Deterministic unrolling families — proof internals #

This module proves exact semantics and polynomial size for the family obtained by unrolling a deterministic machine. Public statements are exposed by Complexitylib.Classes.PPoly.Unrolling.

theorem Complexity.TM.DecidesInTime.boundedAcceptanceBit_iff_internal {k : } {tm : TM k} {L : Language} {f : } (hdec : tm.DecidesInTime L f) (n : ) (x : BitString n) (choices : BitString (f n)) :

Internal exact-horizon correctness of the bounded acceptance predicate for a deterministic decider.

Internal semantics of the deterministic unrolling family at every input length, including the explicit length-zero member.

Internal fixed-length correctness theorem for a deterministic unrolling family.

Internal whole-language correctness theorem for deterministic unrolling.

theorem Complexity.TM.unrollingCircuitFamily_size_bigO_internal {k : } (tm : TM k) {f : } {d : } (hf : BigO f fun (x : ) => x ^ d) :
BigO (tm.unrollingCircuitFamily f).size fun (x : ) => x ^ (3 * d)

Internal polynomial-size bound for a deterministic unrolling family.

theorem Complexity.TM.DecidesInTime.mem_PPoly_internal {k : } {tm : TM k} {L : Language} {f : } {d : } (hdec : tm.DecidesInTime L f) (hf : BigO f fun (x : ) => x ^ d) :

Internal packaging theorem: a polynomial-time deterministic decider yields a polynomial-size nonuniform circuit family.

Internal direct proof that deterministic polynomial time has nonuniform polynomial-size circuits.