English
Related papers

Related papers: The Algebra of Patterns (Extended Version)

200 papers

Ad hoc parsers are everywhere: they appear any time a string is split, looped over, interpreted, transformed, or otherwise processed. Every ad hoc parser gives rise to a language: the possibly infinite set of input strings that the program…

Software Engineering · Computer Science 2022-07-27 Michael Schröder , Jürgen Cito

This talk describes how a combination of symbolic computation techniques with first-order theorem proving can be used for solving some challenges of automating program analysis, in particular for generating and proving properties about the…

Programming Languages · Computer Science 2017-04-17 Laura Kovacs

Our goal is to define an algebraic language for reasoning about non-deterministic computations. Towards this goal, we introduce an algebra of string-to-string transductions. Specifically, it is an algebra of partial functions on words over…

Logic in Computer Science · Computer Science 2023-11-22 Eugenia Ternovska

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

To support reasoning about properties of programs operating with boolean values one needs theorem provers to be able to natively deal with the boolean sort. This way, program properties can be translated to first-order logic and theorem…

Logic in Computer Science · Computer Science 2015-10-19 Evgenii Kotelnikov , Laura Kovács , Andrei Voronkov

Detecting design pattern instances in unfamiliar codebases remains a challenging yet essential task for improving software quality and maintainability. Traditional static analysis tools often struggle with the complexity, variability, and…

Software Engineering · Computer Science 2025-02-26 Christian Schindler , Andreas Rausch

We train one multilingual model for dependency parsing and use it to parse sentences in several languages. The parsing model uses (i) multilingual word clusters and embeddings; (ii) token-level language information; and (iii)…

Computation and Language · Computer Science 2016-07-27 Waleed Ammar , George Mulcaire , Miguel Ballesteros , Chris Dyer , Noah A. Smith

Automated theorem proving in first-order logic is an active research area which is successfully supported by machine learning. While there have been various proposals for encoding logical formulas into numerical vectors -- from simple…

Artificial Intelligence · Computer Science 2020-03-17 Ibrahim Abdelaziz , Veronika Thost , Maxwell Crouse , Achille Fokoue

In imperative programming, the Domain-Driven Design methodology helps in coping with the complexity of software development by materializing in code the invariants of a domain of interest. Code is cleaner and more secure because any…

Artificial Intelligence · Computer Science 2023-07-14 Mario Alviano , Giovambattista Ianni , Francesco Pacenza , Jessica Zangari

Patterns are words with terminals and variables. The language of a pattern is the set of words obtained by uniformly substituting all variables with words that contain only terminals. Regular constraints restrict valid substitutions of…

Formal Languages and Automata Theory · Computer Science 2024-11-13 Dirk Nowotka , Max Wiedenhöft

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 resolving instances of a computational problem, if multiple instances of interest share a feature in common, it may be fruitful to compile this feature into a format that allows for more efficient resolution, even if the compilation is…

Computational Complexity · Computer Science 2015-03-03 Hubie Chen

Haskell functions are defined as a series of clauses consisting of patterns that are matched against the arguments in the order of definition. In case an input is not matched by any of the clauses, an error occurs. Therefore it is desirable…

Programming Languages · Computer Science 2019-09-11 Pavel Kalvoda , Tom Sydney Kerckhove

Sequential propositional logic deviates from ordinary propositional logic by taking into account that during the sequential evaluation of a propositional statement,atomic propositions may yield different Boolean values at repeated…

Logic in Computer Science · Computer Science 2011-06-28 J. A. Bergstra , A. Ponse

An algebraic linear ordering is a component of the initial solution of a first-order recursion scheme over the continuous categorical algebra of countable linear orderings equipped with the sum operation and the constant 1. Due to a general…

Formal Languages and Automata Theory · Computer Science 2010-02-10 Stephen L. Bloom , Zoltan Esik

Pattern matching is an important feature of programming languages for data abstraction. Many pattern-matching extensions have been proposed and implemented for extending the range of data types to which pattern matching is applicable. Among…

Programming Languages · Computer Science 2019-11-13 Satoshi Egi

The explosive rate of information growth and availability often makes it increasingly difficult to locate information pertinent to your needs. These problems are often compounded when keyword based search methodologies are not adequate for…

Information Retrieval · Computer Science 2008-10-10 Christopher M. Frenz

In this article, we present a fresh perspective on language, combining ideas from various sources, but mixed in a new synthesis. As in the minimalist program, the question is whether we can formulate an elegant formalism, a universal…

Computation and Language · Computer Science 2023-03-10 Loe Feijs

When the inverse of an algorithm is well-defined -- that is, when its output can be deterministically transformed into the input producing it -- we say that the algorithm is invertible. While one can describe an invertible algorithm using a…

Programming Languages · Computer Science 2022-12-07 Joachim Tilsted Kristensen , Robin Kaarsgaard , Michael Kirkedal Thomsen

We consider the problem of answering queries about formulas of first-order logic based on background knowledge partially represented explicitly as other formulas, and partially represented as examples independently drawn from a fixed…

Artificial Intelligence · Computer Science 2019-06-25 Vaishak Belle , Brendan Juba