193 research outputs found

    Moessner's theorem: An exercise in coinductive reasoning in COQ

    Get PDF
    Moessner's Theorem describes a construction of the sequence of powers (1n, 2n, 3n,
), by repeatedly dropping and summing elements from the sequence of positive natural numbers. The theorem was presented by Moessner in 1951 without a proof and later proved and generalized in several directions. More recently, a coinductive proof of the original theorem was given by Niqui and Rutten. We present a formalization of their proof in the Coq proof assistant. This formalization serves as a non-trivial illustration of the use of coinduction in Coq. During the formalization, we discovered that Long and Salié's generalizations could also be proved using (almost) the same bisimulation

    {RefinedC}: {A}utomating the Foundational Verification of {C} Code with Refined Ownership Types

    Get PDF

    Later Credits: {R}esourceful Reasoning for the Later Modality

    Get PDF

    The Journal of the Friends' Historical Society vol.33

    Get PDF
    Iris is a framework for higher-order concurrent separation logic, which has been implemented in the Coq proof assistant and deployed very effectively in a wide variety of verification projects. Iris was designed with the express goal of simplifying and consolidating the foundations of modern separation logics, but it has evolved over time, and the design and semantic foundations of Iris itself have yet to be fully written down and explained together properly in one place. Here, we attempt to fill this gap, presenting a reasonably complete picture of the latest version of Iris (version 3.1), from first principles and in one coherent narrative.Accepted Author ManuscriptProgramming Language

    Program Correctness by Transformation

    Get PDF
    Deductive program verification can be used effectively to verify high-level programs, but can be challenging for low-level, high-performance code. In this paper, we argue that compilation and program transformations should be made annotation-aware, i.e. during compilation and program transformation, not only the code should be changed, but also the corresponding annotations. As a result, if the original high-level program could be verified, also the resulting low-level program can be verified. We illustrate this approach on a concrete case, where loop annotations that capture possible loop parallelisations are translated into specifications of an OpenCL kernel that corresponds to the parallel loop. We also sketch how several commonly used OpenCL kernel transformations can be adapted to also transform the corresponding program annotations. Finally, we conclude the paper with a list of research challenges that need to be addressed to further develop this approach

    Arabidopsis rbcS Genes Are Differentially Regulated by Light

    Full text link

    Automating Deductive Verification for Weak-Memory Programs

    Full text link
    Writing correct programs for weak memory models such as the C11 memory model is challenging because of the weak consistency guarantees these models provide. The first program logics for the verification of such programs have recently been proposed, but their usage has been limited thus far to manual proofs. Automating proofs in these logics via first-order solvers is non-trivial, due to reasoning features such as higher-order assertions, modalities and rich permission resources. In this paper, we provide the first implementation of a weak memory program logic using existing deductive verification tools. We tackle three recent program logics: Relaxed Separation Logic and two forms of Fenced Separation Logic, and show how these can be encoded using the Viper verification infrastructure. In doing so, we illustrate several novel encoding techniques which could be employed for other logics. Our work is implemented, and has been evaluated on examples from existing papers as well as the Facebook open-source Folly library.Comment: Extended version of TACAS 2018 publicatio

    A face for all seasons:searching for context-specific leadership traits and discovering a general preference for perceived health

    Get PDF
    Previous research indicates that followers tend to contingently match particular leader qualities to evolutionarily consistent situations requiring collective action (i.e., context-specific cognitive leadership prototypes) and information processing undergoes categorization which ranks certain qualities as first-order context-general and others as second-order context-specific. To further investigate this contingent categorization phenomenon we examined the “attractiveness halo”—a first-order facial cue which significantly biases leadership preferences. While controlling for facial attractiveness, we independently manipulated the underlying facial cues of health and intelligence and then primed participants with four distinct organizational dynamics requiring leadership (i.e., competition vs. cooperation between groups and exploratory change vs. stable exploitation). It was expected that the differing requirements of the four dynamics would contingently select for relatively healthier- or intelligent-looking leaders. We found perceived facial intelligence to be a second-order context-specific trait—for instance, in times requiring a leader to address between-group cooperation—whereas perceived health is significantly preferred across all contexts (i.e., a first-order trait). The results also indicate that facial health positively affects perceived masculinity while facial intelligence negatively affects perceived masculinity, which may partially explain leader choice in some of the environmental contexts. The limitations and a number of implications regarding leadership biases are discussed

    Toepassing GPS en GIS in de akkerbouw : nut en rendement van toepassingen op het gebied van geolandbouw

    Get PDF
    Het beschikbaar komen van systemen voor satelliet plaatsbepaling en navigatie, Global Navigation Satellite System (GNSS) kan grote invloed hebben op de bedrijfsvoering en rendement van het akkerbouwbedrijf. Voor landbouwkundige toepassingen worden in snel tempo aan GNSS gerelateerde toepassingen en diensten ontwikkeld en aangeboden. Landbouw is in Nederland een grote en intensieve gebruiker van de open ruimte en kan daarmee profiteren van de mogelijkheden die GNSS biedt. Vaak is niet duidelijke welke waarde en betekenis deze toepassingen hebben voor de bedrijfsvoering. Een actueel overzicht van beschikbare toepassingen en diensten met een indicatie van de gevolgen voor het rendement wordt in dit rapport gegeve
    • 

    corecore