pda_run_check

std.seq.pda_run_check · Level L3

Whether a given run, a list of transition indices, is an accepting run of a pushdown automaton on a word, as 1 or 0: every step fits its configuration (pda_step), the whole input is read, and the final state is accepting (acceptance by final state, not by empty stack); and whether every step fitted. A run is a witness of membership; failing to find one by a bounded search proves nothing, and says nothing about the automaton's determinism or its grammar.

(q₀, 0, Z) ⊢* (q, |w|, γ), q ∈ F

Signature

pda_run_check(start: f64[], stack0: f64[H], h0: f64[], Tfrom: i64[t], Tin: i64[t], Ttop: i64[t], Tto: i64[t], Tlen: i64[t], Tpush: i64[t, 2], accept: f64[Q], word: i64[L], run: i64[m]) → f64[], f64[]

Structure

The function as NOVA stores it: one box per input, operation and output, and arrows that carry values. A double border marks another library function this one runs — called once, or by Scan once per element; select it to open that function.

startf64[]stack0f64[H]h0f64[]Tfromi64[t]Tini64[t]Ttopi64[t]Ttoi64[t]Tleni64[t]Tpushi64[t, 2]runi64[m]acceptf64[Q]wordi64[L]0.01.0CastrunfCastwordfScan·pda_stepS, POS, ST, HS, VSizeLSlicestate_lastSlicevalid_lastSlicepos_lastReduceSumstate_endReduceSumvalid_endReduceSumpos_endIdentityrun_validCastsiEqualall_readGatherfinal_okMultiplya1Multiplyacceptedrun_validf64[]acceptedf64[]
  • input
  • operation
  • constant
  • call
  • output

Verification

  • Signature proven by NOVA’s shape solver, for every size.
  • Equal to the reference the same steps on Python lists in exact rational arithmetic, on all 40 test cases.
  • All 80 float64 results are exact: the error is zero.
  • Interpreter and NumPy backend return bit-identical results.
  • At float32 too: the 40 test cases rounded to float32, and 40 of them exact, with zero error.
Accuracy in detail
correctly rounded (the float64 nearest the exact value)
100%
bit-equal to the NumPy formula in float64
100%
largest error, in units in the last place
0

Identity

Calls
Called by
—
sha256:52fa7f7879937d592ae0e9d903f98c695745589ed385e55499efcd35dcf7855e

The semantic hash of the graph. It changes when the program changes, and never when only its documentation does.

Control handle

Symbol
Ω:std.seq.pda_run_check · Ω:pda_run_check
Pins
sha256:f1c72d72dbd010c3390dc2ee7906d0bb0ed80c305ba1d1653454c251b7429b9ethis graph and the 1 it reaches through calls
Evidence
sha256:cbe8e5573cf36bdcd4cc814b8d50f0ca7b26024313df8a5883cdc09998671582the hash of its verification record
Needs
no capability: a pure function

Through NOVA’s control layer, the symbol launches this function only while the program still matches what it pins: a change to this graph, or to any graph it reaches, needs a migration first.

ΣEML 2026

Efficient New Language — a high-density semantic overlay for humans and AI agents.

This site’s demos run on the real EML toolchain, in your browser.

© 2026 EveMissLab (一言諾科技有限公司) / Neo.K. All rights reserved.