Recognition: no theorem link
A Reversible Crumbling Abstract Machine for Plotkin's Call-by-Value
Pith reviewed 2026-05-12 02:29 UTC · model grok-4.3
The pith
The crumbling abstract machine for Plotkin's call-by-value calculus supports a reversible embedding with only constant space added per reduction step.
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
Core claim
The crumbling abstract machine, which has received little attention, admits a Landauer's embedding for Plotkin's call-by-value calculus that requires only constant space overhead for each step, while correctly implementing the reduction and preserving the ability to reconstruct prior states.
What carries the argument
The crumbling abstract machine, which decomposes terms so that each reduction step logs a fixed-size record sufficient for reversal.
If this is right
- Beta-steps remain a faithful cost model once the computation is made reversible.
- Reversible call-by-value programs can be obtained without space overhead that grows with computation length.
- The embedding gives a concrete way to study space usage in reversible functional computation.
Where Pith is reading between the lines
- The same machine structure might yield compact embeddings for related strategies such as call-by-need.
- Constant overhead opens the possibility of embedding this reversibility into resource-bounded models of computation.
- Extending the approach to typed calculi or adding features like control operators could be tested by measuring the space record size on sample terms.
Load-bearing premise
The crumbling abstract machine correctly implements Plotkin's call-by-value reduction while allowing prior states to be recovered using only a fixed amount of additional space per step.
What would settle it
A concrete call-by-value reduction sequence in which either the machine produces an incorrect result or the extra data needed for reversal grows beyond a constant size at some step.
Figures
read the original abstract
Landauer's embeddings enable the reversibility of computations for non-reversible programming languages, augmenting each intermediate state with enough data to reconstruct the previous state. An interesting research question is therefore to try to reduce the space overhead required. In this work we propose a Landauer's embedding for Plotkin's call-by-value calculus (CbV). In order to control the computational complexity of CbV and turn the number of $\beta$-steps into a cost model, CbV is typically implemented via reduction machines. We show that one machine, that has not received much attention, exhibits a particularly compact Landauer's embedding, requiring only constant space overhead for each step.
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The paper introduces a Landauer's embedding for Plotkin's call-by-value lambda calculus realized via the crumbling abstract machine. It claims that this machine admits a reversible embedding in which each beta-step requires only constant additional space to record history, while correctly implementing CbV reduction and allowing prior states to be reconstructed.
Significance. If the central construction and its space bound hold, the result is significant for reversible computing: it isolates a CbV machine whose history overhead is asymptotically better than typical stack-based or environment-based machines, directly supporting the use of beta-steps as a cost model in a reversible setting. The work also supplies a concrete, implementable bridge between abstract machines and Landauer's principle.
minor comments (3)
- The abstract and introduction would benefit from an explicit statement of the machine's transition rules (perhaps in §3) and a one-paragraph proof sketch of the constant-space claim before the detailed development.
- Notation for the history component of the embedding should be introduced once and used uniformly; currently the distinction between the forward machine state and the reversible pair is occasionally ambiguous in the early sections.
- A small table comparing the space overhead of the crumbling machine with at least one other standard CbV machine (e.g., the CEK machine) would make the compactness claim easier to appreciate.
Simulated Author's Rebuttal
We thank the referee for the positive summary, the recognition of the significance of a constant-space Landauer's embedding for CbV, and the recommendation of minor revision. We are pleased that the central construction is viewed as a useful bridge between abstract machines and reversible computing.
Circularity Check
No circularity: derivation is a direct technical construction
full rationale
The paper defines the crumbling abstract machine for Plotkin's CbV, augments it with a Landauer's embedding, and proves correctness plus constant space overhead per step from the machine transitions themselves. No equations reduce to their own inputs by construction, no parameters are fitted then renamed as predictions, and no load-bearing claims rest on self-citations whose content is unverified or circular. The central result is an explicit reversible machine whose space bound follows from the embedding definition and transition rules, making the derivation self-contained against external benchmarks of CbV machines and reversibility.
Axiom & Free-Parameter Ledger
axioms (2)
- domain assumption Plotkin's call-by-value beta-reduction rules define the computation steps whose reversibility is sought.
- standard math Landauer's embedding augments states with sufficient history to allow reversal.
Reference graph
Works this paper leans on
-
[1]
https://ocaml.org/manual/5.4/debugger.html, accessed on 27.02.2026
ocamldebug. https://ocaml.org/manual/5.4/debugger.html, accessed on 27.02.2026
work page 2026
-
[2]
Logical Methods in Computer ScienceV olume 19, Issue 4(Dec 2023)
Accattoli, B.: Exponentials as Substitutions and the Cost of Cut Elimination in Linear Logic. Logical Methods in Computer ScienceV olume 19, Issue 4(Dec 2023). https://doi.org/10.46298/lmcs-19(4:23)2023
-
[3]
Accattoli, B., Barras, B.: Environments and the complexity of abstract machines. In: Proceedings of the 19th International Symposium on Principles and Prac- tice of Declarative Programming. pp. 4–16. PPDP ’17, Association for Comput- ing Machinery, New York, NY, USA (Oct 2017). https://doi.org/10.1145/3131851. 3131855
-
[4]
https://doi.org/10.48550/arXiv.2506.14131
Accattoli, B., Coen, C.S., Wu, J.H.: Positive Sharing and Abstract Machines (Sep 2025). https://doi.org/10.48550/arXiv.2506.14131
-
[5]
https://doi.org/10.48550/arXiv.1907.06057
Accattoli, B., Condoluci, A., Guerrieri, G., Coen, C.S.: Crumbling Abstract Ma- chines (Jul 2019). https://doi.org/10.48550/arXiv.1907.06057
-
[6]
In: Proceed- ingsofthe22ndInternationalSymposiumon PrinciplesandPracticeofDeclarative Programming
Accattoli, B., Dal Lago, U., Vanoni, G.: The Machinery of Interaction. In: Proceed- ingsofthe22ndInternationalSymposiumon PrinciplesandPracticeofDeclarative Programming. pp. 1–15. PPDP ’20, Association for Computing Machinery, New York, NY, USA (Sep 2020). https://doi.org/10.1145/3414080.3414108
-
[7]
Accattoli, B., Guerrieri, G.: Open Call-by-Value. In: Igarashi, A. (ed.) Program- ming Languages and Systems. pp. 206–226. Springer International Publishing, Cham (2016). https://doi.org/10.1007/978-3-319-47958-3_12
-
[8]
Accattoli, B., Guerrieri, G.: Implementing Open Call-by-Value. In: Dastani, M., Sirjani, M. (eds.) Fundamentals of Software Engineering. pp. 1–19. Springer Inter- national Publishing, Cham (2017). https://doi.org/10.1007/978-3-319-68972-2_1
-
[9]
In: Ábrahám, E., Dubslaff, C., Tarifa, S.L.T
Accattoli, B., Guerrieri, G., Leberle, M.: Strong Call-by-Value and Multi Types. In: Ábrahám, E., Dubslaff, C., Tarifa, S.L.T. (eds.) Theoretical Aspects of Computing – ICTAC 2023. pp. 196–215. Springer Nature Switzerland, Cham (2023). https: //doi.org/10.1007/978-3-031-47963-2_13
-
[10]
In: Kohlenbach, U., Barceló, P., de Queiroz, R
Accattoli, B., Sacerdoti Coen, C.: On the Value of Variables. In: Kohlenbach, U., Barceló, P., de Queiroz, R. (eds.) Logic, Language, Information, and Com- putation. pp. 36–50. Springer, Berlin, Heidelberg (2014). https://doi.org/10.1007/ 978-3-662-44145-9_3
work page 2014
-
[11]
Danos, V., Krivine, J.: Reversible Communicating Systems. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004 - Concurrency Theory. pp. 292–307. Springer, Berlin, Heidelberg (2004). https://doi.org/10.1007/978-3-540-28644-8_19
-
[12]
SIGPLAN Not.39(4), 502–514 (Apr 2004)
Flanagan, C., Sabry, A., Duba, B.F., Felleisen, M.: The essence of compiling with continuations. SIGPLAN Not.39(4), 502–514 (Apr 2004). https://doi.org/ 10.1145/989393.989443
-
[13]
InterJournal Complex Systems46(1996)
Huelsbergen, L.: A logically reversible evaluator for the call-by-name lambda cal- culus. InterJournal Complex Systems46(1996)
work page 1996
-
[14]
Journal of Functional Programming7(5), 549–554 (Sep 1997)
Huet, G.: The Zipper. Journal of Functional Programming7(5), 549–554 (Sep 1997). https://doi.org/10.1017/S0956796897002864
-
[15]
Kluge, W.: A Reversible SE(M)CD Machine. In: Koopman, P., Clack, C. (eds.) Implementation of Functional Languages. pp. 95–113. Springer, Berlin, Heidelberg (2000). https://doi.org/10.1007/10722298_6
-
[16]
Landauer, R.: Irreversibility and Heat Generation in the Computing Process. IBM Journal of Research and Development5(3), 183–191 (Jul 1961). https://doi.org/ 10.1147/rd.53.0183 18 Nicolò Pizzo and Claudio Sacerdoti Coen
-
[17]
In: Goubault-Larrecq, J., König, B
Lanese, I., Phillips, I., Ulidowski, I.: An Axiomatic Approach to Reversible Com- putation. In: Goubault-Larrecq, J., König, B. (eds.) Foundations of Software Sci- ence and Computation Structures . pp. 442–461. Springer International Publishing, Cham (2020). https://doi.org/10.1007/978-3-030-45231-5_23
-
[18]
In: Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Mackie, I.: The geometry of interaction machine. In: Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. pp. 198–208 (1995)
work page 1995
-
[19]
Miller, D., Wu, J.H.: A Positive Perspective on Term Representation. In: Klin, B., Pimentel, E. (eds.) 31st EACSL Annual Conference on Computer Science Logic ( CSL 2023). Leibniz International Proceedings in Informatics (LIPIcs ), vol. 252, pp. 3:1–3:21. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany (2023). https://doi.org/10.4230/L...
-
[20]
Theoretical Com- puter Science1(2), 125–159 (Dec 1975)
Plotkin, G.D.: Call-by-name, call-by-value and theλ-calculus. Theoretical Com- puter Science1(2), 125–159 (Dec 1975). https://doi.org/10.1016/0304-3975(75) 90017-1
-
[21]
Yokoyama, T., Axelsen, H.B., Glück, R.: Towards a Reversible Functional Lan- guage.In:DeVos,A.,Wille,R.(eds.)ReversibleComputation.pp.14–29.Springer, Berlin, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29517-1_2 A Reversible Crumbling Abstract Machine for Plotkin’s Call-by-Value 19 Fig. 7.An example of output A An implementation in OCaml of the R...
-
[22]
all the variables indom(E ′′)are pairwise distinct: this holds because all variables put in the domain by crumbling are globally fresh 2.dom(E)∩bv(E) =∅: this also holds for the same reason
-
[23]
–Case wherez∈dom([x←b]E): it holds because[x←b]Eis well-named by i.h
ifE ′′ =E 1 [z←b ′′]E 2 thenz̸∈fv(b ′′)∪fv(E 2): we proceed by cases on where zcan occur inE ′′ –Case wherez=∗andE 1 =ϵ: trivial since∗can only occur in the domain –Casewherez∈dom([y←b ′]E ′):itholdsbecause[y←b ′]E ′ iswell-named by i.h. –Case wherez∈dom([x←b]E): it holds because[x←b]Eis well-named by i.h. and because when computinguthe variables put in t...
-
[24]
Freshness:t is well-named
-
[25]
Bodies: each body intis the translation of a term
-
[26]
Size: the size|t|is linear with respect to the size of the initial termt
-
[27]
Contextual decoding: ift =E 1 [z←xy]E 2 then(E 1 [z←⟨·⟩]) ↓ is a right v- context. Proof
-
[28]
See Lemma 22.⊓ ⊔ Definition 7 (σ-operator).The functionσ (·) turns a v-environment into the parallel substitution obtained by firing all explicit substitutions at once. It is defined by structural recursion as follows: σϵ =x7→x σ[x←v]E ′v = ( x7→v ↓ σE′v y7→y σ E′v Lemma 23 (Read-back to value).For anyEv that is both a crumble and a v-environment,E v ↓ is...
-
[29]
Freshness:Eis well-named
-
[30]
Bodies: each body occurring inEis a subterm (up to renaming and substi- tution of variable to variable) of the initial crumble
-
[31]
Contextual decoding: ifE=E 1 [z←xy]E 2 then(E 1 [z←⟨·⟩]) ↓ is a right v- context. Proof
-
[32]
See Lemma 26⊓ ⊔ B.3 Proofs for subsection 2.2 Lemma 35 (Initialization).For every closed termt,t ↓ =t. Proof.Inductively on the shape of t: –t:=xis not possible sincetis closed by hypothesis –t:=λx.y, then(λx.y) ↓ = [∗←λx.[∗←y]] ↓ =λx.y 34 Nicolò Pizzo and Claudio Sacerdoti Coen –t:=λx.u, then(λx.u) ↓ = [∗←λx.u ]↓ =λx.u ↓; by i.h.u ↓ =u, soλx.u ↓ = λx.u –...
-
[33]
Initialization: See Lemma 35
-
[34]
Principal Projection: See Lemma 36
-
[35]
Determinism: See Lemma 37
-
[36]
Halt: See Lemma 38.⊓ ⊔ 36 Nicolò Pizzo and Claudio Sacerdoti Coen C Proofs for section 3 C.1 Proofs for subsection 3.1 Lemma 6 (Invariants for the RCAM).LetSbe a reachable by forward-only transitions state of the RCAM:
-
[37]
Freshness:Sis well-named
-
[38]
Proof.Freshness and closure are inherited by the environments that compose the state
Rightmost:S= (E, E v,H)for some environmentE, v-environmentE v and history stackH. Proof.Freshness and closure are inherited by the environments that compose the state. For the rightmost invariant, we only move the pointer to the next entry of the environment with the⇝sea transition, i.e. we only move the pointer when the entry already contains a value.⊓ ...
discussion (0)
Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.