# Jakob RehofTechnische Universität Dortmund | TUD · Faculty of Computer Science

Jakob Rehof

Professor

## About

93

Publications

9,789

Reads

**How we measure 'reads'**

A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more

2,079

Citations

Introduction

Jakob’s research has spanned topics in logic, type theory, lambda calculus, concurrency theory, and programming languages - often with a focus on algorithms, complexity, and decidability - and applications thereof.

## Publications

Publications (93)

A data ecosystem (DE) offers a keystone-player or alliance-driven infrastructure that enables the interaction of different stakeholders and the resolution of interoperability issues among shared data. However, despite years of research in data governance and management, trustability is still affected by the absence of transparent and traceable data...

A Data Ecosystem offers a keystone-player or alliance-driven infrastructure that enables the interaction of different stakeholders and the resolution of interoperability issues among shared data. However, despite years of research in data governance and management, trustability is still affected by the absence of transparent and traceable data-driv...

The planning of machining operations for components using CAM requires careful consideration by highly trained personnel, with rising complexity in part requirements. This work proposes a novel domain-specific planning technique using Combinatory Logic Synthesis to generate a multitude of tool paths. By analyzing current state CNC path planning alg...

Simulations are a common tool in the warehouse planning and adoption process for evaluating and comparing variants of a storage system. But simulation modeling is a complex and time-consuming task. Due to limited resources, often not all possible system variants can be modeled. A promising solution is the migration of an existing simulation model t...

There is a high degree of ﬂexibility in the design of production systems when it comes to the selection and conﬁguration of machines. Simulation
supports this complex decision process. However, modeling various conﬁgurations in a simulation environment is very time-consuming. We
present a framework that includes component-based software synthesis t...

This report documents the program and the outcomes of Dagstuhl Seminar 19391 "Data Ecosystems: Sovereign Data Exchange among Organizations". The goal of the seminar was to bring together people from different disciplines (also outside the computer science area), in order to identify (i) a set of research challenges for the future development of dat...

We show that recognizing axiomatizations of the Hilbert-style calculus containing only the axiom a → (b → a) is undecidable (a reduction from the Post correspondence problem is formalized in the Lean theorem prover). Interestingly, the problem remains undecidable considering only axioms which, when seen as simple types, are principal for some λ-ter...

It is shown that in the simply typed λ-calculus the following decision problem of principal inhab-itation is Pspace-complete: Given a simple type τ , is there a λ-term N in β-normal form such that τ is the principal type of N ? While a Ben-Yelles style algorithm was presented by Broda and Damas in 1999 to count normal principal inhabitants (thereby...

Provability in the intuitionistic second-order propositional logic (resp. inhabitation in the polymorphic lambda-calculus) was shown by Löb to be undecidable in 1976. Since the original proof is heavily condensed, Arts in collaboration with Dekkers provided a fully unfolded argument in 1992 spanning approximately fifty pages. Later in 1997, Urzyczy...

We revisit the undecidability result of rank 3 intersection type inhabitation (Urzyczyn
2009) in pursuit of two goals. First, we simplify the existing proof, reducing simple semi-Thue
systems to intersection type inhabitation in the original Coppo-Dezani type assignment system.
Additionally, we outline a direct reduction from the Turing machine hal...

Water, light, plants and animals: the interplay of these factors in a natural ecosystem is an excellent role model for state-of-the-art value chains within economy, as ecosys-tems are characterized by the fact that not one of the systems members is able to optimize their well-being on their own. Any ecosystem has to come together and act as a whole...

A decision procedure for the Barendregt-Coppo-Dezani subtype relation on intersection types (“BCD subtyping”) is presented and formally verified in Coq. Types are extended with unary, covariant, distributing, preordered type constructors and binary products. A quadratic upper bound on the algorithm runtime is established. The formalization can be c...

We develop an algebraic and algorithmic theory of principality for the recently introduced framework of intersection type calculi with dimensional bound. The theory enables inference of principal type information under dimensional bound, it provides an algebraic and algorithmic theory of approximation of classical principal types in terms of comput...

Increasing competition, stronger customer focus, shorter product lifecycles and accelerated technological developments imply that companies are faced with the challenge of adapting their own production to the circumstances at ever shorter intervals. The factory planning project is becoming increasingly complex, but there is less and less time avail...

Combinatory Process Synthesis (CPS) is a special case of software synthesis that can be used to manage variability by synthetizing target-specific processes from a repository of components. While conducted CPS research mainly addresses formal aspects of algorithm engineering, no structured methodology is available that enables the broader industria...

Das Graduiertenkolleg „Anpassungsintelligenz von Fabriken im dynamischen und komplexen Umfeld“ (GRK 2193) ist ein durch die Deutsche Forschungsgemeinschaft gefördertes koordiniertes Promotionsprogramm zur Förderung des wissenschaftlichen Nachwuchses im Themenfeld der interdisziplinären Fabrikanpassungsplanung. Das Graduiertenkolleg umspannt Doktora...

We present a method for synthesizing compositions of mixins using type inhabitation in intersection types. First, recursively defined classes and mixins, which are functions over classes, are expressed as terms in a lambda calculus with records. Intersection types with records and record-merge are used to assign meaningful types to these terms with...

The algebraic intersection type unification problem is an important component in proof search related to several natural decision problems in intersection type systems. It is unknown and remains open whether the algebraic intersection type unification problem is decidable. We give the first nontrivial lower bound for the problem by showing (our mai...

We revisit the undecidability result of rank 3 intersection type inhabitation (Urzyczyn 2009) in pursuit of two goals. First, we strengthen the previous result by showing that intersection type inhabitation is undecidable for types of rank 3 and order 3, i.e. it is not necessary to introduce new functional dependencies (new instructions) during pro...

A notion of dimension in intersection typed λ-calculi is presented. The dimension of a typed λ-term is given by the minimal norm of an elaboration (a proof theoretic decoration) necessary for typing the term at its type, and, intuitively, measures intersection introduction as a resource.
Bounded-dimensional intersection type calculi are shown to en...

Existierende Fabrikplanungsmodelle werden der Komplexität und Dynamik kontinuierlicher Fabriksystemanpassungen nicht ausreichend gerecht. Der vorgestellte Ansatz betrachtet einen modularen Aufbau von Planungsverläufen, welche mittels logikbasiertem Constraintsolving zusammengestellt werden. Das Ziel des Ansatzes ist die Entwicklung einer Planungsas...

A notion of dimension in intersection typed λ-calculi is presented. The dimension of a typed λ-term is given by the minimal norm of an elaboration (a proof theoretic decoration) necessary for typing the term at its type, and, intuitively, measures intersection introduction as a resource.
Bounded-dimensional intersection type calculi are shown to en...

A typed \(\lambda \)-calculus, \(\lambda ^{\cap \Box }\), is introduced, combining intersection types and modal types. We develop the metatheory of \(\lambda ^{\cap \Box }\), with particular emphasis on the theory of subtyping and distributivity of the modal and intersection type operators. We describe how a stratification of \(\lambda ^{\cap \Box...

The intersection type unification problem is an important component in proof search related to several natural decision problems in intersection type systems. It is unknown and remains open whether the unification problem is decidable. We give the first nontrivial lower bound for the problem by showing (our main result) that it is exponential time...

We report on a type-theoretic method for functional synthesis of processes from repositories of components. Our method relies on the existing framework for composition synthesis based on combinatory logic, (CL)S. Simple types for BPMN 2.0 components and a taxonomy of domain specific concepts are used to assign types to BPMN 2.0 fragments and functi...

This paper offers a personal reflection on a number of attempts over the past decade to apply a variety of approaches to construct a product line for solitaire card games implemented in Java. A product line shares a common set of features developed from a common set of software artifacts. A feature is a unit of functionality within a system that is...

It is an old and beautiful dream of computer science to synthesize software applications from specifications. The beginning can be traced back to, at least, to 1957 (Summer Institute of Symbolic Logic, Cornell 1957) when Alonzo Church proposed to consider the problem of automatically constructing a finite-state procedure implementing a given input/...

We describe a method for automatically transforming feature grammars into type-specifications which are subsequently used to synthesize a code-generator for a product of a given feature selection.
Feature models are assumed to be given in the form of feature grammars with constraints, and we present a generic type-theoretic representation of such g...

For many software engineers, object-oriented frameworks represent the highest level of achievement in extensible design. The framework designers become experts in a specific application domain and design cooperating classes that impose specific responsibilities and collaborations for those seeking to extend the framework. In short, once a framework...

The composition of features that interact with each other is challenging. Algebraic formalisms have been proposed by various authors to describe feature compositions and their interactions. The intention of feature compositions is the composition of code modules to a product that fulfills users' requirements expressed by a feature selection. These...

Developing a Software Product Line is a significant investment since domain experts must work together with software developers to understand and model a specific domain and then transform those models into a working software system. A product line increases the essential complexity of software assets because of the widespread variability among the...

We present a method for synthesizing compositions of mixins using type inhabitation in intersection types. First, recursively defined classes and mixins, which are functions over classes, are expressed as terms in a lambda calculus with records. Intersection types with records and record-merge are used to assign meaningful types to these terms with...

This volume contains a final and revised selection of papers presented at the
Seventh Workshop on Intersection Types and Related Systems (ITRS 2014), held in
Vienna (Austria) on July 18th, affiliated with TLCA 2014, Typed Lambda Calculi
and Applications (held jointly with RTA, Rewriting Techniques and Applications)
as part of FLoC and the Vienna Su...

This edited monograph brings together research papers covering the state of the art in cloud computing for logistics. The book includes general business object models for intralogistics as well as user-friendly methods for logistics business process design. It also presents a general template for logistics applications from the cloud. The target au...

Positionspapier Logistik und IT: Die Verbindund zwischen Informationstechnologie und Logistik birgt das größte Potenzial für die Zukunftsfähigkeit des Wirtschaftsstandortes Deutschland.

We present Combinatory Logic Synthesizer (CL)S, a type-based tool to automatically compose larger systems from repositories of components. We overview its underlying theory, combinatory logic with intersection types, and exemplify its application to synthesis. We describe features and architecture of the tool and our plans for its ongoing and futur...

A framework for composition synthesis is provided in which metalanguage combinators are supported and the execution of synthesized programs can be staged into composition-time code generation (stage 1) and run-time execution (stage 2). By extending composition synthesis to encompass both object language (L1) and metalanguage (L2) combinators, compo...

This report documents the program and the outcomes of Dagstuhl Seminar 14232 "Design and Synthesis from Components" which took place from June 1st to June 6th, 2014. The seminar aimed at bringing together researchers from the component-oriented design community, researchers working on interface theories, and researchers working in synthesis, in ord...

We describe ongoing work on a framework for automatic composition synthesis
from a repository of software components. This work is based on combinatory
logic with intersection types. The idea is that components are modeled as typed
combinators, and an algorithm for inhabitation {\textemdash} is there a
combinatory term e with type tau relative to a...

Type matching problems occur in a number of contexts, including library search, component composition, and inhabitation. We consider the intersection type matching problem under the standard notion of subtyping for intersection types: Given intersection types τ and σ, where σ is a constant type, does there exist a type substitution S such that S(τ)...

In combinatory logic one usually assumes a fixed set of basic combinators (axiom schemes), usually K and S. In this setting the set of provable formulas (inhabited types) is Pspace-complete in simple types and undecidable in intersection types. When arbitrary sets of axiom schemes are considered, the inhabitation problem is undecidable even in simp...

In combinatory logic one usually assumes a fixed set of basic combinators (axiom schemes), usually K and S. In this setting the set of provable formulas (inhabited types) is PSPACE-complete in simple types and undecidable in intersection types. When arbitrary sets of axiom schemes are considered, the inhabitation problem is undecidable even in simp...

It is shown that the inhabitation problem for intersection types without the intersection introduction rule is Expspace-complete and that the further restriction without subtyping is Pspace-complete.

Combinatory logic is based on modus ponens and a schematic (polymorphic) interpretation of axioms. In this paper we propose
to consider expressive combinatory logics under the restriction that axioms are not interpreted schematically but ,,literally”,
corresponding to a monomorphic interpretation of types. We thereby arrive at finite combinatory lo...

We present a novel approach to computing the context-sensitive flow of values through procedures and data structures. Our approach combines and extends techniques from two seemingly disparate areas: polymorphic subtyping and interprocedural dataflow analysis based on context-free language reachability. The resulting technique offers several advanta...

We propose a technique to avoid deadlocks in a system of communicating processes. Our network model is very general. It supports dynamic process and channel creation and the ability to send channel endpoints over channels, thereby allowing arbitrary dynamically configured networks. Deadlocks happen in such networks if there is a cycle created by a...

The interaction among concurrently executing threads of a program results in insidious programming errors that are difficult to reproduce and fix. Unfortunately, the problem of verifying a concurrent boolean program is undecidable (24). In this paper, we prove that the problem is decidable, even in the presence of unbounded parallelism, if the anal...

We have implemented a contract checker for asynchronous, message-passing applications to check that service implementations
conform to behavioural contracts. Our contract checker is based on a process algebraic theory of conformance and is implemented
on top of a software model checker, Zing. The purpose of this paper is to explain the model constr...

Model checking is a technique for finding bugs in systems by systematically exploring their state spaces. We wish to extract sound models from concurrent programs automatically and check the behaviors of these models systematically. The zing project is an effort to build a flexible infrastructure to represent and model check abstractions of large c...

The zing project is an effort to build a flexible and scalable model checking infrastructure for concurrent software. The project
is divided into four components: (1) a modeling language for expressing concurrent models of software systems, (2) a compiler
for translating a zing model into an executable representation of its transition relation, (3)...

The ability to summarize procedures is fundamental to building scalable interprocedural analyses. For sequential programs, procedure summarization is well-understood and used routinely in a variety of compiler optimizations and software defect-detection tools. However, the benefit of summarization is not available to multithreaded programs, for whi...

We propose a notion of conformance between a specifica- tion S and an implementation modelI extracted from a message-passing program. In our framework, S and I are CCS processes, which soundly abstract the externallyvisible communication behavior of a message- passing program. We use the extracted models to check that programs do not get stuck, wai...

ion and composition are the fundamental issues in making model checking viable for software. This paper proposes new techniques for automating abstraction and decomposition using source level type information provided by the programmer. Our system includes two novel components to achieve this end: (1) a behavioral type-and-effect system for the π-c...

Abstraction and composition are the fundamental issues in making model checking viable for software. This paper proposes new techniques for automating abstraction and decomposition using source level type information provided by the programmer. Our system includes two novel components to achieve this end: (1) a new behavioral type-and-effect system...

Distributed message-passing based asynchronous systems are becoming increasingly important. Such systems are notoriously hard to design and test. A promising approach to help programmers design such programs is to provide a behavioral type system that checks for behavioral properties such as deadlock freedom using a combination of type inference an...

This paper addresses the following question: Do scalable control-flow-insensitive pointer analyses provide the level of precision required to make them useful in compiler optimizations?
We first describe alias frequency, a metric that measures the ability of a pointer analysis to determine that pairs of memory accesses in C programs cannot be alias...

We present a novel approach to scalable implementation of type-based flow analysis with polymorphic subtyping. Using a new presentation of polymorphic subytping with instantiation constraints, we are able to apply context-free language (CFL) reachability techniques to type-based flow analysis. We develop a CFL-based algorithm for computing flow-inf...

We present a novel approach to scalable implementation of type-based flow analysis with polymorphic subtyping. Using a new presentation of polymorphic subytping with instantiation constraints, we are able to apply context-free language (CFL) reachability techniques to type-based flow analysis. We develop a CFL-based algorithm for computing flow-inf...

We present a novel approach to scalable implementation of type-based flow analysis with polymorphic subtyping. Using a new presentation of polymorphic subtyping with instantiation constraints, we are able to apply context-free language (CFL) reachability techniques to type-based flow analysis. We develop a CFL-based algorithm for computing flow inf...

This paper shows that a type graph (obtained via polymorphic type inference) harbors explicit directional flow paths between functions. These flow paths arise from the instantiations of polymorphic types and correspond to call-return sequences in first-order programs. We show that flow information can be computed efficiently while considering only...

This paper shows that a type graph (obtained via polymorphic type
inference) harbors explicit directional flow paths between functions. These flow paths arise from the instantiations of polymorphic types and correspond to call-return sequences in first-order programs. We show that flow information can be computed efficiently while considering only...

We present a novel approach to computing context-sensitive flow of values through procedures and data structures. Our approach combines and extends techniques from two seemingly disparate areas: polymorphic subtyping and interprocedural dataflow analysis based on context-free language reachability. The resulting technique offers several advantages...

Java source code is strongly typed, but the translation from Java source to bytecode omits much of the type information originally contained within methods. Type elaboration is a technique for reconstructing strongly typed programs from incompletely typed bytecode by inferring types for local variables. There are situations where, technically, ther...

We study entailment of structural and nonstructural recursive subtyping constraints. Constraints are formal inequalities between type expressions, interpreted over an ordered set of possibly infinite labeled trees. The nonstructural ordering on trees is the one introduced by Amadio and Cardelli for subtyping with recursive types. The structural ord...

. We introduce the notion of definite inequality constraints involving monotone functions in a finite meet-semilattice, generalizing the logical notion of Horn-clauses, and we give a linear time algorithm for deciding satisfiability. We characterize the expressiveness of the framework of definite constraints and show that the algorithm uniformly so...

We describe a new method for polymorphic type inference for the dynamically typed language Scheme. The method infers both types and explicit run-time type operations (coercions) for a given program. It can be used to statically debug Scheme programs and to give a high-level translation to ML, in essence providing an "embedding" of Scheme into ML. O...

A subtyping τ⩽τ' is entailed by a set of subtyping constraints C, written C |=τ⩽τ', if every valuation (mapping of type variables to ground types) that satisfies C also satisfies τ⩽τ'. We study the complexity of subtype entailment for simple types over lattices of base types. We show that: deciding C |=τ⩽τ' is coNP-complete; decidin...

This paper studies the problem of simplifying typings and the size-complexity of most general typings in typed programming languages with atomic subtyping. We define a notion of minimal typings relating all typings which are equivalent with respect to instantiation. The notion of instance is that of Fuh and Mishra [13], which supports many interest...

We show that the standard method of saturated sets for proving strong normalization of β-reduction in the simply typed and second-order polymorphic lambda calculus incorporates non-structural subtyping systems in a natural way. This shows that strong normalization for non-structural subtyping proved by Wand, O'Keefe and Palsberg (1995) via coercion...

We present a novel refinement relation (stuck-free conformance) for CCS processes, which satisfies the substitutability property:
If I conforms to S, and P is any environment such that P | S is stuck-free, then P | I is stuck-free. Stuck-freedom is related to the CSP notion of deadlock, but it is more discriminative by taking orphan messages
in asy...

By restriction of Felleisen's control operator F we obtain an operator and a fully compatible, Church-Rosser control calculus
enjoying a number of desirable properties. It is shown that
contains a strongly normalizing typed subcalculus with a reduction corresponding closely to systems of proof normalization for classical logic. The calculus is mo...

We present a novel refinement relation (stuck-free conformance) for CCS processes, which satisfies the substitutability property: If an implementation I conforms to a specification S, then C[S] stuck-free implies C[I] stuck-free, on any selected names ~a and for all CCS contexts C. Stuck-freedom is related to the CSP notion of deadlock, but it is m...