359 research outputs found

    Verifying Monadic Second-Order Properties of Graph Programs

    Get PDF
    The core challenge in a Hoare- or Dijkstra-style proof system for graph programs is in defining a weakest liberal precondition construction with respect to a rule and a postcondition. Previous work addressing this has focused on assertion languages for first-order properties, which are unable to express important global properties of graphs such as acyclicity, connectedness, or existence of paths. In this paper, we extend the nested graph conditions of Habel, Pennemann, and Rensink to make them equivalently expressive to monadic second-order logic on graphs. We present a weakest liberal precondition construction for these assertions, and demonstrate its use in verifying non-local correctness specifications of graph programs in the sense of Habel et al.Comment: Extended version of a paper to appear at ICGT 201

    Maximal Sharing in the Lambda Calculus with letrec

    Full text link
    Increasing sharing in programs is desirable to compactify the code, and to avoid duplication of reduction work at run-time, thereby speeding up execution. We show how a maximal degree of sharing can be obtained for programs expressed as terms in the lambda calculus with letrec. We introduce a notion of `maximal compactness' for lambda-letrec-terms among all terms with the same infinite unfolding. Instead of defined purely syntactically, this notion is based on a graph semantics. lambda-letrec-terms are interpreted as first-order term graphs so that unfolding equivalence between terms is preserved and reflected through bisimilarity of the term graph interpretations. Compactness of the term graphs can then be compared via functional bisimulation. We describe practical and efficient methods for the following two problems: transforming a lambda-letrec-term into a maximally compact form; and deciding whether two lambda-letrec-terms are unfolding-equivalent. The transformation of a lambda-letrec-term LL into maximally compact form L0L_0 proceeds in three steps: (i) translate L into its term graph G=[[L]]G = [[ L ]]; (ii) compute the maximally shared form of GG as its bisimulation collapse G0G_0; (iii) read back a lambda-letrec-term L0L_0 from the term graph G0G_0 with the property [[L0]]=G0[[ L_0 ]] = G_0. This guarantees that L0L_0 and LL have the same unfolding, and that L0L_0 exhibits maximal sharing. The procedure for deciding whether two given lambda-letrec-terms L1L_1 and L2L_2 are unfolding-equivalent computes their term graph interpretations [[L1]][[ L_1 ]] and [[L2]][[ L_2 ]], and checks whether these term graphs are bisimilar. For illustration, we also provide a readily usable implementation.Comment: 18 pages, plus 19 pages appendi

    Slit1 and Slit2 Cooperate to Prevent Premature Midline Crossing of Retinal Axons in the Mouse Visual System

    Get PDF
    AbstractDuring development, retinal ganglion cell (RGC) axons either cross or avoid the midline at the optic chiasm. In Drosophila, the Slit protein regulates midline axon crossing through repulsion. To determine the role of Slit proteins in RGC axon guidance, we disrupted Slit1 and Slit2, two of three known mouse Slit genes. Mice defective in either gene alone exhibited few RGC axon guidance defects, but in double mutant mice a large additional chiasm developed anterior to the true chiasm, many retinal axons projected into the contralateral optic nerve, and some extended ectopically—dorsal and lateral to the chiasm. Our results indicate that Slit proteins repel retinal axons in vivo and cooperate to establish a corridor through which the axons are channeled, thereby helping define the site in the ventral diencephalon where the optic chiasm forms

    Hierarchical Graph Transformation

    Get PDF
    If systems are specified by graph transformation, large graphs should be structured in order to be comprehensible. In this paper, we present an approach for the rule-based transformation of hierarchically structured (hyper)graphs. In these graphs, distinguished hyperedges contain graphs that can be hierarchical again. Our framework extends the well-known double-pushout approach from at to hierarchical graphs. In particular, we show how pushouts and pushout complements of hierarchical graphs and graph morphisms can be constructed recursively. Moreover, we make rules more expressive by introducing variables which allow to copy and to remove hierarchical subgraphs in a single rule application

    Rewriting Systems for Reachability in Vector Addition Systems with Pairs

    No full text
    15 pagesInternational audienceWe adapt hypergraph rewriting system to a generalization of Vector Addition Systems with States (VASS) that we call vector addition systems with pairs (VASP). We give rewriting systems and strategies, that allow us to obtain reachability equivalence results between some classes of VASP and VASS. Reachability for the later is well known be equivalent to reachability in Petri nets. VASP generalize also Branching Extension of VASS (BVASS) for which it is unknown if they are more expressive than VASS. We consider here a more restricted notion of reachability for VASP than that for BVASS. However the reachability decision problem corresponding is already equivalent to decidability of the provability in Multiplicative and Exponential Linear Logic (MELL), a question left open for more than 20 years
    • …
    corecore