{"id":"https://openalex.org/W2751092273","doi":"https://doi.org/10.1145/3122955.3122963","title":"A tale of two provers: verifying monoidal string matching in liquid Haskell and Coq","display_name":"A tale of two provers: verifying monoidal string matching in liquid Haskell and Coq","publication_year":2017,"publication_date":"2017-09-01","ids":{"openalex":"https://openalex.org/W2751092273","doi":"https://doi.org/10.1145/3122955.3122963","mag":"2751092273"},"language":"en","primary_location":{"id":"doi:10.1145/3122955.3122963","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3122955.3122963","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 10th ACM SIGPLAN International Symposium on Haskell","raw_type":"proceedings-article"},"type":"article","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/A5078144924","display_name":"Niki Vazou","orcid":"https://orcid.org/0000-0003-0732-5476"},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Niki Vazou","raw_affiliation_strings":["University of Maryland, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Maryland, USA","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5075217645","display_name":"Leonidas Lampropoulos","orcid":"https://orcid.org/0000-0003-0269-9815"},"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":"Leonidas Lampropoulos","raw_affiliation_strings":["University of Pennsylvania, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Pennsylvania, USA","institution_ids":["https://openalex.org/I36788626"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5087713559","display_name":"Jeff Polakow","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Jeff Polakow","raw_affiliation_strings":["Awake Networks, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Awake Networks, USA","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.2719,"has_fulltext":false,"cited_by_count":17,"citation_normalized_percentile":{"value":0.91078842,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"63","last_page":"74"},"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.9990000128746033,"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.9990000128746033,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9950000047683716,"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"}},{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9879000186920166,"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/haskell","display_name":"Haskell","score":0.9948053359985352},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.8103703260421753},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7335236072540283},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6831817626953125},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.6535968780517578},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.6009993553161621},{"id":"https://openalex.org/keywords/string","display_name":"String (physics)","score":0.5352436304092407},{"id":"https://openalex.org/keywords/gas-meter-prover","display_name":"Gas meter prover","score":0.46573060750961304},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.25422462821006775}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9948053359985352},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.8103703260421753},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7335236072540283},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6831817626953125},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.6535968780517578},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.6009993553161621},{"id":"https://openalex.org/C157486923","wikidata":"https://www.wikidata.org/wiki/Q1376436","display_name":"String (physics)","level":2,"score":0.5352436304092407},{"id":"https://openalex.org/C159718280","wikidata":"https://www.wikidata.org/wiki/Q5526353","display_name":"Gas meter prover","level":3,"score":0.46573060750961304},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.25422462821006775},{"id":"https://openalex.org/C37914503","wikidata":"https://www.wikidata.org/wiki/Q156495","display_name":"Mathematical physics","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":1,"locations":[{"id":"doi:10.1145/3122955.3122963","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3122955.3122963","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 10th ACM SIGPLAN International Symposium on Haskell","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/16","display_name":"Peace, Justice and strong institutions","score":0.5899999737739563}],"awards":[],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":28,"referenced_works":["https://openalex.org/W606696939","https://openalex.org/W1552077729","https://openalex.org/W1575675278","https://openalex.org/W1586167239","https://openalex.org/W1820726602","https://openalex.org/W2009524988","https://openalex.org/W2028880435","https://openalex.org/W2045900383","https://openalex.org/W2048536148","https://openalex.org/W2097699872","https://openalex.org/W2101085206","https://openalex.org/W2114917372","https://openalex.org/W2129695855","https://openalex.org/W2130427425","https://openalex.org/W2139143398","https://openalex.org/W2141210774","https://openalex.org/W2159595840","https://openalex.org/W2159925969","https://openalex.org/W2162201044","https://openalex.org/W2267469130","https://openalex.org/W2300854636","https://openalex.org/W2491721896","https://openalex.org/W2539859881","https://openalex.org/W2580272185","https://openalex.org/W4234528212","https://openalex.org/W4252547602","https://openalex.org/W6683303659","https://openalex.org/W6683905482"],"related_works":["https://openalex.org/W1967226206","https://openalex.org/W1601811574","https://openalex.org/W2764317176","https://openalex.org/W2168393711","https://openalex.org/W2099473324","https://openalex.org/W1567780099","https://openalex.org/W2482620160","https://openalex.org/W1587224678","https://openalex.org/W2129335813","https://openalex.org/W2765991972"],"abstract_inverted_index":{"We":[0,34,57],"demonstrate":[1],"for":[2,13,19],"the":[3,55,85,91],"first":[4],"time":[5],"that":[6],"Liquid":[7,51,59],"Haskell,":[8],"a":[9,25,62,72],"refinement":[10,36],"type":[11],"checker":[12],"Haskell":[14,42,52,60],"programs,":[15],"can":[16],"be":[17],"used":[18],"arbitrary":[20],"theorem":[21,63],"proving":[22],"by":[23,65],"verifying":[24],"parallel,":[26],"monoidal":[27],"string":[28],"matching":[29],"algorithm":[30],"implemented":[31],"in":[32,71],"Haskell.":[33],"use":[35],"types":[37],"to":[38,44,53],"specify":[39],"correctness":[40],"properties,":[41,49],"terms":[43],"express":[45],"proofs":[46],"of":[47,90],"these":[48],"and":[50,88],"check":[54],"proofs.":[56],"evaluate":[58],"as":[61],"prover":[64],"replicating":[66],"our":[67],"1428":[68],"LoC":[69],"proof":[70],"dependently-typed":[73],"language":[74],"(Coq":[75],"-":[76],"1136":[77],"LoC).":[78],"Finally,":[79],"we":[80],"compare":[81],"both":[82],"proofs,":[83],"uncovering":[84],"relative":[86],"advantages":[87],"disadvantages":[89],"two":[92],"provers.":[93]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":3},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":8},{"year":2017,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
