Gert Smolka

dblp:s/GertSmolka · DBLP profile ↗
← Back
52ranked-venue papers
7as first author
2since 2021 · last 2023
—ORCID · none

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

Theory of computation · 34 · 5 first-author · 2 since 2021Software engineering, systems software and programming languages · 19 · 2 first-author · 1 since 2021Artificial intelligence and machine learning · 13Graphics, computer vision, multimedia, augmented reality and games · 2Systems, architecture and hardware · 1 · 1 first-author
YearPublicationVenuePosition
2023 A Computational Cantor-Bernstein and Myhill's Isomorphism Theorem in Constructive Type Theory (Proof Pearl)
abstract
The Cantor-Bernstein theorem (CB) from set theory, stating that two sets which can be injectively embedded into each other are in bijection, is inherently classical in its full generality, i.e. implies the law of excluded middle, a result due to Pradic and Brown. Recently, Escardó has provided a proof of CB in univalent type theory, assuming the law of excluded middle. It is a natural question to ask which restrictions of CB can be proved without axiomatic assumptions. We give a partial answer to this question contributing an assumption-free proof of CB restricted to enumerable discrete types, i.e. types which can be computationally treated.
Yannick Forster 0002, Felix Jahn, Gert Smolka
CPP3
2021 A Mechanised Proof of the Time Invariance Thesis for the Weak Call-By-Value λ-Calculus
abstract
The weak call-by-value λ-calculus Łand Turing machines can simulate each other with a polynomial overhead in time. This time invariance thesis for L, where the number of β-reductions of a computation is taken as its time complexity, is the culmination of a 25-years line of research, combining work by Blelloch, Greiner, Dal Lago, Martini, Accattoli, Forster, Kunze, Roth, and Smolka. The present paper presents a mechanised proof of the time invariance thesis for L, constituting the first mechanised equivalence proof between two standard models of computation covering time complexity. The mechanisation builds on an existing framework for the extraction of Coq functions to L and contributes a novel Hoare logic framework for the verification of Turing machines. The mechanised proof of the time invariance thesis establishes Łas model for future developments of mechanised computational complexity theory regarding time. It can also be seen as a non-trivial but elementary case study of time-complexity-preserving translations between a functional language and a sequential machine model. As a by-product, we obtain a mechanised many-one equivalence proof of the halting problems for Łand Turing machines, which we contribute to the Coq Library of Undecidability Proofs.
Yannick Forster 0002, Fabian Kunze, Gert Smolka, Maxi Wuttke
ITP3
2020 A history of the Oz multiparadigm language
abstract
Oz is a programming language designed to support multiple programming paradigms in a clean factored way that is easy to program despite its broad coverage. It started in 1991 as a collaborative effort by the DFKI (Germany) and SICS (Sweden) and led to an influential system, Mozart, that was released in 1999 and widely used in the 2000s for practical applications and education. We give the history of Oz as it developed from its origins in logic programming, starting with Prolog, followed by concurrent logic programming and constraint logic programming, and leading to its two direct precursors, the concurrent constraint model and the Andorra Kernel Language (AKL). We give the lessons learned from the Oz effort including successes and failures and we explain the principles underlying the Oz design. Oz is defined through a kernel language, which is a formal model similar to a foundational calculus, but that is designed to be directly useful to the programmer. The kernel language is organized in a layered structure, which makes it straightforward to write programs that use different paradigms in different parts. Oz is a key enabler for the bookConcepts, Techniques, and Models of Computer Programming(MIT Press, 2004). Based on the book and the implementation, Oz has been used successfully in university-level programming courses starting from 2001 to the present day.
Peter Van Roy, Seif Haridi, Christian Schulte 0001, Gert Smolka
Proc. ACM Program. Lang.4
2019 On synthetic undecidability in coq, with an application to the entscheidungsproblem
abstract
We formalise the computational undecidability of validity, satisfiability, and provability of first-order formulas following a synthetic approach based on the computation native to Coq's constructive type theory. Concretely, we consider Tarski and Kripke semantics as well as classical and intuitionistic natural deduction systems and provide compact many-one reductions from the Post correspondence problem (PCP). Moreover, developing a basic framework for synthetic computability theory in Coq, we formalise standard results concerning decidability, enumerability, and reducibility without reference to a concrete model of computation. For instance, we prove the equivalence of Post's theorem with Markov's principle and provide a convenient technique for establishing the enumerability of inductive predicates such as the considered proof systems and PCP.
Yannick Forster 0002, Dominik Kirst, Gert Smolka
CPP3
2019 Call-by-Value Lambda Calculus as a Model of Computation in Coq
Yannick Forster 0002, Gert Smolka
J. Autom. Reason.2
2019 Categoricity Results and Large Model Constructions for Second-Order ZF in Dependent Type Theory
Dominik Kirst, Gert Smolka
J. Autom. Reason.2
2018 Formal Small-Step Verification of a Call-by-Value Lambda Calculus Machine
Fabian Kunze, Gert Smolka, Yannick Forster 0002
APLAS2
2018 Large model constructions for second-order ZF in dependent type theory
abstract
We study various models of classical second-order set theories in the dependent type theory of Coq. Without logical assumptions, Aczel’s sets-as-trees interpretation yields an intensional model of second-order ZF with functional replacement. Building on work of Werner and Barras, we discuss the need for quotient axioms in order to obtain extensional models with relational replacement and to construct large sets. Specifically, we show that the consistency strength of Coq extended by excluded middle and a description operator on well-founded trees allows for constructing models with exactly n Grothendieck universes for every natural number n. By a previous categoricity result based on Zermelo’s embedding theorem, it follows that those models are unique up to isomorphism. Moreover, we show that the smallest universe contains exactly the hereditarily finite sets and give a concise independence proof of the foundation axiom based on permutation models.
Dominik Kirst, Gert Smolka
CPP2
2018 Verification of PCP-Related Computational Reductions in Coq
Yannick Forster 0002, Edith Heiter, Gert Smolka
ITP3
2018 Regular Language Representations in the Constructive Type Theory of Coq
Christian Doczkal, Gert Smolka
J. Autom. Reason.2
2017 Tower Induction and Up-to Techniques for CCS with Fixed Points
Steven Schäfer, Gert Smolka
RAMiCS2
2017 Equivalence of system f and ź2 in Coq based on context morphism lemmas
abstract
We give a machine-checked proof of the equivalence of the usual, two-sorted presentation of System F and its single-sorted pure type system variant λ2. This is established by reducing the typability problem of F to λ2 and vice versa. The difficulty lies in aligning different binding-structures and different contexts (dependent vs. non-dependent). The use of de Bruijn syntax, parallel substitutions, and context morphism lemmas leads to an elegant proof. We use the Coq proof assistant and the substitution library Autosubst.
Jonas Kaiser, Tobias Tebbi, Gert Smolka
CPP3
2017 Weak Call-by-Value Lambda Calculus as a Model of Computation in Coq
Yannick Forster 0002, Gert Smolka
ITP2
2017 Categoricity Results for Second-Order ZF in Dependent Type Theory
Dominik Kirst, Gert Smolka
ITP2
2016 Axiomatic semantics for compiler verification
abstract
Based on constructive type theory, we study two idealized imperative languages GC and IC and verify the correctness of a compiler from GC to IC. GC is a guarded command language with underspecified execution order defined with an axiomatic semantics. IC is a deterministic low-level language with linear sequential composition and lexically scoped gotos defined with a small-step semantics. We characterize IC with an axiomatic semantics and prove that the compiler from GC to IC preserves specifications. The axiomatic semantics we consider model total correctness and map programs to continuous predicate transformers. We define the axiomatic semantics of GC and IC with elementary inductive predicates and show that the predicate transformer described by a program can be obtained compositionally by recursion on the syntax of the program using a fixed point operator for loops and continuations. We also show that two IC programs are contextually equivalent if and only if their predicate transformers are equivalent.
Steven Schäfer, Sigurd Schneider, Gert Smolka
CPP3
2016 Two-Way Automata in Coq
Christian Doczkal, Gert Smolka
ITP2
2016 Hereditarily Finite Sets in Constructive Type Theory
Gert Smolka, Kathrin Stark
ITP1
2016 Completeness and Decidability Results for CTL in Constructive Type Theory
Christian Doczkal, Gert Smolka
J. Autom. Reason.2
2015 Completeness and Decidability of de Bruijn Substitution Algebra in Coq
abstract
We consider a two-sorted algebra over de Bruijn terms and de Bruijn substitutions equipped with the constants and operations from Abadi et al.'s sigma-calculus. We consider expressions with term variables and substitution variables and show that the semantic equivalence obtained with the algebra coincides with the axiomatic equivalence obtained with finitely many axioms based on the sigma-calculus. We prove this result with an informative decision algorithm for axiomatic equivalence, which in the negative case returns a variable assignment separating the given expressions in the algebra. The entire development is formalized in Coq.
Steven Schäfer, Gert Smolka, Tobias Tebbi
CPP2
2015 Autosubst: Reasoning with de Bruijn Terms and Parallel Substitutions
Steven Schäfer, Tobias Tebbi, Gert Smolka
ITP3
2015 A Linear First-Order Functional Intermediate Language for Verified Compilers
Sigurd Schneider, Gert Smolka, Sebastian Hack
ITP2
2015 Transfinite Constructions in Classical Type Theory
Gert Smolka, Steven Schäfer, Christian Doczkal
ITP1
2014 Completeness and Decidability Results for CTL in Coq
Christian Doczkal, Gert Smolka
ITP2
2014 A Goal-Directed Decision Procedure for Hybrid PDL
Mark Kaminski, Gert Smolka
J. Autom. Reason.2
2013 A Constructive Theory of Regular Languages in Coq
Christian Doczkal, Jan-Oliver Kaiser, Gert Smolka
CPP3
2013 Unification Modulo Nonnested Recursion Schemes via Anchored Semi-Unification
abstract
A recursion scheme is an orthogonal rewriting system with rules of the form f(x1,...,xn) -> s. We consider terms to be equivalent if they rewrite to the same redex-free possibly infinite term after infinitary rewriting. For the restriction to the nonnested case, where nested redexes are forbidden, we prove the existence of principal unifiers modulo scheme equivalence. We give an algorithm computing principal unifiers by reducing the problem to a novel fragment of semi-unification we call anchored semi-unification. For anchored semi-unification, we develop a decision algorithm that returns a principal semi-unifier in the positive case.
Gert Smolka, Tobias Tebbi
RTA1
2012 Constructive Completeness for Modal Logic with Transitive Closure
Christian Doczkal, Gert Smolka
CPP2
2011 Constructive Formalization of Hybrid Logic with Eventualities
Christian Doczkal, Gert Smolka
CPP2
2011 Correctness and Worst-Case Optimality of Pratt-Style Decision Procedures for Modal and Hybrid Logics
Mark Kaminski, Thomas Schneider 0002, Gert Smolka
TABLEAUX3
2009 Terminating Tableaux for the Basic Fragment of Simple Type Theory
Chad E. Brown, Gert Smolka
TABLEAUX2
2009 Terminating Tableaux for Graded Hybrid Logic with Global Modalities and Role Hierarchies
Mark Kaminski, Sigurd Schneider, Gert Smolka
TABLEAUX3
2006 Generating Propagators for Finite Set Constraints
Guido Tack, Christian Schulte 0001, Gert Smolka
CP3
2006 A concurrent lambda calculus with futures
Joachim Niehren, Jan Schwinghammer, Gert Smolka
Theor. Comput. Sci.3
2004 A Relational Syntax-Semantics Interface Based on Dependency Grammar
Ralph Debusmann, Denys Duchier, Alexander Koller, Marco Kuhlmann, Gert Smolka, Stefan Thater
COLING5
1999 Efficient logic variables for distributed computing
abstract
We define a practical algorithm for distrubuted rational tree unification and prove its correctness in both the off-line and on-line cases. We derive the distributed algorithm from a centralized one, showing clearly the trade-offs between local and distributed execution. The algorithm is used to realize logic variables in the Mozart Programming System, which implements the Oz language (see http://www/mozart-oz.org). Oz appears to the programmer as a concurrent object-oriented language with dataflow synchronization. Logic variables implement the dataflow behavior. We show that lohgic variables can easily be added to the more restricted models of Java and ML, thus providing an alternative way to do concurent programming in these languages. We present common distributed programming idioms in a network-transparent way using logic variables. We show that in common cases the algorithm maintains the same message latency as explicit message passing. In addition, it is able to handle uncommon cases that arise from the properties of latency tolerance and third-party independence. This is evidence that using logic variables in distributed computing is beneficial at both the system and language levels. At the system level, they improve latency tolerance and third-party independence. At the language level, they help make network-transparent distribution practical.
Seif Haridi, Peter Van Roy, Per Brand, Michael Mehl, Ralf Scheidhauer, Gert Smolka
ACM Trans. Program. Lang. Syst.6
1998 Concurrent Constraint Programming Based on Functional Programming (Extended Abstract)
Gert Smolka
ESOP1
1997 Situated Simplification
Andreas Podelski, Gert Smolka
Theor. Comput. Sci.2
1997 Mobile Objects in Distributed Oz
abstract
Some of the most difficult questions to answer when designing a distributed application are related to mobility: what information to transfer between sites and when and how to transfer it. Network-transparent distribution, the property that a program's behavior is independent of how it is partitioned among sites, does not directly address these questions. Therefore we propose to extend all language entities with a network behavior that enables efficient distributed programming by giving the programmer a simple and predictable control over network communication patterns. In particular, we show how to give objects an arbitrary mobility behavior that is independent of the objects definition. In this way, the syntax and semantics of objects are the same regardless of whether they are used as stationary servers, mobile agents, or simply as caches. These ideas have been implemented in Distributed Oz, a concurrent object-oriented language that is state aware and has dataflow synchronization. We prove that the implementation of objects in Distributed Oz is network transparent. To satisfy the predictability condition, the implementation avoids forwarding chains through intermediate sites. The implementation is an extension to the publicly available DFKI Oz 2.0 system.
Peter Van Roy, Seif Haridi, Per Brand, Gert Smolka, Michael Mehl, Ralf Scheidhauer
ACM Trans. Program. Lang. Syst.4
1995 Situated Simplification
Andreas Podelski, Gert Smolka
CP2
1995 The Oz Programming Model (Extended Abstract)
Gert Smolka
Euro-Par1
1995 Operational Semantics of Constraint Logic Programs with Coroutining
Andreas Podelski, Gert Smolka
ICLP2
1995 Situated Simplification
Andreas Podelski, Gert Smolka
ICLP2
1995 Oz: Concurrent Constraint Programming for Real
Gert Smolka
ICLP1
1995 A Complete and Recursive Feature Theory
Rolf Backofen, Gert Smolka
Theor. Comput. Sci.2
1994 A Feature Constraint System for Logic Programming with Entailment
Hassan Aït-Kaci, Andreas Podelski, Gert Smolka
Theor. Comput. Sci.3
1993 A Complete and Recursive Feature Theory
abstract
Various feature descriptions are being employed in constrained-based grammar formalisms. The common notational primitive of these descriptions are functional attributes called features. The descriptions considered in this paper are the possibly quantified first-order formulae obtained from a signature of features and sorts. We establish a complete first-order theory FT by means of three axiom schemes and construct three elementarily equivalent models.One of the models consists of so-called feature graphs, a data structure common in computational linguistics. The other two models consist of so-called feature trees, a record-like data structure generalizing the trees corresponding to first-order terms.Our completeness proof exhibits a terminating simplification system deciding validity and satisfiability of possibly quantified feature descriptions.
Rolf Backofen, Gert Smolka
ACL2
1993 Oz - A Programming Language for Multi-Agent Systems
Martin Henz, Gert Smolka, Jörg Würtz
IJCAI2
1991 Attributive Concept Descriptions with Complements
Manfred Schmidt-Schauß, Gert Smolka
Artif. Intell.2
1990 Tutorial on Reasoning and Representation with Concept Languages
Jürgen Müller 0008, Franz Baader, Bernhard Nebel, Werner Nutt, Gert Smolka
CADE5
1989 Basic Narrowing Revisited
Werner Nutt, Pierre Réty, Gert Smolka
J. Symb. Comput.3
1989 Inheritance Hierarchies: Semantics and Unification
Gert Smolka, Hassan Aït-Kaci
J. Symb. Comput.1
1981 The Markgraf Karl Refutation Procedure
Karl-Hans Bläsius, Norbert Eisinger, Jörg H. Siekmann, Gert Smolka, Alexander Herold, Christoph Walther
IJCAI4