English
Related papers

Related papers: Haskell meets Evariste

200 papers

The rapid progress of computer technology has been accompanied by a corresponding evolution of software development, from hardwired components and binary machine code to high level programming languages, which allowed to master the…

Quantum Physics · Physics 2009-11-07 Bernhard Oemer

That the Haskell Compiler GHC is capable of proving non-trivial equalities between Haskell code, by virtue of its aggressive optimizer, in particular the term rewriting engine in the simplifier. We demonstrate this with a surprising little…

Programming Languages · Computer Science 2018-05-22 Joachim Breitner

Refinement Reflection turns your favorite programming language into a proof assistant by reflecting the code implementing a user-defined function into the function's (output) refinement type. As a consequence, at uses of the function, the…

Programming Languages · Computer Science 2016-10-18 Niki Vazou , Ranjit Jhala

These notes describe the most efficient hash functions currently known for hashing integers and strings. These modern hash functions are often an order of magnitude faster than those presented in standard text books. They are also simpler…

Data Structures and Algorithms · Computer Science 2020-05-12 Mikkel Thorup

Qualification has been recently introduced as a generalization of uncertainty in the field of Logic Programming. In this report we investigate a more expressive language for First-Order Functional Logic Programming with Constraints and…

Programming Languages · Computer Science 2011-01-12 Rafael Caballero , Mario Rodríguez-Artalejo , Carlos A. Romero-Díaz

Formal reasoning about the time complexity of algorithms and data structures is usually done in interactive theorem provers like Isabelle/HOL. This includes reasoning about amortized time complexity which looks at the worst case performance…

Computational Complexity · Computer Science 2024-07-19 Jan van Brügge

Answer set programming is a prominent declarative programming paradigm used in formulating combinatorial search problems and implementing different knowledge representation formalisms. Frequently, several related and yet substantially…

Artificial Intelligence · Computer Science 2023-03-01 Yuliya Lierler

One of the main challenges in distributed computing is building interfaces and APIs that allow programmers with limited background in distributed systems to write scalable, performant, and fault-tolerant applications on large clusters. In…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-09-19 Yuxi Long , Shiyou Wu , Yingjie Xu

Before we can get the whole potential of employing computers in the process of managing mathematical `knowledge', we have to convert informal knowledge into machine-oriented representations. How exactly to support this process so that it…

Digital Libraries · Computer Science 2010-10-29 Constantin Jucovschi

Given a program, a quotient can be obtained from it by deleting zero or more statements. The field of program slicing is concerned with computing a quotient of a program which preserves part of the behaviour of the original program. All…

Programming Languages · Computer Science 2017-05-23 Sebastian Danicic , Robert M. Hierons , Michael R. Laurence

Processing programs as data is one of the successes of functional and logic programming. Higher-order functions, as program-processing programs are called in functional programming, and meta-programs, as they are called in logic…

Logic in Computer Science · Computer Science 2020-04-21 François Bry

This work introduces (1) a technique that allows large language models (LLMs) to leverage user-provided code when solving programming tasks and (2) a method to iteratively generate modular sub-functions that can aid future code generation…

Machine Learning · Computer Science 2023-12-05 Patrick Hajali , Ignas Budvytis

Human reasoning can distill principles from observed patterns and generalize them to explain and solve novel problems. The most powerful artificial intelligence systems lack explainability and symbolic reasoning ability, and have therefore…

Machine Learning · Computer Science 2021-11-17 Paul J. Blazek , Kesavan Venkatesh , Milo M. Lin

Ensemble learning has proven effective in boosting predictive performance, but traditional methods such as bagging, boosting, and dynamic ensemble selection (DES) suffer from high computational cost and limited adaptability to heterogeneous…

Machine Learning (ML) has revamped every domain of life as it provides powerful tools to build complex systems that learn and improve from experience and data. Our key insight is that to solve a machine learning problem, data scientists do…

Software Engineering · Computer Science 2018-02-07 Muhammad Zubair Malik , Muhammad Nawaz , Nimrah Mustafa , Junaid Haroon Siddiqui

Since Artificial Intelligence (AI) software uses techniques like deep lookahead search and stochastic optimization of huge neural networks to fit mammoth datasets, it often results in complex behavior that is difficult for people to…

Artificial Intelligence · Computer Science 2018-10-16 Daniel S. Weld , Gagan Bansal

Today's software engineering (SE) complexities require a more diverse tool set going beyond technical expertise to be able to successfully tackle all challenges. Previous studies have indicated that creativity is a prime indicator for…

Software Engineering · Computer Science 2025-02-06 Wouter Groeneveld

Relational programming enables program synthesis through a verifier-to-solver approach. An earlier paper introduced a functional conversion that mitigated some of the inherent performance overhead. However, the conversion was inelegant: it…

Programming Languages · Computer Science 2025-11-04 Igor Engel , Ekaterina Verbitskaia

As the second book in the Anyone Can Code series, Algorithmic Thinking focuses on the logic behind computer programming and software design. With a data-centred approach, it starts with simple algorithms that work on simple data items and…

Programming Languages · Computer Science 2023-11-27 Ali Arya

Define $\|n\|$ to be the complexity of $n$, the smallest number of ones needed to write $n$ using an arbitrary combination of addition and multiplication. Define $n$ to be stable if for all $k\ge 0$, we have $\|3^k n\|=\|n\|+3k$. In [7],…

Number Theory · Mathematics 2018-05-28 Harry Altman
‹ Prev 1 8 9 10 Next ›