15,602 research outputs found

    From Sets to Bits in Coq

    Get PDF
    International audienceComputer Science abounds in folktales about how — in the early days of computer programming — bit vectors were ingeniously used to encode and manipulate finite sets. Algorithms have thus been developed to minimize memory footprint and maximize efficiency by taking advantage of microarchitectural features. With the development of automated and interactive theorem provers, finite sets have also made their way into the libraries of formalized mathematics. Tailored to ease proving , these representations are designed for symbolic manipulation rather than computational efficiency. This paper aims to bridge this gap. In the Coq proof assistant, we implement a bitset library and prove its correct-ness with respect to a formalization of finite sets. Our library enables a seamless interaction of sets for computing — bitsets — and sets for proving — finite sets

    Functional Kan Simplicial Sets: Non-Constructivity of Exponentiation

    Get PDF
    Functional Kan simplicial sets are simplicial sets in which the horn-fillers required by the Kan extension condition are given explicitly by functions. We show the non-constructivity of the following basic result: if B and A are functional Kan simplicial sets, then A^B is a Kan simplicial set. This strengthens a similar result for the case of non-functional Kan simplicial sets shown by Bezem, Coquand and Parmann [TLCA 2015, v. 38 of LIPIcs]. Our result shows that-from a constructive point of view-functional Kan simplicial sets are, as it stands, unsatisfactory as a model of even simply typed lambda calculus. Our proof is based on a rather involved Kripke countermodel which has been encoded and verified in the Coq proof assistant

    Conteneurs de première classe en Coq

    Get PDF
    National audienceWe present a Coq library for finite sets and maps which brings the same functionalities as the existing FSets/FMaps library, but uses type-classes instead of modules in order to ensure the genericity of the proposed data structures. This architecture facilitates the use of these data structures and more generally the implementation of complex algorithms in Coq.Nous présentons une bibliothèque Coq d'ensembles et de dictionnaires finis qui reproduit les fonctionnalités disponibles dans la bibliothèque existante FSets/FMaps mais où la généricité des structures est obtenue via des classes de types et non des modules. Cette architecture permet un usage simplifié de ces structures et facilite la programmation d'algorithmes complexes en Coq

    A Framework for Certified Self-Stabilization

    No full text
    We propose a general framework to build certified proofs of distributed self-stabilizing algorithms with the proof assistant Coq. We first define in Coq the locally shared memory model with composite atomicity, the most commonly used model in the self-stabilizing area. We then validate our framework by certifying a non trivial part of an existing silent self-stabilizing algorithm which builds a kk-hop dominating set of the network. We also certified a quantitative property related to the output of this algorithm. Precisely, we show that the computed kk-hop dominating set contains at most ⌊n−1k+1⌋+1\lfloor \frac{n-1}{k+1} \rfloor + 1 nodes, where nn is the number of nodes in the network. To obtain these results, we also developed a library which contains general tools related to potential functions and cardinality of sets
    • …
    corecore