Documentation

DescriptiveComplexity.Problems.Machine.AltKernel

The Σₖ kernel of alternating acceptance #

The first-order kernel the k second-order blocks of the membership proof sit under. It is the kernel of DescriptiveComplexity.Problems.Machine.Membership – the same seventeen clauses, transcribing the same relations – with three differences:

Every builder here is parameterized by the round it reads, so the file writes the clause layer once rather than k times.

The vocabulary of the kernel #

@[reducible, inline]

The vocabulary of the kernel: the alternating machine's, expanded by the merged block of one guessed run per round.

Equations
Instances For
    Dependency graph
    @[reducible, inline]

    The position symbol in the kernel's vocabulary.

    Equations
    Instances For
      Dependency graph
      @[reducible, inline]

      The transition symbol in the kernel's vocabulary.

      Equations
      Instances For
        Dependency graph
        @[reducible, inline]

        The start-state symbol in the kernel's vocabulary.

        Equations
        Instances For
          Dependency graph
          @[reducible, inline]

          The accepting-state symbol in the kernel's vocabulary.

          Equations
          Instances For
            Dependency graph
            @[reducible, inline]

            The blank symbol in the kernel's vocabulary.

            Equations
            Instances For
              Dependency graph
              @[reducible, inline]

              The move-right symbol in the kernel's vocabulary.

              Equations
              Instances For
                Dependency graph
                @[reducible, inline]

                The order symbol in the kernel's vocabulary.

                Equations
                Instances For
                  Dependency graph
                  @[reducible, inline]

                  The source symbol in the kernel's vocabulary.

                  Equations
                  Instances For
                    Dependency graph
                    @[reducible, inline]

                    The read symbol in the kernel's vocabulary.

                    Equations
                    Instances For
                      Dependency graph
                      @[reducible, inline]

                      The target symbol in the kernel's vocabulary.

                      Equations
                      Instances For
                        Dependency graph
                        @[reducible, inline]

                        The write symbol in the kernel's vocabulary.

                        Equations
                        Instances For
                          Dependency graph
                          @[reducible, inline]

                          The input symbol in the kernel's vocabulary.

                          Equations
                          Instances For
                            Dependency graph
                            @[reducible, inline]

                            The mark of block j in the kernel's vocabulary.

                            Equations
                            Instances For
                              Dependency graph
                              Dependency graph
                              Dependency graph
                              Dependency graph

                              Formula builders #

                              def DescriptiveComplexity.akPosnF {k : } {α : Type} (x : α) :

                              x is a position, as a formula.

                              Equations
                              Instances For
                                Dependency graph
                                def DescriptiveComplexity.akTrF {k : } {α : Type} (x : α) :

                                x is a transition, as a formula.

                                Equations
                                Instances For
                                  Dependency graph
                                  def DescriptiveComplexity.akStartF {k : } {α : Type} (x : α) :

                                  x is a start state, as a formula.

                                  Equations
                                  Instances For
                                    Dependency graph
                                    def DescriptiveComplexity.akAccF {k : } {α : Type} (x : α) :

                                    x is an accepting state, as a formula.

                                    Equations
                                    Instances For
                                      Dependency graph
                                      def DescriptiveComplexity.akBlankF {k : } {α : Type} (x : α) :

                                      x is the blank symbol, as a formula.

                                      Equations
                                      Instances For
                                        Dependency graph
                                        def DescriptiveComplexity.akRightF {k : } {α : Type} (x : α) :

                                        x moves the head right, as a formula.

                                        Equations
                                        Instances For
                                          Dependency graph
                                          def DescriptiveComplexity.akBlkF {k : } {α : Type} (j : Fin k) (x : α) :

                                          x carries the mark of block j, as a formula.

                                          Equations
                                          Instances For
                                            Dependency graph
                                            Dependency graph
                                            def DescriptiveComplexity.akEqF {k : } {α : Type} (x y : α) :

                                            x = y, as a formula.

                                            Equations
                                            Instances For
                                              Dependency graph
                                              def DescriptiveComplexity.akSrcF {k : } {α : Type} (x y : α) :

                                              The transition x applies in the state y, as a formula.

                                              Equations
                                              Instances For
                                                Dependency graph
                                                def DescriptiveComplexity.akReadF {k : } {α : Type} (x y : α) :

                                                The transition x reads the symbol y, as a formula.

                                                Equations
                                                Instances For
                                                  Dependency graph
                                                  def DescriptiveComplexity.akDstF {k : } {α : Type} (x y : α) :

                                                  The transition x moves to the state y, as a formula.

                                                  Equations
                                                  Instances For
                                                    Dependency graph
                                                    def DescriptiveComplexity.akWriteF {k : } {α : Type} (x y : α) :

                                                    The transition x writes the symbol y, as a formula.

                                                    Equations
                                                    Instances For
                                                      Dependency graph
                                                      def DescriptiveComplexity.akInpF {k : } {α : Type} (x y : α) :

                                                      The cell x initially holds y, as a formula.

                                                      Equations
                                                      Instances For
                                                        Dependency graph
                                                        def DescriptiveComplexity.akStF {k : } {α : Type} (i : Fin k) (x y : α) :

                                                        In round i, the state at time x is y.

                                                        Equations
                                                        Instances For
                                                          Dependency graph
                                                          def DescriptiveComplexity.akHdF {k : } {α : Type} (i : Fin k) (x y : α) :

                                                          In round i, the head at time x is on y.

                                                          Equations
                                                          Instances For
                                                            Dependency graph
                                                            def DescriptiveComplexity.akTpF {k : } {α : Type} (i : Fin k) (x y z : α) :

                                                            In round i, at time x the cell y holds z.

                                                            Equations
                                                            Instances For
                                                              Dependency graph
                                                              noncomputable def DescriptiveComplexity.akMinPosF {k : } {α : Type} (x : α) :

                                                              x is the lowest position, as a formula.

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

                                                                x is the highest position, as a formula.

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

                                                                  y is the position immediately above x, as a formula.

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

                                                                    The cell x may initially hold y.

                                                                    Equations
                                                                    • One or more equations did not get rendered due to their size.
                                                                    Instances For
                                                                      Dependency graph
                                                                      noncomputable def DescriptiveComplexity.akBlkLeF {k : } {α : Type} (i : Fin k) (x : α) :

                                                                      The state x is in a block at most i.

                                                                      Equations
                                                                      Instances For
                                                                        Dependency graph
                                                                        noncomputable def DescriptiveComplexity.akBlkLtF {k : } {α : Type} (i : Fin k) (t : α) :

                                                                        In round i, the state at time t is in a block at most i – that is, in a block below i + 1.

                                                                        Equations
                                                                        Instances For
                                                                          Dependency graph
                                                                          noncomputable def DescriptiveComplexity.akAccAtF {k : } {α : Type} (i : Fin k) (t : α) :

                                                                          In round i, the state at time t is accepting.

                                                                          Equations
                                                                          Instances For
                                                                            Dependency graph
                                                                            noncomputable def DescriptiveComplexity.akMoveExF {k : } {α : Type} (i : Fin k) (t : α) (dir : Bool) :

                                                                            In round i, the head at time t has somewhere to move in the direction dir.

                                                                            Equations
                                                                            • One or more equations did not get rendered due to their size.
                                                                            Instances For
                                                                              Dependency graph
                                                                              noncomputable def DescriptiveComplexity.akMoveF {k : } {α : Type} (i : Fin k) (t t' : α) (dir : Bool) :

                                                                              In round i, the head moves from its cell at t to its cell at t', in the direction dir.

                                                                              Equations
                                                                              • One or more equations did not get rendered due to their size.
                                                                              Instances For
                                                                                Dependency graph
                                                                                noncomputable def DescriptiveComplexity.akAppBodyF {k : } {α : Type} (i : Fin k) (t τ : α) :

                                                                                The applicable-transition body: the transition τ fires on the configuration of round i at time t.

                                                                                Equations
                                                                                • One or more equations did not get rendered due to their size.
                                                                                Instances For
                                                                                  Dependency graph
                                                                                  noncomputable def DescriptiveComplexity.akAppTrF {k : } {α : Type} (i : Fin k) (t : α) :

                                                                                  In round i, some transition applies to the configuration at time t.

                                                                                  Equations
                                                                                  Instances For
                                                                                    Dependency graph
                                                                                    noncomputable def DescriptiveComplexity.akStepBodyF {k : } {α : Type} (i : Fin k) (t t' τ : α) :

                                                                                    The step body: in round i, the transition τ takes the configuration at t to the one at t'.

                                                                                    Equations
                                                                                    • One or more equations did not get rendered due to their size.
                                                                                    Instances For
                                                                                      Dependency graph
                                                                                      noncomputable def DescriptiveComplexity.akStepF {k : } {α : Type} (i : Fin k) (t t' : α) :

                                                                                      In round i, the configuration at t steps to the one at t'.

                                                                                      Equations
                                                                                      Instances For
                                                                                        Dependency graph
                                                                                        noncomputable def DescriptiveComplexity.akSameF {k : } {α : Type} (i i' : Fin k) (t t' : α) :

                                                                                        The configuration of round i' at time t' is the one of round i at time t.

                                                                                        Equations
                                                                                        • One or more equations did not get rendered due to their size.
                                                                                        Instances For
                                                                                          Dependency graph
                                                                                          noncomputable def DescriptiveComplexity.akInitAtF {k : } {α : Type} (i : Fin k) (t : α) :

                                                                                          In round i, the configuration at time t is initial.

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

                                                                                            Realization of the builders #

                                                                                            @[instance_reducible]

                                                                                            The structure the kernel is read in: the instance expanded by one guessed run per round.

                                                                                            Equations
                                                                                            Instances For
                                                                                              Dependency graph

                                                                                              The guessed relations #

                                                                                              Dependency graph
                                                                                              Dependency graph
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akStF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (i : Fin k) (x y : α) :
                                                                                              (akStF i x y).Realize v runQ (ρs i) (v x) (v y)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akHdF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (i : Fin k) (x y : α) :
                                                                                              (akHdF i x y).Realize v runH (ρs i) (v x) (v y)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akTpF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (i : Fin k) (x y z : α) :
                                                                                              (akTpF i x y z).Realize v runT (ρs i) (v x) (v y) (v z)
                                                                                              Dependency graph

                                                                                              The machine relations #

                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akPosnF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (x : α) :
                                                                                              (akPosnF x).Realize v (atmData k A).Posn (v x)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akTrF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (x : α) :
                                                                                              (akTrF x).Realize v (atmData k A).Tr (v x)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akStartF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (x : α) :
                                                                                              (akStartF x).Realize v (atmData k A).Start (v x)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akAccF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (x : α) :
                                                                                              (akAccF x).Realize v (atmData k A).Acc (v x)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akBlankF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (x : α) :
                                                                                              (akBlankF x).Realize v (atmData k A).Blank (v x)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akRightF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (x : α) :
                                                                                              (akRightF x).Realize v (atmData k A).Right (v x)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akBlkF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (j : Fin k) (x : α) :
                                                                                              (akBlkF j x).Realize v (atmData k A).Blk (↑j) (v x)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akLeF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (x y : α) :
                                                                                              (akLeF x y).Realize v (atmData k A).Le (v x) (v y)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akEqF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (x y : α) :
                                                                                              (akEqF x y).Realize v v x = v y
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akSrcF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (x y : α) :
                                                                                              (akSrcF x y).Realize v (atmData k A).Src (v x) (v y)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akReadF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (x y : α) :
                                                                                              (akReadF x y).Realize v (atmData k A).Read (v x) (v y)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akDstF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (x y : α) :
                                                                                              (akDstF x y).Realize v (atmData k A).Dst (v x) (v y)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akWriteF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (x y : α) :
                                                                                              (akWriteF x y).Realize v (atmData k A).Write (v x) (v y)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akInpF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (x y : α) :
                                                                                              (akInpF x y).Realize v (atmData k A).Inp (v x) (v y)
                                                                                              Dependency graph

                                                                                              The derived formulas #

                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akMinPosF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (x : α) :
                                                                                              (akMinPosF x).Realize v MinPos (atmData k A).Le (atmData k A).Posn (v x)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akMaxPosF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (x : α) :
                                                                                              (akMaxPosF x).Realize v MaxPos (atmData k A).Le (atmData k A).Posn (v x)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akSuccPosF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (x y : α) :
                                                                                              (akSuccPosF x y).Realize v SuccPos (atmData k A).Le (atmData k A).Posn (v x) (v y)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akInitTapeF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (x y : α) :
                                                                                              (akInitTapeF x y).Realize v (atmData k A).Inp (v x) (v y) (∀ (b : A), ¬(atmData k A).Inp (v x) b) (atmData k A).Blank (v y)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akBlkLeF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (i : Fin k) (x : α) :
                                                                                              (akBlkLeF i x).Realize v (atmData k A).BlkLt (i + 1) (v x)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akBlkLtF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (i : Fin k) (t : α) :
                                                                                              (akBlkLtF i t).Realize v (atmData k A).RunBlkLt (ρs i) (i + 1) (v t)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akAccAtF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (i : Fin k) (t : α) :
                                                                                              (akAccAtF i t).Realize v (atmData k A).RunAcc (ρs i) (v t)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akMoveExF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (i : Fin k) (t : α) (dir : Bool) :
                                                                                              (akMoveExF i t dir).Realize v ∀ (p : A), runH (ρs i) (v t) p∃ (p' : A), if dir = true then SuccPos (atmData k A).Le (atmData k A).Posn p p' else SuccPos (atmData k A).Le (atmData k A).Posn p' p
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akMoveF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (i : Fin k) (t t' : α) (dir : Bool) :
                                                                                              (akMoveF i t t' dir).Realize v ∀ (p p' : A), runH (ρs i) (v t) prunH (ρs i) (v t') p'if dir = true then SuccPos (atmData k A).Le (atmData k A).Posn p p' else SuccPos (atmData k A).Le (atmData k A).Posn p' p
                                                                                              Dependency graph

                                                                                              The composite formulas #

                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akAppBodyF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (i : Fin k) (t τ : α) :
                                                                                              (akAppBodyF i t τ).Realize v (atmData k A).Tr (v τ) (∀ (q : A), runQ (ρs i) (v t) q(atmData k A).Src (v τ) q) (∀ (p a : A), runH (ρs i) (v t) prunT (ρs i) (v t) p a(atmData k A).Read (v τ) a) (∃ (q : A), (atmData k A).Dst (v τ) q) (∃ (a : A), (atmData k A).Write (v τ) a) (((atmData k A).Right (v τ) ∀ (p : A), runH (ρs i) (v t) p∃ (p' : A), SuccPos (atmData k A).Le (atmData k A).Posn p p') ¬(atmData k A).Right (v τ) ∀ (p : A), runH (ρs i) (v t) p∃ (p' : A), SuccPos (atmData k A).Le (atmData k A).Posn p' p)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akAppTrF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (i : Fin k) (t : α) :
                                                                                              (akAppTrF i t).Realize v (atmData k A).RunAppTr (ρs i) (v t)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akStepBodyF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (i : Fin k) (t t' τ : α) :
                                                                                              (akStepBodyF i t t' τ).Realize v (atmData k A).Tr (v τ) (∀ (q : A), runQ (ρs i) (v t) q(atmData k A).Src (v τ) q) (∀ (p a : A), runH (ρs i) (v t) prunT (ρs i) (v t) p a(atmData k A).Read (v τ) a) (∀ (q : A), runQ (ρs i) (v t') q(atmData k A).Dst (v τ) q) (∀ (p a : A), runH (ρs i) (v t) prunT (ρs i) (v t') p a(atmData k A).Write (v τ) a) (∀ (p a : A), ¬runH (ρs i) (v t) p → (runT (ρs i) (v t) p a runT (ρs i) (v t') p a)) (((atmData k A).Right (v τ) ∀ (p p' : A), runH (ρs i) (v t) prunH (ρs i) (v t') p'SuccPos (atmData k A).Le (atmData k A).Posn p p') ¬(atmData k A).Right (v τ) ∀ (p p' : A), runH (ρs i) (v t) prunH (ρs i) (v t') p'SuccPos (atmData k A).Le (atmData k A).Posn p' p)
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akStepF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (i : Fin k) (t t' : α) :
                                                                                              (akStepF i t t').Realize v (atmData k A).RunStep (v t) (v t')
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akSameF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (i i' : Fin k) (t t' : α) :
                                                                                              (akSameF i i' t t').Realize v ATMData.RunSame (ρs i) (ρs i') (v t) (v t')
                                                                                              Dependency graph
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akInitAtF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) {α : Type} (v : αA) (i : Fin k) (t : α) :
                                                                                              (akInitAtF i t).Realize v (atmData k A).RunInit (ρs i) (v t)
                                                                                              Dependency graph

                                                                                              The clauses #

                                                                                              Dependency graph
                                                                                              noncomputable def DescriptiveComplexity.akStateUniqClause {k : } (i : Fin k) :

                                                                                              In round i there is only one state at each time.

                                                                                              Equations
                                                                                              • One or more equations did not get rendered due to their size.
                                                                                              Instances For
                                                                                                Dependency graph
                                                                                                Dependency graph
                                                                                                noncomputable def DescriptiveComplexity.akHeadUniqClause {k : } (i : Fin k) :

                                                                                                In round i the head is in only one place at each time.

                                                                                                Equations
                                                                                                • One or more equations did not get rendered due to their size.
                                                                                                Instances For
                                                                                                  Dependency graph
                                                                                                  noncomputable def DescriptiveComplexity.akTapeExClause {k : } (i : Fin k) :

                                                                                                  In round i every cell holds a symbol at each time.

                                                                                                  Equations
                                                                                                  • One or more equations did not get rendered due to their size.
                                                                                                  Instances For
                                                                                                    Dependency graph
                                                                                                    noncomputable def DescriptiveComplexity.akTapeUniqClause {k : } (i : Fin k) :

                                                                                                    In round i every cell holds only one symbol at each time.

                                                                                                    Equations
                                                                                                    • One or more equations did not get rendered due to their size.
                                                                                                    Instances For
                                                                                                      Dependency graph
                                                                                                      noncomputable def DescriptiveComplexity.akFunClause {k : } (i : Fin k) :

                                                                                                      The guess of round i is functional.

                                                                                                      Equations
                                                                                                      • One or more equations did not get rendered due to their size.
                                                                                                      Instances For
                                                                                                        Dependency graph
                                                                                                        noncomputable def DescriptiveComplexity.akInitClause {k : } (i : Fin k) :

                                                                                                        In round i the configuration at the lowest time is initial.

                                                                                                        Equations
                                                                                                        Instances For
                                                                                                          Dependency graph
                                                                                                          noncomputable def DescriptiveComplexity.akBlkMonoClause {k : } (i : Fin k) :

                                                                                                          In round i the blocks never decrease.

                                                                                                          Equations
                                                                                                          • One or more equations did not get rendered due to their size.
                                                                                                          Instances For
                                                                                                            Dependency graph
                                                                                                            noncomputable def DescriptiveComplexity.akStepClause {k : } (i : Fin k) :

                                                                                                            In round i consecutive times step or stutter, as far as the round answers for them.

                                                                                                            Equations
                                                                                                            • One or more equations did not get rendered due to their size.
                                                                                                            Instances For
                                                                                                              Dependency graph
                                                                                                              Dependency graph
                                                                                                              noncomputable def DescriptiveComplexity.akAgreeClause {k : } (j i : Fin k) :

                                                                                                              Round i reproduces what round j committed.

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

                                                                                                                The order is transitive.

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

                                                                                                                  The order is antisymmetric.

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

                                                                                                                    The input is functional.

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

                                                                                                                      There is only one blank symbol.

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

                                                                                                                        The instance is a well-formed machine.

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

                                                                                                                          Every state carries exactly one block mark.

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

                                                                                                                            A transition stays in its block or moves to the next one.

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

                                                                                                                              A start state is in block 0.

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

                                                                                                                                There is a start state – the one existence clause of the game that is not redundant.

                                                                                                                                Equations
                                                                                                                                Instances For
                                                                                                                                  Dependency graph

                                                                                                                                  Realization of the clauses #

                                                                                                                                  theorem DescriptiveComplexity.realize_akStateExClause {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) (i : Fin k) :
                                                                                                                                  A akStateExClause i ∀ (t : A), ∃ (q : A), runQ (ρs i) t q
                                                                                                                                  Dependency graph
                                                                                                                                  theorem DescriptiveComplexity.realize_akStateUniqClause {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) (i : Fin k) :
                                                                                                                                  A akStateUniqClause i ∀ (t q q' : A), runQ (ρs i) t qrunQ (ρs i) t q'q = q'
                                                                                                                                  Dependency graph
                                                                                                                                  theorem DescriptiveComplexity.realize_akHeadExClause {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) (i : Fin k) :
                                                                                                                                  A akHeadExClause i ∀ (t : A), ∃ (p : A), runH (ρs i) t p
                                                                                                                                  Dependency graph
                                                                                                                                  theorem DescriptiveComplexity.realize_akHeadUniqClause {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) (i : Fin k) :
                                                                                                                                  A akHeadUniqClause i ∀ (t p p' : A), runH (ρs i) t prunH (ρs i) t p'p = p'
                                                                                                                                  Dependency graph
                                                                                                                                  theorem DescriptiveComplexity.realize_akTapeExClause {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) (i : Fin k) :
                                                                                                                                  A akTapeExClause i ∀ (t p : A), ∃ (a : A), runT (ρs i) t p a
                                                                                                                                  Dependency graph
                                                                                                                                  theorem DescriptiveComplexity.realize_akTapeUniqClause {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) (i : Fin k) :
                                                                                                                                  A akTapeUniqClause i ∀ (t p a a' : A), runT (ρs i) t p arunT (ρs i) t p a'a = a'
                                                                                                                                  Dependency graph
                                                                                                                                  Dependency graph
                                                                                                                                  theorem DescriptiveComplexity.realize_akInitClause {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) (i : Fin k) :
                                                                                                                                  A akInitClause i ∀ (p : A), MinPos (atmData k A).Le (atmData k A).Posn p(atmData k A).RunInit (ρs i) p
                                                                                                                                  Dependency graph
                                                                                                                                  Dependency graph
                                                                                                                                  theorem DescriptiveComplexity.realize_akStepClause {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) (i : Fin k) :
                                                                                                                                  A akStepClause i ∀ (p q : A), SuccPos (atmData k A).Le (atmData k A).Posn p q(atmData k A).RunBlkLt (ρs i) (i + 1) p(atmData k A).RunStep p q ¬(atmData k A).RunAcc (ρs i) p ATMData.RunSame (ρs i) (ρs i) p q ((atmData k A).RunAcc (ρs i) p ¬(atmData k A).RunAppTr (ρs i) p)
                                                                                                                                  Dependency graph
                                                                                                                                  Dependency graph
                                                                                                                                  theorem DescriptiveComplexity.realize_akAgreeClause {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) (j i : Fin k) :
                                                                                                                                  A akAgreeClause j i (atmData k A).RunAgreeBelow (ρs j) (ρs i) (j + 1)
                                                                                                                                  Dependency graph
                                                                                                                                  Dependency graph
                                                                                                                                  Dependency graph
                                                                                                                                  Dependency graph
                                                                                                                                  Dependency graph

                                                                                                                                  The ladder and the kernel #

                                                                                                                                  noncomputable def DescriptiveComplexity.polForm {k : } (pol : Bool) (φ ψ : (akLang k).Sentence) :

                                                                                                                                  The connective a round of the ladder uses, as a formula: a conjunction where the round is existential, an implication where it is universal.

                                                                                                                                  Equations
                                                                                                                                  Instances For
                                                                                                                                    Dependency graph
                                                                                                                                    noncomputable def DescriptiveComplexity.akRoundF {k : } (i : Fin k) (prev : Option (Fin k)) :

                                                                                                                                    The condition round i puts on its guess: functional, legal, and – unless it is the first round – agreeing with the round before it.

                                                                                                                                    Equations
                                                                                                                                    Instances For
                                                                                                                                      Dependency graph
                                                                                                                                      noncomputable def DescriptiveComplexity.akLadderF (start : Bool) (k m i : ) :
                                                                                                                                      i + m = kOption (Fin k)(akLang k).Sentence

                                                                                                                                      The ladder, as a first-order sentence: the m rounds still to play from round i on, chained by DescriptiveComplexity.polForm, with the last guess required to accept.

                                                                                                                                      Equations
                                                                                                                                      Instances For
                                                                                                                                        Dependency graph
                                                                                                                                        noncomputable def DescriptiveComplexity.akKernel (start : Bool) (k : ) :

                                                                                                                                        The kernel of the Σₖ sentence: the instance is a well-formed alternating machine with a start state, and the ladder holds of the guessed rounds.

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

                                                                                                                                          The round before round i, where there is one, is round i - 1.

                                                                                                                                          Equations
                                                                                                                                          Instances For
                                                                                                                                            Dependency graph
                                                                                                                                            theorem DescriptiveComplexity.realize_polForm {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) (pol : Bool) (φ ψ : (akLang k).Sentence) :
                                                                                                                                            A polForm pol φ ψ polConn pol (A φ) (A ψ)
                                                                                                                                            Dependency graph
                                                                                                                                            theorem DescriptiveComplexity.realize_akRoundF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) (i : Fin k) (prev : Option (Fin k)) (hprev : PrevOk (↑i) prev) :
                                                                                                                                            A akRoundF i prev RunFun (ρs i) (atmData k A).RunGuard (↑i) (Option.map ρs prev) (ρs i)
                                                                                                                                            Dependency graph
                                                                                                                                            theorem DescriptiveComplexity.realize_akLadderF {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) (start : Bool) (m i : ) (h : i + m = k) (prev : Option (Fin k)) :
                                                                                                                                            PrevOk i prev∀ (νs : Fin mtmGuessBlock.Assignment A), (∀ (j : Fin m), νs j = ρs i + j, ) → (A akLadderF start k m i h prev (atmData k A).runMatrix start m i (Option.map ρs prev) νs)
                                                                                                                                            Dependency graph
                                                                                                                                            theorem DescriptiveComplexity.realize_akKernel {k : } {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin ktmGuessBlock.Assignment A) (start : Bool) :
                                                                                                                                            A akKernel start k (atmData k A).WellFormed (atmData k A).BlocksWellFormed k (∃ (q : A), (atmData k A).Start q) (atmData k A).runMatrix start k 0 none ρs
                                                                                                                                            Dependency graph