Documentation

Complexitylib.Metacomplexity.MINCKT.Gap.Multiplicative

Multiplicative-gap conditional MinKT #

This module formalizes Definition 6.5's multiplicative no threshold, its exact program semantics, factor monotonicity, disjoint promise, and relation to the additive GapMINCKT problem. A larger factor narrows the no side; therefore the resulting multiplicative promise side-preservingly reduces to the additive factor-one promise by the identity map.

theorem Complexity.GapMINCKT.Multiplicative.isNo_iff_no_relaxedWitness {conditionalTapes : } (inst : Instance) (conditionalMachine : OracleTM conditionalTapes) (parameters : Parameters) (factor : ) :
IsNo inst conditionalMachine parameters factor ¬∃ (program : List Bool), IsRelaxedWitness inst conditionalMachine parameters factor program

The multiplicative no condition exactly forbids descriptions meeting its relaxed length and transformed-time bounds.

theorem Complexity.GapMINCKT.Multiplicative.IsNo.implies_additive {conditionalTapes : } {inst : Instance} {conditionalMachine : OracleTM conditionalTapes} {parameters : Parameters} {factor : } (hfactor : 1 factor inst.output.length) (hno : IsNo inst conditionalMachine parameters factor) :
inst.IsNo conditionalMachine parameters

Any multiplicative no-instance with factor at least one is an additive no-instance.

theorem Complexity.GapMINCKT.Multiplicative.IsNo.factor_anti {conditionalTapes : } {inst : Instance} {conditionalMachine : OracleTM conditionalTapes} {parameters : Parameters} {first second : } (hfactor : first inst.output.length second inst.output.length) (hno : IsNo inst conditionalMachine parameters second) :
IsNo inst conditionalMachine parameters first

Increasing the approximation factor can only narrow the no side.

theorem Complexity.GapMINCKT.Multiplicative.not_isNo_of_isYes {ordinaryTapes conditionalTapes : } (inst : Instance) (ordinaryMachine : TM ordinaryTapes) (conditionalMachine : OracleTM conditionalTapes) (parameters : Parameters) (factor : ) (hwidening : parameters.IsWidening) (hfactor : 1 factor inst.output.length) (hyes : inst.IsYes ordinaryMachine conditionalMachine parameters) :
¬IsNo inst conditionalMachine parameters factor

Widening and a factor of at least one prevent overlap with the depth-adjusted yes side.

@[simp]
theorem Complexity.GapMINCKT.Multiplicative.mem_noLanguage_encode_iff {conditionalTapes : } (conditionalMachine : OracleTM conditionalTapes) (parameters : Parameters) (factor : ) (inst : Instance) :
inst.encode noLanguage conditionalMachine parameters factor IsNo inst conditionalMachine parameters factor
theorem Complexity.GapMINCKT.Multiplicative.noLanguage_subset_additive {conditionalTapes : } (conditionalMachine : OracleTM conditionalTapes) (parameters : Parameters) (factor : ) (hfactor : ∀ (length : ), 1 factor length) :
noLanguage conditionalMachine parameters factorGapMINCKT.noLanguage conditionalMachine parameters

The multiplicative no language is contained in the additive no language when the factor is at least one.

theorem Complexity.GapMINCKT.Multiplicative.noLanguage_factor_anti {conditionalTapes : } (conditionalMachine : OracleTM conditionalTapes) (parameters : Parameters) {first second : } (hfactor : ∀ (length : ), first length second length) :
noLanguage conditionalMachine parameters secondnoLanguage conditionalMachine parameters first

Pointwise larger factors give pointwise smaller no languages.

@[simp]
theorem Complexity.GapMINCKT.Multiplicative.noLanguage_one {conditionalTapes : } (conditionalMachine : OracleTM conditionalTapes) (parameters : Parameters) :
(noLanguage conditionalMachine parameters fun (_length : ) => 1) = GapMINCKT.noLanguage conditionalMachine parameters

Factor one recovers the additive no language exactly.

def Complexity.GapMINCKT.Multiplicative.problem {ordinaryTapes conditionalTapes : } (ordinaryMachine : TM ordinaryTapes) (conditionalMachine : OracleTM conditionalTapes) (parameters : Parameters) (factor : ) (hwidening : parameters.IsWidening) (hfactor : ∀ (length : ), 1 factor length) :

Definition 6.5's widening-certified multiplicative promise.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem Complexity.GapMINCKT.Multiplicative.problem_yesInstances {ordinaryTapes conditionalTapes : } (ordinaryMachine : TM ordinaryTapes) (conditionalMachine : OracleTM conditionalTapes) (parameters : Parameters) (factor : ) (hwidening : parameters.IsWidening) (hfactor : ∀ (length : ), 1 factor length) :
    (problem ordinaryMachine conditionalMachine parameters factor hwidening hfactor).yesInstances = yesLanguage ordinaryMachine conditionalMachine parameters
    @[simp]
    theorem Complexity.GapMINCKT.Multiplicative.problem_noInstances {ordinaryTapes conditionalTapes : } (ordinaryMachine : TM ordinaryTapes) (conditionalMachine : OracleTM conditionalTapes) (parameters : Parameters) (factor : ) (hwidening : parameters.IsWidening) (hfactor : ∀ (length : ), 1 factor length) :
    (problem ordinaryMachine conditionalMachine parameters factor hwidening hfactor).noInstances = noLanguage conditionalMachine parameters factor
    theorem Complexity.GapMINCKT.Multiplicative.mapReducesVia_additive {ordinaryTapes conditionalTapes : } (ordinaryMachine : TM ordinaryTapes) (conditionalMachine : OracleTM conditionalTapes) (parameters : Parameters) (factor : ) (hwidening : parameters.IsWidening) (hfactor : ∀ (length : ), 1 factor length) :
    (problem ordinaryMachine conditionalMachine parameters factor hwidening hfactor).MapReducesVia (GapMINCKT ordinaryMachine conditionalMachine parameters hwidening) id

    The identity map side-preservingly reduces every factor-at-least-one multiplicative promise to the additive factor-one promise.

    theorem Complexity.GapMINCKT.Multiplicative.mapReducesPoly_additive {ordinaryTapes conditionalTapes : } (ordinaryMachine : TM ordinaryTapes) (conditionalMachine : OracleTM conditionalTapes) (parameters : Parameters) (factor : ) (hwidening : parameters.IsWidening) (hfactor : ∀ (length : ), 1 factor length) :
    (problem ordinaryMachine conditionalMachine parameters factor hwidening hfactor).MapReducesPoly (GapMINCKT ordinaryMachine conditionalMachine parameters hwidening)

    The semantic identity reduction is polynomial time.

    theorem Complexity.GapMINCKT.Multiplicative.promiseNPHard_additive {ordinaryTapes conditionalTapes : } (ordinaryMachine : TM ordinaryTapes) (conditionalMachine : OracleTM conditionalTapes) (parameters : Parameters) (factor : ) (hwidening : parameters.IsWidening) (hfactor : ∀ (length : ), 1 factor length) (hhard : PromiseNPHard (problem ordinaryMachine conditionalMachine parameters factor hwidening hfactor)) :
    PromiseNPHard (GapMINCKT ordinaryMachine conditionalMachine parameters hwidening)

    NP-hardness of a factor-at-least-one multiplicative gap transfers to the additive factor-one promise. The direction follows the narrowing of the multiplicative no side.

    theorem Complexity.GapMINCKT.Multiplicative.P_eq_NP_of_hard_of_additive_mem_PromiseP {ordinaryTapes conditionalTapes : } (ordinaryMachine : TM ordinaryTapes) (conditionalMachine : OracleTM conditionalTapes) (parameters : Parameters) (factor : ) (hwidening : parameters.IsWidening) (hfactor : ∀ (length : ), 1 factor length) (hhard : PromiseNPHard (problem ordinaryMachine conditionalMachine parameters factor hwidening hfactor)) (hmembership : GapMINCKT ordinaryMachine conditionalMachine parameters hwidening PromiseP) :

    If the multiplicative conditional gap is NP-hard while the corresponding additive gap has a deterministic polynomial-time completion, then P = NP.

    theorem Complexity.GapMINCKT.Multiplicative.P_eq_NP_of_hard_of_estimatorLanguage_mem_P {ordinaryTapes conditionalTapes : } (ordinaryMachine : TM ordinaryTapes) (conditionalMachine : OracleTM conditionalTapes) (parameters : Parameters) (factor : ) (hwidening : parameters.IsWidening) (hfactor : ∀ (length : ), 1 factor length) (hhard : PromiseNPHard (problem ordinaryMachine conditionalMachine parameters factor hwidening hfactor)) {estimate : Estimator} (hestimate : estimate.SatisfiesBounds ordinaryMachine conditionalMachine parameters) (hpolynomial : estimatorLanguage estimate P) :

    A valid conditional-complexity estimator whose threshold language is in P rules out NP-hardness of the corresponding multiplicative gap unless P = NP. This is the promise-hardness endpoint of the SoI estimator route.