10 research outputs found
The Largest Respectful Function
Respectful functions were introduced by Sangiorgi as a compositional tool to
formulate short and clear bisimulation proofs. Usually, the larger the
respectful function, the easier the bisimulation proof. In particular the
largest respectful function, defined as the pointwise union of all respectful
functions, has been shown to be very useful. We here provide an explicit and
constructive characterization of it
Formalising the pi-calculus using nominal logic
We formalise the pi-calculus using the nominal datatype package, based on
ideas from the nominal logic by Pitts et al., and demonstrate an implementation
in Isabelle/HOL. The purpose is to derive powerful induction rules for the
semantics in order to conduct machine checkable proofs, closely following the
intuitive arguments found in manual proofs. In this way we have covered many of
the standard theorems of bisimulation equivalence and congruence, both late and
early, and both strong and weak in a uniform manner. We thus provide one of the
most extensive formalisations of a process calculus ever done inside a theorem
prover.
A significant gain in our formulation is that agents are identified up to
alpha-equivalence, thereby greatly reducing the arguments about bound names.
This is a normal strategy for manual proofs about the pi-calculus, but that
kind of hand waving has previously been difficult to incorporate smoothly in an
interactive theorem prover. We show how the nominal logic formalism and its
support in Isabelle accomplishes this and thus significantly reduces the tedium
of conducting completely formal proofs. This improves on previous work using
weak higher order abstract syntax since we do not need extra assumptions to
filter out exotic terms and can keep all arguments within a familiar
first-order logic.Comment: 36 pages, 3 figure
Mechanizing a Process Algebra for Network Protocols
This paper presents the mechanization of a process algebra for Mobile Ad hoc
Networks and Wireless Mesh Networks, and the development of a compositional
framework for proving invariant properties. Mechanizing the core process
algebra in Isabelle/HOL is relatively standard, but its layered structure
necessitates special treatment. The control states of reactive processes, such
as nodes in a network, are modelled by terms of the process algebra. We propose
a technique based on these terms to streamline proofs of inductive invariance.
This is not sufficient, however, to state and prove invariants that relate
states across multiple processes (entire networks). To this end, we propose a
novel compositional technique for lifting global invariants stated at the level
of individual nodes to networks of nodes.Comment: This paper is an extended version of arXiv:1407.3519. The
Isabelle/HOL source files, and a full proof document, are available in the
Archive of Formal Proofs, at http://afp.sourceforge.net/entries/AWN.shtm
Formalisation de HOCore en Coq
National audienceNous présentons les premiers résultats de la formalisation de propriétés du calcul de processus d'ordre supérieur HOCore [I. Lanese, J. A. Pérez, D. Sangiorgi et A. Schmitt : On the expressiveness and decidability of higher-order process calculi. Information and Computation, 209(2):198-226, fév. 2011.] dans l'assistant de preuve Coq. Nous décrivons notre choix de représentation des lieurs de HOCore, nous basant sur l'approche canonique de Pollack et al .[R. Pollack, M. Sato et W. Ricciotti : A canonical locally named representation of binding. Journal of Automated Reasoning, p. 1-23, mai 2011. 10.1007/s10817-011-9229-y.] Nous donnons la représentation de différentes notions de bissimulations, puis la preuve formelle de la correction de l'IO-bissimilarité par rapport à l'équivalence contextuelle barbue, correspondant à un des théorÚmes fondamentaux de [I. Lanese, J. A. Pérez, D. Sangiorgi et A. Schmitt : On the expressiveness and decidability of higher-order process calculi. Information and Computation, 209(2):198-226, fév. 2011.]. Nous montrons également que l'IO-bissimilarité est décidable. L'objectif de ce travail est de montrer l'utilité de Coq et de la représentation canonique pour prouver des propriétés de calculs d'ordre supérieur
Proof-relevant pi-calculus
Formalising the pi-calculus is an illuminating test of the expressiveness of
logical frameworks and mechanised metatheory systems, because of the presence
of name binding, labelled transitions with name extrusion, bisimulation, and
structural congruence. Formalisations have been undertaken in a variety of
systems, primarily focusing on well-studied (and challenging) properties such
as the theory of process bisimulation. We present a formalisation in Agda that
instead explores the theory of concurrent transitions, residuation, and causal
equivalence of traces, which has not previously been formalised for the
pi-calculus. Our formalisation employs de Bruijn indices and dependently-typed
syntax, and aligns the "proved transitions" proposed by Boudol and Castellani
in the context of CCS with the proof terms naturally present in Agda's
representation of the labelled transition relation. Our main contributions are
proofs of the "diamond lemma" for residuation of concurrent transitions and a
formal definition of equivalence of traces up to permutation of transitions.Comment: In Proceedings LFMTP 2015, arXiv:1507.0759
Modular coinduction up-to for higher-order languages via first-order transition systems
The bisimulation proof method can be enhanced by employing âbisimulations up-toâ techniques. A comprehensive theory of such enhancements has been developed for first-order (i.e., CCS-like) labelled transition systems (LTSs) and bisimilarity, based on abstract fixed-point theory and compatible functions. We transport this theory onto languages whose bisimilarity and LTS go beyond those of first-order models. The approach consists in exhibiting fully abstract translations of the more sophisticated LTSs and bisimilarities onto the first-order ones. This allows us to reuse directly the large corpus of up-to techniques that are available on first-order LTSs. The only ingredient that has to be manually supplied is the compatibility of basic up-to techniques that are specific to the new languages. We investigate the method on the Ï-calculus, the λ-calculus, and a (call-by-value) λ-calculus with references
Executable Structural Operational Semantics in Maude
This paper describes in detail how to bridge the gap between theory and practice when implementing
in Maude structural operational semantics described in rewriting logic, where transitions
become rewrites and inference rules become conditional rewrite rules with rewrites in the conditions,
as made possible by the new features in Maude 2.0. We validate this technique using it in
several case studies: a functional language Fpl (evaluation and computation semantics, including
an abstract machine), imperative languages WhileL (evaluation and computation semantics) and
GuardL with nondeterminism (computation semantics), Kahnâs functional language Mini-ML (evaluation
or natural semantics), Milnerâs CCS (with strong and weak transitions), and Full LOTOS
(including ACT ONE data type specifications). In addition, on top of CCS we develop an implementation
of the Hennessy-Milner modal logic for describing local capabilities of processes, and
for LOTOS we build an entire tool where Full LOTOS specifications can be entered and executed
(without user knowledge of the underlying implementation of the semantics). We also compare this
method based on transitions as rewrites with another one based on transitions as judgements
Modular coinduction up-to for higher-order languages via first-order transition systems
The bisimulation proof method can be enhanced by employing `bisimulations
up-to' techniques. A comprehensive theory of such enhancements has been
developed for first-order (i.e., CCS-like) labelled transition systems (LTSs)
and bisimilarity, based on abstract fixed-point theory and compatible
functions.
We transport this theory onto languages whose bisimilarity and LTS go beyond
those of first-order models. The approach consists in exhibiting fully abstract
translations of the more sophisticated LTSs and bisimilarities onto the
first-order ones. This allows us to reuse directly the large corpus of up-to
techniques that are available on first-order LTSs. The only ingredient that has
to be manually supplied is the compatibility of basic up-to techniques that are
specific to the new languages. We investigate the method on the pi-calculus,
the lambda-calculus, and a (call-by-value) lambda-calculus with references