English
Related papers

Related papers: Iteration in ACL2

200 papers

ACL2 provides a systems programming capability that allows one to write code that uses and extends ACL2 inside of ACL2. However, for soundness reasons, ACL2 bars the unrestricted use of certain kinds of programming constructs, like…

Logic in Computer Science · Computer Science 2022-05-25 Andrew T. Walter , Panagiotis Manolios

The theory of asymptotic complexity provides an approach to characterizing the behavior of programs in terms of bounds on the number of computational steps executed or use of computational resources. We describe work using ACL2 to prove…

Computational Complexity · Computer Science 2022-05-25 William D. Young

We describe an ACL2 package for defining partial recursive functions that also supports efficient execution. While packages for defining partial recursive functions already exist for other theorem provers, they often require inductive…

Logic in Computer Science · Computer Science 2013-05-01 David Greve , Konrad Slind

This document contains a description of a Common Lisp extension that allows a programmer to write functional programs that use "normal order" evaluation, as in "non-strict" languages like Haskell. The extension is relatively…

Programming Languages · Computer Science 2014-12-04 Marco Antoniotti

ACL2 was used to prove properties of two simplification procedures. The procedures differ in complexity but solve the same programming problem that arises in the context of a resolution/paramodulation theorem proving system. Term rewriting…

Logic in Computer Science · Computer Science 2007-05-23 Olga Shumsky Matlin , William McCune

Linear algebra algorithms often require some sort of iteration or recursion as is illustrated by standard algorithms for Gaussian elimination, matrix inversion, and transitive closure. A key characteristic shared by these algorithms is that…

Computational Complexity · Computer Science 2020-10-27 Floris Geerts , Thomas Muñoz , Cristian Riveros , Domagoj Vrgoč

We give a general method for rounding linear programs that combines the commonly used iterated rounding and randomized rounding techniques. In particular, we show that whenever iterated rounding can be applied to a problem with some slack,…

Data Structures and Algorithms · Computer Science 2019-07-19 Nikhil Bansal

Clausal Language (CL) is a declarative programming and verifying system used in our teaching of computer science. CL is an implementation of, what we call, $\mathit{PR}{+}I\Sigma_1$ paradigm (primitive recursive functions with…

Logic in Computer Science · Computer Science 2019-10-03 Ján Komara , Paul J. Voda

We describe a Common Lisp package suitable for the high-level design, specification, simulation, and instrumentation of real-time distributed algorithms and hardware on which to run them. We discuss various design decisions around the…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-04-26 Eric C. Peterson , Peter J. Karalekas

Looping is one of the fundamental logical instructions used for repeating a block of code. It is used in programs across all programming languages. Traditionally, in languages like C, the for loop is used extensively for repeated execution…

Programming Languages · Computer Science 2014-10-15 Rishabh Jain , Sakshi Gupta

Linear type systems have a long and storied history, but not a clear path forward to integrate with existing languages such as OCaml or Haskell. In this paper, we study a linear type system designed with two crucial properties in mind:…

Programming Languages · Computer Science 2017-11-09 Jean-Philippe Bernardy , Mathieu Boespflug , Ryan R. Newton , Simon Peyton Jones , Arnaud Spiwack

Constraint Logic Programming (CLP) is a language scheme for combining two declarative paradigms: constraint solving and logic programming. Concurrent Constraint Programming (CCP) is a declarative model for concurrency where agents interact…

Logic in Computer Science · Computer Science 2018-12-03 Moreno Falaschi , Carlos Olarte

Iterated loop algebras are by definition obtained by repeatedly applying the loop construction, familiar from the theory of affine Kac-Moody Lie algebras, to a given base algebra. Our interest in this iterated construction is motivated by…

Representation Theory · Mathematics 2008-09-06 Bruce Allison , Stephen Berman , Arturo Pianzola

ACL2(ml) is an extension for the Emacs interface of ACL2. This tool uses machine-learning to help the ACL2 user during the proof-development. Namely, ACL2(ml) gives hints to the user in the form of families of similar theorems, and…

Logic in Computer Science · Computer Science 2014-06-09 Jónathan Heras , Ekaterina Komendantskaya

We present the PML 2 language, which provides a uniform environment for programming, and for proving properties of programs in an ML-like setting. The language is Curry-style and call-by-value, it provides a control operator (interpreted in…

Logic in Computer Science · Computer Science 2019-01-11 Rodolphe Lepigre

Ackermann's function can be expressed using an iterative algorithm, which essentially takes the form of a term rewriting system. Although the termination of this algorithm is far from obvious, its equivalence to the traditional recursive…

Logic in Computer Science · Computer Science 2022-10-14 Lawrence C Paulson

Transformer models have established new benchmarks in natural language processing; however, their increasing depth results in substantial growth in parameter counts. While existing recurrent transformer methods address this issue by…

Computation and Language · Computer Science 2025-05-27 Anthony Nguyen , Wenjun Lin

We describe the formal language MASC, based on a subset of SystemC and intended for modeling algorithms to be implemented in hardware. By means of a special-purpose parser, an algorithm coded in SystemC is converted to a MASC model for the…

Hardware Architecture · Computer Science 2014-06-09 John W. O'Leary , David M. Russinoff

CoAlgebraic Logic Programming (CoALP) is a dialect of Logic Programming designed to bring a more precise compile-time and run-time analysis of termination and productivity for recursive and corecursive functions in Logic Programming. Its…

Programming Languages · Computer Science 2014-05-21 Jónathan Heras , Ekaterina Komendantskaya , Martin Schmidt

In software engineering, taking a good election between recursion and iteration is essential because their efficiency and maintenance are different. In fact, developers often need to transform iteration into recursion (e.g., in debugging,…

Programming Languages · Computer Science 2014-10-22 David Insa , Josep Silva
‹ Prev 1 2 3 10 Next ›