551 research outputs found

    Galois: a language for proofs using galois connections and fork algebras

    Get PDF
    Galois is a domain specific language supported by the Galculator interactive proof-assistant prototype. Galculator uses an equational approach based on Galois connections with indirect equality as an additional inference rule. Galois allows for the specification of different theories in a point-free style by using fork algebras, an extension of relation algebras with expressive power of first-order logic. The language offers sub-languages to derive proof rules from Galois connections, to express proof tactics, and to organize axioms and theorems into modular definitions. In this paper, we describe how the algebraic theory underlying the proof-method drives the design of the Galois language. We provide the syntax and semantics of important fragments of Galois and show how they are hierarchically combined into a complete language.Theauthorsthanktheanonymousrefereesforinsightfulcomments which improved the quality of the original submission. This research was supported by FCT (the Portuguese Foundation for Science and Technology), in the context of the MATHIS Project under contract PTDC/EIA/73252/2006. The first author was supported by FCT under grant number SFRH/BD/19195/2004

    HeteroGenius: A Framework for Hybrid Analysis of Heterogeneous Software Specifications

    Get PDF
    Nowadays, software artifacts are ubiquitous in our lives being an essential part of home appliances, cars, cell phones, and even in more critical activities like aeronautics and health sciences. In this context software failures may produce enormous losses, either economical or, in the worst case, in human lives. Software analysis is an area in software engineering concerned with the application of diverse techniques in order to prove the absence of errors in software pieces. In many cases different analysis techniques are applied by following specific methodological combinations that ensure better results. These interactions between tools are usually carried out at the user level and it is not supported by the tools. In this work we present HeteroGenius, a framework conceived to develop tools that allow users to perform hybrid analysis of heterogeneous software specifications. HeteroGenius was designed prioritising the possibility of adding new specification languages and analysis tools and enabling a synergic relation of the techniques under a graphical interface satisfying several well-known usability enhancement criteria. As a case-study we implemented the functionality of Dynamite on top of HeteroGenius.Comment: In Proceedings LAFM 2013, arXiv:1401.056

    The compositional construction of Markov processes II

    Get PDF
    In an earlier paper we introduced a notion of Markov automaton, together with parallel operations which permit the compositional description of Markov processes. We illustrated by showing how to describe a system of n dining philosophers, and we observed that Perron-Frobenius theory yields a proof that the probability of reaching deadlock tends to one as the number of steps goes to infinity. In this paper we add sequential operations to the algebra (and the necessary structure to support them). The extra operations permit the description of hierarchical systems, and ones with evolving geometry

    Concurrent Kleene Algebra with Tests and Branching Automata

    Get PDF
    We introduce concurrent Kleene algebra with tests (CKAT) as a combination of Kleene algebra with tests (KAT) of Kozen and Smith with concurrent Kleene algebras (CKA), introduced by Hoare, Möller, Struth and Wehrman. CKAT provides a relatively simple algebraic model for reasoning about semantics of concurrent programs. We generalize guarded strings to guarded series-parallel strings , or gsp-strings, to give a concrete language model for CKAT. Combining nondeterministic guarded automata of Kozen with branching automata of Lodaya and Weil one obtains a model for processing gsp-strings in parallel. To ensure that the model satisfies the weak exchange law (x‖y)(z‖w)≤(xz)‖(yw) of CKA, we make use of the subsumption order of Gischer on the gsp-strings. We also define deterministic branching automata and investigate their relation to (nondeterministic) branching automata. To express basic concurrent algorithms, we define concurrent deterministic flowchart schemas and relate them to branching automata and to concurrent Kleene algebras with tests

    How to say greedy in fork algebras

    Get PDF
    Because of their expressive power, binary relations are widely used in program specification and development within formal calculi. The existence of a finite equational axiomatization for algebras of binary relations with a fork operation guarantees that the heuristic power coming from binary relations is captured inside an abstract equational calculus. In this paper we show how to express the greedy program design strategy into the first order theory of fork algebras.Eje: TeoríaRed de Universidades con Carreras en Informática (RedUNCI

    A proof of the interpretability of P/PML in a relational setting

    Get PDF
    In [1] we presented the logic P=PML, a formalism suitable for the speci cation and construction of Real-Time systems. The main algebraic result, namely, the interpretability of P/PML into an equa- tional calculus based on w-closure fork algebras (which allows to reason about Real-Time systems in an equational calculus) was stated but not proved because of the lack of space. In this paper we present a detailed proof of the interpretability theorem, as well as the proof of the representation theorem for w-closure fork alge- bras which provides a very natural semantics based on binary relations for the equational calculus.Eje: TeoríaRed de Universidades con Carreras en Informática (RedUNCI
    corecore