{"id":"https://openalex.org/W2018057519","doi":"https://doi.org/10.1145/2103746.2103763","title":"Well-typed narrowing with extra variables in functional-logic programming","display_name":"Well-typed narrowing with extra variables in functional-logic programming","publication_year":2012,"publication_date":"2012-01-23","ids":{"openalex":"https://openalex.org/W2018057519","doi":"https://doi.org/10.1145/2103746.2103763","mag":"2018057519"},"language":"en","primary_location":{"id":"doi:10.1145/2103746.2103763","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2103746.2103763","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5073297779","display_name":"Francisco J. L\u00f3pez-Fraguas","orcid":"https://orcid.org/0000-0001-8898-8647"},"institutions":[{"id":"https://openalex.org/I121748325","display_name":"Universidad Complutense de Madrid","ror":"https://ror.org/02p0gd045","country_code":"ES","type":"education","lineage":["https://openalex.org/I121748325"]}],"countries":["ES"],"is_corresponding":false,"raw_author_name":"Francisco L\u00f3pez-Fraguas","raw_affiliation_strings":["Universidad Complutense de Madrid, Madrid, Spain"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Universidad Complutense de Madrid, Madrid, Spain","institution_ids":["https://openalex.org/I121748325"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5028123043","display_name":"Enrique Martin-Martin","orcid":"https://orcid.org/0000-0002-1664-018X"},"institutions":[{"id":"https://openalex.org/I121748325","display_name":"Universidad Complutense de Madrid","ror":"https://ror.org/02p0gd045","country_code":"ES","type":"education","lineage":["https://openalex.org/I121748325"]}],"countries":["ES"],"is_corresponding":false,"raw_author_name":"Enrique Martin-Martin","raw_affiliation_strings":["Universidad Complutense de Madrid, Madrid, Spain"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Universidad Complutense de Madrid, Madrid, Spain","institution_ids":["https://openalex.org/I121748325"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5024844226","display_name":"Juan Rodr\u00edguez-Hortal\u00e1","orcid":null},"institutions":[{"id":"https://openalex.org/I121748325","display_name":"Universidad Complutense de Madrid","ror":"https://ror.org/02p0gd045","country_code":"ES","type":"education","lineage":["https://openalex.org/I121748325"]}],"countries":["ES"],"is_corresponding":false,"raw_author_name":"Juan Rodr\u00edguez-Hortal\u00e1","raw_affiliation_strings":["Universidad Complutense de Madrid, Madrid, Spain"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Universidad Complutense de Madrid, Madrid, Spain","institution_ids":["https://openalex.org/I121748325"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I121748325"],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"83","last_page":"92"},"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/T10142","display_name":"Formal Methods in Verification","score":0.9987999796867371,"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/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9886999726295471,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.711825430393219},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.6317440271377563},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.5959266424179077},{"id":"https://openalex.org/keywords/transformation","display_name":"Transformation (genetics)","score":0.5726677179336548},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.5711151957511902},{"id":"https://openalex.org/keywords/variable","display_name":"Variable (mathematics)","score":0.5694131255149841},{"id":"https://openalex.org/keywords/program-transformation","display_name":"Program transformation","score":0.5342907309532166},{"id":"https://openalex.org/keywords/logic-program","display_name":"Logic program","score":0.47969791293144226},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4633984863758087},{"id":"https://openalex.org/keywords/logic-programming","display_name":"Logic programming","score":0.45216336846351624},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.44308921694755554},{"id":"https://openalex.org/keywords/relation","display_name":"Relation (database)","score":0.4211316704750061},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3637799620628357},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.2629736065864563},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.13168346881866455}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.711825430393219},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.6317440271377563},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.5959266424179077},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.5726677179336548},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.5711151957511902},{"id":"https://openalex.org/C182365436","wikidata":"https://www.wikidata.org/wiki/Q50701","display_name":"Variable (mathematics)","level":2,"score":0.5694131255149841},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.5342907309532166},{"id":"https://openalex.org/C2987117450","wikidata":"https://www.wikidata.org/wiki/Q275603","display_name":"Logic program","level":3,"score":0.47969791293144226},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4633984863758087},{"id":"https://openalex.org/C128838566","wikidata":"https://www.wikidata.org/wiki/Q275603","display_name":"Logic programming","level":2,"score":0.45216336846351624},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.44308921694755554},{"id":"https://openalex.org/C25343380","wikidata":"https://www.wikidata.org/wiki/Q277521","display_name":"Relation (database)","level":2,"score":0.4211316704750061},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3637799620628357},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.2629736065864563},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.13168346881866455},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"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/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2103746.2103763","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2103746.2103763","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":30,"referenced_works":["https://openalex.org/W60003963","https://openalex.org/W78995489","https://openalex.org/W161961141","https://openalex.org/W1479857163","https://openalex.org/W1508237628","https://openalex.org/W1512114921","https://openalex.org/W1512480360","https://openalex.org/W1513315908","https://openalex.org/W1522154830","https://openalex.org/W1534348627","https://openalex.org/W1539487186","https://openalex.org/W1583295953","https://openalex.org/W1596700672","https://openalex.org/W1607765774","https://openalex.org/W1992085465","https://openalex.org/W2028740733","https://openalex.org/W2057292961","https://openalex.org/W2063521547","https://openalex.org/W2069822809","https://openalex.org/W2105144754","https://openalex.org/W2112150205","https://openalex.org/W2112774031","https://openalex.org/W2113722134","https://openalex.org/W2127844749","https://openalex.org/W2163976959","https://openalex.org/W2168144301","https://openalex.org/W2169402190","https://openalex.org/W2491413729","https://openalex.org/W2506940380","https://openalex.org/W2781632589"],"related_works":["https://openalex.org/W1521860126","https://openalex.org/W2473528314","https://openalex.org/W1493824320","https://openalex.org/W1511336005","https://openalex.org/W2003151706","https://openalex.org/W50928870","https://openalex.org/W1853535856","https://openalex.org/W1542459781","https://openalex.org/W2525463489","https://openalex.org/W1481352653"],"abstract_inverted_index":{"Narrowing":[0],"is":[1,55],"the":[2,18,33,45,64,118,122,133,202,211],"usual":[3],"computation":[4],"mechanism":[5],"in":[6,32,59,101,109,129,149,172,195,201],"functional-logic":[7],"programming":[8],"(FLP),":[9],"where":[10],"bindings":[11,162],"for":[12,174,187],"free":[13,26],"variables":[14,27,193],"are":[15,23,127,146,163,170],"found":[16],"at":[17,79,155],"same":[19],"time":[20],"that":[21,57,71,125,144,216],"expressions":[22],"reduced.":[24],"These":[25],"may":[28,106],"be":[29,40,74,107],"already":[30],"present":[31],"goal":[34],"expression,":[35],"but":[36],"they":[37,94],"can":[38,72],"also":[39,147,225],"introduced":[41],"during":[42],"computations":[43],"by":[44],"use":[46,85,210],"of":[47,66,68,185,191,204,219],"program":[48,223],"rules":[49],"with":[50,176],"extra":[51],"variables.":[52],"However,":[53],"it":[54],"known":[56],"narrowing":[58,130,150,221],"FLP":[60,83],"generates":[61],"problems":[62,70,199],"from":[63],"point":[65],"view":[67],"types,":[69],"only":[73],"avoided":[75],"using":[76,117],"type":[77,91,99,153],"information":[78,100],"run-time.":[80],"Nevertheless,":[81],"most":[82,167],"systems":[84],"static":[86],"typing":[87],"based":[88],"on":[89,139],"Damas-Milner":[90],"system":[92],"and":[93,166],"do":[95],"not":[96,164],"carry":[97],"any":[98],"execution,":[102],"thus":[103],"ill-typed":[104],"reductions":[105,131,151],"performed":[108,165],"these":[110],"systems.":[111],"In":[112],"this":[113,140,205],"paper":[114],"we":[115,142,180,209],"prove,":[116],"let-narrowing":[119],"relation":[120],"as":[121],"operational":[123],"mechanism,":[124],"types":[126,145],"preserved":[128,148],"provided":[132],"substitutions":[134],"used":[135,171],"preserve":[136],"types.":[137,227],"Based":[138],"result,":[141],"prove":[143],"without":[152],"checks":[154],"run-time":[156],"when":[157],"higher":[158],"order":[159],"(HO)":[160],"variable":[161],"general":[168],"unifiers":[169],"unifications,":[173],"programs":[175,186],"transparent":[177],"patterns.":[178],"Then":[179],"characterize":[181],"a":[182,217],"restricted":[183],"class":[184],"which":[188],"no":[189],"binding":[190],"HO":[192],"happens":[194],"reductions,":[196],"identifying":[197],"some":[198],"encountered":[200],"definition":[203],"class.":[206],"To":[207],"conclude,":[208],"previous":[212],"results":[213],"to":[214],"show":[215],"simulation":[218],"needed":[220],"via":[222],"transformation":[224],"preserves":[226]},"counts_by_year":[{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":1}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
