Alternating acceptance on views #
A view (Turing.FiniteCfg) of a configuration keeps everything except the input and the output
(Turing.MultiTapeNTM.ViewRep), and the views a running view steps to
(Turing.MultiTapeNTM.viewSucc) are, for the nondeterministic machine of the table of an
alternating machine, the views after its two moves (Turing.MultiTapeATM.mem_viewSucc_iff).
Acceptance within n moves therefore transfers to views
(Turing.MultiTapeATM.ViewAcceptsWithin, Turing.MultiTapeATM.viewAcceptsWithin_iff), so a
machine accepts exactly when its initial view accepts within some number of moves
(Turing.MultiTapeATM.accepts_iff_exists_viewAcceptsWithin).
Acceptance (Turing.MultiTapeATM.Accepts) is the least fixed point of the labelling: it asks for
acceptance within some finite number of moves, so a configuration whose acceptance would rely on an
infinite branch does not accept, as for Chandra, Kozen and Stockmeyer
Chandra, Kozen and Stockmeyer. On a list of views closed
under successors, the views accepting within n moves grow with n and can grow strictly for at
most as many steps as the list has entries; once they stop growing they never grow again. So a view
of the list that accepts within some number of moves accepts within as many moves as the list has
entries (Turing.MultiTapeATM.viewAcceptsWithin_length). This finite stabilization is what lets a
bounded number of rounds of marking compute the least fixed point exactly.
Main definitions #
Turing.MultiTapeATM.ViewAcceptsWithin: acceptance of a view within a number of moves.
Main results #
Turing.MultiTapeATM.tr_toNTM_iff_action: the transitions of the nondeterministic machine of the table are the actions of the two moves.Turing.MultiTapeATM.mem_viewSucc_iff: the successors of a running view are its views after the two moves.Turing.MultiTapeATM.viewAcceptsWithin_iff: views accept withinnmoves as the configurations they represent do.Turing.MultiTapeATM.accepts_iff_exists_viewAcceptsWithin: acceptance through views.Turing.MultiTapeATM.viewAcceptsWithin_length: on a closed list of views, acceptance within some number of moves is acceptance within as many moves as the list has entries.
References #
Acceptance of a view within n moves, as for configurations
(Turing.MultiTapeATM.AcceptsWithin): within 0 moves a halted view with output [true], and
within n + 1 moves a halted view with output [true] or a running view one (existential state)
or all (universal state) of whose successors accept within n moves.
Instances For
The successors of a running view are its views after the two moves.
A universal view accepts within n + 1 moves when all its successors accept within n.
An existential view accepts within n + 1 moves when one of its successors accepts within
n.
A running view does not accept within 0 moves.
Views accept as the configurations they represent do.
Acceptance through views: the machine accepts exactly when its initial view accepts within some number of moves.
Acceptance within n moves is acceptance within more.
On a list of views closed under successors, acceptance within n + 1 moves depends only on
acceptance within n moves on the list.
Stabilization. On a list of views closed under successors, a view of the list accepting within some number of moves accepts within as many moves as the list has entries.