172 research outputs found
A functional quantum programming language
We introduce the language QML, a functional language for quantum computations
on finite types. Its design is guided by its categorical semantics: QML
programs are interpreted by morphisms in the category FQC of finite quantum
computations, which provides a constructive semantics of irreversible quantum
computations realisable as quantum gates. QML integrates reversible and
irreversible quantum computations in one language, using first order strict
linear logic to make weakenings explicit. Strict programs are free from
decoherence and hence preserve superpositions and entanglement - which is
essential for quantum parallelism.Comment: 15 pages. Final version, to appear in Logic in Computer Science 200
Constructions, inductive types and strong normalization
This thesis contains an investigation of Coquand's Calculus of Constructions, a basic impredicative Type Theory. We review syntactic properties of the calculus, in particular decidability of equality and type-checking, based on the equality-as-judgement presentation. We present a set-theoretic notion of model, CC-structures, and use this to give a new strong normalization proof based on a modification of the realizability interpretation. An extension of the core calculus by inductive types is investigated and we show, using the example of infinite trees, how the realizability semantics and the strong normalization argument can be extended to non-algebraic inductive types. We emphasize that our interpretation is sound for large eliminations, e.g. allows the definition of sets by recursion. Finally we apply the extended calculus to a non-trivial problem: the formalization of the strong normalization argument for Girard's System F. This formal proof has been developed and checked using the..
An Algebra of Pure Quantum Programming
We develop a sound and complete equational theory for the functional quantum
programming language QML. The soundness and completeness of the theory are with
respect to the previously-developed denotational semantics of QML. The
completeness proof also gives rise to a normalisation algorithm following the
normalisation by evaluation approach. The current work focuses on the pure
fragment of QML omitting measurements.Comment: To appear in ENTCS, 3rd International Workshop on Quantum Programming
Languages, 2005. 21 Page
Type theory in type theory using quotient inductive types
We present an internal formalisation of a type heory with dependent types in Type Theory using a special case of higher inductive types from Homotopy Type Theory which we call quotient inductive types (QITs). Our formalisation of type theory avoids referring to preterms or a typability relation but defines directly well typed objects by an inductive definition. We use the elimination principle to define the set-theoretic and logical predicate interpretation. The work has been formalized using the Agda system extended with QITs using postulates
Combinatory Logic and Lambda Calculus Are Equal, Algebraically
It is well-known that extensional lambda calculus is equivalent to extensional combinatory logic. In this paper we describe a formalisation of this fact in Cubical Agda. The distinguishing features of our formalisation are the following: (i) Both languages are defined as generalised algebraic theories, the syntaxes are intrinsically typed and quotiented by conversion; we never mention preterms or break the quotients in our construction. (ii) Typing is a parameter, thus the un(i)typed and simply typed variants are special cases of the same proof. (iii) We define syntaxes as quotient inductive-inductive types (QIITs) in Cubical Agda; we prove the equivalence and (via univalence) the equality of these QIITs; we do not rely on any axioms, the conversion functions all compute and can be experimented with
Normalisation by evaluation for type theory, in type theory
We develop normalisation by evaluation (NBE) for dependent types based on presheaf categories. Our construction is formulated in the metalanguage of type theory using quotient inductive types. We use a typed presentation hence there are no preterms or realizers in our construction, and every construction respects the conversion relation. NBE for simple types uses a logical relation between the syntax and the presheaf interpretation. In our construction, we merge the presheaf interpretation and the logical relation into a proof-relevant logical predicate. We prove normalisation, completeness, stability and decidability of definitional equality. Most of the constructions were formalized in Agda
Big Step Normalisation for Type Theory
Big step normalisation is a normalisation method for typed lambda-calculi which relies on a purely syntactic recursive evaluator. Termination of that evaluator is proven using a predicate called strong computability, similar to the techniques used to prove strong normalisation of ?-reduction for typed lambda-calculi. We generalise big step normalisation to a minimalist dependent type theory. Compared to previous presentations of big step normalisation for e.g. the simply-typed lambda-calculus, we use a quotiented syntax of type theory, which crucially reduces the syntactic complexity introduced by dependent types. Most of the proof has been formalised using Agda
Hereditary Substitutions for Simple Types, Formalized
International audienceWe analyze a normalization function for the simply typed lambda-calculus based on hereditary substitutions, a technique developed by Pfenning et al. The normalizer is implemented in Agda, a total language where all programs terminate. It requires no termination proof since it is structurally recursive which is recognized by Agda's termination checker. Using Agda as an interactive theorem prover we establish that our normalization function precisely identifies beta-eta-equivalent terms and hence can be used to decide beta-eta-equality. An interesting feature of this approach is that it is clear from the construction that beta-\eta-equality is primitive recursive
Notions of Anonymous Existence in Martin-L\"of Type Theory
As the groupoid model of Hofmann and Streicher proves, identity proofs in
intensional Martin-L\"of type theory cannot generally be shown to be unique.
Inspired by a theorem by Hedberg, we give some simple characterizations of
types that do have unique identity proofs. A key ingredient in these
constructions are weakly constant endofunctions on identity types. We study
such endofunctions on arbitrary types and show that they always factor through
a propositional type, the truncated or squashed domain. Such a factorization is
impossible for weakly constant functions in general (a result by Shulman), but
we present several non-trivial cases in which it can be done. Based on these
results, we define a new notion of anonymous existence in type theory and
compare different forms of existence carefully. In addition, we show possibly
surprising consequences of the judgmental computation rule of the truncation,
in particular in the context of homotopy type theory. All the results have been
formalized and verified in the dependently typed programming language Agda.Comment: 36 pages, to appear in the special issue of TLCA'13 (LMCS
Towards a Cubical Type Theory without an Interval
Following the cubical set model of type theory which validates the
univalence axiom, cubical type theories have been developed that
interpret the identity type using an interval pretype. These theories start from a geometric view of equality. A proof of equality is encoded as a term in a context extended by the interval pretype. Our goal is to develop a cubical theory where the identity type is defined recursively over the type structure, and the geometry arises from these definitions. In this theory, cubes are present explicitly, e.g., a line is a telescope with 3 elements: two endpoints and the connecting equality. This is in line with Bernardy and Moulin\u27s earlier work on internal parametricity. In this paper we present a naive syntax for internal parametricity and by replacing the parametric interpretation of the universe, we extend it to univalence. However, we do not know how to compute in this theory. As a second step, we present a version of the theory for parametricity with named dimensions which has an operational semantics. Extending this syntax to univalence is left as further work
- …