Dmitriy Traytel

dblp:95/10567 · also Dmytro Traytel · DBLP profile ↗
← Back
55ranked-venue papers
6as first author
21since 2021 · last 2025
0000-0001-7982-2768ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 31 · 3 first-author · 13 since 2021Theory of computation · 24 · 3 first-author · 9 since 2021Artificial intelligence and machine learning · 4 · 1 since 2021Databases, data management, data science and information retrieval · 1 · 1 since 2021
YearPublicationVenuePosition
2025 Scaling Up Proactive Enforcement
abstract
Abstract Runtime enforcers receive events from a system and output commands ensuring the system’s policy compliance. Proactive enforcers extend traditional (reactive) enforcers by emitting commands at any time, rather only as a response to system actions. However, proactive enforcers have so far lacked support for many useful policy features. This, along with the existing tools’ poor performance, hinders their adoption. We present a performance-optimized, proactive enforcement algorithm for a rich policy language: metric first-order temporal logic with function applications, aggregations, and bindings. We have implemented this algorithm in EnfGuard , the first proactive enforcer tool that supports the above constructs. We evaluated our tool using a novel set of six benchmarks containing both real-world and synthetic policies and logs, demonstrating that it enforces realistic policies out-of-the-box and achieves the necessary performance to be used in real-time systems.
François Hublet, Leonardo Lima 0001, David A. Basin, Srdan Krstic, Dmitriy Traytel
CAV (3)5
2025 Animating MRBNFs: Truly Modular Binding-Aware Datatypes in Isabelle/HOL
abstract
Nominal Isabelle provides powerful tools for meta-theoretic reasoning about syntax of logics or programming languages, in which variables are bound. It has been instrumental to major verification successes, such as Gödel’s incompleteness theorems. However, the existing tooling is not compositional. In particular, it does not support nested recursion, linear binding patterns, or infinitely branching syntax. These limitations are fundamental in the way nominal datatypes and functions on them are constructed within Nominal Isabelle. Taking advantage of recent theoretical advancements that overcome these limitations through a modular approach using the concept of map-restricted bounded natural functor (MRBNF), we develop and implement a new definitional package for binding-aware datatypes in Isabelle/HOL, called MrBNF. We describe the journey from the user specification to the end-product types, constants and theorems the tool generates. We validate MrBNF in two formalization case studies that so far were out of reach of nominal approaches: (1) Mazza’s isomorphism between the finitary and the infinitary affine λ-calculus, and (2) the POPLmark 2B challenge, which involves non-free binders for linear pattern matching.
Jan van Brügge, Andrei Popescu 0001, Dmitriy Traytel
ITP3
2025 Nondeterministic Asynchronous Dataflow in Isabelle/HOL
abstract
We formalize nondeterministic asynchronous dataflow networks in Isabelle/HOL. Dataflow networks are comprised of operators that are capable of communicating with the network, performing silent computations, and making nondeterministic choices. We represent operators using a shallow embedding as codatatypes. Using this representation, we define standard asynchronous dataflow primitives, including sequential and parallel composition and a feedback operator. These primitives adhere to a number of laws from the literature, which we prove by coinduction using weak bisimilarity as our equality. Albeit coinductive and nondeterministic, our model is executable via code extraction to Haskell.
Rafael Castro Gonçalves Silva, Laouen Fernet, Dmitriy Traytel
ITP3
2025 Barendregt Convenes with Knaster and Tarski: Strong Rule Induction for Syntax with Bindings
abstract
This paper is a contribution to the meta-theory of systems featuring syntax with bindings, such as λ-calculi and logics. It provides a general criterion that targets inductively defined rule-based systems , enabling for them inductive proofs that leverage Barendregt’s variable convention of keeping the bound and free variables disjoint. It improves on the state of the art by (1) achieving high generality in the style of Knaster-Tarski fixed point definitions (as opposed to imposing syntactic formats), (2) capturing systems of interest without modifications, and (3) accommodating infinitary syntax and non-equivariant predicates.
Jan van Brügge, James McKinna, Andrei Popescu 0001, Dmitriy Traytel
Proc. ACM Program. Lang.4
2024 WhyMon: A Runtime Monitoring Tool with Explanations as Verdicts
Leonardo Lima 0001, Jonathan Julián Huerta y Munive, Dmitriy Traytel
ATVA (2)3
2024 Proactive Real-Time First-Order Enforcement
abstract
Abstract Modern software systems must comply with increasingly complex regulations in domains ranging from industrial automation to data protection. Runtime enforcement addresses this challenge by empowering systems to not only observe, but also actively control, the behavior of target systems by modifying their actions to ensure policy compliance. We propose a novel approach to the proactive real-time enforcement of policies expressed in metric first-order temporal logic (MFOTL). We introduce a new system model, define an expressive MFOTL fragment that is enforceable in that model, and develop a sound enforcement algorithm for this fragment. We implement this algorithm in a tool calledWhyEnfand carry out a case study on enforcing GDPR-related policies. Our tool can enforce all policies from the study in real-time with modest overhead. Our work thus provides the first tool-supported approach that can proactively enforce expressive first-order policies in real time.
François Hublet, Leonardo Lima 0001, David A. Basin, Srdan Krstic, Dmitriy Traytel
CAV (2)5
2024 TimelyMon: A Streaming Parallel First-Order Monitor
Lennard Reese, Rafael Castro Gonçalves Silva, Dmitriy Traytel
RV3
2024 Explainable Online Monitoring of Metric First-Order Temporal Logic
abstract
Abstract Metric first-order temporal logic (MFOTL) is an expressive formalism for specifying temporal and data-dependent constraints on streams of time-stamped, data-carrying events. It serves as the specification language of several runtime monitors. These monitors input an MFOTL formula and an event stream prefix and output satisfying assignments to the formula’s free variables. For complex formulas, it may be unclear why a certain assignment is output. We propose an approach that accompanies assignments with detailed explanations, in the form of proof trees. We develop a new monitor that outputs such explanations. Our tool incorporates a formally verified checker that certifies the explanations and a visualization that allows users to interactively explore and understand the outputs.
Leonardo Lima 0001, Jonathan Julián Huerta y Munive, Dmitriy Traytel
TACAS (1)3
2023 Correct and Efficient Policy Monitoring, a Retrospective
David A. Basin, Srdan Krstic, Joshua Schneider 0001, Dmitriy Traytel
ATVA (1)4
2023 Explainable Online Monitoring of Metric Temporal Logic
abstract
Abstract Runtime monitors analyze system execution traces for policy compliance. Monitors for propositional specification languages, such as metric temporal logic (MTL), produce Boolean verdicts denoting whether the policy is satisfied or violated at a given point in the trace. Given a sufficiently complex policy, it can be difficult for the monitor’s user to understand how the monitor arrived at its verdict. We develop an MTL monitor that outputs verdicts capturing why the policy was satisfied or violated. Our verdicts are proof trees in a sound and complete proof system that we design. We demonstrate that such verdicts can serve as explanations for end users by augmenting our monitor with a graphical interface for the interactive exploration of proof trees. As a second application, our verdicts serve as certificates in a formally verified checker we develop using the Isabelle proof assistant.
Leonardo Lima 0001, Andrei Herasimau, Martin Raszyk, Dmitriy Traytel, Simon Yuan
TACAS (2)4
2023 Efficient Evaluation of Arbitrary Relational Calculus Queries
abstract
The relational calculus (RC) is a concise, declarative query language. However, existing RC query evaluation approaches are inefficient and often deviate from established algorithms based on finite tables used in database management systems. We devise a new translation of an arbitrary RC query into two safe-range queries, for which the finiteness of the query's evaluation result is guaranteed. Assuming an infinite domain, the two queries have the following meaning: The first is closed and characterizes the original query's relative safety, i.e., whether given a fixed database, the original query evaluates to a finite relation. The second safe-range query is equivalent to the original query, if the latter is relatively safe. We compose our translation with other, more standard ones to ultimately obtain two SQL queries. This allows us to use standard database management systems to evaluate arbitrary RC queries. We show that our translation improves the time complexity over existing approaches, which we also empirically confirm in both realistic and synthetic experiments.
Martin Raszyk, David A. Basin, Srdan Krstic, Dmitriy Traytel
Log. Methods Comput. Sci.4
2023 Admissible Types-to-PERs Relativization in Higher-Order Logic
abstract
Relativizing statements in Higher-Order Logic (HOL) from types to sets is useful for improving productivity when working with HOL-based interactive theorem provers such as HOL4, HOL Light and Isabelle/HOL. This paper provides the first comprehensive definition and study of types-to-sets relativization in HOL, done in the more general form of types-to-PERs (partial equivalence relations). We prove that, for a large practical fragment of HOL which includes container types such as datatypes and codatatypes, types-to-PERs relativization is admissible, in that the provability of the original, type-based statement implies the provability of its relativized, PER-based counterpart. Our results also imply the admissibility of a previously proposed axiomatic extension of HOL with local type definitions. We have implemented types-to-PERs relativization as an Isabelle tool that performs relativization of HOL theorems on demand.
Andrei Popescu 0001, Dmitriy Traytel
Proc. ACM Program. Lang.2
2022 Differential Testing of Pushdown Reachability with a Formally Verified Oracle
abstract
Pushdown automata are an essential model of recursive computation. In model checking and static analysis, numerous problems can be reduced to reachability questions about pushdown automata and several efficient libraries implement automata-theoretic algorithms for answering these questions. These libraries are often used as core components in other tools, and therefore it is instrumental that the used algorithms and their implementations are correct. We present a method that significantly increases the trust in the answers provided by the libraries for pushdown reachability by (i) formally verifying the correctness of the used algorithms using the Isabelle/HOL proof assistant, (ii) extracting executable programs from the formalization, (iii) implementing a framework for the differential testing of library implementations with the verified extracted algorithms as oracles, and (iv) automatically minimizing counter-examples from the differential testing based on the delta-debugging methodology. We instantiate our method to the concrete case of PDAAAL, a state-of-the-art library for pushdown reachability. Thereby, we discover and resolve several nontrivial errors in PDAAAL.
Anders Schlichtkrull, Morten Konggaard Schou, Jirí Srba, Dmitriy Traytel
FMCAD4
2022 Practical Relational Calculus Query Evaluation
abstract
The relational calculus (RC) is a concise, declarative query language. However, existing RC query evaluation approaches are inefficient and often deviate from established algorithms based on finite tables used in database management systems. We devise a new translation of an arbitrary RC query into two safe-range queries, for which the finiteness of the query’s evaluation result is guaranteed. Assuming an infinite domain, the two queries have the following meaning: The first is closed and characterizes the original query’s relative safety, i.e., whether given a fixed database, the original query evaluates to a finite relation. The second safe-range query is equivalent to the original query, if the latter is relatively safe. We compose our translation with other, more standard ones to ultimately obtain two SQL queries. This allows us to use standard database management systems to evaluate arbitrary RC queries. We show that our translation improves the time complexity over existing approaches, which we also empirically confirm in both realistic and synthetic experiments.
Martin Raszyk, David A. Basin, Srdan Krstic, Dmitriy Traytel
ICDT4
2022 VeriMon: A Formally Verified Monitoring Tool
David A. Basin, Thibault Dardinier, Nico Hauser, Lukas Heimes, Jonathan Julián Huerta y Munive, Nicolas Kaletsch, Srdan Krstic, Emanuele Marsicano, Martin Raszyk, Joshua Schneider 0001, Dawit Legesse Tirore, Dmitriy Traytel, Sheila Zingg
ICTAC12
2022 Verified First-Order Monitoring with Recursive Rules
abstract
Abstract First-order temporal logics and rule-based formalisms are two popular families of specification languages for monitoring. Each family has its advantages and only few monitoring tools support their combination. We extend metric first-order temporal logic (MFOTL) with a recursive let construct, which enables interleaving rules with temporal logic formulas. We also extend VeriMon, an MFOTL monitor whose correctness has been formally verified using the Isabelle proof assistant, to support the new construct. The extended correctness proof covers the interaction of the new construct with the existing verified algorithm, which is subtle due to the presence of the bounded future temporal operators. We demonstrate the recursive let’s usefulness on several example specifications and evaluate our verified algorithm’s performance against the DejaVu monitoring tool.
Sheila Zingg, Srdan Krstic, Martin Raszyk, Joshua Schneider 0001, Dmitriy Traytel
TACAS (2)5
2022 Quotients of Bounded Natural Functors
Basil Fürer, Andreas Lochbihler, Joshua Schneider 0001, Dmitriy Traytel
Log. Methods Comput. Sci.4
2021 Verified Progress Tracking for Timely Dataflow
abstract
Large-scale stream processing systems often follow the dataflow paradigm, which enforces a program structure that exposes a high degree of parallelism. The Timely Dataflow distributed system supports expressive cyclic dataflows for which it offers low-latency data- and pipeline-parallel stream processing. To achieve high expressiveness and performance, Timely Dataflow uses an intricate distributed protocol for tracking the computation’s progress. We modeled the progress tracking protocol as a combination of two independent transition systems in the Isabelle/HOL proof assistant. We specified and verified the safety of the two components and of the combined protocol. To this end, we identified abstract assumptions on dataflow programs that are sufficient for safety and were not previously formalized.
Matthias Brun 0002, Sára Decova, Andrea Lattuada 0001, Dmitriy Traytel
ITP4
2021 Distilling the Requirements of Gödel's Incompleteness Theorems with a Proof Assistant
abstract
Abstract We present an abstract development of Gödel’s incompleteness theorems, performed with the help of the Isabelle/HOL proof assistant. We analyze sufficient conditions for the applicability of our theorems to a partially specified logic. In addition to the usual benefits of generality, our abstract perspective enables a comparison between alternative approaches from the literature. These include Rosser’s variation of the first theorem, Jeroslow’s variation of the second theorem, and the Świerczkowski–Paulson semantics-based approach. As part of the validation of our framework, we upgrade Paulson’s Isabelle proof to produce a mechanization of the second theorem that does not assume soundness in the standard model, and in fact does not rely on any notion of model or semantic interpretation.
Andrei Popescu 0001, Dmitriy Traytel
J. Autom. Reason.2
2021 A taxonomy for classifying runtime verification tools
Yliès Falcone, Srdan Krstic, Giles Reger, Dmitriy Traytel
Int. J. Softw. Tools Technol. Transf.4
2021 Scalable online first-order monitoring
abstract
Abstract Online monitoring is the task of identifying complex temporal patterns while incrementally processing streams of data-carrying events. Existing state-of-the-art monitors for first-order patterns, which may refer to and quantify over data values, can process streams of modest velocity in real-time. We show how to scale up first-order monitoring to substantially higher velocities by slicing the stream, based on the events’ data values, into substreams that can be monitored independently. Because monitoring is not embarrassingly parallel in general, slicing can lead to data duplication. To reduce this overhead, we adapt hash-based partitioning techniques from databases to the monitoring setting. We implement these techniques in an automatic data slicer based on Apache Flink and empirically evaluate its performance using two tools—MonPoly and DejaVu—to monitor the substreams. Our evaluation attests to substantial scalability improvements for both tools.
Joshua Schneider 0001, David A. Basin, Frederik Brix, Srdan Krstic, Dmitriy Traytel
Int. J. Softw. Tools Technol. Transf.5
2020 Multi-head Monitoring of Metric Dynamic Logic
Martin Raszyk, David A. Basin, Dmitriy Traytel
ATVA3
2020 Formalizing Bachmair and Ganzinger's Ordered Resolution Prover
Anders Schlichtkrull, Jasmin Blanchette, Dmitriy Traytel, Uwe Waldmann
J. Autom. Reason.3
2019 Adaptive Online First-Order Monitoring
Joshua Schneider 0001, David A. Basin, Frederik Brix, Srdan Krstic, Dmitriy Traytel
ATVA5
2019 Multi-head Monitoring of Metric Temporal Logic
Martin Raszyk, David A. Basin, Srdan Krstic, Dmitriy Traytel
ATVA4
2019 A Formally Verified Abstract Account of Gödel's Incompleteness Theorems
Andrei Popescu 0001, Dmitriy Traytel
CADE2
2019 A verified prover based on ordered resolution
abstract
The superposition calculus, which underlies first-order theorem provers such as E, SPASS, and Vampire, combines ordered resolution and equality reasoning. As a step towards verifying modern provers, we specify, using Isabelle/HOL, a purely functional first-order ordered resolution prover and establish its soundness and refutational completeness. Methodologically, we apply stepwise refinement to obtain, from an abstract nondeterministic specification, a verified deterministic program, written in a subset of Isabelle/HOL from which we extract purely functional Standard ML code that constitutes a semidecision procedure for first-order logic.
Anders Schlichtkrull, Jasmin Blanchette, Dmitriy Traytel
CPP3
2019 From Nondeterministic to Multi-Head Deterministic Finite-State Transducers
abstract
Every nondeterministic finite-state automaton is equivalent to a deterministic finite-state automaton. This result does not extend to finite-state transducers - finite-state automata equipped with a one-way output tape. There is a strict hierarchy of functions accepted by one-way deterministic finite-state transducers (1DFTs), one-way nondeterministic finite-state transducers (1NFTs), and two-way nondeterministic finite-state transducers (2NFTs), whereas the two-way deterministic finite-state transducers (2DFTs) accept the same family of functions as their nondeterministic counterparts (2NFTs). We define multi-head one-way deterministic finite-state transducers (mh-1DFTs) as a natural extension of 1DFTs. These transducers have multiple one-way reading heads that move asynchronously over the input word. Our main result is that mh-1DFTs can deterministically express any function defined by a one-way nondeterministic finite-state transducer. Of independent interest, we formulate the all-suffix regular matching problem, which is the problem of deciding for each suffix of an input word whether it belongs to a regular language. As part of our proof, we show that an mh-1DFT can solve all-suffix regular matching, which has applications, e.g., in runtime verification.
Martin Raszyk, David A. Basin, Dmitriy Traytel
ICALP3
2019 Generic Authenticated Data Structures, Formally
abstract
Authenticated data structures are a technique for outsourcing data storage and maintenance to an untrusted server. The server is required to produce an efficiently checkable and cryptographically secure proof that it carried out precisely the requested computation. Recently, Miller et al. [https://doi.org/10.1145/2535838.2535851] demonstrated how to support a wide range of such data structures by integrating an authentication construct as a first class citizen in a functional programming language. In this paper, we put this work to the test of formalization in the Isabelle proof assistant. With Isabelle’s help, we uncover and repair several mistakes and modify the small-step semantics to perform call-by-value evaluation rather than requiring terms to be in administrative normal form.
Matthias Brun 0002, Dmitriy Traytel
ITP2
2019 A Formally Verified Monitor for Metric First-Order Temporal Logic
Joshua Schneider 0001, David A. Basin, Srdan Krstic, Dmitriy Traytel
RV4
2019 Almost event-rate independent monitoring
David A. Basin, Bhargav Nagaraja Bhatt, Srdan Krstic, Dmitriy Traytel
Formal Methods Syst. Des.4
2019 A survey of challenges for runtime verification from advanced application domains (beyond software)
abstract
Abstract Runtime verification is an area of formal methods that studies the dynamic analysis of execution traces against formal specifications. Typically, the two main activities in runtime verification efforts are the process of creating monitors from specifications, and the algorithms for the evaluation of traces against the generated monitors. Other activities involve the instrumentation of the system to generate the trace and the communication between the system under analysis and the monitor. Most of the applications in runtime verification have been focused on the dynamic analysis of software, even though there are many more potential applications to other computational devices and target systems. In this paper we present a collection of challenges for runtime verification extracted from concrete application domains, focusing on the difficulties that must be overcome to tackle these specific challenges. The computational models that characterize these domains require to devise new techniques beyond the current state of the art in runtime verification.
César Sánchez 0001, Gerardo Schneider, Wolfgang Ahrendt, Ezio Bartocci, Domenico Bianculli, Christian Colombo 0001, Yliès Falcone, Adrian Francalanza, Srdan Krstic, João Lourenço, Dejan Nickovic, Gordon J. Pace, José Rufino, Julien Signoles, Dmitriy Traytel, Alexander Weiss
Formal Methods Syst. Des.15
2019 Correction to: A survey of challenges for runtime verification from advanced application domains (beyond software)
César Sánchez 0001, Gerardo Schneider, Wolfgang Ahrendt, Ezio Bartocci, Domenico Bianculli, Christian Colombo 0001, Yliès Falcone, Adrian Francalanza, Srdan Krstic, João Lourenço, Dejan Nickovic, Gordon J. Pace, José Rufino, Julien Signoles, Dmitriy Traytel, Alexander Weiss
Formal Methods Syst. Des.15
2019 Bindings as bounded natural functors
abstract
We present a general framework for specifying and reasoning about syntax with bindings. Abstract binder types are modeled using a universe of functors on sets, subject to a number of operations that can be used to construct complex binding patterns and binding-aware datatypes, including non-well-founded and infinitely branching types, in a modular fashion. Despite not committing to any syntactic format, the framework is ``concrete'' enough to provide definitions of the fundamental operators on terms (free variables, alpha-equivalence, and capture-avoiding substitution) and reasoning and definition principles. This work is compatible with classical higher-order logic and has been formalized in the proof assistant Isabelle/HOL.
Jasmin Blanchette, Lorenzo Gheri, Andrei Popescu 0001, Dmitriy Traytel
Proc. ACM Program. Lang.4
2018 Optimal Proofs for Linear Temporal Logic on Lasso Words
David A. Basin, Bhargav Nagaraja Bhatt, Dmitriy Traytel
ATVA3
2018 A Taxonomy for Classifying Runtime Verification Tools
Yliès Falcone, Srdan Krstic, Giles Reger, Dmitriy Traytel
RV4
2018 Scalable Online First-Order Monitoring
Joshua Schneider 0001, David A. Basin, Frederik Brix, Srdan Krstic, Dmitriy Traytel
RV5
2017 Friends with Benefits - Implementing Corecursion in Foundational Proof Assistants
Jasmin Blanchette, Aymeric Bouzy, Andreas Lochbihler, Andrei Popescu 0001, Dmitriy Traytel
ESOP5
2017 Foundational nonuniform (Co)datatypes for higher-order logic
abstract
Nonuniform (or “nested” or “heterogeneous”) datatypes are recursively defined types in which the type arguments vary recursively. They arise in the implementation of finger trees and other efficient functional data structures. We show how to reduce a large class of nonuniform datatypes and codatatypes to uniform types in higher-order logic. We programmed this reduction in the Isabelle/HOL proof assistant, thereby enriching its specification language. Moreover, we derive (co)induction and (co)recursion principles based on a weak variant of parametricity.
Jasmin Blanchette, Fabian Meier, Andrei Popescu 0001, Dmitriy Traytel
LICS4
2017 Almost Event-Rate Independent Monitoring of Metric Dynamic Logic
David A. Basin, Srdan Krstic, Dmitriy Traytel
RV3
2017 Almost Event-Rate Independent Monitoring of Metric Temporal Logic
David A. Basin, Bhargav Nagaraja Bhatt, Dmitriy Traytel
TACAS (2)3
2017 Soundness and Completeness Proofs by Coinductive Methods
Jasmin Blanchette, Andrei Popescu 0001, Dmitriy Traytel
J. Autom. Reason.3
2017 Formal Languages, Formally and Coinductively
abstract
Traditionally, formal languages are defined as sets of words. More recently, the alternative coalgebraic or coinductive representation as infinite tries, i.e., prefix trees branching over the alphabet, has been used to obtain compact and elegant proofs of classic results in language theory. In this article, we study this representation in the Isabelle proof assistant. We define regular operations on infinite tries and prove the axioms of Kleene algebra for those operations. Thereby, we exercise corecursion and coinduction and confirm the coinductive view being profitable in formalizations, as it improves over the set-of-words view with respect to proof automation. Comment: Extended version of homonymous FSCD 2016 paper
Dmitriy Traytel
Log. Methods Comput. Sci.1
2015 A Coalgebraic Decision Procedure for WS1S
abstract
Weak monadic second-order logic of one successor (WS1S) is a simple and natural formalism to specify regular properties. WS1S is decidable, although the decision procedure's complexity is non-elementary. Typically, decision procedures for WS1S exploit the logic-automaton connection, i.e. they escape the simple and natural formalism by translating formulas into equally expressive regular structures such as finite automata, regular expressions, or games. In this work, we devise a coalgebraic decision procedure for WS1S that stays within the logical world by directly operating on formulas. The key operation is the derivative of a formula, modeled after Brzozowski's derivatives of regular expressions. The presented decision procedure has been formalized and proved correct in the interactive proof assistant Isabelle.
Dmitriy Traytel
CSL1
2015 Witnessing (Co)datatypes
Jasmin Blanchette, Andrei Popescu 0001, Dmitriy Traytel
ESOP3
2015 Foundational extensible corecursion: a proof assistant perspective
abstract
This paper presents a formalized framework for defining corecursive functions safely in a total setting, based on corecursion up-to and relational parametricity. The end product is a general corecursor that allows corecursive (and even recursive) calls under "friendly" operations, including constructors. Friendly corecursive functions can be registered as such, thereby increasing the corecursor's expressiveness. The metatheory is formalized in the Isabelle proof assistant and forms the core of a prototype tool. The corecursor is derived from first principles, without requiring new axioms or extensions of the logic.
Jasmin Blanchette, Andrei Popescu 0001, Dmitriy Traytel
ICFP3
2015 A Formalized Hierarchy of Probabilistic System Types - Proof Pearl
Johannes Hölzl, Andreas Lochbihler, Dmitriy Traytel
ITP3
2015 Verified decision procedures for MSO on words based on derivatives of regular expressions
abstract
Abstract Monadic second-order logic on finite words is a decidable yet expressive logic into which many decision problems can be encoded. Since MSO formulas correspond to regular languages, equivalence of MSO formulas can be reduced to the equivalence of some regular structures (e.g., automata). This paper presents a verified functional decision procedure for MSO formulas that is not based on automata but on regular expressions. Functional languages are ideally suited for this task: regular expressions are data types and functions on them are defined by pattern matching and recursion and are verified by structural induction. Decision procedures for regular expression equivalence have been formalized before, usually based on Brzozowski derivatives. Yet, for a straightforward embedding of MSO formulas into regular expressions, an extension of regular expressions with a projection operation is required. We prove total correctness and completeness of an equivalence checker for regular expressions extended in that way. We also define a language-preserving translation of formulas into regular expressions with respect to two different semantics of MSO. Our results have been formalized and verified in the theorem prover Isabelle. Using Isabelle's code generation facility, this yields purely functional, formally verified programs that decide equivalence of MSO formulas.
Dmitriy Traytel, Tobias Nipkow
J. Funct. Program.1
2014 Experience report: the next 1100 Haskell programmers
abstract
We report on our experience teaching a Haskell-based functional programming course to over 1100 students for two winter terms. The syllabus was organized around selected material from various sources. Throughout the terms, we emphasized correctness through QuickCheck tests and proofs by induction. The submission architecture was coupled with automatic testing, giving students the possibility to correct mistakes before the deadline. To motivate the students, we complemented the weekly assignments with an informal competition and gave away trophies in a award ceremony.
Jasmin Blanchette, Lars Hupel, Tobias Nipkow, Lars Noschinski, Dmitriy Traytel
Haskell5
2014 Cardinals in Isabelle/HOL
Jasmin Blanchette, Andrei Popescu 0001, Dmitriy Traytel
ITP3
2014 Truly Modular (Co)datatypes for Isabelle/HOL
Jasmin Blanchette, Johannes Hölzl, Andreas Lochbihler, Lorenz Panny, Andrei Popescu 0001, Dmitriy Traytel
ITP6
2014 Unified Decision Procedures for Regular Expression Equivalence
Tobias Nipkow, Dmitriy Traytel
ITP2
2013 Verified decision procedures for MSO on words based on derivatives of regular expressions
abstract
Monadic second-order logic on finite words (MSO) is a decidable yet expressive logic into which many decision problems can be encoded. Since MSO formulas correspond to regular languages, equivalence of MSO formulas can be reduced to the equivalence of some regular structures (e.g. automata). This paper presents a verified functional decision procedure for MSO formulas that is not based on automata but on regular expressions. Functional languages are ideally suited for this task: regular expressions are data types and functions on them are defined by pattern matching and recursion and are verified by structural induction.
Dmitriy Traytel, Tobias Nipkow
ICFP1
2012 Foundational, Compositional (Co)datatypes for Higher-Order Logic: Category Theory Applied to Theorem Proving
abstract
Interactive theorem provers based on higher-order logic (HOL) traditionally follow the definitional approach, reducing high-level specifications to logical primitives. This also applies to the support for datatype definitions. However, the internal datatype construction used in HOL4, HOL Light, and Isabelle/HOL is fundamentally noncompositional, limiting its efficiency and flexibility, and it does not cater for codatatypes. We present a fully modular framework for constructing (co)datatypes in HOL, with support for mixed mutual and nested (co)recursion. Mixed (co)recursion enables type definitions involving both datatypes and codatatypes, such as the type of finitely branching trees of possibly infinite depth. Our framework draws heavily from category theory. The key notion is that of a bounded natural functor---an enriched type constructor satisfying specific properties preserved by interesting categorical operations. Our ideas are implemented as a definitional package in Isabelle, addressing a frequent request from users.
Dmitriy Traytel, Andrei Popescu 0001, Jasmin Blanchette
LICS1
2011 Extending Hindley-Milner Type Inference with Coercive Structural Subtyping
Dmitriy Traytel, Stefan Berghofer, Tobias Nipkow
APLAS1