Alphabeta Math
TheoremStatement: AI-adaptedProof: AI-generatedPipeline-generatedprecheck passjudge pass (gpt-6-luna)
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.

Finite-trellis Viterbi decoding returns a maximum-score path

Statement

For every finite weighted trellis, the algorithm returns “no admissible path” exactly when the trellis has no path. Otherwise it returns an admissible path whose score is maximal among all admissible paths. If V=∑t=1T∣Vt∣ and E=∑t=2T∣Et∣ (with empty sums taken as 0), then when each real multiplication and comparison is counted as one operation the running time is O(1+T+V+E) and the auxiliary storage is O(1+V). In the T=0 case the algorithm returns the unique empty path with score 1.

Facts & Assumptions

Given: A finite weighted trellis, a total order on each vertex set, and the algorithm in the Definition.

[F1]

Finite weighted trellises: When T=0, the unique path is the empty tuple with score 1. When T≥1, every allowed edge weight is positive. A path has positive initial and terminal weights, follows one allowed edge between each pair of consecutive layers, and has score equal to the product of its endpoint and edge weights.

[F2]

The optimal-prefix recurrence for a finite trellis: When T=0, the unique prefix path through no layers has score 1. When T≥1, the recurrence table Dt(v) is the maximum score of a prefix path ending at v, and is zero exactly when no such prefix path exists.

[F3]

Max-product Viterbi decoding on a finite trellis: When T=0, the algorithm returns the empty path with score 1. When T≥1, it stores a maximizing predecessor for each positive Dt(v) with t≥2, maximizes DT(v)β(v) at the terminal layer, and returns the path obtained by following those backpointers.

Proof

1.1givenF1F2F3algebra

If T=0, [F1] gives the unique empty path and its score 1, which the branch in [F3] returns. If T≥1, [F2] shows that every positive Dt(v) is attained by a prefix path and a zero value means there is no such prefix. Therefore, for each terminal vertex v, DT(v)β(v)>0 exactly when some full path ends at v; when positive it is the largest score of such a path.

2.1givenF1F2F3step 1.1inductionalgebra

Suppose T≥1. The finite set of terminal values has a positive maximum exactly when at least one full path exists. If it is positive, let vT be the maximizing terminal vertex; then DT(vT)>0 and β(vT)>0. If T=1, then D1(v)=α(v) and Q(v)=α(v)β(v), so the selected one-vertex tuple (v1) is already an admissible path of maximum score; no backpointer is needed. If T≥2, then by [F3], pT(vT) is defined and selects an allowed edge from some vT−1 with DT−1(vT−1)wT(vT−1,vT)=DT(vT)>0, so DT−1(vT−1)>0 because the edge weight is positive. In the T≥2 case, repeating this argument for the layers t=T,T−1,…,2 shows every pointer is defined, each selected pair is an allowed edge, and the chain ends at v1 with D1(v1)=α(v1)>0. The chain is therefore a path, and its score is DT(vT)β(vT), the maximum terminal value from step 1.1. If all terminal values are zero, step 1.1 shows there is no path, so the algorithm correctly returns “no admissible path.” The T=0 case is settled by step 1.1.

3.1givenF3step 2.1algebra∎

The T=0 branch takes constant time. For T≥1, each vertex is initialized or scanned a bounded number of times, each edge contributes one candidate product and comparison, and traceback visits at most T layers. Thus the time is O(1+T+V+E). The algorithm stores at most one backpointer per vertex and scores for the current and preceding layers, so auxiliary storage is O(1+V).

Depends on

Used by

Dependency tree · one level

3 results within one dependency step 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