Finite symbol support of a fixed program
ProvedPvsNP.machineSymbols_finiteThe union of the input alphabet and the pushable symbols of all labels is finite.
Status: Local proof checked; unpublished draft statement.
import Definitions.Def_PvsNPSupport namespace PvsNP theorem machineSymbols_finite (M : Turing.FinTM2) : (machineSymbols M).Finite := by sorry end PvsNP
Read-back
What the Lean code literally says, in plain math · gpt-6-astra
For every machine , the set of all its input-alphabet symbols together with all syntactically possible pushed tagged symbols of all labeled statements is finite. This is one set depending only on the machine, with no particular input or execution selected. Here is a TM2 machine with a finite type of stack indices and decidable equality on , designated input and output indices , stack-symbol types , a finite type of program labels with a main label, a finite type of control states with an initial state, a finite input alphabet , and a statement for each label . No finiteness of for other is assumed. A tagged symbol has and ; tags from different stacks remain distinct. For a statement , its set of syntactically possible pushed tagged symbols is recursively defined: a push onto with symbol function and continuation contributes ; a peek, pop, or control-state load contributes only its continuation’s set; a conditional branch contributes the union of both branch sets; a jump to a program label and a halt contribute the empty set. Thus both branch bodies and all control states are counted, regardless of reachability, while a jump does not recursively inspect its target. Put , including every input-alphabet symbol and all syntactically possible pushes from every labeled statement.