8,317 research outputs found

    The real numbers - a survey of constructions

    Full text link
    We present a comprehensive survey of constructions of the real numbers (from either the rationals or the integers) in a unified fashion, thus providing an overview of most (if not all) known constructions ranging from the earliest attempts to recent results, and allowing for a simple comparison-at-a-glance between different constructions

    Type classes for efficient exact real arithmetic in Coq

    Get PDF
    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

    Weighted interlace polynomials

    Full text link
    The interlace polynomials introduced by Arratia, Bollobas and Sorkin extend to invariants of graphs with vertex weights, and these weighted interlace polynomials have several novel properties. One novel property is a version of the fundamental three-term formula q(G)=q(G-a)+q(G^{ab}-b)+((x-1)^{2}-1)q(G^{ab}-a-b) that lacks the last term. It follows that interlace polynomial computations can be represented by binary trees rather than mixed binary-ternary trees. Binary computation trees provide a description of q(G)q(G) that is analogous to the activities description of the Tutte polynomial. If GG is a tree or forest then these "algorithmic activities" are associated with a certain kind of independent set in GG. Three other novel properties are weighted pendant-twin reductions, which involve removing certain kinds of vertices from a graph and adjusting the weights of the remaining vertices in such a way that the interlace polynomials are unchanged. These reductions allow for smaller computation trees as they eliminate some branches. If a graph can be completely analyzed using pendant-twin reductions then its interlace polynomial can be calculated in polynomial time. An intuitively pleasing property is that graphs which can be constructed through graph substitutions have vertex-weighted interlace polynomials which can be obtained through algebraic substitutions.Comment: 11 pages (v1); 20 pages (v2); 27 pages (v3); 26 pages (v4). Further changes may be made before publication in Combinatorics, Probability and Computin
    • …
    corecore