Documentation

DescriptiveComplexity.Problems.Machine.HaltMem

The halting problem is in RE #

The membership half of the RE machine line: acceptance of a Turing machine with no step bound and no space bound is definable in ∃SO[new] (DescriptiveComplexity.halt_sigmaSONewDefinable), the logic defining RE.

The mathematical content is DescriptiveComplexity.halt_iff_runRel: the machine accepts exactly when the invented values carry a run – two sorts with their orders, an input page, and the state, the head and the tape contents at each time point. This file is that statement written out in syntax:

The corollary the file exists for is DescriptiveComplexity.halt_le_finsat: the halting problem first-order-reduces to finite satisfiability, which is Trakhtenbrot's theorem in the form it is usually stated. It needs no new hardness work – FINSAT is already RE-hard.

The second-order block #

The relation variables of the ∃SO[new] definition of HALT: the two sorts of invented values with their orders, the input page, and the state, the head and the tape contents at each time point.

  • time : RunIx

    The time points.

  • tle : RunIx

    The order of time.

  • page : RunIx

    The pages.

  • ple : RunIx

    The order of the pages.

  • zero : RunIx

    The input page.

  • st : RunIx

    st t q: the state at the time point t.

  • hdP : RunIx

    hdP t z: the page the head is on.

  • hdC : RunIx

    hdC t p: the position within that page.

  • sym : RunIx

    sym t z p a: the cell (z, p) holds a at the time point t.

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

    The single existential block of the definition.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Dependency graph
      @[reducible, inline]

      The vocabulary of the kernel: that of the instance, the marker old of the original elements, and the nine relation variables.

      Equations
      Instances For
        Dependency graph
        @[reducible, inline]

        A relation symbol of the instance, in the kernel's vocabulary.

        Equations
        Instances For
          Dependency graph
          @[reducible, inline]

          The marker of the original elements, in the kernel's vocabulary.

          Equations
          Instances For
            Dependency graph
            Dependency graph
            Dependency graph
            Dependency graph
            Dependency graph
            Dependency graph
            Dependency graph
            Dependency graph
            Dependency graph
            Dependency graph

            The extended universe #

            @[instance_reducible]

            The vocabulary of the instance, read on the extended universe.

            Equations
            Instances For
              Dependency graph
              @[instance_reducible]

              The structure the kernel is read in: the extended structure together with an assignment of the relation variables.

              Equations
              Instances For
                Dependency graph

                The instance, read on the extended universe #

                Dependency graph
                Dependency graph
                Dependency graph

                The certificate an assignment carries #

                The nine relation variables, read at the sorts they are meant for: the two sorts and their orders among the invented values, the state, the head and the tape contents across the two sorts.

                The run an assignment carries.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  Dependency graph
                  Dependency graph
                  @[simp]
                  theorem DescriptiveComplexity.Halt.certRun_tle {A : Type} {m : } (ρ : runBlock.Assignment (A Fin m)) (t t' : Fin m) :
                  Dependency graph
                  Dependency graph
                  @[simp]
                  theorem DescriptiveComplexity.Halt.certRun_ple {A : Type} {m : } (ρ : runBlock.Assignment (A Fin m)) (z z' : Fin m) :
                  Dependency graph
                  Dependency graph
                  @[simp]
                  theorem DescriptiveComplexity.Halt.certRun_st {A : Type} {m : } (ρ : runBlock.Assignment (A Fin m)) (t : Fin m) (q : A) :
                  Dependency graph
                  @[simp]
                  Dependency graph
                  @[simp]
                  theorem DescriptiveComplexity.Halt.certRun_hdC {A : Type} {m : } (ρ : runBlock.Assignment (A Fin m)) (t : Fin m) (p : A) :
                  Dependency graph
                  @[simp]
                  theorem DescriptiveComplexity.Halt.certRun_sym {A : Type} {m : } (ρ : runBlock.Assignment (A Fin m)) (t z : Fin m) (p a : A) :
                  Dependency graph

                  Atomic formulas #

                  An atom of a unary relation of the instance.

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

                    Equality of two variables.

                    Equations
                    Instances For
                      Dependency graph
                      Dependency graph
                      Dependency graph
                      Dependency graph
                      Dependency graph
                      Dependency graph
                      noncomputable def DescriptiveComplexity.Halt.stF {γ : Type} (t q : γ) :

                      The state at the time point t is q.

                      Equations
                      Instances For
                        Dependency graph
                        noncomputable def DescriptiveComplexity.Halt.hdPF {γ : Type} (t z : γ) :

                        The head is on the page z at the time point t.

                        Equations
                        Instances For
                          Dependency graph
                          noncomputable def DescriptiveComplexity.Halt.hdCF {γ : Type} (t p : γ) :

                          The head is at the position p at the time point t.

                          Equations
                          Instances For
                            Dependency graph
                            Dependency graph
                            Dependency graph
                            Dependency graph
                            @[simp]
                            theorem DescriptiveComplexity.Halt.realize_oldF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (x : γ) (v : γA Fin m) :
                            (oldF x).Realize v IsOld (v x)
                            Dependency graph
                            @[simp]
                            theorem DescriptiveComplexity.Halt.realize_eqF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (x y : γ) (v : γA Fin m) :
                            (eqF x y).Realize v v x = v y
                            Dependency graph
                            @[simp]
                            theorem DescriptiveComplexity.Halt.realize_timeF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (x : γ) (v : γA Fin m) :
                            Dependency graph
                            @[simp]
                            theorem DescriptiveComplexity.Halt.realize_tleF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (x y : γ) (v : γA Fin m) :
                            (tleF x y).Realize v ρ RunIx.tle ![v x, v y]
                            Dependency graph
                            @[simp]
                            theorem DescriptiveComplexity.Halt.realize_pageF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (x : γ) (v : γA Fin m) :
                            Dependency graph
                            @[simp]
                            theorem DescriptiveComplexity.Halt.realize_pleF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (x y : γ) (v : γA Fin m) :
                            (pleF x y).Realize v ρ RunIx.ple ![v x, v y]
                            Dependency graph
                            @[simp]
                            theorem DescriptiveComplexity.Halt.realize_zeroF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (x : γ) (v : γA Fin m) :
                            Dependency graph
                            @[simp]
                            theorem DescriptiveComplexity.Halt.realize_stF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (t q : γ) (v : γA Fin m) :
                            (stF t q).Realize v ρ RunIx.st ![v t, v q]
                            Dependency graph
                            @[simp]
                            theorem DescriptiveComplexity.Halt.realize_hdPF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (t z : γ) (v : γA Fin m) :
                            (hdPF t z).Realize v ρ RunIx.hdP ![v t, v z]
                            Dependency graph
                            @[simp]
                            theorem DescriptiveComplexity.Halt.realize_hdCF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (t p : γ) (v : γA Fin m) :
                            (hdCF t p).Realize v ρ RunIx.hdC ![v t, v p]
                            Dependency graph
                            @[simp]
                            theorem DescriptiveComplexity.Halt.realize_symF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (t z p a : γ) (v : γA Fin m) :
                            (symF t z p a).Realize v ρ RunIx.sym ![v t, v z, v p, v a]
                            Dependency graph

                            Naming the symbols of the instance #

                            Dependency graph
                            noncomputable def DescriptiveComplexity.Halt.leF {γ : Type} (x y : γ) :

                            The order on positions.

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

                              The state a transition applies in.

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

                                The symbol a transition reads.

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

                                  The state a transition moves to.

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

                                    The symbol a transition writes.

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

                                      The initial contents of a cell.

                                      Equations
                                      Instances For
                                        Dependency graph

                                        Guarded quantifiers #

                                        Every quantifier of the kernel ranges over one of the two sorts of the extended universe – the original elements, marked by old, and the invented values – and is guarded accordingly. A variable is named by its distance from its binder: vr0 is bound by the innermost guarded quantifier, vr1 by the one just outside it, and so on.

                                        @[reducible, inline]
                                        abbrev DescriptiveComplexity.Halt.up {γ : Type} (x : γ) :

                                        A variable of the enclosing scope, seen from inside one guarded quantifier.

                                        Equations
                                        Instances For
                                          Dependency graph
                                          @[reducible, inline]

                                          The variable bound by the innermost guarded quantifier.

                                          Equations
                                          Instances For
                                            Dependency graph
                                            @[reducible, inline]

                                            The variable bound one guarded quantifier further out.

                                            Equations
                                            Instances For
                                              Dependency graph
                                              @[reducible, inline]

                                              The variable bound two guarded quantifiers further out.

                                              Equations
                                              Instances For
                                                Dependency graph
                                                @[reducible, inline]

                                                The variable bound three guarded quantifiers further out.

                                                Equations
                                                Instances For
                                                  Dependency graph
                                                  @[reducible, inline]

                                                  The variable bound four guarded quantifiers further out.

                                                  Equations
                                                  Instances For
                                                    Dependency graph
                                                    @[reducible, inline]

                                                    The variable bound five guarded quantifiers further out.

                                                    Equations
                                                    Instances For
                                                      Dependency graph
                                                      @[reducible, inline]

                                                      The variable bound six guarded quantifiers further out.

                                                      Equations
                                                      Instances For
                                                        Dependency graph
                                                        @[reducible, inline]

                                                        The variable bound seven guarded quantifiers further out.

                                                        Equations
                                                        Instances For
                                                          Dependency graph
                                                          @[reducible, inline]

                                                          The variable bound eight guarded quantifiers further out.

                                                          Equations
                                                          Instances For
                                                            Dependency graph
                                                            @[reducible, inline]

                                                            The variable bound nine guarded quantifiers further out.

                                                            Equations
                                                            Instances For
                                                              Dependency graph
                                                              @[reducible, inline]

                                                              The variable bound ten guarded quantifiers further out.

                                                              Equations
                                                              Instances For
                                                                Dependency graph
                                                                @[reducible, inline]

                                                                The variable bound eleven guarded quantifiers further out.

                                                                Equations
                                                                Instances For
                                                                  Dependency graph
                                                                  @[reducible, inline]

                                                                  The variable bound twelve guarded quantifiers further out.

                                                                  Equations
                                                                  Instances For
                                                                    Dependency graph
                                                                    noncomputable def DescriptiveComplexity.Halt.exOldF {γ : Type} (φ : runLang.Formula (γ Unit)) :

                                                                    ∃ x, old x ∧ φ: a quantifier over the original elements.

                                                                    Equations
                                                                    Instances For
                                                                      Dependency graph
                                                                      Dependency graph
                                                                      Dependency graph
                                                                      Dependency graph
                                                                      theorem DescriptiveComplexity.Halt.exists_inr_of_not_isOld {A : Type} {m : } {x : A Fin m} (h : ¬IsOld x) :
                                                                      ∃ (j : Fin m), x = Sum.inr j
                                                                      Dependency graph
                                                                      @[simp]
                                                                      theorem DescriptiveComplexity.Halt.realize_exOldF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (φ : runLang.Formula (γ Unit)) (v : γA Fin m) :
                                                                      (exOldF φ).Realize v ∃ (a : A), φ.Realize (Sum.elim v fun (x : Unit) => Sum.inl a)
                                                                      Dependency graph
                                                                      @[simp]
                                                                      theorem DescriptiveComplexity.Halt.realize_allOldF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (φ : runLang.Formula (γ Unit)) (v : γA Fin m) :
                                                                      (allOldF φ).Realize v ∀ (a : A), φ.Realize (Sum.elim v fun (x : Unit) => Sum.inl a)
                                                                      Dependency graph
                                                                      @[simp]
                                                                      theorem DescriptiveComplexity.Halt.realize_exNewF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (φ : runLang.Formula (γ Unit)) (v : γA Fin m) :
                                                                      (exNewF φ).Realize v ∃ (j : Fin m), φ.Realize (Sum.elim v fun (x : Unit) => Sum.inr j)
                                                                      Dependency graph
                                                                      @[simp]
                                                                      theorem DescriptiveComplexity.Halt.realize_allNewF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (φ : runLang.Formula (γ Unit)) (v : γA Fin m) :
                                                                      (allNewF φ).Realize v ∀ (j : Fin m), φ.Realize (Sum.elim v fun (x : Unit) => Sum.inr j)
                                                                      Dependency graph

                                                                      Realization of the named symbols #

                                                                      Dependency graph
                                                                      Dependency graph
                                                                      Dependency graph
                                                                      Dependency graph
                                                                      Dependency graph
                                                                      Dependency graph
                                                                      Dependency graph
                                                                      Dependency graph
                                                                      Dependency graph
                                                                      Dependency graph
                                                                      Dependency graph
                                                                      Dependency graph

                                                                      Well-formedness #

                                                                      The kernel has to check well-formedness, since junk instances are no-instances: each conjunct of DescriptiveComplexity.TMData.WellFormed is one sentence, every quantifier ranging over the original elements.

                                                                      Dependency graph

                                                                      The order on positions is transitive.

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

                                                                        The order on positions is antisymmetric.

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

                                                                          The order on positions is total.

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

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

                                                                                The machine is well-formed: the conjuncts of DescriptiveComplexity.TMData.WellFormed.

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

                                                                                  The shapes that repeat #

                                                                                  MinPos, MaxPos and SuccPos occur over the positions of the machine and over each of the two guessed sorts; InitTape and DescriptiveComplexity.TMData.SuccCellRel occur inside the initial and the step clause. Each is a builder with one realization lemma, so that the conjuncts below stay readable and their proofs stay one simp only.

                                                                                  noncomputable def DescriptiveComplexity.Halt.minPosOldF {γ : Type} (x : γ) :

                                                                                  A lowest position of the machine.

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

                                                                                    A highest position of the machine.

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

                                                                                      The next position of the machine.

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

                                                                                        A lowest time point.

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

                                                                                          A highest time point.

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

                                                                                            The next time point.

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

                                                                                              The next page.

                                                                                              Equations
                                                                                              • One or more equations did not get rendered due to their size.
                                                                                              Instances For
                                                                                                Dependency graph
                                                                                                noncomputable def DescriptiveComplexity.Halt.initTapeF {γ : Type} (p a : γ) :

                                                                                                The cell p initially holds a.

                                                                                                Equations
                                                                                                • One or more equations did not get rendered due to their size.
                                                                                                Instances For
                                                                                                  Dependency graph
                                                                                                  noncomputable def DescriptiveComplexity.Halt.succCellF {γ : Type} (z p z' p' : γ) :

                                                                                                  The cell (z', p') is the next one after (z, p).

                                                                                                  Equations
                                                                                                  • One or more equations did not get rendered due to their size.
                                                                                                  Instances For
                                                                                                    Dependency graph
                                                                                                    Dependency graph
                                                                                                    Dependency graph
                                                                                                    Dependency graph
                                                                                                    @[simp]
                                                                                                    theorem DescriptiveComplexity.Halt.realize_minTimeF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (x : γ) (v : γA Fin m) :
                                                                                                    (minTimeF x).Realize v ρ RunIx.time ![v x] ∀ (j : Fin m), ρ RunIx.time ![Sum.inr j]ρ RunIx.tle ![v x, Sum.inr j]
                                                                                                    Dependency graph
                                                                                                    @[simp]
                                                                                                    theorem DescriptiveComplexity.Halt.realize_maxTimeF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (x : γ) (v : γA Fin m) :
                                                                                                    (maxTimeF x).Realize v ρ RunIx.time ![v x] ∀ (j : Fin m), ρ RunIx.time ![Sum.inr j]ρ RunIx.tle ![Sum.inr j, v x]
                                                                                                    Dependency graph
                                                                                                    @[simp]
                                                                                                    theorem DescriptiveComplexity.Halt.realize_succTimeF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (x y : γ) (v : γA Fin m) :
                                                                                                    (succTimeF x y).Realize v ρ RunIx.time ![v x] ρ RunIx.time ![v y] ρ RunIx.tle ![v x, v y] v x v y ∀ (j : Fin m), ρ RunIx.time ![Sum.inr j]ρ RunIx.tle ![v x, Sum.inr j]ρ RunIx.tle ![Sum.inr j, v y]Sum.inr j = v x Sum.inr j = v y
                                                                                                    Dependency graph
                                                                                                    @[simp]
                                                                                                    theorem DescriptiveComplexity.Halt.realize_succPageF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (x y : γ) (v : γA Fin m) :
                                                                                                    (succPageF x y).Realize v ρ RunIx.page ![v x] ρ RunIx.page ![v y] ρ RunIx.ple ![v x, v y] v x v y ∀ (j : Fin m), ρ RunIx.page ![Sum.inr j]ρ RunIx.ple ![v x, Sum.inr j]ρ RunIx.ple ![Sum.inr j, v y]Sum.inr j = v x Sum.inr j = v y
                                                                                                    Dependency graph
                                                                                                    Dependency graph
                                                                                                    @[simp]
                                                                                                    theorem DescriptiveComplexity.Halt.realize_succCellF {A : Type} [FirstOrder.Language.turing.Structure A] [Nonempty A] {m : } {ρ : runBlock.Assignment (A Fin m)} {γ : Type} (z p z' p' : γ) (v : γA Fin m) :
                                                                                                    (succCellF z p z' p').Realize v v z' = v z (succPosOldF p p').Realize v (succPageF z z').Realize v (maxPosOldF p).Realize v (minPosOldF p').Realize v
                                                                                                    Dependency graph

                                                                                                    The certificate: the shape conditions #

                                                                                                    One sentence per field of DescriptiveComplexity.TMData.RunRelOK, every quantifier guarded by its sort, and one realization lemma each so that the assembly below is a conjunction and nothing more.

                                                                                                    Dependency graph

                                                                                                    Time is linearly ordered.

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

                                                                                                      The pages are linearly ordered.

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

                                                                                                        The input page is a page.

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

                                                                                                          There is at most one input page.

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

                                                                                                            Every time point has a state.

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

                                                                                                              A time point has at most one state.

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

                                                                                                                At every time point the head is on a page.

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

                                                                                                                  The head is on at most one page.

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

                                                                                                                    At every time point the head is at a position.

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

                                                                                                                      The head is at most at one position.

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

                                                                                                                        Every cell holds a symbol at every time point.

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

                                                                                                                          A cell holds at most one symbol.

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

                                                                                                                            The certificate: initial, step, accepting #

                                                                                                                            The three conditions that say the data is a run. The step clause is the deep one: eight guarded quantifiers for the two time points and the configuration they relate, one more for the transition, and four more inside the frame condition – thirteen in all, which is why the variables are named by their distance from their binder.

                                                                                                                            At the lowest time point the configuration is initial.

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

                                                                                                                              Along every step of the time order, one transition applies.

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

                                                                                                                                At the highest time point the state is accepting.

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

                                                                                                                                  The kernel #

                                                                                                                                  The certificate: the eighteen conditions of DescriptiveComplexity.TMData.RunRelOK, conjoined.

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

                                                                                                                                    The kernel: the machine is well-formed and the invented values carry a run of it.

                                                                                                                                    Equations
                                                                                                                                    Instances For
                                                                                                                                      Dependency graph
                                                                                                                                      Dependency graph
                                                                                                                                      Dependency graph

                                                                                                                                      The assignment a run induces #

                                                                                                                                      The converse reading: a DescriptiveComplexity.TMData.RunRel becomes an assignment of the block by dispatching on the sort of each argument, so that reading it back is the identity definitionally – which is what makes DescriptiveComplexity.Halt.certRun_runAssign a rfl.

                                                                                                                                      The assignment a run induces.

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

                                                                                                                                        The theorems #

                                                                                                                                        The halting problem is definable in ∃SO[new]: the invented values are the time points and the pages of an accepting run, and the kernel says that the machine is well-formed and that they carry one.

                                                                                                                                        Dependency graph

                                                                                                                                        The halting problem is in RE. A run is a finite object, but no function of the instance bounds it, which is exactly the difference between Σ₁ and ∃SO[new] – and between NP and RE.

                                                                                                                                        Dependency graph

                                                                                                                                        The halting problem first-order-reduces to finite satisfiability: Trakhtenbrot's theorem in the form it is usually stated. It needs no new hardness work – DescriptiveComplexity.finsat_hard_of_sigmaSONewDefinable is already proved for an arbitrary source vocabulary, so putting a problem in RE reduces it to DescriptiveComplexity.FINSAT at once.

                                                                                                                                        Dependency graph