Proof-Guided Ontology Development using Pattern Rules Liwei Deng and Alan Bundy and Fiona McNeill and Alan Smaill 1 Abstract. In this paper we present a proof-based method of devel- oping ontologies that satisfy requirements, where the proof process guides the development of the ontology. We formally define our pro- cedure and illustrate it with examples. 1 INTRODUCTION Ontologies are (formal) models of some aspect of the real world, with applications such as information sharing, semantic search and interoperability. There are various ontologies in use, including many business and biomedical ones. Developing (and maintaining) such ontologies involves many ac- tivities, sources of knowledge and people. The experience over the years have been analysed, organised and developed into methodolo- gies, describing the whole process of developing an ontology; see [2] [1] for meta-surveys. Generally there are three main stages: 1. first, purpose and requirements are identified, relevant knowledge gathered, and an informal ontology may be built; 2. then, the formal ontology is created; 3. finally, the ontology is evaluated against the purpose and require- ments, modified accordingly, and maintained as long as necessary. We aim to find good methods for stages 2 and 3 above, that of cre- ating the formal ontology that satisfies formal requirements. Such ontologies have the quality of relative correctness, correct relative to the requirements. Establishing the satisfaction of some formal requirements can take the form of proofs: if the (statements of the) formal ontology are seen as a set of axioms, these formal requirements are conjectures on the ontology to be proved. For example, for an anatomy ontology, we could have a require- ment The human body is left-right symmetric externally; which can be formalised as external symmetric(human body). We will be able to deduce this from the ontology if, for example, the ontology had, for each external component, both a left part and a right one, or is designated self-symmetric. This approach of formally proving satisfaction of requirements by ontologies was first introduced in TOVE (TOronto Virtual Enter- prise) [3], and we will discuss this later in Section 3, Related Work. 1 University of Edinburgh, Scotland, email: {L.Deng-2@sms.ed.ac.uk, bundy@staffmail.ed.ac.uk, f.j.mcneill@ed.ac.uk, A.Smaill@ed.ac.uk} In this paper we are only interested in formal requirements that could be stated as conjectures on and proved to follow from the for- mal ontology and henceforth we will be using the term formal re- quirements to mean only these ones. For creating formal ontologies where formal requirements could be proved, we propose Proof-Guided Ontology Development, where we use the formal requirements to guide the development of the on- tology. We start with the formal requirements and use their proof attempts to guide the user on the relevant classes, relations and rules to add to the ontology so that it reflects the user’s view of the do- main, at the same time as giving proofs of the statements. When the development of the ontology is finished, all the requirements should be proved, so we know that they are all satisfied. This use of formal requirements to guide the development of the ontology is different from existing approaches. The rest of the paper is structured as follows: in Section 2 we show the use of certain pattern rules in guiding the development of the on- tology, starting with a simple example in Section 2.1, followed by a formal description of our procedure as an algorithm in Section 2.2, which is then applied to a more complicated example in Section 2.3, then a brief discussion in Section 2.4, and a brief description of the implementation of the example in Section 2.5, followed by its eval- uation in Section 2.6; we then discuss related work in Section 3, de- scribed on-going and planned work in Section 4, before concluding in Section 5. 2 USING PATTERN RULES Our development process aims to end in an ontology where all the formal requirements are satisfied, and to get there we aim to go through an iterative series of states in each of which an intermediate ontology satisfies an intermediate set of formal requirements (which could be a subset of the final ones). We start with a state with no formal requirements and an empty ontology (with no classes, relations, properties, etc.), so that trivially the ontology satisfies the requirements. The user who is building the ontology then changes the state by adding formal requirements, and classes, relations and properties to the ontology. The resulting inter- mediate ontology is checked to see if it satisfies the requirements. If not, then we aim to use the formal requirements to guide the user to make changes to the current ontology to arrive at a state where the requirements are all satisfied (again). We carry on like this until we get to the ontology we want. Note from the above description that we are not starting from com- plete scratch, but assume that the user has some idea of the require- ments, and hence classes, relations and axioms, for the ontology and will be providing them. A key part of this process is the guidance we provide to the user in cases the intermediate ontology does not satisfy the requirements.