{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,9,13]],"date-time":"2025-09-13T15:49:06Z","timestamp":1757778546562,"version":"3.40.3"},"publisher-location":"Cham","reference-count":35,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319631387"},{"type":"electronic","value":"9783319631394"}],"license":[{"start":{"date-parts":[[2017,1,1]],"date-time":"2017-01-01T00:00:00Z","timestamp":1483228800000},"content-version":"unspecified","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":[[2017]]},"DOI":"10.1007\/978-3-319-63139-4_13","type":"book-chapter","created":{"date-parts":[[2017,7,23]],"date-time":"2017-07-23T23:22:55Z","timestamp":1500852175000},"page":"222-239","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":9,"title":["CurryCheck: Checking Properties of Curry Programs"],"prefix":"10.1007","author":[{"given":"Michael","family":"Hanus","sequence":"first","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2017,7,25]]},"reference":[{"key":"13_CR1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/978-3-319-07151-0_1","volume-title":"Functional and Logic Programming","author":"C Amaral","year":"2014","unstructured":"Amaral, C., Florido, M., Santos Costa, V.: PrologCheck \u2013 property-based testing in prolog. In: Codish, M., Sumii, E. (eds.) FLOPS 2014. LNCS, vol. 8475, pp. 1\u201317. Springer, Cham (2014). doi:\n                      10.1007\/978-3-319-07151-0_1"},{"issue":"4","key":"13_CR2","doi-asserted-by":"publisher","first-page":"776","DOI":"10.1145\/347476.347484","volume":"47","author":"S Antoy","year":"2000","unstructured":"Antoy, S., Echahed, R., Hanus, M.: A needed narrowing strategy. J. ACM 47(4), 776\u2013822 (2000)","journal-title":"J. ACM"},{"key":"13_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"6","DOI":"10.1007\/11680093_2","volume-title":"Logic Based Program Synthesis and Transformation","author":"S Antoy","year":"2006","unstructured":"Antoy, S., Hanus, M.: Declarative programming with function patterns. In: Hill, P.M. (ed.) LOPSTR 2005. LNCS, vol. 3901, pp. 6\u201322. Springer, Heidelberg (2006). doi:\n                      10.1007\/11680093_2"},{"key":"13_CR4","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"87","DOI":"10.1007\/11799573_9","volume-title":"Logic Programming","author":"S Antoy","year":"2006","unstructured":"Antoy, S., Hanus, M.: Overlapping rules and logic variables in functional logic programs. In: Etalle, S., Truszczy\u0144ski, M. (eds.) ICLP 2006. LNCS, vol. 4079, pp. 87\u2013101. Springer, Heidelberg (2006). doi:\n                      10.1007\/11799573_9"},{"key":"13_CR5","doi-asserted-by":"crossref","unstructured":"Antoy, S., Hanus, M.: Set functions for functional logic programming. In: Proceedings of the 11th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming (PPDP 2009), pp. 73\u201382. ACM Press (2009)","DOI":"10.1145\/1599410.1599420"},{"issue":"4","key":"13_CR6","doi-asserted-by":"publisher","first-page":"74","DOI":"10.1145\/1721654.1721675","volume":"53","author":"S Antoy","year":"2010","unstructured":"Antoy, S., Hanus, M.: Functional logic programming. Commun. ACM 53(4), 74\u201385 (2010)","journal-title":"Commun. ACM"},{"key":"13_CR7","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"33","DOI":"10.1007\/978-3-642-27694-1_4","volume-title":"Practical Aspects of Declarative Languages","author":"S Antoy","year":"2012","unstructured":"Antoy, S., Hanus, M.: Contracts and specifications for functional logic programming. In: Russo, C., Zhou, N.-F. (eds.) PADL 2012. LNCS, vol. 7149, pp. 33\u201347. Springer, Heidelberg (2012). doi:\n                      10.1007\/978-3-642-27694-1_4"},{"issue":"2","key":"13_CR8","doi-asserted-by":"publisher","first-page":"121","DOI":"10.1017\/S1471068416000168","volume":"17","author":"S Antoy","year":"2017","unstructured":"Antoy, S., Hanus, M.: Default rules for Curry. Theory Pract. Logic Program. 17(2), 121\u2013147 (2017)","journal-title":"Theory Pract. Logic Program."},{"key":"13_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/978-3-319-51676-9_1","volume-title":"Practical Aspects of Declarative Languages","author":"S Antoy","year":"2017","unstructured":"Antoy, S., Hanus, M.: Eliminating irrelevant non-determinism in functional logic programs. In: Lierler, Y., Taha, W. (eds.) PADL 2017. LNCS, vol. 10137, pp. 1\u201318. Springer, Cham (2017). doi:\n                      10.1007\/978-3-319-51676-9_1"},{"key":"13_CR10","doi-asserted-by":"crossref","unstructured":"Antoy, S., Hanus, M., Libby, S.: Proving non-deterministic computations in Agda. In: Proceeding of the 24th International Workshop on Functional and (Constraint) Logic Programming (WFLP 2016), vol. 234 of Electronic Proceedings in Theoretical Computer Science, pp. 180\u2013195. Open Publishing Association (2017)","DOI":"10.4204\/EPTCS.234.13"},{"key":"13_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"125","DOI":"10.1007\/978-3-642-11957-6_8","volume-title":"Programming Languages and Systems","author":"J-P Bernardy","year":"2010","unstructured":"Bernardy, J.-P., Jansson, P., Claessen, K.: Testing polymorphic properties. In: Gordon, A.D. (ed.) ESOP 2010. LNCS, vol. 6012, pp. 125\u2013144. Springer, Heidelberg (2010). doi:\n                      10.1007\/978-3-642-11957-6_8"},{"key":"13_CR12","doi-asserted-by":"crossref","unstructured":"Bra\u00dfel, B., Hanus, M., Huch, F.: Encapsulating non-determinism in functional logic computations. J. Funct. Logic Program. 2004(6) (2004)","DOI":"10.1007\/978-3-540-24836-1_14"},{"key":"13_CR13","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/978-3-642-22531-4_1","volume-title":"Functional and Constraint Logic Programming","author":"B Bra\u00dfel","year":"2011","unstructured":"Bra\u00dfel, B., Hanus, M., Peem\u00f6ller, B., Reck, F.: KiCS2: a new compiler from Curry to Haskell. In: Kuchen, H. (ed.) WFLP 2011. LNCS, vol. 6816, pp. 1\u201318. Springer, Heidelberg (2011). doi:\n                      10.1007\/978-3-642-22531-4_1"},{"key":"13_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"322","DOI":"10.1007\/978-3-540-78969-7_23","volume-title":"Functional and Logic Programming","author":"J Christiansen","year":"2008","unstructured":"Christiansen, J., Fischer, S.: EasyCheck \u2014 test data for free. In: Garrigue, J., Hermenegildo, M.V. (eds.) FLOPS 2008. LNCS, vol. 4989, pp. 322\u2013336. Springer, Heidelberg (2008). doi:\n                      10.1007\/978-3-540-78969-7_23"},{"key":"13_CR15","doi-asserted-by":"crossref","unstructured":"Claessen, K., Hughes, J.: QuickCheck: a lightweight tool for random testing of Haskell programs. In: International Conference on Functional Programming (ICFP 2000), pp. 268\u2013279. ACM Press (2000)","DOI":"10.1145\/357766.351266"},{"issue":"12","key":"13_CR16","doi-asserted-by":"publisher","first-page":"47","DOI":"10.1145\/636517.636527","volume":"37","author":"K Claessen","year":"2002","unstructured":"Claessen, K., Hughes, J.: Testing monadic code with QuickCheck. ACM SIGPLAN Not. 37(12), 47\u201359 (2002)","journal-title":"ACM SIGPLAN Not."},{"key":"13_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"10","DOI":"10.1007\/978-3-642-18070-5_2","volume-title":"Formal Verification of Object-Oriented Software","author":"M F\u00e4hndrich","year":"2011","unstructured":"F\u00e4hndrich, M., Logozzo, F.: Static contract checking with abstract interpretation. In: Beckert, B., March\u00e9, C. (eds.) FoVeOOS 2010. LNCS, vol. 6528, pp. 10\u201330. Springer, Heidelberg (2011). doi:\n                      10.1007\/978-3-642-18070-5_2"},{"key":"13_CR18","doi-asserted-by":"publisher","first-page":"47","DOI":"10.1016\/S0743-1066(98)10029-8","volume":"40","author":"JC Gonz\u00e1lez-Moreno","year":"1999","unstructured":"Gonz\u00e1lez-Moreno, J.C., Hortal\u00e1-Gonz\u00e1lez, M.T., L\u00f3pez-Fraguas, F.J., Rodr\u00edguez-Artalejo, M.: An approach to declarative programming based on a rewriting logic. J. Logic Program. 40, 47\u201387 (1999)","journal-title":"J. Logic Program."},{"key":"13_CR19","doi-asserted-by":"crossref","unstructured":"Hanus, M.: A unified computation model for functional and logic programming. In: Proceeding of the 24th ACM Symposium on Principles of Programming Languages (Paris), pp. 80\u201393 (1997)","DOI":"10.1145\/263699.263710"},{"key":"13_CR20","unstructured":"Hanus, M.: Declarative processing of semistructured web data. In: Technical Communications of the 27th International Conference on Logic Programming, vol. 11, pp. 198\u2013208. Leibniz International Proceedings in Informatics (LIPIcs) (2011)"},{"key":"13_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"123","DOI":"10.1007\/978-3-642-37651-1_6","volume-title":"Programming Logics","author":"M Hanus","year":"2013","unstructured":"Hanus, M.: Functional logic programming: from theory to Curry. In: Voronkov, A., Weidenbach, C. (eds.) Programming Logics. LNCS, vol. 7797, pp. 123\u2013168. Springer, Heidelberg (2013). doi:\n                      10.1007\/978-3-642-37651-1_6"},{"key":"13_CR22","unstructured":"Hanus, M., Antoy, S., Bra\u00dfel, B., Engelke, M., H\u00f6ppner, K., Koj, J., Niederau, P., Sadre, R., Steiner, F.: PAKCS: The Portland Aachen Kiel Curry System (2016). \n                      http:\/\/www.informatik.uni-kiel.de\/pakcs\/"},{"key":"13_CR23","unstructured":"M. Hanus (ed.). Curry: An Integrated Functional Logic Language (vers. 0.9.0) (2016). \n                      http:\/\/www.curry-language.org"},{"key":"13_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1345","DOI":"10.1007\/3-540-44957-4_90","volume-title":"Computational Logic \u2014 CL 2000","author":"M Hermenegildo","year":"2000","unstructured":"Hermenegildo, M.: A documentation generator for (C)LP systems. In: Lloyd, J., Dahl, V., Furbach, U., Kerber, M., Lau, K.-K., Palamidessi, C., Pereira, L.M., Sagiv, Y., Stuckey, P.J. (eds.) CL 2000. LNCS, vol. 1861, pp. 1345\u20131361. Springer, Heidelberg (2000). doi:\n                      10.1007\/3-540-44957-4_90"},{"key":"13_CR25","series-title":"Lecture Notes in Computer Science (Lecture Notes in Artificial Intelligence)","doi-asserted-by":"publisher","first-page":"108","DOI":"10.1007\/978-3-319-08434-3_9","volume-title":"Intelligent Computer Mathematics","author":"M Johansson","year":"2014","unstructured":"Johansson, M., Ros\u00e9n, D., Smallbone, N., Claessen, K.: Hipster: integrating theory exploration in a proof assistant. In: Watt, S.M., Davenport, J.H., Sexton, A.P., Sojka, P., Urban, J. (eds.) CICM 2014. LNCS (LNAI), vol. 8543, pp. 108\u2013122. Springer, Cham (2014). doi:\n                      10.1007\/978-3-319-08434-3_9"},{"key":"13_CR26","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"84","DOI":"10.1007\/3-540-44854-3_6","volume-title":"Implementation of Functional Languages","author":"P Koopman","year":"2003","unstructured":"Koopman, P., Alimarine, A., Tretmans, J., Plasmeijer, R.: Gast: generic automated software testing. In: Pe\u00f1a, R., Arts, T. (eds.) IFL 2002. LNCS, vol. 2670, pp. 84\u2013100. Springer, Heidelberg (2003). doi:\n                      10.1007\/3-540-44854-3_6"},{"key":"13_CR27","doi-asserted-by":"crossref","unstructured":"Kuraj, I., Kuncak, V., Jackson, D.: Programming with enumerable sets of structures. In: Proceeding of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2015), pp. 37\u201356. ACM (2015)","DOI":"10.1145\/2814270.2814323"},{"key":"13_CR28","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"230","DOI":"10.1007\/978-3-642-04652-0_5","volume-title":"Advanced Functional Programming","author":"U Norell","year":"2009","unstructured":"Norell, U.: Dependently typed programming in Agda. In: Koopman, P., Plasmeijer, R., Swierstra, D. (eds.) AFP 2008. LNCS, vol. 5832, pp. 230\u2013266. Springer, Heidelberg (2009). doi:\n                      10.1007\/978-3-642-04652-0_5"},{"key":"13_CR29","unstructured":"Oberschweiber, J.: A package manager for Curry. Master\u2019s thesis, University of Kiel (2016)"},{"key":"13_CR30","doi-asserted-by":"crossref","unstructured":"Papadakis, M., Sagonas, K.: A PropEr integration of types and function specifications with property-based testing. In: Proceeding of the 10th ACM SIGPLAN Workshop on Erlang, pp. 39\u201350 (2011)","DOI":"10.1145\/2034654.2034663"},{"key":"13_CR31","unstructured":"Reddy, U.S.: Narrowing as the operational semantics of functional languages. In: Proceeding of IEEE International Symposium on Logic Programming, pp. 138\u2013151, Boston (1985)"},{"key":"13_CR32","doi-asserted-by":"crossref","unstructured":"Runciman, C., Naylor, M., Lindblad, F.: SmallCheck and Lazy SmallCheck: automatic exhaustive testing for small values. In: Proceeding of the 1st ACM SIGPLAN Symposium on Haskell, pp. 37\u201348. ACM Press (2008)","DOI":"10.1145\/1543134.1411292"},{"key":"13_CR33","doi-asserted-by":"crossref","unstructured":"Stulova, N., Morales, J.F., Hermenegildo, M.: Reducing the overhead of assertion run-time checks via static analysis. In: Proceeding 18th International Symposium on Principles and Practice of Declarative Programming (PPDP 2016), pp. 90\u2013103. ACM Press (2016)","DOI":"10.1145\/2967973.2968597"},{"key":"13_CR34","doi-asserted-by":"publisher","DOI":"10.1145\/2841316","volume-title":"Verified Functional Programming in Agda","author":"A Stump","year":"2016","unstructured":"Stump, A.: Verified Functional Programming in Agda. ACM and Morgan & Claypool, New York (2016)"},{"issue":"3","key":"13_CR35","doi-asserted-by":"publisher","first-page":"240","DOI":"10.1145\/262009.262011","volume":"29","author":"P Wadler","year":"1997","unstructured":"Wadler, P.: How to declare an imperative. ACM Comput. Surv. 29(3), 240\u2013263 (1997)","journal-title":"ACM Comput. Surv."}],"container-title":["Lecture Notes in Computer Science","Logic-Based Program Synthesis and Transformation"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-63139-4_13","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,20]],"date-time":"2019-05-20T02:51:35Z","timestamp":1558320695000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-63139-4_13"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017]]},"ISBN":["9783319631387","9783319631394"],"references-count":35,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-63139-4_13","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2017]]},"assertion":[{"value":"25 July 2017","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"LOPSTR","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Symposium on Logic-Based Program Synthesis and Transformation","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Edinburgh","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":"2016","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"6 September 2016","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"8 September 2016","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"26","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"lopstr2016","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/www.cliplab.org\/Conferences\/LOPSTR16\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}