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 invented values are the extension
A ⊕ Fin m,munbounded – the only difference from aΣ₁definition, and what puts the problem beyond NP; - the nine components of
DescriptiveComplexity.TMData.RunRelare the relation variables of a single existential second-order block (DescriptiveComplexity.Halt.runBlock); - every condition is a conjunct of the first-order kernel, with each quantifier
guarded by its sort: time points and pages by
¬old, states, symbols and positions of the machine byold.
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 pointt. - 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)holdsaat the time pointt.
Instances For
Dependency graph
Dependency graph
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
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
A relation symbol of the instance, in the kernel's vocabulary.
Equations
Instances For
Dependency graph
The marker of the original elements, in the kernel's vocabulary.
Instances For
Dependency graph
The relation variable of the time points.
Equations
Instances For
Dependency graph
The relation variable of the order of time.
Equations
Instances For
Dependency graph
The relation variable of the pages.
Equations
Instances For
Dependency graph
The relation variable of the order of the pages.
Equations
Instances For
Dependency graph
The relation variable of the input page.
Equations
Instances For
Dependency graph
The relation variable of the state.
Equations
Instances For
Dependency graph
The relation variable of the page of the head.
Equations
Instances For
Dependency graph
The relation variable of the position of the head.
Equations
Instances For
Dependency graph
The relation variable of the tape contents.
Equations
Instances For
Dependency graph
The extended universe #
The vocabulary of the instance, read on the extended universe.
Equations
Instances For
Dependency graph
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
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Atomic formulas #
An atom of a unary relation of the instance.
Equations
Instances For
Dependency graph
An atom of a binary relation of the instance.
Equations
Instances For
Dependency graph
x is an original element.
Equations
Instances For
Dependency graph
Equality of two variables.
Equations
Instances For
Dependency graph
x is a time point.
Equations
Instances For
Dependency graph
The time point x precedes y.
Equations
Instances For
Dependency graph
x is a page.
Equations
Instances For
Dependency graph
The page x precedes y.
Equations
Instances For
Dependency graph
x is the input page.
Equations
Instances For
Dependency graph
The state at the time point t is q.
Equations
Instances For
Dependency graph
The head is on the page z at the time point t.
Equations
Instances For
Dependency graph
The head is at the position p at the time point t.
Equations
Instances For
Dependency graph
The cell (z, p) holds a at the time point t.
Equations
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Naming the symbols of the instance #
Being a position.
Equations
Instances For
Dependency graph
The order on positions.
Equations
Instances For
Dependency graph
Being a transition.
Equations
Instances For
Dependency graph
Being a start state.
Equations
Instances For
Dependency graph
Being an accepting state.
Equations
Instances For
Dependency graph
Being the blank symbol.
Equations
Instances For
Dependency graph
Moving the head right.
Equations
Instances For
Dependency graph
The state a transition applies in.
Equations
Instances For
Dependency graph
The symbol a transition reads.
Equations
Instances For
Dependency graph
The state a transition moves to.
Equations
Instances For
Dependency graph
The symbol a transition writes.
Equations
Instances For
Dependency graph
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.
A variable of the enclosing scope, seen from inside one guarded quantifier.
Equations
Instances For
Dependency graph
The variable bound by the innermost guarded quantifier.
Equations
Instances For
Dependency graph
The variable bound one guarded quantifier further out.
Equations
Instances For
Dependency graph
The variable bound two guarded quantifiers further out.
Equations
Instances For
Dependency graph
The variable bound three guarded quantifiers further out.
Equations
Instances For
Dependency graph
The variable bound four guarded quantifiers further out.
Equations
Instances For
Dependency graph
The variable bound five guarded quantifiers further out.
Equations
Instances For
Dependency graph
The variable bound six guarded quantifiers further out.
Equations
Instances For
Dependency graph
The variable bound seven guarded quantifiers further out.
Equations
Instances For
Dependency graph
The variable bound eight guarded quantifiers further out.
Equations
Instances For
Dependency graph
The variable bound nine guarded quantifiers further out.
Equations
Instances For
Dependency graph
The variable bound ten guarded quantifiers further out.
Equations
Instances For
Dependency graph
The variable bound eleven guarded quantifiers further out.
Equations
Instances For
Dependency graph
The variable bound twelve guarded quantifiers further out.
Equations
Instances For
Dependency graph
∃ x, old x ∧ φ: a quantifier over the original elements.
Equations
Instances For
Dependency graph
∀ x, old x → φ: a quantifier over the original elements.
Equations
Instances For
Dependency graph
∃ d, ¬old d ∧ φ: a quantifier over the invented values.
Equations
Instances For
Dependency graph
∀ d, ¬old d → φ: a quantifier over the invented values.
Equations
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
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.
The order on positions is reflexive.
Equations
Instances For
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
There is a position.
Equations
Instances For
Dependency graph
The input is functional.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
There is a blank symbol.
Equations
Instances For
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.
A lowest position of the machine.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
A highest position of the machine.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The next position of the machine.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
A lowest time point.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
A highest time point.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The next time point.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The next page.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The cell p initially holds a.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
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
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
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.
There is a time point.
Equations
Instances For
Dependency graph
Time is linearly ordered.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
There is a page.
Equations
Instances For
Dependency graph
The pages are linearly ordered.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
There is an input page.
Equations
Instances For
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.