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
                                                                                              @[simp]
                                                                                              theorem DescriptiveComplexity.realize_akStF {k : ℕ} {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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) p → runH (ρ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 k → tmGuessBlock.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) p → runT (ρ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 k → tmGuessBlock.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 k → tmGuessBlock.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) p → runT (ρ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) p → runT (ρ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) p → runH (ρ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) p → runH (ρ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 k → tmGuessBlock.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 k → tmGuessBlock.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 k → tmGuessBlock.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 #

                                                                                                                                  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 = k → Option (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
                                                                                                                                          theorem DescriptiveComplexity.realize_akKernel {k : ℕ} {A : Type} [instA : (FirstOrder.Language.turingAlt k).Structure A] (ρs : Fin k → tmGuessBlock.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