235 research outputs found
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
Tool support for reasoning in display calculi
We present a tool for reasoning in and about propositional sequent calculi.
One aim is to support reasoning in calculi that contain a hundred rules or
more, so that even relatively small pen and paper derivations become tedious
and error prone. As an example, we implement the display calculus D.EAK of
dynamic epistemic logic. Second, we provide embeddings of the calculus in the
theorem prover Isabelle for formalising proofs about D.EAK. As a case study we
show that the solution of the muddy children puzzle is derivable for any number
of muddy children. Third, there is a set of meta-tools, that allows us to adapt
the tool for a wide variety of user defined calculi
ASPfun: a typed functional active object calculus
This paper provides a sound foundation for autonomous objects communicating by remote method invocations and futures. As a distributed extension of Ï-calculus we define ASPfun, a calculus of functional objects, behaving autonomously and communicating by a request-reply mechanism: requests are method calls handled asynchronously and futures represent awaited results for requests. This results in an object language enabling a concise representation of a set of active objects interacting by asynchronous method invocations. This paper first presents the ASPfun calculus and its semantics. Then, we provide a type system for ASPfun which guarantees the âprogressâ property. Most importantly, ASPfun has been formalised; its properties have been formalised and proved using the Isabelle theorem prover and we consider this as an important step in the formalization of distributed languages. This work was also an opportunity to study different binder representations and experiment with two of them in the Isabelle/HOL theorem prover
Self-Formalisation of Higher-Order Logic: Semantics, Soundness, and a Verified Implementation
This is the final version of the article. It first appeared from Springer via http://dx.doi.org/10.1007/s10817-015-9357-xWe present a mechanised semantics for higher-order logic (HOL), and a proof of soundness for the inference system, including the rules for making definitions, implemented by the kernel of the HOL Light theorem prover. Our work extends Harrisonâs verification of the inference system without definitions. Soundness of the logic extends to soundness of a theorem prover, because we also show that a synthesised implementation of the kernel in CakeML refines the inference system. Apart from adding support for definitions and synthesising an implementation, we improve on Harrisonâs work by making our model of HOL parametric on the universe of sets, and we prove soundness for an improved principle of constant specification in the hope of encouraging its adoption. Our semantics supports defined constants directly via a context, and we find this approach cleaner than our previous work formalising Wiedijkâs Stateless HOL.The first author was supported by the Gates Cambridge Trust. The second author was funded in part by the EPSRC (grant number EP/K503769/1). The third author was partially supported by the Royal Society UK and the Swedish Research Council
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
Alpha-Structural Induction and Recursion for the Lambda Calculus in Constructive Type Theory
We formulate principles of induction and recursion for a variant of lambda calculus in its original syntax (i.e., with only one sort of names) where alpha-conversion is based upon name swapping as in nominal abstract syntax. The principles allow to work modulo alpha-conversion and implement the Barendregt variable convention. We derive them all from the simple structural induction principle on concrete terms and work out applications to some fundamental meta-theoretical results, such as the substitution lemma for alpha-conversion and the lemma on substitution composition. The whole work is implemented in Agda
Monadic Sequence Testing and Explicit Test-Refinements
We present an abstract framework for sequence testing that is implemented in Isabelle/HOL-TestGen. Our framework is based on the theory of state-exception monads, explicitly modelled in HOL, and can cope with typed input and output, interleaving executions including abort, and synchronisation. The framework is particularly geared towards symbolic execution and has proven effective in several large case-studies involving system models based on large (or infinite) state. On this basis, we rephrase the concept of test-refinements for inclusion, deadlock and IOCO-like tests, together with a formal theory of its rela- tion to traditional, IO-automata based notions
- âŠ