Interaction trees: representing recursive and impure programs in Coq
Interaction trees (ITrees) are a general-purpose data structure for representing the behaviors of recursive programs that interact with their environments. A coinductive variant of “free monads,” ITrees are built out of uninterpreted events and their continuations. They support compositional constru...
Uloženo v:
| Vydáno v: | Proceedings of ACM on programming languages Ročník 4; číslo POPL; s. 1 - 32 |
|---|---|
| Hlavní autoři: | , , , , , , |
| Médium: | Journal Article |
| Jazyk: | angličtina |
| Vydáno: |
ACM
01.01.2020
|
| Témata: | |
| ISSN: | 2475-1421, 2475-1421 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Abstract | Interaction trees (ITrees) are a general-purpose data structure for representing the behaviors of recursive programs that interact with their environments. A coinductive variant of “free monads,” ITrees are built out of uninterpreted events and their continuations. They support compositional construction of interpreters from event handlers , which give meaning to events by defining their semantics as monadic actions. ITrees are expressive enough to represent impure and potentially nonterminating, mutually recursive computations, while admitting a rich equational theory of equivalence up to weak bisimulation. In contrast to other approaches such as relationally specified operational semantics, ITrees are executable via code extraction, making them suitable for debugging, testing, and implementing software artifacts that are amenable to formal verification.
We have implemented ITrees and their associated theory as a Coq library, mechanizing classic domain- and category-theoretic results about program semantics, iteration, monadic structures, and equational reasoning. Although the internals of the library rely heavily on coinductive proofs, the interface hides these details so that clients can use and reason about ITrees without explicit use of Coq’s coinduction tactics.
To showcase the utility of our theory, we prove the termination-sensitive correctness of a compiler from a simple imperative source language to an assembly-like target whose meanings are given in an ITree-based denotational semantics. Unlike previous results using operational techniques, our bisimulation proof follows straightforwardly by structural induction and elementary rewriting via an equational theory of combinators for control-flow graphs. |
|---|---|
| AbstractList | Interaction trees (ITrees) are a general-purpose data structure for representing the behaviors of recursive programs that interact with their environments. A coinductive variant of “free monads,” ITrees are built out of uninterpreted events and their continuations. They support compositional construction of interpreters from event handlers , which give meaning to events by defining their semantics as monadic actions. ITrees are expressive enough to represent impure and potentially nonterminating, mutually recursive computations, while admitting a rich equational theory of equivalence up to weak bisimulation. In contrast to other approaches such as relationally specified operational semantics, ITrees are executable via code extraction, making them suitable for debugging, testing, and implementing software artifacts that are amenable to formal verification.
We have implemented ITrees and their associated theory as a Coq library, mechanizing classic domain- and category-theoretic results about program semantics, iteration, monadic structures, and equational reasoning. Although the internals of the library rely heavily on coinductive proofs, the interface hides these details so that clients can use and reason about ITrees without explicit use of Coq’s coinduction tactics.
To showcase the utility of our theory, we prove the termination-sensitive correctness of a compiler from a simple imperative source language to an assembly-like target whose meanings are given in an ITree-based denotational semantics. Unlike previous results using operational techniques, our bisimulation proof follows straightforwardly by structural induction and elementary rewriting via an equational theory of combinators for control-flow graphs. |
| Author | He, Paul Zakowski, Yannick Pierce, Benjamin C. Malecha, Gregory Zdancewic, Steve Hur, Chung-Kil Xia, Li-yao |
| Author_xml | – sequence: 1 givenname: Li-yao surname: Xia fullname: Xia, Li-yao organization: University of Pennsylvania, USA – sequence: 2 givenname: Yannick surname: Zakowski fullname: Zakowski, Yannick organization: University of Pennsylvania, USA – sequence: 3 givenname: Paul surname: He fullname: He, Paul organization: University of Pennsylvania, USA – sequence: 4 givenname: Chung-Kil surname: Hur fullname: Hur, Chung-Kil organization: Seoul National University, South Korea – sequence: 5 givenname: Gregory surname: Malecha fullname: Malecha, Gregory organization: BedRock Systems, USA – sequence: 6 givenname: Benjamin C. surname: Pierce fullname: Pierce, Benjamin C. organization: University of Pennsylvania, USA – sequence: 7 givenname: Steve surname: Zdancewic fullname: Zdancewic, Steve organization: University of Pennsylvania, USA |
| BackLink | https://hal.science/hal-03105140$$DView record in HAL |
| BookMark | eNpdkE1LAzEQhoNUsNbiX8hNPKxmkmw38VbqRwsFL3oO093ZGmmza7It-O_dYgXpaT54eOed95INQhOIsWsQdwA6v1eqAAB7xoZSF3kGWsLgX3_Bxil9CiHAKm2UHbLHRegoYtn5JvAuEqUHHqmNlCh0Pqz7odzF5PfEMVTcb9tdJN7GZh1xm7gPfNZ8XbHzGjeJxsc6Yu_PT2-zebZ8fVnMpsuslFZ2WamgIGWN1ZOaBJp6Uhq7EoVUhiagrK1Ao7G4Mii1qSTVvcUqFwZQmVyhGrHbX90P3Lg2-i3Gb9egd_Pp0h12QoHIQYs99Gz2y5axSSlS7Urf4eHNLqLfOBDukJg7JtbzNyf834FT8gdsXWoX |
| CitedBy_id | crossref_primary_10_1145_3473599 crossref_primary_10_1145_3571220 crossref_primary_10_1145_3547630 crossref_primary_10_1145_3622857 crossref_primary_10_1145_3547632 crossref_primary_10_1145_3656433 crossref_primary_10_1145_3428220 crossref_primary_10_1145_3747522 crossref_primary_10_1145_3674652 crossref_primary_10_1017_S0956796825100105 crossref_primary_10_1145_3563355 crossref_primary_10_1145_3607852 crossref_primary_10_1145_3607854 crossref_primary_10_1145_3498689 crossref_primary_10_1145_3579834 crossref_primary_10_1145_3571232 crossref_primary_10_1145_3591220 crossref_primary_10_1145_3547624 crossref_primary_10_1145_3674645 crossref_primary_10_1145_3729321 crossref_primary_10_1145_3632916 crossref_primary_10_1145_3704880 crossref_primary_10_1145_3704881 crossref_primary_10_1145_3591266 crossref_primary_10_1145_3704884 crossref_primary_10_1145_3632914 crossref_primary_10_1145_3704889 crossref_primary_10_1145_3704847 crossref_primary_10_1145_3498685 crossref_primary_10_1145_3527324 crossref_primary_10_1109_ACCESS_2025_3539584 crossref_primary_10_1145_3591253 crossref_primary_10_1007_s00165_020_00523_2 crossref_primary_10_1145_3729311 crossref_primary_10_1145_3591259 crossref_primary_10_1145_3460860 crossref_primary_10_1145_3473572 crossref_primary_10_1145_3571202 crossref_primary_10_1145_3607833 crossref_primary_10_1145_3747512 crossref_primary_10_1145_3571254 crossref_primary_10_1145_3720457 crossref_primary_10_1016_j_jlamp_2023_100940 crossref_primary_10_1145_3632854 crossref_primary_10_1145_3632898 crossref_primary_10_1145_3704860 crossref_primary_10_1145_3522729 crossref_primary_10_1145_3648439 crossref_primary_10_1145_3473586 |
| Cites_doi | 10.1007/978-3-662-02880-3_8 10.1016/j.jlap.2004.03.009 10.1016/j.jlamp.2014.02.001 10.5555/1987211.1987212 10.1145/174675.178068 10.1145/2815400.2815428 10.1016/j.ic.2004.05.003 10.1007/3-540-44622-2_21 10.1007/978-3-319-95582-7_20 10.1016/S0747-7171(89)80065-3 10.1016/j.ic.2007.12.004 10.2168/LMCS-9(4:23)2013 10.1145/2804302.2804319 10.1017/S0956796808006758 10.2168/LMCS-1(2:1)2005 10.1007/978-3-319-21401-6_26 10.1145/2429069.2429094 10.1145/2676726.2676975 10.7551/mitpress/9153.001.0001 10.1145/1250734.1250742 10.1007/978-3-642-78034-9 10.1145/3293880.3294106 10.1023/A:1023064908962 10.1145/1706299.1706312 10.1016/0890-5401(91)90052-4 10.1007/978-3-319-25150-9_8 10.1007/978-1-4471-0865-8_7 10.1017/S0305004100074338 10.1007/978-3-319-19797-5_13 10.1145/2737924.2737958 10.1109/LICS.2010.29 10.1007/978-3-642-37036-6_3 10.1145/1538788.1538814 10.1016/S0304-3975(02)00728-4 10.1145/2535838.2535841 10.1007/978-3-662-54458-7_30 10.1145/3192366.3192381 10.1016/S0049-237X(08)71948-7 10.1145/2429069.2429093 10.1145/1629575.1629596 10.1007/978-3-319-67729-3_3 10.1145/1706299.1706329 10.1016/j.tcs.2006.03.013 10.1145/2503778.2503791 10.4204/EPTCS.32.5 10.1145/199448.199528 |
| ContentType | Journal Article |
| Copyright | Distributed under a Creative Commons Attribution 4.0 International License |
| Copyright_xml | – notice: Distributed under a Creative Commons Attribution 4.0 International License |
| DBID | AAYXX CITATION 1XC |
| DOI | 10.1145/3371119 |
| DatabaseName | CrossRef Hyper Article en Ligne (HAL) |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | CrossRef |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 2475-1421 |
| EndPage | 32 |
| ExternalDocumentID | oai:HAL:hal-03105140v1 10_1145_3371119 |
| GroupedDBID | AAKMM AAYFX AAYXX ACM AEFXT AEJOY AIKLT AKRVB ALMA_UNASSIGNED_HOLDINGS CITATION EBS GUFHI LHSKQ M~E OK1 ROL 1XC |
| ID | FETCH-LOGICAL-c292t-c317e398946fe0a8f6c89b07238e61399d14a89ab8a248d2ef839d5081a3853a3 |
| ISICitedReferencesCount | 77 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000685202400052&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 2475-1421 |
| IngestDate | Tue Oct 14 20:32:20 EDT 2025 Tue Nov 18 21:09:17 EST 2025 Sat Nov 29 07:47:58 EST 2025 |
| IsDoiOpenAccess | false |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | POPL |
| Language | English |
| License | Distributed under a Creative Commons Attribution 4.0 International License: http://creativecommons.org/licenses/by/4.0 |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-c292t-c317e398946fe0a8f6c89b07238e61399d14a89ab8a248d2ef839d5081a3853a3 |
| ORCID | 0000-0002-3516-1512 0000-0003-4585-6470 |
| OpenAccessLink | https://dl.acm.org/doi/pdf/10.1145/3371119 |
| PageCount | 32 |
| ParticipantIDs | hal_primary_oai_HAL_hal_03105140v1 crossref_citationtrail_10_1145_3371119 crossref_primary_10_1145_3371119 |
| PublicationCentury | 2000 |
| PublicationDate | 2020-01-00 2020-01 |
| PublicationDateYYYYMMDD | 2020-01-01 |
| PublicationDate_xml | – month: 01 year: 2020 text: 2020-01-00 |
| PublicationDecade | 2020 |
| PublicationTitle | Proceedings of ACM on programming languages |
| PublicationYear | 2020 |
| Publisher | ACM |
| Publisher_xml | – name: ACM |
| References | Apfelmus Heinrich (e_1_2_2_5_1) 2010 e_1_2_2_49_1 e_1_2_2_6_1 e_1_2_2_22_1 e_1_2_2_2_1 Hasegawa Masahito (e_1_2_2_33_1) Chlipala Adam (e_1_2_2_19_1) e_1_2_2_41_1 e_1_2_2_43_1 e_1_2_2_8_1 e_1_2_2_26_1 e_1_2_2_47_1 e_1_2_2_60_1 Setzer Anton (e_1_2_2_72_1) 2006 Cartwright Robert (e_1_2_2_13_1) 1994; 272 Giménez Eduardo (e_1_2_2_24_1) Danielsson Nils Anders (e_1_2_2_20_1) 2012 Cenciarelli Pietro (e_1_2_2_14_1) 1993 e_1_2_2_38_1 e_1_2_2_11_1 Piròg Maciej (e_1_2_2_64_1) 2014 e_1_2_2_30_1 e_1_2_2_51_1 e_1_2_2_76_1 e_1_2_2_32_1 e_1_2_2_53_1 Plotkin Gordon D. (e_1_2_2_68_1) 2004 e_1_2_2_74_1 Abel Andreas (e_1_2_2_1_1) 2017 Owens Scott (e_1_2_2_61_1) e_1_2_2_17_1 e_1_2_2_34_1 e_1_2_2_55_1 Lampropoulos Leonidas (e_1_2_2_45_1) 2018 Pierce Benjamin C. (e_1_2_2_63_1) 2018 e_1_2_2_15_1 e_1_2_2_36_1 Altenkirch Thorsten (e_1_2_2_4_1) 2017 Benton Nick (e_1_2_2_9_1) 2010 e_1_2_2_70_1 e_1_2_2_48_1 e_1_2_2_21_1 Peyton Jones Simon L (e_1_2_2_62_1) 1993 e_1_2_2_40_1 e_1_2_2_42_1 e_1_2_2_29_1 e_1_2_2_44_1 e_1_2_2_67_1 Goncharov Sergey (e_1_2_2_25_1) 2011 e_1_2_2_27_1 e_1_2_2_46_1 e_1_2_2_69_1 Appel Andrew W. (e_1_2_2_7_1) Plotkin Gordon (e_1_2_2_65_1) Nipkow Tobias (e_1_2_2_59_1) 2002 e_1_2_2_37_1 e_1_2_2_12_1 e_1_2_2_39_1 Benton Nick (e_1_2_2_10_1) e_1_2_2_52_1 e_1_2_2_75_1 e_1_2_2_54_1 e_1_2_2_73_1 e_1_2_2_18_1 e_1_2_2_56_1 e_1_2_2_16_1 e_1_2_2_35_1 e_1_2_2_58_1 e_1_2_2_77_1 e_1_2_2_50_1 Gu Ronghui (e_1_2_2_28_1) 2016 Plotkin Gordon (e_1_2_2_66_1) |
| References_xml | – volume-title: Paulson year: 2002 ident: e_1_2_2_59_1 – volume-title: Interactive programming in Agda–Objects and graphical user interfaces. Journal of Functional Programming 27 year: 2017 ident: e_1_2_2_1_1 – volume-title: Object-oriented programming in dependent type theory. Trends in functional programming. 7 year: 2006 ident: e_1_2_2_72_1 – volume: 272 volume-title: Extensible Denotational Language Specifications. In Symposium on Theoretical Aspects of Computer Software year: 1994 ident: e_1_2_2_13_1 – ident: e_1_2_2_76_1 doi: 10.1007/978-3-662-02880-3_8 – volume-title: Foundations of Software Science and Computation Structures ident: e_1_2_2_66_1 – ident: e_1_2_2_67_1 doi: 10.1016/j.jlap.2004.03.009 – ident: e_1_2_2_8_1 doi: 10.1016/j.jlamp.2014.02.001 – ident: e_1_2_2_6_1 doi: 10.5555/1987211.1987212 – volume-title: Program Logics - for Certified Compilers ident: e_1_2_2_7_1 – ident: e_1_2_2_73_1 doi: 10.1145/174675.178068 – ident: e_1_2_2_34_1 doi: 10.1145/2815400.2815428 – ident: e_1_2_2_54_1 doi: 10.1016/j.ic.2004.05.003 – ident: e_1_2_2_32_1 doi: 10.1007/3-540-44622-2_21 – volume-title: Theorem Proving in Higher Order Logics ident: e_1_2_2_10_1 – ident: e_1_2_2_48_1 doi: 10.1007/978-3-319-95582-7_20 – volume-title: Types for Proofs and Programs, Peter Dybjer, Bengt Nordström ident: e_1_2_2_24_1 – ident: e_1_2_2_30_1 doi: 10.1016/S0747-7171(89)80065-3 – volume-title: Imperative Functional Programming. In Conference Record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages: Papers Presented at the Symposium. ACM Press. year: 1993 ident: e_1_2_2_62_1 – ident: e_1_2_2_47_1 doi: 10.1016/j.ic.2007.12.004 – volume-title: Ultrametric Spaces and Semantics of Programming Languages. (July year: 2010 ident: e_1_2_2_9_1 – volume-title: The Operational Monad Tutorial. The Monad.Reader Issue 15 year: 2010 ident: e_1_2_2_5_1 – volume-title: Technical Report. In Proceedings of the Conference on Category Theory and Computer Science. year: 1993 ident: e_1_2_2_14_1 – ident: e_1_2_2_70_1 doi: 10.2168/LMCS-9(4:23)2013 – volume-title: Nils Anders Danielsson, and Nicolai Kraus year: 2017 ident: e_1_2_2_4_1 – volume-title: Chris Casinghino, Marco Gaboardi, Michael Greenberg, Cˇatˇalin Hriţcu, Vilhelm Sjöberg, and Brent Yorgey. year: 2018 ident: e_1_2_2_63_1 – ident: e_1_2_2_40_1 doi: 10.1145/2804302.2804319 – ident: e_1_2_2_74_1 doi: 10.1017/S0956796808006758 – ident: e_1_2_2_12_1 doi: 10.2168/LMCS-1(2:1)2005 – ident: e_1_2_2_52_1 – ident: e_1_2_2_21_1 doi: 10.1007/978-3-319-21401-6_26 – ident: e_1_2_2_22_1 doi: 10.1145/2429069.2429094 – ident: e_1_2_2_27_1 doi: 10.1145/2676726.2676975 – volume-title: Certified Programming with Dependent Types ident: e_1_2_2_19_1 doi: 10.7551/mitpress/9153.001.0001 – ident: e_1_2_2_60_1 – ident: e_1_2_2_17_1 doi: 10.1145/1250734.1250742 – ident: e_1_2_2_11_1 doi: 10.1007/978-3-642-78034-9 – ident: e_1_2_2_43_1 doi: 10.1145/3293880.3294106 – volume-title: A structural approach to operational semantics. J. Log. Algebr. Program. 60-61 year: 2004 ident: e_1_2_2_68_1 – volume-title: CertiKOS: An Extensible Architecture for Building Certified Concurrent OS Kernels. In 12th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2016 year: 2016 ident: e_1_2_2_28_1 – ident: e_1_2_2_69_1 doi: 10.1023/A:1023064908962 – ident: e_1_2_2_18_1 doi: 10.1145/1706299.1706312 – ident: e_1_2_2_56_1 doi: 10.1016/0890-5401(91)90052-4 – ident: e_1_2_2_51_1 – ident: e_1_2_2_15_1 doi: 10.1007/978-3-319-25150-9_8 – volume-title: Recursion from cyclic sharing: Traced monoidal categories and models of cyclic lambda calculi ident: e_1_2_2_33_1 doi: 10.1007/978-1-4471-0865-8_7 – ident: e_1_2_2_39_1 doi: 10.1017/S0305004100074338 – ident: e_1_2_2_35_1 – ident: e_1_2_2_53_1 doi: 10.1007/978-3-319-19797-5_13 – ident: e_1_2_2_77_1 doi: 10.1145/2737924.2737958 – volume-title: A Coinductive Calculus for Asynchronous Side-effecting Processes. CoRR abs/1104.2936 year: 2011 ident: e_1_2_2_25_1 – volume-title: Pierce year: 2018 ident: e_1_2_2_45_1 – ident: e_1_2_2_38_1 doi: 10.1109/LICS.2010.29 – ident: e_1_2_2_16_1 doi: 10.1007/978-3-642-37036-6_3 – ident: e_1_2_2_46_1 doi: 10.1145/1538788.1538814 – ident: e_1_2_2_2_1 doi: 10.1016/S0304-3975(02)00728-4 – volume-title: The Coinductive Resumption Monad. Electronic notes in theoretical computer science. 308 year: 2014 ident: e_1_2_2_64_1 – volume-title: Foundations of Software Science and Computation Structures ident: e_1_2_2_65_1 – volume-title: In: International Conference on Functional Programming year: 2012 ident: e_1_2_2_20_1 – ident: e_1_2_2_44_1 doi: 10.1145/2535838.2535841 – ident: e_1_2_2_26_1 doi: 10.1007/978-3-662-54458-7_30 – ident: e_1_2_2_29_1 doi: 10.1145/3192366.3192381 – ident: e_1_2_2_55_1 doi: 10.1016/S0049-237X(08)71948-7 – ident: e_1_2_2_36_1 doi: 10.1145/2429069.2429093 – ident: e_1_2_2_42_1 doi: 10.1145/1629575.1629596 – ident: e_1_2_2_75_1 doi: 10.1007/978-3-319-67729-3_3 – ident: e_1_2_2_50_1 doi: 10.1145/1706299.1706329 – ident: e_1_2_2_37_1 doi: 10.1016/j.tcs.2006.03.013 – ident: e_1_2_2_41_1 doi: 10.1145/2503778.2503791 – ident: e_1_2_2_58_1 doi: 10.4204/EPTCS.32.5 – ident: e_1_2_2_49_1 doi: 10.1145/199448.199528 – volume-title: Functional Big-Step Semantics ident: e_1_2_2_61_1 |
| SSID | ssj0001934839 |
| Score | 2.4946947 |
| Snippet | Interaction trees (ITrees) are a general-purpose data structure for representing the behaviors of recursive programs that interact with their environments. A... |
| SourceID | hal crossref |
| SourceType | Open Access Repository Enrichment Source Index Database |
| StartPage | 1 |
| SubjectTerms | Computer Science Programming Languages |
| Title | Interaction trees: representing recursive and impure programs in Coq |
| URI | https://hal.science/hal-03105140 |
| Volume | 4 |
| WOSCitedRecordID | wos000685202400052&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVHPJ databaseName: ROAD: Directory of Open Access Scholarly Resources customDbUrl: eissn: 2475-1421 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0001934839 issn: 2475-1421 databaseCode: M~E dateStart: 20170101 isFulltext: true titleUrlDefault: https://road.issn.org providerName: ISSN International Centre |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV3Nb9MwFLfK4MCFb8T4koUQt0AbO43NLdqYgtaVSAypO0VO4qgVXVq6ruzEX8Mfynu242Ybh3HgYkWOEyV-vzz_8vw-CHnLGCZNZwDeAkNyhC4CGdXQ8DKqKsl1rfum2EQ8HovJRGa93u82FmYzj5tGXFzI5X8VNfSBsDF09h_E7W8KHXAMQocWxA7tjQRvbHyuAjhuORufN5O7EuOM0DKwQhu7cVs3OwenS9xEcI5aZzYM8EeXtGZ-kTN-H8neEW4xuAtO8Y6t1dMT9In1wR3NghO18MZp9X3x09XJPsFaSaUPE0r1VTfF9NxGKE5BGwWHzhHEmSfC_hXzROKSRRuNFvI4CgbchkS_13_pcyqZd5CXfclGHQ076CzV1jJ6fRHgmC-DsRj0uNyuc-3efpp8zbP9g3z0eXx4-WzHNzFNRtBO1TzA3KnAKvsb-Me-HcaRRMfBo18dS55kXJiSdf5dbHQ2PsgH9xiXaM-taWu1Nyzm-AG5534_aGJh85D0dPOI3G9Le1Cn6R-T_Q6KqEHRR9rFEPUYooAhajFEWwzRWUMBQ0_It4NPx3tp4ApuBGUow3VQApnUDFPyD-ETVaIelkIWfaxLp4H2SVkNuBJSFUKFXFShruG9K6D4A8WA9in2lOw0i0Y_I5TxStVAhJAQc66jIip5PMTkg0xqrepd8q6dj7x02eixKMo8t5HyUe4mbpdQP3BpE7BcH_IGJtSfxYTpIL4c-7bCe36TQS_I3S2GX5Kd9epcvyJ3ys16drZ6bcT-BzDPg24 |
| linkProvider | ISSN International Centre |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Interaction+trees%3A+representing+recursive+and+impure+programs+in+Coq&rft.jtitle=Proceedings+of+ACM+on+programming+languages&rft.au=Xia%2C+Li-Yao&rft.au=Zakowski%2C+Yannick&rft.au=He%2C+Paul&rft.au=Hur%2C+Chung-Kil&rft.date=2020-01-01&rft.pub=ACM&rft.issn=2475-1421&rft.eissn=2475-1421&rft.volume=4&rft.issue=POPL&rft.spage=1&rft.epage=32&rft_id=info:doi/10.1145%2F3371119&rft.externalDBID=HAS_PDF_LINK&rft.externalDocID=oai%3AHAL%3Ahal-03105140v1 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2475-1421&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2475-1421&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2475-1421&client=summon |