{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,26]],"date-time":"2025-03-26T09:25:46Z","timestamp":1742981146078,"version":"3.40.3"},"publisher-location":"Cham","reference-count":28,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030435196"},{"type":"electronic","value":"9783030435202"}],"license":[{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2020]]},"DOI":"10.1007\/978-3-030-43520-2_7","type":"book-chapter","created":{"date-parts":[[2020,3,31]],"date-time":"2020-03-31T23:08:28Z","timestamp":1585696108000},"page":"100-116","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["Automated Algebraic Reasoning for Collections and Local Variables with Lenses"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-9889-9514","authenticated-orcid":false,"given":"Simon","family":"Foster","sequence":"first","affiliation":[]},{"given":"James","family":"Baxter","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2020,4,1]]},"reference":[{"issue":"2","key":"7_CR1","doi-asserted-by":"publisher","first-page":"265","DOI":"10.1007\/s00165-015-0343-1","volume":"28","author":"A Armstrong","year":"2015","unstructured":"Armstrong, A., Gomes, V.B.F., Struth, G.: Building program construction and verification tools from algebraic principles. Formal Aspects Comput. 28(2), 265\u2013293 (2015). https:\/\/doi.org\/10.1007\/s00165-015-0343-1","journal-title":"Formal Aspects Comput."},{"key":"7_CR2","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"137","DOI":"10.1007\/978-3-319-19797-5_7","volume-title":"Mathematics of Program Construction","author":"B Dongol","year":"2015","unstructured":"Dongol, B., Gomes, V.B.F., Struth, G.: A program construction and verification tool for separation logic. In: Hinze, R., Voigtl\u00e4nder, J. (eds.) MPC 2015. LNCS, vol. 9129, pp. 137\u2013158. Springer, Cham (2015). https:\/\/doi.org\/10.1007\/978-3-319-19797-5_7"},{"key":"7_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"310","DOI":"10.1007\/978-3-319-48989-6_19","volume-title":"FM 2016: Formal Methods","author":"VBF Gomes","year":"2016","unstructured":"Gomes, V.B.F., Struth, G.: Modal Kleene algebra applied to program correctness. In: Fitzgerald, J., Heitmeyer, C., Gnesi, S., Philippou, A. (eds.) FM 2016. LNCS, vol. 9995, pp. 310\u2013325. Springer, Cham (2016). https:\/\/doi.org\/10.1007\/978-3-319-48989-6_19"},{"key":"7_CR4","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"225","DOI":"10.1007\/978-3-030-02149-8_14","volume-title":"Relational and Algebraic Methods in Computer Science","author":"JJ Huerta y Munive","year":"2018","unstructured":"Huerta y Munive, J.J., Struth, G.: Verifying hybrid systems with modal Kleene algebra. In: Desharnais, J., Guttmann, W., Joosten, S. (eds.) RAMiCS 2018. LNCS, vol. 11194, pp. 225\u2013243. Springer, Cham (2018). https:\/\/doi.org\/10.1007\/978-3-030-02149-8_14"},{"key":"7_CR5","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"364","DOI":"10.1007\/11804192_17","volume-title":"Formal Methods for Components and Objects","author":"M Barnett","year":"2006","unstructured":"Barnett, M., Chang, B.-Y.E., DeLine, R., Jacobs, B., Leino, K.R.M.: Boogie: a modular reusable verifier for object-oriented programs. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2005. LNCS, vol. 4111, pp. 364\u2013387. Springer, Heidelberg (2006). https:\/\/doi.org\/10.1007\/11804192_17"},{"key":"7_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"125","DOI":"10.1007\/978-3-642-37036-6_8","volume-title":"Programming Languages and Systems","author":"J-C Filli\u00e2tre","year":"2013","unstructured":"Filli\u00e2tre, J.-C., Paskevich, A.: Why3\u2014where programs meet provers. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 125\u2013128. Springer, Heidelberg (2013). https:\/\/doi.org\/10.1007\/978-3-642-37036-6_8"},{"issue":"3","key":"7_CR7","doi-asserted-by":"publisher","first-page":"427","DOI":"10.1145\/256167.256195","volume":"19","author":"D Kozen","year":"1992","unstructured":"Kozen, D.: Kleene algebra with tests. ACM TOPLAS 19(3), 427\u2013443 (1992)","journal-title":"ACM TOPLAS"},{"issue":"3","key":"7_CR8","doi-asserted-by":"publisher","first-page":"17-es","DOI":"10.1145\/1232420.1232424","volume":"29","author":"J Foster","year":"2007","unstructured":"Foster, J., Greenwald, M., Moore, J., Pierce, B., Schmitt, A.: Combinators for bidirectional tree transformations: a linguistic approach to the view-update problem. ACM Trans. Program. Lang. Syst. 29(3), 17-es (2007)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"7_CR9","doi-asserted-by":"crossref","unstructured":"Foster, J., Pilkiewicz, A., Pierce, B.: Quotient lenses. In: Proceedings of the 13th International Conference on Functional Programming (ICFP). ACM (2008)","DOI":"10.1145\/1411204.1411257"},{"key":"7_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"295","DOI":"10.1007\/978-3-319-46750-4_17","volume-title":"Theoretical Aspects of Computing \u2013 ICTAC 2016","author":"S Foster","year":"2016","unstructured":"Foster, S., Zeyda, F., Woodcock, J.: Unifying heterogeneous state-spaces with lenses. In: Sampaio, A., Wang, F. (eds.) ICTAC 2016. LNCS, vol. 9965, pp. 295\u2013314. Springer, Cham (2016). https:\/\/doi.org\/10.1007\/978-3-319-46750-4_17"},{"key":"7_CR11","doi-asserted-by":"publisher","first-page":"105","DOI":"10.1016\/j.tcs.2019.09.017","volume":"802","author":"S Foster","year":"2020","unstructured":"Foster, S., Cavalcanti, A., Canham, S., Woodcock, J., Zeyda, F.: Unifying theories of reactive design contracts. Theor. Comput. Sci. 802, 105\u2013140 (2020)","journal-title":"Theor. Comput. Sci."},{"key":"7_CR12","doi-asserted-by":"crossref","unstructured":"Bockenek, J., Lammich, P., Nemouchi, Y., Wolff, B.: Using Isabelle\/UTP for the verification of sorting algorithms. In: Proceedings of the Isabelle Workshop (FLoC) (2018)","DOI":"10.29007\/ddqm"},{"key":"7_CR13","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4612-1674-2","volume-title":"Refinement Calculus: A Systematic Introduction","author":"RJ Back","year":"1998","unstructured":"Back, R.J., von Wright, J.: Refinement Calculus: A Systematic Introduction. Springer, New York (1998). https:\/\/doi.org\/10.1007\/978-1-4612-1674-2"},{"key":"7_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"21","DOI":"10.1007\/978-3-319-14806-9_2","volume-title":"Unifying Theories of Programming","author":"S Foster","year":"2015","unstructured":"Foster, S., Zeyda, F., Woodcock, J.: Isabelle\/UTP: a mechanised theory engineering framework. In: Naumann, D. (ed.) UTP 2014. LNCS, vol. 8963, pp. 21\u201341. Springer, Cham (2015). https:\/\/doi.org\/10.1007\/978-3-319-14806-9_2"},{"key":"7_CR15","unstructured":"Foster, S., Zeyda, F., Nemouchi, Y., Ribeiro, P., Wolff, B.: Isabelle\/UTP: mechanised theory engineering for unifying theories of programming. Arch. Formal Proofs (2019). https:\/\/www.isa-afp.org\/entries\/UTP.html"},{"key":"7_CR16","doi-asserted-by":"crossref","unstructured":"Hofmann, M., Pierce, B., Wagner, D.: Symmetric lenses. In: Proceedings of the 38th International Symposium on Principles of Programming Languages (POPL), pp. 371\u2013384. IEEE (2011)","DOI":"10.1145\/1926385.1926428"},{"key":"7_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"209","DOI":"10.1007\/978-3-540-87873-5_18","volume-title":"Verified Software: Theories, Tools, Experiments","author":"E Alkassar","year":"2008","unstructured":"Alkassar, E., Hillebrand, M.A., Leinenbach, D., Schirmer, N.W., Starostin, A.: The Verisoft approach to systems verification. In: Shankar, N., Woodcock, J. (eds.) VSTTE 2008. LNCS, vol. 5295, pp. 209\u2013224. Springer, Heidelberg (2008). https:\/\/doi.org\/10.1007\/978-3-540-87873-5_18"},{"issue":"1","key":"7_CR18","doi-asserted-by":"publisher","first-page":"69","DOI":"10.1007\/s00165-004-0060-7","volume":"17","author":"RJ Back","year":"2005","unstructured":"Back, R.J., Preoteasa, V.: An algebraic treatment of procedure refinement to support mechanical verification. Formal Aspects Comput. 17(1), 69\u201390 (2005). https:\/\/doi.org\/10.1007\/s00165-004-0060-7","journal-title":"Formal Aspects Comput."},{"key":"7_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"130","DOI":"10.1007\/978-3-030-31038-7_7","volume-title":"Unifying Theories of Programming","author":"S Foster","year":"2019","unstructured":"Foster, S.: Hybrid relations in Isabelle\/UTP. In: Ribeiro, P., Sampaio, A. (eds.) UTP 2019. LNCS, vol. 11885, pp. 130\u2013153. Springer, Cham (2019). https:\/\/doi.org\/10.1007\/978-3-030-31038-7_7"},{"key":"7_CR20","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"188","DOI":"10.1007\/978-3-642-16690-7_9","volume-title":"Unifying Theories of Programming","author":"A Feliachi","year":"2010","unstructured":"Feliachi, A., Gaudel, M.-C., Wolff, B.: Unifying theories in Isabelle\/HOL. In: Qin, S. (ed.) UTP 2010. LNCS, vol. 6445, pp. 188\u2013206. Springer, Heidelberg (2010). https:\/\/doi.org\/10.1007\/978-3-642-16690-7_9"},{"key":"7_CR21","volume-title":"Unifying Theories of Programming","author":"CAR Hoare","year":"1998","unstructured":"Hoare, C.A.R., He, J.: Unifying Theories of Programming. Prentice-Hall, Upper Saddle River (1998)"},{"key":"7_CR22","first-page":"161","volume":"254","author":"N Schirmer","year":"2009","unstructured":"Schirmer, N., Wenzel, M.: State spaces - the locale way. ENTCS 254, 161\u2013179 (2009). (SSV 2009)","journal-title":"ENTCS"},{"key":"7_CR23","doi-asserted-by":"crossref","unstructured":"Greenaway, G., Lim, J., Andronick, J., Klein, G.: Don\u2019t sweat the small stuff: formal verification of C code without the pain. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). ACM, June 2014","DOI":"10.1145\/2594291.2594296"},{"key":"7_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"197","DOI":"10.1007\/978-3-030-33636-3_8","volume-title":"Mathematics of Program Construction","author":"B Dongol","year":"2019","unstructured":"Dongol, B., Hayes, I., Meinicke, L., Struth, G.: Cylindric Kleene lattices for program construction. In: Hutton, G. (ed.) MPC 2019. LNCS, vol. 11825, pp. 197\u2013225. Springer, Cham (2019). https:\/\/doi.org\/10.1007\/978-3-030-33636-3_8"},{"issue":"3","key":"7_CR25","doi-asserted-by":"publisher","first-page":"73","DOI":"10.2307\/2268577","volume":"6","author":"A Tarski","year":"1941","unstructured":"Tarski, A.: On the calculus of relations. J. Symb. Log. 6(3), 73\u201389 (1941)","journal-title":"J. Symb. Log."},{"issue":"8","key":"7_CR26","doi-asserted-by":"publisher","first-page":"672","DOI":"10.1145\/27651.27653","volume":"30","author":"CAR Hoare","year":"1987","unstructured":"Hoare, C.A.R., et al.: The laws of programming. Commun. ACM 30(8), 672\u2013686 (1987)","journal-title":"Commun. ACM"},{"issue":"10","key":"7_CR27","doi-asserted-by":"publisher","first-page":"576","DOI":"10.1145\/363235.363259","volume":"12","author":"CAR Hoare","year":"1969","unstructured":"Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576\u2013580 (1969)","journal-title":"Commun. ACM"},{"issue":"8","key":"7_CR28","doi-asserted-by":"publisher","first-page":"453","DOI":"10.1145\/360933.360975","volume":"18","author":"EW Dijkstra","year":"1975","unstructured":"Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs. Commun. ACM 18(8), 453\u2013457 (1975)","journal-title":"Commun. ACM"}],"container-title":["Lecture Notes in Computer Science","Relational and Algebraic Methods in Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-43520-2_7","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,3,5]],"date-time":"2024-03-05T19:03:03Z","timestamp":1709665383000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-43520-2_7"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020]]},"ISBN":["9783030435196","9783030435202"],"references-count":28,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-43520-2_7","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2020]]},"assertion":[{"value":"1 April 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"RAMiCS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Relational and Algebraic Methods in Computer Science","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Palaiseau","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"France","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2020","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"26 October 2020","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"29 October 2020","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"18","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"ramics2020","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/ramics18.gforge.inria.fr\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Open","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"29","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"20","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"0","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"69% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"4","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"The conference was held virtually due to the COVID-19 pandemic.","order":10,"name":"additional_info_on_review_process","label":"Additional Info on Review Process","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}