{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,9,11]],"date-time":"2025-09-11T22:43:36Z","timestamp":1757630616281,"version":"3.44.0"},"reference-count":0,"publisher":"Centre pour la Communication Scientifique Directe (CCSD)","license":[{"start":{"date-parts":[[2025,9,3]],"date-time":"2025-09-03T00:00:00Z","timestamp":1756857600000},"content-version":"am","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2025,9,3]],"date-time":"2025-09-03T00:00:00Z","timestamp":1756857600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2025,9,3]],"date-time":"2025-09-03T00:00:00Z","timestamp":1756857600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"accepted":{"date-parts":[[2024,12,27]]},"abstract":"<jats:p>This paper shows how to use Lee, Jones and Ben Amram's size-change principle to check correctness of arbitrary recursive definitions in an ML \/ Haskell like programming language with inductive and coinductive types. Naively using the size-change principle to check productivity and termination is straightforward but unsound when inductive and coinductive types are nested. We can however adapt the size-change principle to check ``totality'', which corresponds exactly to correctness with respect to the corresponding (co)inductive type.<\/jats:p>","DOI":"10.46298\/lmcs-21(3:20)2025","type":"journal-article","created":{"date-parts":[[2025,9,10]],"date-time":"2025-09-10T18:46:33Z","timestamp":1757529993000},"source":"Crossref","is-referenced-by-count":0,"title":["The Size-Change Principle for Mixed Inductive and Coinductive types"],"prefix":"10.46298","volume":"Volume 21, Issue 3","author":[{"given":"Pierre","family":"Hyvernat","sequence":"first","affiliation":[]}],"member":"25203","published-online":{"date-parts":[[2025,9,3]]},"container-title":["Logical Methods in Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/arxiv.org\/pdf\/2407.05715v4","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/arxiv.org\/pdf\/2407.05715v4","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,9,10]],"date-time":"2025-09-10T18:46:33Z","timestamp":1757529993000},"score":1,"resource":{"primary":{"URL":"http:\/\/lmcs.episciences.org\/13902"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,9,3]]},"references-count":0,"URL":"https:\/\/doi.org\/10.46298\/lmcs-21(3:20)2025","relation":{"has-preprint":[{"id-type":"arxiv","id":"2407.05715v1","asserted-by":"subject"}],"is-same-as":[{"id-type":"arxiv","id":"2407.05715","asserted-by":"subject"},{"id-type":"doi","id":"10.48550\/arXiv.2407.05715","asserted-by":"subject"}]},"ISSN":["1860-5974"],"issn-type":[{"value":"1860-5974","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,9,3]]},"article-number":"13902"}}