2,228 research outputs found
Guard Your Daggers and Traces: On The Equational Properties of Guarded (Co-)recursion
Motivated by the recent interest in models of guarded (co-)recursion we study
its equational properties. We formulate axioms for guarded fixpoint operators
generalizing the axioms of iteration theories of Bloom and Esik. Models of
these axioms include both standard (e.g., cpo-based) models of iteration
theories and models of guarded recursion such as complete metric spaces or the
topos of trees studied by Birkedal et al. We show that the standard result on
the satisfaction of all Conway axioms by a unique dagger operation generalizes
to the guarded setting. We also introduce the notion of guarded trace operator
on a category, and we prove that guarded trace and guarded fixpoint operators
are in one-to-one correspondence. Our results are intended as first steps
leading to the description of classifying theories for guarded recursion and
hence completeness results involving our axioms of guarded fixpoint operators
in future work.Comment: In Proceedings FICS 2013, arXiv:1308.589
Classifying topoi in synthetic guarded domain theory
Several different topoi have played an important role in the development and
applications of synthetic guarded domain theory (SGDT), a new kind of synthetic
domain theory that abstracts the concept of guarded recursion frequently
employed in the semantics of programming languages. In order to unify the
accounts of guarded recursion and coinduction, several authors have enriched
SGDT with multiple "clocks" parameterizing different time-streams, leading to
more complex and difficult to understand topos models. Until now these topoi
have been understood very concretely qua categories of presheaves, and the
logico-geometrical question of what theories these topoi classify has remained
open. We show that several important topos models of SGDT classify very simple
geometric theories, and that the passage to various forms of multi-clock
guarded recursion can be rephrased more compositionally in terms of the lower
bagtopos construction of Vickers and variations thereon due to Johnstone. We
contribute to the consolidation of SGDT by isolating the universal property of
multi-clock guarded recursion as a modular construction that applies to any
topos model of single-clock guarded recursion.Comment: To appear in the proceedings of the 38th International Conference on
Mathematical Foundations of Programming Semantics (MFPS 2022
First steps in synthetic guarded domain theory: step-indexing in the topos of trees
We present the topos S of trees as a model of guarded recursion. We study the
internal dependently-typed higher-order logic of S and show that S models two
modal operators, on predicates and types, which serve as guards in recursive
definitions of terms, predicates, and types. In particular, we show how to
solve recursive type equations involving dependent types. We propose that the
internal logic of S provides the right setting for the synthetic construction
of abstract versions of step-indexed models of programming languages and
program logics. As an example, we show how to construct a model of a
programming language with higher-order store and recursive types entirely
inside the internal logic of S. Moreover, we give an axiomatic categorical
treatment of models of synthetic guarded domain theory and prove that, for any
complete Heyting algebra A with a well-founded basis, the topos of sheaves over
A forms a model of synthetic guarded domain theory, generalizing the results
for S
The Clocks They Are Adjunctions: Denotational Semantics for Clocked Type Theory
Clocked Type Theory (CloTT) is a type theory for guarded recursion useful for
programming with coinductive types, allowing productivity to be encoded in
types, and for reasoning about advanced programming language features using an
abstract form of step-indexing. CloTT has previously been shown to enjoy a
number of syntactic properties including strong normalisation, canonicity and
decidability of type checking. In this paper we present a denotational
semantics for CloTT useful, e.g., for studying future extensions of CloTT with
constructions such as path types.
The main challenge for constructing this model is to model the notion of
ticks used in CloTT for coinductive reasoning about coinductive types. We build
on a category previously used to model guarded recursion, but in this category
there is no object of ticks, so tick-assumptions in a context can not be
modelled using standard tools. Instead we show how ticks can be modelled using
adjoint functors, and how to model the tick constant using a semantic
substitution
Inductive and Coinductive Components of Corecursive Functions in Coq
In Constructive Type Theory, recursive and corecursive definitions are
subject to syntactic restrictions which guarantee termination for recursive
functions and productivity for corecursive functions. However, many terminating
and productive functions do not pass the syntactic tests. Bove proposed in her
thesis an elegant reformulation of the method of accessibility predicates that
widens the range of terminative recursive functions formalisable in
Constructive Type Theory. In this paper, we pursue the same goal for productive
corecursive functions. Notably, our method of formalisation of coinductive
definitions of productive functions in Coq requires not only the use of ad-hoc
predicates, but also a systematic algorithm that separates the inductive and
coinductive parts of functions.Comment: Dans Coalgebraic Methods in Computer Science (2008
- …