English
Related papers

Related papers: An Overview of Nominal-Typing versus Structural-Ty…

200 papers

The notion of subtyping has gained an important role both in theoretical and applicative domains: in lambda and concurrent calculi as well as in programming languages. The soundness and the completeness, together referred to as the…

Logic in Computer Science · Computer Science 2016-02-12 Mariangiola Dezani-Ciancaglini , Silvia Ghilezan , Svetlana Jakšić , Jovanka Pantović , Nobuko Yoshida

We study the interaction of structural subtyping with parametric polymorphism and recursively defined type constructors. Although structural subtyping is undecidable in this setting, we describe a notion of parametricity for type…

Programming Languages · Computer Science 2023-10-30 Henry DeYoung , Andreia Mordido , Frank Pfenning , Ankush Das

Narrowing is a well-known technique that adds to term rewriting mechanisms the required power to search for solutions to equational problems. Rewriting and narrowing are well-studied in first-order term languages, but several problems…

Logic in Computer Science · Computer Science 2025-06-09 Mauricio Ayala-Rincón , Maribel Fernández , Daniele Nantes-Sobrinho , Daniella Santaguida

Automatic (i.e., computer-assisted) theorem proving (ATP) can come in many flavors. This document presents early steps in our effort towards defining object-oriented theorem proving (OOTP) as a new style of ATP. Traditional theorem proving…

Programming Languages · Computer Science 2019-02-28 Moez A. AbdelGawad

This article is an attempt to combine different ways of working with sets of objects and their classes for designing and development of artificial intelligent systems (AIS) of analysis information, using object-oriented programming (OOP).…

Artificial Intelligence · Computer Science 2020-02-24 D. O. Terletskyi , O. I. Provotar

We introduce nominal string diagrams as string diagrams internal in the category of nominal sets. This leads us to define nominal PROPs and nominal monoidal theories. We show that the categories of ordinary PROPs and nominal PROPs are…

Logic in Computer Science · Computer Science 2023-06-22 Samuel Balco , Alexander Kurz

Nominal techniques provide a mathematically principled approach to dealing with names and variable binding in programming languages. This paper explores an attempt to make nominal techniques accessible as an Agda library. We aim for a…

Programming Languages · Computer Science 2026-03-05 Murdoch J. Gabbay , Orestis Melkonian

Recursive relational specifications are commonly used to describe the computational structure of formal systems. Recent research in proof theory has identified two features that facilitate direct, logic-based reasoning about such…

Logic in Computer Science · Computer Science 2010-09-24 Andrew Gacek , Dale Miller , Gopalan Nadathur

Formalizing syntactic proofs of properties of logics, programming languages, security protocols, and other formal systems is a significant challenge, in large part because of the obligation to handle name-binding correctly. We present an…

Logic in Computer Science · Computer Science 2007-05-23 James Cheney

In this paper we present a minimal object oriented core calculus for modelling the biological notion of type that arises from biological ontologies in formalisms based on term rewriting. This calculus implements encapsulation, method…

Computational Engineering, Finance, and Science · Computer Science 2011-09-08 Livio Bioglio

We introduce nominal string diagrams as, string diagrams internal in the category of nominal sets. This requires us to take nominal sets as a monoidal category, not with the cartesian product, but with the separated product. To this end, we…

Logic in Computer Science · Computer Science 2019-04-17 Samuel Balco , Alexander Kurz

Structural subtyping and parametric polymorphism provide similar flexibility and reusability to programmers. For example, both features enable the programmer to provide a wider record as an argument to a function that expects a narrower…

Programming Languages · Computer Science 2023-09-12 Wenhao Tang , Daniel Hillerström , James McKinna , Michel Steuwer , Ornela Dardha , Rongxiao Fu , Sam Lindley

A type system is introduced for a generic Object Oriented programming language in order to infer resource upper bounds. A sound andcomplete characterization of the set of polynomial time computable functions is obtained. As a consequence,…

Programming Languages · Computer Science 2018-02-20 Emmanuel Hainry , Romain Péchoux

The expression problem describes how most types can easily be extended with new ways to produce the type or new ways to consume the type, but not both. When abstract syntax trees are defined as an algebraic data type, for example, they can…

Programming Languages · Computer Science 2024-03-12 David Binder , Ingo Skupin , Tim Süberkrüb , Klaus Ostermann

For the past several decades, programmers have been modeling things in the world with trees using hierarchies of classes and object-oriented programming (OOP) languages. In this paper, we describe a novel approach to programming, called…

Programming Languages · Computer Science 2015-01-06 Alexandr Savinov

Generics have been added to Java so as to increase the expressiveness of its type system. Generics in Java, however, include some features---such as Java wildcards, $F$-bounded generics, and Java erasure---that have been hard to analyze and…

Programming Languages · Computer Science 2019-06-11 Moez A. AbdelGawad

We introduce Nominal Matching Logic (NML) as an extension of Matching Logic with names and binding following the Gabbay-Pitts nominal approach. Matching logic is the foundation of the $\mathbb{K}$ framework, used to specify programming…

Logic in Computer Science · Computer Science 2022-07-29 James Cheney , Maribel Fernández

Nominal Logic is a version of first-order logic with equality, name-binding, renaming via name-swapping and freshness of names. Contrarily to higher-order logic, bindable names, called atoms, and instantiable variables are considered as…

Logic in Computer Science · Computer Science 2023-03-14 Jordi Levy , Mateu Villaret

Design patterns are distilled from many real systems to catalog common programming practice. However, some object-oriented design patterns are distorted or overly complicated because of the lack of supporting programming language constructs…

Programming Languages · Computer Science 2019-06-03 Gerald Baumgartner , Konstantin Läufer , Vincent F. Russo

There exist NIP and non-NTP$_2$ theories satisfying all the following conditions: It is not o-minimal; All models are strongly locally o-minimal; It has a model which is an expansion of the linearly ordered abelian group over the reals…

Logic · Mathematics 2022-08-18 Masato Fujita