The number written by a machine: definition #
The function counterpart of deterministic machine acceptance
(DescriptiveComplexity.DTMAccept): the machine is data in the instance, and
the problem is to compute the number it leaves on its tape.
- The vocabulary is the one of machine instances
(
FirstOrder.Language.turing) with two more symbols (FirstOrder.Language.tapeOut):outmarks the output cells andonemarks the symbols read as the digit1. - The machine halts (
DescriptiveComplexity.TMData.Halts) in a configuration reached from the initial one within the clock – fewer steps than there are positions, as for acceptance – from which no step is possible. A deterministic machine halts in at most one configuration (DescriptiveComplexity.TMData.halts_unique). DescriptiveComplexity.machineNumber: an output cell holding, when the machine halts in an accepting state, a symbol markedonecontributes2 ^ r, whereris the number of output cells strictly before it on the tape: the digits are read in tape order, the lowest cell holding the least significant one. A machine that does not halt within its clock, or halts without accepting, writes0, and so does an instance that is not a well-formed deterministic machine.
Dependency graph
Dependency graph
The relation symbols of the language.
- out : tapeOutRel 1
out p: the cellpis an output cell, holding one digit. - one : tapeOutRel 1
one a: the symbolais read as the digit1.
Instances For
Dependency graph
Equations
- FirstOrder.Language.instDecidableEqTapeOutRel.decEq FirstOrder.Language.tapeOutRel.out FirstOrder.Language.tapeOutRel.out = isTrue FirstOrder.Language.instDecidableEqTapeOutRel.decEq._proof_1
- FirstOrder.Language.instDecidableEqTapeOutRel.decEq FirstOrder.Language.tapeOutRel.out FirstOrder.Language.tapeOutRel.one = isFalse FirstOrder.Language.instDecidableEqTapeOutRel.decEq._proof_3
- FirstOrder.Language.instDecidableEqTapeOutRel.decEq FirstOrder.Language.tapeOutRel.one FirstOrder.Language.tapeOutRel.out = isFalse FirstOrder.Language.instDecidableEqTapeOutRel.decEq._proof_4
- FirstOrder.Language.instDecidableEqTapeOutRel.decEq FirstOrder.Language.tapeOutRel.one FirstOrder.Language.tapeOutRel.one = isTrue FirstOrder.Language.instDecidableEqTapeOutRel.decEq._proof_2
Instances For
Dependency graph
Dependency graph
The symbols reading a number off the tape of a machine.
Equations
- FirstOrder.Language.tapeOut = { Functions := fun (x : ℕ) => Empty, Relations := FirstOrder.Language.tapeOutRel }
Instances For
Dependency graph
Dependency graph
The relational language of machines writing a number.
Instances For
Dependency graph
Halting #
The machine halts in the configuration c: c is reached from an
initial configuration within the clock, and no step is possible from it.
Equations
Instances For
Dependency graph
A deterministic machine halts in at most one configuration.
Dependency graph
Agreements compose.
Dependency graph
The number #
“Is an output cell”, in the vocabulary of machines writing a number.
Instances For
Dependency graph
“Is read as the digit 1”, in the vocabulary of machines writing a
number.
Instances For
Dependency graph
The order of the tape, in the vocabulary of machines writing a number.
Instances For
Dependency graph
A machine writing a number is a machine.
Dependency graph
The output cell p holds the digit 1 when the machine halts, in an
accepting state.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
q is an output cell strictly before p on the tape.
Equations
Instances For
Dependency graph
The rank of a cell among the output cells: the number of output cells strictly before it on the tape.
Equations
Instances For
Dependency graph
The number written by a machine: each output cell holding the digit
1 when the machine halts and accepts contributes two to the power of its
rank among the output cells. Instances that are not well-formed deterministic
machines write 0.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Isomorphism-invariance and the bundled problem #
The number written is isomorphism-invariant.
Dependency graph
The number written by a deterministic machine, as a counting problem
on Language.turingOut-structures: the function counterpart of
DescriptiveComplexity.DTMAccept.
Equations
- DescriptiveComplexity.DTMNumber = { Count := fun (A : Type) (inst : FirstOrder.Language.turingOut.Structure A) => DescriptiveComplexity.machineNumber A, iso_invariant := ⋯ }