{"id":"https://openalex.org/W2965382585","doi":"https://doi.org/10.1145/3331554.3342603","title":"How to do proofs: practically proving properties about effectful programs' results (functional pearl)","display_name":"How to do proofs: practically proving properties about effectful programs' results (functional pearl)","publication_year":2019,"publication_date":"2019-07-29","ids":{"openalex":"https://openalex.org/W2965382585","doi":"https://doi.org/10.1145/3331554.3342603","mag":"2965382585"},"language":"en","primary_location":{"id":"doi:10.1145/3331554.3342603","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3331554.3342603","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 4th ACM SIGPLAN International Workshop on Type-Driven Development","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://lirias.kuleuven.be/bitstream/123456789/643243/3/3331554.3342603.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5085870012","display_name":"Koen Jacobs","orcid":"https://orcid.org/0000-0002-1645-6876"},"institutions":[{"id":"https://openalex.org/I99464096","display_name":"KU Leuven","ror":"https://ror.org/05f950310","country_code":"BE","type":"education","lineage":["https://openalex.org/I99464096"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Koen Jacobs","raw_affiliation_strings":["KU Leuven, Belgium"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"KU Leuven, Belgium","institution_ids":["https://openalex.org/I99464096"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5036983503","display_name":"Andreas Nuyts","orcid":"https://orcid.org/0000-0002-1571-5063"},"institutions":[{"id":"https://openalex.org/I99464096","display_name":"KU Leuven","ror":"https://ror.org/05f950310","country_code":"BE","type":"education","lineage":["https://openalex.org/I99464096"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Andreas Nuyts","raw_affiliation_strings":["KU Leuven, Belgium"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"KU Leuven, Belgium","institution_ids":["https://openalex.org/I99464096"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5011654888","display_name":"Dominique Devriese","orcid":"https://orcid.org/0000-0002-3862-6856"},"institutions":[{"id":"https://openalex.org/I13469542","display_name":"Vrije Universiteit Brussel","ror":"https://ror.org/006e5kg04","country_code":"BE","type":"education","lineage":["https://openalex.org/I13469542"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Dominique Devriese","raw_affiliation_strings":["Vrije Universiteit Brussel, Belgium"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Vrije Universiteit Brussel, Belgium","institution_ids":["https://openalex.org/I13469542"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.08220835,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"13"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9987000226974487,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9955999851226807,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.8869122862815857},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7220253944396973},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.6573371887207031},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6352136135101318},{"id":"https://openalex.org/keywords/pearl","display_name":"Pearl","score":0.5946280360221863},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4539269804954529},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.4274732768535614},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.2361573576927185},{"id":"https://openalex.org/keywords/philosophy","display_name":"Philosophy","score":0.07966858148574829}],"concepts":[{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.8869122862815857},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7220253944396973},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.6573371887207031},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6352136135101318},{"id":"https://openalex.org/C2779251273","wikidata":"https://www.wikidata.org/wiki/Q43436","display_name":"Pearl","level":2,"score":0.5946280360221863},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4539269804954529},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.4274732768535614},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.2361573576927185},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.07966858148574829},{"id":"https://openalex.org/C27206212","wikidata":"https://www.wikidata.org/wiki/Q34178","display_name":"Theology","level":1,"score":0.0},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3331554.3342603","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3331554.3342603","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 4th ACM SIGPLAN International Workshop on Type-Driven Development","raw_type":"proceedings-article"},{"id":"pmh:oai:lirias2repo.kuleuven.be:123456789/643243","is_oa":true,"landing_page_url":"https://lirias.kuleuven.be/bitstream/123456789/643243/3/3331554.3342603.pdf","pdf_url":null,"source":{"id":"https://openalex.org/S4306401954","display_name":"Lirias (KU Leuven)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I99464096","host_organization_name":"KU Leuven","host_organization_lineage":["https://openalex.org/I99464096"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Type-Driven Development, Berlin, 18 August 2019","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"pmh:oai:vubissmart:VUBISSMART:2000:123763","is_oa":false,"landing_page_url":"https://biblio.vub.ac.be/vubir/how-to-do-proofs-practically-proving-properties-about-effectful-programs39-results-functional-pearl(c1184b27-d5cd-45eb-a9a9-499500ab02f1).html","pdf_url":null,"source":{"id":"https://openalex.org/S4306402573","display_name":"VUBIR (Vrije Universiteit Brussel)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I13469542","host_organization_name":"Vrije Universiteit Brussel","host_organization_lineage":["https://openalex.org/I13469542"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"article"}],"best_oa_location":{"id":"pmh:oai:lirias2repo.kuleuven.be:123456789/643243","is_oa":true,"landing_page_url":"https://lirias.kuleuven.be/bitstream/123456789/643243/3/3331554.3342603.pdf","pdf_url":null,"source":{"id":"https://openalex.org/S4306401954","display_name":"Lirias (KU Leuven)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I99464096","host_organization_name":"KU Leuven","host_organization_lineage":["https://openalex.org/I99464096"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Type-Driven Development, Berlin, 18 August 2019","raw_type":"info:eu-repo/semantics/publishedVersion"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G539163903","display_name":null,"funder_award_id":"C14/18/064","funder_id":"https://openalex.org/F4320322308","funder_display_name":"KU Leuven"}],"funders":[{"id":"https://openalex.org/F4320321730","display_name":"Fonds Wetenschappelijk Onderzoek","ror":"https://ror.org/03qtxy027"},{"id":"https://openalex.org/F4320322308","display_name":"KU Leuven","ror":"https://ror.org/05f950310"},{"id":"https://openalex.org/F4320327336","display_name":"Vlaamse regering","ror":null}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":11,"referenced_works":["https://openalex.org/W72661297","https://openalex.org/W101014555","https://openalex.org/W1535521146","https://openalex.org/W1575675278","https://openalex.org/W1836508668","https://openalex.org/W2062887328","https://openalex.org/W2079640625","https://openalex.org/W2116813111","https://openalex.org/W2142098311","https://openalex.org/W2181666843","https://openalex.org/W4235410435"],"related_works":["https://openalex.org/W3136890312","https://openalex.org/W2259894237","https://openalex.org/W4312309273","https://openalex.org/W2132325017","https://openalex.org/W1923258046","https://openalex.org/W1671914757","https://openalex.org/W593478746","https://openalex.org/W2100079361","https://openalex.org/W2968873290","https://openalex.org/W3016342375"],"abstract_inverted_index":{"Dependently-typed":[0],"languages":[1],"are":[2,37],"great":[3],"for":[4],"stating":[5,52],"and":[6,19,27,53],"proving":[7,54],"properties":[8,22,40],"of":[9,24,44],"pure":[10],"functions.":[11],"We":[12],"can":[13],"reason":[14],"about":[15,41],"them":[16,55],"modularly":[17],"(state":[18],"prove":[20],"their":[21,31],"independently":[23],"other":[25],"functions)":[26],"non-intrusively":[28],"(without":[29],"modifying":[30],"implementation).":[32],"But":[33],"what":[34],"if":[35],"we":[36,48],"interested":[38],"in":[39],"the":[42],"results":[43],"effectful":[45],"computations?":[46],"Ideally,":[47],"could":[49],"keep":[50],"on":[51],"just":[56],"as":[57],"nicely.":[58]},"counts_by_year":[],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
