31 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
Categorical Semantics for Functional Reactive Programming with Temporal Recursion and Corecursion
Functional reactive programming (FRP) makes it possible to express temporal
aspects of computations in a declarative way. Recently we developed two kinds
of categorical models of FRP: abstract process categories (APCs) and concrete
process categories (CPCs). Furthermore we showed that APCs generalize CPCs. In
this paper, we extend APCs with additional structure. This structure models
recursion and corecursion operators that are related to time. We show that the
resulting categorical models generalize those CPCs that impose an additional
constraint on time scales. This constraint boils down to ruling out
-supertasks, which are closely related to Zeno's paradox of Achilles
and the tortoise.Comment: In Proceedings MSFP 2014, arXiv:1406.153
Step-Indexed Normalization for a Language with General Recursion
The Trellys project has produced several designs for practical dependently
typed languages. These languages are broken into two
fragments-a_logical_fragment where every term normalizes and which is
consistent when interpreted as a logic, and a_programmatic_fragment with
general recursion and other convenient but unsound features. In this paper, we
present a small example language in this style. Our design allows the
programmer to explicitly mention and pass information between the two
fragments. We show that this feature substantially complicates the metatheory
and present a new technique, combining the traditional Girard-Tait method with
step-indexed logical relations, which we use to show normalization for the
logical fragment.Comment: In Proceedings MSFP 2012, arXiv:1202.240
Sequent Calculus in the Topos of Trees
Nakano's "later" modality, inspired by G\"{o}del-L\"{o}b provability logic,
has been applied in type systems and program logics to capture guarded
recursion. Birkedal et al modelled this modality via the internal logic of the
topos of trees. We show that the semantics of the propositional fragment of
this logic can be given by linear converse-well-founded intuitionistic Kripke
frames, so this logic is a marriage of the intuitionistic modal logic KM and
the intermediate logic LC. We therefore call this logic
. We give a sound and cut-free complete sequent
calculus for via a strategy that decomposes
implication into its static and irreflexive components. Our calculus provides
deterministic and terminating backward proof-search, yields decidability of the
logic and the coNP-completeness of its validity problem. Our calculus and
decision procedure can be restricted to drop linearity and hence capture KM.Comment: Extended version, with full proof details, of a paper accepted to
FoSSaCS 2015 (this version edited to fix some minor typos
Guarded Dependent Type Theory with Coinductive Types
We present guarded dependent type theory, gDTT, an extensional dependent type
theory with a `later' modality and clock quantifiers for programming and
proving with guarded recursive and coinductive types. The later modality is
used to ensure the productivity of recursive definitions in a modular, type
based, way. Clock quantifiers are used for controlled elimination of the later
modality and for encoding coinductive types using guarded recursive types. Key
to the development of gDTT are novel type and term formers involving what we
call `delayed substitutions'. These generalise the applicative functor rules
for the later modality considered in earlier work, and are crucial for
programming and proving with dependent types. We show soundness of the type
theory with respect to a denotational model.Comment: This is the technical report version of a paper to appear in the
proceedings of FoSSaCS 201
Foundational Extensible Corecursion
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 well-behaved operations, including
constructors. Corecursive functions that are well behaved 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