10,701 research outputs found
Guarded Cubical Type Theory: Path Equality for Guarded Recursion
This paper improves the treatment of equality in guarded dependent type
theory (GDTT), by combining it with cubical type theory (CTT). GDTT is an
extensional type theory with guarded recursive types, which are useful for
building models of program logics, and for programming and reasoning with
coinductive types. We wish to implement GDTT with decidable type-checking,
while still supporting non-trivial equality proofs that reason about the
extensions of guarded recursive constructions. CTT is a variation of
Martin-L\"of type theory in which the identity type is replaced by abstract
paths between terms. CTT provides a computational interpretation of functional
extensionality, is conjectured to have decidable type checking, and has an
implemented type-checker. Our new type theory, called guarded cubical type
theory, provides a computational interpretation of extensionality for guarded
recursive types. This further expands the foundations of CTT as a basis for
formalisation in mathematics and computer science. We present examples to
demonstrate the expressivity of our type theory, all of which have been checked
using a prototype type-checker implementation, and present semantics in a
presheaf category.Comment: 17 pages, to be published in proceedings of CSL 201
Denotational semantics of recursive types in synthetic guarded domain theory
Just like any other branch of mathematics, denotational semantics of programming languages should be formalised in type theory, but adapting traditional domain theoretic semantics, as originally formulated in classical set theory to type theory has proven challenging. This paper is part of a project on formulating denotational semantics in type theories with guarded recursion. This should have the benefit of not only giving simpler semantics and proofs of properties such as adequacy, but also hopefully in the future to scale to languages with advanced features, such as general references, outside the reach of traditional domain theoretic techniques. Working in Guarded Dependent Type Theory (GDTT), we develop denotational semantics for FPC, the simply typed lambda calculus extended with recursive types, modelling the recursive types of FPC using the guarded recursive types of GDTT. We prove soundness and computational adequacy of the model in GDTT using a logical relation between syntax and semantics constructed also using guarded recursive types. The denotational semantics is intensional in the sense that it counts the number of unfold-fold reductions needed to compute the value of a term, but we construct a relation relating the denotations of extensionally equal terms, i.e., pairs of terms that compute the same value in a different number of steps. Finally we show how the denotational semantics of terms can be executed inside type theory and prove that executing the denotation of a boolean term computes the same value as the operational semantics of FPC
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
Alternation in Quantum Programming: From Superposition of Data to Superposition of Programs
We extract a novel quantum programming paradigm - superposition of programs -
from the design idea of a popular class of quantum algorithms, namely quantum
walk-based algorithms. The generality of this paradigm is guaranteed by the
universality of quantum walks as a computational model. A new quantum
programming language QGCL is then proposed to support the paradigm of
superposition of programs. This language can be seen as a quantum extension of
Dijkstra's GCL (Guarded Command Language). Surprisingly, alternation in GCL
splits into two different notions in the quantum setting: classical alternation
(of quantum programs) and quantum alternation, with the latter being introduced
in QGCL for the first time. Quantum alternation is the key program construct
for realizing the paradigm of superposition of programs.
The denotational semantics of QGCL are defined by introducing a new
mathematical tool called the guarded composition of operator-valued functions.
Then the weakest precondition semantics of QGCL can straightforwardly derived.
Another very useful program construct in realizing the quantum programming
paradigm of superposition of programs, called quantum choice, can be easily
defined in terms of quantum alternation. The relation between quantum choices
and probabilistic choices is clarified through defining the notion of local
variables. We derive a family of algebraic laws for QGCL programs that can be
used in program verification, transformations and compilation. The expressive
power of QGCL is illustrated by several examples where various variants and
generalizations of quantum walks are conveniently expressed using quantum
alternation and quantum choice. We believe that quantum programming with
quantum alternation and choice will play an important role in further
exploiting the power of quantum computing.Comment: arXiv admin note: substantial text overlap with arXiv:1209.437
Regular tree languages, cardinality predicates, and addition-invariant FO
This paper considers the logic FOcard, i.e., first-order logic with cardinality predicates that can specify the size of a structure modulo some number. We study the expressive power of FOcard on the class of languages of ranked, finite, labelled trees with successor relations. Our first main result characterises the class of FOcard-definable tree languages in terms of algebraic closure properties of the tree languages. As it can be effectively checked whether the language of a given tree automaton satisfies these closure properties, we obtain a decidable characterisation of the class of regular tree languages definable in FOcard. Our second main result considers first-order logic with unary relations, successor relations, and two additional designated symbols < and + that must be interpreted as a linear order and its associated addition. Such a formula is called addition-invariant if, for each fixed interpretation of the unary relations and successor relations, its result is independent of the particular interpretation of < and +. We show that the FOcard-definable tree languages are exactly the regular tree languages definable in addition-invariant first-order logic. Our proof techniques involve tools from algebraic automata theory, reasoning with locality arguments, and the use of logical interpretations. We combine and extend methods developed by Benedikt and Segoufin (ACM ToCL, 2009) and Schweikardt and Segoufin (LICS, 2010)
- …