# Question 22472: A Complete PDA Definition Retains Its Final-State Acceptance Convention

[Return to catalogue page 113](https://ocme.evemisslab.com/en/questions/page/113/)

[← Question derivation index](https://ocme.evemisslab.com/en/questions/) · [Original question batch](https://ocme.evemisslab.com/en/practice/batch-20261014-advance-20261110-r07-pushdown-automaton-foundations/#q-20261014-advance-20261110-r07-pushdown-automaton-0022)

This teaching derivation has second-context AI mathematical and bilingual semantic review, limited to the model and assumptions stated in this question. It has no human review or new Lean proof and does not promote the original question or MKO to Canonical truth.

R0043-22472 · q-20261014-advance-20261110-r07-pushdown-automaton-0022



## Original question and givens

Use the complete finite nondeterministic PDA: states=[push21, pop21, accept21], input_alphabet=[a21, b21], stack_alphabet=[Z21, A21], start_state=push21, bottom_symbol=Z21, final_states=[accept21], transitions=[[push21, a21, Z21, push21, [Z21, A21]], [push21, a21, A21, push21, [A21, A21]], [push21, b21, A21, pop21, []], [pop21, b21, A21, pop21, []], [push21, null, Z21, accept21, [Z21]], [pop21, null, Z21, accept21, [Z21]]]. Alphabets are unique and pairwise disjoint. Each transition is [from,input symbol or null,required top,to,replacement bottom-to-top]. null is epsilon and consumes no input. Configurations are [state,input position,stack] with bottom first and top last. Preserve the bottom marker and accept only after consuming the entire input in a final state, not by empty stack. Give (states, input_alphabet, stack_alphabet, start_state, bottom_symbol, final_states, transition_count, qualified, convention).


- G001 — Use the complete finite nondeterministic PDA: states=[push21, pop21, accept21], input_alphabet=[a21, b21], stack_alphabet=[Z21, A21], start_state=push21, bottom_symbol=Z21, final_states=[accept21], transitions=[[push21, a21, Z21, push21, [Z21, A21]], [push21, a21, A21, push21, [A21, A21]], [push21, b21, A21, pop21, []], [pop21, b21, A21, pop21, []], [push21, null, Z21, accept21, [Z21]], [pop21, null, Z21, accept21, [Z21]]]. Alphabets are unique and pairwise disjoint. Each transition is [from,input symbol or null,required top,to,replacement bottom-to-top]. null is epsilon and consumes no input. Configurations are [state,input position,stack] with bottom first and top last. Preserve the bottom marker and accept only after consuming the entire input in a final state, not by empty stack. Give (states, input_alphabet, stack_alphabet, start_state, bottom_symbol, final_states, transition_count, qualified, convention).





## Definition and scope

Use the original question domain, assumptions and cited MKO definitions. This item has second-context mathematical and bilingual review, with the model, answer and every arithmetic step independently recomputed from the original parameters; the source question remains a candidate.


- [mko-pushdown-automaton](https://ocme.evemisslab.com/en/mko/mko-pushdown-automaton/)





## Step-by-step derivation

S001 · impliesBefore

source operation=pda-qualification;original snapshot and mathematics retained

After

explicit ordered source output fields=[states, input_alphabet, stack_alphabet, start_state, bottom_symbol, final_states, transition_count, qualified, convention]

Conditions: none

Retain the historical interface marker and list ordered source fields without JavaScript.MVT fields come from the original mode,without padding or answer-shape inference.Tags and fixed No markers retain their claim scope.

Step identifiers and dependenciesRule: source_ordered_interface_explicit_without_javascript · Uses: G001





S002 · impliesBefore

ORIGINAL transition index=0;[from,input_or_null,required_top,to,replacement_bottom_to_top]=[push21, a21, Z21, push21, [Z21, A21]];bottom=Z21

After

states/input/stack symbols legal;null input consumes0;top=bottom requires replacement first bottom,otherwise replacement contains NO bottom;ORIGINAL transition position retained

Conditions: none

Check each original transition's state,input and stack roles without mixing alphabets.Null is epsilon,not an input symbol.The stack is bottom-first/top-last:pop one top then append the replacement in its original order.Apply the declared bottom guard,not an invented stronger convention.

Step identifiers and dependenciesRule: pda_EVERY_original_transition_roles_epsilon_bottom_guard · Uses: G001, S001





S003 · impliesBefore

ORIGINAL transition index=1;[from,input_or_null,required_top,to,replacement_bottom_to_top]=[push21, a21, A21, push21, [A21, A21]];bottom=Z21

After

states/input/stack symbols legal;null input consumes0;top=bottom requires replacement first bottom,otherwise replacement contains NO bottom;ORIGINAL transition position retained

Conditions: none

Check each original transition's state,input and stack roles without mixing alphabets.Null is epsilon,not an input symbol.The stack is bottom-first/top-last:pop one top then append the replacement in its original order.Apply the declared bottom guard,not an invented stronger convention.

Step identifiers and dependenciesRule: pda_EVERY_original_transition_roles_epsilon_bottom_guard · Uses: G001, S002





S004 · impliesBefore

ORIGINAL transition index=2;[from,input_or_null,required_top,to,replacement_bottom_to_top]=[push21, b21, A21, pop21, []];bottom=Z21

After

states/input/stack symbols legal;null input consumes0;top=bottom requires replacement first bottom,otherwise replacement contains NO bottom;ORIGINAL transition position retained

Conditions: none

Check each original transition's state,input and stack roles without mixing alphabets.Null is epsilon,not an input symbol.The stack is bottom-first/top-last:pop one top then append the replacement in its original order.Apply the declared bottom guard,not an invented stronger convention.

Step identifiers and dependenciesRule: pda_EVERY_original_transition_roles_epsilon_bottom_guard · Uses: G001, S003





S005 · impliesBefore

ORIGINAL transition index=3;[from,input_or_null,required_top,to,replacement_bottom_to_top]=[pop21, b21, A21, pop21, []];bottom=Z21

After

states/input/stack symbols legal;null input consumes0;top=bottom requires replacement first bottom,otherwise replacement contains NO bottom;ORIGINAL transition position retained

Conditions: none

Check each original transition's state,input and stack roles without mixing alphabets.Null is epsilon,not an input symbol.The stack is bottom-first/top-last:pop one top then append the replacement in its original order.Apply the declared bottom guard,not an invented stronger convention.

Step identifiers and dependenciesRule: pda_EVERY_original_transition_roles_epsilon_bottom_guard · Uses: G001, S004





S006 · impliesBefore

ORIGINAL transition index=4;[from,input_or_null,required_top,to,replacement_bottom_to_top]=[push21, null, Z21, accept21, [Z21]];bottom=Z21

After

states/input/stack symbols legal;null input consumes0;top=bottom requires replacement first bottom,otherwise replacement contains NO bottom;ORIGINAL transition position retained

Conditions: none

Check each original transition's state,input and stack roles without mixing alphabets.Null is epsilon,not an input symbol.The stack is bottom-first/top-last:pop one top then append the replacement in its original order.Apply the declared bottom guard,not an invented stronger convention.

Step identifiers and dependenciesRule: pda_EVERY_original_transition_roles_epsilon_bottom_guard · Uses: G001, S005





S007 · impliesBefore

ORIGINAL transition index=5;[from,input_or_null,required_top,to,replacement_bottom_to_top]=[pop21, null, Z21, accept21, [Z21]];bottom=Z21

After

states/input/stack symbols legal;null input consumes0;top=bottom requires replacement first bottom,otherwise replacement contains NO bottom;ORIGINAL transition position retained

Conditions: none

Check each original transition's state,input and stack roles without mixing alphabets.Null is epsilon,not an input symbol.The stack is bottom-first/top-last:pop one top then append the replacement in its original order.Apply the declared bottom guard,not an invented stronger convention.

Step identifiers and dependenciesRule: pda_EVERY_original_transition_roles_epsilon_bottom_guard · Uses: G001, S006





S008 · calculationBefore

PDA complete ORIGINAL transition count := sum(1, 1, 1, 1, 1, 1)

After

PDA complete ORIGINAL transition count = 6

Conditions: none

Substitute original roles,order and established intermediates exactly,without changing source bindings or using floating-point approximations.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S007





S009 · impliesBefore

ORIGINAL states=[push21, pop21, accept21],input alphabet=[a21, b21],stack alphabet=[Z21, A21];start=push21,bottom=Z21,final states=[accept21]

After

finite unique pairwise-disjoint alphabets qualified;transition count=6;acceptance convention FULL input in final state,NOT empty stack;qualification alone proves NO run,determinism or CFG equivalence

Conditions: none

A qualified complete definition gives no accepting run,determinism or CFG-equivalence proof.Acceptance may retain a nonempty stack,including its bottom,but requires full input consumption in a final state.

Step identifiers and dependenciesRule: pda_complete_definition_not_determinism_or_accepting_run · Uses: G001, S008









## Reverse checks


- S009 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S008 · premise_and_result_audit — Recompute PDA complete ORIGINAL transition count with exact rational arithmetic, not rounded decimals.
- S007 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S006 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S005 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S004 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S003 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S002 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S001 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.





## Result

([push21, pop21, accept21], [a21, b21], [Z21, A21], push21, Z21, [accept21], 6, Yes, accept_only_after_full_input_in_final_state_bottom_marker_preserved)

The full substitutions and premise checks give the original answer; source identity,format and status are unchanged.





## This question review and source binding

Review date: 2026-10-26

Original questions, answers, step expressions, numeric ASTs and historical records are retained. Source candidate labels remain historical and are not overwritten as formal proof.

Source hashes and review receipts
- input commit: 0f7be61e2c22317a4075561dc822c87d881a50db
- original question SHA-256: 8039d2d1803bc7f3cf295237c41ca3f2929afbae250fbbed7dd78c23d2ec7e20
- candidate record SHA-256: 9cf9964433753a641b56c6d1d795631865b0eaca7b1e45aaeb87e09dffc72677
- semantic review receipt SHA-256: 49cf6ec60211c92d1c0c302663af4d44479635dc8181fb61a20c3374288e21c5
- question-first witness SHA-256: 10fd25b4643e5ff12753daceaa61f9f2499bf381f65ef96e9d21185c7c0d0c5e
- Lean: NOT_RUN · human review: NOT_PERFORMED

[Same-source full JSON](https://ocme.evemisslab.com/data/question-derivations/questions/q-20261014-advance-20261110-r07-pushdown-automaton-0022.json)




