{"id":"https://openalex.org/W2885368579","doi":"https://doi.org/10.1145/3236796","title":"What\u2019s the difference? a functional pearl on subtracting bijections","display_name":"What\u2019s the difference? a functional pearl on subtracting bijections","publication_year":2018,"publication_date":"2018-07-30","ids":{"openalex":"https://openalex.org/W2885368579","doi":"https://doi.org/10.1145/3236796","mag":"2885368579"},"language":"en","primary_location":{"id":"doi:10.1145/3236796","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3236796","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3236796","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3236796","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5058418924","display_name":"Brent A. Yorgey","orcid":"https://orcid.org/0009-0005-0135-6134"},"institutions":[{"id":"https://openalex.org/I130327366","display_name":"Hendrix College","ror":"https://ror.org/00yghrj63","country_code":"US","type":"education","lineage":["https://openalex.org/I130327366"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Brent A. Yorgey","raw_affiliation_strings":["Hendrix College, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Hendrix College, USA","institution_ids":["https://openalex.org/I130327366"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5081185058","display_name":"Kenneth Foner","orcid":null},"institutions":[{"id":"https://openalex.org/I36788626","display_name":"California University of Pennsylvania","ror":"https://ror.org/01spssf70","country_code":"US","type":"education","lineage":["https://openalex.org/I36788626"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Kenneth Foner","raw_affiliation_strings":["University of Pennsylvania, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Pennsylvania, USA","institution_ids":["https://openalex.org/I36788626"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5058418924"],"corresponding_institution_ids":["https://openalex.org/I130327366"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.0713478,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"2","issue":"ICFP","first_page":"1","last_page":"21"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11797","display_name":"graph theory and CDMA systems","score":0.9897000193595886,"subfield":{"id":"https://openalex.org/subfields/2208","display_name":"Electrical and Electronic Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11797","display_name":"graph theory and CDMA systems","score":0.9897000193595886,"subfield":{"id":"https://openalex.org/subfields/2208","display_name":"Electrical and Electronic Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11596","display_name":"Constraint Satisfaction and Optimization","score":0.9824000000953674,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/T11727","display_name":"Advanced Algebra and Logic","score":0.9750000238418579,"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/bijection-injection-and-surjection","display_name":"Bijection, injection and surjection","score":0.9937692880630493},{"id":"https://openalex.org/keywords/bijection","display_name":"Bijection","score":0.9881675243377686},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.6888683438301086},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.5702077150344849},{"id":"https://openalex.org/keywords/construct","display_name":"Construct (python library)","score":0.5302899479866028},{"id":"https://openalex.org/keywords/combinatorics","display_name":"Combinatorics","score":0.4967818856239319},{"id":"https://openalex.org/keywords/pointwise","display_name":"Pointwise","score":0.49331560730934143},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.18456360697746277},{"id":"https://openalex.org/keywords/geography","display_name":"Geography","score":0.0576058030128479}],"concepts":[{"id":"https://openalex.org/C48659774","wikidata":"https://www.wikidata.org/wiki/Q4907197","display_name":"Bijection, injection and surjection","level":3,"score":0.9937692880630493},{"id":"https://openalex.org/C24424167","wikidata":"https://www.wikidata.org/wiki/Q180907","display_name":"Bijection","level":2,"score":0.9881675243377686},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.6888683438301086},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.5702077150344849},{"id":"https://openalex.org/C2780801425","wikidata":"https://www.wikidata.org/wiki/Q5164392","display_name":"Construct (python library)","level":2,"score":0.5302899479866028},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.4967818856239319},{"id":"https://openalex.org/C2777984123","wikidata":"https://www.wikidata.org/wiki/Q9248237","display_name":"Pointwise","level":2,"score":0.49331560730934143},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.18456360697746277},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0576058030128479},{"id":"https://openalex.org/C166957645","wikidata":"https://www.wikidata.org/wiki/Q23498","display_name":"Archaeology","level":1,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3236796","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3236796","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3236796","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3236796","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3236796","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3236796","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[{"score":0.4399999976158142,"display_name":"Reduced inequalities","id":"https://metadata.un.org/sdg/10"}],"awards":[{"id":"https://openalex.org/G4643737529","display_name":null,"funder_award_id":"1521539","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6437083333","display_name":null,"funder_award_id":"1521539,1703835","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G7793973045","display_name":"SHF: Medium: Collaborative Research: The Theory and Practice of Dependent Types in Haskell","funder_award_id":"1703835","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2885368579.pdf","grobid_xml":"https://content.openalex.org/works/W2885368579.grobid-xml"},"referenced_works_count":5,"referenced_works":["https://openalex.org/W1980866929","https://openalex.org/W1986815418","https://openalex.org/W2102357532","https://openalex.org/W2555814573","https://openalex.org/W2752910625"],"related_works":["https://openalex.org/W2952259524","https://openalex.org/W2160566290","https://openalex.org/W2806276129","https://openalex.org/W4299611798","https://openalex.org/W2963449060","https://openalex.org/W1893226401","https://openalex.org/W1582142388","https://openalex.org/W2885368579","https://openalex.org/W2030568854","https://openalex.org/W2110957471"],"abstract_inverted_index":{"It":[0,38],"is":[1,39],"a":[2,7,14,77,89],"straightforward":[3],"exercise":[4],"to":[5,9,44,84,98],"write":[6],"program":[8],"\"add\"":[10],"two":[11,17,70],"bijections---resulting":[12],"in":[13,55],"bijection":[15,24,34,47],"between":[16],"sum":[18],"types,":[19],"which":[20],"runs":[21],"the":[22,28,32,36,56,67,74,100],"first":[23],"on":[25,35],"elements":[26],"from":[27,48,76],"left":[29],"summand":[30],"and":[31,79,102],"second":[33],"right.":[37],"much":[40],"less":[41],"obvious":[42],"how":[43,83],"\"subtract\"":[45],"one":[46],"another.":[49],"This":[50],"problem":[51,75],"has":[52],"been":[53],"studied":[54],"context":[57],"of":[58,69],"combinatorics,":[59],"with":[60],"several":[61],"computational":[62,78],"principles":[63],"known":[64],"for":[65],"producing":[66],"\"difference\"":[68],"bijections.":[71],"We":[72],"consider":[73],"algebraic":[80],"perspective,":[81],"showing":[82],"construct":[85,99],"such":[86],"bijections":[87],"at":[88],"high":[90],"level,":[91],"avoiding":[92],"pointwise":[93],"reasoning":[94],"or":[95],"being":[96],"forced":[97],"forward":[101],"backward":[103],"directions":[104],"separately---without":[105],"sacrificing":[106],"performance.":[107]},"counts_by_year":[],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
