English
Related papers

Related papers: Initial Semantics for higher-order typed syntax in…

200 papers

Formally verifying the properties of formal systems using a proof assistant requires justifying numerous minor lemmas about capture-avoiding substitution. Despite work on category-theoretic accounts of syntax and variable binding, raw,…

Logic in Computer Science · Computer Science 2023-12-15 Lawrence Dunn , Val Tannen , Steve Zdancewic

Dependent pattern matching is a key feature in dependently typed programming. However, there is a theory-practice disconnect: while many proof assistants implement pattern matching as primitive, theoretical presentations give semantics to…

Programming Languages · Computer Science 2025-01-31 Joseph Eremondi , Ohad Kammar

This thesis details a project to define a fully compositional theory of synchronous sequential circuits built from primitive components, motivated by applying techniques successfully used in programming languages to hardware. The first part…

Logic in Computer Science · Computer Science 2025-02-13 George Kaye

In this paper, we introduce a novel approach for semantic description of object features based on the prototypicality effects of the Prototype Theory. Our prototype-based description model encodes and stores the semantic meaning of an…

Computer Vision and Pattern Recognition · Computer Science 2021-07-08 Omar Vidal Pino , Erickson Rangel Nascimento , Mario Fernando Montenegro Campos

First-order resolution has been used for type inference for many years, including in Hindley- Milner type inference, type-classes, and constrained data types. Dependent types are a new trend in functional languages. In this paper, we show…

Logic in Computer Science · Computer Science 2018-05-01 František Farka , Ekaterina Komendantskya , Kevin Hammond

We consider sets/relations/computations defined by *Elementary Inference Systems* I, which are obtained from Smullyan's *elementary formal systems* using Gentzen's notation for inference rules, and proof trees for atoms P(t_1,...,t_n),…

Logic in Computer Science · Computer Science 2025-10-31 Salvador Lucas

Dependently typed languages such as Coq are used to specify and verify the full functional correctness of source programs. Type-preserving compilation can be used to preserve these specifications and proofs of correctness through…

Programming Languages · Computer Science 2018-08-14 William J. Bowman , Amal Ahmed

Termination is an important property of programs; notably required for programs formulated in proof assistants. It is a very active subject of research in the Turing-complete formalism of term rewriting systems, where many methods and tools…

Logic in Computer Science · Computer Science 2012-03-01 Frédéric Blanqui , Adam Koprowski

We present Tores, a core language for encoding metatheoretic proofs. The novel features we introduce are well-founded Mendler-style (co)recursion over indexed data types and a form of recursion over objects in the index language to build…

Programming Languages · Computer Science 2018-05-02 Rohan Jacob-Rao , Brigitte Pientka , David Thibodeau

Logic has proved essential for formally modeling software based systems. Such formal descriptions, frequently called specifications, have served not only as requirements documentation and formalisation, but also for providing the…

Logic in Computer Science · Computer Science 2021-07-20 Carlos G. Lopez Pombo , Thomas S. E. Maibaum

We give a new syntax independent definition of the notion of a generalized algebraic theory as an initial object in a category of categories with families (cwfs) with extra structure. To this end we define inductively how to build a valid…

Category Theory · Mathematics 2021-03-17 Marc Bezem , Thierry Coquand , Peter Dybjer , Martín Escardó

We present a type system and inference algorithm for a rich subset of JavaScript equipped with objects, structural subtyping, prototype inheritance, and first-class methods. The type system supports abstract and recursive objects, and is…

Programming Languages · Computer Science 2016-10-19 Satish Chandra , Colin S. Gordon , Jean-Baptiste Jeannin , Cole Schlesinger , Manu Sridharan , Frank Tip , Youngil Choi

The algebraic properties of the combination of probabilistic choice and nondeterministic choice have long been a research topic in program semantics. This paper explains a formalization in the Coq proof assistant of a monad equipped with…

Logic in Computer Science · Computer Science 2023-12-12 Reynald Affeldt , Jacques Garrigue , David Nowak , Takafumi Saikawa

Operational semantics has established itself as a flexible but rigorous means to describe the meaning of programming languages. Oftentimes, it is felt necessary to keep a semantics small, for example to facilitate its use for model checking…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-03-17 Benjamin Morandi , Sebastian Nanz , Bertrand Meyer

Algorithms like those for differentiating functional expressions manipulate the syntactic structure of mathematical expressions in a mathematically meaningful way. A formalization of such an algorithm should include a specification of its…

Logic in Computer Science · Computer Science 2013-08-06 William M. Farmer

Scala's type system unifies ML modules, object-oriented, and functional programming. The Dependent Object Types (DOT) family of calculi has been proposed as a new foundation for Scala and similar languages. Unfortunately, it is not clear…

Programming Languages · Computer Science 2016-02-08 Tiark Rompf , Nada Amin

Language sciences rely less and less on formal syntax as their base. The reason is probably its lack of psychological reality, knowingly avoided. Philosophers of science call for a paradigm shift in which explanations are by mechanisms, as…

Computation and Language · Computer Science 2022-05-26 Anat Ninio

In their work on second-order equational logic, Fiore and Hur have studied presentations of simply typed languages by generating binding constructions and equations among them. To each pair consisting of a binding signature and a set of…

Logic in Computer Science · Computer Science 2019-07-16 Benedikt Ahrens , André Hirschowitz , Ambroise Lafont , Marco Maggesi

Completeness proofs in categorical semantics usually proceed by building a syntactic category whose composition is given by substitution. For untyped effectful Call-by-Value languages, this runs into a basic obstacle: there is no canonical…

Programming Languages · Computer Science 2026-05-21 Ariel Grunfeld , Liron Cohen

This extended abstract is about an effort to build a formal description of a triangulation algorithm starting with a naive description of the algorithm where triangles, edges, and triangulations are simply given as sets and the most complex…

Logic in Computer Science · Computer Science 2018-09-05 Yves Bertot