Documentation

DescriptiveComplexity.Problems.Machine.AltOne

The alternating bridge at one block: ATMAccept 1 true is NP-complete #

The base case of the machine bridge for the polynomial hierarchy, and the sanity check on the alternating model: at k = 1 the only block is 0, its polarity is the starting one, so for start = true no state is universal and DescriptiveComplexity.ATMData.AltAccepts is DescriptiveComplexity.TMData.Accepts (DescriptiveComplexity.ATMData.altAccepts_true_iff_accepts). The alternating problem is therefore the same problem as DescriptiveComplexity.NTMAccept, up to the mark – and up to the mark is exactly what a reduction is for.

Both directions are identity interpretations – one dimension, one tag – in the style of DescriptiveComplexity.DetToNondet.detInterp:

Together they make ATMAccept 1 true NP-complete: membership travels backwards along forgetInterp, hardness forwards along markInterp. Nothing here is specific to one block except the two k = 1 facts of DescriptiveComplexity.Problems.Machine.AltDefs; the general bridge replaces them by the collapse lemmas of DescriptiveComplexity.MachinesAltPlay.

Marking a machine: NTMAccept ≤ᶠᵒ ATMAccept 1 true #

The identity interpretation that marks every element. Every symbol of the machine vocabulary is copied, and the single block mark holds of everything, so the interpreted instance carries a well-formed block structure.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    Dependency graph
    @[reducible, inline]
    noncomputable abbrev DescriptiveComplexity.MarkOne.toBase {A : Type} (x : markInterp.Map A) :
    A

    The universe of the image is the universe of the source.

    Equations
    Instances For
      Dependency graph

      The reduction is correct: marking every element changes nothing, since at one existential block the alternating semantics is the nondeterministic one.

      Dependency graph

      Forgetting the mark: ATMAccept 1 true ≤ᶠᵒ NTMAccept #

      The promise of DescriptiveComplexity.ATMAccept at one block – every element is marked – as a first-order formula whose free variables are unused: the guard the image puts on its accepting states.

      Equations
      Instances For
        Dependency graph

        The identity interpretation that forgets the mark, with a guarded accepting predicate.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          Dependency graph
          @[simp]
          Dependency graph
          @[reducible, inline]
          noncomputable abbrev DescriptiveComplexity.ForgetOne.toBase {A : Type} (x : forgetInterp.Map A) :
          A

          The universe of the image is the universe of the source.

          Equations
          Instances For
            Dependency graph
            @[simp]

            The accepting states of the image are guarded: an element is accepting there exactly when the source carries its promise and it is accepting in the source.

            Dependency graph

            The reduction is correct: forgetting the mark is harmless on instances that carry the promise, and the guard turns the others into no-instances.

            Dependency graph

            The bridge at one block #

            Alternating acceptance at one existential block is in NP.

            Dependency graph

            Alternating acceptance at one existential block is NP-hard.

            Dependency graph

            The bridge at one block: ATMAccept 1 true is NP-complete, the level-1 case of the machine bridge for the polynomial hierarchy.

            Dependency graph