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

      Every element of the image is a state of block 0.

      Dependency graph
      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

      Machine acceptance reduces to alternating acceptance at one block: mark every element as a state of the single block.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        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

              An instance carrying its promise is copied verbatim.

              Dependency graph

              An instance failing its promise has no accepting state in the image.

              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

              Alternating acceptance at one block reduces to machine acceptance: forget the mark, keeping the accepting states only when the promise holds.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                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