{"id":"https://openalex.org/W2137076681","doi":"https://doi.org/10.1017/s0956796813000051","title":"How to make ad hoc proof automation less ad hoc","display_name":"How to make ad hoc proof automation less ad hoc","publication_year":2013,"publication_date":"2013-07-01","ids":{"openalex":"https://openalex.org/W2137076681","doi":"https://doi.org/10.1017/s0956796813000051","mag":"2137076681"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796813000051","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796813000051","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/30171361444D577470B3F1E306501E2A/S0956796813000051a.pdf/div-class-title-how-to-make-ad-hoc-proof-automation-less-ad-hoc-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/30171361444D577470B3F1E306501E2A/S0956796813000051a.pdf/div-class-title-how-to-make-ad-hoc-proof-automation-less-ad-hoc-div.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5078217586","display_name":"Georges Gonthier","orcid":null},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]},{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB","US"],"is_corresponding":false,"raw_author_name":"GEORGES GONTHIER","raw_affiliation_strings":["Microsoft Research, Cambridge, United Kingdom (e-mail:","Microsoft Research, Cambridge, United Kingdom ("],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research, Cambridge, United Kingdom (e-mail:","institution_ids":["https://openalex.org/I4210164937"]},{"raw_affiliation_string":"Microsoft Research, Cambridge, United Kingdom (","institution_ids":["https://openalex.org/I1290206253"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5051003407","display_name":"Beta Ziliani","orcid":"https://orcid.org/0000-0001-7071-6010"},"institutions":[{"id":"https://openalex.org/I4210121786","display_name":"Max Planck Institute for Software Systems","ror":"https://ror.org/02pe2kf23","country_code":"DE","type":"facility","lineage":["https://openalex.org/I149899117","https://openalex.org/I4210121786"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"BETA ZILIANI","raw_affiliation_strings":["Max Planck Institute for Software Systems (MPI-SWS), Saarbr\u00fccken, Germany (e-mail:","Group D. Dreyer, Max Planck Institute for Software Systems, Max Planck Society"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Max Planck Institute for Software Systems (MPI-SWS), Saarbr\u00fccken, Germany (e-mail:","institution_ids":["https://openalex.org/I4210121786"]},{"raw_affiliation_string":"Group D. Dreyer, Max Planck Institute for Software Systems, Max Planck Society","institution_ids":["https://openalex.org/I4210121786"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5026624853","display_name":"Aleksandar Nanevski","orcid":"https://orcid.org/0000-0002-4851-1075"},"institutions":[{"id":"https://openalex.org/I105140100","display_name":"Madrid Institute for Advanced Studies","ror":"https://ror.org/027pk6j83","country_code":"ES","type":"education","lineage":["https://openalex.org/I105140100"]},{"id":"https://openalex.org/I4210162154","display_name":"IMDEA Software Institute","ror":"https://ror.org/04xvfkh51","country_code":"ES","type":"facility","lineage":["https://openalex.org/I105140100","https://openalex.org/I4210162154"]}],"countries":["ES"],"is_corresponding":false,"raw_author_name":"ALEKSANDAR NANEVSKI","raw_affiliation_strings":["IMDEA Software Institute, Madrid, Spain (e-mail:","IMDEA Software Institute, Madrid, Spain#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IMDEA Software Institute, Madrid, Spain (e-mail:","institution_ids":["https://openalex.org/I4210162154"]},{"raw_affiliation_string":"IMDEA Software Institute, Madrid, Spain#TAB#","institution_ids":["https://openalex.org/I105140100"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5050585539","display_name":"Derek Dreyer","orcid":"https://orcid.org/0000-0002-3884-6867"},"institutions":[{"id":"https://openalex.org/I4210121786","display_name":"Max Planck Institute for Software Systems","ror":"https://ror.org/02pe2kf23","country_code":"DE","type":"facility","lineage":["https://openalex.org/I149899117","https://openalex.org/I4210121786"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"DEREK DREYER","raw_affiliation_strings":["Max Planck Institute for Software Systems (MPI-SWS), Saarbr\u00fccken, Germany (e-mail:","Group D. Dreyer, Max Planck Institute for Software Systems, Max Planck Society"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Max Planck Institute for Software Systems (MPI-SWS), Saarbr\u00fccken, Germany (e-mail:","institution_ids":["https://openalex.org/I4210121786"]},{"raw_affiliation_string":"Group D. Dreyer, Max Planck Institute for Software Systems, Max Planck Society","institution_ids":["https://openalex.org/I4210121786"]}]}],"institutions":[],"countries_distinct_count":4,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":7.4119,"has_fulltext":true,"cited_by_count":25,"citation_normalized_percentile":{"value":0.96974694,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":"23","issue":"4","first_page":"357","last_page":"401"},"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/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9805999994277954,"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.916100025177002,"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/computer-science","display_name":"Computer science","score":0.8540494441986084},{"id":"https://openalex.org/keywords/proof-assistant","display_name":"Proof assistant","score":0.8265986442565918},{"id":"https://openalex.org/keywords/gas-meter-prover","display_name":"Gas meter prover","score":0.7607035636901855},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.7528764605522156},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7345237731933594},{"id":"https://openalex.org/keywords/type-theory","display_name":"Type theory","score":0.6555750370025635},{"id":"https://openalex.org/keywords/automated-theorem-proving","display_name":"Automated theorem proving","score":0.6554589867591858},{"id":"https://openalex.org/keywords/unification","display_name":"Unification","score":0.53841233253479},{"id":"https://openalex.org/keywords/dependent-type","display_name":"Dependent type","score":0.5366193056106567},{"id":"https://openalex.org/keywords/automation","display_name":"Automation","score":0.48333999514579773},{"id":"https://openalex.org/keywords/rule-of-inference","display_name":"Rule of inference","score":0.45969218015670776},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.43511635065078735},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.42374444007873535},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.4198024272918701},{"id":"https://openalex.org/keywords/formal-proof","display_name":"Formal proof","score":0.4192945063114166},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.3239600658416748},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.31711024045944214},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.16177749633789062},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.1458449363708496},{"id":"https://openalex.org/keywords/natural-deduction","display_name":"Natural deduction","score":0.12198203802108765},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.10239818692207336}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8540494441986084},{"id":"https://openalex.org/C203265346","wikidata":"https://www.wikidata.org/wiki/Q11387554","display_name":"Proof assistant","level":3,"score":0.8265986442565918},{"id":"https://openalex.org/C159718280","wikidata":"https://www.wikidata.org/wiki/Q5526353","display_name":"Gas meter prover","level":3,"score":0.7607035636901855},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.7528764605522156},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7345237731933594},{"id":"https://openalex.org/C93682546","wikidata":"https://www.wikidata.org/wiki/Q1056428","display_name":"Type theory","level":3,"score":0.6555750370025635},{"id":"https://openalex.org/C206880738","wikidata":"https://www.wikidata.org/wiki/Q431667","display_name":"Automated theorem proving","level":2,"score":0.6554589867591858},{"id":"https://openalex.org/C96146094","wikidata":"https://www.wikidata.org/wiki/Q609057","display_name":"Unification","level":2,"score":0.53841233253479},{"id":"https://openalex.org/C20528804","wikidata":"https://www.wikidata.org/wiki/Q997433","display_name":"Dependent type","level":3,"score":0.5366193056106567},{"id":"https://openalex.org/C115901376","wikidata":"https://www.wikidata.org/wiki/Q184199","display_name":"Automation","level":2,"score":0.48333999514579773},{"id":"https://openalex.org/C3746660","wikidata":"https://www.wikidata.org/wiki/Q1068763","display_name":"Rule of inference","level":2,"score":0.45969218015670776},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.43511635065078735},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.42374444007873535},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.4198024272918701},{"id":"https://openalex.org/C94461902","wikidata":"https://www.wikidata.org/wiki/Q2762418","display_name":"Formal proof","level":3,"score":0.4192945063114166},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.3239600658416748},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.31711024045944214},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.16177749633789062},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.1458449363708496},{"id":"https://openalex.org/C62073222","wikidata":"https://www.wikidata.org/wiki/Q1572108","display_name":"Natural deduction","level":2,"score":0.12198203802108765},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.10239818692207336},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C78519656","wikidata":"https://www.wikidata.org/wiki/Q101333","display_name":"Mechanical engineering","level":1,"score":0.0},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"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.1017/s0956796813000051","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796813000051","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/30171361444D577470B3F1E306501E2A/S0956796813000051a.pdf/div-class-title-how-to-make-ad-hoc-proof-automation-less-ad-hoc-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1017/s0956796813000051","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796813000051","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/30171361444D577470B3F1E306501E2A/S0956796813000051a.pdf/div-class-title-how-to-make-ad-hoc-proof-automation-less-ad-hoc-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"sustainable_development_goals":[{"display_name":"Peace, Justice and strong institutions","score":0.4399999976158142,"id":"https://metadata.un.org/sdg/16"}],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2137076681.pdf","grobid_xml":"https://content.openalex.org/works/W2137076681.grobid-xml"},"referenced_works_count":36,"referenced_works":["https://openalex.org/W3888705","https://openalex.org/W121484200","https://openalex.org/W1498097959","https://openalex.org/W1542112699","https://openalex.org/W1558115254","https://openalex.org/W1567380020","https://openalex.org/W1594279870","https://openalex.org/W1701372208","https://openalex.org/W1900292471","https://openalex.org/W2011757033","https://openalex.org/W2015617966","https://openalex.org/W2023035194","https://openalex.org/W2051302691","https://openalex.org/W2053913724","https://openalex.org/W2059054133","https://openalex.org/W2059895047","https://openalex.org/W2076409494","https://openalex.org/W2095136535","https://openalex.org/W2098959411","https://openalex.org/W2099977798","https://openalex.org/W2107214848","https://openalex.org/W2124461564","https://openalex.org/W2129858500","https://openalex.org/W2137628566","https://openalex.org/W2142224267","https://openalex.org/W2144645833","https://openalex.org/W2147137665","https://openalex.org/W2149314483","https://openalex.org/W2164688709","https://openalex.org/W2592915588","https://openalex.org/W2911481279","https://openalex.org/W4214826241","https://openalex.org/W4239519696","https://openalex.org/W4251415532","https://openalex.org/W6604894765","https://openalex.org/W6639770882"],"related_works":["https://openalex.org/W2114705282","https://openalex.org/W2110020126","https://openalex.org/W1544323334","https://openalex.org/W2898855460","https://openalex.org/W2086221190","https://openalex.org/W2137076681","https://openalex.org/W3184863557","https://openalex.org/W3214910259","https://openalex.org/W1585536033","https://openalex.org/W2296691843"],"abstract_inverted_index":{"Abstract":[0],"Most":[1],"interactive":[2],"theorem":[3],"provers":[4],"provide":[5],"support":[6],"for":[7,168,182],"some":[8],"form":[9],"of":[10,17,42,75,97,103,114,129,146,164,172,179,202,226,233],"user-customizable":[11],"proof":[12,85,163],"automation.":[13],"In":[14],"a":[15,37,81,111,126,151,169,177],"number":[16],"popular":[18],"systems,":[19],"such":[20],"as":[21,135],"Coq":[22,88,227,234],"and":[23,60,124,191,207,228],"Isabelle,":[24],"this":[25],"automation":[26,86],"is":[27],"achieved":[28],"primarily":[29],"through":[30,212],"tactics":[31,48],",":[32,118],"which":[33,119],"are":[34,49,139],"programmed":[35],"in":[36,52,87,101],"separate":[38],"language":[39],"from":[40,217,237],"that":[41,89,186],"the":[43,71,76,91,95,143,161,200,230],"prover's":[44],"base":[45],"logic.":[46],"While":[47],"clearly":[50],"useful":[51],"practice,":[53],"they":[54],"can":[55,156],"be":[56,68,157],"difficult":[57],"to":[58,84,93,141,159,189],"maintain":[59],"compose":[61],"because,":[62],"unlike":[63],"lemmas,":[64],"their":[65],"behavior":[66,96],"cannot":[67],"specified":[69],"within":[70],"expressive":[72],"type":[73,106,122,137,195,235],"system":[74],"prover":[77],"itself.":[78],"We":[79,175,221],"propose":[80],"novel":[82],"approach":[83,109],"allows":[90],"user":[92],"specify":[94],"custom":[98],"automated":[99],"routines":[100],"terms":[102],"Coq's":[104,115,194],"own":[105],"system.":[107],"Our":[108],"involves":[110],"sophisticated":[112],"application":[113],"canonical":[116,144,154,162,183],"structures":[117,155],"generalize":[120],"Haskell":[121,136],"classes":[123,138],"facilitate":[125],"flexible":[127],"style":[128],"dependently-typed":[130],"logic":[131],"programming.":[132],"Specifically,":[133],"just":[134],"used":[140,158],"infer":[142,160],"implementation":[145],"an":[147,165],"overloaded":[148,166],"term":[149],"at":[150],"given":[152,170],"type,":[153],"lemma":[167],"instantiation":[171],"its":[173],"parameters.":[174],"present":[176],"series":[178],"design":[180],"patterns":[181,211],"structure":[184],"programming":[185],"enable":[187],"one":[188],"carefully":[190],"predictably":[192],"coax":[193],"inference":[196,236],"engine":[197],"into":[198],"triggering":[199],"execution":[201],"user-supplied":[203],"algorithms":[204],"during":[205],"unification,":[206],"we":[208],"illustrate":[209],"these":[210],"several":[213],"realistic":[214],"examples":[215],"drawn":[216],"Hoare":[218],"Type":[219],"Theory.":[220],"assume":[222],"no":[223],"prior":[224],"knowledge":[225],"describe":[229],"relevant":[231],"aspects":[232],"first":[238],"principles.":[239]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":3},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":3},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":8},{"year":2014,"cited_by_count":4},{"year":2013,"cited_by_count":2}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
