18 research outputs found
Deciding KAT and Hoare Logic with Derivatives
Kleene algebra with tests (KAT) is an equational system for program
verification, which is the combination of Boolean algebra (BA) and Kleene
algebra (KA), the algebra of regular expressions. In particular, KAT subsumes
the propositional fragment of Hoare logic (PHL) which is a formal system for
the specification and verification of programs, and that is currently the base
of most tools for checking program correctness. Both the equational theory of
KAT and the encoding of PHL in KAT are known to be decidable. In this paper we
present a new decision procedure for the equivalence of two KAT expressions
based on the notion of partial derivatives. We also introduce the notion of
derivative modulo particular sets of equations. With this we extend the
previous procedure for deciding PHL. Some experimental results are also
presented.Comment: In Proceedings GandALF 2012, arXiv:1210.202
Functions as types or the "Hoare logic" of functional dependencies
Inspired by the trend on unifying theories of programming, this paper shows how the algebraic treatment of standard data dependency theory equips relational data with functional types and an associated type system which is useful for type checking database operations and for query optimization.
Such a typed approach to database programming is then shown to be of the same family as other programming logics such as eg. Hoare logic or that of strongest invariant functions which has been used in the analysis of while statements.
The prospect of using automated deduction systems such as Prover9 for type-checking and query optimization on top of such an algebraic approach is considered.Fundação para a Ciência e a Tecnologia (FCT
Recommended from our members
Automated verification of refinement laws
Demonic refinement algebras are variants of Kleene algebras. Introduced by von Wright as a light-weight variant of the refinement calculus, their intended semantics are positively disjunctive predicate transformers, and their calculus is entirely within first-order equational logic. So, for the first time, off-the-shelf automated theorem proving (ATP) becomes available for refinement proofs. We used ATP to verify a toolkit of basic refinement laws. Based on this toolkit, we then verified two classical complex refinement laws for action systems by ATP: a data refinement law and Back's atomicity refinement law. We also present a refinement law for infinite loops that has been discovered through automated analysis. Our proof experiments not only demonstrate that refinement can effectively be automated, they also compare eleven different ATP systems and suggest that program verification with variants of Kleene algebras yields interesting theorem proving benchmarks. Finally, we apply hypothesis learning techniques that seem indispensable for automating more complex proofs
Algebraic view reconciliation
Embedded systems such as automotive systems are very complex to specify. Since it is difficult to capture all their requirements or
their design in one single model, approaches working with several system views are adopted. The main problem there is to keep these views coherent; the issue is known as view reconciliation. This paper proposes an algebraic solution. It uses sets of integration constraints that link (families of) system features in one view to other (families of) features in the same or a different view. Both families and constraints are formalized using a feature algebra. Besides presenting a constraint relation and its mathematical properties, the paper shows in several examples the suitability of this approach for a wide class of integration constraint
formulations
Métodos relacionales para la especificación, verificación, y composición de servicios semánticos en la web
El objetivo de nuestra investigación consiste en la aplicación de métodos formales de la ingenierÃa del software, especÃficamente aquellos basados en sistemas formales relacionales, a los problemas de desarrollo de servicios semánticos en la web. Los sistemas formales relacionales que se tienen en mente son descendientes de las álgebras relacionales de Tarski, y su uso será asistido por herramientas de software existentes o a crear durante la investigación propuesta.
Los servicios en web son una clase particular de programas, y como tales su desarrollo se beneficiarÃa de la aplicación de métodos formales de la ingenierÃa del software. Los problemas usuales de asegurar su corrección y otras propiedades deseables se suman a las propiedades especÃficas que deben brindar como servicios (en particular la composición de los mismos para obtener comportamientos más complejos y/o acordes a las necesidades especÃficas de la aplicación), más aún cuando se añade a ellos un nivel semántico de anotaciones que deben ser procesables por computadoras.Eje: IngenierÃa de SoftwareRed de Universidades con Carreras en Informática (RedUNCI
Métodos relacionales para la especificación, verificación, y composición de servicios semánticos en la web
El objetivo de nuestra investigación consiste en la aplicación de métodos formales de la ingenierÃa del software, especÃficamente aquellos basados en sistemas formales relacionales, a los problemas de desarrollo de servicios semánticos en la web. Los sistemas formales relacionales que se tienen en mente son descendientes de las álgebras relacionales de Tarski, y su uso será asistido por herramientas de software existentes o a crear durante la investigación propuesta.
Los servicios en web son una clase particular de programas, y como tales su desarrollo se beneficiarÃa de la aplicación de métodos formales de la ingenierÃa del software. Los problemas usuales de asegurar su corrección y otras propiedades deseables se suman a las propiedades especÃficas que deben brindar como servicios (en particular la composición de los mismos para obtener comportamientos más complejos y/o acordes a las necesidades especÃficas de la aplicación), más aún cuando se añade a ellos un nivel semántico de anotaciones que deben ser procesables por computadoras.Eje: IngenierÃa de SoftwareRed de Universidades con Carreras en Informática (RedUNCI
Denotation by Transformation: Towards Obtaining a Denotational Semantics by Transformation to Point-free Style
It has often been observed that a point-free style of programming provides a more abstract view on programs. We aim to use the gain in abstraction to obtain a denotational semantics for functional logic languages in a straightforward way. Here we propose a set of basic operations based on which arbitrary functional logic programs can be transformed to point-free programs. The resulting programs are strict but, nevertheless, the semantics of the original program is preserved. There is a one-to-one mapping from the primitives introduced by the transformation to operations in relation algebra. This mapping can be extended to obtain a relation algebraic model for the whole program. This yields a denotational semantics which is on one hand closely related to point-free functional logic programs and on the other hand connects to the well developed field of algebraic logic including automatic proving
Non-clausal multi-ary alpha-generalized resolution calculus for a finite lattice-valued logic
Due to the need of the logical foundation for uncertain information processing, development of efficient automated reasoning system based on non-classical logics is always an active research area. The present paper focuses on the resolution-based automated reasoning theory in a many-valued logic with truth-values defined in a lattice-ordered many-valued algebraic structure - lattice implication algebras (LIA). Specifically, as a continuation and extension of the established work on binary resolution at a certain truth-value level α (called α-resolution), a non-clausal multi-ary α-generalized resolution calculus is introduced for a lattice-valued propositional logic LP(X) based on LIA, which is essentially a non-clausal generalized resolution avoiding reduction to normal clausal form. The new resolution calculus in LP(X) is then proved to be sound and complete. The concepts and theoretical results are further extended and established in the corresponding lattice-valued first-order logic LF(X) based on LIA