REVIEW 3 major objections 5 minor 42 references
StacKAT: Infinite State Network Verification
T0 review · 3 major / 5 minor · reviewed 2026-08-15 · deepseek-v4-flash
Pith's one-line read StacKAT adds a stack to NetKAT and still makes program equivalence decidable
desk verdict StacKAT is a genuine theoretical advance for network verification, but the decision procedure as stated has a correctness gap (bisimilarity vs language equivalence) that needs fixing before the main decidability theorem is trustworthy. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
The load-bearing object is the canonicalized trace language $\bar L(e)$, produced in three steps: (1) pushpop closure adds shortcuts for matching $\mathrm{push}(v)\cdot\mathrm{pop}(v)$; (2) filtering intersects with $\mathrm{pop}^*\mathrm{push}^*$, keeping only traces where all pops precede all pushes; (3) poppush closure inserts $\mathrm{pop}(v)\cdot\mathrm{push}(v)$ pairs, implemented on automata by zipping the trace from the middle outward, representing a word $\mathrm{pop}(1)\mathrm{pop}(2)\mathrm{push}(3)\mathrm{push}(4)$ as $(\mathrm{pop}(2),\mathrm{push}(3))(\mathrm{pop}(1),\mathrm{push}(4))$, and prepending $((\mathrm{pop}(v),\mathrm{push}(v)))^*$. The zipped automaton makes the otherwise non-regular poppush closure regular, so language equivalence of the resulting automata is decidable and yields counterexamples.
What would settle it
Search small value domains for two push-pop programs whose canonical trace automata accept the same language but whose input-output relations differ on some stack, e.g., by exhaustive enumeration of programs up to modest size; the paper's Theorem 3.7 predicts none exists. A more targeted check verifies Lemma 3.10 directly by computing $[\bar L]$ and $[\bar L]'$ for a collection of canonical languages and comparing them.
Extended reading notes
Core claim
The paper establishes Theorem 3.7: for push-pop StacKAT programs $e,f$, semantic equivalence $\llbracket e\rrbracket=\llbracket f\rrbracket$ holds iff $\bar L(e)=\bar L(f)$, where $\bar L=\mathrm{poppush}(\mathrm{filter}(\mathrm{pushpop}(L)))$. It extends this to full StacKAT via trace languages $\mathrm{traces}^{\alpha_2}_{\alpha_1}(e)$ for each input/output packet-header pair $(\alpha_1,\alpha_2)$, giving Theorem 4.2 and a decision procedure in EXPSPACE (Theorem 4.5), with PSPACE-completeness for the push-pop fragment (Theorems 3.13 and 3.14). For push-pop programs the paper also gives a complete equational axiomatization (Theorem 6.9): Kleene algebra plus $\mathrm{push}(v)\mathrm{pop}(v)=1$, $\mathrm{push}(v)\mathrm{pop}(w)=0$ for $v\neq w$, the inequality $\mathrm{pop}(v)\mathrm{push}(v)\le 1$, and a rule that transfers provability through a new operator $\dagger$.
Load-bearing premise
The argument assumes that inserting pop-then-push pairs in the middle of canonical traces captures exactly the behavior of stacks with extra values underneath, so that no semantic difference is lost in the canonicalized language.
Editorial extensions
If this is right
- Every StacKAT equivalence query, such as reachability, waypointing, correct compilation, and slice isolation, can be answered mechanically instead of by hand.
- Inequivalent programs come with an explicit input-output packet pair witnessing the difference, computed from the symmetric difference of the canonical automata.
- The push-pop fragment has a sound and complete axiomatization, so equivalence proofs can be carried out equationally as well as algorithmically.
- Full StacKAT equivalence is EXPSPACE-complete, matching the hardness of regular expressions with squaring; with a fixed set of header variables the bound drops to PSPACE.
Reading between the lines
- The zipping construction may generalize: any action language whose valid traces form $\mathrm{pop}^*\mathrm{push}^*$ can be decided by reading from the middle outward, which could apply to other stack-like models beyond network packets.
- The paper's contrast with visibly pushdown languages suggests a broader lesson: removing the input tape while keeping an unrestricted stack is what buys decidability, so similar tape-less stack models elsewhere may also have decidable equivalence.
- A symbolic implementation, e.g., BDD-style as the paper leaves to future work, would be the natural test of whether the EXPSPACE procedure scales to realistic header spaces; the paper's own benchmarks show header enumeration is the bottleneck.
Signed reviews
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The paper introduces StacKAT, an extension of NetKAT with push and pop stack operations over a finite value set, and studies the equivalence problem for StacKAT programs. The main claims are: (i) equivalence in the pure push-pop fragment is decidable by canonicalizing the trace language through push-pop cancellation, filtering to pop* push* traces, and pop-push closure, then comparing the resulting zipped trace languages (Theorems 3.7 and 3.12); (ii) equivalence for full StacKAT, including header tests and assignments, reduces to equivalence of header-parameterized trace languages (Theorem 4.2), giving an EXPSPACE decision procedure (Theorem 4.5); (iii) counterexamples can be extracted when programs are inequivalent; and (iv) a complete axiomatization for the push-pop fragment is provided using a new dagger operator on languages (Theorem 6.9). The paper includes a detailed appendix with proofs, an interactive implementation, and benchmarks.
Significance. If the results are correct, this is a substantial contribution: StacKAT is a natural infinite-state extension of NetKAT, and the paper shows that its equivalence problem remains decidable despite the presence of a stack, with a matching EXPSPACE algorithm and a completeness result for the push-pop fragment. The central technical idea, zipping trace languages so that the non-regular pop-push closure becomes a regular precomposition A* · zip(L), is elegant and useful. The paper also ships a working implementation and benchmarks, which strengthens confidence that the constructions are concretely realizable. The main caveats are that Theorem 3.12 states a bisimilarity check that is not justified for the nondeterministic automata built by the construction, and that the load-bearing Lemma 3.10 is only proved by a two-sentence sketch. Both issues appear repairable within the paper's scope.
major comments (3)
- [Section 3.4, Theorem 3.12] The stated decision procedure says to 'check bisimilarity of these resulting automata,' but the constructed automata are NFAs in general. Figure 6 creates initial states (q,q), epsilon transitions, and simultaneous backward-pop/forward-push steps without determinization, and the precomposition with A* in Lemma 3.6 adds further nondeterminism. For NFAs, bisimilarity is strictly stronger than language equivalence, so a bisimilarity check can reject semantically equivalent programs and is not justified by Theorem 3.7, which is stated in terms of language equality. The complexity argument in Section 3.5 and the implementation description in Section 5.1 rely on language equivalence, not bisimilarity. Please replace the bisimilarity check with an explicit language-equivalence check on the canonicalized automata (or prove that the constructed automata are deterministic or complete in a sense that makes bisimilarity coincide with language equivalence), and update the counterexample-extraction wording in Section 5 accordingly.
- [Section 3.4, Lemma 3.10] Lemma 3.10 is load-bearing for Theorem 3.7: it identifies [Lbar] with [Lbar]' and is the only step that lets Lemma 3.11 be applied. The proof, however, is only a two-sentence sketch: the inclusion ⊆ is justified by saying that poppush(L) adds strings with pop(v)push(v) pairs that 'precisely match the possible additional values in the stack.' This is not a routine detail: the converse inclusion requires showing, for every residual context of stack values below the explicit stack content, that an inserted pop-push word makes the exact-stack semantics reach the same output. Please provide a full proof, for example by induction on the length of the residual stack, making explicit how the closure rules in Figure 4 supply the required words.
- [Section 4, Theorem 4.2 and Lemma 4.3] The decidability of full StacKAT is a headline result, but the proof of Lemma 4.3 is only summarized as proving two inclusions by induction, and Theorem 4.2 is described as 'entirely analogous' to Theorem 3.7. The header-annotated trace semantics introduces a genuine interaction: tests and assignments are compiled into automaton states, so the adaptation of Lemmas 3.9 and 3.10 to the annotated setting must be shown explicitly. Please give the full inductive proof of Lemma 4.3 and spell out how the canonicalization lemmas transfer to the pairs (α1, α2), rather than leaving the transfer to analogy.
minor comments (5)
- [Section 4.1] The finiteness argument for the trace automaton says the automaton steps only to expressions of the form e1·e2···ek where 'each ei is strictly smaller than ei+1,' but the ordering is not defined; please state the measure on expressions explicitly.
- [Section 3.2] The claim that (push(3)^n)*·(pop(3)^m)* is equivalent to (push(3)^gcd(n,m))* + (pop(3)^gcd(n,m))* is stated without proof; if kept, add a reference or a short derivation.
- [Section 5.1] The benchmark descriptions do not report the size of the value domain V, the number of header fields, or the hardware used; please include these details for reproducibility.
- [Section 7] There is a duplicated phrase in 'Below, we review below the most closely related work'; please fix the typo.
- [Throughout] The bar/overline notation for Lbar and a-bar is easy to lose in print, especially when it distinguishes push and pop letters; consider using a more robust notation such as subscripted or bracketed symbols.
Circularity Check
No circularity: StacKAT's equivalence decision procedure is proved against an independently defined relational semantics, not assumed into existence.
full rationale
The paper's central claim is that semantic equivalence JeK=JfK coincides with equality of canonical trace languages Lbar(e)=Lbar(f). This is not circular. The semantics J−K is defined directly in Figure 1 as a relation on packets, independently of Lbar. The trace language L(e) is the ordinary regular language of push/pop words of the expression, and Lbar is obtained by three syntactic operations (pushpop closure, filtering to pop*push*, poppush closure) whose definitions do not mention J−K or the equivalence relation being decided. The soundness of each canonicalization with respect to the semantics is proved: Lemma 3.8 (JeK=[L(e)]), Lemma 3.9 ([L]=[Lbar]), Lemma 3.10 ([Lbar]=[Lbar]'), and Lemma 3.11 (exact-stack languages equal iff languages equal). Theorem 3.7 is then proved by chaining these lemmas. Even though the poppush operation is motivated by the semantic axiom pop(v)push(v)+1=1, the operation is defined on languages, and the fact that it exactly accounts for residual stack content is an argued lemma (Lemma 3.10), not an assumption. The full-language extension (Theorem 4.2) is likewise reduced to the push-pop case via trace languages traces_alpha2_alpha1(e), whose faithful representation of semantics is proved in Lemma 4.3. There are no fitted parameters and no predictions that are defined as their own outputs. The axiomatization in Section 6 is also non-circular: it proves normal-form transformations using Brzozowski derivatives and Kleene algebra, then reduces completeness to Kozen's external completeness theorem for KA; the new rule (5) is justified by the bijection K of Lemma 6.7, not by assuming the equivalence it is meant to prove. Self-citations, including NetKAT foundations, KATch, and Silva's thesis for the fundamental theorem, are background or standard external results and are not load-bearing: the decidability argument does not require accepting any self-cited paper's contested claim. Separately, without treating it as circularity, Theorem 3.12's phrase 'check bisimilarity' is in tension with the language-equivalence check used in Section 3.5 and Section 5.1; this is a correctness concern, not a reduction of the result to its own inputs. Overall, the derivation chain is self-contained modulo standard automata and Kleene algebra facts.
Assumptions & free parameters
assumptions (4)
- domain assumption Values V and header fields F are finite, and packet headers are records over F to V (Figure 1).
- domain assumption The stack is unbounded and there is no separate input tape; a packet is a pair of header and stack.
- standard math Kleene algebra completeness theorem (Kozen 1994) and Brzozowski derivative finiteness are used as black boxes.
- standard math Standard results on pushdown automata and regular expression equivalence complexity (e.g., PSPACE-completeness) are relied on.
invented entities (2)
-
StacKAT language
-
dagger operator (†) on languages
Cite this review
Pith. "Pith review of StacKAT: Infinite State Network Verification." pith.science (2026). https://pith.science/paper/HHZPBZHW
@misc{pith2026250613383,
author = {Pith},
title = {Pith review of: StacKAT: Infinite State Network Verification},
year = {2026},
howpublished = {\url{https://pith.science/paper/HHZPBZHW}},
note = {Machine review of arXiv:2506.13383}
}
read the original abstract
We develop StacKAT, a network verification language featuring loops, finite state variables, nondeterminism, and - most importantly - access to a stack with accompanying push and pop operations. By viewing the variables and stack as the (parsed) headers and (to-be-parsed) contents of a network packet, StacKAT can express a wide range of network behaviors including parsing, source routing, and telemetry. These behaviors are difficult or impossible to model using existing languages like NetKAT. We develop a decision procedure for StacKAT program equivalence, based on finite automata. This decision procedure provides the theoretical basis for verifying network-wide properties and is able to provide counterexamples for inequivalent programs. Finally, we provide an axiomatization of StacKAT equivalence and establish its completeness.
Figures
Figures from the paper (6 more)
Reference graph
Works this paper leans on
-
[1]
Rajeev Alur and P. Madhusudan. 2004. Visibly pushdown languages. InSTOC. doi:10.1145/1007352.1007390
arXiv 2004
-
[2]
Carolyn Jane Anderson, Nate Foster, Arjun Guha, Jean-Baptiste Jeannin, Dexter Kozen, Cole Schlesinger, and David Walker. 2014. NetKAT: Semantic Foundations for Networks. InPOPL. doi:10.1145/2535838.2535862
arXiv 2014
-
[3]
Valentin M. Antimirov. 1996. Partial Derivatives of Regular Expressions and Finite Automaton Constructions.Theor. Comput. Sci.(1996). doi:10.1016/0304-3975(95)00182-4
-
[4]
Ryan Beckett and Aarti Gupta. 2022. Katra: Realtime Verification for Multilayer Networks. InNSDI. https://www. usenix.org/conference/nsdi22/presentation/beckett
work page 2022
-
[5]
Jean Berstel and Luc Boasson. 2002. Balanced Grammars and Their Languages. InFormal and Natural Computing - Essays Dedicated to Grzegorz Rozenberg. doi:10.1007/3-540-45711-9_1
-
[6]
Pat Bosshart, Dan Daly, Glen Gibb, Martin Izzard, Nick McKeown, Jennifer Rexford, Cole Schlesinger, Dan Talayco, Amin Vahdat, George Varghese, and David Walker. 2014. P4: Programming Protocol-Independent Packet Processors. SIGCOMM(07 2014). doi:10.1145/2656877.2656890
arXiv 2014
-
[7]
Ahmed Bouajjani, Javier Esparza, and Oded Maler. 1997. Reachability Analysis of Pushdown Automata: Application to Model-Checking. InCONCUR. doi:10.1007/3-540-63141-0_10
-
[8]
Janusz A. Brzozowski. 1964. Derivatives of Regular Expressions.J. ACM(1964). doi:10.1145/321239.321249
arXiv 1964
Show all 42 references
-
[9]
Buckheister and Georg Zetzsche
P. Buckheister and Georg Zetzsche. 2013. Semilinearity and Context-Freeness of Languages Accepted by Valence Automata. InMFCS. doi:10.1007/978-3-642-40313-2_22
2013 doi
-
[10]
Amina Doumane, Denis Kuperberg, Damien Pous, and Cécilia Pradic. 2019. Kleene Algebra with Hypotheses. In FOSSACS. doi:10.1007/978-3-030-17127-8_12
2019 doi
-
[11]
Alain Finkel, Bernard Willems, and Pierre Wolper. 1997. A direct symbolic approach to model checking pushdown systems. InWorkshop on Verification of Infinite State Systems. doi:10.1016/S1571-0661(05)80426-8
1997 doi
-
[12]
Nate Foster, Dexter Kozen, Mae Milano, Alexandra Silva, and Laure Thompson. 2015. A Coalgebraic Decision Procedure for NetKAT. InPOPL. doi:10.1145/2676726.2677011
2015
-
[13]
Hopcroft, Rajeev Motwani, and Jeffrey D
John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman. 2006.Introduction to Automata Theory, Languages, and Computation (3rd Edition)
2006
-
[14]
Reps, and Shmuel Sagiv
Susan Horwitz, Thomas W. Reps, and Shmuel Sagiv. 1995. Demand Interprocedural Dataflow Analysis. InSIGSOFT. doi:10.1145/222124.222146
1995
-
[15]
Jesper Stenbjerg Jensen, Troels Beck Krøgh, Jonas Sand Madsen, Stefan Schmid, Jirí Srba, and Marc Tom Thorgersen
-
[16]
Peter Gjøl Jensen, Dan Kristiansen, Stefan Schmid, Morten Konggaard Schou, Bernhard Clemens Schrenk, and Jirí Srba
-
[17]
Peter Gjøl Jensen, Stefan Schmid, Morten Konggaard Schou, Jirí Srba, Juan Vanerio, and Ingo van Duijn. 2021. Faster Pushdown Reachability Analysis with Applications in Network Verification. InATV A. doi:10.1007/978-3-030-88885- 5_12
2021 doi
-
[18]
Adam Husted Kjelstrøm and Andreas Pavlogiannis. 2022. The decidability and complexity of interleaved bidirected Dyck reachability. InPOPL. doi:10.1145/3498673
2022 doi
-
[19]
Dexter Kozen. 1994. A Completeness Theorem for Kleene Algebras and the Algebra of Regular Events.Inf. Comput. (1994). doi:10.1006/inco.1994.1037
1994
-
[20]
Dexter Kozen. 1996. Kleene algebra with tests and commutativity conditions. InTACAS. doi:10.1007/3-540-61042-1_35
1996 doi
-
[21]
Vincent Mathieu and Jules Desharnais. 2005. Verification of Pushdown Systems Using Omega Algebra with Domain. InRelMICS/AKA. doi:10.1007/11734673_15
2005 doi
-
[22]
Robert McNaughton. 1967. Parenthesis Grammars.J. ACM(1967). doi:10.1145/321406.321411 Proc. ACM Program. Lang., Vol. 9, No. PLDI, Article 158. Publication date: June 2025. 158:24 Jules Jacobs, Nate Foster, Tobias Kappé, Dexter Kozen, Lily Saada, Alexandra Silva, and Jana Wagemaker
1967
-
[23]
Meyer and Larry J
Albert R. Meyer and Larry J. Stockmeyer. 1972. The Equivalence Problem for Regular Expressions with Squaring Requires Exponential Space. InSW AT. doi:10.1109/SWAT.1972.29
1972 doi
-
[24]
Mark Moeller, Jules Jacobs, Olivier Savary Belanger, David Darais, Cole Schlesinger, Steffen Smolka, Nate Foster, and Alexandra Silva. 2024. KATch: A Fast Symbolic Verifier for NetKAT. InPLDI. doi:10.1145/3656454
2024 doi
-
[25]
Damien Pous, Jurriaan Rot, and Jana Wagemaker. 2024. On Tools for Completeness of Kleene Algebra with Hypotheses. LMCS(2024). doi:10.46298/LMCS-20(2:8)2024
2024 doi
-
[26]
Jakob Rehof and Manuel Fähndrich. 2001. Type-base flow analysis: from polymorphic subtyping to CFL-reachability. InPOPL. doi:10.1145/360204.360208
2001
-
[27]
Thomas W. Reps. 1998. Program analysis via graph reachability.Inf. Softw. Technol.40, 11-12 (1998), 701–726. doi:10.1016/S0950-5849(98)00093-7
1998 doi
-
[28]
Reps, Susan Horwitz, and Shmuel Sagiv
Thomas W. Reps, Susan Horwitz, and Shmuel Sagiv. 1995. Precise Interprocedural Dataflow Analysis via Graph Reachability. InPOPL. doi:10.1145/199448.199462
1995
-
[29]
Reps, Susan Horwitz, Shmuel Sagiv, and Genevieve Rosay
Thomas W. Reps, Susan Horwitz, Shmuel Sagiv, and Genevieve Rosay. 1994. Speeding up Slicing. InSIGSOFT. doi:10.1145/193173.195287
1994
-
[30]
Reps, Stefan Schwoon, and Somesh Jha
Thomas W. Reps, Stefan Schwoon, and Somesh Jha. 2003. Weighted Pushdown Systems and Their Application to Interprocedural Dataflow Analysis. InSAS. doi:10.1007/3-540-44898-5_11
2003 doi
-
[31]
Reps, Stefan Schwoon, Somesh Jha, and David Melski
Thomas W. Reps, Stefan Schwoon, Somesh Jha, and David Melski. 2005. Weighted pushdown systems and their application to interprocedural dataflow analysis.Sci. Comput. Program.(2005). doi:10.1016/J.SCICO.2005.02.009
2005 doi
-
[32]
Reps, and Susan Horwitz
Shmuel Sagiv, Thomas W. Reps, and Susan Horwitz. 1996. Precise Interprocedural Dataflow Analysis with Applications to Constant Propagation.Theor. Comput. Sci.1&2 (1996). doi:10.1016/0304-3975(96)00072-2
1996 doi
-
[33]
Géraud Sénizergues. 1997. The Equivalence Problem for Deterministic Pushdown Automata is Decidable. InICALP. doi:10.1007/3-540-63165-8_221
1997 doi
-
[34]
Géraud Sénizergues. 2002. L(A) = L(B)? Decidability Results from Complete Formal Systems. InICALP. doi:10.1007/3- 540-45465-9_4
2002 doi
-
[35]
Géraud Sénizergues. 2002. L(A)=L(B)? A simplified decidability proof.Theor. Comput. Sci.(2002). doi:10.1016/S0304- 3975(02)00027-0
2002 doi
-
[36]
2010.Kleene Coalgebra
Alexandra Silva. 2010.Kleene Coalgebra. Ph. D. Dissertation. Radboud Universiteit Nijmegen
2010
-
[37]
Steffen Smolka, Spiridon Eliopoulos, Nate Foster, and Arjun Guha. 2015. A Fast Compiler for NetKAT. InICFP. doi:10.1145/2784731.2784761
2015
-
[38]
Sunshine
Carl A. Sunshine. 1977. Source routing in computer networks.Comput. Commun. Rev.(1977). doi:10.1145/1024853. 1024855
1977 doi
-
[39]
Valiant and Michael S
Leslie G. Valiant and Michael S. Paterson. 1975. Deterministic one-counter automata.J. Comput. Syst. Sci.(1975). doi:10.1016/S0022-0000(75)80005-5
1975 doi
-
[40]
Peng Zhang, Xu Liu, Hongkun Yang, Ning Kang, Zhengchang Gu, and Hao Li. 2020. APKeep: Realtime Verification for Real Networks. InNSDI. https://www.usenix.org/conference/nsdi20/presentation/zhang-peng A Proofs Lemma 3.1.For any NFA over the alphabet Σ={push(𝑣),pop(𝑣)|𝑣∈𝑉} repre...
2020
-
[2018]
InCoNEXT
P-Rex: fast verification of MPLS networks with multiple link failures. InCoNEXT. doi:10.1145/3281411.3281432
-
[2020]
InCoNEXT
AalWiNes: a fast and quantitative what-if analysis tool for MPLS networks. InCoNEXT. doi:10.1145/3386367. 3431308
Reviewed August 15, 2026 · model on record in the stance chip above.
Discussion (0). Continue with ORCID to comment.