{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,28]],"date-time":"2025-03-28T06:46:13Z","timestamp":1743144373100,"version":"3.40.3"},"publisher-location":"Cham","reference-count":38,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030035914"},{"type":"electronic","value":"9783030035921"}],"license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"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":[[2018]]},"DOI":"10.1007\/978-3-030-03592-1_7","type":"book-chapter","created":{"date-parts":[[2018,11,23]],"date-time":"2018-11-23T04:45:32Z","timestamp":1542948332000},"page":"112-134","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["TWAM: A Certifying Abstract Machine for Logic Programs"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-5201-9895","authenticated-orcid":false,"given":"Rose","family":"Bohrer","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1556-2183","authenticated-orcid":false,"given":"Karl","family":"Crary","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2018,11,24]]},"reference":[{"key":"7_CR1","doi-asserted-by":"publisher","DOI":"10.7551\/mitpress\/7160.001.0001","volume-title":"Warren\u2019s Abstract Machine: A Tutorial Reconstruction","author":"H A\u00eft-Kaci","year":"1991","unstructured":"A\u00eft-Kaci, H.: Warren\u2019s Abstract Machine: A Tutorial Reconstruction. MIT Press, Cambridge (1991)"},{"key":"7_CR2","doi-asserted-by":"crossref","unstructured":"Aref, M., et al.: Design and implementation of the LogicBlox system. In: Sellis, T.K., Davidson, S.B., Ives, Z.G. (eds.) Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data, Melbourne, Victoria, Australia, 31 May - 4 June, 2015, pp. 1371\u20131382. ACM (2015). http:\/\/doi.acm.org\/10.1145\/2723372.2742796","DOI":"10.1145\/2723372.2742796"},{"key":"7_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"15","DOI":"10.1007\/BFb0023755","volume-title":"Computer Science Logic","author":"C Beierle","year":"1992","unstructured":"Beierle, C., B\u00f6rger, E.: Correctness proof for the WAM with types. In: B\u00f6rger, E., J\u00e4ger, G., Kleine B\u00fcning, H., Richter, M.M. (eds.) CSL 1991. LNCS, vol. 626, pp. 15\u201334. Springer, Heidelberg (1992). https:\/\/doi.org\/10.1007\/BFb0023755"},{"key":"7_CR4","unstructured":"Bohrer, R., Crary, K.: TWAM: a certifying abstract machine for logic programs. CoRR abs\/1801.00471 (2018). http:\/\/arxiv.org\/abs\/1801.00471"},{"key":"7_CR5","unstructured":"B\u00f6rger, E., Rosenzweig, D.: The WAM\u2013definition and compiler correctness. In: Logic Programming: Formal Methods and Practical Applications, pp. 20\u201390 (1995)"},{"key":"7_CR6","doi-asserted-by":"publisher","unstructured":"Bowman, W.J., Ahmed, A.: Typed closure conversion for the calculus of constructions. In: Foster and Grossman [10], pp. 797\u2013811. https:\/\/doi.org\/10.1145\/3192366.3192372","DOI":"10.1145\/3192366.3192372"},{"key":"7_CR7","doi-asserted-by":"publisher","unstructured":"Crary, K.: Toward a foundational typed assembly language. In: Aiken, A., Morrisett, G. (eds.) Conference Record of POPL 2003: The 30th SIGPLAN-SIGACT Symposium on Principles of Programming Languages, New Orleans, Louisisana, USA, 15\u201317 January 2003, pp. 198\u2013212. ACM (2003). https:\/\/doi.org\/10.1145\/640128.604149","DOI":"10.1145\/640128.604149"},{"key":"7_CR8","doi-asserted-by":"publisher","unstructured":"Crary, K., Sarkar, S.: Foundational certified code in the Twelf metalogical framework. ACM Trans. Comput. Log. 9(3), 16:1\u201316:26 (2008). https:\/\/doi.org\/10.1145\/1352582.1352584","DOI":"10.1145\/1352582.1352584"},{"key":"7_CR9","doi-asserted-by":"publisher","unstructured":"Crary, K., Vanderwaart, J.: An expressive, scalable type theory for certified code. In: Wand, M., Jones, S.L.P. (eds.) Proceedings of the Seventh ACM SIGPLAN International Conference on Functional Programming (ICFP 2002), Pittsburgh, Pennsylvania, USA, 4\u20136 October 2002, pp. 191\u2013205. ACM (2002). https:\/\/doi.org\/10.1145\/581478.581497","DOI":"10.1145\/581478.581497"},{"key":"7_CR10","doi-asserted-by":"publisher","unstructured":"Foster, J.S., Grossman, D. (eds.): Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2018, Philadelphia, PA, USA, 18\u201322 June 2018. ACM (2018). https:\/\/doi.org\/10.1145\/3192366","DOI":"10.1145\/3192366"},{"key":"7_CR11","unstructured":"Gacek, A.: System description: Abella - a system for reasoning about computations. CoRR 2008 (2008). http:\/\/arxiv.org\/abs\/0803.2305"},{"key":"7_CR12","doi-asserted-by":"publisher","unstructured":"Hajiyev, E., et al.: Keynote address: QL for source code analysis. In: Seventh IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2007) (SCAM), pp. 3\u201316, October 2007. https:\/\/doi.org\/10.1109\/SCAM.2007.31","DOI":"10.1109\/SCAM.2007.31"},{"issue":"1","key":"7_CR13","doi-asserted-by":"publisher","first-page":"143","DOI":"10.1145\/138027.138060","volume":"40","author":"R Harper","year":"1993","unstructured":"Harper, R., Honsell, F., Plotkin, G.D.: A framework for defining logics. J. ACM 40(1), 143\u2013184 (1993). https:\/\/doi.org\/10.1145\/138027.138060","journal-title":"J. ACM"},{"key":"7_CR14","doi-asserted-by":"publisher","unstructured":"Kang, J., et al.: Crellvm: verified credible compilation for LLVM. In: Foster and Grossman [10], pp. 631\u2013645. https:\/\/doi.org\/10.1145\/3192366.3192377","DOI":"10.1145\/3192366.3192377"},{"key":"7_CR15","doi-asserted-by":"publisher","unstructured":"Kriener, J., King, A., Blazy, S.: Proofs you can believe in: proving equivalences between prolog semantics in Coq. In: Pe\u00f1a, R., Schrijvers, T. (eds.) 15th International Symposium on Principles and Practice of Declarative Programming, PPDP 2013, Madrid, Spain, 16\u201318 September 2013, pp. 37\u201348. ACM (2013). https:\/\/doi.org\/10.1145\/2505879.2505886","DOI":"10.1145\/2505879.2505886"},{"key":"7_CR16","doi-asserted-by":"publisher","unstructured":"Kumar, R., Myreen, M.O., Norrish, M., Owens, S.: CakeML: a verified implementation of ML. In: POPL 2014, pp. 179\u2013191 (2014). https:\/\/doi.org\/10.1145\/2535838.2535841","DOI":"10.1145\/2535838.2535841"},{"key":"7_CR17","doi-asserted-by":"publisher","unstructured":"Leroy, X.: Formal certification of a compiler back-end or: programming a compiler with a proof assistant. In: Morrisett, J.G., Jones, S.L.P. (eds.) Proceedings of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2006, Charleston, South Carolina, USA, 11\u201313 January 2006, pp. 42\u201354. ACM (2006). https:\/\/doi.org\/10.1145\/1111037.1111042","DOI":"10.1145\/1111037.1111042"},{"issue":"2","key":"7_CR18","doi-asserted-by":"publisher","first-page":"258","DOI":"10.1145\/357162.357169","volume":"4","author":"A Martelli","year":"1982","unstructured":"Martelli, A., Montanari, U.: An efficient unification algorithm. ACM Trans. Program. Lang. Syst. 4(2), 258\u2013282 (1982). https:\/\/doi.org\/10.1145\/357162.357169","journal-title":"ACM Trans. Program. Lang. Syst."},{"issue":"5","key":"7_CR19","doi-asserted-by":"publisher","first-page":"957","DOI":"10.1017\/S0956796802004446","volume":"13","author":"JG Morrisett","year":"2003","unstructured":"Morrisett, J.G., Crary, K., Glew, N., Walker, D.: Stack-based typed assembly language. J. Funct. Program. 13(5), 957\u2013959 (2003). https:\/\/doi.org\/10.1017\/S0956796802004446","journal-title":"J. Funct. Program."},{"issue":"3","key":"7_CR20","doi-asserted-by":"publisher","first-page":"527","DOI":"10.1145\/319301.319345","volume":"21","author":"JG Morrisett","year":"1999","unstructured":"Morrisett, J.G., Walker, D., Crary, K., Glew, N.: From system F to typed assembly language. ACM Trans. Program. Lang. Syst. 21(3), 527\u2013568 (1999). https:\/\/doi.org\/10.1145\/319301.319345","journal-title":"ACM Trans. Program. Lang. Syst."},{"issue":"2\u20133","key":"7_CR21","doi-asserted-by":"publisher","first-page":"284","DOI":"10.1017\/S0956796813000282","volume":"24","author":"MO Myreen","year":"2014","unstructured":"Myreen, M.O., Owens, S.: Proof-producing translation of higher-order logic into pure and stateful ML. J. Funct. Program. 24(2\u20133), 284\u2013315 (2014). https:\/\/doi.org\/10.1017\/S0956796813000282","journal-title":"J. Funct. Program."},{"key":"7_CR22","unstructured":"Nadathur, G., Miller, D.: An overview of Lambda-PROLOG. In: Kowalski, R.A., Bowen, K.A. (eds.) Logic Programming, Proceedings of the Fifth International Conference and Symposium, Seattle, Washington, USA, 15\u201319 August 1988, vol. 2, pp. 810\u2013827. MIT Press (1988)"},{"key":"7_CR23","doi-asserted-by":"publisher","unstructured":"Necula, G.C., Lee, P.: The design and implementation of a certifying compiler. In: Davidson, J.W., Cooper, K.D., Berman, A.M. (eds.) Proceedings of the ACM SIGPLAN \u201998 Conference on Programming Language Design and Implementation (PLDI), Montreal, Canada, 17\u201319 June 1998, pp. 333\u2013344. ACM (1998). https:\/\/doi.org\/10.1145\/277650.277752","DOI":"10.1145\/277650.277752"},{"key":"7_CR24","doi-asserted-by":"publisher","unstructured":"Pfenning, F.: Elf: A language for logic definition and verified metaprogramming. In: Proceedings of the Fourth Annual Symposium on Logic in Computer Science (LICS 1989), Pacific Grove, California, USA, 5\u20138 June 1989, pp. 313\u2013322. IEEE Computer Society (1989). https:\/\/doi.org\/10.1109\/LICS.1989.39186","DOI":"10.1109\/LICS.1989.39186"},{"key":"7_CR25","doi-asserted-by":"crossref","unstructured":"Pfenning, F.: Logic programming in the LF logical framework. In: Logical Frameworks, pp. 149\u2013181. Cambridge University Press, New York (1991). http:\/\/dl.acm.org\/citation.cfm?id=120477.120483","DOI":"10.1017\/CBO9780511569807.008"},{"key":"7_CR26","series-title":"Lecture Notes in Computer Science (Lecture Notes in Artificial Intelligence)","doi-asserted-by":"publisher","first-page":"202","DOI":"10.1007\/3-540-48660-7_14","volume-title":"Automated Deduction \u2014 CADE-16","author":"F Pfenning","year":"1999","unstructured":"Pfenning, F., Sch\u00fcrmann, C.: System description: Twelf\u2014a meta-logical framework for deductive systems. In: CADE 1999. LNCS (LNAI), vol. 1632, pp. 202\u2013206. Springer, Heidelberg (1999). https:\/\/doi.org\/10.1007\/3-540-48660-7_14"},{"key":"7_CR27","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"151","DOI":"10.1007\/BFb0054170","volume-title":"Tools and Algorithms for the Construction and Analysis of Systems","author":"A Pnueli","year":"1998","unstructured":"Pnueli, A., Siegel, M., Singerman, E.: Translation validation. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, pp. 151\u2013166. Springer, Heidelberg (1998). https:\/\/doi.org\/10.1007\/BFb0054170"},{"key":"7_CR28","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"347","DOI":"10.1007\/BFb0105415","volume-title":"Theorem Proving in Higher Order Logics","author":"C Pusch","year":"1996","unstructured":"Pusch, C.: Verification of compiler correctness for the WAM. In: Goos, G., Hartmanis, J., van Leeuwen, J., von Wright, J., Grundy, J., Harrison, J. (eds.) TPHOLs 1996. LNCS, vol. 1125, pp. 347\u2013361. Springer, Heidelberg (1996). https:\/\/doi.org\/10.1007\/BFb0105415"},{"issue":"1","key":"7_CR29","doi-asserted-by":"publisher","first-page":"23","DOI":"10.1145\/321250.321253","volume":"12","author":"JA Robinson","year":"1965","unstructured":"Robinson, J.A.: A machine-oriented logic based on the resolution principle. J. ACM 12(1), 23\u201341 (1965). https:\/\/doi.org\/10.1145\/321250.321253","journal-title":"J. ACM"},{"issue":"4","key":"7_CR30","doi-asserted-by":"publisher","first-page":"367","DOI":"10.1016\/0743-1066(92)90054-7","volume":"13","author":"DM Russinoff","year":"1992","unstructured":"Russinoff, D.M.: A verified prolog compiler for the warren abstract machine. J. Log. Program. 13(4), 367\u2013412 (1992). https:\/\/doi.org\/10.1016\/0743-1066(92)90054-7","journal-title":"J. Log. Program."},{"issue":"4","key":"7_CR31","doi-asserted-by":"publisher","first-page":"377","DOI":"10.3217\/jucs-003-04-0377","volume":"3","author":"G Schellhorn","year":"1997","unstructured":"Schellhorn, G., Ahrendt, W.: Reasoning about abstract state machines: the WAM case study. J. UCS 3(4), 377\u2013413 (1997). https:\/\/doi.org\/10.3217\/jucs-003-04-0377","journal-title":"J. UCS"},{"key":"7_CR32","volume-title":"Lectures on the Curry-Howard Isomorphism","author":"MH S\u00f8rensen","year":"2006","unstructured":"S\u00f8rensen, M.H., Urzyczyn, P.: Lectures on the Curry-Howard Isomorphism, vol. 149. Elsevier, Amsterdam (2006)"},{"key":"7_CR33","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"455","DOI":"10.1007\/3-540-49253-4_32","volume-title":"Algebraic Methodology and Software Technology","author":"F Spoto","year":"1998","unstructured":"Spoto, F., Levi, G.: Abstract interpretation of prolog programs. In: Haeberer, A.M. (ed.) AMAST 1999. LNCS, vol. 1548, pp. 455\u2013470. Springer, Heidelberg (1998). https:\/\/doi.org\/10.1007\/3-540-49253-4_32"},{"key":"7_CR34","doi-asserted-by":"crossref","unstructured":"Tarditi, D., Morrisett, J.G., Cheng, P., Stone, C.A., Harper, R., Lee, P.: TIL: a type-directed optimizing compiler for ML. In: PLDI, pp. 181\u2013192. ACM (1996)","DOI":"10.1145\/249069.231414"},{"key":"7_CR35","unstructured":"Warren, D.H.: An Abstract Prolog Instruction Set, vol. 309. Artificial Intelligence Center, SRI International Menlo Park, California (1983)"},{"key":"7_CR36","unstructured":"Wielemaker, J.: SWI-Prolog OpenHub Project Page (2018). https:\/\/www.openhub.net\/p\/swi-prolog. Accessed 28 Apr 2018"},{"key":"7_CR37","doi-asserted-by":"publisher","unstructured":"Xi, H., Harper, R.: A dependently typed assembly language. In: Pierce, B.C. (ed.) Proceedings of the Sixth ACM SIGPLAN International Conference on Functional Programming (ICFP 2001), Florence, Italy, 3\u20135 September 2001, pp. 169\u2013180. ACM (2001). https:\/\/doi.org\/10.1145\/507635.507657","DOI":"10.1145\/507635.507657"},{"key":"7_CR38","doi-asserted-by":"publisher","unstructured":"Xi, H., Pfenning, F.: Dependent types in practical programming. In: Appel, A.W., Aiken, A. (eds.) POPL 1999, Proceedings of the 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, TX, USA, 20\u201322 January 1999, pp. 214\u2013227. ACM (1999). https:\/\/doi.org\/10.1145\/292540.292560","DOI":"10.1145\/292540.292560"}],"container-title":["Lecture Notes in Computer Science","Verified Software. Theories, Tools, and Experiments"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-03592-1_7","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,8,5]],"date-time":"2022-08-05T14:03:42Z","timestamp":1659708222000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-03592-1_7"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018]]},"ISBN":["9783030035914","9783030035921"],"references-count":38,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-03592-1_7","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2018]]},"assertion":[{"value":"24 November 2018","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"VSTTE","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Working Conference on Verified Software: Theories, Tools, and Experiments","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Oxford","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"United Kingdom","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2018","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"18 July 2018","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"19 July 2018","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"10","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"vstte2018","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/vstte18.it.uu.se\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","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":"24","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":"19","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":"79% - 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":"3","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":"2","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)"}}]}}