How statement and proof provenance work
The first chip identifies the source of the statement or construction; the second identifies the source of its local proof or verification.
- Literature-sourced: the exact statement appears in a cited source; only wording and notation differ.
- AI-adapted: a semantically identical restatement of literature-sourced material, modulo indexing, notation, and boundary cases adopted by the library.
- AI-generated: a genuinely novel statement formulated by AI, with no source for the claim itself.
These labels describe origin, not correctness: citations and verification chips remain separate evidence.
Every PDA has an equivalent context-free grammar
Statement
For every PDA there exists a context-free grammar built from fragment variables such that where is the empty-stack PDA obtained from by the acceptance-mode conversion.
Facts & Assumptions
Given: A PDA .
By Acceptance by final state and by empty stack are equivalent for PDAs, there is an empty-stack PDA with the same accepted language as .
By The PDA fragment variable , the variable denotes the words that remove while taking the machine from state to state and leaving the lower stack unchanged.
By PDA fragment variables compose, fragment computations concatenate to remove a stacked pair, and conversely a computation removing a stacked pair splits at the first moment when the lower symbol is exposed.
By The language generated by a CFG, a grammar generates exactly the terminal words derivable from its start symbol.
Proof
By [L1], replace by an equivalent empty-stack PDA . Refining its transitions if necessary, we may assume that every move of pops one symbol, reads either one input symbol or , and pushes either nothing, one symbol, or two symbols; a longer push is replaced by a short chain of fresh intermediate states.
Build a grammar whose variables are the fragment symbols for states and stack symbols , and whose start symbol branches over all variables . For each normalized transition of with , add the matching productions: if , add ; if , add for every state ; if , add for every pair of states . When , omit that leading terminal.
Every derivation in yields an accepting computation of by induction on the derivation tree of a fragment variable . The production chosen at the root records the first normalized move from state with top symbol . If the production is terminal or , that move already removes . If it has one fragment variable, the induction hypothesis supplies the computation removing the pushed symbol. If it has two fragment variables, the induction hypotheses supply computations removing the two pushed symbols, and [L3] composes them into one computation removing the original pushed pair. Therefore every word derived from lies in that fragment language, and the start productions give .
Conversely, consider a fragment computation and induct on its number of steps. Let its first normalized move be determined by a transition with and . If , that one move already removes , so step 2.1 contributes the corresponding terminal or production. If , the remaining computation removes above , so the induction hypothesis derives the remaining input from , and step 2.1 prepends the production with the leading terminal omitted when . If , then [L3] splits the remaining computation at the first moment when is exposed on top of , yielding a state and a decomposition of the remaining input into words and with and . The induction hypothesis derives from and from , so step 2.1 gives a derivation of from . Applying this to start configurations shows .
Steps 3.1 and 3.2 give , and [L1] then yields .
Depends on
Used by
Dependency tree · two levels
9 results within two dependency steps of this one, each drawn at its shortest distance from it. An arrow runs from a result to what uses it, so the chart reads left to right and ends at this result, which carries a heavier outline. Every node is a link to that result. Click elsewhere on the chart to enlarge it.
Sources
- Jean Gallier and Jocelyn Quaintance, Introduction to the Theory of Computation: Some Notes for CIS511 (standard reference, not scraped)