{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,11]],"date-time":"2024-09-11T09:06:01Z","timestamp":1726045561823},"publisher-location":"Cham","reference-count":33,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030324407"},{"type":"electronic","value":"9783030324414"}],"license":[{"start":{"date-parts":[[2019,1,1]],"date-time":"2019-01-01T00:00:00Z","timestamp":1546300800000},"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":[],"published-print":{"date-parts":[[2019]]},"DOI":"10.1007\/978-3-030-32441-4_1","type":"book-chapter","created":{"date-parts":[[2019,9,22]],"date-time":"2019-09-22T19:03:06Z","timestamp":1569178986000},"page":"3-20","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["Logic, Algebra, and Geometry at the Foundation of Computer Science"],"prefix":"10.1007","author":[{"given":"Tony","family":"Hoare","sequence":"first","affiliation":[]},{"given":"Alexandra","family":"Mendes","sequence":"additional","affiliation":[]},{"given":"Jo\u00e3o F.","family":"Ferreira","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2019,9,23]]},"reference":[{"issue":"3","key":"1_CR1","doi-asserted-by":"publisher","first-page":"227","DOI":"10.1007\/s00165-008-0070-y","volume":"21","author":"R-J Back","year":"2009","unstructured":"Back, R.-J.: Invariant based programming: basic approach and teaching experiences. Formal Asp. Comput. 21(3), 227\u2013244 (2009)","journal-title":"Formal Asp. Comput."},{"key":"1_CR2","unstructured":"Back, R.-J., Eriksson, J., Mannila, L.: Teaching the construction of correct programs using invariant based programming. In: Proceedings of the 3rd South-East European Workshop on Formal Methods (2007)"},{"key":"1_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"49","DOI":"10.1007\/978-3-540-30569-9_3","volume-title":"Construction and Analysis of Safe, Secure, and Interoperable Smart Devices","author":"M Barnett","year":"2005","unstructured":"Barnett, M., Leino, K.R.M., Schulte, W.: The Spec# programming system: an overview. In: Barthe, G., Burdy, L., Huisman, M., Lanet, J.-L., Muntean, T. (eds.) CASSIS 2004. LNCS, vol. 3362, pp. 49\u201369. Springer, Heidelberg (2005). https:\/\/doi.org\/10.1007\/978-3-540-30569-9_3"},{"key":"1_CR4","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9780511763199","volume-title":"Pearls of Functional Algorithm Design","author":"R Bird","year":"2010","unstructured":"Bird, R.: Pearls of Functional Algorithm Design. Cambridge University Press, Cambridge (2010)"},{"key":"1_CR5","doi-asserted-by":"crossref","unstructured":"Bird, R., De Moor, O.: The algebra of programming. In: NATO ASI DPD, pp. 167\u2013203 (1996)","DOI":"10.1007\/978-3-642-61455-2_12"},{"key":"1_CR6","volume-title":"An Investigation of the Laws of Thought: On Which Are Founded the Mathematical Theories of Logic and Probabilities","author":"G Boole","year":"1854","unstructured":"Boole, G.: An Investigation of the Laws of Thought: On Which Are Founded the Mathematical Theories of Logic and Probabilities. Dover Publications, New York (1854)"},{"key":"1_CR7","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"459","DOI":"10.1007\/978-3-642-20398-5_33","volume-title":"NASA Formal Methods","author":"C Calcagno","year":"2011","unstructured":"Calcagno, C., Distefano, D.: Infer: an automatic program verifier for memory safety of C programs. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NFM 2011. LNCS, vol. 6617, pp. 459\u2013465. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-20398-5_33"},{"key":"1_CR8","volume-title":"Engines of Logic: Mathematicians and the Origin of the Computer","author":"M Davis","year":"2001","unstructured":"Davis, M.: Engines of Logic: Mathematicians and the Origin of the Computer. WW Norton & Co., Inc., New York (2001)"},{"key":"1_CR9","doi-asserted-by":"crossref","unstructured":"Ferreira, J.F., Mendes, A.: Students\u2019 feedback on teaching mathematics through the calculational method. In: 2009 39th IEEE Frontiers in Education Conference, pp. 1\u20136. IEEE (2009)","DOI":"10.1109\/FIE.2009.5350478"},{"key":"1_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"39","DOI":"10.1007\/978-3-642-04912-5_4","volume-title":"Teaching Formal Methods","author":"JF Ferreira","year":"2009","unstructured":"Ferreira, J.F., Mendes, A., Backhouse, R., Barbosa, L.S.: Which mathematics for the information society? In: Gibbons, J., Oliveira, J.N. (eds.) TFM 2009. LNCS, vol. 5846, pp. 39\u201356. Springer, Heidelberg (2009). https:\/\/doi.org\/10.1007\/978-3-642-04912-5_4"},{"key":"1_CR11","series-title":"Lecture Notes in Computer Science (Lecture Notes in Artificial Intelligence)","doi-asserted-by":"publisher","first-page":"62","DOI":"10.1007\/978-3-642-21350-2_8","volume-title":"Tools for Teaching Logic","author":"JF Ferreira","year":"2011","unstructured":"Ferreira, J.F., et al.: Logic training through algorithmic problem solving. In: Blackburn, P., van Ditmarsch, H., Manzano, M., Soler-Toscano, F. (eds.) TICTTL 2011. LNCS (LNAI), vol. 6680, pp. 62\u201369. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-21350-2_8"},{"issue":"5","key":"1_CR12","doi-asserted-by":"publisher","first-page":"234","DOI":"10.1145\/543552.512558","volume":"37","author":"C Flanagan","year":"2002","unstructured":"Flanagan, C., et al.: Extended static checking for Java. ACM SIGPLAN Not. 37(5), 234\u2013245 (2002)","journal-title":"ACM SIGPLAN Not."},{"key":"1_CR13","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"},{"issue":"10","key":"1_CR14","doi-asserted-by":"publisher","first-page":"576","DOI":"10.1145\/363235.363259","volume":"12","author":"C Antony","year":"1969","unstructured":"Antony, C., Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576\u2013580 (1969)","journal-title":"Commun. ACM"},{"key":"1_CR15","doi-asserted-by":"crossref","unstructured":"Hoare, T., Struth, G., Woodcock, J.: A calculus of space, time, and causality: its algebra, geometry, logic. In: Ribeiro, P., Sampaio, A. (eds.) UTP 2019. LNCS, vol. 11885, pp. 3\u201321. Springer, Cham (2019)","DOI":"10.1007\/978-3-030-31038-7_1"},{"key":"1_CR16","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9781316784099","volume-title":"Programming in Haskell","author":"G Hutton","year":"2016","unstructured":"Hutton, G.: Programming in Haskell. Cambridge University Press, Cambridge (2016)"},{"issue":"2","key":"1_CR17","doi-asserted-by":"publisher","first-page":"256","DOI":"10.1145\/505145.505149","volume":"11","author":"D Jackson","year":"2002","unstructured":"Jackson, D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. (TOSEM) 11(2), 256\u2013290 (2002)","journal-title":"ACM Trans. Softw. Eng. Methodol. (TOSEM)"},{"key":"1_CR18","series-title":"Lecture Notes in Computer Science (Lecture Notes in Artificial Intelligence)","doi-asserted-by":"publisher","first-page":"348","DOI":"10.1007\/978-3-642-17511-4_20","volume-title":"Logic for Programming, Artificial Intelligence, and Reasoning","author":"KRM Leino","year":"2010","unstructured":"Leino, K.R.M.: Dafny: an automatic program verifier for functional correctness. In: Clarke, E.M., Voronkov, A. (eds.) LPAR 2010. LNCS (LNAI), vol. 6355, pp. 348\u2013370. Springer, Heidelberg (2010). https:\/\/doi.org\/10.1007\/978-3-642-17511-4_20"},{"key":"1_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-10235-3","volume-title":"A Calculus of Communicating Systems","year":"1980","unstructured":"Milner, R. (ed.): A Calculus of Communicating Systems. LNCS, vol. 92. Springer, Heidelberg (1980). https:\/\/doi.org\/10.1007\/3-540-10235-3"},{"key":"1_CR20","volume-title":"Communicating and Mobile Systems: The Pi Calculus","author":"R Milner","year":"1999","unstructured":"Milner, R.: Communicating and Mobile Systems: The Pi Calculus. Cambridge University Press, Cambridge (1999)"},{"key":"1_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/978-3-319-29628-9_1","volume-title":"Engineering Trustworthy Software Systems","author":"C Morgan","year":"2016","unstructured":"Morgan, C.: (In-)formal methods: the lost art. In: Liu, Z., Zhang, Z. (eds.) SETSS 2014. LNCS, vol. 9506, pp. 1\u201379. Springer, Cham (2016). https:\/\/doi.org\/10.1007\/978-3-319-29628-9_1"},{"key":"1_CR22","series-title":"Lecture Notes in Computer Science (Lecture Notes in Artificial Intelligence)","doi-asserted-by":"publisher","first-page":"378","DOI":"10.1007\/978-3-319-21401-6_26","volume-title":"Automated Deduction - CADE-25","author":"L Moura de","year":"2015","unstructured":"de Moura, L., Kong, S., Avigad, J., van Doorn, F., von Raumer, J.: The Lean theorem prover (system description). In: Felty, A.P., Middeldorp, A. (eds.) CADE 2015. LNCS (LNAI), vol. 9195, pp. 378\u2013388. Springer, Cham (2015). https:\/\/doi.org\/10.1007\/978-3-319-21401-6_26"},{"issue":"1\u20133","key":"1_CR23","doi-asserted-by":"publisher","first-page":"271","DOI":"10.1016\/j.tcs.2006.12.035","volume":"375","author":"P O\u2019Hearn","year":"2007","unstructured":"O\u2019Hearn, P.: Resources, concurrency, and local reasoning. Theor. Comput. Sci. 375(1\u20133), 271\u2013307 (2007)","journal-title":"Theor. Comput. Sci."},{"key":"1_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/3-540-44802-0_1","volume-title":"Computer Science Logic","author":"P O\u2019Hearn","year":"2001","unstructured":"O\u2019Hearn, P., Reynolds, J., Yang, H.: Local reasoning about programs that alter data structures. In: Fribourg, L. (ed.) CSL 2001. LNCS, vol. 2142, pp. 1\u201319. Springer, Heidelberg (2001). https:\/\/doi.org\/10.1007\/3-540-44802-0_1"},{"key":"1_CR25","unstructured":"William of Ockham: Ockham\u2019s Theory of Propositions: Part II of the Summa Logicae. University of Notre Dame Press (1980). Translated by Alfred J. Freddoso and Henry Schuurman"},{"issue":"3","key":"1_CR26","doi-asserted-by":"publisher","first-page":"305","DOI":"10.1109\/TSE.2012.15","volume":"39","author":"JN Oliveira","year":"2012","unstructured":"Oliveira, J.N., Ferreira, M.A.: Alloy meets the algebra of programming: a case study. IEEE Trans. Softw. Eng. 39(3), 305\u2013326 (2012)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"1_CR27","volume-title":"Computational Complexity","author":"CH Papadimitriou","year":"2003","unstructured":"Papadimitriou, C.H.: Computational Complexity. Wiley, Hoboken (2003)"},{"key":"1_CR28","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"238","DOI":"10.1007\/978-3-319-02654-1_13","volume-title":"Software Language Engineering","author":"DJ Pearce","year":"2013","unstructured":"Pearce, D.J., Groves, L.: Whiley: a platform for research in software verification. In: Erwig, M., Paige, R.F., Van Wyk, E. (eds.) SLE 2013. LNCS, vol. 8225, pp. 238\u2013248. Springer, Cham (2013). https:\/\/doi.org\/10.1007\/978-3-319-02654-1_13"},{"issue":"2","key":"1_CR29","doi-asserted-by":"publisher","first-page":"239","DOI":"10.1007\/s00165-017-0447-x","volume":"30","author":"JB Pedersen","year":"2018","unstructured":"Pedersen, J.B., Welch, P.H.: The symbiosis of concurrency and verification: teaching and case studies. Formal Asp. Comput. 30(2), 239\u2013277 (2018)","journal-title":"Formal Asp. Comput."},{"key":"1_CR30","unstructured":"Reynolds, J.C.: Separation logic: a logic for shared mutable data structures. In: Proceedings 17th Annual IEEE Symposium on Logic in Computer Science, pp. 55\u201374. IEEE (2002)"},{"issue":"4","key":"1_CR31","doi-asserted-by":"publisher","first-page":"29","DOI":"10.1016\/j.entcs.2007.06.006","volume":"176","author":"R Sasse","year":"2007","unstructured":"Sasse, R., Meseguer, J.: Java+ ITP: a verification tool based on Hoare logic and algebraic semantics. Electron. Notes Theor. Comput. Sci. 176(4), 29\u201346 (2007)","journal-title":"Electron. Notes Theor. Comput. Sci."},{"key":"1_CR32","volume-title":"Prior Analytics","author":"R Smith","year":"1989","unstructured":"Smith, R.: Prior Analytics. Hackett Publishing, Indianapolis (1989)"},{"key":"1_CR33","doi-asserted-by":"crossref","unstructured":"Vazou, N., Breitner, J., Kunkel, R., Van Horn, D., Hutton, G.: Theorem proving for all: equational reasoning in liquid Haskell (functional pearl). In: Proceedings of the 11th ACM SIGPLAN International Symposium on Haskell, pp. 132\u2013144. ACM (2018)","DOI":"10.1145\/3299711.3242756"}],"container-title":["Lecture Notes in Computer Science","Formal Methods Teaching"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-32441-4_1","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,12,7]],"date-time":"2019-12-07T13:55:47Z","timestamp":1575726947000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-32441-4_1"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019]]},"ISBN":["9783030324407","9783030324414"],"references-count":33,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-32441-4_1","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2019]]},"assertion":[{"value":"23 September 2019","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"FMTea","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Formal Methods Teaching Workshop","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Porto","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Portugal","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2019","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"7 October 2019","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"7 October 2019","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"3","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"tfm2019","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/fmtea.github.io\/","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":"22","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":"14","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":"3","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":"64% - 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":"2","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":"4,5","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)"}}]}}