50 research outputs found
Variations on Noetherianness
In constructive mathematics, several nonequivalent notions of finiteness
exist. In this paper, we continue the study of Noetherian sets in the
dependently typed setting of the Agda programming language. We want to say that
a set is Noetherian, if, when we are shown elements from it one after another,
we will sooner or later have seen some element twice. This idea can be made
precise in a number of ways. We explore the properties and connections of some
of the possible encodings. In particular, we show that certain implementations
imply decidable equality while others do not, and we construct counterexamples
in the latter case. Additionally, we explore the relation between
Noetherianness and other notions of finiteness.Comment: In Proceedings MSFP 2016, arXiv:1604.0038
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
W-types in setoids
W-types and their categorical analogue, initial algebras for polynomial
endofunctors, are an important tool in predicative systems to replace
transfinite recursion on well-orderings. Current arguments to obtain W-types in
quotient completions rely on assumptions, like Uniqueness of Identity Proofs,
or on constructions that involve recursion into a universe, that limit their
applicability to a specific setting. We present an argument, verified in Coq,
that instead uses dependent W-types in the underlying type theory to construct
W-types in the setoid model. The immediate advantage is to have a proof more
type-theoretic in flavour, which directly uses recursion on the underlying
W-type to prove initiality. Furthermore, taking place in intensional type
theory and not requiring any recursion into a universe, it may be generalised
to various categorical quotient completions, with the aim of finding a uniform
construction of extensional W-types.Comment: 17 pages, formalised in Coq; v2: added reference to formalisatio
Why Not W?
In an extensional setting, ? types are sufficient to construct a broad class of inductive types, but in intensional type theory the standard construction of even the natural numbers does not satisfy the required induction principle. In this paper, we show how to refine the standard construction of inductive types such that the induction principle is provable and computes as expected in intensional type theory without using function extensionality. We extend this by constructing from ? an internal universe of codes for inductive types, such that this universe is itself an inductive type described by a code in the next larger universe. We use this universe to mechanize and internalize our refined construction
Quotienting the delay monad by weak bisimilarity
The delay datatype was introduced by Capretta as a means to deal with partial functions (as in computability theory) in Martin-Löf type theory. It is a monad and it constitutes a constructive alternative to the maybe monad. It is often desirable to consider two delayed computations equal, if they terminate with equal values, whenever one of them terminates. The equivalence relation underlying this identification is called weak bisimilarity. In type theory, one commonly replaces quotients with setoids. In this approach, the delay monad quotiented by weak bisimilarity is still a monad. In this paper, we consider Hofmann's alternative approach of extending type theory with inductive-like quotient types. In this setting, it is difficult to define the intended monad multiplication for the quotiented datatype. We give a solution where we postulate some principles, crucially proposition extensionality and the (semi-classical) axiom of countable choice. We have fully formalized our results in the Agda dependently typed programming language
Type classes for efficient exact real arithmetic in Coq
Floating point operations are fast, but require continuous effort on the part
of the user in order to ensure that the results are correct. This burden can be
shifted away from the user by providing a library of exact analysis in which
the computer handles the error estimates. Previously, we [Krebbers/Spitters
2011] provided a fast implementation of the exact real numbers in the Coq proof
assistant. Our implementation improved on an earlier implementation by O'Connor
by using type classes to describe an abstract specification of the underlying
dense set from which the real numbers are built. In particular, we used dyadic
rationals built from Coq's machine integers to obtain a 100 times speed up of
the basic operations already. This article is a substantially expanded version
of [Krebbers/Spitters 2011] in which the implementation is extended in the
various ways. First, we implement and verify the sine and cosine function.
Secondly, we create an additional implementation of the dense set based on
Coq's fast rational numbers. Thirdly, we extend the hierarchy to capture order
on undecidable structures, while it was limited to decidable structures before.
This hierarchy, based on type classes, allows us to share theory on the
naturals, integers, rationals, dyadics, and reals in a convenient way. Finally,
we obtain another dramatic speed-up by avoiding evaluation of termination
proofs at runtime.Comment: arXiv admin note: text overlap with arXiv:1105.275
Quotient completion for the foundation of constructive mathematics
We apply some tools developed in categorical logic to give an abstract
description of constructions used to formalize constructive mathematics in
foundations based on intensional type theory. The key concept we employ is that
of a Lawvere hyperdoctrine for which we describe a notion of quotient
completion. That notion includes the exact completion on a category with weak
finite limits as an instance as well as examples from type theory that fall
apart from this.Comment: 32 page