Abstract
\(\lambda \)-calculi come with no fixed evaluation strategy. Different strategies may then be considered, and it is important that they satisfy some abstract rewriting property, such as factorization or normalization theorems. In this paper we provide simple proof techniques for these theorems. Our starting point is a revisitation of Takahashi’s technique to prove factorization for head reduction. Our technique is both simpler and more powerful, as it works in cases where Takahashi’s does not. We then pair factorization with two other abstract properties, defining essential systems, and show that normalization follows. Concretely, we apply the technique to four case studies, two classic ones, head and the leftmost-outermost reductions, and two less classic ones, non-deterministic weak call-by-value and least-level reductions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The terminology at work in the literature on \(\lambda \)-calculus and the rewriting terminology often clash: the former calls parallel \(\beta \) reduction what the latter calls multi-step \(\beta \) reduction—parallel reduction in rewriting is something else.
- 2.
It can be obtained indirectly, as a corollary of standardization, proved by Takahashi [28] using the concrete structure of terms. Thus the proof is not of an abstract nature.
- 3.
In rewriting theory, a full reduction for \(\rightarrow _{}\) is called a reduction strategy for \(\rightarrow _{}\). We prefer not to use the term strategy because it has different meaning in the \(\lambda \)-calculus, where it is a deterministic, not necessarily full, reduction for \(\rightarrow _{}\).
- 4.
The difference between factorization and its terminal case is relevant for normalization: van Oostrom and Toyama [22, footnote 8] give an example of normalizing full reduction for a rewriting system in which factorization fails but terminal factorization holds.
- 5.
“\(t\) has a head normal form” is the usual formulation for “\(t\rightarrow _{\beta }^* s\) for some \(s\) that is head normal”. We prefer the latter to avoid the ambiguity of the former about the reduction leading from \(t\) to one of its head normal forms (\(\rightarrow _{\beta }^*\) or \(\rightarrow _{h}^*\)?).
- 6.
Namely, if \(s_1 \; _{\beta }{\Leftarrow }\ t\Rightarrow _{\beta }s_2\) then there exists \(u\) such that \(s_1 \Rightarrow _{\beta }u\; _{\beta }{\Leftarrow }\ s_2\).
References
Accattoli, B.: An abstract factorization theorem for explicit substitutions. In: 23rd International Conference on Rewriting Techniques and Applications, RTA 2012. LIPIcs, vol. 15, pp. 6–21 (2012). https://doi.org/10.4230/LIPIcs.RTA.2012.6
Accattoli, B., Dal Lago, U.: (Leftmost-Outermost) Beta-reduction is invariant, indeed. Logical Methods Comput. Sci. 12(1) (2016). https://doi.org/10.2168/LMCS-12(1:4)2016
Accattoli, B., Faggian, C., Guerrieri, G.: Factorization and normalization, essentially (extended version). CoRR abs/1902.05945 (2019). http://arxiv.org/abs/1908.11289
Barendregt, H.P.: The Lambda Calculus - Its Syntax and Semantics. Studies in Logic and the Foundations of Mathematics, vol. 103. North-Holland, Amsterdam (1984)
Bonelli, E., Kesner, D., Lombardi, C., Ríos, A.: On abstract normalisation beyond neededness. Theor. Comput. Sci. 672, 36–63 (2017). https://doi.org/10.1016/j.tcs.2017.01.025
de Carvalho, D., Pagani, M., de Falco, L.T.: A semantic measure of the execution time in linear logic. Theor. Comput. Sci. 412(20), 1884–1902 (2011). https://doi.org/10.1016/j.tcs.2010.12.017
Crary, K.: A simple proof of call-by-value standardization. Technical report, CMU-CS-09-137, Carnegie Mellon University (2009)
Guerrieri, G.: Head reduction and normalization in a call-by-value lambda-calculus. In: 2nd International Workshop on Rewriting Techniques for Program Transformations and Evaluation, WPTE 2015. OASICS, vol. 46, pp. 3–17 (2015). https://doi.org/10.4230/OASIcs.WPTE.2015.3
Guerrieri, G., Paolini, L., Ronchi Della Rocca, S.: Standardization of a Call-By-Value Lambda-Calculus. In: 13th International Conference on Typed Lambda Calculi and Applications, TLCA 2015. LIPIcs, vol. 38, pp. 211–225 (2015). https://doi.org/10.4230/LIPIcs.TLCA.2015.211
Guerrieri, G., Paolini, L., Ronchi Della Rocca, S.: Standardization and conservativity of a refined call-by-value lambda-calculus. Logical Methods Comput. Sci. 13(4) (2017). https://doi.org/10.23638/LMCS-13(4:29)2017
Hindley, J.: The Church-Rosser property and a result in combinatory logic. Ph.D. thesis, University of Newcastle-upon-Tyne (1964)
Hirokawa, N., Middeldorp, A., Moser, G.: Leftmost outermost revisited. In: 26th International Conference on Rewriting Techniques and Applications, RTA 2015. LIPIcs, vol. 36, pp. 209–222 (2015). https://doi.org/10.4230/LIPIcs.RTA.2015.209
Ishii, K.: A proof of the leftmost reduction theorem for \(\lambda \)\(\beta \)\(\eta \)-calculus. Theor. Comput. Sci. 747, 26–32 (2018). https://doi.org/10.1016/j.tcs.2018.06.003
Kesner, D., Lombardi, C., Ríos, A.: A standardisation proof for algebraic pattern calculi. In: 5th International Workshop on Higher-Order Rewriting, HOR 2010. EPTCS, vol. 49, pp. 58–72 (2010). https://doi.org/10.4204/EPTCS.49.5
Klop, J.W.: Combinatory reduction systems. Ph.D. thesis, Utrecht University (1980)
Krivine, J.: Lambda-Calculus. Ellis Horwood Series in Computers and Their Applications. Masson, Types and Models. Ellis Horwood (1993)
McKinna, J., Pollack, R.: Some lambda calculus and type theory formalized. J. Autom. Reasoning 23(3–4), 373–409 (1999). https://doi.org/10.1007/BFb0026981
Melliès, P.-A.: A factorisation theorem in rewriting theory. In: Moggi, E., Rosolini, G. (eds.) CTCS 1997. LNCS, vol. 1290, pp. 49–68. Springer, Heidelberg (1997). https://doi.org/10.1007/BFb0026981
Mitschke, G.: The standardization theorem for \(\lambda \)-calculus. Math. Logic Q. 25(1–2), 29–31 (1979). https://doi.org/10.1002/malq.19790250104
Newman, M.: On theories with a combinatorial definition of “Equivalence”. Ann. Math. 43(2), 223–243 (1942)
Oostrom, V.: Random descent. In: Baader, F. (ed.) RTA 2007. LNCS, vol. 4533, pp. 314–328. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-73449-9_24
van Oostrom, V., Toyama, Y.: Normalisation by random descent. In: 1st International Conference on Formal Structures for Computation and Deduction, FSCD 2016. LIPIcs, vol. 52, pp. 32:1–32:18 (2016). https://doi.org/10.4230/LIPIcs.FSCD.2016.32
Pagani, M., Tranquilli, P.: Parallel reduction in resource lambda-calculus. In: Hu, Z. (ed.) APLAS 2009. LNCS, vol. 5904, pp. 226–242. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-10672-9_17
Pagani, M., Tranquilli, P.: The conservation theorem for differential nets. Math. Struct. Comput. Sci. 27(6), 939–992 (2017). https://doi.org/10.1017/S0960129515000456
Paolini, L., Ronchi Della Rocca, S.: Parametric parameter passing lambda-calculus. Inf. Comput. 189(1), 87–106 (2004). https://doi.org/10.1016/j.ic.2003.08.003
Plotkin, G.D.: Call-by-name, call-by-value and the lambda-calculus. Theor. Comput. Sci. 1(2), 125–159 (1975). https://doi.org/10.1016/0304-3975(75)90017-1
Ronchi Della Rocca, S., Paolini, L.: The Parametric Lambda Calculus - A Metamodel for Computation. TTCS. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-662-10394-4
Takahashi, M.: Parallel reductions in \(\lambda \)-calculus. Inf. Comput. 118(1), 120–127 (1995). https://doi.org/10.1006/inco.1995.1057
Terese: Term Rewriting Systems. Cambridge Tracts in Theoretical Computer Science, vol. 55. Cambridge University Press, Cambridge (2003)
Terui, K.: Light affine lambda calculus and polynomial time strong normalization. Arch. Math. Log. 46(3–4), 253–280 (2007). https://doi.org/10.1007/s00153-007-0042-6
Acknowledgments
This work has been partially funded by the ANR JCJC grant COCA HOLA (ANR-16-CE40-004-01) and by the EPSRC grant EP/R029121/1 “Typed Lambda-Calculi with Sharing and Unsharing”.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Accattoli, B., Faggian, C., Guerrieri, G. (2019). Factorization and Normalization, Essentially. In: Lin, A. (eds) Programming Languages and Systems. APLAS 2019. Lecture Notes in Computer Science(), vol 11893. Springer, Cham. https://doi.org/10.1007/978-3-030-34175-6_9
Download citation
DOI: https://doi.org/10.1007/978-3-030-34175-6_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-34174-9
Online ISBN: 978-3-030-34175-6
eBook Packages: Computer ScienceComputer Science (R0)