Documentation

Complexitylib.Metacomplexity.MCSP.AntiChecker.Rounds.Halving.Internal

Halving bounds for anti-checker shrink rounds -- proof internals #

theorem Complexity.AntiChecker.two_mul_sub_one_pow_le_pow_internal {denominator : } (hdenominator : 2 denominator) :
2 * (denominator - 1) ^ denominator denominator ^ denominator
theorem Complexity.AntiChecker.two_pow_mul_sub_one_pow_mul_le_pow_mul_internal {denominator : } (hdenominator : 2 denominator) (blocks : ) :
2 ^ blocks * (denominator - 1) ^ (denominator * blocks) denominator ^ (denominator * blocks)
theorem Complexity.AntiChecker.IsShrinkTrace.candidateSurvivorCount_eq_zero_of_initial_lt_two_pow_internal {arity denominator threshold blocks : } {target : BitString arityBool} {inputs : List (BitString arity)} (htrace : IsShrinkTrace denominator target threshold inputs) (hdenominator : 2 denominator) (hlength : inputs.length = denominator * blocks) (hinitial : candidateSurvivorCount target threshold [] < 2 ^ blocks) :
candidateSurvivorCount target threshold inputs = 0
theorem Complexity.AntiChecker.IsShrinkTrace.isFor_of_initial_lt_two_pow_internal {arity denominator threshold blocks : } [NeZero arity] {target : BitString arityBool} {inputs : List (BitString arity)} (htrace : IsShrinkTrace denominator target threshold inputs) (hdenominator : 2 denominator) (hlength : inputs.length = denominator * blocks) (hinitial : candidateSurvivorCount target threshold [] < 2 ^ blocks) :
IsFor target threshold inputs