#### DMCA

## Decision Algorithms for Kleene Algebra with Tests and Hoare Logic (2012)

### Citations

1754 | An axiomatic basis for computer programming,
- Hoare
- 1969
(Show Context)
Citation Context ...: True > History : {((t1t2 + t1t2)(t1p1(t1t2 + t1t2))∗t1, ((t1t2 + t1t2)(t2p1(t1t2 + t1t2))∗t2)} Chapter 4 Deciding Hoare Logic with KAT 4.1 Introduction Hoare logic was first introduced in 1969, cf. =-=[12]-=-, and is a formal system widely used for the specification and verification of programs. Hoare logic uses triples to reason about the correctness of programs. A triple is an assertion of the form {b1}... |

472 | The SLAM project: debugging system software via static analysis.
- Ball, Rajamani
- 2002
(Show Context)
Citation Context ...is case, calling the function equivΓ with the expressions e1 and e2 and the axioms set Γ, the program correctly returns True. 4.4.2 Proving the Safety of a Program The following code fragment is from =-=[7]-=-. It consists of a loop that alternately acquires and releases a lock on a resource. If the driver currently holds the lock and tries to reacquire it, the driver will hang. The same happens if the dri... |

375 |
An n logn algorithm for minimizing states in a finite automaton. In:
- Hopcroft
- 1971
(Show Context)
Citation Context ...ar expression into an equivalent nondeterministic finite automaton (NFA), transforming both automata to deterministic ones (DFA) and then either using a DFA minimization algorithm (such as Hopcroft’s =-=[15]-=-) to make the two automata minimal and test if they are isomorphic, or directly applying an equivalence test (such as the almost linear algorithm presented by Hopcroft and Karp [14]) on the determinis... |

251 | A completeness theorem for Kleene algebras and the algebra of regular events.
- Kozen
- 1994
(Show Context)
Citation Context ...nce test (such as the almost linear algorithm presented by Hopcroft and Karp [14]) on the deterministic automata. One can also prove the equivalence of two regular expressions in an axiomatic fashion =-=[16]-=-. However, this method is not easily automatized. The approach we follow in Chapter 2 8 CHAPTER 1. INTRODUCTION 9 consists in developing a functional approach to the Antimirov and Mosses rewrite syste... |

152 | Kleene algebra with tests.
- Kozen
- 1997
(Show Context)
Citation Context ...prove that two programs are equivalent or that a Hoare triple is valid. Deciding the equivalence of KAT expressions is as hard as deciding the equivalence of regular expressions, i.e. PSPACE-complete =-=[9]-=-. In spite of KAT’s success in dealing with several software verification tasks, there are very few software applications that implement KAT’s equational theory and/or provide adequate decision proced... |

98 | Partial derivatives of regular expressions and finite automaton constructions,
- Antimirov
- 1996
(Show Context)
Citation Context ...algorithm in Section 2.3.3. 2.3.2 Partial Derivatives Introduced by Antimirov, a partial derivative of a regular expression is regarded as a non-deterministic variation of the Brzozowski’s derivative =-=[5]-=-. Let r be a regular expression and p a symbol of Σ. The set of partial derivatives of r with respect to p is defined as follows: ∂p : RE → P(RE) ∂p(0) = ∅ ∂p(1) = ∅ ∂p(p) = {1} ∂p1(p2) = ∅ for p1 6= ... |

60 | On Hoare logic and Kleene algebra with tests. - Kozen - 2000 |

37 | Kleene algebra with tests: Completeness and decidability.
- Kozen, Smith
- 1996
(Show Context)
Citation Context ...tion 3.1. Two KAT expressions e1,e2 are equivalent, and we write e1 = e2, if and only if GS(e1) = GS(e2). Kozen has shown that one has e1 = e2 modulo the KAT axioms if and only if they are equivalent =-=[22]-=-. Two sets of KAT expressions E,F ⊆ Exp are equivalent if and only if GS(E) = GS(F ), where GS(E) = ∪ e∈E GS(e). (3.6) 3.3 Deciding Equivalence in KAT 3.3.1 Derivatives Given a set of guarded strings ... |

35 |
A linear algorithm for testing equivalence of finite automata.
- Hopcroft, Karp
- 1971
(Show Context)
Citation Context ...such as Hopcroft’s [15]) to make the two automata minimal and test if they are isomorphic, or directly applying an equivalence test (such as the almost linear algorithm presented by Hopcroft and Karp =-=[14]-=-) on the deterministic automata. One can also prove the equivalence of two regular expressions in an axiomatic fashion [16]. However, this method is not easily automatized. The approach we follow in C... |

31 | Automata on guarded strings and applications.
- Kozen
- 2003
(Show Context)
Citation Context ...]. Similarly to what happens with regular expressions, the equivalence of KAT expressions may be decided using a deductive system and a set of axioms [17] or by minimization of deterministic automata =-=[19]-=-. In Chapter 3 we present a different procedure based on partial derivatives, which is an extension of the procedure for regular expressions in Chapter 2. Kozen [21] extended the notion of Brzozowski ... |

31 |
and Jerzy Tiuryn. Logics of Programs
- Kozen
- 1990
(Show Context)
Citation Context ...ard it as a conditional test with a dummy else clause 1. So we would have: if b then P ⇒ bep + b̄ . (3.16) A justification of the definitions (3.13 - 3.16) has been provided by D. Kozen and J. Tiuryn =-=[23]-=-. Next we present three examples of proving the equivalence of two simple programs using the algorithm we defined. For each example we present the output of the procedure, including the History set (H... |

31 |
An algorithm for constructing a base in a language of regular expressions.
- Mirkin
- 1966
(Show Context)
Citation Context ...atives of e is a subset of PD(e), which on the other hand is clearly finite. The set PD(e) coincides with the closure of a KAT expression e, defined by Kozen, and is also similar to Mirkin’s prebases =-=[24]-=-. PD(b) = {b} PD(p) = {p, 1} PD(e1 + e2) = {e1 + e2} ∪ PD(e1) ∪ PD(e2) PD(e1e2) = {e1e2} ∪ PD(e1) · e2 ∪ PD(e2) PD(e∗) = {e∗} ∪ PD(e) · e∗. Lemma 3.1. Let e, e′ ∈ Exp, α ∈ At and p ∈ Σ. If e′ ∈ PD(e),... |

29 | Automated reasoning in Kleene algebra.
- Hofner, Struth
- 2007
(Show Context)
Citation Context ... software applications that implement KAT’s equational theory and/or provide adequate decision procedures. Most of them are within (interactive) theorem provers or part of model checking systems. See =-=[1, 13, 8]-=- for some examples. We start by approaching the decision problem for regular expressions, to which we dedicate Chapter 2. This chapter should be viewed as an introduction to the decision problem we wi... |

27 | On the coalgebraic theory of Kleene algebra with tests.
- Kozen
- 2008
(Show Context)
Citation Context ...mization of deterministic automata [19]. In Chapter 3 we present a different procedure based on partial derivatives, which is an extension of the procedure for regular expressions in Chapter 2. Kozen =-=[21]-=- extended the notion of Brzozowski derivatives to KAT to prove the existence of a coinductive equivalence procedure. Our approach follows closely that work, but we explicitly define the notion of part... |

24 | Rewriting extended regular expressions
- Antimirov, Mosses
- 1994
(Show Context)
Citation Context ...matized. The approach we follow in Chapter 2 8 CHAPTER 1. INTRODUCTION 9 consists in developing a functional approach to the Antimirov and Mosses rewrite system for equivalence of regular expressions =-=[6]-=-. This approach is argued to lead to a better average-case algorithm than those based on the comparison of the equivalent deterministic finite automata, as some experimental results suggest [2]. Simil... |

19 | An e!cient Coq tactic for deciding Kleene algebras. In:
- Braibant, Pous
- 2010
(Show Context)
Citation Context ... software applications that implement KAT’s equational theory and/or provide adequate decision procedures. Most of them are within (interactive) theorem provers or part of model checking systems. See =-=[1, 13, 8]-=- for some examples. We start by approaching the decision problem for regular expressions, to which we dedicate Chapter 2. This chapter should be viewed as an introduction to the decision problem we wi... |

13 | KAT-ML: an interactive theorem prover for Kleene algebra with tests.
- Aboul-Hosn, Kozen
- 2006
(Show Context)
Citation Context ... software applications that implement KAT’s equational theory and/or provide adequate decision procedures. Most of them are within (interactive) theorem provers or part of model checking systems. See =-=[1, 13, 8]-=- for some examples. We start by approaching the decision problem for regular expressions, to which we dedicate Chapter 2. This chapter should be viewed as an introduction to the decision problem we wi... |

9 | Kleene algebra with tests and the static analysis of programs
- Kozen
- 2003
(Show Context)
Citation Context ... the lock when it is not in the locked state. The definition of commutativity conditions and other assumptions is essential to the proof of safety and to do that we follow the approach taken by Kozen =-=[20]-=-. First, we need to encode the program as a KAT expression. This requires extending the list (3.13)–(3.15) of encoding rules for program constructs with a new rule [20]. do p; while b ⇒ p(bp)∗b̄ . Now... |

5 |
Equivalence of regular languages: an algorithmic approach and complexity analysis.
- Almeida
- 2011
(Show Context)
Citation Context ...ssions [6]. This approach is argued to lead to a better average-case algorithm than those based on the comparison of the equivalent deterministic finite automata, as some experimental results suggest =-=[2]-=-. Similarly to what happens with regular expressions, the equivalence of KAT expressions may be decided using a deductive system and a set of axioms [17] or by minimization of deterministic automata [... |

4 |
João Frade and Jorge Sousa Pinto. Verification conditions for source-level imperative programs
- Maria
(Show Context)
Citation Context ... do not occur in the conclusion of the rule. The traditional Hoare logic system clearly does not satisfy this property, but the variation system considered by M. Frade and J. Pinto serves our purpose =-=[11]-=-. Since the program P must be annotated (which can be done using a WP algorithm [11]), the correction assertions are no longer triples. The inference rules for this system are the following: Skip b1 →... |

1 |
Rogério Reis. Antimirov and Mosses’s rewrite system revisited
- Almeida, Moreira
- 2009
(Show Context)
Citation Context ...ions, to which we dedicate Chapter 2. This chapter should be viewed as an introduction to the decision problem we wish to solve. Here we reimplement the algorithm defined by Almeida, Moreira and Reis =-=[3]-=-. The problem of testing the equivalence of two regular expressions is usually solved using automata. A common approach is to transform each regular expression into an equivalent nondeterministic fini... |

1 | Deciding KAT and Hoare logic with derivatives. accepted for publication - Almeida, Broda, et al. - 2012 |

1 |
FAdo: tools for formal languages manipulation. http://fado. dcc.fc.up.pt, Access date:1.1.2012
- FAdo
(Show Context)
Citation Context ...ith our algorithm. We generated uniformly random expressions using FAdo, an open source software library for the symbolic manipulation of automata, regular expressions and other models of computation =-=[10]-=-. Following is the grammar in Polish notation we used to generate KAT expressions. The values k and l can be any integers and are specified for each sample. r → + r c | c c → · c s | s s → ∗ s | q | p... |