61 research outputs found
Canonical Algebraic Generators in Automata Learning
Many methods for the verification of complex computer systems require the
existence of a tractable mathematical abstraction of the system, often in the
form of an automaton. In reality, however, such a model is hard to come up
with, in particular manually. Automata learning is a technique that can
automatically infer an automaton model from a system -- by observing its
behaviour. The majority of automata learning algorithms is based on the
so-called L* algorithm. The acceptor learned by L* has an important property:
it is canonical, in the sense that, it is, up to isomorphism, the unique
deterministic finite automaton of minimal size accepting a given regular
language. Establishing a similar result for other classes of acceptors, often
with side-effects, is of great practical importance. Non-deterministic finite
automata, for instance, can be exponentially more succinct than deterministic
ones, allowing verification to scale. Unfortunately, identifying a canonical
size-minimal non-deterministic acceptor of a given regular language is in
general not possible: it can happen that a regular language is accepted by two
non-isomorphic non-deterministic finite automata of minimal size. In
particular, it thus is unclear which one of the automata should be targeted by
a learning algorithm. In this thesis, we further explore the issue and identify
(sub-)classes of acceptors that admit canonical size-minimal representatives.Comment: PhD thesi
Canonical Algebraic Generators in Automata Learning
Many methods for the verification of complex computer systems require the existence of a tractable mathematical abstraction of the system, often in the form of an automaton. In reality, however, such a model is hard to come up with, in particular manually. Automata learning is a technique that can automatically infer an automaton model from a system -- by observing its behaviour. The majority of automata learning algorithms is based on the so-called L* algorithm. The acceptor learned by L* has an important property: it is canonical, in the sense that, it is, up to isomorphism, the unique deterministic finite automaton of minimal size accepting a given regular language. Establishing a similar result for other classes of acceptors, often with side-effects, is of great practical importance. Non-deterministic finite automata, for instance, can be exponentially more succinct than deterministic ones, allowing verification to scale. Unfortunately, identifying a canonical size-minimal non-deterministic acceptor of a given regular language is in general not possible: it can happen that a regular language is accepted by two non-isomorphic non-deterministic finite automata of minimal size. In particular, it thus is unclear which one of the automata should be targeted by a learning algorithm. In this thesis, we further explore the issue and identify (sub-)classes of acceptors that admit canonical size-minimal representatives.
In more detail, the contributions of this thesis are three-fold.
First, we expand the automata (learning) theory of Guarded Kleene Algebra with Tests (GKAT), an efficiently decidable logic expressive enough to model simple imperative programs. In particular, we present GL*, an algorithm that learns the unique size-minimal GKAT automaton for a given deterministic language, and prove that GL* is more efficient than an existing variation of L*. We implement both algorithms in OCaml, and compare them on example programs.
Second, we present a category-theoretical framework based on generators, bialgebras, and distributive laws, which identifies, for a wide class of automata with side-effects in a monad, canonical target models for automata learning. Apart from recovering examples from the literature, we discover a new canonical acceptor of regular languages, and present a unifying minimality result.
Finally, we show that the construction underlying our framework is an instance of a more general theory. First, we see that deriving a minimal bialgebra from a minimal coalgebra can be realized by applying a monad on a category of subobjects with respect to an epi-mono factorisation system. Second, we explore the abstract theory of generators and bases for algebras over a monad: we discuss bases for bialgebras, the product of bases, generalise the representation theory of linear maps, and compare our ideas to a coalgebra-based approach
Applications of Category Theory to Programming and Program Specification
Category theory is proving a useful tool in programming and program specification - not only as a descriptive language but as directly
applicable to programming and specification tasks.
Category theory achieves a level of generality of description at
which computation is still possible. We show that theorems from
category theory often have constructive proofs in the sense that they
may be encoded as programs. In particular we look at the computation
of colimits in categories showing that general theorems give rise to
routines which considerably simplify the rather awkward computation
of colimits.
The general routines arising from categorical constructions can be
used to build programs in the 'combinatorial' style of programming.
We show this with an example - a program to implement the semantics
of a specification language. More importantly, the intimate
relationship between these routines and algebraic specifications
allows us to develop programs from certain forms of specifications.
Later we turn to algebraic specifications themselves and look at
properties of "monadic theories". We establish that, under suitable
conditions:
1. Signatures and presentations may be defined for monadic
theories and free theories on a signature may be
constructed.
2. Theory morphisms give rise to ad junctions between
categories of algebras and moreover a collection of
algebras of a theory give rise to a new theory with
certain properties.
3. Finite colimits and certain factorisations exist in
categories of monadic theories.
4. Many-sorted, order-sorted and even category-sorted
theories may be handled by somewhat extending the notion
of monadic theories.
These results show that monadic theories are sufficiently
well-behaved to be used in the semantics of algebraic specification
languages. Some of the constructions can be encoded as programs by
the techniques mentioned above
In Search of Effectful Dependent Types
Real world programming languages crucially depend on the availability of
computational effects to achieve programming convenience and expressive power
as well as program efficiency. Logical frameworks rely on predicates, or
dependent types, to express detailed logical properties about entities.
According to the Curry-Howard correspondence, programming languages and logical
frameworks should be very closely related. However, a language that has both
good support for real programming and serious proving is still missing from the
programming languages zoo. We believe this is due to a fundamental lack of
understanding of how dependent types should interact with computational
effects. In this thesis, we make a contribution towards such an understanding,
with a focus on semantic methods.Comment: PhD thesis, Version submitted to Exam School
Completeness-via-canonicity in coalgebraic logics
This thesis aims to provide a suite of techniques to generate completeness re- sults for coalgebraic logics with axioms of arbitrary rank. We have chosen to investigate the possibility to generalize what is arguably one of the most suc- cessful methods to prove completeness results in ‘classical’ modal logic, namely completeness-via-canonicity. This technique is particularly well-suited to a coal- gebraic generalization because of its clean and abstract algebraic formalism. In the case of classical modal logic, it can be summarized in two steps, first it isolates the purely algebraic problem of canonicity, i.e. of determining when a variety of boolean Algebras with Operators (BAOs) is closed under canonical extension (i.e. canonical). Secondly, it connects the notion of canonical vari- eties to that of canonical models to explicitly build models, thereby proving completeness.
The classical algebraic theory of canonicity is geared towards normal logics, or, in algebraic terms, BAOs (or generalizations thereof). Most coalgebraic log- ics are not normal, and we thus develop the algebraic theory of canonicity for Boolean Algebra with Expansions (BAEs), or more generally for Distributive Lattice Expansions (DLEs). We present new results about a class of expan- sions defined by weaker preservation properties than meet or join preservation, namely (anti)-k-additive and (anti-)k-multiplicative expansions. We show how canonical and Sahlqvist equations can be built from such operations.
In order to connect the theory of canonicity in DLEs and BAEs to coalgebraic logic, we choose to work in the abstract formulation of coalgebraic logic. An
abstract coalgebraic logic is defined by a functor L : BA → BA, and we can
heuristically separate these logics in two classes. In the first class the functor L is relatively simple, and in particular can be interpreted as defining a BAE. This class includes the predicate lifting style of coalgebraic logics. In the second class the functor L can be very complicated and the whole theory requires a different approach. This class includes the nabla style of coalgebraic logics.
For simple functors, we develop results on strong completeness and then prove strong completeness-via-canonicity in the presence of canonical frame con- ditions for strongly complete abstract coalgebraic logics. In particular we show coalgebraic completeness-via-canonicity for Graded Modal Logic, Intuitionistic Logic, the distributive full Lambek calculus, and the logic of trees of arbitrary branching degrees defined by the List functor. These results are to the best of our knowledge, new.
For a complex functor L we use an indirect approach via the notion of functor presentation. This allows us to represent L as the quotient of a much simpler polynomial functor. Polynomial functors define BAEs and can thus be treated as objects in the first class of functors, in particular we can apply all the above mentioned techniques to the logics defined by such functors. We develop techniques that ensure that results obtained for the simple presenting logic can be transferred back to the complicated presented logic. We can then prove strong-completeness-via-canonicity in the presence of canonical frame conditions for coalgebraic logics which do not define a BAE, such as the nabla coalgebraic logics.Open Acces
Limits in categories of Vietoris coalgebras
Motivated by the need to reason about hybrid systems, we study limits in
categories of coalgebras whose underlying functor is a Vietoris polynomial one
- intuitively, the topological analogue of a Kripke polynomial functor. Among
other results, we prove that every Vietoris polynomial functor admits a final
coalgebra if it respects certain conditions concerning separation axioms and
compactness. When the functor is restricted to some of the categories induced
by these conditions the resulting categories of coalgebras are even complete.
As a practical application, we use these developments in the specification and
analysis of non-deterministic hybrid systems, in particular to obtain suitable
notions of stability, and behaviour.publishe
- …