Interaction trees are an active development in representing effectful and impure pro- grams in the Coq proof assistant. Examples of programs they can represent are programs that use: mutable state, concurrency and general recursion. Besides representing these programs we also want to reason about and verify these programs using separation logic. That is the purpose of this thesis. More technically speaking interaction trees are new way to do shallow embeddings in the Coq proof assistant. They are a coinductive variant of the free monad and come with the usual constructions of events and event handlers. The aim of interaction trees is to represent impure programs and potentially non-terminating programs in their environment. Interaction tree...
One concern of theoretical computer science is to prove the correctness of algorithms, for example t...
Message passing is a useful abstraction to implement concurrent programs. For real-world systems, ho...
Monadic programming is an essential component in the toolbox of functional programmers. For the pure...
Interaction trees are a representation of effectful and reactive systemsdesigned to be implemented i...
Interaction trees are a representation of effectful and reactive systemsdesigned to be implemented i...
When using a proof assistant to reason in an embedded logic – like separation logic – one cannot ben...
A number of tools have been developed for carrying out separation-logic proofs mechanically using an...
In program verification, it is common to embed a high-level object logic into the meta logic of a pr...
International audienceMonadic computations built by interpreting, or handling , operations of a free...
This paper presents a specification framework for monadic, recursive, interactive programs that supp...
This paper presents a specification framework for monadic, recursive, interactive programs that supp...
International audienceA number of tools have been developed for carrying out separation-logic proofs...
Non-interference is a program property that ensures the absence of information leaks. In the context...
We propose and illustrate first steps towards an extension of interaction nets based on monads to ha...
Non-interference is a program property that ensures the absence of information leaks. In the context...
One concern of theoretical computer science is to prove the correctness of algorithms, for example t...
Message passing is a useful abstraction to implement concurrent programs. For real-world systems, ho...
Monadic programming is an essential component in the toolbox of functional programmers. For the pure...
Interaction trees are a representation of effectful and reactive systemsdesigned to be implemented i...
Interaction trees are a representation of effectful and reactive systemsdesigned to be implemented i...
When using a proof assistant to reason in an embedded logic – like separation logic – one cannot ben...
A number of tools have been developed for carrying out separation-logic proofs mechanically using an...
In program verification, it is common to embed a high-level object logic into the meta logic of a pr...
International audienceMonadic computations built by interpreting, or handling , operations of a free...
This paper presents a specification framework for monadic, recursive, interactive programs that supp...
This paper presents a specification framework for monadic, recursive, interactive programs that supp...
International audienceA number of tools have been developed for carrying out separation-logic proofs...
Non-interference is a program property that ensures the absence of information leaks. In the context...
We propose and illustrate first steps towards an extension of interaction nets based on monads to ha...
Non-interference is a program property that ensures the absence of information leaks. In the context...
One concern of theoretical computer science is to prove the correctness of algorithms, for example t...
Message passing is a useful abstraction to implement concurrent programs. For real-world systems, ho...
Monadic programming is an essential component in the toolbox of functional programmers. For the pure...