@comment{{This file has been generated by bib2bib 1.98}}

@comment{{Command line: /usr/bin/bib2bib -oc /dev/null -q -w guttmann.bib}}

@article{0067, author = {Guttmann, W. and Robinson-O'Brien, N.}, title = {Relational Minimum Spanning Tree Algorithms}, journal = {Archive of Formal Proofs}, month = dec, year = 2020, url = {https://www.isa-afp.org/entries/Relational_Minimum_Spanning_Trees.html}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0067.pdf}, abstract = {We verify the correctness of Prim's, Kruskal's and Bor\r{u}vka's minimum spanning tree algorithms based on algebras for aggregation and minimisation.}, note = {} }

@article{0066, author = {Berghammer, R. and Furusawa, H. and Guttmann, W. and H{\"o}fner, P.}, title = {Relational Characterisations of Paths}, journal = {Journal of Logical and Algebraic Methods in Programming}, volume = {117:100590}, month = dec, year = 2020, url = {https://doi.org/10.1016/j.jlamp.2020.100590}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0066.pdf}, abstract = {Binary relations are one of the standard ways to encode, characterise and reason about graphs. Relation algebras provide equational axioms for a large fragment of the calculus of binary relations. Although relations are standard tools in many areas of mathematics and computing, researchers usually fall back to point-wise reasoning when it comes to arguments about paths in a graph. We present a purely algebraic way to specify different kinds of paths in Kleene relation algebras, which are relation algebras equipped with an operation for reflexive transitive closure. We study the relationship between paths with a designated root vertex and paths without such a vertex. Since we stay in first-order logic this development helps with mechanising proofs. To demonstrate the applicability of the algebraic framework we verify the correctness of three basic graph algorithms. All results of this paper are formally verified using the interactive proof assistant Isabelle/HOL.}, note = {} }

@article{0065, author = {Guttmann, W.}, title = {Relational Disjoint Set Forests}, journal = {Archive of Formal Proofs}, month = aug, year = 2020, url = {https://www.isa-afp.org/entries/Relational_Disjoint_Set_Forests.html}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0065.pdf}, abstract = {We give a simple relation-algebraic semantics of read and write operations on associative arrays. The array operations seamlessly integrate with assignments in the Hoare-logic library. Using relation algebras and Kleene algebras we verify the correctness of an array-based implementation of disjoint-set forests with a naive union operation and a find operation with path compression.}, note = {} }

@article{0064, author = {Guttmann, W. and H{\"o}fner, P.}, title = {Relational Characterisations of Paths}, journal = {Archive of Formal Proofs}, month = jul, year = 2020, url = {https://www.isa-afp.org/entries/Relational_Paths.html}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0064.pdf}, abstract = {Binary relations are one of the standard ways to encode, characterise and reason about graphs. Relation algebras provide equational axioms for a large fragment of the calculus of binary relations. Although relations are standard tools in many areas of mathematics and computing, researchers usually fall back to point-wise reasoning when it comes to arguments about paths in a graph. We present a purely algebraic way to specify different kinds of paths in Kleene relation algebras, which are relation algebras equipped with an operation for reflexive transitive closure. We study the relationship between paths with a designated root vertex and paths without such a vertex. Since we stay in first-order logic this development helps with mechanising proofs. To demonstrate the applicability of the algebraic framework we verify the correctness of three basic graph algorithms.}, note = {} }

@inproceedings{0063, author = {Guttmann, W.}, title = {Reasoning about Algebraic Structures with Implicit Carriers in {Isabelle/HOL}}, editor = {Peltier, N. and Sofronie-Stokkermans, V.}, booktitle = {Automated Reasoning, Part 2}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 12167, pages = {251--268}, year = 2020, isbn = {978-3-030-51053-4}, url = {https://doi.org/10.1007/978-3-030-51054-1_14}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0063.pdf}, abstract = {We prove Chen and Gr\"atzer's construction theorem for Stone algebras in Isabelle/HOL. The development requires extensive reasoning about algebraic structures in addition to reasoning in algebraic structures. We present an approach for this using classes and locales with implicit carriers. This involves using function liftings to implement some aspects of dependent types and using embeddings of algebras to inherit theorems. We also formalise a theory of filters based on partial orders.}, note = {} }

@inproceedings{0062, author = {Guttmann, W. and M{\"o}ller, B.}, title = {A Hierarchy of Algebras for {Boolean} Subsets}, editor = {Fahrenberg, U. and Jipsen, P. and Winter, M.}, booktitle = {Relational and Algebraic Methods in Computer Science}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 12062, pages = {152--168}, year = 2020, isbn = {978-3-030-43519-6}, url = {https://doi.org/10.1007/978-3-030-43520-2_10}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0062.pdf}, abstract = {We present a collection of axiom systems for the construction of Boolean subalgebras of larger overall algebras. The subalgebras are defined as the range of a complement-like operation on a semilattice. This technique has been used, for example, with the antidomain operation, dynamic negation and Stone algebras. We present a common ground for these constructions based on a new equational axiomatisation of Boolean algebras. All results are formally proved in Isabelle/HOL.}, note = {} }

@inproceedings{0061, author = {Guttmann, W.}, title = {Verifying the Correctness of Disjoint-Set Forests with {Kleene} Relation Algebras}, editor = {Fahrenberg, U. and Jipsen, P. and Winter, M.}, booktitle = {Relational and Algebraic Methods in Computer Science}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 12062, pages = {134--151}, year = 2020, isbn = {978-3-030-43519-6}, url = {https://doi.org/10.1007/978-3-030-43520-2_9}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0061.pdf}, abstract = {We give a simple relation-algebraic semantics of read and write operations on associative arrays. The array operations seamlessly integrate with assignments in computation models supporting while-programs. As a result, relation algebras can be used for verifying programs with associative arrays. We verify the correctness of an array-based implementation of disjoint-set forests with a naive union operation and a find operation with path compression. All results are formally proved in Isabelle/HOL.}, note = {} }

@article{0060, author = {Guttmann, W. and M{\"o}ller, B.}, title = {A Hierarchy of Algebras for {Boolean} Subsets}, journal = {Archive of Formal Proofs}, month = jan, year = 2020, url = {https://www.isa-afp.org/entries/Subset_Boolean_Algebras.html}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0060.pdf}, abstract = {We present a collection of axiom systems for the construction of Boolean subalgebras of larger overall algebras. The subalgebras are defined as the range of a complement-like operation on a semilattice. This technique has been used, for example, with the antidomain operation, dynamic negation and Stone algebras. We present a common ground for these constructions based on a new equational axiomatisation of Boolean algebras.}, note = {} }

@inproceedings{0059, author = {Guttmann, W.}, title = {Connecting Fixpoints of Computations with Strict Progress}, editor = {Ribeiro, P. and Sampaio, A.}, booktitle = {Unifying Theories of Programming, Seventh International Symposium, UTP 2019}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 11885, pages = {62--79}, year = 2019, isbn = {978-3-030-31037-0}, url = {https://doi.org/10.1007/978-3-030-31038-7_4}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0059.pdf}, abstract = {We study the semantics of recursion for computations that make strict progress. The underlying unified computation model has an abstract notion of progress, which instantiates in ways such as longer traces, passing of real time, or counting the number of steps. Recursion is given by least fixpoints in a unified approximation order. Other time-based models define the semantics of recursion by greatest fixpoints in the implication order. We give sufficient criteria for when least fixpoints in the approximation order coincide with greatest fixpoints in the implication order.}, note = {} }

@article{0058, author = {Guttmann, W.}, title = {Verifying Minimum Spanning Tree Algorithms with {Stone} Relation Algebras}, journal = {Journal of Logical and Algebraic Methods in Programming}, volume = 101, pages = {132--150}, month = dec, year = 2018, url = {https://doi.org/10.1016/j.jlamp.2018.09.005}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0058.pdf}, abstract = {We study a generalisation of relation algebras in which the underlying Boolean algebra structure is replaced with a Stone algebra. Many theorems of relation algebras generalise with no or small changes. Weighted graphs represented as matrices over extended real numbers form an instance. Relational concepts and methods can thus be applied to weighted graphs. We formally specify the problem of computing minimum spanning forests and express Kruskal's algorithm in relation-algebraic terms. We give a total-correctness proof of the algorithm. All results are formally verified in Isabelle/HOL. This paper is an extended version of \cite{0053}.}, note = {} }

@proceedings{0057, editor = {Desharnais, J. and Guttmann, W. and Joosten, S.}, title = {Relational and Algebraic Methods in Computer Science (RAMiCS 2018)}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 11194, year = 2018, isbn = {978-3-030-02148-1}, url = {http://dx.doi.org/10.1007/978-3-030-02149-8}, abstract = {This book constitutes the proceedings of the 17th International Conference on Relational and Algebraic Methods in Computer Science, RAMiCS 2018, held in Groningen, The Netherlands, in October/November 2018.}, note = {} }

@article{0056, author = {Guttmann, W.}, title = {An Algebraic Framework for Minimum Spanning Tree Problems}, journal = {Theoretical Computer Science}, volume = 744, pages = {37--55}, month = oct, year = 2018, url = {https://doi.org/10.1016/j.tcs.2018.04.012}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0056.pdf}, abstract = {We formally prove that Prim's minimum spanning tree algorithm is correct for various optimisation problems with different aggregation functions. The original minimum weight spanning tree problem and the minimum bottleneck spanning tree problem are special cases, but the framework covers many other problems. To this end we work in new generalisations of relation algebras and Kleene algebras and in new algebraic structures that capture key operations used in Prim's algorithm and its specification. Weighted graphs form instances of these algebraic structures, where edge weights are taken from a linear order with a binary aggregation operation. Many existing results from relation algebras and Kleene algebras generalise from the relation model to the weighted-graph model with no or small changes. The overall structure of the proof uses Hoare logic. All results are formally verified in Isabelle/HOL heavily using its integrated automated theorem provers. This paper is an extended version of \cite{0049}.}, note = {} }

@article{0055, author = {Guttmann, W.}, title = {Aggregation Algebras}, journal = {Archive of Formal Proofs}, month = sep, year = 2018, url = {https://www.isa-afp.org/entries/Aggregation_Algebras.html}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0055.pdf}, abstract = {We develop algebras for aggregation and minimisation for weight matrices and for edge weights in graphs. We verify the correctness of Prim's and Kruskal's minimum spanning tree algorithms based on these algebras. We also show numerous instances of these algebras based on linearly ordered commutative semigroups.}, note = {} }

@article{0054, author = {Guttmann, W.}, title = {Stone-{Kleene} Relation Algebras}, journal = {Archive of Formal Proofs}, month = oct, year = 2017, url = {https://www.isa-afp.org/entries/Stone_Kleene_Relation_Algebras.html}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0054.pdf}, abstract = {We develop Stone-Kleene relation algebras, which expand Stone relation algebras with a Kleene star operation to describe reachability in weighted graphs. Many properties of the Kleene star arise as a special case of a more general theory of iteration based on Conway semirings extended by simulation axioms. This includes several theorems representing complex program transformations. We formally prove the correctness of Conway's automata-based construction of the Kleene star of a matrix. We prove numerous results useful for reasoning about weighted graphs.}, note = {} }

@inproceedings{0053, author = {Guttmann, W.}, title = {Stone Relation Algebras}, editor = {H{\"o}fner, P. and Pous, D. and Struth, G.}, booktitle = {Relational and Algebraic Methods in Computer Science (RAMiCS 2017)}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 10226, pages = {127--143}, year = 2017, isbn = {978-3-319-57417-2}, url = {http://dx.doi.org/10.1007/978-3-319-57418-9_8}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0053.pdf}, abstract = {We study a generalisation of relation algebras in which the underlying Boolean algebra structure is replaced with a Stone algebra. Many theorems of relation algebras generalise with no or small changes. Weighted graphs represented as matrices over extended real numbers form an instance. Relational concepts and methods can thus be applied to weighted graphs. All results are formally verified in Isabelle/HOL.}, note = {} }

@article{0052, author = {Berghammer, R. and Guttmann, W.}, title = {An Algebraic Approach to Multirelations and their Properties}, journal = {Journal of Logical and Algebraic Methods in Programming}, volume = 88, pages = {45--63}, month = apr, year = 2017, url = {http://dx.doi.org/10.1016/j.jlamp.2017.02.002}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0052.pdf}, abstract = {We study operations and equational properties of multirelations, which have been used for modelling games, protocols, computations, contact, closure and topology. The operations and properties are expressed using sets, heterogeneous relation algebras and more general algebras for multirelations. We investigate the algebraic properties of a new composition operation based on the correspondence to predicate transformers, different ways to express reflexive-transitive closures of multirelations, numerous equational properties, how these properties are connected and their preservation by multirelational operations. We particularly aim to generalise results and properties from up-closed multirelations to arbitrary multirelations. This paper is an extended version of \cite{0045}.}, note = {} }

@article{0051, author = {Ge, M. and Hong, J. B. and Guttmann, W. and Kim, D. S.}, title = {A Framework for Automating Security Analysis of the {Internet of Things}}, journal = {Journal of Network and Computer Applications}, volume = 83, pages = {12--27}, month = apr, year = 2017, url = {http://dx.doi.org/10.1016/j.jnca.2017.01.033}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0051.pdf}, abstract = {The Internet of Things (IoT) is enabling innovative applications in various domains. Due to its heterogeneous and wide-scale structure, it introduces many new security issues. To address this problem, we propose a framework for modeling and assessing the security of the IoT and provide a formal definition of the framework. Generally, the framework consists of five phases: (1) data processing, (2) security model generation, (3) security visualization, (4) security analysis, and (5) model updates. Using the framework, we can find potential attack scenarios in the IoT, analyze the security of the IoT through well-defined security metrics, and assess the effectiveness of different defense strategies. The framework is evaluated via three scenarios, which are the smart home, wearable healthcare monitoring and environment monitoring scenarios. We use the analysis results to show the capabilities of the proposed framework for finding potential attack paths and mitigating the impact of attacks.}, note = {} }

@article{0050, author = {Guttmann, W.}, title = {Stone Relation Algebras}, journal = {Archive of Formal Proofs}, month = feb, year = 2017, url = {https://www.isa-afp.org/entries/Stone_Relation_Algebras.html}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0050.pdf}, abstract = {We develop Stone relation algebras, which generalise relation algebras by replacing the underlying Boolean algebra structure with a Stone algebra. We show that finite matrices over extended real numbers form an instance. As a consequence, relation-algebraic concepts and methods can be used for reasoning about weighted graphs. We also develop a fixpoint calculus and apply it to compare different definitions of reflexive-transitive closures in semirings.}, note = {} }

@inproceedings{0049, author = {Guttmann, W.}, title = {Relation-Algebraic Verification of {Prim's} Minimum Spanning Tree Algorithm}, editor = {Sampaio, A. and Wang, F.}, booktitle = {Theoretical Aspects of Computing -- ICTAC 2016}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 9965, pages = {51--68}, year = 2016, isbn = {978-3-319-46749-8}, url = {http://dx.doi.org/10.1007/978-3-319-46750-4_4}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0049.pdf}, abstract = {We formally prove the correctness of Prim's algorithm for computing minimum spanning trees. We introduce new generalisations of relation algebras and Kleene algebras, in which most of the proof can be carried out. Only a small part needs additional operations, for which we introduce a new algebraic structure. We instantiate these algebras by matrices over extended reals, which model the weighted graphs used in the algorithm. Many existing results from relation algebras and Kleene algebras generalise from the relation model to the weighted-graph model with no or small changes. The overall structure of the proof uses Hoare logic. All results are formally verified in Isabelle/HOL heavily using its integrated automated theorem provers.}, note = {} }

@article{0048, author = {Guttmann, W.}, title = {Stone Algebras}, journal = {Archive of Formal Proofs}, month = sep, year = 2016, url = {https://www.isa-afp.org/entries/Stone_Algebras.html}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0048.pdf}, abstract = {A range of algebras between lattices and Boolean algebras generalise the notion of a complement. We develop a hierarchy of these pseudo-complemented algebras that includes Stone algebras. Independently of this theory we study filters based on partial orders. Both theories are combined to prove Chen and Gr\"atzer's construction theorem for Stone algebras. The latter involves extensive reasoning about algebraic structures in addition to reasoning in algebraic structures.}, note = {} }

@article{0047, author = {Guttmann, W.}, title = {An Algebraic Approach to Computations with Progress}, journal = {Journal of Logical and Algebraic Methods in Programming}, volume = 85, number = 4, pages = {520--539}, month = jun, year = 2016, url = {http://dx.doi.org/10.1016/j.jlamp.2015.11.009}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0047.pdf}, abstract = {The notion of progress appears in various computation models, for example, in the form of traces getting longer, passing of real time, incrementing a counter, going from termination to non-termination. We introduce a model of sequential computations that generalises and abstracts these examples. We generalise existing algebras for non-terminating executions and instantiate these with our model. Using these algebras we derive an approximation order for computations with time and for trace-based computations. We introduce a generalisation of omega algebras to express iteration in the new model.}, note = {} }

@article{0046, author = {Gomes, V. B. F. and Guttmann, W. and H{\"o}fner, P. and Struth, G. and Weber, T.}, title = {Kleene Algebras with Domain}, journal = {Archive of Formal Proofs}, month = apr, year = 2016, url = {https://www.isa-afp.org/entries/KAD.html}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0046.pdf}, abstract = {Kleene algebras with domain are Kleene algebras endowed with an operation that maps each element of the algebra to its domain of definition (or its complement) in abstract fashion. They form a simple algebraic basis for Hoare logics, dynamic logics or predicate transformer semantics. We formalise a modular hierarchy of algebras with domain and antidomain (domain complement) operations in Isabelle/HOL that ranges from domain and antidomain semigroups to modal Kleene algebras and divergence Kleene algebras. We link these algebras with models of binary relations and program traces. We include some examples from modal logics, termination and program analysis.}, note = {} }

@inproceedings{0045, author = {Berghammer, R. and Guttmann, W.}, title = {Closure, Properties and Closure Properties of Multirelations}, editor = {Kahl, W. and Winter, M. and Oliveira, J. N.}, booktitle = {Relational and Algebraic Methods in Computer Science}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 9348, pages = {67--83}, year = 2015, isbn = {978-3-319-24703-8}, url = {http://dx.doi.org/10.1007/978-3-319-24704-5_5}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0045.pdf}, abstract = {Multirelations have been used for modelling games, protocols and computations. They have also been used for modelling contact, closure and topology. We bring together these two lines of research using relation algebras and more general algebras. In particular, we look at various properties of multirelations that have been used in the two lines of research, show how these properties are connected and study by which multirelational operations they are preserved. We find that many results do not require a restriction to up-closed multirelations; this includes connections between various kinds of reflexive-transitive closure.}, note = {} }

@inproceedings{0044, author = {Berghammer, R. and Guttmann, W.}, title = {A Relation-Algebraic Approach to Multirelations and Predicate Transformers}, editor = {Hinze, R. and Voigtl{\"a}nder, J.}, booktitle = {Mathematics of Program Construction}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 9129, pages = {50--70}, year = 2015, isbn = {978-3-319-19796-8}, url = {http://dx.doi.org/10.1007/978-3-319-19797-5_3}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0044.pdf}, abstract = {The correspondence between up-closed multirelations and isotone predicate transformers is well known. Less known is that multirelations have also been used for modelling topological contact, not only computations. We investigate how properties from these two lines of research translate to predicate transformers. To this end, we express the correspondence of multirelations and predicate transformers using relation algebras. It turns out to be similar to the correspondence between contact relations and closure operations. Many results generalise from up-closed to arbitrary multirelations.}, note = {} }

@article{0043, author = {Guttmann, W.}, title = {Infinite executions of lazy and strict computations}, journal = {Journal of Logical and Algebraic Methods in Programming}, volume = 84, number = 3, pages = {326--340}, month = may, year = 2015, url = {http://dx.doi.org/10.1016/j.jlamp.2014.08.001}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0043.pdf}, abstract = {We give axioms for an operation that describes the states from which a computation has infinite executions in several relational and matrix-based models. The models cover non-strict and strict computations which represent finite, infinite and aborting executions with varying precision. Based on the operation we provide an approximation order for a unified description of recursion. Least fixpoints in the approximation order are reduced to least and greatest fixpoints in the underlying semilattice order. We specialise this to a unified description of iteration which satisfies the axioms of a binary operation introduced in previous work. Previous consequences therefore generalise to all discussed computation models in a uniform way. All algebraic results are verified in Isabelle using its integrated automated theorem provers and SMT solvers.}, note = {} }

@phdthesis{0042, author = {Guttmann, W.}, title = {Algebras for Iteration, Infinite Executions and Correctness of Sequential Computations}, school = {Universit{\"a}t Ulm}, type = {Habilitationsschrift}, month = apr, year = 2015, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0042.pdf}, abstract = {We study models of state-based non-deterministic sequential computations. They differ in the kinds of computation they can represent and the precision they achieve. We systematically explore existing models, propose new models and investigate their connections. We propose algebras that describe iteration for strict and non-strict computations. They enable a unified treatment of various computation models which greatly differ in the fixpoints used to represent iteration. Our axioms are general enough to capture the semantics of while-loops in all of these models, yet powerful enough to derive complex results including program transformations and refinement theorems. We propose algebras that describe the infinite executions of a computation. In these algebras we define a unified approximation order, which applies to a wide variety of computation models. We thus obtain a unified semantics of recursion and results that connect fixpoints in the approximation and refinement orders. These results simplify reasoning about recursion and seamlessly match with our algebras for iteration when specialised to this case. We propose algebras that describe preconditions and the effect of while-programs under postconditions. Based on these we unify correctness statements in two dimensions: one statement applies in various computation models to various correctness claims. Despite their generality and the weakness of the underlying axioms we can give a sound and relatively complete correctness calculus. It also covers computation models in which choices are made by two interacting agents. The overarching algebraic method is to identify key aspects of computations, to describe these aspects by operations of algebras and to capture their properties by axioms. Theorems derived from these axioms express program transformations, correctness statements and refinement laws. We strive towards weaker axioms so as to capture more computation models. Reasoning about programs and specifications amounts to reasoning in the algebras, which can be supported by automated theorem proving technology. We extensively apply such tools to structure our results and to ensure their correctness.}, note = {} }

@techreport{0041, author = {Guttmann, W.}, title = {Isabelle/{HOL} Theories of Algebras for Iteration, Infinite Executions and Correctness of Sequential Computations}, institution = {University of Canterbury}, number = {{TR-COSC 02/15}}, month = apr, year = 2015, url = {http://www.csse.canterbury.ac.nz/research/reports/TechReps/abstracts/1502_abs.html}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0041.pdf}, abstract = {This technical report contains Isabelle/HOL theories that describe algebras for iteration, infinite executions and correctness of sequential computations. The results are explained in a separate document. The Isabelle/HOL theory files are available at \url{http://www.csse.canterbury.ac.nz/research/reports/TechReps/2015/tr_1502_theories.zip}.}, note = {} }

@article{0040, author = {Guttmann, W.}, title = {Algebras for Correctness of Sequential Computations}, journal = {Science of Computer Programming}, volume = 85, number = {Part B}, pages = {224--240}, month = jun, year = 2014, url = {http://dx.doi.org/10.1016/j.scico.2013.08.008}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0040.pdf}, abstract = {Previous work gives algebras for uniformly describing correctness statements and calculi in various relational and matrix-based computation models. These models support a single kind of non-determinism, which is either angelic, demonic or erratic with respect to the infinite executions of a computation. Other models, notably isotone predicate transformers or up-closed multirelations, offer both angelic and demonic choice with respect to finite executions. We propose algebras for a theory of correctness which covers these multirelational models in addition to relational and matrix-based models. Existing algebraic descriptions, in particular general refinement algebras and monotonic Boolean transformers, are instances of our theory. Our new description includes a precondition operation that instantiates to both modal diamond and modal box operators. We verify all results in Isabelle, heavily using its automated theorem provers. We integrate our theories with the Isabelle theory of monotonic Boolean transformers making our results applicable to that setting.}, note = {} }

@inproceedings{0039, author = {Guttmann, W.}, title = {Extended Conscriptions Algebraically}, editor = {H{\"o}fner, P. and Jipsen, P. and Kahl, W. and M{\"u}ller, M. E.}, booktitle = {Relational and Algebraic Methods in Computer Science}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 8428, pages = {139--156}, year = 2014, isbn = {978-3-319-06250-1}, url = {http://dx.doi.org/10.1007/978-3-319-06251-8_9}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0039.pdf}, abstract = {Conscriptions are a model of sequential computations with assumption/commitment specifications in which assumptions can refer to final states, not just to initial states. We show that they instantiate existing algebras for iteration and infinite computations. We use these algebras to derive an approximation order for conscriptions and one for extended conscriptions, which additionally represent aborting executions. We give a new computation model which generalises extended conscriptions and apply the algebraic techniques for a unified treatment.}, note = {} }

@article{0038, author = {Guttmann, W.}, title = {Multirelations with infinite computations}, journal = {Journal of Logical and Algebraic Methods in Programming}, volume = 83, number = 2, pages = {194--211}, month = mar, year = 2014, url = {http://dx.doi.org/10.1016/j.jlap.2014.02.008}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0038.pdf}, abstract = {Multirelations model computations with both angelic and demonic non-determinism. We extend multirelations to represent finite and infinite computations independently. We derive an approximation order for multirelations assuming only that the endless loop is its least element and that the lattice operations are isotone. We use relations, relation algebra and RelView for representing and calculating with multirelations and for finding the approximation order.}, note = {} }

@article{0037, author = {Guttmann, W.}, title = {Extended Designs Algebraically}, journal = {Science of Computer Programming}, volume = 78, number = 11, pages = {2064--2085}, month = nov, year = 2013, url = {http://dx.doi.org/10.1016/j.scico.2012.07.009}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0037.pdf}, abstract = {Extended designs distinguish non-terminating and aborting executions of sequential, non-deterministic programs. We show how to treat them algebraically based on techniques we have previously applied to total and general correctness approaches. In particular, we propose modifications to the definition of an extended design which make the theory more clear and simplify calculations, and an approximation order for recursion. We derive explicit formulas for operators on extended designs including non-deterministic choice, sequential composition, while-loops and full recursion. We show how to represent extended designs as designs or prescriptions over an extended state space. The new theory generalises our previous algebraic theory of general correctness by weakening its axioms. It also integrates with partial, total and general correctness into a common foundation which gives a unified semantics of while-programs. Program transformations derived using this semantics are valid in all four correctness approaches.}, note = {} }

@inproceedings{0036, author = {Guttmann, W.}, title = {Unifying Lazy and Strict Computations}, editor = {Kahl, W. and Griffin, T. G.}, booktitle = {Relational and Algebraic Methods in Computer Science}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 7560, pages = {17--32}, year = 2012, isbn = {978-3-642-33313-2}, url = {http://dx.doi.org/10.1007/978-3-642-33314-9_2}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0036.pdf}, abstract = {Non-strict sequential computations describe imperative programs that can be executed lazily and support infinite data structures. Based on a relational model of such computations we investigate their algebraic properties. We show that they share many laws with conventional, strict computations. We develop a common theory generalising previous algebraic descriptions of strict computation models including partial, total and general correctness and extensions thereof. Due to non-strictness, the iteration underlying loops cannot be described by a unary operation. We propose axioms that generalise the binary operation known from omega algebra, and derive properties of this new operation which hold for both strict and non-strict computations. All algebraic results are verified in Isabelle using its integrated automated theorem provers.}, note = {} }

@article{0035, author = {Guttmann, W.}, title = {Algebras for Iteration and Infinite Computations}, journal = {Acta Informatica}, volume = 49, number = 5, pages = {343--359}, month = aug, year = 2012, url = {http://dx.doi.org/10.1007/s00236-012-0162-2}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0035.pdf}, abstract = {We give axioms for an operation that describes iteration in various relational models of computations. The models differ in their treatment of finite, infinite and aborting executions, covering partial, total and general correctness and extensions thereof. Based on the common axioms we derive separation, refinement and program transformation results hitherto known from particular models, henceforth recognised to hold in many different models. We introduce a new model that independently describes the finite, infinite and aborting executions of a computation, and axiomatise an operation that extracts the infinite executions in this model and others. From these unifying axioms we derive explicit representations for recursion and iteration. We show that also the new model is an instance of our general theory of iteration. All results are verified in Isabelle heavily using automated theorem provers.}, note = {} }

@article{0034, author = {Guttmann, W.}, title = {Typing Theorems of Omega Algebra}, journal = {Journal of Logic and Algebraic Programming}, volume = 81, number = 6, pages = {643--659}, month = aug, year = 2012, url = {http://dx.doi.org/10.1016/j.jlap.2012.05.002}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0034.pdf}, abstract = {Typed omega algebras extend Kozen's typed Kleene algebras by an operation for infinite iteration in a similar way as Cohen's omega algebras extend Kleene algebras in the untyped case. Typing these algebras is motivated by non-square matrices in automata constructions and applications in program semantics. For several reasons - the theory of untyped (Kleene or omega) algebras is well developed, results are easier to derive, and automation support is much better - it is beneficial to transfer theorems from the untyped algebras to their typed variants instead of constructing new proofs in the typed setting. Such a typing of theorems is facilitated by embedding typed algebras into their untyped variants. Extending previous work, we show that a large class of theorems of 1-free omega algebras can be transferred to typed omega algebras. This covers every universal 1-free formula which does not contain the greatest element at the beginning of an expression in a negative occurrence of an equation. Moreover, the formulas may be infinitary.}, note = {} }

@inproceedings{0033, author = {Guttmann, W.}, title = {Unifying Correctness Statements}, editor = {Gibbons, J. and Nogueira, P.}, booktitle = {Mathematics of Program Construction}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 7342, pages = {198--219}, year = 2012, isbn = {978-3-642-31112-3}, url = {http://dx.doi.org/10.1007/978-3-642-31113-0_11}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0033.pdf}, abstract = {Partial, total and general correctness and further models of sequential computations differ in their treatment of finite, infinite and aborting executions. Algebras structure this diversity of models to avoid the repeated development of similar theories and to clarify their range of application. We introduce algebras that uniformly describe correctness statements, correctness calculi, pre-post specifications and loop refinement rules in five kinds of computation models. This extends previous work that unifies iteration, recursion and program transformations for some of these models. Our new description includes a relativised domain operation, which ignores parts of a computation, and represents bound functions for claims of termination by sequences of tests. We verify all results in Isabelle heavily using its automated theorem provers.}, note = {} }

@inproceedings{0032, author = {Guttmann, W. and Struth, G. and Weber, T.}, title = {Automating Algebraic Methods in {Isabelle}}, editor = {Qin, S. and Qiu, Z.}, booktitle = {Formal Methods and Software Engineering}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 6991, pages = {617--632}, year = 2011, isbn = {978-3-642-24558-9}, url = {http://dx.doi.org/10.1007/978-3-642-24559-6_41}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0032.pdf}, abstract = {We implement a large Isabelle/HOL repository of algebras for application in modelling computing systems. They subsume computational logics such as dynamic and Hoare logics and form a basis for various software development methods. Isabelle has recently been extended by automated theorem provers and SMT solvers. We use these integrated tools for automatically proving several rather intricate refinement and termination theorems. We also automate a modal correspondence result and soundness and relative completeness proofs of propositional Hoare logic. These results show, for the first time, that Isabelle's tool integration makes automated algebraic reasoning particularly simple. This is a step towards increasing the automation of formal methods.}, note = {} }

@article{0031, author = {Guttmann, W.}, title = {Fixpoints for General Correctness}, journal = {Journal of Logic and Algebraic Programming}, volume = 80, number = 6, pages = {248--265}, month = aug, year = 2011, url = {http://dx.doi.org/10.1016/j.jlap.2011.04.004}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0031.pdf}, abstract = {We investigate various fixpoint operators in a semiring-based setting that models a general correctness semantics of programs. They arise as combinations of least/greatest (pre/post) fixpoints with respect to refinement/approximation. In particular, we show isotony of these operators and give representations of fixpoints in terms of other fixpoints. Some results require completeness of the Egli-Milner order, for which we provide conditions. A new perspective is reached by exchanging the semirings with distributive lattices. They can be augmented in a natural way with a second order that is similar to the Egli-Milner order. We extend our discussion of fixpoint operators to this induced order. We show the impact on general correctness by connecting the lattice- and the semiring-based treatments to obtain results about the Egli-Milner order.}, note = {} }

@inproceedings{0030, author = {Guttmann, W. and Struth, G. and Weber, T.}, title = {A Repository for {Tarski-Kleene} Algebras}, editor = {H{\"o}fner, P. and McIver, A. and Struth, G.}, booktitle = {Automated Theory Engineering}, series = {CEUR Workshop Proceedings}, volume = 760, pages = {30--39}, year = 2011, issn = {1613-0073}, url = {http://ceur-ws.org/Vol-760/}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0030.pdf}, abstract = {We have implemented a repository of algebraic structures and theorems in the theorem proving environment Isabelle/HOL. It covers variants of Kleene algebras and relation algebras with many of their models. Most theorems have been obtained by automated theorem proving within Isabelle. Main purposes of the repository are the engineering of algebraic theories for computing systems and their application in formal program development. This paper describes the present state of the repository, illustrates its potential by a theory engineering and a program verification example, and discusses the most important directions for future work.}, note = {} }

@inproceedings{0029, author = {Guttmann, W.}, title = {Towards a Typed Omega Algebra}, editor = {Swart, H. de}, booktitle = {Relational and Algebraic Methods in Computer Science}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 6663, pages = {196--211}, year = 2011, isbn = {978-3-642-21069-3}, url = {http://dx.doi.org/10.1007/978-3-642-21070-9_16}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0029.pdf}, abstract = {We propose axioms for 1-free omega algebra, typed 1-free omega algebra and typed omega algebra. They are based on Kozen's axioms for 1-free and typed Kleene algebra and Cohen's axioms for the omega operation. In contrast to Kleene algebra, several laws of omega algebra turn into independent axioms in the typed or 1-free variants. We set up a matrix algebra over typed 1-free omega algebras by lifting the underlying structure. The algebra includes non-square matrices and care has to be taken to preserve type-correctness. The matrices can represent programs in total and general correctness. We apply the typed construction to derive the omega operation on two such representations, for which the untyped construction does not work. We embed typed 1-free omega algebra into 1-free omega algebra, and this into omega algebra. Some of our embeddings, however, do not preserve the greatest element. We obtain that the validity of a universal formula using only +, $\cdot$, ${}^+$, ${}^\omega$ and 0 carries over from omega algebra to its typed variant. This corresponds to Kozen's result for typed Kleene algebra.}, note = {} }

@inproceedings{0028, author = {Guttmann, W.}, title = {Unifying Recursion in Partial, Total and General Correctness}, editor = {Qin, S.}, booktitle = {Unifying Theories of Programming, Third International Symposium, UTP 2010}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 6445, pages = {207--225}, year = 2010, isbn = {978-3-642-16689-1}, url = {http://dx.doi.org/10.1007/978-3-642-16690-7_10}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0028.pdf}, abstract = {We give an algebraic semantics of non-deterministic, sequential programs which is valid for partial, total and general correctness. It covers full recursion based on a unified approximation order. We provide explicit solutions in terms of the refinement order. As an application, we systematically derive a semantics of while-programs common to the three correctness approaches. UTP's designs and prescriptions represent programs as pairs of termination and state transition information in total and general correctness, respectively. We show that our unified semantics induces a pair-based representation which is common to the correctness approaches. Operations on the pairs, including finite and infinite iteration, can be derived systematically. We also provide the effect of full recursion on the unified, pair-based representation.}, note = {} }

@article{0027, author = {Guttmann, W.}, title = {Imperative Abstractions for Functional Actions}, journal = {Journal of Logic and Algebraic Programming}, volume = 79, number = 8, pages = {768--793}, month = nov, year = 2010, url = {http://dx.doi.org/10.1016/j.jlap.2010.07.015}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0027.pdf}, abstract = {We elaborate our relational model of non-strict, imperative computations. The theory is extended to support infinite data structures. To facilitate their use in programs, we extend the programming language by concepts such as procedures, parameters, partial application, algebraic data types, pattern matching and list comprehensions. For each concept, we provide a relational semantics. Abstraction is further improved by programming patterns such as fold, unfold and divide-and-conquer. To support program reasoning, we prove laws such as fold-map fusion, otherwise known from functional programming languages. We give examples to show the use of our concepts in programs.}, note = {} }

@inproceedings{0026, author = {Guttmann, W.}, title = {Lazy {UTP}}, editor = {Butterfield, A.}, booktitle = {Unifying Theories of Programming, Second International Symposium, UTP 2008}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 5713, pages = {82--101}, year = 2010, isbn = {978-3-642-14520-9}, url = {http://dx.doi.org/10.1007/978-3-642-14521-6_6}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0026.pdf}, abstract = {We integrate non-strict computations into the Unifying Theories of Programming. After showing that this is not possible with designs, we develop a new relational model representing undefinedness independently of non-termination. The relations satisfy additional healthiness conditions that model dependence in computations in an elegant algebraic form using partial orders. Programs can be executed according to the principle of lazy evaluation, otherwise known from functional programming languages. We extend the theory to support infinite data structures and give examples to show their use in programs.}, note = {} }

@inproceedings{0025, author = {Guttmann, W.}, title = {Partial, Total and General Correctness}, editor = {Bolduc, C. and Desharnais, J. and Ktari, B.}, booktitle = {Mathematics of Program Construction}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 6120, pages = {157--177}, year = 2010, isbn = {978-3-642-13320-6}, url = {http://dx.doi.org/10.1007/978-3-642-13321-3_11}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0025.pdf}, abstract = {We identify weak semirings, which drop the right annihilation axiom a0 = 0, as a common foundation for partial, total and general correctness. It is known how to extend weak semirings by operations for finite and infinite iteration and domain. We use the resulting weak omega algebras with domain to define a semantics of while-programs which is valid in all three correctness approaches. The unified, algebraic semantics yields program transformations at once for partial, total and general correctness. We thus give a proof of the normal form theorem for while-programs, which is a new result for general correctness and extends to programs with non-deterministic choice. By adding specific axioms to the common ones, we obtain partial, total or general correctness as a specialisation. We continue our previous investigation of axioms for general correctness. In particular, we show that a subset of these axioms is sufficient to derive a useful theory, which includes the Egli-Milner order, full recursion, correctness statements and a correctness calculus. We also show that this subset is necessary.}, note = {} }

@article{0024, author = {Guttmann, W. and M{\"o}ller, B.}, title = {Normal Design Algebra}, journal = {Journal of Logic and Algebraic Programming}, volume = 79, number = 2, pages = {144--173}, month = feb, year = 2010, url = {http://dx.doi.org/10.1016/j.jlap.2009.07.002}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0024.pdf}, abstract = {We generalise the designs of the Unifying Theories of Programming (UTP) by defining them as matrices over semirings with ideals. This clarifies the algebraic structure of designs and considerably simplifies reasoning about them, for example, since they form a Kleene and omega algebra and a test semiring. We apply our framework to investigate symmetric linear recursion and its relation to tail-recursion. This substantially involves Kleene and omega algebra as well as additional algebraic formulations of determinacy, invariants, domain, pre-image, convergence and Noetherity. Due to the uncovered algebraic structure of UTP designs, all our general results also directly apply to UTP.}, note = {} }

@inproceedings{0023, author = {Kohlmeyer, J. and Guttmann, W.}, title = {Unifying the Semantics of {UML} 2 State, Activity and Interaction Diagrams}, editor = {Pnueli, A. and Virbitskaite, I. and Voronkov, A.}, booktitle = {Perspectives of System Informatics: 7th International Andrei Ershov Memorial Conference, PSI 2009}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 5947, pages = {206--217}, year = 2010, isbn = {978-3-642-11485-4}, url = {http://dx.doi.org/10.1007/978-3-642-11486-1_18}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0023.pdf}, abstract = {We define a formal semantics of the combined use of UML 2 state machines, activities and interactions using Abstract State Machines. The behaviour of software models can henceforth be specified by composing these diagrams, choosing the most adequate formalism at each level of abstraction. We present several reasonable ways to link different kinds of diagrams and illustrate them by examples. We also give a formal semantics of communication between these diagrams. The resulting rules reveal unclear parts of the UML specification and serve as a basis for tool support.}, note = {} }

@inproceedings{0022, author = {Guttmann, W.}, title = {General Correctness Algebra}, editor = {Berghammer, R. and Jaoua, A. M. and M{\"o}ller, B.}, booktitle = {Relations and Kleene Algebra in Computer Science}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 5827, pages = {150--165}, year = 2009, isbn = {978-3-642-04638-4}, url = {http://dx.doi.org/10.1007/978-3-642-04639-1_11}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0022.pdf}, abstract = {General correctness offers a finer semantics of programs than partial and total correctness. We give an algebraic account continuing and extending previous approaches. In particular, we propose axioms, correctness statements, a correctness calculus, specification constructs and a loop refinement rule. The Egli-Milner order is treated algebraically and we show how to obtain least fixpoints, used to solve recursion equations, in terms of the natural order.}, note = {} }

@inproceedings{0021, author = {Kohlmeyer, J. and Guttmann, W.}, title = {Unifying the Semantics of {UML} 2 State, Activity and Interaction Diagrams}, editor = {Pnueli, A. and Virbitskaite, I. and Voronkov, A.}, booktitle = {Perspectives of System Informatics: Proceedings of the Seventh International Andrei Ershov Memorial Conference}, publisher = {A. P. Ershov Institute of Informatics Systems, Novosibirsk}, pages = {159--166}, month = jun, year = 2009, abstract = {This is a preliminary version of \cite{0023}.}, note = {} }

@inproceedings{0020, author = {Guttmann, W.}, title = {Lazy {UTP}}, editor = {Butterfield, A.}, booktitle = {Second International Symposium on the Unifying Theories of Programming (UTP 08)}, publisher = {Trinity College Dublin, Ireland}, pages = {253--272}, month = sep, year = 2008, abstract = {This is a preliminary version of \cite{0026}.}, note = {} }

@incollection{0019, author = {Guttmann, W.}, title = {Algebraic Foundations of the {Unifying Theories of Programming}}, editor = {Wagner, D. and others}, booktitle = {Ausgezeichnete Informatikdissertationen 2007}, publisher = {Gesellschaft f{\"u}r Informatik}, series = {Lecture Notes in Informatics}, volume = {D-8}, pages = {141--150}, year = 2008, isbn = {978-3-88579-412-7}, abstract = {This summary of \cite{0017} was invited as it was short-listed for the dissertation award of the German computer science society GI.}, note = {} }

@inproceedings{0018, author = {Guttmann, W.}, title = {Lazy Relations}, editor = {Berghammer, R. and M{\"o}ller, B. and Struth, G.}, booktitle = {Relations and Kleene Algebra in Computer Science}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 4988, pages = {138--154}, year = 2008, isbn = {978-3-540-78912-3}, url = {http://dx.doi.org/10.1007/978-3-540-78913-0_12}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0018.pdf}, abstract = {We present a relational model of non-strict computations in an imperative, non-deterministic context. Undefinedness is represented independently of non-termination. The relations satisfy algebraic properties known from other approaches to model imperative programs; we introduce additional laws that model dependence in computations in an elegant algebraic form using partial orders. Programs can be executed according to the principle of lazy evaluation, otherwise known from functional programming languages. Local variables are treated by relational parallel composition.}, note = {} }

@phdthesis{0017, author = {Guttmann, W.}, title = {Algebraic Foundations of the Unifying Theories of Programming}, school = {Universit{\"a}t Ulm}, type = {Dissertation}, month = dec, year = 2007, url = {http://vts.uni-ulm.de/doc.asp?id=6099}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0017.pdf}, abstract = {Hoare and He's Unifying Theories of Programming take a relational view on semantics. The meaning of a non-deterministic, imperative program is described by 'designs' composed of two relations. They represent terminating states and relate the initial and final values of the observable variables, respectively. Several 'healthiness conditions' are imposed by the theory to obtain properties found in practice. This work determines the structure of designs and modifies the theory to support non-strict computations. It achieves these goals by identifying healthiness conditions and related axioms that involve unnecessary restrictions and subsequently removing them. The outcome provides a clear account of the algebraic foundations of the Unifying Theories of Programming. One of the results is a generalisation of designs by constructing them on semirings with ideals, structures having fewer axioms than relations. This clarifies the essential algebraic structure of designs, allows the reuse of existing mathematical theory and connects to further semantical approaches. The framework is extended by algebraic formulations of finite and infinite iteration, domain, pre-image, determinacy, invariants and convergence. Calculations and reasoning become simpler by the new, more abstract representation as is shown by applying the theory to investigate linear recursions. Another result is an extension of the Unifying Theories of Programming to deal with undefined values irrespective of non-termination. Besides being closer to practice, it forms the basis of a new theory of relations representing non-strict computations. They satisfy additional healthiness conditions that model dependence in computations in an elegant algebraic form. Programs can then be executed according to the principle of lazy evaluation, otherwise known from functional programming languages.}, note = {} }

@inproceedings{0016, author = {Sarstedt, S. and Guttmann, W.}, title = {An {ASM} Semantics of Token Flow in {UML} 2 Activity Diagrams}, editor = {Virbitskaite, I. and Voronkov, A.}, booktitle = {Perspectives of System Informatics: 6th International Andrei Ershov Memorial Conference, PSI 2006}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 4378, pages = {349--362}, year = 2007, isbn = {978-3-540-70880-3}, url = {http://dx.doi.org/10.1007/978-3-540-70881-0_30}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0016.pdf}, abstract = {The token flow semantics of UML 2 activity diagrams is formally defined using Abstract State Machines. Interruptible activity regions and multiplicity bounds for pins are considered for the first time in a comprehensive and rigorous way. The formalisation provides insight into problems with the UML specification, and their solutions. It also serves as a basis for an integrated environment supporting the simulation and debugging of activity diagrams.}, note = {} }

@techreport{0015, author = {Guttmann, W. and M{\"o}ller, B.}, title = {Normal Design Algebra}, institution = {Institut f{\"u}r Informatik, Universit{\"a}t Augsburg}, number = {2006-28}, month = dec, year = 2006, url = {http://www.informatik.uni-augsburg.de/lehrstuehle/dbis/pmi/publications/all_pmi_tech-reports/tr-2006-28_gut_moe/}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0015.pdf}, abstract = {We generalise the designs of Unifying Theories of Programming (UTP) by defining them as matrices over semirings with ideals. This clarifies the algebraic structure of designs and considerably simplifies reasoning about them, e.g., forming a Kleene and omega algebra of designs. Moreover, we prove a generalised fixpoint theorem for isotone functions on designs. We apply our framework to investigate symmetric linear recursion and its relation to tail-recursion; this substantially involves Kleene and omega algebra as well as additional algebraic formulations of determinacy, invariants, domain, pre-image, convergence and noetherity. Due to the uncovered algebraic structure of UTP designs, all our general results also directly apply to UTP. This technical report accompanies \cite{0024}.}, note = {} }

@inproceedings{0014, author = {Guttmann, W. and Maucher, M.}, title = {Variations on an Ordering Theme with Constraints}, editor = {Navarro, G. and Bertossi, L. and Kohayakawa, Y.}, booktitle = {Fourth IFIP International Conference on Theoretical Computer Science: TCS 2006}, publisher = {Springer}, series = {IFIP International Federation for Information Processing}, volume = 209, pages = {77--90}, year = 2006, isbn = {0-387-34633-3}, url = {http://dx.doi.org/10.1007/978-0-387-34735-6_10}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0014.pdf}, abstract = {We investigate the problem of finding a total order of a finite set that satisfies various local ordering constraints. Depending on the admitted constraints, we provide an efficient algorithm or prove NP-completeness. We discuss several generalisations and systematically classify the problems.}, note = {} }

@inproceedings{0013, author = {Sarstedt, S. and Guttmann, W.}, title = {An {ASM} Semantics of Token Flow in {UML} 2 Activity Diagrams}, editor = {Virbitskaite, I. and Voronkov, A.}, booktitle = {Perspectives of System Informatics: Proceedings of the Sixth International Andrei Ershov Memorial Conference}, publisher = {A. P. Ershov Institute of Informatics Systems, Novosibirsk}, pages = {207--213}, month = jun, year = 2006, abstract = {This is a preliminary version of \cite{0016}.}, note = {} }

@inproceedings{0012, author = {Guttmann, W. and M{\"o}ller, B.}, title = {Modal Design Algebra}, editor = {Dunne, S. and Stoddart, W.}, booktitle = {Unifying Theories of Programming}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 4010, pages = {236--256}, year = 2006, isbn = {3-540-34750-X}, url = {http://dx.doi.org/10.1007/11768173_14}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0012.pdf}, abstract = {We give an algebraic model of the designs of UTP based on a variant of modal semirings, hence generalising the original relational model. This is intended to exhibit more clearly the algebraic principles behind UTP and to provide deeper insight into the general properties of designs, the program and specification operators, and refinement. Moreover, we set up a formal connection with general and total correctness of programs as discussed by a number of authors. Finally we show that the designs form a left semiring and even a Kleene and omega algebra. This is used to calculate closed expressions for the least and greatest fixed-point semantics of the demonic while loop that are simpler than the ones obtained from standard UTP theory and previous algebraic approaches.}, note = {} }

@inproceedings{0011, author = {Guttmann, W.}, title = {Non-termination in {Unifying Theories of Programming}}, editor = {MacCaull, W. and Winter, M. and D{\"u}ntsch, I.}, booktitle = {Relational Methods in Computer Science 2005}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 3929, pages = {108--120}, year = 2006, isbn = {3-540-33339-8}, url = {http://dx.doi.org/10.1007/11734673_9}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0011.pdf}, abstract = {Within the Unifying Theories of Programming framework, program initiation and termination has been modelled by introducing a pair of variables in order to satisfy the required algebraic properties. We replace these variables with the improper value ⊥ that is frequently used to denote undefinedness. Both approaches are proved isomorphic using the relation calculus, and the existing operations and laws are carried over. We split the isomorphism by interposing "intuitive" relations.}, note = {} }

@inproceedings{0010, author = {Guttmann, W. and M{\"o}ller, B.}, title = {Modal Design Algebra}, editor = {Dunne, S. and Stoddart, W.}, booktitle = {First International Symposium on the Unifying Theories of Programming (UTP 06)}, publisher = {University of Teesside, United Kingdom}, pages = {206--225}, month = feb, year = 2006, abstract = {This is a preliminary version of \cite{0012}.}, note = {} }

@techreport{0009, author = {Guttmann, W. and Maucher, M.}, title = {Constrained Ordering}, institution = {Universit{\"a}t Ulm}, number = {UIB-2005-03}, month = dec, year = 2005, url = {http://vts.uni-ulm.de/doc.asp?id=5479}, http = {http://www.informatik.uni-ulm.de/pm/fileadmin/pm/home/walter/data/co/index.html}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0009.pdf}, abstract = {We investigate the problem of finding a total order of a finite set that satisfies various local ordering constraints. Depending on the admitted constraints, we provide an efficient algorithm or prove NP-completeness. To this end, we define a reduction technique and discuss its properties. This technical report accompanies \cite{0014}.}, note = {} }

@techreport{0008, author = {Guttmann, W. and M{\"o}ller, B.}, title = {Modal Design Algebra}, institution = {Institut f{\"u}r Informatik, Universit{\"a}t Augsburg}, number = {2005-15}, month = sep, year = 2005, url = {http://www.informatik.uni-augsburg.de/lehrstuehle/dbis/pmi/publications/all_pmi_tech-reports/tr-2005-15_moe/}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0008.pdf}, abstract = {We give an algebraic model of (H3) designs based on a variant of modal semirings, hence generalising the original relational model. This makes the theory applicable to a wider class of settings, e.g., to algebras of sets of traces. Moreover, we set up the connection with the weakly and strongly demonic semantics of programs as discussed by a number of authors. This is done using commands (a,t) where a corresponds to the transition relation of a program and the condition t characterises the input states from which termination is guaranteed. The commands form not only a semiring but even a Kleene and omega algebra. This is used to calculate closed expressions for the least and greatest fixed point semantics of the demonic while loop. This technical report accompanies \cite{0012}.}, note = {} }

@inproceedings{0007, author = {Guttmann, W.}, title = {Non-Termination in {Unifying Theories of Programming}}, editor = {D{\"u}ntsch, I. and Winter, M.}, booktitle = {8th International Conference on Relational Methods in Computer Science (RelMiCS 8)}, publisher = {Computer Science Department, Brock University, St. Catharines, Ontario, Canada}, pages = {87--94}, month = feb, year = 2005, abstract = {This is a preliminary version of \cite{0011}.}, note = {} }

@article{0006, author = {Guttmann, W. and Partsch, H. and Schulte, W. and Vullinghs, T.}, title = {Tool Support for the Interactive Derivation of Formally Correct Functional Programs}, journal = {Journal of Universal Computer Science}, volume = 9, number = 2, pages = {173--188}, month = mar, year = 2003, url = {http://dx.doi.org/10.3217/jucs-009-02-0173}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0006.pdf}, abstract = {This paper describes the program transformation system Ultra. The intended use of Ultra is to assist programmers in the formal derivation of correct and efficient programs from high-level descriptive or operational specifications. We illustrate its utility by deriving a version of the Heapsort algorithm from a non-deterministic specification. Ultra supports equational reasoning about functional programs using defining equations, algebraic laws of underlying data structures, and transformation rules. The system does not only support modifying terms, but is also useful for bookkeeping and development-navigating tasks. The most salient features of Ultra are its sound theoretical foundation, its extendability, its flexible and convenient way to express transformation tasks, its comfortable user interface, and its lean and portable implementation. Ultra itself is written in the functional language Gofer.}, note = {} }

@techreport{0005, author = {Guttmann, W.}, title = {Deriving an Applicative {Heapsort} Algorithm}, institution = {Universit{\"a}t Ulm}, number = {UIB-2002-02}, month = dec, year = 2002, url = {http://vts.uni-ulm.de/doc.asp?id=5348}, http = {http://www.informatik.uni-ulm.de/pm/fileadmin/pm/home/walter/data/heapsort/index.html}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0005.pdf}, abstract = {We proceed by program transformation to derive a version of the Heapsort algorithm from a non-deterministic specification. The object language is Haskell and, therefore, the style of the resulting Heapsort program is necessarily applicative. Our development is supported by the program transformation system Ultra. Although a valuable tool, several shortcomings of Ultra are identified. This technical report accompanies \cite{0006}.}, note = {} }

@inproceedings{0004, author = {Guttmann, W. and Partsch, H. and Schulte, W. and Vullinghs, T.}, title = {Tool Support for the Interactive Derivation of Formally Correct Functional Programs (Extended Abstract)}, editor = {Haneberg, D. and Schellhorn, G. and Reif, W.}, booktitle = {FM-TOOLS 2002: The Fifth Workshop on Tools for System Design and Verification}, publisher = {Institut f{\"u}r Informatik, Universit{\"a}t Augsburg}, pages = {15--20 in Report 2002-11}, month = jun, year = 2002, abstract = {This is a preliminary version of \cite{0006}.}, note = {} }

@mastersthesis{0003, author = {Guttmann, W.}, title = {{Transformationelle Entwicklung des Kerns eines {\"U}bersetzers f{\"u}r eine logische Programmiersprache}}, school = {Universit{\"a}t Ulm}, type = {Diplomarbeit}, month = oct, year = 2001, abstract = {The development of correct programs is desirable for all application areas and necessary for some. In any case it is an intricate task often neglected in favour of efficiency. Compilers, which process programs to speed up their execution, are particularly sensitive. Errors can spread to all translated programs. At the same time, these profit from efficient translation results. This thesis shows the development of a correct compiler that generates efficient results. A characteristic of the logic programs translated by the compiler is that they describe problems instead of specific solution methods. The programmer can therefore focus on the actual task and better perform it. The compiler is developed by program transformation. A program is transformed stepwise into a new program that obtains the same result in a different way. This formal method requires a proof of correctness for such transitions. Particular techniques of transformation developed in this thesis can be clearly distinguished and repeatedly applied. They can be part of a strategy to develop imperative programs from functional specifications.}, note = {} }

@manual{0002, author = {Guttmann, W.}, title = {An Introduction to {Ultra}}, organization = {Universit{\"a}t Ulm}, month = dec, year = 2000, http = {http://www.uni-ulm.de/en/in/pm/research/projects/ultra.html}, pdf = {http://www.csse.canterbury.ac.nz/walter.guttmann/publications/0002.pdf}, abstract = {This manual provides an introduction to the program transformation system Ultra, sample derivations and a complete system reference. Ultra is based on a dialect of the functional programming language Haskell.}, note = {} }

@manual{0001, author = {Guttmann, W.}, title = {Organisation einer Programmier-Meisterschaft}, organization = {Universit{\"a}t Ulm}, month = aug, year = 2000, abstract = {This manual describes how to organise a programming contest at a university based on experience with local competitions as part of the ACM ICPC.}, note = {} }