Results 1  10
of
152
Dynamic Logic
 Handbook of Philosophical Logic
, 1984
"... ed to be true under the valuation u iff there exists an a 2 N such that the formula x = y is true under the valuation u[x=a], where u[x=a] agrees with u everywhere except x, on which it takes the value a. This definition involves a metalogical operation that produces u[x=a] from u for all possibl ..."
Abstract

Cited by 1008 (7 self)
 Add to MetaCart
ed to be true under the valuation u iff there exists an a 2 N such that the formula x = y is true under the valuation u[x=a], where u[x=a] agrees with u everywhere except x, on which it takes the value a. This definition involves a metalogical operation that produces u[x=a] from u for all possible values a 2 N. This operation becomes explicit in DL in the form of the program x := ?, called a nondeterministic or wildcard assignment. This is a rather unconventional program, since it is not effective; however, it is quite useful as a descriptive tool. A more conventional way to obtain a square root of y, if it exists, would be the program x := 0 ; while x < y do x := x + 1: (1) In DL, such programs are firstclass objects on a par with formulas, complete with a collection of operators for forming compound programs inductively from a basis of primitive programs. To discuss the effect of the execution of a program on the truth of a formula ', DL uses a modal construct <>', which
Automated Soundness Proofs for Dataflow Analyses and Transformations Via Local Rules
 In Proc. of the 32nd Symposium on Principles of Programming Languages
, 2005
"... We present Rhodium, a new language for writing compiler optimizations that can be automatically proved sound. Unlike our previous work on Cobalt, Rhodium expresses optimizations using explicit dataflow facts manipulated by local propagation and transformation rules. This new style allows Rhodium opt ..."
Abstract

Cited by 78 (8 self)
 Add to MetaCart
(Show Context)
We present Rhodium, a new language for writing compiler optimizations that can be automatically proved sound. Unlike our previous work on Cobalt, Rhodium expresses optimizations using explicit dataflow facts manipulated by local propagation and transformation rules. This new style allows Rhodium optimizations to be mutually recursively defined, to be automatically composed, to be interpreted in both flowsensitive andinsensitive ways, and to be applied interprocedurally given a separate contextsensitivity strategy, all while retaining soundness. Rhodium also supports infinite analysis domains while guaranteeing termination of analysis. We have implemented a soundness checker for Rhodium and have specified and automatically proven the soundness of all of Cobalt’s optimizations plus a variety of optimizations not expressible in Cobalt, including Andersen’s pointsto analysis, arithmeticinvariant detection, loopinductionvariable strength reduction, and redundant array load elimination. Categories and Subject Descriptors: D.2.4 [Software
XPath with conditional axis relations
 In EDBT
, 2004
"... This paper is about the W3C standard nodeaddressing language for XML documents, called XPath. XPath is still under development. Version 2.0 appeared in 2001 while the theoretical foundations of Version 1.0 (dating from 1998) are still being widely studied. The paper aims at bringing XPath to a & ..."
Abstract

Cited by 71 (7 self)
 Add to MetaCart
This paper is about the W3C standard nodeaddressing language for XML documents, called XPath. XPath is still under development. Version 2.0 appeared in 2001 while the theoretical foundations of Version 1.0 (dating from 1998) are still being widely studied. The paper aims at bringing XPath to a "stable fixed point" in its development: a version which is expressively complete, still manageable computationally, with a userfriendly syntax and a natural semantics.
On Hoare Logic and Kleene Algebra with Tests
"... We show that Kleene algebra with tests (KAT) subsumes propositional Hoare logic (PHL). Thus the specialized syntax and deductive apparatus of Hoare logic are inessential and can be replaced by simple equational reasoning. In addition, we show that all relationally valid inference rules are derivable ..."
Abstract

Cited by 59 (13 self)
 Add to MetaCart
(Show Context)
We show that Kleene algebra with tests (KAT) subsumes propositional Hoare logic (PHL). Thus the specialized syntax and deductive apparatus of Hoare logic are inessential and can be replaced by simple equational reasoning. In addition, we show that all relationally valid inference rules are derivable in KAT and that deciding the relational validity of such rules is PSPACEcomplete.
Kleene Algebra with Domain
, 2003
"... We propose Kleene algebra with domain (KAD), an extension of Kleene algebra with two equational axioms for a domain and a codomain operation, respectively. KAD considerably augments the expressibility of Kleene algebra, in particular for the specification and analysis of state transition systems. We ..."
Abstract

Cited by 53 (32 self)
 Add to MetaCart
(Show Context)
We propose Kleene algebra with domain (KAD), an extension of Kleene algebra with two equational axioms for a domain and a codomain operation, respectively. KAD considerably augments the expressibility of Kleene algebra, in particular for the specification and analysis of state transition systems. We develop the basic calculus, discuss some related theories and present the most important models of KAD. We demonstrate applicability by two examples: First, an algebraic reconstruction of Noethericity and wellfoundedness. Second, an algebraic reconstruction of propositional Hoare logic.
Certification of compiler optimizations using Kleene algebra with tests
 STUCKEY (EDS.), PROC. RST INTERNAT. CONF. COMPUTATIONAL LOGIC (CL2000), LECTURE NOTES IN ARTI CIAL INTELLIGENCE
, 2000
"... We use Kleene algebra with tests to verify a wide assortment ofcommon compiler optimizations, including dead code elimination, common subexpression elimination, copy propagation, loop hoisting, induction variable elimination, instruction scheduling, algebraic simplification, loop unrolling, elimin ..."
Abstract

Cited by 45 (13 self)
 Add to MetaCart
We use Kleene algebra with tests to verify a wide assortment ofcommon compiler optimizations, including dead code elimination, common subexpression elimination, copy propagation, loop hoisting, induction variable elimination, instruction scheduling, algebraic simplification, loop unrolling, elimination of redundant instructions, array bounds check elimination, and introduction of sentinels. In each of these cases, we give a formal equational proof of the correctness of the optimizing transformation.
Kleene algebra with tests: Completeness and decidability
 In Proc. of 10th International Workshop on Computer Science Logic (CSL’96
, 1996
"... Abstract. Kleene algebras with tests provide a rigorous framework for equational speci cation and veri cation. They have been used successfully in basic safety analysis, sourcetosource program transformation, and concurrency control. We prove the completeness of the equational theory of Kleene alg ..."
Abstract

Cited by 37 (16 self)
 Add to MetaCart
(Show Context)
Abstract. Kleene algebras with tests provide a rigorous framework for equational speci cation and veri cation. They have been used successfully in basic safety analysis, sourcetosource program transformation, and concurrency control. We prove the completeness of the equational theory of Kleene algebra with tests and *continuous Kleene algebra with tests over languagetheoretic and relational models. We also show decidability. Cohen's reduction of Kleene algebra with hypotheses of the form r = 0 to Kleene algebra without hypotheses is simpli ed and extended to handle Kleene algebras with tests. 1
NetKAT: Semantic foundations for networks
 In POPL
, 2014
"... Recent years have seen growing interest in highlevel languages for programming networks. But the design of these languages has been largely ad hoc, driven more by the needs of applications and the capabilities of network hardware than by foundational principles. The lack of a semantic foundation ha ..."
Abstract

Cited by 34 (15 self)
 Add to MetaCart
(Show Context)
Recent years have seen growing interest in highlevel languages for programming networks. But the design of these languages has been largely ad hoc, driven more by the needs of applications and the capabilities of network hardware than by foundational principles. The lack of a semantic foundation has left language designers with little guidance in determining how to incorporate new features, and programmers without a means to reason precisely about their code. This paper presents NetKAT, a new network programming language that is based on a solid mathematical foundation and comes equipped with a sound and complete equational theory. We describe the design of NetKAT, including primitives for filtering, modifying, and transmitting packets; union and sequential composition operators; and a Kleene star operator that iterates programs. We show that NetKAT is an instance of a canonical and wellstudied mathematical structure called a Kleene algebra with tests (KAT) and prove that its equational theory is sound and complete with respect to its denotational semantics. Finally, we present practical applications of the equational theory including syntactic techniques for checking reachability, proving noninterference properties that ensure isolation between programs, and establishing the correctness of compilation algorithms.
Automata on guarded strings and applications
 Matématica Contemporânea
, 2001
"... Guarded strings are like ordinary strings over a finite alphabet P, except that atoms of the free Boolean algebra on a set of atomic tests B alternate with the symbols of P. The regular sets of guarded strings play the same role in Kleene algebra with tests as the regular sets of ordinary strings do ..."
Abstract

Cited by 29 (7 self)
 Add to MetaCart
(Show Context)
Guarded strings are like ordinary strings over a finite alphabet P, except that atoms of the free Boolean algebra on a set of atomic tests B alternate with the symbols of P. The regular sets of guarded strings play the same role in Kleene algebra with tests as the regular sets of ordinary strings do in Kleene algebra. In this paper we develop the elementary theory of finite automata on guarded strings, a generalization of the theory of finite automata on ordinary strings. We give several basic constructions, including determinization, state minimization, and an analog of Kleene’s theorem. We then use these results to verify a conjecture on the complexity of a complete Gentzenstyle sequent calculus for partial correctness. We also show that a basic result of the theory of Boolean decision diagrams (BDDs), namely that minimal ordered BDDs are unique, is a special case of the MyhillNerode theorem for a class of automata on guarded strings. 1
On the coalgebraic theory of Kleene algebra with tests
, 2008
"... We develop a coalgebraic theory of Kleene algebra with tests (KAT) along the lines of Rutten (1998) for Kleene algebra (KA) and Chen and Pucella (2003) for a limited version of KAT, resolving some technical issues raised by Chen and Pucella. Our treatment includes a simple definition of the Brzozows ..."
Abstract

Cited by 27 (3 self)
 Add to MetaCart
(Show Context)
We develop a coalgebraic theory of Kleene algebra with tests (KAT) along the lines of Rutten (1998) for Kleene algebra (KA) and Chen and Pucella (2003) for a limited version of KAT, resolving some technical issues raised by Chen and Pucella. Our treatment includes a simple definition of the Brzozowski derivative for KAT expressions and an automatatheoretic interpretation involving automata on guarded strings. We also give a complexity analysis, showing that an efficient implementation of coinductive equivalence proofs in this setting is tantamount to a standard automatatheoretic construction. It follows that coinductive equivalence proofs can be generated automatically in PSPACE. This matches the bound of Worthington (2008) for the automatic generation of equational proofs in KAT. 1