The University of Southampton
University of Southampton Institutional Repository

On an extensible rule-based prover for event-B

On an extensible rule-based prover for event-B
On an extensible rule-based prover for event-B
Event-B is a formalism for discrete system modelling. The Rodin platform provides a toolset to carry out specification, refinement and proof in Event-B. The importance of proofs as part of formal modelling cannot be emphasised enough, and as such, it is imperative to provide effective tool support for it. An important aspect of this support is the extensibility of the prover, and more pressingly, how its soundness is preserved while allowing extensibility. Rodin has a limited support for adding rules as this requires (a) a deep understanding of the internal architecture and (b) knowledge of the Java language. Our approach attempts to provide support for user-defined proof rules. We initially focus on supporting rewrite rules to enhance the rewriting capabilities of Rodin. To achieve this objective, we introduce a theory construct distinct from contexts and machines. The theory construct provides a platform for the users to define rewrite rules both conditional and unconditional. As part of rule definition, users decide whether the rule is to be applied automatically or interactively. Each defined rule gives rise to proof obligations that serve to verify its conservativity. In this respect, it is required that validity and well-definedness are preserved by rules. After the conservativity of all rules contained in a theory is established, the theory can then be deployed and available to the proving activity. In order to apply rewrite rules, it is necessary to single out applicable rules to any given sequent. This is achieved through a pattern matching mechanism which is implemented as an extension to Rodin. Our approach has two advantages. Firstly, it offers a uniform mechanism to add proof rule without the need to write Java code. Secondly, it provides a means to verify added rules using proof obligations. Our work is still in progress, and research has to be carried out to (a) cover a larger set of rewrite and inference rules, and (b) provide guidelines to help the theory developer with deciding whether a given rule should be applied automatically.
Springer
Maamria, Issam
b2340276-d609-4c42-978a-48456aca5000
Butler, Michael
54b9c2c7-2574-438e-9a36-6842a3d53ed0
Edmunds, Andrew
5d6da190-9621-44a5-9989-ca98a213928f
Rezazadeh, Abdolbaghi
ab1aeb76-9d41-4b46-820c-cc66b631cb99
Maamria, Issam
b2340276-d609-4c42-978a-48456aca5000
Butler, Michael
54b9c2c7-2574-438e-9a36-6842a3d53ed0
Edmunds, Andrew
5d6da190-9621-44a5-9989-ca98a213928f
Rezazadeh, Abdolbaghi
ab1aeb76-9d41-4b46-820c-cc66b631cb99

Maamria, Issam, Butler, Michael, Edmunds, Andrew and Rezazadeh, Abdolbaghi (2010) On an extensible rule-based prover for event-B. In Proceedings of ABZ 2010. Springer. 3 pp .

Record type: Conference or Workshop Item (Paper)

Abstract

Event-B is a formalism for discrete system modelling. The Rodin platform provides a toolset to carry out specification, refinement and proof in Event-B. The importance of proofs as part of formal modelling cannot be emphasised enough, and as such, it is imperative to provide effective tool support for it. An important aspect of this support is the extensibility of the prover, and more pressingly, how its soundness is preserved while allowing extensibility. Rodin has a limited support for adding rules as this requires (a) a deep understanding of the internal architecture and (b) knowledge of the Java language. Our approach attempts to provide support for user-defined proof rules. We initially focus on supporting rewrite rules to enhance the rewriting capabilities of Rodin. To achieve this objective, we introduce a theory construct distinct from contexts and machines. The theory construct provides a platform for the users to define rewrite rules both conditional and unconditional. As part of rule definition, users decide whether the rule is to be applied automatically or interactively. Each defined rule gives rise to proof obligations that serve to verify its conservativity. In this respect, it is required that validity and well-definedness are preserved by rules. After the conservativity of all rules contained in a theory is established, the theory can then be deployed and available to the proving activity. In order to apply rewrite rules, it is necessary to single out applicable rules to any given sequent. This is achieved through a pattern matching mechanism which is implemented as an extension to Rodin. Our approach has two advantages. Firstly, it offers a uniform mechanism to add proof rule without the need to write Java code. Secondly, it provides a means to verify added rules using proof obligations. Our work is still in progress, and research has to be carried out to (a) cover a larger set of rewrite and inference rules, and (b) provide guidelines to help the theory developer with deciding whether a given rule should be applied automatically.

Text
29-online - Version of Record
Download (100kB)
UNSPECIFIED
final.pdf - Other
Download (0B)

More information

Accepted/In Press date: 27 November 2009
Published date: 23 February 2010
Additional Information: Event Dates: 23-25 Feb 2010
Venue - Dates: ABZ2010, Orford, Canada, 2010-02-23 - 2010-02-25

Identifiers

Local EPrints ID: 69720
URI: http://eprints.soton.ac.uk/id/eprint/69720
PURE UUID: 75081b6a-3b25-4d9c-94a0-0cdbc01f7eab
ORCID for Michael Butler: ORCID iD orcid.org/0000-0003-4642-5373
ORCID for Abdolbaghi Rezazadeh: ORCID iD orcid.org/0000-0002-0029-469X

Catalogue record

Date deposited: 27 Nov 2009
Last modified: 01 Oct 2024 01:39

Export record

Contributors

Author: Issam Maamria
Author: Michael Butler ORCID iD
Author: Andrew Edmunds
Author: Abdolbaghi Rezazadeh ORCID iD

Download statistics

Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.

View more statistics

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton: eprints@soton.ac.uk

ePrints Soton supports OAI 2.0 with a base URL of http://eprints.soton.ac.uk/cgi/oai2

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×