Documentation

Complexitylib.Metacomplexity.Kolmogorov.Incompressibility.Internal

Finite incompressibility -- proof internals #

The counting argument injects every compressible output into one chosen short program. Deterministic output uniqueness makes this choice injective.

theorem Complexity.StrictShortProgram.toList_ofList_internal (bound : ) (program : List Bool) (hlength : program.length < bound) :
(ofList bound program hlength).toList = program
theorem Complexity.ShortProgram.toList_ofList_internal (bound : ) (program : List Bool) (hlength : program.length bound) :
(ofList bound program hlength).toList = program
theorem Complexity.TM.mem_timeBoundedStrictlyCompressibleStrings_iff_internal {tapes : } (machine : TM tapes) (outputLength time threshold : ) (output : Fin outputLengthBool) :
output machine.timeBoundedStrictlyCompressibleStrings outputLength time threshold machine.timeBoundedKolmogorovComplexity (List.ofFn output) time < threshold
theorem Complexity.TM.mem_timeBoundedRandomStrings_iff_internal {tapes : } (machine : TM tapes) (outputLength time threshold : ) (output : Fin outputLengthBool) :
output machine.timeBoundedRandomStrings outputLength time threshold threshold machine.timeBoundedKolmogorovComplexity (List.ofFn output) time
theorem Complexity.TM.card_timeBoundedStrictlyCompressibleStrings_le_internal {tapes : } (machine : TM tapes) (outputLength time threshold : ) :
(machine.timeBoundedStrictlyCompressibleStrings outputLength time threshold).card 2 ^ threshold - 1
theorem Complexity.TM.card_timeBoundedRandomStrings_ge_internal {tapes : } (machine : TM tapes) (outputLength time threshold : ) :
2 ^ outputLength - (2 ^ threshold - 1) (machine.timeBoundedRandomStrings outputLength time threshold).card
theorem Complexity.TM.eventProb_timeBoundedStrictlyCompressibleStrings_le_internal {tapes : } (machine : TM tapes) (outputLength time threshold : ) :
eventProb (machine.timeBoundedStrictlyCompressibleStrings outputLength time threshold) ↑(2 ^ threshold - 1) / 2 ^ outputLength
theorem Complexity.TM.eventProb_timeBoundedRandomStrings_ge_internal {tapes : } (machine : TM tapes) (outputLength time threshold : ) :
1 - ↑(2 ^ threshold - 1) / 2 ^ outputLength eventProb (machine.timeBoundedRandomStrings outputLength time threshold)
theorem Complexity.TM.exists_timeBoundedKolmogorovComplexity_ge_internal {tapes : } (machine : TM tapes) (outputLength time threshold : ) (hthreshold : threshold outputLength) :
∃ (output : Fin outputLengthBool), threshold machine.timeBoundedKolmogorovComplexity (List.ofFn output) time
theorem Complexity.TM.mem_timeBoundedCompressibleStrings_iff_internal {tapes : } (machine : TM tapes) (outputLength time bound : ) (output : Fin outputLengthBool) :
output machine.timeBoundedCompressibleStrings outputLength time bound machine.timeBoundedKolmogorovComplexity (List.ofFn output) time bound
theorem Complexity.TM.mem_timeBoundedIncompressibleStrings_iff_internal {tapes : } (machine : TM tapes) (outputLength time bound : ) (output : Fin outputLengthBool) :
output machine.timeBoundedIncompressibleStrings outputLength time bound bound < machine.timeBoundedKolmogorovComplexity (List.ofFn output) time
theorem Complexity.TM.card_timeBoundedCompressibleStrings_le_internal {tapes : } (machine : TM tapes) (outputLength time bound : ) :
(machine.timeBoundedCompressibleStrings outputLength time bound).card 2 ^ (bound + 1) - 1
theorem Complexity.TM.card_timeBoundedIncompressibleStrings_ge_internal {tapes : } (machine : TM tapes) (outputLength time bound : ) :
2 ^ outputLength - (2 ^ (bound + 1) - 1) (machine.timeBoundedIncompressibleStrings outputLength time bound).card
theorem Complexity.TM.eventProb_timeBoundedCompressibleStrings_le_internal {tapes : } (machine : TM tapes) (outputLength time bound : ) :
eventProb (machine.timeBoundedCompressibleStrings outputLength time bound) ↑(2 ^ (bound + 1) - 1) / 2 ^ outputLength
theorem Complexity.TM.eventProb_timeBoundedIncompressibleStrings_ge_internal {tapes : } (machine : TM tapes) (outputLength time bound : ) :
1 - ↑(2 ^ (bound + 1) - 1) / 2 ^ outputLength eventProb (machine.timeBoundedIncompressibleStrings outputLength time bound)
theorem Complexity.TM.exists_timeBoundedKolmogorovComplexity_gt_internal {tapes : } (machine : TM tapes) (outputLength time bound : ) (hbound : bound < outputLength) :
∃ (output : Fin outputLengthBool), bound < machine.timeBoundedKolmogorovComplexity (List.ofFn output) time