English
Related papers

Related papers: Subtyping in DHOL -- Extended preprint

200 papers

We present an environment, benchmark, and deep learning driven automated theorem prover for higher-order logic. Higher-order interactive theorem provers enable the formalization of arbitrary mathematical theories and thereby present an…

Logic in Computer Science · Computer Science 2019-11-05 Kshitij Bansal , Sarah M. Loos , Markus N. Rabe , Christian Szegedy , Stewart Wilcox

Logical frameworks based on intuitionistic or linear logics with higher-type quantification have been successfully used to give high-level, modular, and formal specifications of many important judgments in the area of programming languages…

Logic in Computer Science · Computer Science 2007-05-23 Raymond C. McDowell , Dale A. Miller

The functorial structure of type constructors is the foundation for many definition and proof principles in higher-order logic (HOL). For example, inductive and coinductive datatypes can be built modularly from bounded natural functors…

Logic in Computer Science · Computer Science 2023-06-22 Basil Fürer , Andreas Lochbihler , Joshua Schneider , Dmitriy Traytel

Hybrid is a formal theory implemented in Isabelle/HOL that provides an interface for representing and reasoning about object languages using higher-order abstract syntax (HOAS). This interface is built around an HOAS variable-binding…

Logic in Computer Science · Computer Science 2011-11-02 Alan J. Martin , Amy P. Felty

Refinement type checkers are a powerful way to reason about functional programs. For example, one can prove properties of a slow, specification implementation, porting the proofs to an optimized implementation that behaves the same. Without…

Programming Languages · Computer Science 2022-07-20 Niki Vazou , Michael Greenberg

A long-standing shortcoming of statically typed functional languages is that type checking does not rule out pattern-matching failures (run-time match exceptions). Refinement types distinguish different values of datatypes; if a program…

Programming Languages · Computer Science 2020-09-22 Khurram A. Jafery , Jana Dunfield

Dependent Object Types (DOT) is a calculus with path dependent types, intersection types, and object self-references, which serves as the core calculus of Scala 3. Although the calculus has been proven sound, it remains open whether type…

Programming Languages · Computer Science 2020-05-15 Jason Hu , Ondřej Lhoták

When scripts in untyped languages grow into large programs, maintaining them becomes difficult. A lack of explicit type annotations in typical scripting languages forces programmers to must (re)discover critical pieces of design information…

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

The expression problem describes a fundamental tradeoff between two types of extensibility: extending a type with new operations, such as by pattern matching on an algebraic data type in functional programming, and extending a type with new…

Programming Languages · Computer Science 2025-11-21 Bohdan Liesnikov , David Binder , Tim Süberkrüb

This paper introduces a uniform substitution calculus for differential refinement logic dRL. The logic dRL extends the differential dynamic logic dL such that one can simultaneously reason about properties of and relations between hybrid…

Logic in Computer Science · Computer Science 2024-07-11 Enguerrand Prebet , André Platzer

This paper offers an approach to extensible knowledge representation and reasoning for a family of formalisms known as Description Logics. The approach is based on the notion of adding new concept constructors, and includes a heuristic…

Artificial Intelligence · Computer Science 2011-05-30 A. Borgida

Ontologies often require knowledge representation on multiple levels of abstraction, but description logics (DLs) are not well-equipped for supporting this. We propose an extension of DLs in which abstraction levels are first-class citizens…

Artificial Intelligence · Computer Science 2023-10-23 Carsten Lutz , Lukas Schulze

We present a new type system combining occurrence typing, previously used to type check programs in dynamically-typed languages such as Racket, JavaScript, and Ruby, with dependent refinement types. We demonstrate that the addition of…

Programming Languages · Computer Science 2016-10-05 Andrew M. Kent , David Kempe , Sam Tobin-Hochstadt

Liquid typing provides a decidable refinement inference mechanism that is convenient but subject to two major issues: (1) inference is global and requires top-level annotations, making it unsuitable for inference of modular code components…

Programming Languages · Computer Science 2019-10-31 Niki Vazou , Éric Tanter , David Van Horn

Refinement types enrich a language's type system with logical predicates that circumscribe the set of values described by the type, thereby providing software developers a tunable knob with which to inform the type system about what…

Programming Languages · Computer Science 2020-10-16 Ranjit Jhala , Niki Vazou

Configurable systems typically consist of reusable assets that have dependencies between each other. To specify such dependencies, feature models are commonly used. As feature models in practice are often complex, automated reasoning is…

Artificial Intelligence · Computer Science 2025-05-12 Chico Sundermann , Stefan Vill , Elias Kuiter , Sebastian Krieter , Thomas Thüm , Matthias Tichy

Ordered logics and type systems have been used in a variety of applications including computational linguistics, memory allocation, stream processing, logical frameworks, parametricity, and enforcing security protocols. In most…

Logic in Computer Science · Computer Science 2026-05-20 Sophia Roshal , Frank Pfenning

We examine the class of languages that can be defined entirely in terms of provability in an extension of the sorted type theory (Ty_n) by embedding the logic of phonologies, without introduction of special types for syntactic entities.…

Computation and Language · Computer Science 2011-02-28 Victor Gluzberg

Haskell provides type-class-bounded and parametric polymorphism as opposed to subtype polymorphism of object-oriented languages such as Java and OCaml. It is a contentious question whether Haskell 98 without extensions, or with common…

Programming Languages · Computer Science 2007-05-23 Oleg Kiselyov , Ralf Laemmel

Iterative abstraction refinement techniques are one of the most prominent paradigms for the analysis and verification of systems with large or infinite state spaces. This paper investigates the changes of truth values of system properties…

Logic in Computer Science · Computer Science 2026-01-14 Jakob Piribauer , Vinzent Zschuppe