Regular Epsilon Analysis for DPDA Totalization #
The totalizer needs finite, stack-regular lookahead for two semantic questions:
- Does the forced epsilon phase from
(q, γ)reach a stable configuration? - If the input is already exhausted at
(q, γ), does the epsilon closure encounter an accepting state?
This file packages the finite analysis data. The remaining existence theorem is provided by the pushdown-system saturation construction: every finite DPDA has such an analysis.
structure
DPDA.RegularEpsilonAnalysis
{Q T S : Type}
[Fintype Q]
[Fintype T]
[Fintype S]
(M : DPDA Q T S)
:
Type 1
A finite regular analysis of the epsilon-only behavior of a DPDA.
- StopState : Q → Type
- stopDecidableEq (q : Q) : DecidableEq (self.StopState q)
- AcceptState : Q → Type
- acceptDecidableEq (q : Q) : DecidableEq (self.AcceptState q)
- acceptFintype (q : Q) : Fintype (self.AcceptState q)
- acceptDFA (q : Q) : DFA S (self.AcceptState q)
Instances For
def
DPDA.regularEpsilonAnalysisOfSaturation
{Q T S : Type}
[Fintype Q]
[Fintype T]
[Fintype S]
(M : DPDA Q T S)
:
The saturation construction supplies the finite regular epsilon analysis used
by the totalizer. For each control state q, the DFA state is the current set of
P-automaton states reachable after reading the stack prefix.
Equations
- One or more equations did not get rendered due to their size.