Documentation

Complexitylib.Metacomplexity.MCSP.Magnification.AntiChecker.Generator.Padding.Internal

Anti-checker generator output padding -- proof internals #

theorem Complexity.GapMCSP.Magnification.AntiCheckerLemma.unpackSample_padPackedSamples_internal {sourceCount targetCount arity : } (hbudget : sourceCount targetCount) (input : BitString (sourceCount * arity)) (sample : Fin targetCount) :
unpackSample (padPackedSamples hbudget input) sample = Fin.append (fun (x : Fin (targetCount - sourceCount)) (x_1 : Fin arity) => false) (unpackSample input) (Fin.cast sample)
theorem Complexity.GapMCSP.Magnification.AntiCheckerLemma.unpackSamples_padPackedSamples_internal {sourceCount targetCount arity : } (hbudget : sourceCount targetCount) (input : BitString (sourceCount * arity)) :
theorem Complexity.GapMCSP.Magnification.AntiCheckerLemma.eval_packedSamplePaddingSource_internal {sourceCount targetCount arity : } (hbudget : sourceCount targetCount) (input : BitString (sourceCount * arity)) (output : Fin (targetCount * arity)) :
(packedSamplePaddingSource hbudget output).eval input = padPackedSamples hbudget input output
theorem Complexity.GapMCSP.Magnification.AntiCheckerLemma.eval_packedSamplePaddingCircuit_internal {sourceCount targetCount arity : } [NeZero (sourceCount * arity)] [NeZero (targetCount * arity)] (hbudget : sourceCount targetCount) (input : BitString (sourceCount * arity)) :
(packedSamplePaddingCircuit hbudget).eval input = padPackedSamples hbudget input
theorem Complexity.GapMCSP.Magnification.AntiCheckerLemma.size_packedSamplePaddingCircuit_internal {sourceCount targetCount arity : } [NeZero (sourceCount * arity)] [NeZero (targetCount * arity)] (hbudget : sourceCount targetCount) :
(packedSamplePaddingCircuit hbudget).size = targetCount * arity
theorem Complexity.GapMCSP.Magnification.AntiCheckerLemma.eval_paddedSelectionCircuit_internal {overhead arity : } {beta : PositiveRationalScale} [NeZero arity] (family : ApproximateCounterFamily overhead beta arity) (hbudget : requiredRoundCount beta arity sampleCount beta arity) (table : BitString (2 ^ arity)) :
(paddedSelectionCircuit family hbudget).snd.eval table = padPackedSamples hbudget ((fullSelectionSamplesCircuit family).snd.eval table)
theorem Complexity.GapMCSP.Magnification.AntiCheckerLemma.eventually_eval_paddedSelectionCircuit_isFor_of_correctCounterFamily_internal (beta : PositiveRationalScale) :
∀ᶠ (arity : ) in Filter.atTop, ∀ (harity : arity 0) (overhead : ) (family : ApproximateCounterFamily overhead beta arity) (hbudget : requiredRoundCount beta arity sampleCount beta arity), family.IsCorrect∀ (target : BitString arityBool), IsHardAt beta targetAntiChecker.IsFor target (smallThreshold beta arity) (unpackSamples ((paddedSelectionCircuit family hbudget).snd.eval (truthTable target)))