13 research outputs found
A theorem proving framework for the formal verification of Web Services Composition
We present a rigorous framework for the composition of Web Services within a
higher order logic theorem prover. Our approach is based on the
proofs-as-processes paradigm that enables inference rules of Classical Linear
Logic (CLL) to be translated into pi-calculus processes. In this setting,
composition is achieved by representing available web services as CLL
sentences, proving the requested composite service as a conjecture, and then
extracting the constructed pi-calculus term from the proof. Our framework,
implemented in HOL Light, not only uses an expressive logic that allows us to
incorporate multiple Web Services properties in the composition process, but
also provides guarantees of soundness and correctness for the composition.Comment: In Proceedings WWV 2011, arXiv:1108.208
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
Unique Solutions of Contractions, CCS, and their HOL Formalisation
The unique solution of contractions is a proof technique for bisimilarity
that overcomes certain syntactic constraints of Milner's "unique solution of
equations" technique. The paper presents an overview of a rather comprehensive
formalisation of the core of the theory of CCS in the HOL theorem prover
(HOL4), with a focus towards the theory of unique solutions of contractions.
(The formalisation consists of about 20,000 lines of proof scripts in Standard
ML.) Some refinements of the theory itself are obtained. In particular we
remove the constraints on summation, which must be weakly-guarded, by moving to
rooted contraction, that is, the coarsest precongruence contained in the
contraction preorder.Comment: In Proceedings EXPRESS/SOS 2018, arXiv:1808.0807
Formalizing Functions as Processes
We present the first formalization of Milnerâs classic translation of the λ-calculus into the Ï-calculus. It is a challenging result with respect to variables, names, and binders, as it requires one to relate variables and binders of the λ-calculus with names and binders in the Ï-calculus. We formalize it in Abella, merging the set of variables and the set of names, thus circumventing the challenge and obtaining a neat formalization. About the translation, we follow Accattoliâs factoring of Milnerâs result via the linear substitution calculus, which is a λ-calculus with explicit substitutions and contextual rewriting rules, mediating between the λ-calculus and the Ï-calculus. Another aim of the formalization is to investigate to which extent the use of contexts in Accattoliâs refinement can be formalized
A Mechanized Theory of Communication Analysis in CML
For this master\u27s thesis, I have developed a formal semantics of a language with concurrent processes (or threads), an initial formal analysis, along with related theorems and formal proofs. The language under analysis is a very simplified version of Concurrent ML. The formal analysis recasts an analysis with informal proofs developed by Reppy and Xiao. It categorizes communication described by programs into simple topologies. One description of topologies is static; that is, it describes all static topologies of a program in a finite number of steps. Another description is dynamic; that is, it describes topologies in terms of running a program for an arbitrary number of steps. The main formal theorem states that the static analysis is sound with respect to the dynamic analysis. Two versions of the static analysis have been developed so far; one with lower precision, and one with higher precision. The higher precision analysis is closer to the work by Reppy and Xiao, but contains many more details making it more challenging to prove formally than the lower precision analysis. The proofs for the soundness theorems of the lower precision analysis have been mechanically verified using Isabelle/HOL, while the higher precision analysis is currently under development. Indeed, one of the motivations for implementing the analysis in a mechanical setting is to enable gradual extension of analysis and language without introducing uncaught bugs in the definitions or proofs. The definitions used in this formal theory differ significantly from that of Reppy and Xiao, in order to aid formal reasoning. Thus, recasting Reppy and Xiao\u27s work was far more nuanced than a straightforward syntactic transliteration. Although the definitions are structurally quite different, their philosophical equivalence is hopefully apparent. In this formal theory, the dynamic semantics of Concurrent ML consists of a CEK machine. The static semantics consists of a control flow analysis (0CFA), defined in terms of constraints
Proof-relevant Ï-calculus: a constructive account of concurrency and causality
We present a formalisation in Agda of the theory of concurrent transitions, residuation and causal equivalence of traces for the Ï-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 the residuals of concurrent transitions and a formal definition of equivalence of traces up to permutation of transitions.
In the Ï-calculus, transitions represent propagating binders whenever their actions involve bound names. To accommodate these cases, we require a more general diamond lemma where the target states of equivalent traces are no longer identical, but are related by a braiding that rewires the bound and free names to reflect the particular interleaving of events involving binders. Our approach may be useful for modelling concurrency in other languages where transitions carry meta-data sensitive to particular interleavings, such as dynamically allocated memory addresses
Unique solutions of contractions, CCS, and their HOL formalisation
International audienceThe unique solution of contractions is a proof technique for (weak) bisimilarity that overcomes certainsyntactic limitations of Milnerâs âunique solution of equationsâ theorem. This paper presents an overview ofa comprehensive formalisation of Milnerâs Calculus of Communicating Systems (CCS) in the HOL theoremprover (HOL4), with a focus towards the theory of unique solutions of equations and contractions. Theformalisation consists of about 24,000 lines (1MB) of code in total. Some refinements of the âunique solutionof contractionsâ theory itself are obtained. In particular we remove the constraints on summation, whichmust be guarded, by moving from contraction to rooted contraction. We prove the âunique solution ofrooted contractionsâ theorem and show that rooted contraction is the coarsest precongruence contained inthe contraction preorder
Extending and relating semantic models of compensating CSP
Business transactions involve multiple partners coordinating and interacting with each other. These transactions have hierarchies of activities which need to be orchestrated. Usual database approaches (e.g.,checkpoint, rollback) are not applicable to handle faults in a long running transaction due to interaction with multiple partners. The compensation mechanism handles faults that can arise in a long running transaction. Based on the framework of Hoare's CSP process algebra, Butler et al introduced Compensating CSP (cCSP), a language to model long-running transactions. The language introduces a method to declare a transaction as a process and it has constructs for orchestration of compensation. Butler et al also defines a trace semantics for cCSP. In this thesis, the semantic models of compensating CSP are extended by defining an operational semantics, describing how the state of a program changes during its execution. The semantics is encoded into Prolog to animate the specification. The semantic models are further extended to define the synchronisation of processes. The notion of partial behaviour is defined to model the behaviour of deadlock that arises during process synchronisation. A correspondence relationship is then defined between the semantic models and proved by using structural induction. Proving the correspondence means that any of the presentation can be accepted as a primary definition of the meaning of the language and each definition can be used correctly at different times, and for different purposes. The semantic models and their relationships are mechanised by using the theorem prover PVS. The semantic models are embedded in PVS by using Shallow embedding. The relationships between semantic models are proved by mutual structural induction. The mechanisation overcomes the problems in hand proofs and improves the scalability of the approach.EThOS - Electronic Theses Online ServiceGBUnited Kingdo