Documentation

DescriptiveComplexity.Problems.MachineAltSpace.Guards

The guards of the alternating machine, and the configuration block #

The first of the three layers that put DescriptiveComplexity.ATMAcceptSpace in EXPTIME. Everything here is bookkeeping:

The block has a binary variable for the tape because a DescriptiveComplexity.Config carries a function A → A; that the variable is one is the content of DescriptiveComplexity.ATMSpace.isCfgS, and DescriptiveComplexity.ATMSpace.cfgOf is the assignment a configuration is.

The ordered vocabulary and its symbols #

@[reducible, inline]

The ordered expansion of the alternating machine vocabulary, at two blocks.

Equations
Instances For
    Dependency graph
    Dependency graph
    Dependency graph
    Dependency graph
    @[reducible, inline]

    The accepting-state symbol.

    Equations
    Instances For
      Dependency graph
      Dependency graph
      Dependency graph
      @[reducible, inline]

      The order symbol of the machine.

      Equations
      Instances For
        Dependency graph
        @[reducible, inline]

        The transition-source symbol.

        Equations
        Instances For
          Dependency graph
          Dependency graph
          @[reducible, inline]

          The transition-destination symbol.

          Equations
          Instances For
            Dependency graph
            Dependency graph
            Dependency graph
            @[reducible, inline]

            The mark of the i-th player.

            Equations
            Instances For
              Dependency graph

              One guard per symbol #

              Dependency graph
              Dependency graph
              Dependency graph
              Dependency graph
              Dependency graph
              Dependency graph
              noncomputable def DescriptiveComplexity.ATMSpace.blkG {γ : Type} (i : Fin 2) (x : γ) :

              x is marked by the i-th player.

              Equations
              Instances For
                Dependency graph
                Dependency graph
                Dependency graph
                Dependency graph
                Dependency graph
                Dependency graph
                noncomputable def DescriptiveComplexity.ATMSpace.inpG {γ : Type} (x y : γ) :

                The cell x initially holds the input symbol y.

                Equations
                Instances For
                  Dependency graph
                  noncomputable def DescriptiveComplexity.ATMSpace.eqG {γ : Type} (x y : γ) :

                  x and y are the same element.

                  Equations
                  Instances For
                    Dependency graph
                    Dependency graph
                    @[simp]
                    Dependency graph
                    Dependency graph
                    @[simp]
                    Dependency graph
                    Dependency graph
                    Dependency graph
                    Dependency graph
                    @[simp]
                    theorem DescriptiveComplexity.ATMSpace.realize_leG {γ A : Type} [(FirstOrder.Language.turingAlt 2).Structure A] [LinearOrder A] {v : γ → A} (x y : γ) :
                    (leG x y).Realize v ↔ ATMLe (v x) (v y)
                    Dependency graph
                    @[simp]
                    theorem DescriptiveComplexity.ATMSpace.realize_srcG {γ A : Type} [(FirstOrder.Language.turingAlt 2).Structure A] [LinearOrder A] {v : γ → A} (x y : γ) :
                    (srcG x y).Realize v ↔ ATMSrc (v x) (v y)
                    Dependency graph
                    @[simp]
                    theorem DescriptiveComplexity.ATMSpace.realize_readG {γ A : Type} [(FirstOrder.Language.turingAlt 2).Structure A] [LinearOrder A] {v : γ → A} (x y : γ) :
                    (readG x y).Realize v ↔ ATMRead (v x) (v y)
                    Dependency graph
                    @[simp]
                    theorem DescriptiveComplexity.ATMSpace.realize_dstG {γ A : Type} [(FirstOrder.Language.turingAlt 2).Structure A] [LinearOrder A] {v : γ → A} (x y : γ) :
                    (dstG x y).Realize v ↔ ATMDst (v x) (v y)
                    Dependency graph
                    @[simp]
                    theorem DescriptiveComplexity.ATMSpace.realize_writeG {γ A : Type} [(FirstOrder.Language.turingAlt 2).Structure A] [LinearOrder A] {v : γ → A} (x y : γ) :
                    (writeG x y).Realize v ↔ ATMWrite (v x) (v y)
                    Dependency graph
                    @[simp]
                    theorem DescriptiveComplexity.ATMSpace.realize_inpG {γ A : Type} [(FirstOrder.Language.turingAlt 2).Structure A] [LinearOrder A] {v : γ → A} (x y : γ) :
                    (inpG x y).Realize v ↔ ATMInp (v x) (v y)
                    Dependency graph
                    @[simp]
                    theorem DescriptiveComplexity.ATMSpace.realize_eqG {γ A : Type} [(FirstOrder.Language.turingAlt 2).Structure A] [LinearOrder A] {v : γ → A} (x y : γ) :
                    (eqG x y).Realize v ↔ v x = v y
                    Dependency graph

                    The derived guards #

                    noncomputable def DescriptiveComplexity.ATMSpace.minPosG {γ : Type} (x : γ) :

                    x is a least position.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      Dependency graph
                      noncomputable def DescriptiveComplexity.ATMSpace.succPosG {γ : Type} (x y : γ) :

                      y is the position immediately above x.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        Dependency graph
                        noncomputable def DescriptiveComplexity.ATMSpace.initTapeG {γ : Type} (x y : γ) :

                        The cell x may initially hold the symbol y.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          Dependency graph
                          Dependency graph
                          Dependency graph
                          @[simp]
                          theorem DescriptiveComplexity.ATMSpace.realize_initTapeG {γ A : Type} [(FirstOrder.Language.turingAlt 2).Structure A] [LinearOrder A] {v : γ → A} (x y : γ) :
                          (initTapeG x y).Realize v ↔ (atmData 2 A).InitTape (v x) (v y)
                          Dependency graph

                          The two promises, as sentences #

                          The machine's order is linear.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            Dependency graph

                            Well-formedness, as a sentence: the order is linear, there is a position, the input is functional, and there is exactly one blank.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              Dependency graph

                              The two marks split the states, as a sentence: every state carries one of them and not both.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                Dependency graph