{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,5]],"date-time":"2026-02-05T09:39:28Z","timestamp":1770284368013,"version":"3.49.0"},"reference-count":1,"publisher":"Centre pour la Communication Scientifique Directe (CCSD)","license":[{"start":{"date-parts":[[2017,4,27]],"date-time":"2017-04-27T00:00:00Z","timestamp":1493251200000},"content-version":"unspecified","delay-in-days":0,"URL":"https:\/\/arxiv.org\/licenses\/nonexclusive-distrib\/1.0"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"abstract":"<jats:p>We present the guarded lambda-calculus, an extension of the simply typed\nlambda-calculus with guarded recursive and coinductive types. The use of\nguarded recursive types ensures the productivity of well-typed programs.\nGuarded recursive types may be transformed into coinductive types by a\ntype-former inspired by modal logic and Atkey-McBride clock quantification,\nallowing the typing of acausal functions. We give a call-by-name operational\nsemantics for the calculus, and define adequate denotational semantics in the\ntopos of trees. The adequacy proof entails that the evaluation of a program\nalways terminates. We introduce a program logic with L\\\"ob induction for\nreasoning about the contextual equivalence of programs. We demonstrate the\nexpressiveness of the calculus by showing the definability of solutions to\nRutten's behavioural differential equations.<\/jats:p>","DOI":"10.2168\/lmcs-12(3:7)2016","type":"journal-article","created":{"date-parts":[[2017,8,10]],"date-time":"2017-08-10T10:03:42Z","timestamp":1502359422000},"source":"Crossref","is-referenced-by-count":7,"title":["The Guarded Lambda-Calculus: Programming and Reasoning with Guarded Recursion for Coinductive Types"],"prefix":"10.46298","volume":"Volume 12, Issue 3","author":[{"given":"Ranald","family":"Clouston","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ale\u0161","family":"Bizjak","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hans Bugge","family":"Grathwohl","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Lars","family":"Birkedal","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"25203","published-online":{"date-parts":[[2017,4,27]]},"reference":[{"key":"1222:not-found"}],"container-title":["Logical Methods in Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/lmcs.episciences.org\/2019\/pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/lmcs.episciences.org\/2019\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,4,11]],"date-time":"2023-04-11T20:08:58Z","timestamp":1681243738000},"score":1,"resource":{"primary":{"URL":"https:\/\/lmcs.episciences.org\/2019"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,4,27]]},"references-count":1,"URL":"https:\/\/doi.org\/10.2168\/lmcs-12(3:7)2016","relation":{"is-same-as":[{"id-type":"arxiv","id":"1606.09455","asserted-by":"subject"},{"id-type":"doi","id":"10.48550\/arXiv.1606.09455","asserted-by":"subject"}],"is-referenced-by":[{"id-type":"doi","id":"10.1145\/3158124","asserted-by":"subject"}]},"ISSN":["1860-5974"],"issn-type":[{"value":"1860-5974","type":"electronic"}],"subject":[],"published":{"date-parts":[[2017,4,27]]},"article-number":"2019"}}