Constructing a new language to facilitate mathematical proofs In the event-B context
Constructing a new language to facilitate mathematical proofs In the event-B context
There are many languages used for modelling systems, and verifying the consistency of specifications. Having a valid specification reduces the chances of finding major issues later in the development process. Many of these systems use a set theoretic syntax, which gives a powerful mathematical system for modelling discrete systems. This thesis focuses on the Event-B modelling system, although the results could be applied to other set theoretic modelling systems. The aim of this thesis is to increase the number of mathematical theories available to the Event-B modeller, as this allows allows more accurate models to be created. The approach taken is to facilitate the definition of abstract mathematical types such as Monoids, Groups, and Rings in such a way that they can be built up hierarchically, and concrete mathematical types e.g., the naturals can use the results of the abstract types. This work firstly shows how the current set theoretic language (Event-B) can be used to define abstract mathematical types, and have concrete mathematical types reuse the results of the abstract types. It also demonstrates many difficulties of defining these types using the set theoretic syntax. To resolve these issues a new language, B♯ , is proposed. This language is designed to facilitate the definition of abstract mathematical types, and translate to the current Event-B syntax. The major additions to the new language to allow the definition of mathematical types are type classes and subtypes. At its core the B♯ language is a HOL style language. This work demonstrates how a HOL style language can be translated into a set theoretic style language. This translation is then extended to translate all the features of the B♯ language to the Event-B syntax. This allows theorems defined in the B♯ language to be used by Event-B modellers. A developer environment to define B♯ theorems is built, and the translation from the B♯ syntax to the Event-B syntax is implemented. This is used to define several mathematical types, and demonstrate the practicality of the approach. iv The approach of adding a translation phase from a new syntax was found to be a safe (inconsistencies could not be added to proving mechanisms) and effective way of adding features to the Event-B toolset. Many additional features and improvements are suggested. This approach could be used in a similar manner to other theorem provers use of a meta language (ML) to safely add features without introducing inconsistencies.
University of Southampton
Snook, James Harvey
0fa83505-e3bf-4a4c-a01f-52ef482fd18e
November 2020
Snook, James Harvey
0fa83505-e3bf-4a4c-a01f-52ef482fd18e
Butler, Michael
54b9c2c7-2574-438e-9a36-6842a3d53ed0
Snook, James Harvey
(2020)
Constructing a new language to facilitate mathematical proofs In the event-B context.
University of Southampton, Doctoral Thesis, 188pp.
Record type:
Thesis
(Doctoral)
Abstract
There are many languages used for modelling systems, and verifying the consistency of specifications. Having a valid specification reduces the chances of finding major issues later in the development process. Many of these systems use a set theoretic syntax, which gives a powerful mathematical system for modelling discrete systems. This thesis focuses on the Event-B modelling system, although the results could be applied to other set theoretic modelling systems. The aim of this thesis is to increase the number of mathematical theories available to the Event-B modeller, as this allows allows more accurate models to be created. The approach taken is to facilitate the definition of abstract mathematical types such as Monoids, Groups, and Rings in such a way that they can be built up hierarchically, and concrete mathematical types e.g., the naturals can use the results of the abstract types. This work firstly shows how the current set theoretic language (Event-B) can be used to define abstract mathematical types, and have concrete mathematical types reuse the results of the abstract types. It also demonstrates many difficulties of defining these types using the set theoretic syntax. To resolve these issues a new language, B♯ , is proposed. This language is designed to facilitate the definition of abstract mathematical types, and translate to the current Event-B syntax. The major additions to the new language to allow the definition of mathematical types are type classes and subtypes. At its core the B♯ language is a HOL style language. This work demonstrates how a HOL style language can be translated into a set theoretic style language. This translation is then extended to translate all the features of the B♯ language to the Event-B syntax. This allows theorems defined in the B♯ language to be used by Event-B modellers. A developer environment to define B♯ theorems is built, and the translation from the B♯ syntax to the Event-B syntax is implemented. This is used to define several mathematical types, and demonstrate the practicality of the approach. iv The approach of adding a translation phase from a new syntax was found to be a safe (inconsistencies could not be added to proving mechanisms) and effective way of adding features to the Event-B toolset. Many additional features and improvements are suggested. This approach could be used in a similar manner to other theorem provers use of a meta language (ML) to safely add features without introducing inconsistencies.
Restricted to Repository staff only
More information
Published date: November 2020
Identifiers
Local EPrints ID: 448056
URI: http://eprints.soton.ac.uk/id/eprint/448056
PURE UUID: f797cbdf-f67c-45ce-a65c-234ec12e5ec0
Catalogue record
Date deposited: 01 Apr 2021 15:40
Last modified: 17 Mar 2024 02:42
Export record
Contributors
Author:
James Harvey Snook
Thesis advisor:
Michael Butler
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