{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,9,13]],"date-time":"2023-09-13T16:52:53Z","timestamp":1694623973401},"reference-count":11,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[1995,3,1]],"date-time":"1995-03-01T00:00:00Z","timestamp":794016000000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Form. Asp. Comput."],"published-print":{"date-parts":[[1995,3]]},"abstract":"<jats:title>Abstract<\/jats:title>\n          <jats:p>In this paper, the Z notation is used to develop a small theory of terms and substitutions within which a simple unification algorithm can be specified and proved correct. Particular emphasis is placed on the use of Z's mathematical data types to simplify the development and structure of this theory. The correctness of an abstract version of the algorithm is proved first; this version operates on substitutions by composition. Then data refinement is used to show that the substitutions can be represented by \u2018binding functions\u2019 that make composition a particularly efficient operation. The approach taken in this paper is compared with the approaches of three previous papers based on VDM.<\/jats:p>\n          <jats:p>The contribution of this paper is to show how data refinement can be used to explain the design decisions behind a non-trivial program, and to provide a point of comparison between Z and VDM approaches to the same problem.<\/jats:p>","DOI":"10.1007\/bf01211603","type":"journal-article","created":{"date-parts":[[2005,2,25]],"date-time":"2005-02-25T19:41:40Z","timestamp":1109360500000},"page":"150-168","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Unification: A case-study in data refinement"],"prefix":"10.1145","volume":"7","author":[{"given":"J. M.","family":"Spivey","sequence":"first","affiliation":[{"name":"Programming Research Group, Oxford University Computing Laboratory, Wolfson Building, Parks Road, OX1 3QD, Oxford, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","reference":[{"key":"e_1_2_1_2_1_2","doi-asserted-by":"crossref","unstructured":"Clement T.: Combining transformation and posit- and-prove in a VDM development in S. Prehn and W. J. Toetenel (eds) VDM '91: formal software development methods pp. 63\u201380 1991.","DOI":"10.1007\/3-540-54834-3_7"},{"key":"e_1_2_1_2_2_2","unstructured":"Fitzgerald J. S.: Unification: specification and development Chapter 5 of [JoS90]."},{"key":"e_1_2_1_2_3_2","doi-asserted-by":"crossref","unstructured":"Gries D.: The science of programming Springer-Verlag 1981.","DOI":"10.1007\/978-1-4612-5983-1"},{"key":"e_1_2_1_2_4_2","doi-asserted-by":"crossref","unstructured":"Huet G. and Oppen D.: Equations and rewrite rules: a survey in R. V. Book (ed) Formal language theory: perspectives and open problems Academic Press pp. 349\u2013405 1980.","DOI":"10.1016\/B978-0-12-115350-2.50017-8"},{"key":"e_1_2_1_2_5_2","unstructured":"Jones C. B.: Systematic software development using VDM Prentice-Hall International 1986."},{"key":"e_1_2_1_2_6_2","unstructured":"Jones C. B. and Shaw R. C. (eds): Case studies in systematic software development Prentice-Hall International 1990."},{"key":"e_1_2_1_2_7_2","doi-asserted-by":"publisher","DOI":"10.1016\/0167-6423(81)90004-6"},{"key":"e_1_2_1_2_8_2","doi-asserted-by":"publisher","DOI":"10.5555\/3783.3785"},{"key":"e_1_2_1_2_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/321250.321253"},{"key":"e_1_2_1_2_10_2","unstructured":"Spivey J. M.: The Z notation: a reference manual Prentice-Hall International Second edition 1992."},{"key":"e_1_2_1_2_11_2","unstructured":"Vadera S.: Building a theory of unification Chapter 6 of [JoS90]."}],"container-title":["Formal Aspects of Computing"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/BF01211603.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/BF01211603\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1007\/BF01211603","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,1,6]],"date-time":"2022-01-06T15:21:41Z","timestamp":1641482501000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1007\/BF01211603"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1995,3]]},"references-count":11,"journal-issue":{"issue":"2","published-print":{"date-parts":[[1995,3]]}},"alternative-id":["10.1007\/BF01211603"],"URL":"https:\/\/doi.org\/10.1007\/bf01211603","relation":{},"ISSN":["0934-5043","1433-299X"],"issn-type":[{"value":"0934-5043","type":"print"},{"value":"1433-299X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1995,3]]}}}