{"id":"https://openalex.org/W4415006977","doi":"https://doi.org/10.1145/3763797","title":"Type-Outference with Label-Listeners: Foundations for Decidable Type-Consistency for Nominal Object-Oriented Generics","display_name":"Type-Outference with Label-Listeners: Foundations for Decidable Type-Consistency for Nominal Object-Oriented Generics","publication_year":2025,"publication_date":"2025-10-09","ids":{"openalex":"https://openalex.org/W4415006977","doi":"https://doi.org/10.1145/3763797"},"language":"en","primary_location":{"id":"doi:10.1145/3763797","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763797","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3763797","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/3763797","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5001655224","display_name":"Ross Tate","orcid":"https://orcid.org/0000-0002-7608-4605"},"institutions":[{"id":"https://openalex.org/I87424562","display_name":"Ithaca College","ror":"https://ror.org/01kw1gj07","country_code":"US","type":"education","lineage":["https://openalex.org/I87424562"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Ross Tate","raw_affiliation_strings":["Independent Researcher and Consultant, Ithaca, USA"],"raw_orcid":"https://orcid.org/0000-0002-7608-4605","affiliations":[{"raw_affiliation_string":"Independent Researcher and Consultant, Ithaca, USA","institution_ids":["https://openalex.org/I87424562"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5001655224"],"corresponding_institution_ids":["https://openalex.org/I87424562"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.1046567,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"9","issue":"OOPSLA2","first_page":"3784","last_page":"3810"},"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.9997000098228455,"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.9997000098228455,"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.9958000183105469,"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"}},{"id":"https://openalex.org/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9922000169754028,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/decidability","display_name":"Decidability","score":0.7149999737739563},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.621999979019165},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5338000059127808},{"id":"https://openalex.org/keywords/converse","display_name":"Converse","score":0.5163000226020813},{"id":"https://openalex.org/keywords/operational-semantics","display_name":"Operational semantics","score":0.44369998574256897},{"id":"https://openalex.org/keywords/gas-meter-prover","display_name":"Gas meter prover","score":0.42570000886917114},{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.42010000348091125},{"id":"https://openalex.org/keywords/constraint","display_name":"Constraint (computer-aided design)","score":0.40720000863075256},{"id":"https://openalex.org/keywords/equivalence","display_name":"Equivalence (formal languages)","score":0.40450000762939453},{"id":"https://openalex.org/keywords/horn-clause","display_name":"Horn clause","score":0.39879998564720154}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7172999978065491},{"id":"https://openalex.org/C153269930","wikidata":"https://www.wikidata.org/wiki/Q430001","display_name":"Decidability","level":2,"score":0.7149999737739563},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.621999979019165},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5859000086784363},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5338000059127808},{"id":"https://openalex.org/C2776809875","wikidata":"https://www.wikidata.org/wiki/Q1375963","display_name":"Converse","level":2,"score":0.5163000226020813},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4456999897956848},{"id":"https://openalex.org/C156325763","wikidata":"https://www.wikidata.org/wiki/Q1930895","display_name":"Operational semantics","level":3,"score":0.44369998574256897},{"id":"https://openalex.org/C159718280","wikidata":"https://www.wikidata.org/wiki/Q5526353","display_name":"Gas meter prover","level":3,"score":0.42570000886917114},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.42010000348091125},{"id":"https://openalex.org/C2776036281","wikidata":"https://www.wikidata.org/wiki/Q48769818","display_name":"Constraint (computer-aided design)","level":2,"score":0.40720000863075256},{"id":"https://openalex.org/C2780069185","wikidata":"https://www.wikidata.org/wiki/Q7977945","display_name":"Equivalence (formal languages)","level":2,"score":0.40450000762939453},{"id":"https://openalex.org/C189790780","wikidata":"https://www.wikidata.org/wiki/Q933932","display_name":"Horn clause","level":3,"score":0.39879998564720154},{"id":"https://openalex.org/C2778029271","wikidata":"https://www.wikidata.org/wiki/Q5421931","display_name":"Extension (predicate logic)","level":2,"score":0.39480000734329224},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.38989999890327454},{"id":"https://openalex.org/C195344581","wikidata":"https://www.wikidata.org/wiki/Q2555318","display_name":"Automated reasoning","level":2,"score":0.37950000166893005},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.3790000081062317},{"id":"https://openalex.org/C33762810","wikidata":"https://www.wikidata.org/wiki/Q461671","display_name":"Data integrity","level":2,"score":0.3249000012874603},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3093000054359436},{"id":"https://openalex.org/C2778755073","wikidata":"https://www.wikidata.org/wiki/Q10858537","display_name":"Scale (ratio)","level":2,"score":0.30219998955726624},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.2921999990940094},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.28610000014305115},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.2851000130176544},{"id":"https://openalex.org/C17231256","wikidata":"https://www.wikidata.org/wiki/Q5156540","display_name":"Completeness (order theory)","level":2,"score":0.28450000286102295},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.27230000495910645},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.27090001106262207},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.27079999446868896},{"id":"https://openalex.org/C206880738","wikidata":"https://www.wikidata.org/wiki/Q431667","display_name":"Automated theorem proving","level":2,"score":0.26840001344680786},{"id":"https://openalex.org/C199622910","wikidata":"https://www.wikidata.org/wiki/Q1128326","display_name":"Constraint satisfaction problem","level":3,"score":0.26649999618530273},{"id":"https://openalex.org/C44616089","wikidata":"https://www.wikidata.org/wiki/Q30158686","display_name":"Constraint satisfaction","level":3,"score":0.2581999897956848},{"id":"https://openalex.org/C164155591","wikidata":"https://www.wikidata.org/wiki/Q2067766","display_name":"Satisfiability modulo theories","level":2,"score":0.2563000023365021},{"id":"https://openalex.org/C182306322","wikidata":"https://www.wikidata.org/wiki/Q1779371","display_name":"Order (exchange)","level":2,"score":0.25450000166893005},{"id":"https://openalex.org/C102993220","wikidata":"https://www.wikidata.org/wiki/Q387196","display_name":"Description logic","level":2,"score":0.2524000108242035}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3763797","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763797","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3763797","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/3763797","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763797","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3763797","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":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320332603","display_name":"University of California, San Diego","ror":"https://ror.org/0168r3w48"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4415006977.pdf","grobid_xml":"https://content.openalex.org/works/W4415006977.grobid-xml"},"referenced_works_count":28,"referenced_works":["https://openalex.org/W1507723317","https://openalex.org/W1562611359","https://openalex.org/W1703087989","https://openalex.org/W1963954367","https://openalex.org/W1969093922","https://openalex.org/W1978692906","https://openalex.org/W1981173279","https://openalex.org/W2001744589","https://openalex.org/W2014387690","https://openalex.org/W2016049804","https://openalex.org/W2022443117","https://openalex.org/W2041659737","https://openalex.org/W2050012658","https://openalex.org/W2055292912","https://openalex.org/W2068711880","https://openalex.org/W2081992169","https://openalex.org/W2121169478","https://openalex.org/W2156211387","https://openalex.org/W2415457035","https://openalex.org/W2486882506","https://openalex.org/W2494576483","https://openalex.org/W2563592207","https://openalex.org/W3047158069","https://openalex.org/W4246881098","https://openalex.org/W4294840040","https://openalex.org/W4307731888","https://openalex.org/W4390603586","https://openalex.org/W4414981294"],"related_works":[],"abstract_inverted_index":{"We":[0,55,173],"present":[1],"the":[2,22,36,47,112,126,130,144,151,159,163,168,195],"first":[3],"sound":[4],"and":[5,132,154,170,176,180,183],"complete":[6],"decision":[7],"procedure":[8],"capable":[9],"of":[10,24,35,49,70,91,102,153,162,167,197],"validating":[11],"nominal":[12],"object-oriented":[13,53],"programs":[14],"without":[15,97,124],"type":[16],"annotations":[17],"in":[18,21,42],"expressions":[19],"even":[20],"presence":[23],"generic":[25],"interfaces":[26],"with":[27],"irregularlyrecursive":[28],"signatures.":[29],"Such":[30],"interface":[31],"signatures":[32],"are":[33],"exemplary":[34],"challenges":[37],"an":[38],"algorithm":[39,120],"must":[40],"overcome":[41],"order":[43],"to":[44,46,73,104,158,186],"scale":[45],"needs":[48],"modern":[50],"major":[51],"typed":[52],"languages.":[54],"do":[56],"so":[57,133],"by":[58],"incorporating":[59],"event-driven":[60],"label-listeners":[61],"into":[62],"our":[63,119],"constraint":[64],"system,":[65],"enabling":[66],"more":[67,148],"complex":[68,100],"aspects":[69],"program":[71,92,122],"validation":[72],"be":[74],"generated":[75],"on":[76],"demand":[77],"while":[78],"still":[79],"ensuring":[80],"termination.":[81],"Furthermore,":[82],"we":[83,134],"define":[84],"type-consistency":[85,147],"as":[86],"a":[87,99,138,188],"novel":[88],"declarative":[89],"notion":[90],"validity":[93,123],"that":[94],"ensures":[95,110],"safety":[96],"requiring":[98],"grammar":[101],"types":[103,127],"perform":[105],"inference":[106],"within.":[107],"While":[108],"type-inferability":[109],"type-consistency,":[111],"converse":[113],"does":[114],"not":[115],"necessarily":[116],"hold.":[117],"Thus":[118],"decides":[121],"inferring":[125],"missing":[128],"from":[129],"program,":[131],"instead":[135],"call":[136],"it":[137],"type-outference":[139],"algorithm.":[140],"By":[141],"bypassing":[142],"type-inference,":[143],"proofs":[145],"involving":[146],"directly":[149],"connect":[150],"design":[152,169],"reasoning":[155],"about":[156],"constraints":[157],"operational":[160],"semantics":[161],"language,":[164],"simplifying":[165],"much":[166],"verification":[171],"process.":[172],"mechanically":[174],"formalize":[175],"verify":[177],"these":[178],"concepts":[179],"techniques\u2014type-consistency,":[181],"type-outference,":[182],"label-listeners\u2014in":[184],"Rocq":[185],"provide":[187],"solid":[189],"foundation":[190],"for":[191],"scaling":[192],"decidability":[193],"beyond":[194],"limitations":[196],"structural":[198],"types.":[199]},"counts_by_year":[],"updated_date":"2026-07-31T08:31:51.225901","created_date":"2025-10-10T00:00:00"}
