Assembly of the concrete empty-return classifier #
Equality of the two terminally completed sentential forms leaves only two shapes: the visible prefixes agree, or one is a strict terminal extension of the other. Same-prefix transition returns are handled by the structural epsilon-return uniqueness theorem. This module isolates the one remaining ancestry statement for strict terminal extensions and proves all downstream classifier assembly from those two inputs.
Generic semantic interface expected from the paired-anchor interval argument. The two anchors represent the same visible frontier and completed word. If both physical cuts have useful futures with the same one-symbol lookahead, their control states and complete stacks agree.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Boundary-sensitive strengthening of physical cut equality. This is the form consumed directly by the existing leftmost-epsilon comparison API.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equality of the boundary-sensitive anchor positions implies equality of their physical cuts.
The boundary-sensitive paired-anchor theorem is sufficient for the full same-prefix epsilon-return uniqueness property.
From one physical zero-visible anchor, an empty-list endpoint cannot
coexist productively with a single endpoint that has a useful read on the
same lookahead.
The exact strict-prefix ancestry obligation left by the concrete empty-return classifier. The later visible prefix differs only by a nonempty terminal block. Such a pair must expose one of the useful cycle/growth obstructions.
The statement deliberately does not ask which edge is transition-generated:
ConcreteEmptyEdge.transitionEdge_of_strictTerminalExtension already shows
that the later edge is transition-generated.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The non-read fragment of a concrete empty edge. A read-generated early edge is already incompatible with every strict terminal extension, so only epsilon and structural split-right introductions survive in the strict classifier.
- epsilon {Q T S : Type} [Fintype Q] [Fintype T] [Fintype S] {M : DPDA Q T S} {p : List (symbol T (Nonterminal M))} {suffix preWord : List T} {context : List (StackSymbol M)} {source : State M} {Z : StackSymbol M} {q : State M} (parent : ConcreteOperationalSpine M p (PDA_to_CFG.N.single source Z q) suffix preWord context) (transition : (q, []) ∈ (emptyStackPDA M).transition_fun' source Z) (rule : (PDA_to_CFG.N.single source Z q, [symbol.nonterminal (PDA_to_CFG.N.list q [] q)]) ∈ (characteristicGrammar M).rules) : ConcreteNonreadEmptyEdge M p q suffix
- split {Q T S : Type} [Fintype Q] [Fintype T] [Fintype S] {M : DPDA Q T S} {p : List (symbol T (Nonterminal M))} {suffix preWord leftWord : List T} {context : List (StackSymbol M)} {source : State M} {Z : StackSymbol M} {q : State M} (parent : ConcreteOperationalSpine M p (PDA_to_CFG.N.list source [Z] q) suffix preWord context) (length : ↑[Z].length ≤ PDA_to_CFG.max_push (emptyStackPDA M)) (rule : (PDA_to_CFG.N.list source [Z] q, [symbol.nonterminal (PDA_to_CFG.N.single source Z q), symbol.nonterminal (PDA_to_CFG.N.list q [] q)]) ∈ (characteristicGrammar M).rules) (left : (characteristicGrammar M).DerivesRightmost [symbol.nonterminal (PDA_to_CFG.N.single source Z q)] (List.map symbol.terminal leftWord)) : ConcreteNonreadEmptyEdge M (p ++ [symbol.nonterminal (PDA_to_CFG.N.single source Z q)]) q suffix
Instances For
Forget the non-read tag.
Boundary-sensitive paired-anchor synchronization rules out every
epsilon/split early return followed by a later transition return. Walking
the later terminal block back to its first read produces a readable single
at the early frontier; the earlier empty child and that single then descend
from one structural epsilon position, contradicting useful determinism.
Read-generated early returns admit no strict terminal extension at all; hence the full strict classifier reduces to its epsilon/split fragment.
The left-transition directional classifier follows from same-prefix epsilon-return uniqueness and the single strict-terminal ancestry property.
The right-transition directional classifier has the same strict branch; only the same-prefix lookahead must be reversed before applying the structural transition-vs-return theorem.
Complete concrete pair classification once the same-prefix and strict terminal ancestry statements have been supplied.
One boundary-sensitive paired-anchor synchronization theorem discharges both the same-prefix epsilon branch and every strict terminal displacement, and therefore supplies the complete concrete empty-return classifier.