Uncurrying for Innermost Termination and Derivational Complexity
Harald Zankl, Nao Hirokawa, Aart Middeldorp

TL;DR
This paper studies how an uncurrying transformation affects innermost termination and derivational complexity in first-order applicative term rewriting systems, showing it preserves and reflects certain properties but not all.
Contribution
It extends previous work by analyzing the uncurrying transformation's behavior for innermost termination and complexity, providing theoretical insights and counterexamples.
Findings
Uncurrying reflects innermost termination and derivational complexity.
It preserves and reflects polynomial derivational complexity.
Counterexamples show it does not always preserve innermost termination.
Abstract
First-order applicative term rewriting systems provide a natural framework for modeling higher-order aspects. In earlier work we introduced an uncurrying transformation which is termination preserving and reflecting. In this paper we investigate how this transformation behaves for innermost termination and (innermost) derivational complexity. We prove that it reflects innermost termination and innermost derivational complexity and that it preserves and reflects polynomial derivational complexity. For the preservation of innermost termination and innermost derivational complexity we give counterexamples. Hence uncurrying may be used as a preprocessing transformation for innermost termination proofs and establishing polynomial upper and lower bounds on the derivational complexity. Additionally it may be used to establish upper bounds on the innermost derivational complexity while it…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Logic, Reasoning, and Knowledge · Formal Methods in Verification
