English
Related papers

Related papers: Lazy AC-Pattern Matching for Rewriting

200 papers

We propose a general framework for first-order functional logic programming, supporting lazy functions, non-determinism and polymorphic datatypes whose data constructors obey a set C of equational axioms. On top of a given C, we specify a…

Programming Languages · Computer Science 2007-05-23 Puri Arenas-Sanchez , Mario Rodriguez-Artalejo

Efficient pattern matching is fundamental for practical term rewrite engines. By preprocessing the given patterns into a finite deterministic automaton the matching patterns can be decided in a single traversal of the relevant parts of the…

Logic in Computer Science · Computer Science 2023-06-22 Rick Erkens , Maurice Laveaux

We present a set of tools for rewriting modulo associativity and commutativity (AC) in Coq, solving a long-standing practical problem. We use two building blocks: first, an extensible reflexive decision procedure for equality modulo AC;…

Mathematical Software · Computer Science 2013-03-08 Thomas Braibant , Damien Pous

Matching logic is a logical framework for specifying and reasoning about programs using pattern matching semantics. A pattern is made up of a number of structural components and constraints. Structural components are syntactically matched,…

Logic in Computer Science · Computer Science 2024-11-01 Ádám Kurucz , Péter Bereczky , Dániel Horpácsi

We present a new approach, called a lazy matching, to the problem of on-line matching on bipartite graphs. Imagine that one side of a graph is given and the vertices of the other side are arriving on-line. Originally, incoming vertex is…

Data Structures and Algorithms · Computer Science 2018-05-21 Jakub Kozik , Grzegorz Matecki

We present new algorithms for the problem of multiple string matching of gapped patterns, where a gapped pattern is a sequence of strings such that there is a gap of fixed length between each two consecutive strings. The problem has…

Data Structures and Algorithms · Computer Science 2014-07-08 Emanuele Giaquinta , Kimmo Fredriksson , Szymon Grabowski , Alexandru I. Tomescu , Esko Ukkonen

In this paper, we revisit the much studied problem of Pattern Matching with Swaps (Swap Matching problem, for short). We first present a graph-theoretic model, which opens a new and so far unexplored avenue to solve the problem. Then, using…

Data Structures and Algorithms · Computer Science 2013-09-19 Pritom Ahmed , Costas S. Iliopoulos , A. S. M. Sohidull Islam , M. Sohel Rahman

Matching Logic is a framework for specifying programming language semantics and reasoning about programs. Its formulas are called patterns and are built with variables, symbols, connectives and quantifiers. A pattern is a combination of…

Logic in Computer Science · Computer Science 2018-11-16 Andrei Arusoaie , Dorel Lucanu

Pattern matching is a fundamental process in almost every scientific domain. The problem involves finding the positions of a given pattern (usually of short length) in a reference stream of data (usually of large length). The matching can…

Data Structures and Algorithms · Computer Science 2022-07-01 Anas Al-okaily , Abdelghani Tbakhi

The existing call-by-need lambda calculi describe lazy evaluation via equational logics. A programmer can use these logics to safely ascertain whether one term is behaviorally equivalent to another or to determine the value of a lazy…

Programming Languages · Computer Science 2012-01-19 Stephen Chang , Matthias Felleisen

Strategy languages enable programmers to compose rewrite rules into strategies and control their application. This is useful in programming languages, e.g., for describing program transformations compositionally, but also in automated…

Programming Languages · Computer Science 2023-04-28 Rongxiao Fu , Ornela Dardha , Michel Steuwer

Throughout the history of functional programming, recursion has emerged as a natural method for describing loops in programs. However, there does often exist a substantial cognitive distance between the recursive definition and the simplest…

Programming Languages · Computer Science 2020-02-17 Satoshi Egi , Yuichi Nishiwaki

Rewriting is a formalism widely used in computer science and mathematical logic. The classical formalism has been extended, in the context of functional languages, with an order over the rules and, in the context of rewrite based languages,…

Logic in Computer Science · Computer Science 2019-06-12 Horatiu Cirstea , Pierre-Etienne Moreau

Lazy evaluation is a powerful technique that can optimize code execution by deferring evaluations until their results are required, thus enhancing efficiency. In most modern programming languages, like R, lazy evaluation is commonly applied…

Programming Languages · Computer Science 2026-01-16 Chen Ling , Yachen Wang

We introduce a batched lazy algorithm for supervised classification using decision trees. It avoids unnecessary visits to irrelevant nodes when it is used to make predictions with either eagerly or lazily trained decision trees. A set of…

Machine Learning · Computer Science 2016-03-09 Mathieu Guillame-Bert , Artur Dubrawski

We study the design of efficient algorithms for combinatorial pattern matching. More concretely, we study algorithms for tree matching, string matching, and string matching in compressed texts.

Data Structures and Algorithms · Computer Science 2007-09-03 Philip Bille

Convertibility checking - determining whether two lambda-terms are equal up to reductions - is a crucial component of proof assistants and dependently-typed languages. Practical implementations often use heuristics to quickly conclude that…

Logic in Computer Science · Computer Science 2026-01-12 Nathanaëlle Courant , Xavier Leroy

Pattern matching is a widely used technique in functional languages, especially those in the ML and Haskell traditions, where it is at the core of the semantics. In languages in the Lisp tradition, in contrast, pattern matching it typically…

Programming Languages · Computer Science 2011-06-15 Sam Tobin-Hochstadt

Fast matching of regular expressions with bounded repetition, aka counting, such as (ab){50,100}, i.e., matching linear in the length of the text and independent of the repetition bounds, has been an open problem for at least two decades.…

Formal Languages and Automata Theory · Computer Science 2023-01-31 Lukáš Holík , Juraj Síč , Lenka Turoňová , Tomáš Vojnar

The dictionary matching is a task to find all occurrences of patterns in a set $D$ (called a dictionary) on a text $T$. The Aho-Corasick-automaton (AC-automaton) is a data structure which enables us to solve the dictionary matching problem…

Data Structures and Algorithms · Computer Science 2019-02-22 Diptarama Hendrian , Shunsuke Inenaga , Ryo Yoshinaka , Ayumi Shinohara
‹ Prev 1 2 3 10 Next ›